udp: fix local port reuse check

Type: fix

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I323946f7838507110c663f5a904399a74fc76691
(cherry picked from commit d921b89880)
This commit is contained in:
Florin Coras
2023-05-25 12:04:53 -07:00
committed by Andrew Yourtchenko
parent c4d0f47fae
commit 5e6bc730ef
2 changed files with 5 additions and 2 deletions

View File

@ -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);

View File

@ -996,6 +996,7 @@ class LDPThruHostStackIperfUdp(VCLTestCase):
"-t 2",
"-u",
"-l 1400",
"-P 2",
"-c",
self.loop0.local_ip4,
]