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

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
Loading
Loading
Loading
Loading
+66 −0
Original line number Diff line number Diff line
@@ -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
+25 −0
Original line number Diff line number Diff line
@@ -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",