[PATCH 2/3] babel: Short-circuit route selection for routes we originate ourselves

Ondrej Zajicek santiago at crfreenet.org
Mon Apr 30 22:32:18 CEST 2018


On Mon, Apr 30, 2018 at 05:15:18PM +0200, Toke Høiland-Jørgensen wrote:
> Routes that are originated by this Babel instance doesn't have an entry in
> e->selected, which means that the best route selection logic will always
> pick another route when an update arrives for the same prefix. This will be
> rejected by Bird core, which will cause a nice looping selection
> procedure (depending on filters, of course).

Hi

I don't see the problem. Condition (e->router_id == p->router_id) means
that the router propagates a locally originated route for given prefix.
Even in this case it is necessary to select best incoming route (for the
same prefix) and propagate it to nest. Then nest decides (based on
filters, priority) whether received route is better than locally
originated route. If so, best incoming route is propagated back to Babel
instead of locally originated one (and also to other protocols including
kernel routing table) and is announced by Babel further. Otherwise,
nothing happens (locally originated is still selected as best and
announced by Babel).

-- 
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