selftests: forwarding: Add missing 'rp_filter' configuration
authorIdo Schimmel <idosch@nvidia.com>
Thu, 15 Oct 2020 08:45:25 +0000 (11:45 +0300)
committerJakub Kicinski <kuba@kernel.org>
Sun, 18 Oct 2020 19:47:32 +0000 (12:47 -0700)
When 'rp_filter' is configured in strict mode (1) the tests fail because
packets received from the macvlan netdevs would not be forwarded through
them on the reverse path.

Fix this by disabling the 'rp_filter', meaning no source validation is
performed.

Fixes: 1538812e0880 ("selftests: forwarding: Add a test for VXLAN asymmetric routing")
Fixes: 438a4f5665b2 ("selftests: forwarding: Add a test for VXLAN symmetric routing")
Signed-off-by: Ido Schimmel <idosch@nvidia.com>
Reported-by: Hangbin Liu <liuhangbin@gmail.com>
Tested-by: Hangbin Liu <liuhangbin@gmail.com>
Link: https://lore.kernel.org/r/20201015084525.135121-1-idosch@idosch.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
tools/testing/selftests/net/forwarding/vxlan_asymmetric.sh
tools/testing/selftests/net/forwarding/vxlan_symmetric.sh

index a0b5f57d6bd31e9037b2a0c4deb12e743d0be1f0..0727e2012b68596fc468ab9335ea7e8e3d4e1c95 100755 (executable)
@@ -215,10 +215,16 @@ switch_create()
 
        bridge fdb add 00:00:5e:00:01:01 dev br1 self local vlan 10
        bridge fdb add 00:00:5e:00:01:01 dev br1 self local vlan 20
+
+       sysctl_set net.ipv4.conf.all.rp_filter 0
+       sysctl_set net.ipv4.conf.vlan10-v.rp_filter 0
+       sysctl_set net.ipv4.conf.vlan20-v.rp_filter 0
 }
 
 switch_destroy()
 {
+       sysctl_restore net.ipv4.conf.all.rp_filter
+
        bridge fdb del 00:00:5e:00:01:01 dev br1 self local vlan 20
        bridge fdb del 00:00:5e:00:01:01 dev br1 self local vlan 10
 
@@ -359,6 +365,10 @@ ns_switch_create()
 
        bridge fdb add 00:00:5e:00:01:01 dev br1 self local vlan 10
        bridge fdb add 00:00:5e:00:01:01 dev br1 self local vlan 20
+
+       sysctl_set net.ipv4.conf.all.rp_filter 0
+       sysctl_set net.ipv4.conf.vlan10-v.rp_filter 0
+       sysctl_set net.ipv4.conf.vlan20-v.rp_filter 0
 }
 export -f ns_switch_create
 
index 1209031bc794d945c4e830caaf0495fac7cd14f8..5d97fa347d75a994ea7570b1ae99857f57a56934 100755 (executable)
@@ -237,10 +237,16 @@ switch_create()
 
        bridge fdb add 00:00:5e:00:01:01 dev br1 self local vlan 10
        bridge fdb add 00:00:5e:00:01:01 dev br1 self local vlan 20
+
+       sysctl_set net.ipv4.conf.all.rp_filter 0
+       sysctl_set net.ipv4.conf.vlan10-v.rp_filter 0
+       sysctl_set net.ipv4.conf.vlan20-v.rp_filter 0
 }
 
 switch_destroy()
 {
+       sysctl_restore net.ipv4.conf.all.rp_filter
+
        bridge fdb del 00:00:5e:00:01:01 dev br1 self local vlan 20
        bridge fdb del 00:00:5e:00:01:01 dev br1 self local vlan 10
 
@@ -402,6 +408,10 @@ ns_switch_create()
 
        bridge fdb add 00:00:5e:00:01:01 dev br1 self local vlan 10
        bridge fdb add 00:00:5e:00:01:01 dev br1 self local vlan 20
+
+       sysctl_set net.ipv4.conf.all.rp_filter 0
+       sysctl_set net.ipv4.conf.vlan10-v.rp_filter 0
+       sysctl_set net.ipv4.conf.vlan20-v.rp_filter 0
 }
 export -f ns_switch_create