- if (j == 0)
- {
- if (strncmp ((char *) sm->nodes[n->index], (char *) n->name,
- strlen ((char *) sm->nodes[n->index])))
- {
- u32 vector_index;
- void *oldheap = clib_mem_set_heap (sm->heap);
- vlib_stats_segment_lock ();
- u8 *s = format (0, "%v%c", n->name, 0);
- clib_mem_set_heap (oldheap);
-#define _(E, t, name, p) \
- vec_reset_length (symlink_name); \
- symlink_name = format (symlink_name, "/nodes/%U/" #name, \
- format_vlib_stats_symlink, sm->nodes[n->index]); \
- vector_index = vlib_stats_find_entry_index ("%v", symlink_name); \
- ASSERT (vector_index != -1); \
- vlib_stats_rename_symlink (vector_index, "/nodes/%U/" #name, \
- format_vlib_stats_symlink, s);
- foreach_stat_segment_node_counter_name
-#undef _
- vec_free (symlink_name);
- clib_mem_set_heap (sm->heap);
- vec_free (sm->nodes[n->index]);
- sm->nodes[n->index] = s;
- vlib_stats_segment_unlock ();
- clib_mem_set_heap (oldheap);
- }
- }
-
- counters = sm->directory_vector[STAT_COUNTER_NODE_CLOCKS].data;