selftests: forwarding: Make tc-police pass on debug kernels
The test configures a policer with a rate of 80Mbps and expects to measure a rate close to it. This is a too high rate for debug kernels, causing the test to fail [1]. Fix by reducing the rate to 10Mbps. [1] # ./tc_police.sh TEST: police on rx [FAIL] Expected rate 76.2Mbps, got 29.6Mbps, which is -61% off. Required accuracy is +-10%. TEST: police on tx [FAIL] Expected rate 76.2Mbps, got 30.4Mbps, which is -60% off. Required accuracy is +-10%. Signed-off-by: Ido Schimmel <idosch@nvidia.com> Link: https://lore.kernel.org/r/20240304095612.462900-4-idosch@nvidia.com Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
parent
748d27447d
commit
4aca9eae6f
@ -140,7 +140,7 @@ police_common_test()
|
||||
sleep 10
|
||||
local t1=$(tc_rule_stats_get $h2 1 ingress .bytes)
|
||||
|
||||
local er=$((80 * 1000 * 1000))
|
||||
local er=$((10 * 1000 * 1000))
|
||||
local nr=$(rate $t0 $t1 10)
|
||||
local nr_pct=$((100 * (nr - er) / er))
|
||||
((-10 <= nr_pct && nr_pct <= 10))
|
||||
@ -157,7 +157,7 @@ police_rx_test()
|
||||
# Rule to police traffic destined to $h2 on ingress of $rp1
|
||||
tc filter add dev $rp1 ingress protocol ip pref 1 handle 101 flower \
|
||||
dst_ip 198.51.100.1 ip_proto udp dst_port 54321 \
|
||||
action police rate 80mbit burst 16k conform-exceed drop/ok
|
||||
action police rate 10mbit burst 16k conform-exceed drop/ok
|
||||
|
||||
police_common_test "police on rx"
|
||||
|
||||
@ -169,7 +169,7 @@ police_tx_test()
|
||||
# Rule to police traffic destined to $h2 on egress of $rp2
|
||||
tc filter add dev $rp2 egress protocol ip pref 1 handle 101 flower \
|
||||
dst_ip 198.51.100.1 ip_proto udp dst_port 54321 \
|
||||
action police rate 80mbit burst 16k conform-exceed drop/ok
|
||||
action police rate 10mbit burst 16k conform-exceed drop/ok
|
||||
|
||||
police_common_test "police on tx"
|
||||
|
||||
@ -190,7 +190,7 @@ police_shared_common_test()
|
||||
sleep 10
|
||||
local t1=$(tc_rule_stats_get $h2 1 ingress .bytes)
|
||||
|
||||
local er=$((80 * 1000 * 1000))
|
||||
local er=$((10 * 1000 * 1000))
|
||||
local nr=$(rate $t0 $t1 10)
|
||||
local nr_pct=$((100 * (nr - er) / er))
|
||||
((-10 <= nr_pct && nr_pct <= 10))
|
||||
@ -211,7 +211,7 @@ police_shared_test()
|
||||
# Rule to police traffic destined to $h2 on ingress of $rp1
|
||||
tc filter add dev $rp1 ingress protocol ip pref 1 handle 101 flower \
|
||||
dst_ip 198.51.100.1 ip_proto udp dst_port 54321 \
|
||||
action police rate 80mbit burst 16k conform-exceed drop/ok \
|
||||
action police rate 10mbit burst 16k conform-exceed drop/ok \
|
||||
index 10
|
||||
|
||||
# Rule to police a different flow destined to $h2 on egress of $rp2
|
||||
@ -250,7 +250,7 @@ police_mirror_common_test()
|
||||
# Rule to police traffic destined to $h2 and mirror to $h3
|
||||
tc filter add dev $pol_if $dir protocol ip pref 1 handle 101 flower \
|
||||
dst_ip 198.51.100.1 ip_proto udp dst_port 54321 \
|
||||
action police rate 80mbit burst 16k conform-exceed drop/pipe \
|
||||
action police rate 10mbit burst 16k conform-exceed drop/pipe \
|
||||
action mirred egress mirror dev $rp3
|
||||
|
||||
mausezahn $h1 -a own -b $(mac_get $rp1) -A 192.0.2.1 -B 198.51.100.1 \
|
||||
@ -260,7 +260,7 @@ police_mirror_common_test()
|
||||
sleep 10
|
||||
local t1=$(tc_rule_stats_get $h2 1 ingress .bytes)
|
||||
|
||||
local er=$((80 * 1000 * 1000))
|
||||
local er=$((10 * 1000 * 1000))
|
||||
local nr=$(rate $t0 $t1 10)
|
||||
local nr_pct=$((100 * (nr - er) / er))
|
||||
((-10 <= nr_pct && nr_pct <= 10))
|
||||
@ -270,7 +270,7 @@ police_mirror_common_test()
|
||||
sleep 10
|
||||
local t1=$(tc_rule_stats_get $h3 1 ingress .bytes)
|
||||
|
||||
local er=$((80 * 1000 * 1000))
|
||||
local er=$((10 * 1000 * 1000))
|
||||
local nr=$(rate $t0 $t1 10)
|
||||
local nr_pct=$((100 * (nr - er) / er))
|
||||
((-10 <= nr_pct && nr_pct <= 10))
|
||||
|
Loading…
Reference in New Issue
Block a user