CVSROOT:        /cvs
Module name:    src
Changes by:     clau...@cvs.openbsd.org 2019/07/17 04:13:26

Modified files:
        usr.sbin/bgpd  : mrt.c parse.y rde.c rde.h rde_decide.c 
                         rde_rib.c rde_update.c 

Log message:
Change the Adj-RIB-Out to a per peer set of RB trees. The way RIB data
structures are linked does not scale for the Adj-RIB-Out and so inserts
and updates into the Adj-RIB-Out did not scale because of some linear
list traversals in hot paths.

A synthetic test with 4000 peers announcing one prefix each showed that
the initial convergence time dropped from around 1 hout to around 6min.

Note: because the Adj-RIB-Out is now per peer the order in which prefixes
are dumped in 'bgpctl show rib out' changed.

Tested and OK job@, benno@, phessler@

Reply via email to