[Babel-users] quagga-babel and blackholes

Juliusz Chroboczek jch at pps.jussieu.fr
Tue Mar 27 22:25:20 UTC 2012


> I recently had a chance to catch up with the quagga-babel implementation,
> and set it up as a leaf node on my laptop and connected it to bloatlab #1,

Cool.

> 1) when connectivity to a destination is lost, babeld puts an 'unreachable'
> route in place, zebra puts a 'blackhole' route in place. I can see defenses
> of both methods, is there a way to switch this behavior?

That's the implementation of the hold time described in RFC 6126
Section 3.5.5.  The RFC merely states that in this particular situation,
"packets for that prefix MUST NOT be forwarded".  (It's one of Babel's
loop-avoidance mechanisms, and the least satisfactory one in my opinion --
but I see no better solution to that particular edge-case that doesn't
require global synchronisation of seqnos, as in AODV.)

The difference is that standalone babeld will cause the kernel to send
destination unreachable ICMP packets, while Quagga will not.  With dest
unreach, the sender might fallback to IPv4 when IPv6 has been retracted
in a more timely manner; without it, it will retry longer.

There's currently no way to tune the behaviour.  What are you trying to do?

> 2) the routing tables are identical, except that zebra does not put a p2p
> route in on the local lan segment.

Yep.  I'll be hacking on Quagga's "zebra" daemon when I have some time
to make it more suitable for pure meshes.

("When I have some time" might not happen immediately, since I'm trying to
write up Babel-Z.  And the weather is so lovely in Paris... it almost feels
like May.)

-- Juliusz



More information about the Babel-users mailing list