summaryrefslogtreecommitdiff
path: root/zebra/zebra_vxlan_if.c
diff options
context:
space:
mode:
Diffstat (limited to 'zebra/zebra_vxlan_if.c')
-rw-r--r--zebra/zebra_vxlan_if.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/zebra/zebra_vxlan_if.c b/zebra/zebra_vxlan_if.c
index a99a0fd1b7..1d4b0957ed 100644
--- a/zebra/zebra_vxlan_if.c
+++ b/zebra/zebra_vxlan_if.c
@@ -863,6 +863,8 @@ int zebra_vxlan_if_vni_down(struct interface *ifp, struct zebra_vxlan_vni *vnip)
if (zl3vni)
listnode_delete(zl3vni->l2vnis, zevpn);
+ zebra_evpn_vl_vxl_deref(vnip->access_vlan, vnip->vni, zif);
+
/* Delete this VNI from BGP. */
zebra_evpn_send_del_to_client(zevpn);
@@ -953,6 +955,7 @@ int zebra_vxlan_if_vni_up(struct interface *ifp, struct zebra_vxlan_vni *vnip)
}
assert(zevpn->vxlan_if == ifp);
+ zebra_evpn_vl_vxl_ref(vnip->access_vlan, vnip->vni, zif);
vlan_if = zvni_map_to_svi(vnip->access_vlan,
zif->brslave_info.br_if);
if (vlan_if) {