From: luyun luyun@kylinos.cn
The psock_snd test sends and recieves packets over loopback, and the test results depend on parameter settings: Set rp_filter=0, or set rp_filter=1 and accept_local=1 so that the test will pass. Otherwise, this test will fail with Resource temporarily unavailable: sudo ./psock_snd.sh dgram tx: 128 rx: 142 ./psock_snd: recv: Resource temporarily unavailable
For most distro kernel releases(like Ubuntu or Centos), the parameter rp_filter is enabled by default, so it's necessary to enable the parameter lo.accept_local in psock_snd test. And this test runs inside a netns, changing a sysctl is fine.
v2: add detailed description.
Suggested-by: Willem de Bruijn willemdebruijn.kernel@gmail.com Signed-off-by: luyun luyun@kylinos.cn Reviewed-by: Jackie Liu liuyun01@kylinos.cn --- tools/testing/selftests/net/psock_snd.c | 2 ++ 1 file changed, 2 insertions(+)
diff --git a/tools/testing/selftests/net/psock_snd.c b/tools/testing/selftests/net/psock_snd.c index 7d15e10a9fb6..edf1e6f80d41 100644 --- a/tools/testing/selftests/net/psock_snd.c +++ b/tools/testing/selftests/net/psock_snd.c @@ -389,6 +389,8 @@ int main(int argc, char **argv) error(1, errno, "ip link set mtu"); if (system("ip addr add dev lo 172.17.0.1/24")) error(1, errno, "ip addr add"); + if (system("sysctl -w net.ipv4.conf.lo.accept_local=1")) + error(1, errno, "sysctl lo.accept_local");
run_test();
On Wed, May 25, 2022 at 11:18:19AM +0800, Yun Lu wrote:
From: luyun luyun@kylinos.cn
The psock_snd test sends and recieves packets over loopback, and the test results depend on parameter settings: Set rp_filter=0, or set rp_filter=1 and accept_local=1 so that the test will pass. Otherwise, this test will fail with Resource temporarily unavailable: sudo ./psock_snd.sh dgram tx: 128 rx: 142 ./psock_snd: recv: Resource temporarily unavailable
For most distro kernel releases(like Ubuntu or Centos), the parameter rp_filter is enabled by default, so it's necessary to enable the parameter lo.accept_local in psock_snd test. And this test runs inside a netns, changing a sysctl is fine.
v2: add detailed description.
Suggested-by: Willem de Bruijn willemdebruijn.kernel@gmail.com Signed-off-by: luyun luyun@kylinos.cn Reviewed-by: Jackie Liu liuyun01@kylinos.cn
tools/testing/selftests/net/psock_snd.c | 2 ++ 1 file changed, 2 insertions(+)
diff --git a/tools/testing/selftests/net/psock_snd.c b/tools/testing/selftests/net/psock_snd.c index 7d15e10a9fb6..edf1e6f80d41 100644 --- a/tools/testing/selftests/net/psock_snd.c +++ b/tools/testing/selftests/net/psock_snd.c @@ -389,6 +389,8 @@ int main(int argc, char **argv) error(1, errno, "ip link set mtu"); if (system("ip addr add dev lo 172.17.0.1/24")) error(1, errno, "ip addr add");
- if (system("sysctl -w net.ipv4.conf.lo.accept_local=1"))
error(1, errno, "sysctl lo.accept_local");
run_test(); -- 2.25.1
Great, this also fixed my problem. Please feel free to add my
Tested-by: Hangbin Liu liuhangbin@gmail.com
On Wed, May 25, 2022 at 3:20 AM Hangbin Liu liuhangbin@gmail.com wrote:
On Wed, May 25, 2022 at 11:18:19AM +0800, Yun Lu wrote:
From: luyun luyun@kylinos.cn
The psock_snd test sends and recieves packets over loopback, and the test results depend on parameter settings: Set rp_filter=0, or set rp_filter=1 and accept_local=1 so that the test will pass. Otherwise, this test will fail with Resource temporarily unavailable: sudo ./psock_snd.sh dgram tx: 128 rx: 142 ./psock_snd: recv: Resource temporarily unavailable
For most distro kernel releases(like Ubuntu or Centos), the parameter rp_filter is enabled by default, so it's necessary to enable the parameter lo.accept_local in psock_snd test. And this test runs inside a netns, changing a sysctl is fine.
v2: add detailed description.
Suggested-by: Willem de Bruijn willemdebruijn.kernel@gmail.com Signed-off-by: luyun luyun@kylinos.cn Reviewed-by: Jackie Liu liuyun01@kylinos.cn
Acked-by: Willem de Bruijn willemb@google.com
ps: I did not really suggest this fix, but no need to respin just to remove that
Hello:
This patch was applied to netdev/net.git (master) by Jakub Kicinski kuba@kernel.org:
On Wed, 25 May 2022 11:18:19 +0800 you wrote:
From: luyun luyun@kylinos.cn
The psock_snd test sends and recieves packets over loopback, and the test results depend on parameter settings: Set rp_filter=0, or set rp_filter=1 and accept_local=1 so that the test will pass. Otherwise, this test will fail with Resource temporarily unavailable: sudo ./psock_snd.sh dgram tx: 128 rx: 142 ./psock_snd: recv: Resource temporarily unavailable
[...]
Here is the summary with links: - [v2] selftests/net: enable lo.accept_local in psock_snd test https://git.kernel.org/netdev/net/c/215cd9897afb
You are awesome, thank you!
linux-kselftest-mirror@lists.linaro.org