summaryrefslogtreecommitdiffstats
path: root/bgpd/bgp_nexthop.h
diff options
context:
space:
mode:
authorTrey Aspelund <taspelund@nvidia.com>2023-01-25 19:07:43 +0100
committerTrey Aspelund <taspelund@nvidia.com>2023-01-27 17:11:44 +0100
commit826c3f6db358e9bbc48848c5eadaab7916f5c3f9 (patch)
tree44a84dc46bb249727abf87045366f15e2d84a1eb /bgpd/bgp_nexthop.h
parentMerge pull request #12690 from opensourcerouting/feature/deny_merging_prs_wit... (diff)
downloadfrr-826c3f6db358e9bbc48848c5eadaab7916f5c3f9.tar.xz
frr-826c3f6db358e9bbc48848c5eadaab7916f5c3f9.zip
bgpd: only unimport routes if tunnel-ip changes
When processing a new local VNI, we were always walking the global EVPN table to look for routes that needed to be removed due to a martian nexthop change (specifically a tunnel-ip change). Since the martian TIP table is global (all VNIs) + the walk is also in the global table (all VNIs), we can trust that any new TIP from any VNI would result in routes getting removed from the global table and unimported from all live (L2)VNIs. i.e. The only time this update is actionable is if we are adding/removing an IP from the martian TIP table, and we do not need to walk the table for normal refcount adjustments. Signed-off-by: Trey Aspelund <taspelund@nvidia.com>
Diffstat (limited to 'bgpd/bgp_nexthop.h')
-rw-r--r--bgpd/bgp_nexthop.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/bgpd/bgp_nexthop.h b/bgpd/bgp_nexthop.h
index efad906d0..d765bdd26 100644
--- a/bgpd/bgp_nexthop.h
+++ b/bgpd/bgp_nexthop.h
@@ -166,7 +166,7 @@ extern void bgp_scan_finish(struct bgp *bgp);
extern void bgp_scan_vty_init(void);
extern void bgp_address_init(struct bgp *bgp);
extern void bgp_address_destroy(struct bgp *bgp);
-extern void bgp_tip_add(struct bgp *bgp, struct in_addr *tip);
+extern bool bgp_tip_add(struct bgp *bgp, struct in_addr *tip);
extern void bgp_tip_del(struct bgp *bgp, struct in_addr *tip);
extern void bgp_tip_hash_init(struct bgp *bgp);
extern void bgp_tip_hash_destroy(struct bgp *bgp);