selftests: forwarding: mirror_gre_vlan_bridge_1q: Unset rp_filter
authorPetr Machata <petrm@mellanox.com>
Mon, 25 Jun 2018 23:20:32 +0000 (01:20 +0200)
committerDavid S. Miller <davem@davemloft.net>
Tue, 26 Jun 2018 14:25:21 +0000 (23:25 +0900)
The IP addresses of tunnel endpoint at H3 are set at the VLAN device
$h3.555. Therefore when test_gretap_untagged_egress() sets vlan 555 to
egress untagged at $swp3, $h3's rp_filter rejects these packets. The
test then spuriously fails.

Therefore turn off net.ipv4.conf.{all, $h3}.rp_filter.

Fixes: 9c7c8a82442c ("selftests: forwarding: mirror_gre_vlan_bridge_1q: Add more tests")
Signed-off-by: Petr Machata <petrm@mellanox.com>
Reviewed-by: Ido Schimmel <idosch@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
tools/testing/selftests/net/forwarding/mirror_gre_vlan_bridge_1q.sh

index 5dbc7a08f4bd5489f46e28522f4de40713c6ace7..1ac5038ae25664a5d15d8a9167327c97c1394156 100755 (executable)
@@ -39,6 +39,12 @@ setup_prepare()
        swp3=${NETIFS[p5]}
        h3=${NETIFS[p6]}
 
+       # gt4's remote address is at $h3.555, not $h3. Thus the packets arriving
+       # directly to $h3 for test_gretap_untagged_egress() are rejected by
+       # rp_filter and the test spuriously fails.
+       sysctl_set net.ipv4.conf.all.rp_filter 0
+       sysctl_set net.ipv4.conf.$h3.rp_filter 0
+
        vrf_prepare
        mirror_gre_topo_create
 
@@ -65,6 +71,9 @@ cleanup()
 
        mirror_gre_topo_destroy
        vrf_cleanup
+
+       sysctl_restore net.ipv4.conf.$h3.rp_filter
+       sysctl_restore net.ipv4.conf.all.rp_filter
 }
 
 test_vlan_match()