Download raw body.
bgpd: rework the interface to rde_generate_updates
On Mon, Dec 01, 2025 at 01:49:16PM +0100, Theo Buehler wrote: > On Mon, Dec 01, 2025 at 11:26:54AM +0100, Claudio Jeker wrote: > > Rework the interface to rde_generate_updates() and up_genrate_XYZ() > > to pass the old prefix as just the path_id_tx identifier. > > > > Only up_generate_addpath_all() actually uses this information and there > > this is enough to find the affected prefix in the adj-rib-out. > > Also adjust the order of operation in up_generate_addpath_all() so the > > prefix is not first removed and readded for the case where a prefix > > is simply updated. > > > > Rework the code in prefix_evaluate_nexthop() to be much more like > > prefix_evaluate(), it should be possible to factor out common code at > > some point. > > > > In peer_add() ensure that path_id_tx can't be 0. Since 0 has now a special > > meaning. > > > > This is done so we can introduce a queue around rde_generate_updates() and > > break up the big pipeline of input processing incl. decision process and > > output processing. > > This all makes sense and reads perfectly fine. (I find pathid vs path_id > in old_pathid_tx vs old->path_id_tx slightly strange, but shrug). Sorry for that. I dislike to have too many _ in names. Should probably clean up the pathid/path_id names at some point. -- :wq Claudio
bgpd: rework the interface to rde_generate_updates