Message ID | 20220525031819.866684-1-luyun_611@163.com (mailing list archive) |
---|---|
State | Accepted |
Commit | 215cd9897afbce9a964d4afbeec58c086d6cb170 |
Headers | show |
Series | [v2] selftests/net: enable lo.accept_local in psock_snd test | expand |
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!
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();