 
            On Thu Oct 30, 2025 at 5:21 PM CET, Martin KaFai Lau wrote:
On 10/30/25 7:04 AM, Alexis Lothoré wrote:
- int family = cfg->ipproto == 6 ? AF_INET6 : AF_INET;
- cfg->server_fd = start_reuseport_server(family, SOCK_STREAM,
cfg->server_addr, TEST_PORT,
TIMEOUT_MS, 1);Why reuseport is needed? Does it have issue in bind() to the same ip/port in the later sub-test?
Yes, I observed that is I use the bare start_server, I systematically have the first test passing, an all the others failing on the server startup with errno 98 (Address already in use). I have been assuming that it is due to some TIME_WAIT state on the freshly closed socket, but I may be missing something ?
Thanks for confirming. You are right. It should be the TIME_WAIT. Using SO_REUSEPORT works but become confusing on what the test is trying to do by starting only 1 reuseport server. reuseport is usually used with >1 server listening on the same address. A better thing to do is to always setsockopt(SO_REUSEADDR) in start_server_addr for TCP.
Sure, I can go for start_server_addr + SO_REUSEADDR :) I'll add it as well in the incoming follow-up series, next to the missing open_netns checks.
Thanks,
Alexis