summaryrefslogtreecommitdiffstats
path: root/tools/testing
diff options
context:
space:
mode:
authorluyun <luyun@kylinos.cn>2022-05-25 05:18:19 +0200
committerJakub Kicinski <kuba@kernel.org>2022-05-26 06:58:35 +0200
commit215cd9897afbce9a964d4afbeec58c086d6cb170 (patch)
tree28494d12c08e5427967ae3eeae2944190f13548d /tools/testing
parentptp: ptp_clockmatrix: fix is_single_shot (diff)
downloadlinux-215cd9897afbce9a964d4afbeec58c086d6cb170.tar.xz
linux-215cd9897afbce9a964d4afbeec58c086d6cb170.zip
selftests/net: enable lo.accept_local in psock_snd test
The psock_snd test sends and receives 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. Signed-off-by: luyun <luyun@kylinos.cn> Reviewed-by: Jackie Liu <liuyun01@kylinos.cn> Tested-by: Hangbin Liu <liuhangbin@gmail.com> Acked-by: Willem de Bruijn <willemb@google.com> Link: https://lore.kernel.org/r/20220525031819.866684-1-luyun_611@163.com Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to 'tools/testing')
-rw-r--r--tools/testing/selftests/net/psock_snd.c2
1 files changed, 2 insertions, 0 deletions
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();