From: Saeed Mahameed <saeed@kernel.org>
To: "David S. Miller" <davem@davemloft.net>,
Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>,
Eric Dumazet <edumazet@google.com>
Cc: Saeed Mahameed <saeedm@nvidia.com>,
netdev@vger.kernel.org, Tariq Toukan <tariqt@nvidia.com>
Subject: [pull request][net-next 00/15] mlx5 updates 2022-12-03
Date: Sat, 3 Dec 2022 14:13:22 -0800 [thread overview]
Message-ID: <20221203221337.29267-1-saeed@kernel.org> (raw)
From: Saeed Mahameed <saeedm@nvidia.com>
Two updates to mlx5 driver:
1) Support tc police jump conform-exceed attribute
2) Support 802.1ad in SRIOV VST
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 65e6af6cebefbf7d8d8ac52b71cd251c2071ad00:
net: ethernet: mtk_wed: fix sleep while atomic in mtk_wed_wo_queue_refill (2022-12-02 21:23:02 -0800)
are available in the Git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/saeed/linux.git tags/mlx5-updates-2022-12-03
for you to fetch changes up to aab2e7ac34c563f9f580458956799e281cf3ad48:
net/mlx5: SRIOV, Allow ingress tagged packets on VST (2022-12-03 14:10:44 -0800)
----------------------------------------------------------------
mlx5-updates-2022-12-03
1) Support tc police jump conform-exceed attribute
The tc police action conform-exceed option defines how to handle
packets which exceed or conform to the configured bandwidth limit.
One of the possible conform-exceed values is jump, which skips over
a specified number of actions.
This series adds support for conform-exceed jump action.
The series adds platform support for branching actions by providing
true/false flow attributes to the branching action.
This is necessary for supporting police jump, as each branch may
execute a different action list.
The first five patches are preparation patches:
- Patches 1 and 2 add support for actions with no destinations (e.g. drop)
- Patch 3 refactor the code for subsequent function reuse
- Patch 4 defines an abstract way for identifying terminating actions
- Patch 5 updates action list validations logic considering branching actions
The following three patches introduce an interface for abstracting branching actions:
- Patch 6 introduces an abstract api for defining branching actions
- Patch 7 generically instantiates the branching flow attributes using the abstract API
Patch 8 adds the platform support for jump actions, by executing the following sequence:
a. Store the jumping flow attr
b. Identify the jump target action while iterating the actions list.
c. Instantiate a new flow attribute after the jump target action.
This is the flow attribute that the branching action should jump to.
d. Set the target post action id on:
d.1. The jumping attribute, thus realizing the jump functionality.
d.2. The attribute preceding the target jump attr, if not terminating.
The next patches apply the platform's branching attributes to the police action:
- Patch 9 is a refactor patch
- Patch 10 initializes the post meter table with the red/green flow attributes,
as were initialized by the platform
- Patch 11 enables the offload of meter actions using jump conform-exceed value.
2) Support 802.1ad in SRIOV VST
2.1) Refactor ACL table creation and layout to support the new vlan mode
2.2) Implement 802.1ad VST when device supports push vlan and pop vlan
steering actions on vport ACLs. In case device doesn't support these
steering actions, fall back to setting eswitch vport context, which
supports only 802.1q.
----------------------------------------------------------------
Moshe Shemesh (4):
net/mlx5: SRIOV, Remove two unused ingress flow group
net/mlx5: SRIOV, Recreate egress ACL table on config change
net/mlx5: SRIOV, Add 802.1ad VST support
net/mlx5: SRIOV, Allow ingress tagged packets on VST
Oz Shlomo (11):
net/mlx5e: E-Switch, handle flow attribute with no destinations
net/mlx5: fs, assert null dest pointer when dest_num is 0
net/mlx5e: TC, reuse flow attribute post parser processing
net/mlx5e: TC, add terminating actions
net/mlx5e: TC, validate action list per attribute
net/mlx5e: TC, set control params for branching actions
net/mlx5e: TC, initialize branch flow attributes
net/mlx5e: TC, initialize branching action with target attr
net/mlx5e: TC, rename post_meter actions
net/mlx5e: TC, init post meter rules with branching attributes
net/mlx5e: TC, allow meter jump control action
.../ethernet/mellanox/mlx5/core/en/tc/act/accept.c | 1 +
.../ethernet/mellanox/mlx5/core/en/tc/act/act.c | 2 +-
.../ethernet/mellanox/mlx5/core/en/tc/act/act.h | 12 +
.../ethernet/mellanox/mlx5/core/en/tc/act/drop.c | 1 +
.../ethernet/mellanox/mlx5/core/en/tc/act/goto.c | 1 +
.../ethernet/mellanox/mlx5/core/en/tc/act/mirred.c | 7 +
.../mellanox/mlx5/core/en/tc/act/mirred_nic.c | 1 +
.../ethernet/mellanox/mlx5/core/en/tc/act/police.c | 66 +++-
.../net/ethernet/mellanox/mlx5/core/en/tc/meter.c | 24 +-
.../net/ethernet/mellanox/mlx5/core/en/tc/meter.h | 4 +-
.../ethernet/mellanox/mlx5/core/en/tc/post_meter.c | 98 +++--
.../ethernet/mellanox/mlx5/core/en/tc/post_meter.h | 8 +-
.../net/ethernet/mellanox/mlx5/core/en/tc_priv.h | 4 -
drivers/net/ethernet/mellanox/mlx5/core/en_main.c | 5 +-
drivers/net/ethernet/mellanox/mlx5/core/en_tc.c | 428 +++++++++++++++------
drivers/net/ethernet/mellanox/mlx5/core/en_tc.h | 4 +
.../mellanox/mlx5/core/esw/acl/egress_lgcy.c | 93 +++--
.../mellanox/mlx5/core/esw/acl/egress_ofld.c | 5 +-
.../ethernet/mellanox/mlx5/core/esw/acl/helper.c | 20 +-
.../ethernet/mellanox/mlx5/core/esw/acl/helper.h | 5 +-
.../mellanox/mlx5/core/esw/acl/ingress_lgcy.c | 218 +++++------
.../net/ethernet/mellanox/mlx5/core/esw/acl/lgcy.h | 8 +
.../net/ethernet/mellanox/mlx5/core/esw/legacy.c | 12 +-
drivers/net/ethernet/mellanox/mlx5/core/eswitch.c | 46 ++-
drivers/net/ethernet/mellanox/mlx5/core/eswitch.h | 33 +-
.../ethernet/mellanox/mlx5/core/eswitch_offloads.c | 15 +-
drivers/net/ethernet/mellanox/mlx5/core/fs_core.c | 3 +
include/linux/mlx5/device.h | 7 +
include/linux/mlx5/mlx5_ifc.h | 3 +-
29 files changed, 761 insertions(+), 373 deletions(-)
next reply other threads:[~2022-12-03 22:13 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-12-03 22:13 Saeed Mahameed [this message]
2022-12-03 22:13 ` [net-next 01/15] net/mlx5e: E-Switch, handle flow attribute with no destinations Saeed Mahameed
2022-12-03 22:13 ` [net-next 02/15] net/mlx5: fs, assert null dest pointer when dest_num is 0 Saeed Mahameed
2022-12-03 22:13 ` [net-next 03/15] net/mlx5e: TC, reuse flow attribute post parser processing Saeed Mahameed
2022-12-03 22:13 ` [net-next 04/15] net/mlx5e: TC, add terminating actions Saeed Mahameed
2022-12-03 22:13 ` [net-next 05/15] net/mlx5e: TC, validate action list per attribute Saeed Mahameed
2022-12-03 22:13 ` [net-next 06/15] net/mlx5e: TC, set control params for branching actions Saeed Mahameed
2022-12-03 22:13 ` [net-next 07/15] net/mlx5e: TC, initialize branch flow attributes Saeed Mahameed
2022-12-03 22:13 ` [net-next 08/15] net/mlx5e: TC, initialize branching action with target attr Saeed Mahameed
2022-12-03 22:13 ` [net-next 09/15] net/mlx5e: TC, rename post_meter actions Saeed Mahameed
2022-12-03 22:13 ` [net-next 10/15] net/mlx5e: TC, init post meter rules with branching attributes Saeed Mahameed
2022-12-03 22:13 ` [net-next 11/15] net/mlx5e: TC, allow meter jump control action Saeed Mahameed
2022-12-03 22:13 ` [net-next 12/15] net/mlx5: SRIOV, Remove two unused ingress flow group Saeed Mahameed
2022-12-03 22:13 ` [net-next 13/15] net/mlx5: SRIOV, Recreate egress ACL table on config change Saeed Mahameed
2022-12-03 22:13 ` [net-next 14/15] net/mlx5: SRIOV, Add 802.1ad VST support Saeed Mahameed
2022-12-07 4:34 ` Jakub Kicinski
2022-12-07 5:20 ` Saeed Mahameed
2022-12-07 17:25 ` Jakub Kicinski
2022-12-08 8:28 ` Saeed Mahameed
2022-12-09 1:04 ` Jakub Kicinski
2022-12-09 1:57 ` Saeed Mahameed
2022-12-09 2:04 ` Jakub Kicinski
2022-12-09 5:05 ` Saeed Mahameed
2022-12-09 16:34 ` Jakub Kicinski
2022-12-03 22:13 ` [net-next 15/15] net/mlx5: SRIOV, Allow ingress tagged packets on VST 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=20221203221337.29267-1-saeed@kernel.org \
--to=saeed@kernel.org \
--cc=davem@davemloft.net \
--cc=edumazet@google.com \
--cc=kuba@kernel.org \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=saeedm@nvidia.com \
--cc=tariqt@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).