Code Review
/
vpp.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
review
|
tree
raw
|
inline
| side by side
mroute routers in the stats segment
[vpp.git]
/
src
/
vnet
/
dpo
/
replicate_dpo.c
diff --git
a/src/vnet/dpo/replicate_dpo.c
b/src/vnet/dpo/replicate_dpo.c
index
9fdb9a0
..
8c8206c
100644
(file)
--- 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
*/
/**
* 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)
static inline index_t
replicate_get_index (const replicate_t *rep)
@@
-261,7
+266,7
@@
replicate_fill_buckets (replicate_t *rep,
u32 n_buckets)
{
load_balance_path_t * nh;
u32 n_buckets)
{
load_balance_path_t * nh;
- u16
ii,
bucket;
+ u16 bucket;
bucket = 0;
bucket = 0;
@@
-271,11
+276,8
@@
replicate_fill_buckets (replicate_t *rep,
*/
vec_foreach (nh, nhs)
{
*/
vec_foreach (nh, nhs)
{
- for (ii = 0; ii < nh->path_weight; ii++)
- {
- ASSERT(bucket < n_buckets);
- replicate_set_bucket_i(rep, bucket++, buckets, &nh->path_dpo);
- }
+ ASSERT(bucket < n_buckets);
+ replicate_set_bucket_i(rep, bucket++, buckets, &nh->path_dpo);
}
}
}
}
@@
-670,7
+672,8
@@
replicate_inline (vlib_main_t * vm,
vec_validate (rm->clones[thread_index], rep0->rep_n_buckets - 1);
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)
{
if (num_cloned != rep0->rep_n_buckets)
{
@@
-694,7
+697,10
@@
replicate_inline (vlib_main_t * vm,
if (PREDICT_FALSE(c0->flags & VLIB_BUFFER_IS_TRACED))
{
if (PREDICT_FALSE(c0->flags & VLIB_BUFFER_IS_TRACED))
{
- replicate_trace_t *t = vlib_add_trace (vm, node, c0, sizeof (*t));
+ replicate_trace_t *t;
+
+ vlib_trace_buffer (vm, node, next0, c0, 0);
+ t = vlib_add_trace (vm, node, c0, sizeof (*t));
t->rep_index = repi0;
t->dpo = *dpo0;
}
t->rep_index = repi0;
t->dpo = *dpo0;
}