Commit 250562af authored by David S. Miller's avatar David S. Miller

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: default avatarDavid S. Miller <davem@davemloft.net>
parents ec403d88 f132ccc5
...@@ -20,10 +20,14 @@ ...@@ -20,10 +20,14 @@
ALL_TESTS=" ALL_TESTS="
ping_ipv4 ping_ipv4
ping_ipv6
test_ip_dsfield test_ip_dsfield
test_ip_dscp test_ip_dscp
test_ip_ecn test_ip_ecn
test_ip_dscp_ecn test_ip_dscp_ecn
test_ip6_dsfield
test_ip6_dscp
test_ip6_ecn
" "
NUM_NETIFS=4 NUM_NETIFS=4
...@@ -107,6 +111,11 @@ ping_ipv4() ...@@ -107,6 +111,11 @@ ping_ipv4()
ping_test $h1 192.0.2.2 ping_test $h1 192.0.2.2
} }
ping_ipv6()
{
ping6_test $h1 2001:db8:1::2
}
do_test_pedit_dsfield_common() do_test_pedit_dsfield_common()
{ {
local pedit_locus=$1; shift local pedit_locus=$1; shift
...@@ -228,6 +237,63 @@ test_ip_dscp_ecn() ...@@ -228,6 +237,63 @@ test_ip_dscp_ecn()
do_test_ip_dscp_ecn "dev $swp2 egress" 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 trap cleanup EXIT
setup_prepare setup_prepare
......
...@@ -1471,6 +1471,31 @@ ...@@ -1471,6 +1471,31 @@
"$TC actions flush action pedit" "$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", "id": "6f5e",
"name": "Add pedit action with LAYERED_OP ip6 flow_lbl", "name": "Add pedit action with LAYERED_OP ip6 flow_lbl",
......
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