X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvnet%2Fip%2Fip_neighbor.c;h=7d1998d25b85a1caa2f2a14afdb945aa217c61bc;hb=3460b014a7bd5a19fb59ae335120bfa93ecb2c77;hp=2edd737aa0725da4d086c462830b9610b990c82b;hpb=0bdd319b3b5d7d4037605f9baba8889d30bd1717;p=vpp.git diff --git a/src/vnet/ip/ip_neighbor.c b/src/vnet/ip/ip_neighbor.c index 2edd737aa07..7d1998d25b8 100644 --- a/src/vnet/ip/ip_neighbor.c +++ b/src/vnet/ip/ip_neighbor.c @@ -50,8 +50,12 @@ static ip_neighbor_scan_config_t ip_neighbor_scan_conf; int ip_neighbor_add (const ip46_address_t * ip, u8 is_ip6, - const u8 * mac, u32 sw_if_index, ip_neighbor_flags_t flags) + const u8 * mac, + u32 sw_if_index, + ip_neighbor_flags_t flags, u32 * stats_index) { + fib_protocol_t fproto; + vnet_link_t linkt; int rv; /* @@ -66,7 +70,8 @@ ip_neighbor_add (const ip46_address_t * ip, (flags & IP_NEIGHBOR_FLAG_STATIC), (flags & IP_NEIGHBOR_FLAG_NO_ADJ_FIB)); - + fproto = FIB_PROTOCOL_IP6; + linkt = VNET_LINK_IP6; } else { @@ -82,8 +87,13 @@ ip_neighbor_add (const ip46_address_t * ip, (flags & IP_NEIGHBOR_FLAG_STATIC), (flags & IP_NEIGHBOR_FLAG_NO_ADJ_FIB)); + fproto = FIB_PROTOCOL_IP4; + linkt = VNET_LINK_IP4; } + if (0 == rv && stats_index) + *stats_index = adj_nbr_find (fproto, linkt, ip, sw_if_index); + return (rv); } @@ -302,7 +312,7 @@ ip_neighbor_scan_cli (vlib_main_t * vm, unformat_input_t * input, u32 interval = 0, time = 0, update = 0, delay = 0, stale = 0; ip_neighbor_scan_arg_t arg; - memset (&arg, 0, sizeof (arg)); + clib_memset (&arg, 0, sizeof (arg)); arg.mode = IP_SCAN_V46_NEIGHBORS; /* Get a line of input. */