[net-next] selftests: forwarding: mirror_lib: Tighten up VLAN capture
diff mbox

Message ID 0fecbe018ff9a06a5f3686e3c4801b5005925019.1531072211.git.petrm@mellanox.com
State New
Headers show

Commit Message

Petr Machata July 8, 2018, 5:58 p.m. UTC
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>
---
 tools/testing/selftests/net/forwarding/mirror_lib.sh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

David Miller July 11, 2018, 5:58 a.m. UTC | #1
From: Petr Machata <petrm@mellanox.com>
Date: Sun, 08 Jul 2018 19:58:55 +0200

> 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>

Applied.
--
To unsubscribe from this list: send the line "unsubscribe linux-kselftest" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Patch
diff mbox

diff --git a/tools/testing/selftests/net/forwarding/mirror_lib.sh b/tools/testing/selftests/net/forwarding/mirror_lib.sh
index d36dc26c6c51..07991e1025c7 100644
--- a/tools/testing/selftests/net/forwarding/mirror_lib.sh
+++ b/tools/testing/selftests/net/forwarding/mirror_lib.sh
@@ -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