From c389de2aa8819030f8a9a15f2e3d67ca853bb43b Mon Sep 17 00:00:00 2001 From: Damjan Marion Date: Fri, 14 May 2021 15:48:52 +0200 Subject: [PATCH] interface: update tx queue runtime if vector size changes Fixes issue which causes crash in case when VPP only runs with main thread. Type: fix Change-Id: Ia0ca973bb7e7ff81f15b37764ae248e2502bdcec Signed-off-by: Damjan Marion --- src/vnet/interface/runtime.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/vnet/interface/runtime.c b/src/vnet/interface/runtime.c index e318e43dd01..7ec1049d8c7 100644 --- a/src/vnet/interface/runtime.c +++ b/src/vnet/interface/runtime.c @@ -169,7 +169,11 @@ vnet_hw_if_update_runtime_data (vnet_main_t *vnm, u32 hw_if_index) new_out_runtimes = vec_dup_aligned (hi->output_node_thread_runtimes, CLIB_CACHE_LINE_BYTES); - vec_validate_aligned (new_out_runtimes, n_threads, CLIB_CACHE_LINE_BYTES); + vec_validate_aligned (new_out_runtimes, n_threads - 1, + CLIB_CACHE_LINE_BYTES); + + if (vec_len (hi->output_node_thread_runtimes) != vec_len (new_out_runtimes)) + something_changed_on_tx = 1; for (int i = 0; i < vec_len (hi->tx_queue_indices); i++) { -- 2.16.6