aboutsummaryrefslogtreecommitdiffstats
path: root/src/vnet/bier
diff options
context:
space:
mode:
authorBenoît Ganne <bganne@cisco.com>2019-07-22 14:21:46 +0200
committerAndrew Yourtchenko <ayourtch@gmail.com>2019-10-29 09:53:17 +0000
commit16a17507f418c89ac0aacaf19d83dd07dee42d21 (patch)
tree1d45bb793116a1a3732781a6ac37e11ae339359d /src/vnet/bier
parentf7b53e155a779a45ec0cf140bd5f4cb716fb551f (diff)
vppinfra: add vec_set_len()
l2-flood and bier nodes reset vector length without updating it to its effective size. Introduce a helper to do it (this allows ASAN to keep track of the new vector size). Type: refactor Change-Id: I2d652550c440f0553a2b49c3ee3d37b49ebc16c3 Signed-off-by: Benoît Ganne <bganne@cisco.com> (cherry picked from commit 8a4bfdae87286ed281df855c58b669eb6b76aaf8)
Diffstat (limited to 'src/vnet/bier')
-rw-r--r--src/vnet/bier/bier_lookup.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/vnet/bier/bier_lookup.c b/src/vnet/bier/bier_lookup.c
index a9fab9c80f1..9361845c992 100644
--- a/src/vnet/bier/bier_lookup.c
+++ b/src/vnet/bier/bier_lookup.c
@@ -147,10 +147,9 @@ bier_lookup (vlib_main_t * vm,
memcpy(bbs.bbs_buckets, bh0->bh_bit_string, bbs.bbs_len);
/*
- * reset the fmask and clone storage vectors
+ * reset the fmask storage vector
*/
vec_reset_length (blm->blm_fmasks[thread_index]);
- vec_reset_length (blm->blm_clones[thread_index]);
/*
* Loop through the buckets in the header
@@ -225,7 +224,9 @@ bier_lookup (vlib_main_t * vm,
n_clones,
VLIB_BUFFER_CLONE_HEAD_SIZE);
- if (num_cloned != vec_len(blm->blm_fmasks[thread_index]))
+ vec_set_len(blm->blm_clones[thread_index], num_cloned);
+
+ if (num_cloned != n_clones)
{
vlib_node_increment_counter
(vm, node->node_index,