[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20220823055533.334471-1-saeed@kernel.org>
Date: Mon, 22 Aug 2022 22:55:18 -0700
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-08-22
From: Saeed Mahameed <saeedm@...dia.com>
This series adds two updates to mlx5 driver:
Roi Dayan adds the support for tunnel offloads for SFs.
Lama continues to decouple mlx5 auxiliary sub-modules from the main
mlx5_priv (the netdev private data).
For more information please see tag log below.
Please pull and let me know if there is any problem.
Merge conflict:
When merged with latest mlx5 net PR [1], the following conflict will pop-up:
++<<<<<<< HEAD
+err_free_tc:
+ mlx5e_fs_tc_free(fs);
+err_free_fs:
+ kvfree(fs);
++||||||| 4c2d0b039c5c
++err_free_fs:
++ kvfree(fs);
++=======
+
++>>>>>>> submit/net-mlx5
err_free_vlan:
mlx5e_fs_vlan_free(fs);
+ err_free_fs:
+ kvfree(fs);
To resolve simply use this hunk:
err_free_tc:
mlx5e_fs_tc_free(fs);
err_free_vlan:
mlx5e_fs_vlan_free(fs);
err_free_fs:
kvfree(fs);
[1] https://patchwork.kernel.org/project/netdevbpf/patch/20220822195917.216025-1-saeed@kernel.org/
Thanks,
Saeed.
The following changes since commit 97d29b9231c73d8c2c1c5b6add6d1f679bb579f9:
Merge branch '10GbE' of git://git.kernel.org/pub/scm/linux/kernel/git/tnguy/next-queue (2022-08-22 20:24:45 -0700)
are available in the Git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/saeed/linux.git tags/mlx5-updates-2022-08-22
for you to fetch changes up to 72e0bcd1563602168391ea52157bdd82e6d7875a:
net/mlx5: TC, Add support for SF tunnel offload (2022-08-22 22:44:26 -0700)
----------------------------------------------------------------
mlx5-updates-2022-08-22
Roi Dayan Says:
===============
Add support for SF tunnel offload
Mlx5 driver only supports VF tunnel offload.
To add support for SF tunnel offload the driver needs to:
1. Add send-to-vport metadata matching rules like done for VFs.
2. Set an indirect table for SF vport, same as VF vport.
info smaller sub functions for better maintainability.
rules from esw init phase to representor load phase.
SFs could be created after esw initialized and thus the send-to-vport
meta rules would not be created for those SFs.
By moving the creation of the rules to representor load phase
we ensure creating the rules also for SFs created later.
===============
Lama Kayal Says:
================
Make flow steering API loosely coupled from mlx5e_priv, in a manner to
introduce more readable and maintainable modules.
Make TC's private, let mlx5e_flow_steering struct be dynamically allocated,
and introduce its API to maintain the code via setters and getters
instead of publicly exposing it.
Introduce flow steering debug macros to provide an elegant finish to the
decoupled flow steering API, where errors related to flow steering shall
be reported via them.
All flow steering related files will drop any coupling to mlx5e_priv,
instead they will get the relevant members as input. Among these,
fs_tt_redirect, fs_tc, and arfs.
================
----------------------------------------------------------------
Jianbo Liu (1):
net/mlx5: E-Switch, Add default drop rule for unmatched packets
Lama Kayal (11):
net/mlx5e: Introduce flow steering API
net/mlx5e: Decouple fs_tt_redirect from en.h
net/mlx5e: Decouple fs_tcp from en.h
net/mlx5e: Drop priv argument of ptp function in en_fs
net/mlx5e: Convert ethtool_steering member of flow_steering struct to pointer
net/mlx5e: Directly get flow_steering struct as input when init/cleanup ethtool steering
net/mlx5e: Separate ethtool_steering from fs.h and make private
net/mlx5e: Introduce flow steering debug macros
net/mlx5e: Make flow steering arfs independent of priv
net/mlx5e: Make all ttc functions of en_fs get fs struct as argument
net/mlx5e: Completely eliminate priv from fs.h
Roi Dayan (3):
net/mlx5: E-Switch, Split creating fdb tables into smaller chunks
net/mlx5: E-Switch, Move send to vport meta rule creation
net/mlx5: TC, Add support for SF tunnel offload
drivers/net/ethernet/mellanox/mlx5/core/en.h | 5 -
drivers/net/ethernet/mellanox/mlx5/core/en/fs.h | 158 +++----
.../ethernet/mellanox/mlx5/core/en/fs_ethtool.h | 29 ++
.../mellanox/mlx5/core/en/fs_tt_redirect.c | 188 ++++----
.../mellanox/mlx5/core/en/fs_tt_redirect.h | 13 +-
drivers/net/ethernet/mellanox/mlx5/core/en/ptp.c | 44 +-
drivers/net/ethernet/mellanox/mlx5/core/en/ptp.h | 6 +-
.../ethernet/mellanox/mlx5/core/en/tc/act/goto.c | 3 +-
drivers/net/ethernet/mellanox/mlx5/core/en/trap.c | 8 +-
.../ethernet/mellanox/mlx5/core/en_accel/fs_tcp.c | 111 ++---
.../ethernet/mellanox/mlx5/core/en_accel/fs_tcp.h | 14 +-
.../mellanox/mlx5/core/en_accel/ipsec_fs.c | 15 +-
.../ethernet/mellanox/mlx5/core/en_accel/ktls.c | 8 +-
.../ethernet/mellanox/mlx5/core/en_accel/ktls_rx.c | 2 +-
drivers/net/ethernet/mellanox/mlx5/core/en_arfs.c | 141 +++---
.../net/ethernet/mellanox/mlx5/core/en_ethtool.c | 5 +-
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c | 436 ++++++++++++------
.../ethernet/mellanox/mlx5/core/en_fs_ethtool.c | 76 +++-
drivers/net/ethernet/mellanox/mlx5/core/en_main.c | 42 +-
drivers/net/ethernet/mellanox/mlx5/core/en_rep.c | 77 +++-
drivers/net/ethernet/mellanox/mlx5/core/en_rep.h | 9 +-
drivers/net/ethernet/mellanox/mlx5/core/en_tc.c | 85 ++--
drivers/net/ethernet/mellanox/mlx5/core/en_tc.h | 1 +
.../ethernet/mellanox/mlx5/core/esw/indir_table.c | 6 +-
drivers/net/ethernet/mellanox/mlx5/core/eswitch.c | 1 -
drivers/net/ethernet/mellanox/mlx5/core/eswitch.h | 7 +-
.../ethernet/mellanox/mlx5/core/eswitch_offloads.c | 495 +++++++++++++--------
.../ethernet/mellanox/mlx5/core/ipoib/ethtool.c | 1 +
.../net/ethernet/mellanox/mlx5/core/ipoib/ipoib.c | 25 +-
29 files changed, 1246 insertions(+), 765 deletions(-)
create mode 100644 drivers/net/ethernet/mellanox/mlx5/core/en/fs_ethtool.h
Powered by blists - more mailing lists