selftests: forwarding: mirror_lib: Tighten up VLAN capture
authorPetr Machata <petrm@mellanox.com>
Sun, 8 Jul 2018 17:58:55 +0000 (19:58 +0200)
committerDavid S. Miller <davem@davemloft.net>
Wed, 11 Jul 2018 05:58:10 +0000 (22:58 -0700)
The function do_test_span_vlan_dir_ips() is used for testing whether
mirrored packets are VLAN-encapsulated. But since it only considers
VLAN encapsulation, it may end up matching unmirrored ARP traffic as
well. One consequence is a rare failure of mirror_gre_vlan_bridge_1q's
test_gretap_untagged_egress. Decreasing ping cadence in mirror_test()
makes the problem easily reproducible.

Therefore tighten up the match criterion to only count those 802.1q
packets where the next header is IP.

Signed-off-by: Petr Machata <petrm@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
tools/testing/selftests/net/forwarding/mirror_lib.sh

index d36dc26c6c516364779e12db4a6532e54cf3f433..07991e1025c70e0e1f5e084fbcef94b7bbaed173 100644 (file)
@@ -105,7 +105,7 @@ do_test_span_vlan_dir_ips()
        # Install the capture as skip_hw to avoid double-counting of packets.
        # The traffic is meant for local box anyway, so will be trapped to
        # kernel.
-       vlan_capture_install $dev "skip_hw vlan_id $vid"
+       vlan_capture_install $dev "skip_hw vlan_id $vid vlan_ethtype ip"
        mirror_test v$h1 $ip1 $ip2 $dev 100 $expect
        mirror_test v$h2 $ip2 $ip1 $dev 100 $expect
        vlan_capture_uninstall $dev