Subject: Re: [PATCH v1 net-next] selftest: net: Use port outside of the default ip_local_ports in csum.c.

From: Willem de Bruijn <[email-masked]>
Date: Sat, 11 Apr 2026 15:18:56 -0400

Kuniyuki Iwashima wrote:
> csum.c binds a socket on a fixed port in init_net to test
> the csum offload feature between two machines.
> 
> In our testbed, the test sometimes fails with -EADDRINUSE.
> 
>   bind r: Address already in use
>   bind dgram 6: Address already in use
> 
> The fixed ports (33000, 33001, 34000) are all within the default
> ip_local_ports range (32768 ~ 60999), and other processes may
> happen to be using them.
> 
> Let's use ports outside of the default ip_local_ports range to
> deflake the test.
> 
>   # cat /etc/services | grep -E "(13000|13001|13002)" | echo no service
>   no service
>   # rpm -qf /etc/services
>   setup-2.15.0-28.fc44.noarch
> 
> We could add an option to specify ports if needed.
>
> Suggested-by: Mahesh Bandewar <[email-masked]>
> Signed-off-by: Kuniyuki Iwashima <[email-masked]>
> ---
>  tools/testing/selftests/net/lib/csum.c | 6 +++---
>  1 file changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/tools/testing/selftests/net/lib/csum.c b/tools/testing/selftests/net/lib/csum.c
> index e28884ce3ab3..4e044689bc37 100644
> --- a/tools/testing/selftests/net/lib/csum.c
> +++ b/tools/testing/selftests/net/lib/csum.c
> @@ -105,9 +105,9 @@ static char *cfg_mac_src;
>  static int cfg_proto = IPPROTO_UDP;
>  static int cfg_payload_char = 'a';
>  static int cfg_payload_len = 100;
> -static uint16_t cfg_port_dst = 34000;

This is paired with wait_port_listen(3400, .. in
tools/testing/selftests/drivers/net/hw/csum.py

It is also used in tools/testing/selftests/drivers/net/hw/tso.py,
which uses rand_port to select a port.

Probably more robust to indeed add an option to specify a port, and
in all callers use rand_port(s).

> -static uint16_t cfg_port_src = 33000;
> -static uint16_t cfg_port_src_encap = 33001;
> +static uint16_t cfg_port_dst = 13000;
> +static uint16_t cfg_port_src = 13001;
> +static uint16_t cfg_port_src_encap = 13002;
>  static unsigned int cfg_random_seed;
>  static int cfg_rcvbuf = 1 << 22;	/* be able to queue large cfg_num_pkt */
>  static bool cfg_send_pfpacket;
> -- 
> 2.53.0.1213.gd9a14994de-goog
>