Hi Dave, Jakub, This patchset includes mlx5 RX XFRM ipsec offloads for ConnectX devices and some other misc updates and fixes to net-next.
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 89e35f66d552c98c1cfee4a058de158d7f21796a: net: mscc: ocelot: rethink Kconfig dependencies again (2020-07-16 12:46:00 -0700) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/saeed/linux.git tags/mlx5-updates-2020-07-16 for you to fetch changes up to 3e6ae272202e418f8184caa71b3fc37b62fb921e: net/mlx5e: CT: Map 128 bits labels to 32 bit map ID (2020-07-16 14:28:20 -0700) ---------------------------------------------------------------- mlx5-updates-2020-07-16 Fixes: 1) Fix build break when CONFIG_XPS is not set 2) Fix missing switch_id for representors Updates: 1) IPsec XFRM RX offloads from Raed and Huy. - Added IPSec RX steering flow tables to NIC RX - Refactoring of the existing FPGA IPSec, to add support for ConnectX IPsec. - RX data path handling for IPSec traffic - Synchronize offloading device ESN with xfrm received SN 2) Parav allows E-Switch to siwtch to switchdev mode directly without the need to go through legacy mode first. 3) From Tariq, Misc updates including: 3.1) indirect calls for RX and XDP handlers 3.2) Make MLX5_EN_TLS non-prompt as it should always be enabled when TLS and MLX5_EN are selected. ---------------------------------------------------------------- Eli Britstein (1): net/mlx5e: CT: Map 128 bits labels to 32 bit map ID Huy Nguyen (2): net/mlx5: Add IPsec related Flow steering entry's fields net/mlx5e: IPsec: Add IPsec steering in local NIC RX Parav Pandit (3): net/mlx5e: Fix missing switch_id for representors net/mlx5: E-switch, Avoid function change handler for non ECPF net/mlx5: E-switch, Reduce dependency on num_vfs during mode set Raed Salem (4): net/mlx5: Accel, Add core IPsec support for the Connect-X family net/mlx5: IPsec: Add HW crypto offload support net/mlx5e: IPsec: Add Connect-X IPsec Rx data path offload net/mlx5e: IPsec: Add Connect-X IPsec ESN update offload support Saeed Mahameed (1): net/mlx5e: Fix build break when CONFIG_XPS is not set Tariq Toukan (4): net/mlx5: Make MLX5_EN_TLS non-prompt net/mlx5e: XDP, Avoid indirect call in TX flow net/mlx5e: RX, Avoid indirect call in representor CQE handling net/mlx5e: Do not request completion on every single UMR WQE drivers/net/ethernet/mellanox/mlx5/core/Kconfig | 28 +- drivers/net/ethernet/mellanox/mlx5/core/Makefile | 3 +- .../net/ethernet/mellanox/mlx5/core/accel/ipsec.c | 108 ++-- .../net/ethernet/mellanox/mlx5/core/accel/ipsec.h | 45 +- .../mellanox/mlx5/core/accel/ipsec_offload.c | 385 +++++++++++++++ .../mellanox/mlx5/core/accel/ipsec_offload.h | 38 ++ .../net/ethernet/mellanox/mlx5/core/accel/tls.c | 4 +- drivers/net/ethernet/mellanox/mlx5/core/en/fs.h | 6 +- drivers/net/ethernet/mellanox/mlx5/core/en/tc_ct.c | 59 ++- drivers/net/ethernet/mellanox/mlx5/core/en/tc_ct.h | 3 + drivers/net/ethernet/mellanox/mlx5/core/en/xdp.c | 36 +- .../net/ethernet/mellanox/mlx5/core/en/xsk/tx.c | 22 +- .../mellanox/mlx5/core/en_accel/en_accel.h | 10 - .../ethernet/mellanox/mlx5/core/en_accel/ipsec.c | 47 +- .../ethernet/mellanox/mlx5/core/en_accel/ipsec.h | 10 + .../mellanox/mlx5/core/en_accel/ipsec_fs.c | 544 +++++++++++++++++++++ .../mellanox/mlx5/core/en_accel/ipsec_fs.h | 26 + .../mellanox/mlx5/core/en_accel/ipsec_rxtx.c | 56 +++ .../mellanox/mlx5/core/en_accel/ipsec_rxtx.h | 22 +- .../ethernet/mellanox/mlx5/core/en_accel/ktls_rx.c | 12 +- drivers/net/ethernet/mellanox/mlx5/core/en_main.c | 5 +- drivers/net/ethernet/mellanox/mlx5/core/en_rep.c | 20 +- drivers/net/ethernet/mellanox/mlx5/core/en_rx.c | 15 +- drivers/net/ethernet/mellanox/mlx5/core/en_tc.c | 3 +- drivers/net/ethernet/mellanox/mlx5/core/eswitch.c | 13 +- drivers/net/ethernet/mellanox/mlx5/core/eswitch.h | 11 +- .../ethernet/mellanox/mlx5/core/eswitch_offloads.c | 14 +- .../net/ethernet/mellanox/mlx5/core/fpga/ipsec.c | 51 +- .../net/ethernet/mellanox/mlx5/core/fpga/ipsec.h | 37 +- drivers/net/ethernet/mellanox/mlx5/core/fs_cmd.c | 2 + drivers/net/ethernet/mellanox/mlx5/core/fs_core.c | 2 +- drivers/net/ethernet/mellanox/mlx5/core/fw.c | 6 + .../net/ethernet/mellanox/mlx5/core/lib/crypto.c | 5 +- drivers/net/ethernet/mellanox/mlx5/core/lib/mlx5.h | 8 +- drivers/net/ethernet/mellanox/mlx5/core/main.c | 9 +- include/linux/mlx5/accel.h | 6 +- include/linux/mlx5/driver.h | 3 + include/linux/mlx5/fs.h | 5 +- include/linux/mlx5/mlx5_ifc.h | 12 +- 39 files changed, 1480 insertions(+), 211 deletions(-) create mode 100644 drivers/net/ethernet/mellanox/mlx5/core/accel/ipsec_offload.c create mode 100644 drivers/net/ethernet/mellanox/mlx5/core/accel/ipsec_offload.h create mode 100644 drivers/net/ethernet/mellanox/mlx5/core/en_accel/ipsec_fs.c create mode 100644 drivers/net/ethernet/mellanox/mlx5/core/en_accel/ipsec_fs.h