Skip to content

Commit 547eede

Browse files
ilantayariSaeed Mahameed
authored andcommitted
net/mlx5e: IPSec, Innova IPSec offload infrastructure
Add Innova IPSec ESP crypto offload configuration paths. Detect Innova IPSec device and set the NETIF_F_HW_ESP flag. Configure Security Associations using the API introduced in a previous patch. Add Software-parser hardware descriptor layout Software-Parser (swp) is a hardware feature in ConnectX which allows the host software to specify protocol header offsets in the TX path, thus overriding the hardware parser. This is useful for protocols that the ASIC may not be able to parse on its own. Note that due to inline metadata, XDP is not supported in Innova IPSec. Signed-off-by: Ilan Tayari <[email protected]> Signed-off-by: Yossi Kuperman <[email protected]> Signed-off-by: Yevgeny Kliteynik <[email protected]> Signed-off-by: Boris Pismenny <[email protected]> Signed-off-by: Saeed Mahameed <[email protected]>
1 parent bebb23e commit 547eede

File tree

9 files changed

+552
-4
lines changed

9 files changed

+552
-4
lines changed

MAINTAINERS

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8327,6 +8327,16 @@ Q: http://patchwork.ozlabs.org/project/netdev/list/
83278327
F: drivers/net/ethernet/mellanox/mlx5/core/fpga/*
83288328
F: include/linux/mlx5/mlx5_ifc_fpga.h
83298329

8330+
MELLANOX ETHERNET INNOVA IPSEC DRIVER
8331+
M: Ilan Tayari <[email protected]>
8332+
R: Boris Pismenny <[email protected]>
8333+
8334+
S: Supported
8335+
W: http://www.mellanox.com
8336+
Q: http://patchwork.ozlabs.org/project/netdev/list/
8337+
F: drivers/net/ethernet/mellanox/mlx5/core/en_ipsec/*
8338+
F: drivers/net/ethernet/mellanox/mlx5/core/ipsec*
8339+
83308340
MELLANOX ETHERNET SWITCH DRIVERS
83318341
M: Jiri Pirko <[email protected]>
83328342
M: Ido Schimmel <[email protected]>

drivers/net/ethernet/mellanox/mlx5/core/Kconfig

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,3 +52,15 @@ config MLX5_CORE_IPOIB
5252
default n
5353
---help---
5454
MLX5 IPoIB offloads & acceleration support.
55+
56+
config MLX5_EN_IPSEC
57+
bool "IPSec XFRM cryptography-offload accelaration"
58+
depends on MLX5_ACCEL
59+
depends on MLX5_CORE_EN
60+
depends on XFRM_OFFLOAD
61+
depends on INET_ESP_OFFLOAD || INET6_ESP_OFFLOAD
62+
default n
63+
---help---
64+
Build support for IPsec cryptography-offload accelaration in the NIC.
65+
Note: Support for hardware with this capability needs to be selected
66+
for this option to become available.

drivers/net/ethernet/mellanox/mlx5/core/Makefile

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,3 +19,5 @@ mlx5_core-$(CONFIG_MLX5_CORE_EN) += wq.o eswitch.o eswitch_offloads.o \
1919
mlx5_core-$(CONFIG_MLX5_CORE_EN_DCB) += en_dcbnl.o
2020

2121
mlx5_core-$(CONFIG_MLX5_CORE_IPOIB) += ipoib/ipoib.o ipoib/ethtool.o
22+
23+
mlx5_core-$(CONFIG_MLX5_EN_IPSEC) += en_accel/ipsec.o

drivers/net/ethernet/mellanox/mlx5/core/en.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -784,6 +784,9 @@ struct mlx5e_priv {
784784

785785
const struct mlx5e_profile *profile;
786786
void *ppriv;
787+
#ifdef CONFIG_MLX5_EN_IPSEC
788+
struct mlx5e_ipsec *ipsec;
789+
#endif
787790
};
788791

789792
struct mlx5e_profile {

0 commit comments

Comments
 (0)