Merge branch 'Add-selftests-for-pedit-ex-munge-ip6-dsfield'

Petr Machata says:

====================
Add selftests for pedit ex munge ip6 dsfield

Patch #1 extends the existing generic forwarding selftests to cover pedit
ex munge ip6 traffic_class as well. Patch #2 adds TDC test coverage.
====================

Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
David S. Miller 2020-04-22 19:48:57 -07:00
commit 250562aff7
2 changed files with 91 additions and 0 deletions

View File

@ -20,10 +20,14 @@
ALL_TESTS="
ping_ipv4
ping_ipv6
test_ip_dsfield
test_ip_dscp
test_ip_ecn
test_ip_dscp_ecn
test_ip6_dsfield
test_ip6_dscp
test_ip6_ecn
"
NUM_NETIFS=4
@ -107,6 +111,11 @@ ping_ipv4()
ping_test $h1 192.0.2.2
}
ping_ipv6()
{
ping6_test $h1 2001:db8:1::2
}
do_test_pedit_dsfield_common()
{
local pedit_locus=$1; shift
@ -228,6 +237,63 @@ test_ip_dscp_ecn()
do_test_ip_dscp_ecn "dev $swp2 egress"
}
do_test_ip6_dsfield()
{
local locus=$1; shift
local dsfield
for dsfield in 0 1 2 3 128 252 253 254 255; do
do_test_pedit_dsfield "$locus" \
"ip6 traffic_class set $dsfield" \
ipv6 "ip_tos $dsfield" \
"-6 -A 2001:db8:1::1 -B 2001:db8:1::2"
done
}
test_ip6_dsfield()
{
do_test_ip6_dsfield "dev $swp1 ingress"
do_test_ip6_dsfield "dev $swp2 egress"
}
do_test_ip6_dscp()
{
local locus=$1; shift
local dscp
for dscp in 0 1 2 3 32 61 62 63; do
do_test_pedit_dsfield "$locus" \
"ip6 traffic_class set $((dscp << 2)) retain 0xfc" \
ipv6 "ip_tos $(((dscp << 2) | 1))" \
"-6 -A 2001:db8:1::1 -B 2001:db8:1::2"
done
}
test_ip6_dscp()
{
do_test_ip6_dscp "dev $swp1 ingress"
do_test_ip6_dscp "dev $swp2 egress"
}
do_test_ip6_ecn()
{
local locus=$1; shift
local ecn
for ecn in 0 1 2 3; do
do_test_pedit_dsfield "$locus" \
"ip6 traffic_class set $ecn retain 0x3" \
ipv6 "ip_tos $((124 | $ecn))" \
"-6 -A 2001:db8:1::1 -B 2001:db8:1::2"
done
}
test_ip6_ecn()
{
do_test_ip6_ecn "dev $swp1 ingress"
do_test_ip6_ecn "dev $swp2 egress"
}
trap cleanup EXIT
setup_prepare

View File

@ -1471,6 +1471,31 @@
"$TC actions flush action pedit"
]
},
{
"id": "94bb",
"name": "Add pedit action with LAYERED_OP ip6 traffic_class",
"category": [
"actions",
"pedit",
"layered_op"
],
"setup": [
[
"$TC actions flush action pedit",
0,
1,
255
]
],
"cmdUnderTest": "$TC actions add action pedit ex munge ip6 traffic_class set 0x40 continue",
"expExitCode": "0",
"verifyCmd": "$TC actions list action pedit",
"matchPattern": "ipv6\\+0: val 04000000 mask f00fffff",
"matchCount": "1",
"teardown": [
"$TC actions flush action pedit"
]
},
{
"id": "6f5e",
"name": "Add pedit action with LAYERED_OP ip6 flow_lbl",