On Tue, Jan 31, 2023 at 07:49:03PM +0100, [email protected] 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: [email protected]) OpenPGP encrypted e-mails preferred (KeyID 0x11DEADC3, wwwkeys.pgp.net) "To err is human -- to blame it on a computer is even more so."
