I note a few bugs below. On Sat, Feb 11, 2012 at 6:17 PM, Juliusz Chroboczek <j...@pps.jussieu.fr> wrote: > Hi to all, > > We've merged 1.3.1 into Quagga, and the Quagga command-line interface > has been cleaned up and made more uniform. Quagga has also learnt to > save Babel's configuration (show running-config). For your greater > kibbitzing pleasure, I've put a copy of the docs on > > http://www.pps.jussieu.fr/~jch/software/babel/quagga.html#Babel
For additional kibitzing pleasures I have put a very preliminary modification of the openwrt quagga package to pull from the quagga-RE repository, and tested it somewhat on cerowrt. Aside from the default conf file it should hopefully work on any openwrt system. I will endevour to keep it updated as things progress (and am rather free about commit privs to this github repo, if you want them) You can get it via a git clone git://github.com/dtaht/ceropackages.git and in your openwrt build area, edit feeds.conf to include that repo ./scripts feeds uninstall quagga ./scripts feeds install -p ceropackages quagga make menuconfig and add the quagga modules Relative to the openwrt version... quagga-babeld is supported (of course!) OLSR and batman support has been removed (the patch set was unworkable) BGP-PGP has been retained, but untested There are several other patches that I will submit upstream shortly, (cross compilation fix, config rename fix), assuming they aren't borked and there are some problems that I'll get into in a second... > As far as I'm concerned, there's only one serious bug remaining -- Heh... famous last words. 1) when doing a 'save' from the vtysh interface some key information is lost. 1a) Originally, the below had a 'redistribute kernel' line after every network. I further had a redistribute static after the ge00 line. 1b) I had specific interface lines for the two wired interfaces (ge00 and se00) of interface se00 babel wired interface ge00 babel wired Which vanish, and a reload shows these interfaces in 'wireless' mode. This is what a save generates: ! ! Zebra configuration saved from vty ! 2012/02/11 20:08:55 ! password zebra log stdout ! router babel network se00 network ge00 network sw00 network sw10 network gw00 network gw10 network gw01 network gw11 redistribute kernel redistribute static ! access-list vty permit 127.0.0.0/8 access-list vty deny any ! line vty access-class vty ! > you > cannot put both IPv4 and IPv6 access lists on the same interface. (The > issue with network prefixes in pure meshes is unavoidable, at least > until we fix Quagga's core.) 2) It's not clear to me the actual scope of this bug. I get no /64 routes at all from my config (which could very well be wrong or insufficient) on other (1.3.1) babel nodes, same goes for ipv4 /27 routes. This claims that they are being exported, but they are not seen on other babel 1.3.1 nodes. OpenWrt# show babel database 0.0.0.0/0 metric 224 refmetric 128 id 02:27:13:ff:fe:64:89:67 seqno 14565 age 17 via ge00 neigh fe80::227:13ff:fe64:8967 nexthop 172.30.43.2 (installed) 0.0.0.0/0 metric 224 refmetric 128 id 02:14:d1:ff:fe:20:10:cb seqno 56395 age 11 via se00 neigh fe80::214:d1ff:fe20:10cb nexthop 172.30.42.2 (feasible) 172.30.42.2/32 metric 96 refmetric 0 id 02:14:d1:ff:fe:20:10:cb seqno 56395 age 11 via se00 neigh fe80::214:d1ff:fe20:10cb nexthop 172.30.42.2 (installed) 172.30.43.2/32 metric 96 refmetric 0 id 02:27:13:ff:fe:64:89:67 seqno 14565 age 17 via ge00 neigh fe80::227:13ff:fe64:8967 nexthop 172.30.43.2 (installed) 172.30.49.4/32 metric 96 refmetric 0 id 02:14:d1:ff:fe:20:10:cb seqno 56395 age 11 via se00 neigh fe80::214:d1ff:fe20:10cb nexthop 172.30.42.2 (installed) 192.168.1.109/32 metric 96 refmetric 0 id 02:27:13:ff:fe:64:89:67 seqno 14565 age 17 via ge00 neigh fe80::227:13ff:fe64:8967 nexthop 172.30.43.2 (installed) 192.168.1.111/32 metric 96 refmetric 0 id 02:14:d1:ff:fe:20:10:cb seqno 56395 age 11 via se00 neigh fe80::214:d1ff:fe20:10cb nexthop 172.30.42.2 (installed) fd43:e2b3:341c:0:214:d1ff:fe20:10cb/128 metric 96 refmetric 0 id 02:14:d1:ff:fe:20:10:cb seqno 56395 age 11 via se00 neigh fe80::214:d1ff:fe20:10cb (installed) fd43:e2b3:341c:1010::2/128 metric 96 refmetric 0 id 02:27:13:ff:fe:64:89:67 seqno 14565 age 17 via ge00 neigh fe80::227:13ff:fe64:8967 (installed) fd43:e2b3:341c::/64 metric 0 (exported) fd43:e2b3:341c:1::/64 metric 0 (exported) fd43:e2b3:341c:2::/64 metric 0 (exported) fd43:e2b3:341c:1010::/64 metric 0 (exported) fd43:e2b3:341c:1011::/64 metric 0 (exported) fd43:e2b3:341c:1012::/64 metric 0 (exported) fd43:e2b3:341c:2001::1/128 metric 0 (exported) I had some hope that perhaps a 'redistribute connected' would 'do the right thing' but no luck. what use is redistribute connected? 3) I do get a p2p ipv6 route that works through the router, but the same does not work (or converge) on ipv4. A <->R<->B Where A has a /64 ipv6 address and a /27 ipv4 address gets a correct looking 'via' line for the /128 and /32 routes, but only the ipv6 makes it. 4) Now going quagga-for-babeld <-> quagga-for-babeld I have more luck. IPv6 routes look right, and I watched it converge a 2 hop pure ethernet route down from the 1 hop wireless route, which was the right thing... root@ida:/usr/local/etc# ip -6 route fd43:e2b3:341c::/64 dev eth1 proto kernel metric 256 expires 84045sec fd43:e2b3:341c:1::/64 via fe80::c43d:c7ff:fea3:7679 dev eth1 proto zebra metric 1024 fd43:e2b3:341c:2::/64 via fe80::c43d:c7ff:fea3:7679 dev eth1 proto zebra metric 1024 fd43:e2b3:341c:1010::2 via fe80::c43d:c7ff:fea3:7679 dev eth1 proto zebra metric 1024 The above is also on my shared wlan on another AP and initially came up on the wlan. Yea! fd43:e2b3:341c:1010::/64 via fe80::c43d:c7ff:fea3:7679 dev eth1 proto zebra metric 1024 fd43:e2b3:341c:1011::/64 via fe80::c43d:c7ff:fea3:7679 dev eth1 proto zebra metric 1024 fd43:e2b3:341c:1012::/64 via fe80::c43d:c7ff:fea3:7679 dev eth1 proto zebra metric 1024 fd43:e2b3:341c:2001::1 via fe80::c43d:c7ff:fea3:7679 dev eth1 proto zebra metric 1024 fe80::/64 dev eth1 proto kernel metric 256 fe80::/64 dev wlan0 proto kernel metric 256 default via fe80::c43d:c7ff:fea3:7679 dev eth1 proto static metric 1024 4b) Ipv4, not so much (usually a bunch more /27s than this) default via 192.168.1.1 dev wlan0 169.254.0.0/16 dev eth0 scope link metric 1000 172.30.42.0/27 dev eth1 proto kernel scope link src 172.30.42.27 metric 1 172.30.43.2 via 172.30.42.1 dev eth1 proto zebra 172.30.49.0/27 dev eth0 proto kernel scope link src 172.30.49.4 192.168.1.0/24 dev wlan0 proto kernel scope link src 192.168.1.111 metric 2 192.168.1.109 via 172.30.42.1 dev eth1 proto zebra There's been an awful lot of churn lately in the the linux networking stack (this is all 3.3rc kernel under test), I'll go play with this some more. 5) I see why you require zebra to start up first, but perhaps waiting for a bit and/or perhaps 'write' saving this param somewhere makes sense. killall babeld killall zebrad root@ida:/usr/local/etc# babeld -d root@ida:/usr/local/etc# 2012/02/12 20:23:40 BABEL: BABELd 0.1 for quagga starting: vty@2609 2012/02/12 20:23:40 BABEL: Warning: couldn't find router id -- using random value. 2012/02/12 20:23:40 BABEL: ID mismatch in babel-state. id=6c:0a:9c:13:60:db:73:30; old=00:1c:25:ff:fe:80:46:f9 root@ida:/usr/local/etc# killall babeld 2012/02/12 20:24:06 BABEL: Terminating on signal root@ida:/usr/local/etc# zebra -d root@ida:/usr/local/etc# babeld -d root@ida:/usr/local/etc# 2012/02/12 20:24:11 BABEL: BABELd 0.1 for quagga starting: vty@2609 2012/02/12 20:24:11 BABEL: ID mismatch in babel-state. id=00:1c:25:ff:fe:80:46:f9; old=6c:0a:9c:13:60:db:73:30 root@ida:/usr/local/etc# killall babeld 2012/02/12 20:24:37 BABEL: Terminating on signal root@ida:/usr/local/etc# babeld -d root@ida:/usr/local/etc# 2012/02/12 20:24:41 BABEL: BABELd 0.1 for quagga starting: vty@2609 _______________________________________________ Babel-users mailing list Babel-users@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/babel-users