diff options
Diffstat (limited to 'zebra/rt_netlink.c')
| -rw-r--r-- | zebra/rt_netlink.c | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/zebra/rt_netlink.c b/zebra/rt_netlink.c index 92c78a4cbb..d594accf4d 100644 --- a/zebra/rt_netlink.c +++ b/zebra/rt_netlink.c @@ -330,6 +330,10 @@ static int netlink_route_change_read_unicast(struct nlmsghdr *h, ns_id_t ns_id, bh_type = BLACKHOLE_ADMINPROHIB; break; default: + if (IS_ZEBRA_DEBUG_KERNEL) + zlog_debug("Route rtm_type: %s(%d) intentionally ignoring", + nl_rttype_to_str(rtm->rtm_type), + rtm->rtm_type); return 0; } @@ -2413,8 +2417,13 @@ static int netlink_ipneigh_change(struct nlmsghdr *h, int len, ns_id_t ns_id) } /* if kernel marks our rfc5549 neighbor entry invalid, re-install it */ - if (h->nlmsg_type == RTM_NEWNEIGH && !(ndm->ndm_state & NUD_VALID)) - netlink_handle_5549(ndm, zif, ifp, &ip); + if (h->nlmsg_type == RTM_NEWNEIGH && !(ndm->ndm_state & NUD_VALID)) { + if (!(ndm->ndm_state & NUD_FAILED)) + netlink_handle_5549(ndm, zif, ifp, &ip); + else + zlog_info("Neighbor Entry for %s has entered a failed state, not reinstalling", + ifp->name); + } /* The neighbor is present on an SVI. From this, we locate the * underlying |
