Commit 9a9dffcb authored by Petr Machata's avatar Petr Machata Committed by David S. Miller

selftests: mlxsw: qos_dscp_router: Test no DSCP rewrite after pedit

When DSCP is updated through an offloaded pedit action, DSCP rewrite on
egress should be disabled. Add a test that check that it is so.
Signed-off-by: default avatarPetr Machata <petrm@mellanox.com>
Signed-off-by: default avatarIdo Schimmel <idosch@mellanox.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 226657ba
...@@ -31,6 +31,7 @@ ALL_TESTS=" ...@@ -31,6 +31,7 @@ ALL_TESTS="
ping_ipv4 ping_ipv4
test_update test_update
test_no_update test_no_update
test_pedit_norewrite
test_dscp_leftover test_dscp_leftover
" "
...@@ -56,6 +57,11 @@ zero() ...@@ -56,6 +57,11 @@ zero()
echo 0 echo 0
} }
three()
{
echo 3
}
h1_create() h1_create()
{ {
simple_if_init $h1 192.0.2.1/28 simple_if_init $h1 192.0.2.1/28
...@@ -103,6 +109,9 @@ switch_create() ...@@ -103,6 +109,9 @@ switch_create()
simple_if_init $swp1 192.0.2.2/28 simple_if_init $swp1 192.0.2.2/28
__simple_if_init $swp2 v$swp1 192.0.2.17/28 __simple_if_init $swp2 v$swp1 192.0.2.17/28
tc qdisc add dev $swp1 clsact
tc qdisc add dev $swp2 clsact
lldptool -T -i $swp1 -V APP $(dscp_map 0) >/dev/null lldptool -T -i $swp1 -V APP $(dscp_map 0) >/dev/null
lldptool -T -i $swp2 -V APP $(dscp_map 0) >/dev/null lldptool -T -i $swp2 -V APP $(dscp_map 0) >/dev/null
lldpad_app_wait_set $swp1 lldpad_app_wait_set $swp1
...@@ -115,6 +124,9 @@ switch_destroy() ...@@ -115,6 +124,9 @@ switch_destroy()
lldptool -T -i $swp1 -V APP -d $(dscp_map 0) >/dev/null lldptool -T -i $swp1 -V APP -d $(dscp_map 0) >/dev/null
lldpad_app_wait_del lldpad_app_wait_del
tc qdisc del dev $swp2 clsact
tc qdisc del dev $swp1 clsact
__simple_if_fini $swp2 192.0.2.17/28 __simple_if_fini $swp2 192.0.2.17/28
simple_if_fini $swp1 192.0.2.2/28 simple_if_fini $swp1 192.0.2.2/28
} }
...@@ -223,18 +235,36 @@ __test_update() ...@@ -223,18 +235,36 @@ __test_update()
test_update() test_update()
{ {
echo "Test net.ipv4.ip_forward_update_priority=1"
__test_update 1 reprioritize __test_update 1 reprioritize
} }
test_no_update() test_no_update()
{ {
echo "Test net.ipv4.ip_forward_update_priority=0"
__test_update 0 echo __test_update 0 echo
} }
# Test that when DSCP is updated in pedit, the DSCP rewrite is turned off.
test_pedit_norewrite()
{
echo "Test no DSCP rewrite after DSCP is updated by pedit"
tc filter add dev $swp1 ingress handle 101 pref 1 prot ip flower \
action pedit ex munge ip dsfield set $((3 << 2)) retain 0xfc \
action skbedit priority 3
__test_update 0 three
tc filter del dev $swp1 ingress pref 1
}
# Test that when the last APP rule is removed, the prio->DSCP map is properly # 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. # set to zeroes, and that the last APP rule does not stay active in the ASIC.
test_dscp_leftover() test_dscp_leftover()
{ {
echo "Test that last removed DSCP rule is deconfigured correctly"
lldptool -T -i $swp2 -V APP -d $(dscp_map 0) >/dev/null lldptool -T -i $swp2 -V APP -d $(dscp_map 0) >/dev/null
lldpad_app_wait_del lldpad_app_wait_del
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment