mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH net-next 0/6] net: lan969x: add VCAP functionality
@ 2024-11-01  7:09 Daniel Machon
  2024-11-01  7:09 ` [PATCH net-next 1/6] net: sparx5: expose some sparx5 VCAP symbols Daniel Machon
                   ` (6 more replies)
  0 siblings, 7 replies; 8+ messages in thread
From: Daniel Machon @ 2024-11-01  7:09 UTC (permalink / raw)
  To: Andrew Lunn, David S. Miller, Eric Dumazet, Jakub Kicinski,
	Paolo Abeni, Lars Povlsen, Steen Hegelund,
	Jens Emil Schulz Østergaard, UNGLinuxDriver, jacob.e.keller,
	christophe.jaillet
  Cc: netdev, linux-arm-kernel, linux-kernel

== Description:

This series is the third of a multi-part series, that prepares and adds
support for the new lan969x switch driver.

The upstreaming efforts is split into multiple series (might change a
bit as we go along):

        1) Prepare the Sparx5 driver for lan969x (merged)

        2) Add support for lan969x (same basic features as Sparx5
           provides excl. FDMA and VCAP, merged).

    --> 3) Add lan969x VCAP functionality.

        4) Add RGMII and FDMA functionality.

== VCAP support:

The Versatile Content-Aware Processor (VCAP) is a content-aware packet
processor that allows wirespeed packet inspection for rich
implementation of, for example, advanced VLAN and QoS classification and
manipulations, IP source guarding, longest prefix matching for Layer-3
routing, and security features for wireline and wireless applications.
This is all achieved by programming rules into the VCAP.

When a VCAP is enabled, every frame passing through the switch is
analyzed and multiple keys are created based on the contents of the
frame. The frame is examined to determine the frame type (for example,
IPv4 TCP frame), so that the frame information is extracted according to
the frame type, port-specific configuration, and classification results
from the basic classification. Keys are applied to the VCAP and when
there is a match between a key and a rule in the VCAP, the rule is then
applied to the frame from which the key was extracted.

After this series is applied, the lan969x driver will support the same
VCAP functionality as Sparx5.

== Patch breakdown:

Patch #1 exposes some VCAP symbols for lan969x.

Patch #2 replaces VCAP uses of SPX5_PORTS with n_ports from the match
data.

Patch #3 adds new VCAP constants to match data

Patch #4 removes the is_sparx5() check to now initialize the VCAP API on
lan969x.

Patch #5 adds the auto-generated VCAP data for lan969x.

Patch #6 adds the VCAP configuration data for lan969x.

Signed-off-by: Daniel Machon <daniel.machon@microchip.com>
---
Daniel Machon (6):
      net: sparx5: expose some sparx5 VCAP symbols
      net: sparx5: replace SPX5_PORTS with n_ports
      net: sparx5: add new VCAP constants to match data
      net: sparx5: execute sparx5_vcap_init() on lan969x
      net: lan969x: add autogenerated VCAP information
      net: lan969x: add VCAP configuration data

 drivers/net/ethernet/microchip/lan969x/Makefile    |    3 +-
 drivers/net/ethernet/microchip/lan969x/lan969x.c   |    3 +
 drivers/net/ethernet/microchip/lan969x/lan969x.h   |    8 +
 .../microchip/lan969x/lan969x_vcap_ag_api.c        | 3843 ++++++++++++++++++++
 .../ethernet/microchip/lan969x/lan969x_vcap_impl.c |   85 +
 .../net/ethernet/microchip/sparx5/sparx5_main.c    |   15 +-
 .../net/ethernet/microchip/sparx5/sparx5_main.h    |    3 +
 .../ethernet/microchip/sparx5/sparx5_vcap_ag_api.h |    2 +
 .../ethernet/microchip/sparx5/sparx5_vcap_impl.c   |   48 +-
 .../ethernet/microchip/sparx5/sparx5_vcap_impl.h   |   21 +
 10 files changed, 3995 insertions(+), 36 deletions(-)
---
base-commit: 157a4881225bd0af5444aab9510e7b6da28f2469
change-id: 20241031-sparx5-lan969x-switch-driver-3-9e2746e8b033

Best regards,
-- 
Daniel Machon <daniel.machon@microchip.com>


^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2024-11-05 12:40 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-11-01  7:09 [PATCH net-next 0/6] net: lan969x: add VCAP functionality Daniel Machon
2024-11-01  7:09 ` [PATCH net-next 1/6] net: sparx5: expose some sparx5 VCAP symbols Daniel Machon
2024-11-01  7:09 ` [PATCH net-next 2/6] net: sparx5: replace SPX5_PORTS with n_ports Daniel Machon
2024-11-01  7:09 ` [PATCH net-next 3/6] net: sparx5: add new VCAP constants to match data Daniel Machon
2024-11-01  7:09 ` [PATCH net-next 4/6] net: sparx5: execute sparx5_vcap_init() on lan969x Daniel Machon
2024-11-01  7:09 ` [PATCH net-next 5/6] net: lan969x: add autogenerated VCAP information Daniel Machon
2024-11-01  7:09 ` [PATCH net-next 6/6] net: lan969x: add VCAP configuration data Daniel Machon
2024-11-05 12:40 ` [PATCH net-next 0/6] net: lan969x: add VCAP functionality patchwork-bot+netdevbpf

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®