]> git.proxmox.com Git - mirror_frr.git/blobdiff - bgpd/bgp_advertise.h
zebra, lib: fix the ZEBRA_INTERFACE_VRF_UPDATE zapi message
[mirror_frr.git] / bgpd / bgp_advertise.h
index 1912aec1bfa5b3941e39f31c7a2f6fc13e6472d1..9aa5a0eaff518c159dde3a2c03d1a4dd600ee543 100644 (file)
@@ -67,9 +67,8 @@ struct bgp_advertise {
 
 /* BGP adjacency out.  */
 struct bgp_adj_out {
-       /* Lined list pointer.  */
-       struct bgp_adj_out *next;
-       struct bgp_adj_out *prev;
+       /* RB Tree of adjacency entries */
+       RB_ENTRY(bgp_adj_out) adj_entry;
 
        /* Advertised subgroup.  */
        struct update_subgroup *subgroup;
@@ -89,6 +88,10 @@ struct bgp_adj_out {
        struct bgp_advertise *adv;
 };
 
+RB_HEAD(bgp_adj_out_rb, bgp_adj_out);
+RB_PROTOTYPE(bgp_adj_out_rb, bgp_adj_out, adj_entry,
+            bgp_adj_out_compare);
+
 /* BGP adjacency in. */
 struct bgp_adj_in {
        /* Linked list pointer.  */
@@ -134,8 +137,6 @@ struct bgp_synchronize {
 
 #define BGP_ADJ_IN_ADD(N, A) BGP_PATH_INFO_ADD(N, A, adj_in)
 #define BGP_ADJ_IN_DEL(N, A) BGP_PATH_INFO_DEL(N, A, adj_in)
-#define BGP_ADJ_OUT_ADD(N, A) BGP_PATH_INFO_ADD(N, A, adj_out)
-#define BGP_ADJ_OUT_DEL(N, A) BGP_PATH_INFO_DEL(N, A, adj_out)
 
 #define BGP_ADV_FIFO_ADD(F, N)                                                 \
        do {                                                                   \