[PATCH v3] Babel: Replace internal route selection by bird's nest

Ondrej Zajicek santiago at crfreenet.org
Tue Jan 31 20:31:09 CET 2023


On Tue, Jan 31, 2023 at 07:49:03PM +0100, dxld at darkboxed.org wrote:
> > > Couple of comments on the code below:
> > > 
> > > > Changes in v3:
> > > >  - Subsume FIB_RESTART v2 patch: instead of restarting FIB iteration
> > > >    we keep lists of actions to perform after FIB iteration is finished.
> > 
> > Could this be a part of separate patch, applied after the primary change?
> > Doing it together rather complicates reviewing these changes, and there
> > may be different considerations for both changes.
> 
> I merged them quite on purpose because the changes in the main patch
> allowed making the code in expire_routes significantly less hairy.
> 
> If indeed FIB_ITERATE_START resumes from the last position (I haven't
> convinced myself that this is true yet) then all this can be dropped anyway.

That is pretty much the main point of FIB_ITERATE_*() macros. Iterator is
first initalized with FIB_ITERATE_INIT() and then we could enter and
leave FIB_ITERATE_START() / FIB_ITERATE_END() section multiple times,
contine when we ended before, and not do whole iteration in one step. The
usage in Babel is kind of limited example (as all iteration is still done
in one babel_expire_routes_() call).

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