net/mlx5e: kTLS, Add kTLS RX HW offload support
Implement driver support for the kTLS RX HW offload feature. Resync support is added in a downstream patch. New offload contexts post their static/progress params WQEs over the per-channel async ICOSQ, protected under a spin-lock. The Channel/RQ is selected according to the socket's rxq index. Feature is OFF by default. Can be turned on by: $ ethtool -K <if> tls-hw-rx-offload on A new TLS-RX workqueue is used to allow asynchronous addition of steering rules, out of the NAPI context. It will be also used in a downstream patch in the resync procedure. Signed-off-by:Tariq Toukan <tariqt@mellanox.com> Signed-off-by:
Saeed Mahameed <saeedm@mellanox.com>
Showing
- drivers/net/ethernet/mellanox/mlx5/core/Kconfig 1 addition, 0 deletionsdrivers/net/ethernet/mellanox/mlx5/core/Kconfig
- drivers/net/ethernet/mellanox/mlx5/core/Makefile 1 addition, 1 deletiondrivers/net/ethernet/mellanox/mlx5/core/Makefile
- drivers/net/ethernet/mellanox/mlx5/core/accel/tls.h 18 additions, 1 deletiondrivers/net/ethernet/mellanox/mlx5/core/accel/tls.h
- drivers/net/ethernet/mellanox/mlx5/core/en/txrx.h 11 additions, 0 deletionsdrivers/net/ethernet/mellanox/mlx5/core/en/txrx.h
- drivers/net/ethernet/mellanox/mlx5/core/en_accel/en_accel.h 20 additions, 0 deletionsdrivers/net/ethernet/mellanox/mlx5/core/en_accel/en_accel.h
- drivers/net/ethernet/mellanox/mlx5/core/en_accel/ktls.c 56 additions, 10 deletionsdrivers/net/ethernet/mellanox/mlx5/core/en_accel/ktls.c
- drivers/net/ethernet/mellanox/mlx5/core/en_accel/ktls.h 18 additions, 1 deletiondrivers/net/ethernet/mellanox/mlx5/core/en_accel/ktls.h
- drivers/net/ethernet/mellanox/mlx5/core/en_accel/ktls_rx.c 311 additions, 0 deletionsdrivers/net/ethernet/mellanox/mlx5/core/en_accel/ktls_rx.c
- drivers/net/ethernet/mellanox/mlx5/core/en_accel/ktls_tx.c 1 addition, 1 deletiondrivers/net/ethernet/mellanox/mlx5/core/en_accel/ktls_tx.c
- drivers/net/ethernet/mellanox/mlx5/core/en_accel/ktls_txrx.c 14 additions, 6 deletionsdrivers/net/ethernet/mellanox/mlx5/core/en_accel/ktls_txrx.c
- drivers/net/ethernet/mellanox/mlx5/core/en_accel/ktls_txrx.h 4 additions, 0 deletionsdrivers/net/ethernet/mellanox/mlx5/core/en_accel/ktls_txrx.h
- drivers/net/ethernet/mellanox/mlx5/core/en_accel/ktls_utils.h 4 additions, 0 deletions...ers/net/ethernet/mellanox/mlx5/core/en_accel/ktls_utils.h
- drivers/net/ethernet/mellanox/mlx5/core/en_accel/tls.c 11 additions, 1 deletiondrivers/net/ethernet/mellanox/mlx5/core/en_accel/tls.c
- drivers/net/ethernet/mellanox/mlx5/core/en_accel/tls.h 1 addition, 0 deletionsdrivers/net/ethernet/mellanox/mlx5/core/en_accel/tls.h
- drivers/net/ethernet/mellanox/mlx5/core/en_accel/tls_rxtx.c 13 additions, 7 deletionsdrivers/net/ethernet/mellanox/mlx5/core/en_accel/tls_rxtx.c
- drivers/net/ethernet/mellanox/mlx5/core/en_accel/tls_rxtx.h 2 additions, 2 deletionsdrivers/net/ethernet/mellanox/mlx5/core/en_accel/tls_rxtx.h
- drivers/net/ethernet/mellanox/mlx5/core/en_main.c 9 additions, 0 deletionsdrivers/net/ethernet/mellanox/mlx5/core/en_main.c
- drivers/net/ethernet/mellanox/mlx5/core/en_rx.c 32 additions, 1 deletiondrivers/net/ethernet/mellanox/mlx5/core/en_rx.c
- drivers/net/ethernet/mellanox/mlx5/core/fw.c 2 additions, 1 deletiondrivers/net/ethernet/mellanox/mlx5/core/fw.c
Please register or sign in to comment