CVSROOT: /cvs
Module name: src
Changes by: [email protected] 2026/07/20 07:25:49
Modified files:
usr.sbin/bgpd : rde.h rde_rib.c rde_update.c
Log message:
Bring back up_generate_addpath_all() using the rib entry queue
add-path send all can take a fair amount of shortcuts compared to the
other add-path send modes. The rib entry queue (struct pq_entry) holds
all the information to update the adj-rib-out.
For general updates just walk the pq list and insert / withdraw all
paths. A path can only be once on the list so the code just needs to
walk it and call up_process_prefix for updates. If up_process_prefix()
returns UP_FILTERED or UP_EXCLUDED then try to withdraw the prefix. This
uses the same codepath as for any withdraw in the queue.
Tested on the NLNOG ring looking glass server.
OK tb@