On Wed, May 25, 2022 at 11:18:19AM +0800, Yun Lu wrote: > From: luyun <luyun@xxxxxxxxxx> > > 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@xxxxxxxxx> > Signed-off-by: luyun <luyun@xxxxxxxxxx> > Reviewed-by: Jackie Liu <liuyun01@xxxxxxxxxx> > --- > 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@xxxxxxxxx>