diff options
Diffstat (limited to 'vnet/vnet/ip/ip6_neighbor.c')
-rw-r--r-- | vnet/vnet/ip/ip6_neighbor.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/vnet/vnet/ip/ip6_neighbor.c b/vnet/vnet/ip/ip6_neighbor.c index a03701b8e80..57359f7adf3 100644 --- a/vnet/vnet/ip/ip6_neighbor.c +++ b/vnet/vnet/ip/ip6_neighbor.c @@ -3406,8 +3406,9 @@ int vnet_ip6_nd_term (vlib_main_t * vm, /* Check if anyone want ND events for L2 BDs */ p = mhash_get (&nm->mac_changes_by_address, &ip6a_zero); - if (p && shg == 0) - { /* Only SHG 0 interface which is more likely local */ + if (p && shg == 0 && /* Only SHG 0 interface which is more likely local */ + !ip6_address_is_link_local_unicast (&ip->src_address)) + { u32 next_index = p[0]; while (next_index != (u32)~0) { |