When working on the rp_filter problem, I didn't realise that disabling
it on the network devices didn't cover all cases: rp_filter could also
be enabled globally in the namespace, in which case it would drop
packets, even if the net device has rp_filter=0.

Fixes: 1ccd58331f6f ("selftests: disable rp_filter when testing bareudp")
Fixes: bbbc7aa45eef ("selftests: add test script for bareudp tunnels")
Signed-off-by: Guillaume Nault <gna...@redhat.com>
---
 tools/testing/selftests/net/bareudp.sh | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/tools/testing/selftests/net/bareudp.sh 
b/tools/testing/selftests/net/bareudp.sh
index c2b9e990e544..f366cadbc5e8 100755
--- a/tools/testing/selftests/net/bareudp.sh
+++ b/tools/testing/selftests/net/bareudp.sh
@@ -238,6 +238,8 @@ setup_overlay_ipv4()
        # The intermediate namespaces don't have routes for the reverse path,
        # as it will be handled by tc. So we need to ensure that rp_filter is
        # not going to block the traffic.
+       ip netns exec "${NS1}" sysctl -qw net.ipv4.conf.all.rp_filter=0
+       ip netns exec "${NS2}" sysctl -qw net.ipv4.conf.all.rp_filter=0
        ip netns exec "${NS1}" sysctl -qw net.ipv4.conf.default.rp_filter=0
        ip netns exec "${NS2}" sysctl -qw net.ipv4.conf.default.rp_filter=0
 }
-- 
2.21.3

Reply via email to