/* new mapping */
else
{
+ if (is_updated)
+ is_updated[0] = 1;
remove_overlapping_sub_prefixes (lcm, &a->eid, 0 == ls_args->locators);
ls_args->is_add = 1;
mapping_t *old_map;
u32 mi;
+ memset (ls_args, 0, sizeof (ls_args[0]));
memset (m_args, 0, sizeof (m_args[0]));
if (res_map_index)
res_map_index[0] = ~0;
/* find locator-set */
if (a->local)
{
+ ASSERT (a->name);
p = hash_get_mem (lcm->locator_set_index_by_name, a->name);
}
else
/* CP output statistics */
#define foreach_lisp_cp_output_error \
_(MAP_REGISTERS_SENT, "map-registers sent") \
+_(MAP_REQUESTS_SENT, "map-requests sent") \
_(RLOC_PROBES_SENT, "rloc-probes sent")
static char *lisp_cp_output_error_strings[] = {
#define _(sym,string) string,
f->n_vectors = 1;
vlib_put_frame_to_node (lcm->vlib_main, next_index, f);
+ vlib_node_increment_counter (vlib_get_main (), lisp_cp_output_node.index,
+ LISP_CP_OUTPUT_ERROR_MAP_REQUESTS_SENT, 1);
+
if (duplicate_pmr)
/* if there is a pending request already update it */
{
gid_address_nsh_si (dst) = si;
gid_address_type (dst) = GID_ADDR_NSH;
+ gid_address_type (src) = GID_ADDR_NSH;
}
}
}
icmp6_neighbor_discovery_ethernet_link_layer_address_option_t *opt;
u32 *from, *to_next, di, si;
lisp_cp_main_t *lcm = vnet_lisp_cp_get_main ();
- u32 pkts_mapped = 0, next_index;
+ u32 next_index;
uword n_left_from, n_left_to_next;
vnet_main_t *vnm = vnet_get_main ();
/* send map-request */
queue_map_request (&src, &dst, 0 /* smr_invoked */ ,
0 /* is_resend */ );
- pkts_mapped++;
}
else
{
/* send map-request */
queue_map_request (&src, &dst, 0 /* smr_invoked */ ,
0 /* is_resend */ );
- pkts_mapped++;
}
drop:
vlib_put_next_frame (vm, node, next_index, n_left_to_next);
}
- vlib_node_increment_counter (vm, node->node_index,
- LISP_CP_LOOKUP_ERROR_MAP_REQUESTS_SENT,
- pkts_mapped);
return from_frame->n_vectors;
}