]> www.infradead.org Git - users/dwmw2/linux.git/commitdiff
selftests: ocelot: tc_flower_chains: specify conform-exceed action for policer
authorVladimir Oltean <vladimir.oltean@nxp.com>
Tue, 3 May 2022 12:14:28 +0000 (15:14 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 12 May 2022 10:25:42 +0000 (12:25 +0200)
commit 5a7c5f70c743c6cf32b44b05bd6b19d4ad82f49d upstream.

As discussed here with Ido Schimmel:
https://patchwork.kernel.org/project/netdevbpf/patch/20220224102908.5255-2-jianbol@nvidia.com/

the default conform-exceed action is "reclassify", for a reason we don't
really understand.

The point is that hardware can't offload that police action, so not
specifying "conform-exceed" was always wrong, even though the command
used to work in hardware (but not in software) until the kernel started
adding validation for it.

Fix the command used by the selftest by making the policer drop on
exceed, and pass the packet to the next action (goto) on conform.

Fixes: 8cd6b020b644 ("selftests: ocelot: add some example VCAP IS1, IS2 and ES0 tc offloads")
Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com>
Reviewed-by: Ido Schimmel <idosch@nvidia.com>
Link: https://lore.kernel.org/r/20220503121428.842906-1-vladimir.oltean@nxp.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
tools/testing/selftests/drivers/net/ocelot/tc_flower_chains.sh

index beee0d5646a6190897ea722b43a6adfc7deae38c..11189f3096270260f4d16ebc70d894e1c91a22b1 100755 (executable)
@@ -185,7 +185,7 @@ setup_prepare()
 
        tc filter add dev $eth0 ingress chain $(IS2 0 0) pref 1 \
                protocol ipv4 flower skip_sw ip_proto udp dst_port 5201 \
-               action police rate 50mbit burst 64k \
+               action police rate 50mbit burst 64k conform-exceed drop/pipe \
                action goto chain $(IS2 1 0)
 }