Re: [PATCH v5 bpf-next 00/11] Socket migration for SO_REUSEPORT.

From: Kuniyuki Iwashima
Date: Thu May 13 2021 - 19:23:19 EST


From: Andrii Nakryiko <andrii.nakryiko@xxxxxxxxx>
Date: Thu, 13 May 2021 14:27:13 -0700
> On Sun, May 9, 2021 at 8:45 PM Kuniyuki Iwashima <kuniyu@xxxxxxxxxxxx> wrote:
> >
> > The SO_REUSEPORT option allows sockets to listen on the same port and to
> > accept connections evenly. However, there is a defect in the current
> > implementation [1]. When a SYN packet is received, the connection is tied
> > to a listening socket. Accordingly, when the listener is closed, in-flight
> > requests during the three-way handshake and child sockets in the accept
> > queue are dropped even if other listeners on the same port could accept
> > such connections.
[...]
>
> One test is failing in CI ([0]), please take a look.
>
> [0] https://travis-ci.com/github/kernel-patches/bpf/builds/225784969

Thank you for checking.

The test needs to drop SYN+ACK and currently it is done by iptables or
ip6tables. But it seems that I should not use them. Should this be done
by XDP?

---8<---
iptables v1.8.5 (legacy): can't initialize iptables table `filter': Table does not exist (do you need to insmod?)
Perhaps iptables or your kernel needs to be upgraded.
ip6tables v1.8.5 (legacy): can't initialize ip6tables table `filter': Table does not exist (do you need to insmod?)
Perhaps ip6tables or your kernel needs to be upgraded.
---8<---