mbox series

[net-next,v1,00/10] Support tunnel mode in mlx5 IPsec packet offload

Message ID cover.1681388425.git.leonro@nvidia.com (mailing list archive)
Headers show
Series Support tunnel mode in mlx5 IPsec packet offload | expand

Message

Leon Romanovsky April 13, 2023, 12:29 p.m. UTC
From: Leon Romanovsky <leonro@nvidia.com>

Changelog:
v1:
 * Added Simon's ROB tags
 * Changed some hard coded values to be defines
 * Dropped custom MAC header struct in favor of struct ethhdr
 * Fixed missing returned error
 * Changed "void *" casting to "struct ethhdr *" casting
v0: https://lore.kernel.org/all/cover.1681106636.git.leonro@nvidia.com

---------------------------------------------------------------------
Hi,

This series extends mlx5 to support tunnel mode in its IPsec packet
offload implementation.

Thanks

---------------------------------------------------------------------
I would like to ask to apply it directly to netdev tree as PR is not
really needed here.
---------------------------------------------------------------------

Leon Romanovsky (10):
  net/mlx5e: Add IPsec packet offload tunnel bits
  net/mlx5e: Check IPsec packet offload tunnel capabilities
  net/mlx5e: Configure IPsec SA tables to support tunnel mode
  net/mlx5e: Prepare IPsec packet reformat code for tunnel mode
  net/mlx5e: Support IPsec RX packet offload in tunnel mode
  net/mlx5e: Support IPsec TX packet offload in tunnel mode
  net/mlx5e: Listen to ARP events to update IPsec L2 headers in tunnel
    mode
  net/mlx5: Allow blocking encap changes in eswitch
  net/mlx5e: Create IPsec table with tunnel support only when encap is
    disabled
  net/mlx5e: Accept tunnel mode for IPsec packet offload

 .../mellanox/mlx5/core/en_accel/ipsec.c       | 202 ++++++++++++++-
 .../mellanox/mlx5/core/en_accel/ipsec.h       |  11 +-
 .../mellanox/mlx5/core/en_accel/ipsec_fs.c    | 239 +++++++++++++++---
 .../mlx5/core/en_accel/ipsec_offload.c        |   6 +
 .../net/ethernet/mellanox/mlx5/core/eswitch.h |  14 +
 .../mellanox/mlx5/core/eswitch_offloads.c     |  48 ++++
 include/linux/mlx5/mlx5_ifc.h                 |   8 +-
 7 files changed, 481 insertions(+), 47 deletions(-)

Comments

Samudrala, Sridhar April 16, 2023, 2:41 p.m. UTC | #1
On 4/13/2023 7:29 AM, Leon Romanovsky wrote:
> From: Leon Romanovsky <leonro@nvidia.com>
> 
> Changelog:
> v1:
>   * Added Simon's ROB tags
>   * Changed some hard coded values to be defines
>   * Dropped custom MAC header struct in favor of struct ethhdr
>   * Fixed missing returned error
>   * Changed "void *" casting to "struct ethhdr *" casting
> v0: https://lore.kernel.org/all/cover.1681106636.git.leonro@nvidia.com
> 
> ---------------------------------------------------------------------
> Hi,
> 
> This series extends mlx5 to support tunnel mode in its IPsec packet
> offload implementation.
> 
> Thanks

For the series

Reviewed-by: Sridhar Samudrala <sridhar.samudrala@intel.com>

> 
> ---------------------------------------------------------------------
> I would like to ask to apply it directly to netdev tree as PR is not
> really needed here.
> ---------------------------------------------------------------------
> 
> Leon Romanovsky (10):
>    net/mlx5e: Add IPsec packet offload tunnel bits
>    net/mlx5e: Check IPsec packet offload tunnel capabilities
>    net/mlx5e: Configure IPsec SA tables to support tunnel mode
>    net/mlx5e: Prepare IPsec packet reformat code for tunnel mode
>    net/mlx5e: Support IPsec RX packet offload in tunnel mode
>    net/mlx5e: Support IPsec TX packet offload in tunnel mode
>    net/mlx5e: Listen to ARP events to update IPsec L2 headers in tunnel
>      mode
>    net/mlx5: Allow blocking encap changes in eswitch
>    net/mlx5e: Create IPsec table with tunnel support only when encap is
>      disabled
>    net/mlx5e: Accept tunnel mode for IPsec packet offload
> 
>   .../mellanox/mlx5/core/en_accel/ipsec.c       | 202 ++++++++++++++-
>   .../mellanox/mlx5/core/en_accel/ipsec.h       |  11 +-
>   .../mellanox/mlx5/core/en_accel/ipsec_fs.c    | 239 +++++++++++++++---
>   .../mlx5/core/en_accel/ipsec_offload.c        |   6 +
>   .../net/ethernet/mellanox/mlx5/core/eswitch.h |  14 +
>   .../mellanox/mlx5/core/eswitch_offloads.c     |  48 ++++
>   include/linux/mlx5/mlx5_ifc.h                 |   8 +-
>   7 files changed, 481 insertions(+), 47 deletions(-)
>
Jakub Kicinski April 17, 2023, 4:05 a.m. UTC | #2
On Thu, 13 Apr 2023 15:29:18 +0300 Leon Romanovsky wrote:
> Changelog:
> v1:
>  * Added Simon's ROB tags
>  * Changed some hard coded values to be defines
>  * Dropped custom MAC header struct in favor of struct ethhdr
>  * Fixed missing returned error
>  * Changed "void *" casting to "struct ethhdr *" casting
> v0: https://lore.kernel.org/all/cover.1681106636.git.leonro@nvidia.com
> 
> ---------------------------------------------------------------------
> Hi,
> 
> This series extends mlx5 to support tunnel mode in its IPsec packet
> offload implementation.

Hi Simon,

would you be able to take a look in the new few days?
I think you have the rare combination of TC and ipsec
expertise :)
Simon Horman April 17, 2023, 1:10 p.m. UTC | #3
On Sun, Apr 16, 2023 at 09:05:19PM -0700, Jakub Kicinski wrote:
> On Thu, 13 Apr 2023 15:29:18 +0300 Leon Romanovsky wrote:
> > Changelog:
> > v1:
> >  * Added Simon's ROB tags
> >  * Changed some hard coded values to be defines
> >  * Dropped custom MAC header struct in favor of struct ethhdr
> >  * Fixed missing returned error
> >  * Changed "void *" casting to "struct ethhdr *" casting
> > v0: https://lore.kernel.org/all/cover.1681106636.git.leonro@nvidia.com
> > 
> > ---------------------------------------------------------------------
> > Hi,
> > 
> > This series extends mlx5 to support tunnel mode in its IPsec packet
> > offload implementation.
> 
> Hi Simon,
> 
> would you be able to take a look in the new few days?
> I think you have the rare combination of TC and ipsec
> expertise :)

Hi Jakub,

certainly, will do.
Simon Horman April 17, 2023, 1:38 p.m. UTC | #4
On Mon, Apr 17, 2023 at 03:10:33PM +0200, Simon Horman wrote:
> On Sun, Apr 16, 2023 at 09:05:19PM -0700, Jakub Kicinski wrote:
> > On Thu, 13 Apr 2023 15:29:18 +0300 Leon Romanovsky wrote:
> > > Changelog:
> > > v1:
> > >  * Added Simon's ROB tags
> > >  * Changed some hard coded values to be defines
> > >  * Dropped custom MAC header struct in favor of struct ethhdr
> > >  * Fixed missing returned error
> > >  * Changed "void *" casting to "struct ethhdr *" casting
> > > v0: https://lore.kernel.org/all/cover.1681106636.git.leonro@nvidia.com
> > > 
> > > ---------------------------------------------------------------------
> > > Hi,
> > > 
> > > This series extends mlx5 to support tunnel mode in its IPsec packet
> > > offload implementation.
> > 
> > Hi Simon,
> > 
> > would you be able to take a look in the new few days?
> > I think you have the rare combination of TC and ipsec
> > expertise :)
> 
> Hi Jakub,
> 
> certainly, will do.

Hi Jakub,

sorry for the delay in getting to this patch - I was on a short break.
I had already looked over v0 prior to my break.
And, after reviewing v1, I am happy with this series.
Leon Romanovsky April 17, 2023, 5:58 p.m. UTC | #5
On Mon, Apr 17, 2023 at 03:38:21PM +0200, Simon Horman wrote:
> On Mon, Apr 17, 2023 at 03:10:33PM +0200, Simon Horman wrote:
> > On Sun, Apr 16, 2023 at 09:05:19PM -0700, Jakub Kicinski wrote:
> > > On Thu, 13 Apr 2023 15:29:18 +0300 Leon Romanovsky wrote:
> > > > Changelog:
> > > > v1:
> > > >  * Added Simon's ROB tags
> > > >  * Changed some hard coded values to be defines
> > > >  * Dropped custom MAC header struct in favor of struct ethhdr
> > > >  * Fixed missing returned error
> > > >  * Changed "void *" casting to "struct ethhdr *" casting
> > > > v0: https://lore.kernel.org/all/cover.1681106636.git.leonro@nvidia.com
> > > > 
> > > > ---------------------------------------------------------------------
> > > > Hi,
> > > > 
> > > > This series extends mlx5 to support tunnel mode in its IPsec packet
> > > > offload implementation.
> > > 
> > > Hi Simon,
> > > 
> > > would you be able to take a look in the new few days?
> > > I think you have the rare combination of TC and ipsec
> > > expertise :)
> > 
> > Hi Jakub,
> > 
> > certainly, will do.
> 
> Hi Jakub,
> 
> sorry for the delay in getting to this patch - I was on a short break.
> I had already looked over v0 prior to my break.
> And, after reviewing v1, I am happy with this series.

Thanks a lot.
Jakub Kicinski April 17, 2023, 7:25 p.m. UTC | #6
On Mon, 17 Apr 2023 15:38:21 +0200 Simon Horman wrote:
> sorry for the delay in getting to this patch - I was on a short break.
> I had already looked over v0 prior to my break.
> And, after reviewing v1, I am happy with this series.

Thank you!
patchwork-bot+netdevbpf@kernel.org April 18, 2023, 2 a.m. UTC | #7
Hello:

This series was applied to netdev/net-next.git (main)
by Jakub Kicinski <kuba@kernel.org>:

On Thu, 13 Apr 2023 15:29:18 +0300 you wrote:
> From: Leon Romanovsky <leonro@nvidia.com>
> 
> Changelog:
> v1:
>  * Added Simon's ROB tags
>  * Changed some hard coded values to be defines
>  * Dropped custom MAC header struct in favor of struct ethhdr
>  * Fixed missing returned error
>  * Changed "void *" casting to "struct ethhdr *" casting
> v0: https://lore.kernel.org/all/cover.1681106636.git.leonro@nvidia.com
> 
> [...]

Here is the summary with links:
  - [net-next,v1,01/10] net/mlx5e: Add IPsec packet offload tunnel bits
    https://git.kernel.org/netdev/net-next/c/1210af3b9956
  - [net-next,v1,02/10] net/mlx5e: Check IPsec packet offload tunnel capabilities
    https://git.kernel.org/netdev/net-next/c/1c80e949292f
  - [net-next,v1,03/10] net/mlx5e: Configure IPsec SA tables to support tunnel mode
    https://git.kernel.org/netdev/net-next/c/006adbc6de9f
  - [net-next,v1,04/10] net/mlx5e: Prepare IPsec packet reformat code for tunnel mode
    https://git.kernel.org/netdev/net-next/c/6480a3b6c90a
  - [net-next,v1,05/10] net/mlx5e: Support IPsec RX packet offload in tunnel mode
    https://git.kernel.org/netdev/net-next/c/37a417ca911a
  - [net-next,v1,06/10] net/mlx5e: Support IPsec TX packet offload in tunnel mode
    https://git.kernel.org/netdev/net-next/c/efbd31c4d844
  - [net-next,v1,07/10] net/mlx5e: Listen to ARP events to update IPsec L2 headers in tunnel mode
    https://git.kernel.org/netdev/net-next/c/4c24272b4e2b
  - [net-next,v1,08/10] net/mlx5: Allow blocking encap changes in eswitch
    https://git.kernel.org/netdev/net-next/c/acc109291a02
  - [net-next,v1,09/10] net/mlx5e: Create IPsec table with tunnel support only when encap is disabled
    https://git.kernel.org/netdev/net-next/c/146c196b60e4
  - [net-next,v1,10/10] net/mlx5e: Accept tunnel mode for IPsec packet offload
    https://git.kernel.org/netdev/net-next/c/c941da23aaf0

You are awesome, thank you!