Hello Martin,
thanks for the review and the initial merge. I am preparing the follow-up
series.

On Wed Oct 29, 2025 at 8:56 PM CET, Martin KaFai Lau wrote:
> On 10/27/25 7:51 AM, Alexis Lothoré (eBPF Foundation) wrote:
>> +static int run_server(struct subtest_cfg *cfg)
>> +{
>> +    struct nstoken *nstoken = open_netns(SERVER_NS);
>
> It is unlikely but still better to check for open_netns failure. Just in 
> case that the network changes/traffic is accidentally done in the 
> original netns. There are a few netns switching in the test. Please 
> followup.

Yes, I'll add those missing checks.

>> +    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,

Alexis

-- 
Alexis Lothoré, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com


Reply via email to