PopRouting (and NetJSON) for OSPF

Gabriel gabriel at autistici.org
Tue May 23 18:05:33 CEST 2017


Hello,

I'm trying to implement NetJSON [1] in Bird to expose the OSPF topology 
using the NetworkGraph[2] specification of NetJSON.

I started tweaking the ospf_sh_state to print the topology of my test 
network. However, using the cli_msg() macro my json is printed in birdc 
with some ???< > symbols on each line.
I've tryied with several msg_code (0,-1016, -1017) but it doesn't work. 
Is there something easy I can do to print the json in the CLI? Otherwise 
I'll have to modify the cli code to add such a function.

Moreover, I'm implementing NetJSON in order to support PopRouting [3] in 
OSPF. I'm doing it for my GSOC project. [4]
PopRouting is an algorithm that calculate the Centrality of each node in 
a network (using the topology of the net) and then tune the Hello and TC 
timers of the routing protocol to improove the convergence time.
I've already implemented it for OLSR2[5] that is widely used in mesh 
network. Since AWMN in Greece is using OSPF we decided to implement it 
also for OSPF.

Apart form the Wireless Community Network world, where the network are 
complex and dynamic do you think such an algorithm could be useful for 
other networks? We don't have topologies from ISP or other big networks 
to judge.

Finally I'd need a way to set the interfaces' hello timer of OSPF 
remotely. I've seen that using the cli is possible to set the whole 
configuration of a node, but not a single parameter. How could I 
accomplish that?

Cheers, Gabriel

[1]: http://netjson.org/
[2]: http://netjson.org/docs/what.html#networkgraph
[3]: 
https://ans.disi.unitn.it/users/maccari/assets/files/bibliography/INFOCOM2016.pdf
[4]: https://summerofcode.withgoogle.com/projects/#4969019225407488
[5]: https://github.com/AdvancedNetworkingSystems/poprouting/





More information about the Bird-users mailing list