Skip to content

mlx5 IPsec full offload part

Leon Romanovsky netdev 1 version New

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest26 patches 0 repliesNew

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/26net/mlx5: Delete esp_id field that is not usedinclude/linux/mlx5/fs.h+1 -40 replies
2/26net/mlx5: Add HW definitions for IPsec full offloadinclude/linux/mlx5/mlx5_ifc.h+52 -30 replies
3/26net/mlx5: Remove from FPGA IFC file not-needed definitionsinclude/linux/mlx5/mlx5_ifc.h include/linux/mlx5/mlx5_ifc_fpga.h+16 -240 replies
4/26net/mlx5e: Advertise IPsec full offload supportdrivers/net/ethernet/mellanox/mlx5/core/en_accel/ipsec.h drivers/net/ethernet/mellanox/mlx5/core/en_accel/ipsec_offload.c+11 -00 replies
5/26net/mlx5e: Store replay window in XFRM attributesdrivers/net/ethernet/mellanox/mlx5/core/en_accel/ipsec.c drivers/net/ethernet/mellanox/mlx5/core/en_accel/ipsec.h+13 -00 replies
6/26net/mlx5e: Remove extra layers of definesdrivers/net/ethernet/mellanox/mlx5/core/en_accel/ipsec.c drivers/net/ethernet/mellanox/mlx5/core/en_accel/ipsec.h drivers/net/ethernet/mellanox/mlx5/core/en_accel/ipsec_fs.c +1 more+23 -430 replies
7/26net/mlx5e: Create symmetric IPsec RX and TX flow steering structsdrivers/net/ethernet/mellanox/mlx5/core/en_accel/ipsec.h drivers/net/ethernet/mellanox/mlx5/core/en_accel/ipsec_fs.c+132 -1550 replies
8/26net/mlx5e: Use mlx5 print routines for low level IPsec codedrivers/net/ethernet/mellanox/mlx5/core/en_accel/ipsec_fs.c+14 -120 replies
9/26net/mlx5e: Remove accesses to priv for low level IPsec FS codedrivers/net/ethernet/mellanox/mlx5/core/en_accel/ipsec.c drivers/net/ethernet/mellanox/mlx5/core/en_accel/ipsec.h drivers/net/ethernet/mellanox/mlx5/core/en_accel/ipsec_fs.c+57 -600 replies
10/26net/mlx5e: Validate that IPsec full offload can handle packetsdrivers/net/ethernet/mellanox/mlx5/core/en_accel/ipsec.c+13 -00 replies
11/26net/mlx5e: Create Advanced Steering Operation object for IPsecdrivers/net/ethernet/mellanox/mlx5/core/en_accel/ipsec.c drivers/net/ethernet/mellanox/mlx5/core/en_accel/ipsec.h drivers/net/ethernet/mellanox/mlx5/core/en_accel/ipsec_offload.c+47 -00 replies
12/26net/mlx5e: Create hardware IPsec full offload objectsdrivers/net/ethernet/mellanox/mlx5/core/en_accel/ipsec.c drivers/net/ethernet/mellanox/mlx5/core/en_accel/ipsec.h drivers/net/ethernet/mellanox/mlx5/core/en_accel/ipsec_offload.c+32 -10 replies
13/26net/mlx5e: Move IPsec flow table creation to separate functiondrivers/net/ethernet/mellanox/mlx5/core/en_accel/ipsec_fs.c+31 -220 replies
14/26net/mlx5e: Refactor FTE setup code to be more cleardrivers/net/ethernet/mellanox/mlx5/core/en_accel/ipsec_fs.c+83 -530 replies
15/26net/mlx5e: Flatten the IPsec RX add rule pathdrivers/net/ethernet/mellanox/mlx5/core/en_accel/ipsec.h drivers/net/ethernet/mellanox/mlx5/core/en_accel/ipsec_fs.c+53 -370 replies
16/26net/mlx5e: Make clear what IPsec rx_err doesdrivers/net/ethernet/mellanox/mlx5/core/en_accel/ipsec_fs.c+16 -220 replies
17/26net/mlx5e: Group IPsec miss handles into separate structdrivers/net/ethernet/mellanox/mlx5/core/en_accel/ipsec_fs.c+11 -70 replies
18/26net/mlx5e: Generalize creation of default IPsec miss group and ruledrivers/net/ethernet/mellanox/mlx5/core/en_accel/ipsec_fs.c+23 -250 replies
19/26net/mlx5e: Create IPsec policy offload tablesdrivers/net/ethernet/mellanox/mlx5/core/en/fs.h drivers/net/ethernet/mellanox/mlx5/core/en_accel/ipsec_fs.c drivers/net/ethernet/mellanox/mlx5/core/fs_core.c+56 -60 replies
20/26net/mlx5e: Add XFRM policy offload logicdrivers/net/ethernet/mellanox/mlx5/core/en_accel/ipsec.c drivers/net/ethernet/mellanox/mlx5/core/en_accel/ipsec.h drivers/net/ethernet/mellanox/mlx5/core/en_accel/ipsec_fs.c+281 -00 replies
21/26net/mlx5e: Use same coding pattern for Rx and Tx flowsdrivers/net/ethernet/mellanox/mlx5/core/en_accel/ipsec_fs.c+2 -30 replies
22/26net/mlx5e: Configure IPsec full offload flow steeringdrivers/net/ethernet/mellanox/mlx5/core/en_accel/ipsec.c drivers/net/ethernet/mellanox/mlx5/core/en_accel/ipsec.h drivers/net/ethernet/mellanox/mlx5/core/en_accel/ipsec_fs.c+89 -100 replies
23/26net/mlx5e: Improve IPsec flow steering autogroupdrivers/net/ethernet/mellanox/mlx5/core/en_accel/ipsec_fs.c+4 -40 replies
24/26net/mlx5e: Add statistics for Rx/Tx IPsec offloaded flowsdrivers/net/ethernet/mellanox/mlx5/core/en_accel/ipsec.h drivers/net/ethernet/mellanox/mlx5/core/en_accel/ipsec_fs.c drivers/net/ethernet/mellanox/mlx5/core/en_accel/ipsec_stats.c +2 more+232 -240 replies
25/26net/mlx5e: Skip IPsec encryption for TX path without matching policydrivers/net/ethernet/mellanox/mlx5/core/en_accel/ipsec.c drivers/net/ethernet/mellanox/mlx5/core/en_accel/ipsec.h drivers/net/ethernet/mellanox/mlx5/core/en_accel/ipsec_fs.c+38 -70 replies
26/26net/mlx5e: Open mlx5 driver to accept IPsec full offloaddrivers/net/ethernet/mellanox/mlx5/core/en_accel/ipsec.c+36 -100 replies

Reviews trailers per patch

13 of 26 patches have a Reviewed-by or Acked-by.

PatchRaed Salem
1/26R-b
2/26R-b
3/26R-b
4/26R-b
5/26R-b
6/26R-b
7/26R-b
8/26
9/26R-b
10/26R-b
11/26R-b
12/26
13/26
14/26
15/26R-b
16/26
17/26
18/26R-b
19/26
20/26
21/26
22/26
23/26
24/26
25/26
26/26R-b

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.

Read the v1 thread

Cover letter [PATCH xfrm-next 00/26] mlx5 IPsec full offload part

From: Leon Romanovsky <[email protected]>

Hi,

This is supplementary part of "Extend XFRM core to allow full offload configuration" series https://lore.kernel.org/all/[email protected]

The series starts from very basic cleanup, continues with code alignment and adds IPsec full offload logic to mlx5 driver.

Thanks

Leon Romanovsky (25):
net/mlx5: Delete esp_id field that is not used
net/mlx5: Add HW definitions for IPsec full offload net/mlx5: Remove from FPGA IFC file not-needed definitions net/mlx5e: Advertise IPsec full offload support net/mlx5e: Store replay window in XFRM attributes net/mlx5e: Remove extra layers of defines
net/mlx5e: Create symmetric IPsec RX and TX flow steering structs net/mlx5e: Use mlx5 print routines for low level IPsec code net/mlx5e: Remove accesses to priv for low level IPsec FS code net/mlx5e: Validate that IPsec full offload can handle packets net/mlx5e: Create Advanced Steering Operation object for IPsec net/mlx5e: Create hardware IPsec full offload objects net/mlx5e: Move IPsec flow table creation to separate function net/mlx5e: Refactor FTE setup code to be more clear net/mlx5e: Flatten the IPsec RX add rule path
net/mlx5e: Make clear what IPsec rx_err does
net/mlx5e: Group IPsec miss handles into separate struct net/mlx5e: Generalize creation of default IPsec miss group and rule net/mlx5e: Create IPsec policy offload tables
net/mlx5e: Add XFRM policy offload logic
net/mlx5e: Use same coding pattern for Rx and Tx flows net/mlx5e: Configure IPsec full offload flow steering net/mlx5e: Improve IPsec flow steering autogroup net/mlx5e: Skip IPsec encryption for TX path without matching policy net/mlx5e: Open mlx5 driver to accept IPsec full offload

Raed Salem (1):
net/mlx5e: Add statistics for Rx/Tx IPsec offloaded flows

 .../net/ethernet/mellanox/mlx5/core/en/fs.h   |    3 +-
 .../mellanox/mlx5/core/en_accel/ipsec.c       |  209 +++-
 .../mellanox/mlx5/core/en_accel/ipsec.h       |   93 +-
 .../mellanox/mlx5/core/en_accel/ipsec_fs.c    | 1066 ++++++++++++-----
 .../mlx5/core/en_accel/ipsec_offload.c        |   81 +-
 .../mellanox/mlx5/core/en_accel/ipsec_stats.c |   52 +
 .../ethernet/mellanox/mlx5/core/en_stats.c    |    1 +
 .../ethernet/mellanox/mlx5/core/en_stats.h    |    1 +
 .../net/ethernet/mellanox/mlx5/core/fs_core.c |    6 +-
 include/linux/mlx5/fs.h                       |    5 +-
 include/linux/mlx5/mlx5_ifc.h                 |   71 +-
 include/linux/mlx5/mlx5_ifc_fpga.h            |   24 -
 12 files changed, 1223 insertions(+), 389 deletions(-)
Signature · 1 line
2.37.2