mbox

[pull,request,for-next,00/11] Mellanox, mlx5 IPSec updates 2018-02-28-2 (Part 2)

Message ID 20180308012614.26451-1-saeedm@mellanox.com
State Accepted, archived
Delegated to: David Miller
Headers show

Pull-request

git://git.kernel.org/pub/scm/linux/kernel/git/mellanox/linux.git tags/mlx5-updates-2018-02-28-2

Message

Saeed Mahameed March 8, 2018, 1:26 a.m. UTC
Hi Dave and Doug,

This series includes shared code updates (IPSec part2) for mlx5 core 
driver for both netdev and rdma subsystems.  This series should be pulled
to both trees so we can continue netdev and rdma specific submissions
separately.

Mainly it includes two fixes for previous pull requests:
1. net/mlx5: Use MLX5_IPSEC_DEV macro for ipsec caps
 - Fixes Build issue when MLX5_ACCEL is not selected
2. net/mlx5: Fix wrongly assigned CQ reference counter
- Fixes a call trace warning when CONFIG_REFCOUNT_FULL is selected
 
And IPsec ESN netdev and user-space foundation and support,
For more information please see tag log below.

The series doesn't cause any conflict with the latest mlx5 rc fixes.

Thanks,
Saeed.

---

The following changes since commit e810bf5e96e327500cc6334f9d56c8047aaabcff:

  net/mlx5: Flow steering cmd interface should get the fte when deleting (2018-03-06 22:20:15 -0800)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/mellanox/linux.git tags/mlx5-updates-2018-02-28-2

for you to fetch changes up to 31135eb3887daf2ed3e88fbefc36243357a9008f:

  net/mlx5: Fix wrongly assigned CQ reference counter (2018-03-07 15:54:36 -0800)

----------------------------------------------------------------
mlx5-updates-2018-02-28-2 (IPSec-2)

This series follows our previous one to lay out the foundations for IPSec
in user-space and extend current kernel netdev IPSec support. As noted in
our previous pull request cover letter "mlx5-updates-2018-02-28-1 (IPSec-1)",
the IPSec mechanism will be supported through our flow steering mechanism.
Therefore, we need to change the initialization order. Furthermore, IPsec
is also supported in both egress and ingress. Since our current flow
steering is egress only, we add an empty (only implemented through FPGA
steering ops) egress namespace to handle that case. We also implement
the required flow steering callbacks and logic in our FPGA driver.

We extend the FPGA support for ESN and modifying a xfrm too. Therefore, we
add support for some new FPGA command interface that supports them. The
other required bits are added too. The new features and requirements are
advertised via cap bits.

Last but not least, we revise our driver's accel_esp API. This API will be
shared between our netdev and IB driver, so we need to have all the required
functionality from both worlds.

Regards,
Aviad and Matan

----------------------------------------------------------------
Aviad Yehezkel (7):
      net/mlx5: IPSec, Add command V2 support
      net/mlx5: Export ipsec capabilities
      net/mlx5: Added required metadata capability for ipsec
      net/mlx5: Refactor accel IPSec code
      net/mlx5: Add flow-steering commands for FPGA IPSec implementation
      net/mlx5e: Added common function for to_ipsec_sa_entry
      net/mlx5: IPSec, Add support for ESN

Leon Romanovsky (1):
      net/mlx5: Fix wrongly assigned CQ reference counter

Saeed Mahameed (1):
      net/mlx5: Use MLX5_IPSEC_DEV macro for ipsec caps

Yossi Kuperman (2):
      net/mlx5: IPSec, Generalize sandbox QP commands
      net/mlx5e: IPSec, Add support for ESP trailer removal by hardware

 .../net/ethernet/mellanox/mlx5/core/accel/ipsec.c  |   59 +-
 .../net/ethernet/mellanox/mlx5/core/accel/ipsec.h  |   96 +-
 drivers/net/ethernet/mellanox/mlx5/core/cq.c       |    3 +-
 .../ethernet/mellanox/mlx5/core/en_accel/ipsec.c   |  306 +++--
 .../ethernet/mellanox/mlx5/core/en_accel/ipsec.h   |   24 +
 .../mellanox/mlx5/core/en_accel/ipsec_rxtx.c       |   39 +-
 .../mellanox/mlx5/core/en_accel/ipsec_rxtx.h       |    5 +
 .../net/ethernet/mellanox/mlx5/core/fpga/ipsec.c   | 1280 +++++++++++++++++++-
 .../net/ethernet/mellanox/mlx5/core/fpga/ipsec.h   |   76 +-
 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c  |    8 +-
 drivers/net/ethernet/mellanox/mlx5/core/main.c     |    2 +
 include/linux/mlx5/accel.h                         |  144 +++
 include/linux/mlx5/fs.h                            |    3 +
 include/linux/mlx5/mlx5_ifc_fpga.h                 |   92 +-
 14 files changed, 1858 insertions(+), 279 deletions(-)
 create mode 100644 include/linux/mlx5/accel.h

Comments

David Miller March 8, 2018, 6:04 p.m. UTC | #1
From: Saeed Mahameed <saeedm@mellanox.com>
Date: Wed,  7 Mar 2018 17:26:03 -0800

> Hi Dave and Doug,
> 
> This series includes shared code updates (IPSec part2) for mlx5 core 
> driver for both netdev and rdma subsystems.  This series should be pulled
> to both trees so we can continue netdev and rdma specific submissions
> separately.

Doug, please give this series a quick review.

Thank you.
Doug Ledford March 8, 2018, 7:14 p.m. UTC | #2
On 3/8/2018 1:04 PM, David Miller wrote:
> From: Saeed Mahameed <saeedm@mellanox.com>
> Date: Wed,  7 Mar 2018 17:26:03 -0800
> 
>> Hi Dave and Doug,
>>
>> This series includes shared code updates (IPSec part2) for mlx5 core 
>> driver for both netdev and rdma subsystems.  This series should be pulled
>> to both trees so we can continue netdev and rdma specific submissions
>> separately.
> 
> Doug, please give this series a quick review.
> 
> Thank you.
> 

I'm good with it.  Pull it as you see fit.
Randy Dunlap March 8, 2018, 7:38 p.m. UTC | #3
On 03/08/2018 11:14 AM, Doug Ledford wrote:
> On 3/8/2018 1:04 PM, David Miller wrote:
>> From: Saeed Mahameed <saeedm@mellanox.com>
>> Date: Wed,  7 Mar 2018 17:26:03 -0800
>>
>>> Hi Dave and Doug,
>>>
>>> This series includes shared code updates (IPSec part2) for mlx5 core 
>>> driver for both netdev and rdma subsystems.  This series should be pulled
>>> to both trees so we can continue netdev and rdma specific submissions
>>> separately.
>>
>> Doug, please give this series a quick review.
>>
>> Thank you.
>>
> 
> I'm good with it.  Pull it as you see fit.
> 

I got this build error in today's linux-next (20180308):

../drivers/net/ethernet/mellanox/mlx5/core/fs_core.c: In function 'mlx5_init_fs':
../drivers/net/ethernet/mellanox/mlx5/core/fs_core.c:2652:2: error: implicit declaration of function 'mlx5_accel_ipsec_device_caps' [-Werror=implicit-function-declaration]
  if (mlx5_accel_ipsec_device_caps(steering->dev) &
  ^
../drivers/net/ethernet/mellanox/mlx5/core/fs_core.c:2653:6: error: 'MLX5_ACCEL_IPSEC_DEVICE' undeclared (first use in this function)
      MLX5_ACCEL_IPSEC_DEVICE) {
      ^
../drivers/net/ethernet


Is this perhaps fixed already?
Do you need the randconfig file?

thanks,
Doug Ledford March 8, 2018, 7:42 p.m. UTC | #4
On 3/8/2018 2:38 PM, Randy Dunlap wrote:
> On 03/08/2018 11:14 AM, Doug Ledford wrote:
>> On 3/8/2018 1:04 PM, David Miller wrote:
>>> From: Saeed Mahameed <saeedm@mellanox.com>
>>> Date: Wed,  7 Mar 2018 17:26:03 -0800
>>>
>>>> Hi Dave and Doug,
>>>>
>>>> This series includes shared code updates (IPSec part2) for mlx5 core 
>>>> driver for both netdev and rdma subsystems.  This series should be pulled
>>>> to both trees so we can continue netdev and rdma specific submissions
>>>> separately.
>>>
>>> Doug, please give this series a quick review.
>>>
>>> Thank you.
>>>
>>
>> I'm good with it.  Pull it as you see fit.
>>
> 
> I got this build error in today's linux-next (20180308):
> 
> ../drivers/net/ethernet/mellanox/mlx5/core/fs_core.c: In function 'mlx5_init_fs':
> ../drivers/net/ethernet/mellanox/mlx5/core/fs_core.c:2652:2: error: implicit declaration of function 'mlx5_accel_ipsec_device_caps' [-Werror=implicit-function-declaration]
>   if (mlx5_accel_ipsec_device_caps(steering->dev) &
>   ^
> ../drivers/net/ethernet/mellanox/mlx5/core/fs_core.c:2653:6: error: 'MLX5_ACCEL_IPSEC_DEVICE' undeclared (first use in this function)
>       MLX5_ACCEL_IPSEC_DEVICE) {
>       ^
> ../drivers/net/ethernet
> 
> 
> Is this perhaps fixed already?
> Do you need the randconfig file?
> 
> thanks,
> 

That's fixed by patch 1 of this series.
David Miller March 8, 2018, 7:43 p.m. UTC | #5
From: Randy Dunlap <rdunlap@infradead.org>
Date: Thu, 8 Mar 2018 11:38:02 -0800

> I got this build error in today's linux-next (20180308):
> 
> ../drivers/net/ethernet/mellanox/mlx5/core/fs_core.c: In function 'mlx5_init_fs':
> ../drivers/net/ethernet/mellanox/mlx5/core/fs_core.c:2652:2: error: implicit declaration of function 'mlx5_accel_ipsec_device_caps' [-Werror=implicit-function-declaration]
>   if (mlx5_accel_ipsec_device_caps(steering->dev) &
>   ^
> ../drivers/net/ethernet/mellanox/mlx5/core/fs_core.c:2653:6: error: 'MLX5_ACCEL_IPSEC_DEVICE' undeclared (first use in this function)
>       MLX5_ACCEL_IPSEC_DEVICE) {
>       ^
> ../drivers/net/ethernet
> 
> 
> Is this perhaps fixed already?

The very first patch in this series is a fix for this problem.
Saeed Mahameed March 12, 2018, 9:43 p.m. UTC | #6
On Thu, 2018-03-08 at 14:14 -0500, Doug Ledford wrote:
> On 3/8/2018 1:04 PM, David Miller wrote:

> > From: Saeed Mahameed <saeedm@mellanox.com>

> > Date: Wed,  7 Mar 2018 17:26:03 -0800

> > 

> > > Hi Dave and Doug,

> > > 

> > > This series includes shared code updates (IPSec part2) for mlx5

> > > core 

> > > driver for both netdev and rdma subsystems.  This series should

> > > be pulled

> > > to both trees so we can continue netdev and rdma specific

> > > submissions

> > > separately.

> > 

> > Doug, please give this series a quick review.

> > 

> > Thank you.

> > 

> 

> I'm good with it.  Pull it as you see fit.

> 


Hi Doug, 

Just FYI, I see that Dave already pulled the series into net-next.
I think you can pull as well, so Leon will start the mlx5 RDMA
submissions as planned on top this last pull request.

thanks,
Saeed.
Doug Ledford March 13, 2018, 1:43 a.m. UTC | #7
On Mon, 2018-03-12 at 21:43 +0000, Saeed Mahameed wrote:
> On Thu, 2018-03-08 at 14:14 -0500, Doug Ledford wrote:
> > On 3/8/2018 1:04 PM, David Miller wrote:
> > > From: Saeed Mahameed <saeedm@mellanox.com>
> > > Date: Wed,  7 Mar 2018 17:26:03 -0800
> > > 
> > > > Hi Dave and Doug,
> > > > 
> > > > This series includes shared code updates (IPSec part2) for mlx5
> > > > core 
> > > > driver for both netdev and rdma subsystems.  This series should
> > > > be pulled
> > > > to both trees so we can continue netdev and rdma specific
> > > > submissions
> > > > separately.
> > > 
> > > Doug, please give this series a quick review.
> > > 
> > > Thank you.
> > > 
> > 
> > I'm good with it.  Pull it as you see fit.
> > 
> 
> Hi Doug, 
> 
> Just FYI, I see that Dave already pulled the series into net-next.
> I think you can pull as well, so Leon will start the mlx5 RDMA
> submissions as planned on top this last pull request.
> 
> thanks,
> Saeed.

Ok, thanks Saeed.
Doug Ledford March 13, 2018, 7:52 p.m. UTC | #8
On Mon, 2018-03-12 at 21:43 -0400, Doug Ledford wrote:
> On Mon, 2018-03-12 at 21:43 +0000, Saeed Mahameed wrote:
> > On Thu, 2018-03-08 at 14:14 -0500, Doug Ledford wrote:
> > > On 3/8/2018 1:04 PM, David Miller wrote:
> > > > From: Saeed Mahameed <saeedm@mellanox.com>
> > > > Date: Wed,  7 Mar 2018 17:26:03 -0800
> > > > 
> > > > > Hi Dave and Doug,
> > > > > 
> > > > > This series includes shared code updates (IPSec part2) for mlx5
> > > > > core 
> > > > > driver for both netdev and rdma subsystems.  This series should
> > > > > be pulled
> > > > > to both trees so we can continue netdev and rdma specific
> > > > > submissions
> > > > > separately.
> > > > 
> > > > Doug, please give this series a quick review.
> > > > 
> > > > Thank you.
> > > > 
> > > 
> > > I'm good with it.  Pull it as you see fit.
> > > 
> > 
> > Hi Doug, 
> > 
> > Just FYI, I see that Dave already pulled the series into net-next.
> > I think you can pull as well, so Leon will start the mlx5 RDMA
> > submissions as planned on top this last pull request.
> > 
> > thanks,
> > Saeed.
> 
> Ok, thanks Saeed.
> 

Pulled and a new wip/dl-for-next is available.