teib: Rename NHRP to TEIB
[vpp.git] / src / vlib / threads.c
index e59919e..e6733d5 100644 (file)
@@ -845,6 +845,7 @@ start_workers (vlib_main_t * vm)
 #ifdef VLIB_SUPPORTS_ARBITRARY_SCALAR_SIZES
              nm_clone->frame_size_hash = hash_create (0, sizeof (uword));
 #endif
+             nm_clone->node_by_error = nm->node_by_error;
 
              /* Packet trace buffers are guaranteed to be empty, nothing to do here */
 
@@ -1059,11 +1060,7 @@ vlib_worker_thread_node_refork (void)
     clib_mem_alloc_no_fail (vec_len (nm->nodes) * sizeof (*new_n_clone));
   for (j = 0; j < vec_len (nm->nodes); j++)
     {
-      vlib_node_t *old_n_clone;
-      vlib_node_t *new_n;
-
-      new_n = nm->nodes[j];
-      old_n_clone = old_nodes_clone[j];
+      vlib_node_t *new_n = nm->nodes[j];
 
       clib_memcpy_fast (new_n_clone, new_n, sizeof (*new_n));
       /* none of the copied nodes have enqueue rights given out */
@@ -1079,6 +1076,7 @@ vlib_worker_thread_node_refork (void)
        }
       else
        {
+         vlib_node_t *old_n_clone = old_nodes_clone[j];
          /* Copy stats if the old data is valid */
          clib_memcpy_fast (&new_n_clone->stats_total,
                            &old_n_clone->stats_total,
@@ -1182,6 +1180,7 @@ vlib_worker_thread_node_refork (void)
 
   nm_clone->processes = vec_dup_aligned (nm->processes,
                                         CLIB_CACHE_LINE_BYTES);
+  nm_clone->node_by_error = nm->node_by_error;
 }
 
 void
@@ -1430,7 +1429,7 @@ vlib_worker_thread_barrier_sync_int (vlib_main_t * vm, const char *func_name)
   for (i = 1; i < vec_len (vlib_mains); i++)
     max_vector_rate =
       clib_max (max_vector_rate,
-               vlib_last_vectors_per_main_loop_as_f64 (vlib_mains[i]));
+               (f64) vlib_last_vectors_per_main_loop (vlib_mains[i]));
 
   vlib_worker_threads[0].barrier_sync_count++;
 
@@ -1849,11 +1848,11 @@ show_clock_command_fn (vlib_main_t * vm,
                       unformat_input_t * input, vlib_cli_command_t * cmd)
 {
   int i;
-  f64 now;
+  int verbose = 0;
 
-  now = vlib_time_now (vm);
+  (void) unformat (input, "verbose %=", &verbose, 1);
 
-  vlib_cli_output (vm, "Time now %.9f", now);
+  vlib_cli_output (vm, "%U", format_clib_time, &vm->clib_time, verbose);
 
   if (vec_len (vlib_mains) == 1)
     return 0;
@@ -1865,6 +1864,10 @@ show_clock_command_fn (vlib_main_t * vm,
     {
       if (vlib_mains[i] == 0)
        continue;
+
+      vlib_cli_output (vm, "%d: %U", i, format_clib_time,
+                      &vlib_mains[i]->clib_time, verbose);
+
       vlib_cli_output (vm, "Thread %d offset %.9f error %.9f", i,
                       vlib_mains[i]->time_offset,
                       vm->time_last_barrier_release -