summaryrefslogtreecommitdiffstats
path: root/bgpd/bgp_table.h
diff options
context:
space:
mode:
authoranlan_cs <vic.lan@pica8.com>2023-05-18 14:49:16 +0200
committeranlan_cs <vic.lan@pica8.com>2023-06-03 03:27:53 +0200
commit0c061db4d0827fb3162c33b0799e664576ee718e (patch)
treed3ec3404aebd20e98e2e8006b47d6b36d0f02363 /bgpd/bgp_table.h
parentMerge pull request #13659 from donaldsharp/increase_mgmt_time (diff)
downloadfrr-0c061db4d0827fb3162c33b0799e664576ee718e.tar.xz
frr-0c061db4d0827fb3162c33b0799e664576ee718e.zip
bgpd: Fix missing deletion of evpn routes
Consider the scenario of evpn, the box has some type-5 ECMP routes. After one of its remote peers is removed ( or down ), `show evpn rmac vni all` kept no change **sometimes**, it means the rmac of the removed peer maybe is still in this box, and the traffic will be wrongly forwarded to the removed peer. The root cause is that the best path selection for type-5 routes maybe keep no change and the best path is not routed to the removed peer, so `bgpd` wrongly doesn't tell `zebra` to remove ( withdraw ) the type-5 routes owned by the removed peer. So, add a new flag to force the deletion. Signed-off-by: anlan_cs <vic.lan@pica8.com>
Diffstat (limited to 'bgpd/bgp_table.h')
-rw-r--r--bgpd/bgp_table.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/bgpd/bgp_table.h b/bgpd/bgp_table.h
index 9027af5ba..91941315f 100644
--- a/bgpd/bgp_table.h
+++ b/bgpd/bgp_table.h
@@ -100,6 +100,7 @@ struct bgp_node {
#define BGP_NODE_FIB_INSTALLED (1 << 6)
#define BGP_NODE_LABEL_REQUESTED (1 << 7)
#define BGP_NODE_SOFT_RECONFIG (1 << 8)
+#define BGP_NODE_PROCESS_CLEAR (1 << 9)
struct bgp_addpath_node_data tx_addpath;