[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20221203221337.29267-1-saeed@kernel.org>
Date: Sat, 3 Dec 2022 14:13:22 -0800
From: Saeed Mahameed <saeed@...nel.org>
To: "David S. Miller" <davem@...emloft.net>,
Jakub Kicinski <kuba@...nel.org>,
Paolo Abeni <pabeni@...hat.com>,
Eric Dumazet <edumazet@...gle.com>
Cc: Saeed Mahameed <saeedm@...dia.com>, netdev@...r.kernel.org,
Tariq Toukan <tariqt@...dia.com>
Subject: [pull request][net-next 00/15] mlx5 updates 2022-12-03
From: Saeed Mahameed <saeedm@...dia.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(-)
Powered by blists - more mailing lists