This patch series add gate and police action for tc flower offload to
support Per-Stream Filtering and Policing(PSFP), which is defined in
IEEE802.1Qci.
There is also a TC flower offload to set up VCAPs on ocelot driver.
Because VCAPs use chain 10000-21255, we set chain 30000 to offload to
gate and police action to run PSFP module.
example:
> tc qdisc add dev swp0 clsact
> tc filter add dev swp0 ingress chain 0 pref 49152 flower \
skip_sw action goto chain 30000
> tc filter add dev swp0 ingress chain 30000 protocol 802.1Q \
flower skip_sw dst_mac 42:01:3E:72:2F:6B vlan_id 1 \
action gate index 1 base-time 0 \
sched-entry OPEN 6000 3 -1 \
action police index 1 rate 10Mbit burst 10000
Xiaoliang Yang (5):
net: mscc: ocelot: add and export MAC table lookup operations
net: mscc: ocelot: set vcap IS2 chain to goto PSFP chain
net: dsa: felix: add gate action offload based on tc flower
net: mscc: ocelot: use index to set vcap policer
net: dsa: felix: add police action for tc flower offload
drivers/net/dsa/ocelot/Makefile | 3 +-
drivers/net/dsa/ocelot/felix.c | 25 +
drivers/net/dsa/ocelot/felix.h | 18 +
drivers/net/dsa/ocelot/felix_flower.c | 683 ++++++++++++++++++++++
drivers/net/dsa/ocelot/felix_vsc9959.c | 14 +-
drivers/net/ethernet/mscc/ocelot.c | 33 +-
drivers/net/ethernet/mscc/ocelot.h | 13 -
drivers/net/ethernet/mscc/ocelot_flower.c | 19 +-
drivers/net/ethernet/mscc/ocelot_vcap.c | 107 ++--
include/soc/mscc/ocelot.h | 43 +-
include/soc/mscc/ocelot_ana.h | 10 +
11 files changed, 903 insertions(+), 65 deletions(-)
create mode 100644 drivers/net/dsa/ocelot/felix_flower.c
--
2.17.1
On Tue, 20 Oct 2020 15:23:16 +0800 Xiaoliang Yang wrote:
> This patch series add gate and police action for tc flower offload to
> support Per-Stream Filtering and Policing(PSFP), which is defined in
> IEEE802.1Qci.
>
> There is also a TC flower offload to set up VCAPs on ocelot driver.
> Because VCAPs use chain 10000-21255, we set chain 30000 to offload to
> gate and police action to run PSFP module.
We have already sent a pull request for 5.10 and therefore net-next
is closed for new drivers, features, and code refactoring.
Please repost when net-next reopens after 5.10-rc1 is cut.
(http://vger.kernel.org/~davem/net-next.html will not be up to date
this time around, sorry about that).
RFC patches sent for review only are obviously welcome at any time.