summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorFlorin Coras <fcoras@cisco.com>2023-05-25 12:04:53 -0700
committerFlorin Coras <fcoras@cisco.com>2023-05-25 13:21:46 -0700
commitd921b8988044f708318eb73a1fa883fce094a4d6 (patch)
treed56a7917f2ca59b711a8290859b15c19d1119b2d /src
parent71fc1947033854cd57c362df69f7f2e578af7d1b (diff)
udp: fix local port reuse check
Type: fix Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I323946f7838507110c663f5a904399a74fc76691
Diffstat (limited to 'src')
-rw-r--r--src/vnet/udp/udp.c6
1 files changed, 4 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);