From: Florin Coras Date: Wed, 3 Mar 2021 16:06:12 +0000 (-0800) Subject: udp: allocate rx lock only for non-connected X-Git-Tag: v21.10-rc0~440 X-Git-Url: https://gerrit.fd.io/r/gitweb?a=commitdiff_plain;h=refs%2Fchanges%2F90%2F31490%2F3;p=vpp.git udp: allocate rx lock only for non-connected Type: improvement Signed-off-by: Florin Coras Change-Id: Ib5395a51fbfb2123549f7c96534fa763b4669243 --- diff --git a/src/vnet/udp/udp.c b/src/vnet/udp/udp.c index 00d9ec104dd..1878d2ed083 100644 --- a/src/vnet/udp/udp.c +++ b/src/vnet/udp/udp.c @@ -116,7 +116,6 @@ udp_connection_alloc (u32 thread_index) uc->c_c_index = uc - um->connections[thread_index]; uc->c_thread_index = thread_index; uc->c_proto = TRANSPORT_PROTO_UDP; - clib_spinlock_init (&uc->rx_lock); return uc; } @@ -390,9 +389,14 @@ conn_alloc: uc->mss = rmt->mss ? rmt->mss : udp_default_mtu (um, uc->c_is_ip4); uc->flags |= UDP_CONN_F_OWNS_PORT; if (rmt->transport_flags & TRANSPORT_CFG_F_CONNECTED) - uc->flags |= UDP_CONN_F_CONNECTED; + { + uc->flags |= UDP_CONN_F_CONNECTED; + } else - uc->c_flags |= TRANSPORT_CONNECTION_F_CLESS; + { + clib_spinlock_init (&uc->rx_lock); + uc->c_flags |= TRANSPORT_CONNECTION_F_CLESS; + } return uc->c_c_index; }