aboutsummaryrefslogtreecommitdiffstats
path: root/src/vnet/ip/ip6_forward.c
diff options
context:
space:
mode:
authorJohn Lo <loj@cisco.com>2018-06-11 20:14:49 -0400
committerFlorin Coras <florin.coras@gmail.com>2018-06-14 16:03:42 +0000
commit8637634d4dbc3e8cc90f78307d2069524b8f8f5e (patch)
treea0fc3028dc838cecad6179453fdb72c01be47f2a /src/vnet/ip/ip6_forward.c
parentc553ec20fed9715f0b70b71fca23caac42a1226a (diff)
Use unicast DMAC for IP neighbor pool refresh probes
Change-Id: I12fbebd1d24c37dc77c147773ea522c8a4b7b99d Signed-off-by: John Lo <loj@cisco.com>
Diffstat (limited to 'src/vnet/ip/ip6_forward.c')
-rw-r--r--src/vnet/ip/ip6_forward.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/vnet/ip/ip6_forward.c b/src/vnet/ip/ip6_forward.c
index f7946b0b3af..5ea7d8d6e9d 100644
--- a/src/vnet/ip/ip6_forward.c
+++ b/src/vnet/ip/ip6_forward.c
@@ -1435,7 +1435,8 @@ ip6_register_protocol (u32 protocol, u32 node_index)
}
clib_error_t *
-ip6_probe_neighbor (vlib_main_t * vm, ip6_address_t * dst, u32 sw_if_index)
+ip6_probe_neighbor (vlib_main_t * vm, ip6_address_t * dst, u32 sw_if_index,
+ u8 refresh)
{
vnet_main_t *vnm = vnet_get_main ();
ip6_main_t *im = &ip6_main;
@@ -1516,7 +1517,7 @@ ip6_probe_neighbor (vlib_main_t * vm, ip6_address_t * dst, u32 sw_if_index)
adj = adj_get (ai);
/* Peer has been previously resolved, retrieve glean adj instead */
- if (adj->lookup_next_index == IP_LOOKUP_NEXT_REWRITE)
+ if (adj->lookup_next_index == IP_LOOKUP_NEXT_REWRITE && refresh == 0)
{
adj_unlock (ai);
ai = adj_glean_add_or_lock (FIB_PROTOCOL_IP6,