summaryrefslogtreecommitdiffstats
path: root/zebra
diff options
context:
space:
mode:
authorAnuradha Karuppiah <anuradhak@cumulusnetworks.com>2018-10-16 21:59:24 +0200
committerDonald Sharp <sharpd@cumulusnetworks.com>2018-10-31 11:23:32 +0100
commitf3a930da157cd9febea3d8f0f723fb8351e75d9c (patch)
tree3d3d67f81fcbaa4e67a7d11763cc8b642858872c /zebra
parentzebra: make neigh active when it is modified from local to remote (diff)
downloadfrr-f3a930da157cd9febea3d8f0f723fb8351e75d9c.tar.xz
frr-f3a930da157cd9febea3d8f0f723fb8351e75d9c.zip
zebra: set remoteseq to 0 when remote mac is deleted by bgpd
When the remote mac is deleted by bgpd we can end up with an auto mac entry in zebra if there are neighs referring to the mac. The remote sequence number in the auto mac entry needs to be reset to 0 as the mac entry may have been removed on all VTEPs (including the originating one). Now if the MAC comes back on a remote VTEP it may be added with MM=0 which will NOT be accepted if the remote seq was not reset in the previous step. Ticket: CM-22707 Signed-off-by: Anuradha Karuppiah <anuradhak@cumulusnetworks.com> Signed-off-by: Vivek Venkatraman <vivek@cumulusnetworks.com>
Diffstat (limited to 'zebra')
-rw-r--r--zebra/zebra_vxlan.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/zebra/zebra_vxlan.c b/zebra/zebra_vxlan.c
index b98b7381f..ab7ccc381 100644
--- a/zebra/zebra_vxlan.c
+++ b/zebra/zebra_vxlan.c
@@ -4433,6 +4433,13 @@ static void process_remote_macip_del(vni_t vni,
} else {
if (CHECK_FLAG(mac->flags, ZEBRA_MAC_REMOTE)) {
zvni_process_neigh_on_remote_mac_del(zvni, mac);
+ /*
+ * the remote sequence number in the auto mac entry
+ * needs to be reset to 0 as the mac entry may have
+ * been removed on all VTEPs (including
+ * the originating one)
+ */
+ mac->rem_seq = 0;
/* If all remote neighbors referencing a remote MAC
* go away, we need to uninstall the MAC.