diff options
author | Benoît Ganne <bganne@cisco.com> | 2021-09-08 16:26:52 +0200 |
---|---|---|
committer | Florin Coras <florin.coras@gmail.com> | 2021-09-09 22:22:53 +0000 |
commit | 10bb21fb13aa74dcb0c2c0841d41a698bb274fbe (patch) | |
tree | dc96db1f8982973629ddbcacb75dd8e2ba24aaa3 /src/vnet/session/session_node.c | |
parent | 2ac5c11cd32795ec917ff038262aee113d9e792a (diff) |
vlib: fix vlib_buffer_enqueue_to_next() overflow
vlib_buffer_enqueue_to_next() requires to allow overflow of up to 63
elements of 'buffer' and 'nexts' array.
- add helper to compute the minimum size
- fix occurences in session and async crypto
Type: fix
Change-Id: If8d7eebc5bf9beba71ba194aec0f79b8eb6d5843
Signed-off-by: Benoît Ganne <bganne@cisco.com>
Diffstat (limited to 'src/vnet/session/session_node.c')
-rw-r--r-- | src/vnet/session/session_node.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/vnet/session/session_node.c b/src/vnet/session/session_node.c index 72df07b1d6d..981fa66eae1 100644 --- a/src/vnet/session/session_node.c +++ b/src/vnet/session/session_node.c @@ -1660,9 +1660,9 @@ static void session_flush_pending_tx_buffers (session_worker_t * wrk, vlib_node_runtime_t * node) { - vlib_buffer_enqueue_to_next (wrk->vm, node, wrk->pending_tx_buffers, - wrk->pending_tx_nexts, - vec_len (wrk->pending_tx_nexts)); + vlib_buffer_enqueue_to_next_vec (wrk->vm, node, &wrk->pending_tx_buffers, + &wrk->pending_tx_nexts, + vec_len (wrk->pending_tx_nexts)); vec_reset_length (wrk->pending_tx_buffers); vec_reset_length (wrk->pending_tx_nexts); } |