diff options
| author | Mitesh Kanjariya <mitesh@marvel-07.cumulusnetworks.com> | 2018-02-26 14:10:50 -0800 |
|---|---|---|
| committer | Donald Sharp <sharpd@cumulusnetworks.com> | 2018-04-12 09:07:43 -0400 |
| commit | e9d2cbdebf26a264a3053abef9cfa9321e9a5cdd (patch) | |
| tree | 1ca70497958f3e1602f13b7a938ddf2321e7c685 | |
| parent | ee69da278d26aa46042302238ed6753022f42aa7 (diff) | |
zebra: add EVPN learned neighbors as NUD_NOARP
EVPN owns the remote neigh entries which are programed in the kernel.
This entries should not age out and the only way to delete should be
from EVPN. We should program these entries with NUD_NOARP instead of
NUD_REACHABLE to avoid aging of this macs.
Signed-off-by: Mitesh Kanjariya <mitesh@cumulusnetworks.com>
| -rw-r--r-- | zebra/rt_netlink.c | 2 | ||||
| -rw-r--r-- | zebra/zebra_vxlan.c | 2 |
2 files changed, 3 insertions, 1 deletions
diff --git a/zebra/rt_netlink.c b/zebra/rt_netlink.c index fbaa9c4783..9fd8ecb27c 100644 --- a/zebra/rt_netlink.c +++ b/zebra/rt_netlink.c @@ -2412,7 +2412,7 @@ int kernel_del_mac(struct interface *ifp, vlanid_t vid, struct ethaddr *mac, int kernel_add_neigh(struct interface *ifp, struct ipaddr *ip, struct ethaddr *mac) { - return netlink_neigh_update2(ifp, ip, mac, NUD_REACHABLE, RTM_NEWNEIGH); + return netlink_neigh_update2(ifp, ip, mac, NUD_NOARP, RTM_NEWNEIGH); } int kernel_del_neigh(struct interface *ifp, struct ipaddr *ip) diff --git a/zebra/zebra_vxlan.c b/zebra/zebra_vxlan.c index a2961428d7..b851ba41d5 100644 --- a/zebra/zebra_vxlan.c +++ b/zebra/zebra_vxlan.c @@ -2079,8 +2079,10 @@ static int zvni_remote_neigh_update(zebra_vni_t *zvni, /* If a remote entry, see if it needs to be refreshed */ if (CHECK_FLAG(n->flags, ZEBRA_NEIGH_REMOTE)) { +#ifdef GNU_LINUX if (state & NUD_STALE) zvni_neigh_install(zvni, n); +#endif } else { /* We got a "remote" neighbor notification for an entry * we think is local. This can happen in a multihoming |
