summaryrefslogtreecommitdiff
path: root/bgpd/bgp_evpn_private.h
diff options
context:
space:
mode:
authorAnuradha Karuppiah <anuradhak@cumulusnetworks.com>2020-08-17 16:24:50 -0700
committerAnuradha Karuppiah <anuradhak@nvidia.com>2021-03-25 17:09:53 -0700
commit58bff4d12efb6fc7e88a740d802a22713ff0d2b5 (patch)
treeff5748f30880505bc84dde81e0473cb7753378ba /bgpd/bgp_evpn_private.h
parentd656e0aea6f51bfac46a0d7812bdfc1661295a60 (diff)
bgpd: re-eval use-l3nhg when a remote ES is [de]activated in a VRF
There are two changes in this commit - 1. Maintain a list of global MAC-IP routes per-ES. This list is maintained for quick processing on the following events - a. When the first VTEP/PE becomes active in the ES-VRF, the L3 NHG is activated and the route can be sent to zebra. b. When there are no active PEs in the ES-VRF the L3 NHG is de-activated and - - If the ES is present in the VRF - The route is not installed in zebra as there are no active PEs for the ES-VRF - If the ES is not present in the VRF - The route is installed with a flat multi-path list i.e. without L3NHG. This is to handle the case where there are no locally attached L2VNIs on the ES (for that tenant VRF). 2. Reinstall VRF route when an ES is installed or uninstalled in a tenant VRF (the global MAC-IP list in #1 is used for this purpose also). If an ES is present in the VRF we use L3NHG to enable fast-failover of routed traffic. Signed-off-by: Anuradha Karuppiah <anuradhak@cumulusnetworks.com>
Diffstat (limited to 'bgpd/bgp_evpn_private.h')
-rw-r--r--bgpd/bgp_evpn_private.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/bgpd/bgp_evpn_private.h b/bgpd/bgp_evpn_private.h
index 9a7a477516..dfaac76f02 100644
--- a/bgpd/bgp_evpn_private.h
+++ b/bgpd/bgp_evpn_private.h
@@ -636,4 +636,7 @@ extern void bgp_evpn_update_type2_route_entry(struct bgp *bgp,
struct bgp_node *rn,
struct bgp_path_info *local_pi,
const char *caller);
+extern int bgp_evpn_route_entry_install_if_vrf_match(struct bgp *bgp_vrf,
+ struct bgp_path_info *pi,
+ int install);
#endif /* _BGP_EVPN_PRIVATE_H */