[Babel-users] babel freebsd issues

Antoine Beaupré anarcat at anarcat.ath.cx
Tue Jul 31 04:35:43 UTC 2012


On 2012-07-29, Antoine Beaupré <anarcat at anarcat.ath.cx> wrote:
> roadkiller# babeld -d9 -C 'redistribute metric 128' -C 'interface vr2
> wired' vr2
> Segmentation fault (core dumped)
>
> Backtrace:

Here's one with debugging symbols:

#0  0x2810c76c in free () from /lib/libc.so.7
(gdb) bt
#0  0x2810c76c in free () from /lib/libc.so.7
#1  0x080536f0 in getbool (c=-2, int_r=0xbfbfe540, gnc=Variable "gnc" is not available.
) at configuration.c:173
#2  0x0805407a in parse_config (gnc=0x80532f4 <gnc_string>, closure=0xbfbfe570) at configuration.c:428
#3  0x0805430b in parse_config_from_string (string=0xbfbfe999 "interface vr2 wired") at configuration.c:630
#4  0x08049b54 in main (argc=7, argv=0xbfbfe808) at babeld.c:221

I have also found a significant problem with the mesh implementation in
FreeBSD. It seems that after a few announcements, the FreeBSD babeld
will start announcing routes it added to its routing from the mesh back
to the mesh as native routes.

For example, say I have the following machines:

 * roadkiller: 172.16.0.1/12, FreeBSD 8.2 Babeld 1.3.3
 * boulette: 172.16.0.2/12, OpenWRT trunk Babeld 1.3.2-1
 * carton: 172.16.1.1/12, OpenWRT trunk Babeld 1.3.2-1
 * angela: 172.16.0.42/12, Debian Wheezy Babeld 1.3.1-1

roadkiller has a wired link to boulette, which has a adhoc wifi link to
carton, which has a adhoc link to angela. Running babeld on boulette,
carton and angela works fine and they exchange point to point but also
network routes without problems.

However, once roadkiller joins in, things start to become a bit
weird. After a while (a few iterations in the announcements, say 30
seconds), roadkiller has added the route to boulette (172.16.0.2/32) to
its routing table, but then goes around and announce that route as its
own:

172.16.0.2/32 metric 0 (exported)

This of course gets added to the other nodes in the network, polluting
their routing table:

172.16.0.2      172.16.0.1      255.255.255.255 UGH   0      0        0 br-lan

Since even boulette gets that route in, this totally fails.

The configuration on roadkiller is:

redistribute allow
in ip 0.0.0.0/0 le 0 deny

Assigning a metric to 'redistribute' (say metric 128) mitigates the
problem. I can also think that explicitely listing the routes to be
announced would fix the problem.

Finally, Babeld doesn't seem to drop its route from the routing table
when interrupted (control-c).

I have filed a PR for the update of the port to 1.3.3. See:

http://www.freebsd.org/cgi/query-pr.cgi?pr=170291

A.

PS: sorry to pack everything in one message here. please CC me as I'm
not on the list (yet?)

-- 
Rock journalism is people who can't write interviewing people who can't
talk for people who can't read.
                        - Frank Zappa
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 835 bytes
Desc: not available
URL: <http://lists.alioth.debian.org/pipermail/babel-users/attachments/20120731/790dfa7d/attachment.pgp>


More information about the Babel-users mailing list