diff options
author | Donald Sharp <sharpd@cumulusnetworks.com> | 2018-12-07 15:01:59 +0100 |
---|---|---|
committer | Donald Sharp <sharpd@cumulusnetworks.com> | 2018-12-07 16:26:00 +0100 |
commit | a79c04e7fe6f1d0f0d6b1ad0534a47dc8fb83943 (patch) | |
tree | 60281d0b3ea6d833f480fc6006917d0405cf6944 /bgpd/bgp_table.h | |
parent | Merge pull request #3418 from pguibert6WIND/bgp_rfapi_path_info_extra_free (diff) | |
download | frr-a79c04e7fe6f1d0f0d6b1ad0534a47dc8fb83943.tar.xz frr-a79c04e7fe6f1d0f0d6b1ad0534a47dc8fb83943.zip |
bgpd: Convert adj_out to a RB tree
The adj_out data structure is a linked list of adjacencies
1 per update group. In a large scale env where we are
not using peer groups, this list lookup starts to become
rather costly. Convert to a better data structure for this.
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
Diffstat (limited to 'bgpd/bgp_table.h')
-rw-r--r-- | bgpd/bgp_table.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/bgpd/bgp_table.h b/bgpd/bgp_table.h index c267b4fe8..4795ab741 100644 --- a/bgpd/bgp_table.h +++ b/bgpd/bgp_table.h @@ -26,6 +26,7 @@ #include "queue.h" #include "linklist.h" #include "bgpd.h" +#include "bgp_advertise.h" struct bgp_table { /* table belongs to this instance */ @@ -52,7 +53,7 @@ struct bgp_node { */ ROUTE_NODE_FIELDS - struct bgp_adj_out *adj_out; + struct bgp_adj_out_rb adj_out; struct bgp_adj_in *adj_in; |