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

Commit 43d31fd9 authored by Ido Schimmel's avatar Ido Schimmel Committed by Greg Kroah-Hartman
Browse files

selftests: forwarding: gre_multipath: Fix flower filters



[ Upstream commit 1be79d89b7ae96e004911bd228ce8c2b5cc6415f ]

The TC filters used in the test do not work with veth devices because the
outer Ethertype is 802.1Q and not IPv4. The test passes with mlxsw
netdevs since the hardware always looks at "The first Ethertype that
does not point to either: VLAN, CNTAG or configurable Ethertype".

Fix this by matching on the VLAN ID instead, but on the ingress side.
The reason why this is not performed at egress is explained in the
commit cited below.

Fixes: 541ad323 ("selftests: forwarding: gre_multipath: Update next-hop statistics match criteria")
Signed-off-by: default avatarIdo Schimmel <idosch@mellanox.com>
Reported-by: default avatarStephen Suryaputra <ssuryaextr@gmail.com>
Tested-by: default avatarStephen Suryaputra <ssuryaextr@gmail.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
Signed-off-by: default avatarSasha Levin <sashal@kernel.org>
parent ef52e2b9
Loading
Loading
Loading
Loading
+12 −12
Original line number Diff line number Diff line
@@ -93,18 +93,10 @@ sw1_create()
	ip route add vrf v$ol1 192.0.2.16/28 \
	   nexthop dev g1a \
	   nexthop dev g1b

	tc qdisc add dev $ul1 clsact
	tc filter add dev $ul1 egress pref 111 prot ipv4 \
	   flower dst_ip 192.0.2.66 action pass
	tc filter add dev $ul1 egress pref 222 prot ipv4 \
	   flower dst_ip 192.0.2.82 action pass
}

sw1_destroy()
{
	tc qdisc del dev $ul1 clsact

	ip route del vrf v$ol1 192.0.2.16/28

	ip route del vrf v$ol1 192.0.2.82/32 via 192.0.2.146
@@ -139,10 +131,18 @@ sw2_create()
	ip route add vrf v$ol2 192.0.2.0/28 \
	   nexthop dev g2a \
	   nexthop dev g2b

	tc qdisc add dev $ul2 clsact
	tc filter add dev $ul2 ingress pref 111 prot 802.1Q \
	   flower vlan_id 111 action pass
	tc filter add dev $ul2 ingress pref 222 prot 802.1Q \
	   flower vlan_id 222 action pass
}

sw2_destroy()
{
	tc qdisc del dev $ul2 clsact

	ip route del vrf v$ol2 192.0.2.0/28

	ip route del vrf v$ol2 192.0.2.81/32 via 192.0.2.145
@@ -215,15 +215,15 @@ multipath4_test()
	   nexthop dev g1a weight $weight1 \
	   nexthop dev g1b weight $weight2

	local t0_111=$(tc_rule_stats_get $ul1 111 egress)
	local t0_222=$(tc_rule_stats_get $ul1 222 egress)
	local t0_111=$(tc_rule_stats_get $ul2 111 ingress)
	local t0_222=$(tc_rule_stats_get $ul2 222 ingress)

	ip vrf exec v$h1 \
	   $MZ $h1 -q -p 64 -A 192.0.2.1 -B 192.0.2.18 \
	       -d 1msec -t udp "sp=1024,dp=0-32768"

	local t1_111=$(tc_rule_stats_get $ul1 111 egress)
	local t1_222=$(tc_rule_stats_get $ul1 222 egress)
	local t1_111=$(tc_rule_stats_get $ul2 111 ingress)
	local t1_222=$(tc_rule_stats_get $ul2 222 ingress)

	local d111=$((t1_111 - t0_111))
	local d222=$((t1_222 - t0_222))