Re: [PATCH v5 bpf-next 00/11] Socket migration for SO_REUSEPORT.
From: Martin KaFai Lau <hidden>
Date: 2021-05-14 06:26:56
Also in:
bpf, lkml
On Fri, May 14, 2021 at 08:23:00AM +0900, Kuniyuki Iwashima wrote:
From: Andrii Nakryiko <redacted> Date: Thu, 13 May 2021 14:27:13 -0700quoted
On Sun, May 9, 2021 at 8:45 PM Kuniyuki Iwashima [off-list ref] wrote:quoted
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.[...]quoted
One test is failing in CI ([0]), please take a look. [0] https://travis-ci.com/github/kernel-patches/bpf/builds/225784969Thank 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?
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.
---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<---