mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-08-14 15:47:22 +00:00
bgpd: uninstall type-5 routes from vrf
When we receive an MP_UNREACH, we try to uninstall routes from the VRF and the VNI. The route-node in the VRF corresponds to the ip prefix formed from EVPN prefix. We should correctly form the prefix based on the EVPN route-type. Signed-off-by: Mitesh Kanjariya <mitesh@cumulusnetworks.com>
This commit is contained in:
parent
bf48830b01
commit
42cb44f282
@ -1854,7 +1854,10 @@ static int uninstall_evpn_route_entry_in_vrf(struct bgp *bgp_vrf,
|
||||
char buf1[PREFIX_STRLEN];
|
||||
|
||||
memset(pp, 0, sizeof(struct prefix));
|
||||
if (evp->prefix.route_type == BGP_EVPN_MAC_IP_ROUTE)
|
||||
ip_prefix_from_type2_prefix(evp, pp);
|
||||
else if(evp->prefix.route_type == BGP_EVPN_IP_PREFIX_ROUTE)
|
||||
ip_prefix_from_type5_prefix(evp, pp);
|
||||
|
||||
if (bgp_debug_zebra(NULL)) {
|
||||
zlog_debug("uninstalling evpn prefix %s as ip prefix %s in vrf %s",
|
||||
@ -2108,7 +2111,8 @@ static int install_uninstall_routes_for_vrf(struct bgp *bgp_vrf,
|
||||
struct prefix_evpn *evp = (struct prefix_evpn *)&rn->p;
|
||||
|
||||
/* if not mac-ip route skip this route */
|
||||
if (evp->prefix.route_type != BGP_EVPN_MAC_IP_ROUTE)
|
||||
if (!(evp->prefix.route_type == BGP_EVPN_MAC_IP_ROUTE ||
|
||||
evp->prefix.route_type == BGP_EVPN_IP_PREFIX_ROUTE))
|
||||
continue;
|
||||
|
||||
/* if not a mac+ip route skip this route */
|
||||
|
Loading…
Reference in New Issue
Block a user