netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Saeed Mahameed <saeed@kernel.org>
To: "David S. Miller" <davem@davemloft.net>,
	Jakub Kicinski <kuba@kernel.org>
Cc: netdev@vger.kernel.org, Saeed Mahameed <saeedm@nvidia.com>
Subject: [pull request][net-next v0 00/16] mlx5 updates 2021-12-14
Date: Tue, 14 Dec 2021 21:32:44 -0800	[thread overview]
Message-ID: <20211215053300.130679-1-saeed@kernel.org> (raw)

From: Saeed Mahameed <saeedm@nvidia.com>

Hi Dave, Hi Jakub,

This series provides refactoring to the TC actions parsing code we have
in the driver to help improving driver structure and extensibility for
future actions support.

For more information please see tag log below.

Please pull and let me know if there is any problem.

Thanks,
Saeed.


The following changes since commit 6cf7a1ac0fedad8a70c050ade8a27a2071638500:

  Merge branch 'net-dsa-hellcreek-fix-handling-of-mgmt-protocols' (2021-12-14 18:46:31 -0800)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/saeed/linux.git tags/mlx5-updates-2021-12-14

for you to fetch changes up to 35bb5242148fa16fd5b2f28b508e0c031e90c672:

  net/mlx5e: Move goto action checks into tc_action goto post parse op (2021-12-14 21:29:46 -0800)

----------------------------------------------------------------
mlx5-updates-2021-12-14

Parsing Infrastructure for TC actions:

The series introduce a TC action infrastructure to help
parsing TC actions in a generic way for both FDB and NIC rules.

To help maintain the parsing code of TC actions, we the parsing code to
action parser per action TC type in separate files, instead of having one
big switch case loop, duplicated between FDB and NIC parsers as before this
patchset.

Each TC flow_action->id is represented by a dedicated mlx5e_tc_act handler
which has callbacks to check if the specific action is offload supported and
to parse the specific action.

We move each case (TC action) handling into the specific handler, which is
responsible for parsing and determining if the action is supported.

----------------------------------------------------------------
Roi Dayan (16):
      net/mlx5e: Add tc action infrastructure
      net/mlx5e: Add goto to tc action infra
      net/mlx5e: Add tunnel encap/decap to tc action infra
      net/mlx5e: Add csum to tc action infra
      net/mlx5e: Add pedit to tc action infra
      net/mlx5e: Add vlan push/pop/mangle to tc action infra
      net/mlx5e: Add mpls push/pop to tc action infra
      net/mlx5e: Add mirred/redirect to tc action infra
      net/mlx5e: Add ct to tc action infra
      net/mlx5e: Add sample and ptype to tc_action infra
      net/mlx5e: Add redirect ingress to tc action infra
      net/mlx5e: TC action parsing loop
      net/mlx5e: Move sample attr allocation to tc_action sample parse op
      net/mlx5e: Add post_parse() op to tc action infrastructure
      net/mlx5e: Move vlan action chunk into tc action vlan post parse op
      net/mlx5e: Move goto action checks into tc_action goto post parse op

 drivers/net/ethernet/mellanox/mlx5/core/Makefile   |    9 +
 .../ethernet/mellanox/mlx5/core/en/tc/act/accept.c |   31 +
 .../ethernet/mellanox/mlx5/core/en/tc/act/act.c    |  103 ++
 .../ethernet/mellanox/mlx5/core/en/tc/act/act.h    |   75 ++
 .../ethernet/mellanox/mlx5/core/en/tc/act/csum.c   |   61 ++
 .../net/ethernet/mellanox/mlx5/core/en/tc/act/ct.c |   50 +
 .../ethernet/mellanox/mlx5/core/en/tc/act/drop.c   |   30 +
 .../ethernet/mellanox/mlx5/core/en/tc/act/goto.c   |  122 +++
 .../ethernet/mellanox/mlx5/core/en/tc/act/mark.c   |   35 +
 .../ethernet/mellanox/mlx5/core/en/tc/act/mirred.c |  315 ++++++
 .../mellanox/mlx5/core/en/tc/act/mirred_nic.c      |   51 +
 .../ethernet/mellanox/mlx5/core/en/tc/act/mpls.c   |   86 ++
 .../ethernet/mellanox/mlx5/core/en/tc/act/pedit.c  |  165 +++
 .../ethernet/mellanox/mlx5/core/en/tc/act/pedit.h  |   32 +
 .../ethernet/mellanox/mlx5/core/en/tc/act/ptype.c  |   35 +
 .../mlx5/core/en/tc/act/redirect_ingress.c         |   79 ++
 .../ethernet/mellanox/mlx5/core/en/tc/act/sample.c |   51 +
 .../ethernet/mellanox/mlx5/core/en/tc/act/trap.c   |   38 +
 .../ethernet/mellanox/mlx5/core/en/tc/act/tun.c    |   61 ++
 .../ethernet/mellanox/mlx5/core/en/tc/act/vlan.c   |  218 ++++
 .../ethernet/mellanox/mlx5/core/en/tc/act/vlan.h   |   30 +
 .../mellanox/mlx5/core/en/tc/act/vlan_mangle.c     |   87 ++
 .../net/ethernet/mellanox/mlx5/core/en/tc_priv.h   |   12 +
 drivers/net/ethernet/mellanox/mlx5/core/en_tc.c    | 1073 ++------------------
 drivers/net/ethernet/mellanox/mlx5/core/en_tc.h    |    1 -
 25 files changed, 1855 insertions(+), 995 deletions(-)
 create mode 100644 drivers/net/ethernet/mellanox/mlx5/core/en/tc/act/accept.c
 create mode 100644 drivers/net/ethernet/mellanox/mlx5/core/en/tc/act/act.c
 create mode 100644 drivers/net/ethernet/mellanox/mlx5/core/en/tc/act/act.h
 create mode 100644 drivers/net/ethernet/mellanox/mlx5/core/en/tc/act/csum.c
 create mode 100644 drivers/net/ethernet/mellanox/mlx5/core/en/tc/act/ct.c
 create mode 100644 drivers/net/ethernet/mellanox/mlx5/core/en/tc/act/drop.c
 create mode 100644 drivers/net/ethernet/mellanox/mlx5/core/en/tc/act/goto.c
 create mode 100644 drivers/net/ethernet/mellanox/mlx5/core/en/tc/act/mark.c
 create mode 100644 drivers/net/ethernet/mellanox/mlx5/core/en/tc/act/mirred.c
 create mode 100644 drivers/net/ethernet/mellanox/mlx5/core/en/tc/act/mirred_nic.c
 create mode 100644 drivers/net/ethernet/mellanox/mlx5/core/en/tc/act/mpls.c
 create mode 100644 drivers/net/ethernet/mellanox/mlx5/core/en/tc/act/pedit.c
 create mode 100644 drivers/net/ethernet/mellanox/mlx5/core/en/tc/act/pedit.h
 create mode 100644 drivers/net/ethernet/mellanox/mlx5/core/en/tc/act/ptype.c
 create mode 100644 drivers/net/ethernet/mellanox/mlx5/core/en/tc/act/redirect_ingress.c
 create mode 100644 drivers/net/ethernet/mellanox/mlx5/core/en/tc/act/sample.c
 create mode 100644 drivers/net/ethernet/mellanox/mlx5/core/en/tc/act/trap.c
 create mode 100644 drivers/net/ethernet/mellanox/mlx5/core/en/tc/act/tun.c
 create mode 100644 drivers/net/ethernet/mellanox/mlx5/core/en/tc/act/vlan.c
 create mode 100644 drivers/net/ethernet/mellanox/mlx5/core/en/tc/act/vlan.h
 create mode 100644 drivers/net/ethernet/mellanox/mlx5/core/en/tc/act/vlan_mangle.c

             reply	other threads:[~2021-12-15  5:33 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-12-15  5:32 Saeed Mahameed [this message]
2021-12-15  5:32 ` [net-next v0 01/16] net/mlx5e: Add tc action infrastructure Saeed Mahameed
2021-12-15 14:50   ` patchwork-bot+netdevbpf
2021-12-15  5:32 ` [net-next v0 02/16] net/mlx5e: Add goto to tc action infra Saeed Mahameed
2021-12-15  5:32 ` [net-next v0 03/16] net/mlx5e: Add tunnel encap/decap " Saeed Mahameed
2021-12-15  5:32 ` [net-next v0 04/16] net/mlx5e: Add csum " Saeed Mahameed
2021-12-15  5:32 ` [net-next v0 05/16] net/mlx5e: Add pedit " Saeed Mahameed
2021-12-15  5:32 ` [net-next v0 06/16] net/mlx5e: Add vlan push/pop/mangle " Saeed Mahameed
2021-12-15  5:32 ` [net-next v0 07/16] net/mlx5e: Add mpls push/pop " Saeed Mahameed
2021-12-15  5:32 ` [net-next v0 08/16] net/mlx5e: Add mirred/redirect " Saeed Mahameed
2021-12-15  5:32 ` [net-next v0 09/16] net/mlx5e: Add ct " Saeed Mahameed
2021-12-15  5:32 ` [net-next v0 10/16] net/mlx5e: Add sample and ptype to tc_action infra Saeed Mahameed
2021-12-15  5:32 ` [net-next v0 11/16] net/mlx5e: Add redirect ingress to tc action infra Saeed Mahameed
2021-12-15  5:32 ` [net-next v0 12/16] net/mlx5e: TC action parsing loop Saeed Mahameed
2021-12-15  5:32 ` [net-next v0 13/16] net/mlx5e: Move sample attr allocation to tc_action sample parse op Saeed Mahameed
2021-12-15  5:32 ` [net-next v0 14/16] net/mlx5e: Add post_parse() op to tc action infrastructure Saeed Mahameed
2021-12-15  5:32 ` [net-next v0 15/16] net/mlx5e: Move vlan action chunk into tc action vlan post parse op Saeed Mahameed
2021-12-15  5:33 ` [net-next v0 16/16] net/mlx5e: Move goto action checks into tc_action goto " Saeed Mahameed

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=20211215053300.130679-1-saeed@kernel.org \
    --to=saeed@kernel.org \
    --cc=davem@davemloft.net \
    --cc=kuba@kernel.org \
    --cc=netdev@vger.kernel.org \
    --cc=saeedm@nvidia.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).