All of lore.kernel.org
 help / color / mirror / Atom feed
From: Steen Hegelund <steen.hegelund@microchip.com>
To: "David S . Miller" <davem@davemloft.net>,
	Eric Dumazet <edumazet@google.com>,
	Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>
Cc: Steen Hegelund <steen.hegelund@microchip.com>,
	<UNGLinuxDriver@microchip.com>,
	Randy Dunlap <rdunlap@infradead.org>,
	"Casper Andersson" <casper.casan@gmail.com>,
	Russell King <rmk+kernel@armlinux.org.uk>,
	Wan Jiabing <wanjiabing@vivo.com>,
	"Nathan Huckleberry" <nhuck@google.com>,
	<linux-kernel@vger.kernel.org>, <netdev@vger.kernel.org>,
	<linux-arm-kernel@lists.infradead.org>,
	"Steen Hegelund" <Steen.Hegelund@microchip.com>,
	Daniel Machon <daniel.machon@microchip.com>,
	Horatiu Vultur <horatiu.vultur@microchip.com>,
	Lars Povlsen <lars.povlsen@microchip.com>,
	Simon Horman <simon.horman@corigine.com>,
	Louis Peens <louis.peens@corigine.com>,
	"Wojciech Drewek" <wojciech.drewek@intel.com>,
	Baowen Zheng <baowen.zheng@corigine.com>,
	Maksym Glubokiy <maksym.glubokiy@plvision.eu>,
	Pablo Neira Ayuso <pablo@netfilter.org>
Subject: [PATCH net-next 0/6] Add support for sorted VCAP rules in Sparx5
Date: Fri, 11 Nov 2022 14:05:13 +0100	[thread overview]
Message-ID: <20221111130519.1459549-1-steen.hegelund@microchip.com> (raw)

This provides support for adding Sparx5 VCAP rules in sorted order, VCAP
rule counters and TC filter matching on ARP frames.

It builds on top of the initial IS2 VCAP support found in these series:

https://lore.kernel.org/all/20221020130904.1215072-1-steen.hegelund@microchip.com/
https://lore.kernel.org/all/20221109114116.3612477-1-steen.hegelund@microchip.com/

Functionality
=============

When a new VCAP rule is added the driver will now ensure that the rule is
inserted in sorted order, and when a rule is removed, the remaining rules
will be moved to keep the sorted order and remove any gaps in the VCAP
address space.

A VCAP rule is ordered using these 3 values:

 - Rule size: the count of VCAP addresses used by the rule.  The largest
   rule have highest priority

 - Rule User: The rules are ordered by the user enumeration

 - Priority: The priority provided in the flower filter.  The lowest value
   has the highest priority.

A VCAP instance may contain the counter as part of the VCAP cache area, and
this counter may be one or more bits in width.  This type of counter
automatically increments its value when the rule is hit.

Other VCAP instances have a dedicated counter area outside of the VCAP and
in this case the rule must contain the counter id to be able to locate the
counter value and cause the counter to be incremented.  In this case there
must also be a VCAP rule action that sets the counter id.

The Sparx5 IS2 VCAP uses a dedicated counter area with 32bit counters.

This series adds support for getting VCAP rule counters and provide these
via the TC statistic interface.

This only support packet counters, not byte counters.

Finally the series adds support for the ARP frame dissector and configures
the Sparx5 IS2 VCAP to generate the ARP keyset when ARP traffic is
received.

Delivery:
=========

This is current plan for delivering the full VCAP feature set of Sparx5:

- DebugFS support for inspecting rules
- TC protocol all support
- Sparx5 IS0 VCAP support
- TC policer and drop action support (depends on the Sparx5 QoS support
  upstreamed separately)
- Sparx5 ES0 VCAP support
- TC flower template support
- TC matchall filter support for mirroring and policing ports
- TC flower filter mirror action support
- Sparx5 ES2 VCAP support


Steen Hegelund (6):
  net: flow_offload: add support for ARP frame matching
  net: microchip: sparx5: Add support for TC flower ARP dissector
  net: microchip: sparx5: Add/delete rules in sorted order
  net: microchip: sparx5: Add support for IS2 VCAP rule counters
  net: microchip: sparx5: Add support for TC flower filter statistics
  net: microchip: sparx5: Add KUNIT test of counters and sorted rules

 .../microchip/sparx5/sparx5_tc_flower.c       | 144 +++++
 .../microchip/sparx5/sparx5_vcap_impl.c       |  76 ++-
 .../net/ethernet/microchip/vcap/vcap_api.c    | 233 +++++++-
 .../ethernet/microchip/vcap/vcap_api_client.h |  14 +
 .../ethernet/microchip/vcap/vcap_api_kunit.c  | 526 ++++++++++++++++++
 include/net/flow_offload.h                    |   6 +
 net/core/flow_offload.c                       |   7 +
 7 files changed, 990 insertions(+), 16 deletions(-)

-- 
2.38.1


WARNING: multiple messages have this Message-ID (diff)
From: Steen Hegelund <steen.hegelund@microchip.com>
To: "David S . Miller" <davem@davemloft.net>,
	Eric Dumazet <edumazet@google.com>,
	Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>
Cc: Steen Hegelund <steen.hegelund@microchip.com>,
	<UNGLinuxDriver@microchip.com>,
	Randy Dunlap <rdunlap@infradead.org>,
	"Casper Andersson" <casper.casan@gmail.com>,
	Russell King <rmk+kernel@armlinux.org.uk>,
	Wan Jiabing <wanjiabing@vivo.com>,
	"Nathan Huckleberry" <nhuck@google.com>,
	<linux-kernel@vger.kernel.org>, <netdev@vger.kernel.org>,
	<linux-arm-kernel@lists.infradead.org>,
	"Steen Hegelund" <Steen.Hegelund@microchip.com>,
	Daniel Machon <daniel.machon@microchip.com>,
	Horatiu Vultur <horatiu.vultur@microchip.com>,
	Lars Povlsen <lars.povlsen@microchip.com>,
	Simon Horman <simon.horman@corigine.com>,
	Louis Peens <louis.peens@corigine.com>,
	"Wojciech Drewek" <wojciech.drewek@intel.com>,
	Baowen Zheng <baowen.zheng@corigine.com>,
	Maksym Glubokiy <maksym.glubokiy@plvision.eu>,
	Pablo Neira Ayuso <pablo@netfilter.org>
Subject: [PATCH net-next 0/6] Add support for sorted VCAP rules in Sparx5
Date: Fri, 11 Nov 2022 14:05:13 +0100	[thread overview]
Message-ID: <20221111130519.1459549-1-steen.hegelund@microchip.com> (raw)

This provides support for adding Sparx5 VCAP rules in sorted order, VCAP
rule counters and TC filter matching on ARP frames.

It builds on top of the initial IS2 VCAP support found in these series:

https://lore.kernel.org/all/20221020130904.1215072-1-steen.hegelund@microchip.com/
https://lore.kernel.org/all/20221109114116.3612477-1-steen.hegelund@microchip.com/

Functionality
=============

When a new VCAP rule is added the driver will now ensure that the rule is
inserted in sorted order, and when a rule is removed, the remaining rules
will be moved to keep the sorted order and remove any gaps in the VCAP
address space.

A VCAP rule is ordered using these 3 values:

 - Rule size: the count of VCAP addresses used by the rule.  The largest
   rule have highest priority

 - Rule User: The rules are ordered by the user enumeration

 - Priority: The priority provided in the flower filter.  The lowest value
   has the highest priority.

A VCAP instance may contain the counter as part of the VCAP cache area, and
this counter may be one or more bits in width.  This type of counter
automatically increments its value when the rule is hit.

Other VCAP instances have a dedicated counter area outside of the VCAP and
in this case the rule must contain the counter id to be able to locate the
counter value and cause the counter to be incremented.  In this case there
must also be a VCAP rule action that sets the counter id.

The Sparx5 IS2 VCAP uses a dedicated counter area with 32bit counters.

This series adds support for getting VCAP rule counters and provide these
via the TC statistic interface.

This only support packet counters, not byte counters.

Finally the series adds support for the ARP frame dissector and configures
the Sparx5 IS2 VCAP to generate the ARP keyset when ARP traffic is
received.

Delivery:
=========

This is current plan for delivering the full VCAP feature set of Sparx5:

- DebugFS support for inspecting rules
- TC protocol all support
- Sparx5 IS0 VCAP support
- TC policer and drop action support (depends on the Sparx5 QoS support
  upstreamed separately)
- Sparx5 ES0 VCAP support
- TC flower template support
- TC matchall filter support for mirroring and policing ports
- TC flower filter mirror action support
- Sparx5 ES2 VCAP support


Steen Hegelund (6):
  net: flow_offload: add support for ARP frame matching
  net: microchip: sparx5: Add support for TC flower ARP dissector
  net: microchip: sparx5: Add/delete rules in sorted order
  net: microchip: sparx5: Add support for IS2 VCAP rule counters
  net: microchip: sparx5: Add support for TC flower filter statistics
  net: microchip: sparx5: Add KUNIT test of counters and sorted rules

 .../microchip/sparx5/sparx5_tc_flower.c       | 144 +++++
 .../microchip/sparx5/sparx5_vcap_impl.c       |  76 ++-
 .../net/ethernet/microchip/vcap/vcap_api.c    | 233 +++++++-
 .../ethernet/microchip/vcap/vcap_api_client.h |  14 +
 .../ethernet/microchip/vcap/vcap_api_kunit.c  | 526 ++++++++++++++++++
 include/net/flow_offload.h                    |   6 +
 net/core/flow_offload.c                       |   7 +
 7 files changed, 990 insertions(+), 16 deletions(-)

-- 
2.38.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

             reply	other threads:[~2022-11-11 13:05 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-11-11 13:05 Steen Hegelund [this message]
2022-11-11 13:05 ` [PATCH net-next 0/6] Add support for sorted VCAP rules in Sparx5 Steen Hegelund
2022-11-11 13:05 ` [PATCH net-next 1/6] net: flow_offload: add support for ARP frame matching Steen Hegelund
2022-11-11 13:05   ` Steen Hegelund
2022-11-11 13:05 ` [PATCH net-next 2/6] net: microchip: sparx5: Add support for TC flower ARP dissector Steen Hegelund
2022-11-11 13:05   ` Steen Hegelund
2022-11-11 13:05 ` [PATCH net-next 3/6] net: microchip: sparx5: Add/delete rules in sorted order Steen Hegelund
2022-11-11 13:05   ` Steen Hegelund
2022-11-11 13:05 ` [PATCH net-next 4/6] net: microchip: sparx5: Add support for IS2 VCAP rule counters Steen Hegelund
2022-11-11 13:05   ` Steen Hegelund
2022-11-11 13:05 ` [PATCH net-next 5/6] net: microchip: sparx5: Add support for TC flower filter statistics Steen Hegelund
2022-11-11 13:05   ` Steen Hegelund
2022-11-11 13:05 ` [PATCH net-next 6/6] net: microchip: sparx5: Add KUNIT test of counters and sorted rules Steen Hegelund
2022-11-11 13:05   ` Steen Hegelund
2022-11-14 11:40 ` [PATCH net-next 0/6] Add support for sorted VCAP rules in Sparx5 patchwork-bot+netdevbpf
2022-11-14 11:40   ` patchwork-bot+netdevbpf

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20221111130519.1459549-1-steen.hegelund@microchip.com \
    --to=steen.hegelund@microchip.com \
    --cc=UNGLinuxDriver@microchip.com \
    --cc=baowen.zheng@corigine.com \
    --cc=casper.casan@gmail.com \
    --cc=daniel.machon@microchip.com \
    --cc=davem@davemloft.net \
    --cc=edumazet@google.com \
    --cc=horatiu.vultur@microchip.com \
    --cc=kuba@kernel.org \
    --cc=lars.povlsen@microchip.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=louis.peens@corigine.com \
    --cc=maksym.glubokiy@plvision.eu \
    --cc=netdev@vger.kernel.org \
    --cc=nhuck@google.com \
    --cc=pabeni@redhat.com \
    --cc=pablo@netfilter.org \
    --cc=rdunlap@infradead.org \
    --cc=rmk+kernel@armlinux.org.uk \
    --cc=simon.horman@corigine.com \
    --cc=wanjiabing@vivo.com \
    --cc=wojciech.drewek@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.