[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