summaryrefslogtreecommitdiffstats
path: root/zebra
diff options
context:
space:
mode:
authorChirag Shah <chirag@nvidia.com>2024-11-19 21:24:30 +0100
committerChirag Shah <chirag@nvidia.com>2024-11-25 18:00:03 +0100
commitadae8192d184beafdf84b15b24b66c7ccd0c92e0 (patch)
tree76f0db638b297fd6c8143f2f37abfb9f73da3916 /zebra
parentMerge pull request #17369 from louis-6wind/bgp_vpnv4_route_leak_basic (diff)
downloadfrr-adae8192d184beafdf84b15b24b66c7ccd0c92e0.tar.xz
frr-adae8192d184beafdf84b15b24b66c7ccd0c92e0.zip
zebra: EVPN check vxlan oper up in vlan mapping
When VLAN-VNI mapping is updated, do not set the L2VNI up event if the associated VXLAN device is not up. This may result in bgp synced remote routes to skip installing in Zebra and onwards (Kernel). Ticket: #4139506 Signed-off-by: Chirag Shah <chirag@nvidia.com>
Diffstat (limited to 'zebra')
-rw-r--r--zebra/zebra_vxlan_if.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/zebra/zebra_vxlan_if.c b/zebra/zebra_vxlan_if.c
index 17ab05c1f..2658c9f01 100644
--- a/zebra/zebra_vxlan_if.c
+++ b/zebra/zebra_vxlan_if.c
@@ -1032,7 +1032,13 @@ int zebra_vxlan_if_vni_up(struct interface *ifp, struct zebra_vxlan_vni *vnip)
/* If part of a bridge, inform BGP about this VNI. */
/* Also, read and populate local MACs and neighbors. */
if (zif->brslave_info.br_if) {
- zebra_evpn_send_add_to_client(zevpn);
+ if (if_is_operative(zevpn->vxlan_if)) {
+ zebra_evpn_send_add_to_client(zevpn);
+ } else {
+ if (IS_ZEBRA_DEBUG_KERNEL || IS_ZEBRA_DEBUG_VXLAN)
+ zlog_debug("%s VNI %u vxlan_if %s oper down skipping vni up to client",
+ __func__, zevpn->vni, zevpn->vxlan_if->name);
+ }
zebra_evpn_read_mac_neigh(zevpn, ifp);
}
}