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

Reply via email to