mirror of https://gitee.com/openkylin/linux.git
selftests: mlxsw: Reduce running time using offload indication
After adding a given number of flower rules for different IPv6 addresses, the test generates traffic and ensures that each packet is received, which is time-consuming. Instead, test the offload indication of the tc flower rules and reduce the running time by half. Signed-off-by: Danielle Ratson <danieller@mellanox.com> Signed-off-by: Ido Schimmel <idosch@mellanox.com> Signed-off-by: Jiri Pirko <jiri@mellanox.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
a865ad9996
commit
abfce9e062
|
@ -2,9 +2,9 @@
|
|||
# SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
# Test for resource limit of offloaded flower rules. The test adds a given
|
||||
# number of flower matches for different IPv6 addresses, then generates traffic,
|
||||
# and ensures each was hit exactly once. This file contains functions to set up
|
||||
# a testing topology and run the test, and is meant to be sourced from a test
|
||||
# number of flower matches for different IPv6 addresses, then check the offload
|
||||
# indication for all of the tc flower rules. This file contains functions to set
|
||||
# up a testing topology and run the test, and is meant to be sourced from a test
|
||||
# script that calls the testing routine with a given number of rules.
|
||||
|
||||
TC_FLOWER_NUM_NETIFS=2
|
||||
|
@ -94,22 +94,15 @@ __tc_flower_test()
|
|||
|
||||
tc_flower_rules_create $count $should_fail
|
||||
|
||||
for ((i = 0; i < count; ++i)); do
|
||||
$MZ $h1 -q -c 1 -t ip -p 20 -b bc -6 \
|
||||
-A 2001:db8:2::1 \
|
||||
-B $(tc_flower_addr $i)
|
||||
done
|
||||
|
||||
MISMATCHES=$(
|
||||
tc -j -s filter show dev $h2 ingress |
|
||||
jq -r '[ .[] | select(.kind == "flower") | .options |
|
||||
values as $rule | .actions[].stats.packets |
|
||||
select(. != 1) | "\(.) on \($rule.keys.dst_ip)" ] |
|
||||
join(", ")'
|
||||
)
|
||||
|
||||
test -z "$MISMATCHES"
|
||||
check_err $? "Expected to capture 1 packet for each IP, but got $MISMATCHES"
|
||||
offload_count=$(tc -j -s filter show dev $h2 ingress |
|
||||
jq -r '[ .[] | select(.kind == "flower") |
|
||||
.options | .in_hw ]' | jq .[] | wc -l)
|
||||
[[ $((offload_count - 1)) -eq $count ]]
|
||||
if [[ $should_fail -eq 0 ]]; then
|
||||
check_err $? "Offload mismatch"
|
||||
else
|
||||
check_err_fail $should_fail $? "Offload more than expacted"
|
||||
fi
|
||||
}
|
||||
|
||||
tc_flower_test()
|
||||
|
|
Loading…
Reference in New Issue