summaryrefslogtreecommitdiffstats
path: root/zebra/zebra_vxlan.h
diff options
context:
space:
mode:
authorMitesh Kanjariya <mitesh@marvel-07.cumulusnetworks.com>2018-03-03 00:28:33 +0100
committerDonald Sharp <sharpd@cumulusnetworks.com>2018-04-12 15:07:43 +0200
commitee69da278d26aa46042302238ed6753022f42aa7 (patch)
tree3489f5a340b9964ed5ad10b18e41debe753a367a /zebra/zebra_vxlan.h
parentbgpd: change advertise-subnet to a hidden command (diff)
downloadfrr-ee69da278d26aa46042302238ed6753022f42aa7.tar.xz
frr-ee69da278d26aa46042302238ed6753022f42aa7.zip
zebra: act on kernel notifications for remote neighbors as well
There can be a race condition between kernel and frr as follows. Frr sends remote neigh notification. At the (almost) same time kernel might send a notification saying neigh is local. After processing this notifications, the state in frr is local while state in kernel is remote. This causes kernel and frr to be out of sync. This problem will be avoided if FRR acts on the kernel notifications for remote neighbors. When FRR sees a remote neighbor notification for a neighbor which it thinks is local, FRR will change the neigh state to remote. Ticket: CM-19923/CM-18830 Review: CCR-7222 Testing: Manual Signed-off-by: Vivek Venkatraman <vivek@cumulusnetworks.com>
Diffstat (limited to 'zebra/zebra_vxlan.h')
-rw-r--r--zebra/zebra_vxlan.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/zebra/zebra_vxlan.h b/zebra/zebra_vxlan.h
index 16b01e6ac..6153c7d7e 100644
--- a/zebra/zebra_vxlan.h
+++ b/zebra/zebra_vxlan.h
@@ -122,10 +122,10 @@ extern int zebra_vxlan_add_del_gw_macip(struct interface *ifp, struct prefix *p,
extern int zebra_vxlan_svi_up(struct interface *ifp, struct interface *link_if);
extern int zebra_vxlan_svi_down(struct interface *ifp,
struct interface *link_if);
-extern int zebra_vxlan_local_neigh_add_update(
+extern int zebra_vxlan_handle_kernel_neigh_update(
struct interface *ifp, struct interface *link_if, struct ipaddr *ip,
struct ethaddr *macaddr, uint16_t state, uint8_t ext_learned);
-extern int zebra_vxlan_local_neigh_del(struct interface *ifp,
+extern int zebra_vxlan_handle_kernel_neigh_del(struct interface *ifp,
struct interface *link_if,
struct ipaddr *ip);
extern int zebra_vxlan_local_mac_add_update(struct interface *ifp,