netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [pull request][for-next 00/14] Mellanox, mlx5 IPSec updates 2018-02-28-1
@ 2018-03-05 20:46 Saeed Mahameed
  2018-03-05 20:46 ` [for-next 01/14] net/mlx5: Fixed sparse issues Saeed Mahameed
                   ` (13 more replies)
  0 siblings, 14 replies; 24+ messages in thread
From: Saeed Mahameed @ 2018-03-05 20:46 UTC (permalink / raw)
  To: David S. Miller, Doug Ledford
  Cc: netdev, linux-rdma, Leon Romanovsky, Jason Gunthorpe,
	Aviad Yehezkel, Matan Barak, Boris Pismenny, Saeed Mahameed

Hi Dave and Doug,

This series includes shared code updates 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.

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 ec9c2fb8ceb5b514c4820f732537cb2982de0620:

  IB/mlx5: Disable self loopback check when in switchdev mode (2018-02-23 12:36:39 -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-1

for you to fetch changes up to 56e696039fe94572a9e090aaffd852b327965bf3:

  net/mlx5: Flow steering cmd interface should get the fte when deleting (2018-03-05 11:41:48 -0800)

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

This series consists of some fixes and refactors for the mlx5 drivers,
especially around the FPGA and flow steering. Most of them are trivial
fixes and are the foundation of allowing IPSec acceleration from user-space.

We use flow steering abstraction in order to accelerate IPSec packets.
When a user creates a steering rule, [s]he states that we'll carry an
encrypt/decrypt flow action (using a specific configuration) for every
packet which conforms to a certain match. Since currently offloading these
packets is done via FPGA, we'll add another set of flow steering ops.
These ops will execute the required FPGA commands and then call the
standard steering ops.

In order to achieve this, we need that the commands will get all the
required information. Therefore, we pass the fte object and embed the
flow_action struct inside the fte. In addition, we add the shim layer
that will later be used for alternating between the standard and the
FPGA steering commands.

Some fixes, like " net/mlx5e: Wait for FPGA command responses with a timeout"
are very relevant for user-space applications, as these applications could
be killed, but we still want to wait for the FPGA and update the kernel's
database.

Regards,
Aviad and Matan

----------------------------------------------------------------
Aviad Yehezkel (8):
      net/mlx5: Fixed sparse issues
      IB/mlx5: Removed not used parameters
      net/mlx5: Fixed compilation issue when CONFIG_MLX5_ACCEL is disabled
      net/mlx5e: Wait for FPGA command responses with a timeout
      net/mlx5e: Fixed sleeping inside atomic context
      net/mlx5e: Removed not need synchronize_rcu
      net/mlx5: Add empty egress namespace to flow steering core
      net/mlx5: Flow steering cmd interface should get the fte when deleting

Boris Pismenny (2):
      IB/mlx5: Pass mlx5_flow_act struct instead of multiple arguments
      {net,IB}/mlx5: Add flow steering helpers

Matan Barak (4):
      net/mlx5: FPGA and IPSec initialization to be before flow steering
      {net,IB}/mlx5: Add has_tag to mlx5_flow_act
      net/mlx5: Add shim layer between fs and cmd
      net/mlx5: Embed mlx5_flow_act into fs_fte

 drivers/infiniband/hw/mlx5/main.c                  |  30 ++-
 drivers/infiniband/hw/mlx5/qp.c                    |   3 -
 .../net/ethernet/mellanox/mlx5/core/accel/ipsec.h  |   4 +-
 .../mellanox/mlx5/core/diag/fs_tracepoint.c        |   3 +
 .../mellanox/mlx5/core/diag/fs_tracepoint.h        |   4 +-
 .../ethernet/mellanox/mlx5/core/en_accel/ipsec.c   |  17 +-
 drivers/net/ethernet/mellanox/mlx5/core/en_main.c  |   4 +-
 drivers/net/ethernet/mellanox/mlx5/core/en_rx.c    |   1 +
 drivers/net/ethernet/mellanox/mlx5/core/en_tc.c    |   1 +
 .../net/ethernet/mellanox/mlx5/core/fpga/ipsec.c   |   9 +-
 drivers/net/ethernet/mellanox/mlx5/core/fs_cmd.c   | 208 +++++++++++++++++----
 drivers/net/ethernet/mellanox/mlx5/core/fs_cmd.h   |  72 +++----
 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c  | 136 +++++++++-----
 drivers/net/ethernet/mellanox/mlx5/core/fs_core.h  |   8 +-
 .../net/ethernet/mellanox/mlx5/core/lib/clock.c    |   1 +
 .../net/ethernet/mellanox/mlx5/core/lib/clock.h    |   2 +
 drivers/net/ethernet/mellanox/mlx5/core/main.c     |  39 ++--
 include/linux/mlx5/fs.h                            |   2 +
 include/linux/mlx5/fs_helpers.h                    | 134 +++++++++++++
 include/linux/mlx5/mlx5_ifc.h                      |   9 +-
 20 files changed, 501 insertions(+), 186 deletions(-)
 create mode 100644 include/linux/mlx5/fs_helpers.h

^ permalink raw reply	[flat|nested] 24+ messages in thread

end of thread, other threads:[~2018-03-07  6:05 UTC | newest]

Thread overview: 24+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-03-05 20:46 [pull request][for-next 00/14] Mellanox, mlx5 IPSec updates 2018-02-28-1 Saeed Mahameed
2018-03-05 20:46 ` [for-next 01/14] net/mlx5: Fixed sparse issues Saeed Mahameed
2018-03-05 20:53   ` Or Gerlitz
2018-03-07  6:05     ` Saeed Mahameed
2018-03-05 20:55   ` Sergei Shtylyov
2018-03-05 20:46 ` [for-next 02/14] IB/mlx5: Removed not used parameters Saeed Mahameed
2018-03-05 20:54   ` Jason Gunthorpe
2018-03-05 20:46 ` [for-next 03/14] net/mlx5: Fixed compilation issue when CONFIG_MLX5_ACCEL is disabled Saeed Mahameed
2018-03-05 20:46 ` [for-next 04/14] net/mlx5e: Wait for FPGA command responses with a timeout Saeed Mahameed
2018-03-05 20:46 ` [for-next 05/14] net/mlx5e: Fixed sleeping inside atomic context Saeed Mahameed
2018-03-05 20:46 ` [for-next 06/14] net/mlx5e: Removed not need synchronize_rcu Saeed Mahameed
2018-03-05 20:46 ` [for-next 07/14] net/mlx5: FPGA and IPSec initialization to be before flow steering Saeed Mahameed
2018-03-05 20:46 ` [for-next 08/14] IB/mlx5: Pass mlx5_flow_act struct instead of multiple arguments Saeed Mahameed
2018-03-05 21:05   ` Jason Gunthorpe
2018-03-05 20:46 ` [for-next 09/14] {net,IB}/mlx5: Add has_tag to mlx5_flow_act Saeed Mahameed
2018-03-05 21:07   ` Jason Gunthorpe
2018-03-07  6:01     ` Saeed Mahameed
2018-03-05 20:46 ` [for-next 10/14] net/mlx5: Add shim layer between fs and cmd Saeed Mahameed
2018-03-05 21:03   ` Jason Gunthorpe
2018-03-07  5:54     ` Saeed Mahameed
2018-03-05 20:46 ` [for-next 11/14] net/mlx5: Add empty egress namespace to flow steering core Saeed Mahameed
2018-03-05 20:46 ` [for-next 12/14] net/mlx5: Embed mlx5_flow_act into fs_fte Saeed Mahameed
2018-03-05 20:46 ` [for-next 13/14] {net,IB}/mlx5: Add flow steering helpers Saeed Mahameed
2018-03-05 20:46 ` [for-next 14/14] net/mlx5: Flow steering cmd interface should get the fte when deleting Saeed Mahameed

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).