[PATCH] babel: Use acknowledged retractions when losing a prefix
Ondrej Zajicek
santiago at crfreenet.org
Wed Apr 4 15:48:04 CEST 2018
On Thu, Mar 08, 2018 at 10:25:56PM +0100, Toke Høiland-Jørgensen wrote:
> Toke Høiland-Jørgensen <toke at toke.dk> writes:
>
> > In order to prevent routing loops, Babel installs temporary blackhole
> > routes to prefixes that expire or are otherwise lost. These blackhole
> > routes are maintained for a while to ensure the route has been flushed
> > from the whole network; the default hold time is 64 seconds.
> >
> > In the updated IETF version of Babel (rfc6126bis), an alternative
> > procedure was added which replaces this hold time with an explicit
> > acknowledgement procedure. This procedure simply consists of sending a
> > retraction along with an acknowledgement request to all neighbours, and
> > removing the blackhole route once all neighbours have acknowledged the
> > retraction. As this usually happens pretty quickly, the hold time during
> > which the route is blackholed is almost completely avoided.
> >
> > This patch implements the above behaviour. It adds a generic facility to
> > the Babel protocol which allows for sending sequences of acknowledgement
> > requests to a number of neighbours, and executing a callback function
> > once all the requests have been ACKed. This facility is then used to
> > implement the acknowledgement scheme when a route is lost.
> >
> > Signed-off-by: Toke Høiland-Jørgensen <toke at toke.dk>
>
> Did anyone have a chance to look at this? :)
Hi
Finally, i get some time to read through the patch. I have some questions:
1) Why the retractions with ACK req are sent as unicast? IMHO the
specification allows both unicast and multicast, so it makes sense
to me send retractions as multicast like before (but with ACK req TLV).
2) If i understand it correctly, now each retracted route is sent in
separate packet instead of being packed together?
3) If i understand it correctly, the sequence is not properly split if it does
not fit to one packet. Currently it is not a big issue due to 2).
4) What happens if the route becames reachable again before ack sequence
for retraction is processed? i guess it will retransmit the retractions
again, which does not make sense. IMHO router should announce the current
state, not the obsolete one.
--
Elen sila lumenn' omentielvo
Ondrej 'Santiago' Zajicek (email: santiago at crfreenet.org)
OpenPGP encrypted e-mails preferred (KeyID 0x11DEADC3, wwwkeys.pgp.net)
"To err is human -- to blame it on a computer is even more so."
More information about the Bird-users
mailing list