net/frr: replace legacy ruby code, get rid of dependency#2143
Conversation
at least... something... is working
database not yet implemented tooltip for route type doesn't work
|
converting to a tree style display format could come in handy for OSPF interfaces and maybe also the overview. but routing tables should be kept in a tabular format imho (they're tables after all). |
quick & dirty to at least get it into the GUI
JSON support is already in FRR upstream use plaintext output until it's available in a package
|
I'd like to try out FRR 7.5 because I suspect it could already have JSON support for Anyway, i'm not much of a BSD guy. Could use some guidance as to how i can install v7.5. According to https://www.freshports.org/net/frr7/ it should be available somewhere in the FreeBSD 12 ports. I just have no clue where to look, and even if i found it, don't know how i would go about actually installing it. The FreeBSD docs seem to be offline at the moment, which doesn't help either... |
|
@marcquark our's is still at 7.4 (https://github.com/opnsense/ports/blob/master/net/frr7/Makefile), upstream (FreeBSD) seems to ship 7.5 at the moment (https://github.com/freebsd/freebsd-ports/blob/master/net/frr7/Makefile). Given the incompatibilities in the past, I expect we're not switching ours over instantly. The easiest step is probably to install our build tools (https://github.com/opnsense/tools) and copy their frr7 port in (either cherry pick or just download the changed files). The normal ports installation procedure is documented at FreeBSD (https://www.freebsd.org/doc/handbook/ports-using.html) as well. |
|
Yes, @mimugmail is still opting for 7.4 at this point due to general breakage in the 7 series... |
no need to handle OSPFv2 and v3 distinction manually in the code backend already serves it as ospf/ospf6
yes i'm nitpicky, sorry...
|
I tested 7.5 from the FreeBSD ports and it doesn't add any of the JSON commands. So they likely won't be available for the plugin anytime soon. Parsing it is then. |
seems buggy in a few instances, needs rework
|
summoning @mimugmail @fichtner @AdSchellevis If any of you can produce such output, could you please upload it so i can use it for testing? |
|
probably @mimugmail can try this on his end, I only have a boring pretty empty setup over here, which outputs an empty dataset like yours: |
don't escape forward slash "/"
also a slight cosmetic fix, don't need the "r" there
improves readability, they're not reused anyway.
interpret sequence number as string, numeric can sometimes render to NaN
|
finished :-) pls give it a test and lmk if you encounter and bugs or have suggestions for improvements BTW should i also commit an update to the changelog in pkg-descr? |
|
I'll try to give it a spin on my end, check the code style and if @mimugmail agrees pull it into master for further testing. |
|
Please bump to 1.21 and add a Changelog :) |
|
sure thing, there u go |
mimugmail
left a comment
There was a problem hiding this comment.
Looks good, thank you 👍
For me it's ok if it stays in master for a while.
I didn't test multi area ospf yet, maybe over christmas season.
|
I've some style fixes and typo corrections stashed, will commit them with the merge of this one. The python script is a bit difficult to read, but since it's only temporary until frr supports json on the other commands as well, I don't mind pulling it in. The user interface diagnostics code in general is quite buggy, lot's of errors in your browser when functionality isn't used, but this was already the case. @marcquark thanks, and if you would like to add your name/email to the license, just open a new PR for the files you changed, I only added your name to the python script. |
closes #2101
closes #1877
closes #2137
very much a work in progress, will continue to add commits