diff options
| author | Russ White <russ@riw.us> | 2021-11-11 08:09:06 -0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-11-11 08:09:06 -0500 |
| commit | 7347a4859d4b984cea0aef769a16622d3f02e44f (patch) | |
| tree | c020025583227db94dbd0acd2003f3b71b6ae83a | |
| parent | eda02ab9da1ba02199ba85d203bdbd6a6e9050b1 (diff) | |
| parent | b13f35ec6772ae3a2bcff78c9b4ff388278685b3 (diff) | |
Merge pull request #10006 from chiragshah6/evpn_dev
zebra: svi down remove evpn l2vni from l3vni list
| -rw-r--r-- | zebra/zebra_vxlan.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/zebra/zebra_vxlan.c b/zebra/zebra_vxlan.c index bb46a1e62e..2d2c0a0bee 100644 --- a/zebra/zebra_vxlan.c +++ b/zebra/zebra_vxlan.c @@ -4645,6 +4645,11 @@ int zebra_vxlan_svi_down(struct interface *ifp, struct interface *link_if) zevpn = zebra_evpn_from_svi(ifp, link_if); if (zevpn) { + /* remove from l3-vni list */ + zl3vni = zl3vni_from_vrf(zevpn->vrf_id); + if (zl3vni) + listnode_delete(zl3vni->l2vnis, zevpn); + zevpn->svi_if = NULL; zevpn->vrf_id = VRF_DEFAULT; @@ -4704,6 +4709,10 @@ int zebra_vxlan_svi_up(struct interface *ifp, struct interface *link_if) zevpn->svi_if = ifp; zevpn->vrf_id = ifp->vrf_id; + zl3vni = zl3vni_from_vrf(zevpn->vrf_id); + if (zl3vni) + listnode_add_sort_nodup(zl3vni->l2vnis, zevpn); + if (if_is_operative(zevpn->vxlan_if)) zebra_evpn_send_add_to_client(zevpn); |
