[PATCH net-next 0/5] net: lan966x: Add support for IS1 VCAP

Horatiu Vultur horatiu.vultur at microchip.com
Tue Mar 7 14:09:24 PST 2023


Provide the Ingress Stage 1 (IS1) VCAP (Versatile Content-Aware
Processor) support for the Lan966x platform.

The IS1 VCAP has 3 lookups and they are accessible with a TC chain id:
- chain 1000000: IS1 Lookup 0
- chain 1100000: IS1 Lookup 1
- chain 1200000: IS1 Lookup 2

The IS1 is capable of different actions like rewrite VLAN tags, change
priority of the frames, police the traffic, etc. These features will be
added at a later point.

The IS1 currently implements the action that allows setting the value
of a PAG (Policy Association Group) key field in the frame metadata and
this can be used for matching in an IS2 VCAP rule. In this way a rule in
IS0 VCAP can be linked to rules in the IS2 VCAP. The linking is exposed
by using the TC "goto chain" action with an offset from the IS2 chain ids.
For example "goto chain 8000001" will use a PAG value of 1 to chain to a
rule in IS2 lookup 0.

Horatiu Vultur (5):
  net: lan966x: Add IS1 VCAP model
  net: lan966x: Add IS1 VCAP keyset configuration for lan966x
  net: lan966x: Add TC support for IS1 VCAP
  net: lan966x: Add TC filter chaining support for IS1 and IS2 VCAPs
  net: lan966x: Add support for IS1 VCAP ethernet protocol types

 .../ethernet/microchip/lan966x/lan966x_main.h |   38 +
 .../ethernet/microchip/lan966x/lan966x_regs.h |   36 +
 .../microchip/lan966x/lan966x_tc_flower.c     |  221 ++-
 .../microchip/lan966x/lan966x_vcap_ag_api.c   | 1402 ++++++++++++++++-
 .../microchip/lan966x/lan966x_vcap_debugfs.c  |  133 +-
 .../microchip/lan966x/lan966x_vcap_impl.c     |  192 ++-
 .../net/ethernet/microchip/vcap/vcap_ag_api.h |  217 ++-
 .../microchip/vcap/vcap_api_debugfs_kunit.c   |    4 +-
 8 files changed, 2156 insertions(+), 87 deletions(-)

-- 
2.38.0




More information about the linux-arm-kernel mailing list