X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvnet%2Fdpo%2Freplicate_dpo.c;h=6742bff41aa6bf58cda1462e76e32e8834a5ad12;hb=2fd4b56aea5833a4752525d58cac335909190e9c;hp=ae045f6a431f713eb9da0e16d6c6b1bf0a90ea13;hpb=d792d9c01e60656cbfe1b0f1fd6a9b125f5dab0c;p=vpp.git diff --git a/src/vnet/dpo/replicate_dpo.c b/src/vnet/dpo/replicate_dpo.c index ae045f6a431..6742bff41aa 100644 --- a/src/vnet/dpo/replicate_dpo.c +++ b/src/vnet/dpo/replicate_dpo.c @@ -59,7 +59,12 @@ replicate_t *replicate_pool; /** * The one instance of replicate main */ -replicate_main_t replicate_main; +replicate_main_t replicate_main = { + .repm_counters = { + .name = "mroutes", + .stat_segment_name = "/net/mroute", + }, +}; static inline index_t replicate_get_index (const replicate_t *rep) @@ -667,7 +672,8 @@ replicate_inline (vlib_main_t * vm, vec_validate (rm->clones[thread_index], rep0->rep_n_buckets - 1); - num_cloned = vlib_buffer_clone (vm, bi0, rm->clones[thread_index], rep0->rep_n_buckets, 128); + num_cloned = vlib_buffer_clone (vm, bi0, rm->clones[thread_index], + rep0->rep_n_buckets, 128); if (num_cloned != rep0->rep_n_buckets) { @@ -689,11 +695,15 @@ replicate_inline (vlib_main_t * vm, next0 = dpo0->dpoi_next_node; vnet_buffer (c0)->ip.adj_index[VLIB_TX] = dpo0->dpoi_index; - if (PREDICT_FALSE(c0->flags & VLIB_BUFFER_IS_TRACED)) + if (PREDICT_FALSE(b0->flags & VLIB_BUFFER_IS_TRACED)) { replicate_trace_t *t; - vlib_trace_buffer (vm, node, next0, c0, 0); + if (c0 != b0) + { + vlib_buffer_copy_trace_flag (vm, b0, ci0); + VLIB_BUFFER_TRACE_TRAJECTORY_INIT (c0); + } t = vlib_add_trace (vm, node, c0, sizeof (*t)); t->rep_index = repi0; t->dpo = *dpo0;