Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ec9fdc99 authored by Petr Machata's avatar Petr Machata Committed by David S. Miller
Browse files

selftests: forwarding: Tweak tc filters for mirror-to-gretap tests



When running mirror_gre_bridge_1d_vlan tests on veth, several issues
cause spurious failures:

- vlan_ethtype should be ip, not ipv6 even in mirror-to-ip6gretap case,
  because the overlay packet is still IPv4.
- Similarly ip_proto matches the innermost IP protocol, so can't be used
  to filter out GRE packet. Drop the corresponding condition.
- Because the above fixes the filters to match in slow path as well,
  they need to be made skip_hw so as not to double-count packets.

Signed-off-by: default avatarPetr Machata <petrm@mellanox.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent ac0fcadf
Loading
Loading
Loading
Loading
+4 −2
Original line number Original line Diff line number Diff line
@@ -74,12 +74,14 @@ test_vlan_match()


test_gretap()
test_gretap()
{
{
	test_vlan_match gt4 'vlan_id 555 vlan_ethtype ip' "mirror to gretap"
	test_vlan_match gt4 'skip_hw vlan_id 555 vlan_ethtype ip' \
			"mirror to gretap"
}
}


test_ip6gretap()
test_ip6gretap()
{
{
	test_vlan_match gt6 'vlan_id 555 vlan_ethtype ipv6' "mirror to ip6gretap"
	test_vlan_match gt6 'skip_hw vlan_id 555 vlan_ethtype ip' \
			"mirror to ip6gretap"
}
}


test_gretap_stp()
test_gretap_stp()
+1 −1
Original line number Original line Diff line number Diff line
@@ -62,7 +62,7 @@ full_test_span_gre_dir_vlan_ips()
			  "$backward_type" "$ip1" "$ip2"
			  "$backward_type" "$ip1" "$ip2"


	tc filter add dev $h3 ingress pref 77 prot 802.1q \
	tc filter add dev $h3 ingress pref 77 prot 802.1q \
		flower $vlan_match ip_proto 0x2f \
		flower $vlan_match \
		action pass
		action pass
	mirror_test v$h1 $ip1 $ip2 $h3 77 10
	mirror_test v$h1 $ip1 $ip2 $h3 77 10
	tc filter del dev $h3 ingress pref 77
	tc filter del dev $h3 ingress pref 77
+4 −2
Original line number Original line Diff line number Diff line
@@ -88,12 +88,14 @@ test_vlan_match()


test_gretap()
test_gretap()
{
{
	test_vlan_match gt4 'vlan_id 555 vlan_ethtype ip' "mirror to gretap"
	test_vlan_match gt4 'skip_hw vlan_id 555 vlan_ethtype ip' \
			"mirror to gretap"
}
}


test_ip6gretap()
test_ip6gretap()
{
{
	test_vlan_match gt6 'vlan_id 555 vlan_ethtype ipv6' "mirror to ip6gretap"
	test_vlan_match gt6 'skip_hw vlan_id 555 vlan_ethtype ip' \
			"mirror to ip6gretap"
}
}


test_span_gre_forbidden_cpu()
test_span_gre_forbidden_cpu()