mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-16 02:46:49 +07:00
Merge branch 'mlxsw-Test-coverage-for-DSCP-leftover-fix'
Petr Machata says: ==================== mlxsw: Test coverage for DSCP leftover fix This patch set fixes some global scope pollution issues in the DSCP tests (in patch #1), and then proceeds (in patch #2) to add a new test for checking whether, after DSCP prioritization rules are removed from a port, DSCP rewrites consistently to zero, instead of the last removed rule still staying in effect. ==================== Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
commit
164f0de315
@ -36,8 +36,6 @@ source $lib_dir/lib.sh
|
||||
|
||||
h1_create()
|
||||
{
|
||||
local dscp;
|
||||
|
||||
simple_if_init $h1 192.0.2.1/28
|
||||
tc qdisc add dev $h1 clsact
|
||||
dscp_capture_install $h1 10
|
||||
@ -67,6 +65,7 @@ h2_destroy()
|
||||
dscp_map()
|
||||
{
|
||||
local base=$1; shift
|
||||
local prio
|
||||
|
||||
for prio in {0..7}; do
|
||||
echo app=$prio,5,$((base + prio))
|
||||
@ -138,6 +137,7 @@ dscp_ping_test()
|
||||
local prio=$1; shift
|
||||
local dev_10=$1; shift
|
||||
local dev_20=$1; shift
|
||||
local key
|
||||
|
||||
local dscp_10=$(((prio + 10) << 2))
|
||||
local dscp_20=$(((prio + 20) << 2))
|
||||
@ -175,6 +175,8 @@ dscp_ping_test()
|
||||
|
||||
test_dscp()
|
||||
{
|
||||
local prio
|
||||
|
||||
for prio in {0..7}; do
|
||||
dscp_ping_test v$h1 192.0.2.1 192.0.2.2 $prio $h1 $h2
|
||||
done
|
||||
|
@ -31,6 +31,7 @@ ALL_TESTS="
|
||||
ping_ipv4
|
||||
test_update
|
||||
test_no_update
|
||||
test_dscp_leftover
|
||||
"
|
||||
|
||||
lib_dir=$(dirname $0)/../../../net/forwarding
|
||||
@ -50,10 +51,13 @@ reprioritize()
|
||||
echo ${reprio[$in]}
|
||||
}
|
||||
|
||||
zero()
|
||||
{
|
||||
echo 0
|
||||
}
|
||||
|
||||
h1_create()
|
||||
{
|
||||
local dscp;
|
||||
|
||||
simple_if_init $h1 192.0.2.1/28
|
||||
tc qdisc add dev $h1 clsact
|
||||
dscp_capture_install $h1 0
|
||||
@ -87,6 +91,7 @@ h2_destroy()
|
||||
dscp_map()
|
||||
{
|
||||
local base=$1; shift
|
||||
local prio
|
||||
|
||||
for prio in {0..7}; do
|
||||
echo app=$prio,5,$((base + prio))
|
||||
@ -156,6 +161,7 @@ dscp_ping_test()
|
||||
local reprio=$1; shift
|
||||
local dev1=$1; shift
|
||||
local dev2=$1; shift
|
||||
local i
|
||||
|
||||
local prio2=$($reprio $prio) # ICMP Request egress prio
|
||||
local prio3=$($reprio $prio2) # ICMP Response egress prio
|
||||
@ -205,6 +211,7 @@ __test_update()
|
||||
{
|
||||
local update=$1; shift
|
||||
local reprio=$1; shift
|
||||
local prio
|
||||
|
||||
sysctl_restore net.ipv4.ip_forward_update_priority
|
||||
sysctl_set net.ipv4.ip_forward_update_priority $update
|
||||
@ -224,6 +231,19 @@ test_no_update()
|
||||
__test_update 0 echo
|
||||
}
|
||||
|
||||
# Test that when the last APP rule is removed, the prio->DSCP map is properly
|
||||
# set to zeroes, and that the last APP rule does not stay active in the ASIC.
|
||||
test_dscp_leftover()
|
||||
{
|
||||
lldptool -T -i $swp2 -V APP -d $(dscp_map 0) >/dev/null
|
||||
lldpad_app_wait_del
|
||||
|
||||
__test_update 0 zero
|
||||
|
||||
lldptool -T -i $swp2 -V APP $(dscp_map 0) >/dev/null
|
||||
lldpad_app_wait_set $swp2
|
||||
}
|
||||
|
||||
trap cleanup EXIT
|
||||
|
||||
setup_prepare
|
||||
|
Loading…
Reference in New Issue
Block a user