udp: fix local port reuse check 06/38906/2
authorFlorin Coras <fcoras@cisco.com>
Thu, 25 May 2023 19:04:53 +0000 (12:04 -0700)
committerFlorin Coras <fcoras@cisco.com>
Thu, 25 May 2023 20:21:46 +0000 (13:21 -0700)
Type: fix

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I323946f7838507110c663f5a904399a74fc76691

src/vnet/udp/udp.c
test/asf/test_vcl.py

index 7147fa3..4932750 100644 (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);
index 9853529..59c077e 100644 (file)
@@ -996,6 +996,7 @@ class LDPThruHostStackIperfUdp(VCLTestCase):
             "-t 2",
             "-u",
             "-l 1400",
+            "-P 2",
             "-c",
             self.loop0.local_ip4,
         ]