Code Review
/
vpp.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
review
|
tree
raw
|
inline
| side by side
VPP-1506: dump local punts and registered punt sockets
[vpp.git]
/
src
/
vnet
/
ip
/
ip6_reassembly.c
diff --git
a/src/vnet/ip/ip6_reassembly.c
b/src/vnet/ip/ip6_reassembly.c
index
fae0e61
..
de9fbe5
100644
(file)
--- a/
src/vnet/ip/ip6_reassembly.c
+++ b/
src/vnet/ip/ip6_reassembly.c
@@
-402,7
+402,7
@@
ip6_reass_find_or_create (vlib_main_t * vm, vlib_node_runtime_t * node,
else
{
pool_get (rt->pool, reass);
else
{
pool_get (rt->pool, reass);
- memset (reass, 0, sizeof (*reass));
+
clib_
memset (reass, 0, sizeof (*reass));
reass->id =
((u64) os_get_thread_index () * 1000000000) + rt->id_counter;
++rt->id_counter;
reass->id =
((u64) os_get_thread_index () * 1000000000) + rt->id_counter;
++rt->id_counter;
@@
-990,6
+990,7
@@
ip6_reassembly_inline (vlib_main_t * vm,
n_left_to_next -= 1;
if (is_feature && IP6_ERROR_NONE == error0)
{
n_left_to_next -= 1;
if (is_feature && IP6_ERROR_NONE == error0)
{
+ b0 = vlib_get_buffer (vm, bi0);
vnet_feature_next (&next0, b0);
}
vlib_validate_buffer_enqueue_x1 (vm, node, next_index, to_next,
vnet_feature_next (&next0, b0);
}
vlib_validate_buffer_enqueue_x1 (vm, node, next_index, to_next,
@@
-1148,7
+1149,7
@@
ip6_reass_set (u32 timeout_ms, u32 max_reassemblies,
if (ip6_reass_main.max_reass_n > 0 && new_nbuckets > old_nbuckets)
{
clib_bihash_48_8_t new_hash;
if (ip6_reass_main.max_reass_n > 0 && new_nbuckets > old_nbuckets)
{
clib_bihash_48_8_t new_hash;
- memset (&new_hash, 0, sizeof (new_hash));
+
clib_
memset (&new_hash, 0, sizeof (new_hash));
ip6_rehash_cb_ctx ctx;
ctx.failure = 0;
ctx.new_hash = &new_hash;
ip6_rehash_cb_ctx ctx;
ctx.failure = 0;
ctx.new_hash = &new_hash;
@@
-1164,8
+1165,8
@@
ip6_reass_set (u32 timeout_ms, u32 max_reassemblies,
else
{
clib_bihash_free_48_8 (&ip6_reass_main.hash);
else
{
clib_bihash_free_48_8 (&ip6_reass_main.hash);
- clib_memcpy (&ip6_reass_main.hash, &new_hash,
- sizeof (ip6_reass_main.hash));
+ clib_memcpy
_fast
(&ip6_reass_main.hash, &new_hash,
+
sizeof (ip6_reass_main.hash));
}
}
return 0;
}
}
return 0;
@@
-1192,7
+1193,7
@@
ip6_reass_init_function (vlib_main_t * vm)
rm->vlib_main = vm;
rm->vnet_main = vnet_get_main ();
rm->vlib_main = vm;
rm->vnet_main = vnet_get_main ();
- vec_validate (rm->per_thread_data, vlib_num_workers ()
+ 1
);
+ vec_validate (rm->per_thread_data, vlib_num_workers ());
ip6_reass_per_thread_t *rt;
vec_foreach (rt, rm->per_thread_data)
{
ip6_reass_per_thread_t *rt;
vec_foreach (rt, rm->per_thread_data)
{
@@
-1261,7
+1262,7
@@
ip6_reass_walk_expired (vlib_main_t * vm,
uword thread_index = 0;
int index;
uword thread_index = 0;
int index;
- const uword nthreads =
os_get_nthreads ()
;
+ const uword nthreads =
vlib_num_workers () + 1
;
u32 *vec_icmp_bi = NULL;
for (thread_index = 0; thread_index < nthreads; ++thread_index)
{
u32 *vec_icmp_bi = NULL;
for (thread_index = 0; thread_index < nthreads; ++thread_index)
{
@@
-1471,7
+1472,7
@@
show_ip6_reass (vlib_main_t * vm, unformat_input_t * input,
u64 sum_buffers_n = 0;
ip6_reass_t *reass;
uword thread_index;
u64 sum_buffers_n = 0;
ip6_reass_t *reass;
uword thread_index;
- const uword nthreads =
os_get_nthreads ()
;
+ const uword nthreads =
vlib_num_workers () + 1
;
for (thread_index = 0; thread_index < nthreads; ++thread_index)
{
ip6_reass_per_thread_t *rt = &rm->per_thread_data[thread_index];
for (thread_index = 0; thread_index < nthreads; ++thread_index)
{
ip6_reass_per_thread_t *rt = &rm->per_thread_data[thread_index];