[Babel-users] quagga-babel and blackholes

Denis Ovsienko infrastation at yandex.ru
Sat Jun 9 12:49:23 UTC 2012


28.03.2012, 02:25, "Juliusz Chroboczek" <jch at pps.jussieu.fr>:
>>  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?

There are two commmits in RE-testing-0.99 (4b218cb and 696e01e), which address this issue. quagga-babeld is fixed to install "unreachable" routes where it used to install "blackhole". This besides other things makes IPv6+Linux+Babel case less of an issue, because current Linux kernels seem not to support blackhole IPv6 routes.

-- 
    Denis Ovsienko



More information about the Babel-users mailing list