Messages in this thread | | | From | Vladimir Oltean <> | Subject | [PATCH v2 net-next 0/6] Port and flow policers for DSA (SJA1105, Felix/Ocelot) | Date | Sun, 29 Mar 2020 14:51:56 +0300 |
| |
From: Vladimir Oltean <vladimir.oltean@nxp.com>
This series adds support for 2 types of policers: - port policers, via tc matchall filter - flow policers, via tc flower filter for 2 DSA drivers: - sja1105 - felix/ocelot
First we start with ocelot/felix. Prior to this patch, the ocelot core library currently only supported: - Port policers - Flow-based dropping and trapping But the felix wrapper could not actually use the port policers due to missing linkage and support in the DSA core. So one of the patches addresses exactly that limitation by adding the missing support to the DSA core. The other patch for felix flow policers (via the VCAP IS2 engine) is actually in the ocelot library itself, since the linkage with the ocelot flower classifier has already been done in an earlier patch set.
Then with the newly added .port_policer_add and .port_policer_del, we can also start supporting the L2 policers on sja1105.
Then, for full functionality of these L2 policers on sja1105, we also implement a more limited set of flow-based policing keys for this switch, namely for broadcast and VLAN PCP.
Series version 1 was submitted here: https://patchwork.ozlabs.org/cover/1263353/
Nothing functional changed in v2, only a rebase.
Vladimir Oltean (5): net: dsa: refactor matchall mirred action to separate function net: dsa: add port policers net: dsa: felix: add port policers net: dsa: sja1105: add configuration of port policers net: dsa: sja1105: add broadcast and per-traffic class policers
Xiaoliang Yang (1): net: mscc: ocelot: add action of police on vcap_is2
drivers/net/dsa/ocelot/felix.c | 24 ++ drivers/net/dsa/sja1105/Makefile | 1 + drivers/net/dsa/sja1105/sja1105.h | 40 +++ drivers/net/dsa/sja1105/sja1105_flower.c | 340 ++++++++++++++++++++++ drivers/net/dsa/sja1105/sja1105_main.c | 136 +++++++-- drivers/net/ethernet/mscc/ocelot_ace.c | 64 +++- drivers/net/ethernet/mscc/ocelot_ace.h | 4 + drivers/net/ethernet/mscc/ocelot_flower.c | 9 + drivers/net/ethernet/mscc/ocelot_police.c | 27 ++ drivers/net/ethernet/mscc/ocelot_police.h | 11 +- drivers/net/ethernet/mscc/ocelot_tc.c | 2 +- include/net/dsa.h | 13 +- include/soc/mscc/ocelot.h | 9 + net/dsa/slave.c | 145 ++++++--- 14 files changed, 742 insertions(+), 83 deletions(-) create mode 100644 drivers/net/dsa/sja1105/sja1105_flower.c
-- 2.17.1
| |