diff --git a/lcpng_nl_sync.c b/lcpng_nl_sync.c index ab5ad64..e1b917c 100644 --- a/lcpng_nl_sync.c +++ b/lcpng_nl_sync.c @@ -967,6 +967,12 @@ lcp_nl_neigh_add (struct rtnl_neigh *rn) return; } + if (ip46_address_is_multicast (&ip_addr_46 (&nh))) + { + NL_DBG ("neigh_add: ignore multicast %U", format_nl_object, rn); + return; + } + lcp_nl_mk_ip_addr (rtnl_neigh_get_dst (rn), &nh); ll = rtnl_neigh_get_lladdr (rn); state = rtnl_neigh_get_state (rn); @@ -1017,6 +1023,12 @@ lcp_nl_neigh_del (struct rtnl_neigh *rn) return; } + if (ip46_address_is_multicast (&ip_addr_46 (&nh))) + { + NL_DBG ("neigh_del: ignore multicast %U", format_nl_object, rn); + return; + } + lcp_nl_mk_ip_addr (rtnl_neigh_get_dst (rn), &nh); rv = ip_neighbor_del (&nh, lip->lip_phy_sw_if_index);