diff options
| author | vivek <vivek@cumulusnetworks.com> | 2021-04-25 22:37:48 -0700 |
|---|---|---|
| committer | Stephen Worley <sworley@nvidia.com> | 2023-02-13 18:12:05 -0500 |
| commit | a885db2f8c52bb583a3692b95171f7c98336b9b1 (patch) | |
| tree | deecbd446bf6d55f7607f088b9bffd41c8ab61cc | |
| parent | 5c713062201d6953e36af651624e506887a1a5d0 (diff) | |
zebra: Clean remote FDB entries upon VNI removal
When the VLAN-VNI mapping is configured via a map and not using
individual VXLAN interfaces, upon removal of a VNI ensure that the
remote FDB entries are uninstalled correctly.
Signed-off-by: Vivek Venkatraman <vivek@nvidia.com>
Ticket: #2613048
Reviewed By:
Testing Done:
1. Manual verification - logs in the ticket
2. Precommit (user job #171) and evpn-min (user job #170)
Signed-off-by: Stephen Worley <sworley@nvidia.com>
| -rw-r--r-- | zebra/zebra_vxlan_if.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/zebra/zebra_vxlan_if.c b/zebra/zebra_vxlan_if.c index 1d4b0957ed..57fdc19535 100644 --- a/zebra/zebra_vxlan_if.c +++ b/zebra/zebra_vxlan_if.c @@ -785,9 +785,15 @@ int zebra_vxlan_if_vni_table_add_update(struct interface *ifp, /* release kernel deleted vnis */ if (old_vni_table) { - if (hashcount(old_vni_table)) + if (hashcount(old_vni_table)) { + /* UGLY HACK: Put back the old table so that delete of + * MACs goes through and then flip back. + */ + vni_info->vni_table = old_vni_table; hash_iterate(old_vni_table, zebra_vxlan_if_vni_clean, zif); + vni_info->vni_table = vni_table; + } zebra_vxlan_vni_table_destroy(old_vni_table); } |
