summaryrefslogtreecommitdiff
path: root/bgpd/bgp_evpn.h
diff options
context:
space:
mode:
authorTrey Aspelund <taspelund@nvidia.com>2023-05-08 03:54:25 +0000
committerTrey Aspelund <taspelund@nvidia.com>2023-05-30 15:20:35 +0000
commitbadc4857aa71c53de3594bf9f621f3630f20fdea (patch)
tree16887ecc98f1bc3249194edd0f1422ef9d5a418c /bgpd/bgp_evpn.h
parent67b493a5b3acc0a6aeb5585b1ea4ea14d5650cf2 (diff)
bgpd: add EVPN reimport handler for martian change
Adds a generalized martian reimport function used for triggering a relearn/reimport of EVPN routes that were previously filtered/deleted as a result of a "self" check (either during import or by a martian change handler). The MAC-VRF SoO is the first consumer of this function, but can be expanded for use with Martian Tunnel-IPs, Interface-IPs, Interface-MACs, and RMACs. Signed-off-by: Trey Aspelund <taspelund@nvidia.com>
Diffstat (limited to 'bgpd/bgp_evpn.h')
-rw-r--r--bgpd/bgp_evpn.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/bgpd/bgp_evpn.h b/bgpd/bgp_evpn.h
index e52ad687c2..076248c9f7 100644
--- a/bgpd/bgp_evpn.h
+++ b/bgpd/bgp_evpn.h
@@ -158,6 +158,13 @@ extern int bgp_evpn_unimport_route(struct bgp *bgp, afi_t afi, safi_t safi,
const struct prefix *p,
struct bgp_path_info *ri);
extern void
+bgp_reimport_evpn_routes_upon_macvrf_soo_change(struct bgp *bgp,
+ struct ecommunity *old_soo,
+ struct ecommunity *new_soo);
+extern void bgp_reimport_evpn_routes_upon_martian_change(
+ struct bgp *bgp, enum bgp_martian_type martian_type, void *old_martian,
+ void *new_martian);
+extern void
bgp_filter_evpn_routes_upon_martian_change(struct bgp *bgp,
enum bgp_martian_type martian_type);
extern int bgp_evpn_local_macip_del(struct bgp *bgp, vni_t vni,