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)
committerJakub Kicinski <kuba@kernel.org>
Thu, 5 May 2022 02:40:19 +0000 (19:40 -0700)
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>
tools/testing/selftests/drivers/net/ocelot/tc_flower_chains.sh

index eaf8a04..10e54bc 100755 (executable)
@@ -190,7 +190,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)
 }