diff options
author | luyun <luyun@kylinos.cn> | 2022-05-25 06:18:19 +0300 |
---|---|---|
committer | Jakub Kicinski <kuba@kernel.org> | 2022-05-26 07:58:35 +0300 |
commit | 215cd9897afbce9a964d4afbeec58c086d6cb170 (patch) | |
tree | 28494d12c08e5427967ae3eeae2944190f13548d /tools/testing/selftests/net/psock_snd.c | |
parent | d0bbe0328fe552ff3211b3cbbf6117a885a3d5b2 (diff) | |
download | linux-215cd9897afbce9a964d4afbeec58c086d6cb170.tar.xz |
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/selftests/net/psock_snd.c')
-rw-r--r-- | tools/testing/selftests/net/psock_snd.c | 2 |
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(); |