selftests: mlxsw: tc_restrictions: Test tc-police restrictions
Test that upper and lower limits on rate and burst size imposed by the device are rejected by the kernel. Signed-off-by: Ido Schimmel <idosch@mellanox.com> Reviewed-by: Petr Machata <petrm@mellanox.com> Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
parent
afe231d32e
commit
cb12d17632
@ -11,6 +11,8 @@ ALL_TESTS="
|
||||
matchall_mirror_behind_flower_ingress_test
|
||||
matchall_sample_behind_flower_ingress_test
|
||||
matchall_mirror_behind_flower_egress_test
|
||||
police_limits_test
|
||||
multi_police_test
|
||||
"
|
||||
NUM_NETIFS=2
|
||||
|
||||
@ -287,6 +289,80 @@ matchall_mirror_behind_flower_egress_test()
|
||||
matchall_behind_flower_egress_test "mirror" "mirred egress mirror dev $swp2"
|
||||
}
|
||||
|
||||
police_limits_test()
|
||||
{
|
||||
RET=0
|
||||
|
||||
tc qdisc add dev $swp1 clsact
|
||||
|
||||
tc filter add dev $swp1 ingress pref 1 proto ip handle 101 \
|
||||
flower skip_sw \
|
||||
action police rate 0.5kbit burst 1m conform-exceed drop/ok
|
||||
check_fail $? "Incorrect success to add police action with too low rate"
|
||||
|
||||
tc filter add dev $swp1 ingress pref 1 proto ip handle 101 \
|
||||
flower skip_sw \
|
||||
action police rate 2.5tbit burst 1g conform-exceed drop/ok
|
||||
check_fail $? "Incorrect success to add police action with too high rate"
|
||||
|
||||
tc filter add dev $swp1 ingress pref 1 proto ip handle 101 \
|
||||
flower skip_sw \
|
||||
action police rate 1.5kbit burst 1m conform-exceed drop/ok
|
||||
check_err $? "Failed to add police action with low rate"
|
||||
|
||||
tc filter del dev $swp1 ingress protocol ip pref 1 handle 101 flower
|
||||
|
||||
tc filter add dev $swp1 ingress pref 1 proto ip handle 101 \
|
||||
flower skip_sw \
|
||||
action police rate 1.9tbit burst 1g conform-exceed drop/ok
|
||||
check_err $? "Failed to add police action with high rate"
|
||||
|
||||
tc filter del dev $swp1 ingress protocol ip pref 1 handle 101 flower
|
||||
|
||||
tc filter add dev $swp1 ingress pref 1 proto ip handle 101 \
|
||||
flower skip_sw \
|
||||
action police rate 1.5kbit burst 512b conform-exceed drop/ok
|
||||
check_fail $? "Incorrect success to add police action with too low burst size"
|
||||
|
||||
tc filter add dev $swp1 ingress pref 1 proto ip handle 101 \
|
||||
flower skip_sw \
|
||||
action police rate 1.5kbit burst 2k conform-exceed drop/ok
|
||||
check_err $? "Failed to add police action with low burst size"
|
||||
|
||||
tc filter del dev $swp1 ingress protocol ip pref 1 handle 101 flower
|
||||
|
||||
tc qdisc del dev $swp1 clsact
|
||||
|
||||
log_test "police rate and burst limits"
|
||||
}
|
||||
|
||||
multi_police_test()
|
||||
{
|
||||
RET=0
|
||||
|
||||
# It is forbidden in mlxsw driver to have multiple police
|
||||
# actions in a single rule.
|
||||
|
||||
tc qdisc add dev $swp1 clsact
|
||||
|
||||
tc filter add dev $swp1 ingress protocol ip pref 1 handle 101 \
|
||||
flower skip_sw \
|
||||
action police rate 100mbit burst 100k conform-exceed drop/ok
|
||||
check_err $? "Failed to add rule with single police action"
|
||||
|
||||
tc filter del dev $swp1 ingress protocol ip pref 1 handle 101 flower
|
||||
|
||||
tc filter add dev $swp1 ingress protocol ip pref 1 handle 101 \
|
||||
flower skip_sw \
|
||||
action police rate 100mbit burst 100k conform-exceed drop/pipe \
|
||||
action police rate 200mbit burst 200k conform-exceed drop/ok
|
||||
check_fail $? "Incorrect success to add rule with two police actions"
|
||||
|
||||
tc qdisc del dev $swp1 clsact
|
||||
|
||||
log_test "multi police"
|
||||
}
|
||||
|
||||
setup_prepare()
|
||||
{
|
||||
swp1=${NETIFS[p1]}
|
||||
|
Loading…
Reference in New Issue
Block a user