diff options
| author | Trey Aspelund <taspelund@nvidia.com> | 2023-05-08 03:54:25 +0000 |
|---|---|---|
| committer | Trey Aspelund <taspelund@nvidia.com> | 2023-05-30 15:20:35 +0000 |
| commit | badc4857aa71c53de3594bf9f621f3630f20fdea (patch) | |
| tree | 16887ecc98f1bc3249194edd0f1422ef9d5a418c /bgpd/bgp_evpn.h | |
| parent | 67b493a5b3acc0a6aeb5585b1ea4ea14d5650cf2 (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.h | 7 |
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, |
