From 5e6bc730efc64c1ccbaca765e99faab828b2f76c Mon Sep 17 00:00:00 2001 From: Florin Coras Date: Thu, 25 May 2023 12:04:53 -0700 Subject: udp: fix local port reuse check Type: fix Signed-off-by: Florin Coras Change-Id: I323946f7838507110c663f5a904399a74fc76691 (cherry picked from commit d921b8988044f708318eb73a1fa883fce094a4d6) --- src/vnet/udp/udp.c | 6 ++++-- test/asf/test_vcl.py | 1 + 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/vnet/udp/udp.c b/src/vnet/udp/udp.c index 7147fa32657..493275006f7 100644 --- a/src/vnet/udp/udp.c +++ b/src/vnet/udp/udp.c @@ -364,7 +364,8 @@ udp_open_connection (transport_endpoint_cfg_t * rmt) if (rv) return rv; - if (udp_is_valid_dst_port (lcl_port, rmt->is_ip4)) + if (udp_connection_port_used_extern (clib_net_to_host_u16 (lcl_port), + rmt->is_ip4)) { /* If specific source port was requested abort */ if (rmt->peer.port) @@ -375,7 +376,8 @@ udp_open_connection (transport_endpoint_cfg_t * rmt) } /* Try to find a port that's not used */ - while (udp_is_valid_dst_port (lcl_port, rmt->is_ip4)) + while (udp_connection_port_used_extern (clib_net_to_host_u16 (lcl_port), + rmt->is_ip4)) { transport_release_local_endpoint (TRANSPORT_PROTO_UDP, &lcl_addr, lcl_port); diff --git a/test/asf/test_vcl.py b/test/asf/test_vcl.py index 9853529da56..59c077ee4f7 100644 --- a/test/asf/test_vcl.py +++ b/test/asf/test_vcl.py @@ -996,6 +996,7 @@ class LDPThruHostStackIperfUdp(VCLTestCase): "-t 2", "-u", "-l 1400", + "-P 2", "-c", self.loop0.local_ip4, ] -- cgit 1.2.3-korg