From 8e58499690a278a598c9ef7abf47b72fafad7e50 Mon Sep 17 00:00:00 2001 From: Aloys Augustin Date: Wed, 24 Apr 2019 13:21:43 +0200 Subject: UDPC: Fix open segfault with multiple workers Change-Id: Ib4a64f17831e2419f1d6140a6d24649c096bdfa5 Signed-off-by: Aloys Augustin --- src/vnet/udp/udp.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'src/vnet/udp') diff --git a/src/vnet/udp/udp.c b/src/vnet/udp/udp.c index 46a26e484ed..138fe578a01 100644 --- a/src/vnet/udp/udp.c +++ b/src/vnet/udp/udp.c @@ -344,9 +344,11 @@ int udpc_connection_open (transport_endpoint_cfg_t * rmt) { udp_connection_t *uc; + /* Reproduce the logic of udp_open_connection to find the correct thread */ + u32 thread_index = vlib_num_workers ()? 1 : vlib_get_main ()->thread_index; u32 uc_index; uc_index = udp_open_connection (rmt); - uc = udp_connection_get (uc_index, vlib_get_thread_index ()); + uc = udp_connection_get (uc_index, thread_index); uc->is_connected = 1; return uc_index; } -- cgit 1.2.3-korg