From: Martin KaFai Lau <kafai@xxxxxx> Date: Thu, 13 May 2021 23:26:25 -0700 > On Fri, May 14, 2021 at 08:23:00AM +0900, Kuniyuki Iwashima wrote: > > 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 ^^^^^^^ the final ACK of 3WHS Sorry, this was typo. > > ip6tables. But it seems that I should not use them. Should this be done > > by XDP? > or drop it at a bpf_prog@tc-egress. > > I also don't have iptables in my kconfig and I had to add them > to run this test. None of the test_progs depends on iptables also. I'll rewrite the dropping part with XDP or TC. Thank you. > > > > > ---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<---