netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [pull request][for-next 00/15] Mellanox, mlx5 RDMA E-Switch representors 2018-02-23
@ 2018-02-26 20:36 Saeed Mahameed
  2018-02-26 20:36 ` [for-next 01/15] net/mlx5: E-Switch, Add callback to get representor device Saeed Mahameed
                   ` (16 more replies)
  0 siblings, 17 replies; 19+ messages in thread
From: Saeed Mahameed @ 2018-02-26 20:36 UTC (permalink / raw)
  To: David S. Miller, Doug Ledford, Jason Gunthorpe
  Cc: Leon Romanovsky, Mark Bloch, Or Gerlitz, netdev, linux-rdma,
	Saeed Mahameed

Hi Doug and Dave,

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.

P.S. We expect one more shared code pull requests.

Since this series contains more work on RDMA than mlx5 eswitch, I would
like to get Doug's or Jason's approval before pulling it in.

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

Thanks,
Saeed.

---

The following changes since commit 388ca8be00370db132464e27f745b8a0add19fcb:

  IB/mlx5: Implement fragmented completion queue (CQ) (2018-02-15 00:30:03 -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-23

for you to fetch changes up to ec9c2fb8ceb5b514c4820f732537cb2982de0620:

  IB/mlx5: Disable self loopback check when in switchdev mode (2018-02-23 12:36:39 -0800)

----------------------------------------------------------------
mlx5-update-2018-02-23 (IB representors)

From: Mark Bloch <markb@mellanox.com>
=========
Add IB representor when in switchdev mode

The following series adds support for an IB (RAW Ethernet only) device
representor which is created when the user switches to switchdev mode.

Today when switching to switchdev mode the only representors which are
created are net devices. Each netdev is a representor of a virtual
function and any data sent via the representor is received on the virtual
function, and any data sent via the virtual function is received by the
representor.

For the mlx5 driver the main use of this functionality is to be able to
use Open vSwitch on the hypervisor in order to manage/control traffic
from/to the virtual functions. Open vSwitch can also work with  DPDK
devices and not just net devices, this series exposes an IB device, which
Mellanox PMD driver uses, which then can be used by Open vSwitch DPDK.

An IB device representor exposes only RAW Ethernet QP capabilities and
the ability to create flow rules to direct traffic to its RX queues. The
state of the IB device (ACTIVE/DOWN etc..) is based on the state of the
corresponding net device representor. No other RDMA/RoCE functionality is
currently supported and no GID table is exposed.
=========

----------------------------------------------------------------
Mark Bloch (15):
      net/mlx5: E-Switch, Add callback to get representor device
      net/mlx5: E-Switch, Move representors definition to a global scope
      net/mlx5: E-Switch, Increase number of FTEs in FDB in switchdev mode
      net/mlx5: E-Switch, Optimize HW steering tables in switchdev mode
      net/mlx5: E-Switch, Add definition of IB representor
      IB/mlx5: Add basic regiser/unregister representors code
      IB/mlx5: Allocate flow DB only on PF IB device
      IB/mlx5: Add match on vport when in switchdev mode
      IB/mlx5: Listen to netdev register/unresiter events in switchdev mode
      IB/mlx5: When in switchdev mode, expose only raw packet capabilities
      IB/mlx5: Don't expose MR cache in switchdev mode
      IB/mlx5: E-Switch, Add rule to forward traffic to vport
      IB/mlx5: Add proper representors support
      net/mlx5: E-Switch, Reload IB interface when switching devlink modes
      IB/mlx5: Disable self loopback check when in switchdev mode

 drivers/infiniband/hw/mlx5/Makefile                |   1 +
 drivers/infiniband/hw/mlx5/ib_rep.c                | 189 +++++++++++
 drivers/infiniband/hw/mlx5/ib_rep.h                |  72 ++++
 drivers/infiniband/hw/mlx5/main.c                  | 361 ++++++++++++++++-----
 drivers/infiniband/hw/mlx5/mlx5_ib.h               |  32 +-
 drivers/infiniband/hw/mlx5/mr.c                    |   5 +-
 drivers/infiniband/hw/mlx5/qp.c                    |  24 ++
 drivers/net/ethernet/mellanox/mlx5/core/dev.c      |   8 +
 drivers/net/ethernet/mellanox/mlx5/core/en_rep.c   |  11 +
 drivers/net/ethernet/mellanox/mlx5/core/eswitch.c  |  23 +-
 drivers/net/ethernet/mellanox/mlx5/core/eswitch.h  |  42 +--
 .../ethernet/mellanox/mlx5/core/eswitch_offloads.c | 104 ++++--
 .../net/ethernet/mellanox/mlx5/core/mlx5_core.h    |   7 +-
 include/linux/mlx5/driver.h                        |   6 +
 include/linux/mlx5/eswitch.h                       |  58 ++++
 15 files changed, 796 insertions(+), 147 deletions(-)
 create mode 100644 drivers/infiniband/hw/mlx5/ib_rep.c
 create mode 100644 drivers/infiniband/hw/mlx5/ib_rep.h
 create mode 100644 include/linux/mlx5/eswitch.h

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

end of thread, other threads:[~2018-02-28 18:39 UTC | newest]

Thread overview: 19+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-02-26 20:36 [pull request][for-next 00/15] Mellanox, mlx5 RDMA E-Switch representors 2018-02-23 Saeed Mahameed
2018-02-26 20:36 ` [for-next 01/15] net/mlx5: E-Switch, Add callback to get representor device Saeed Mahameed
2018-02-26 20:36 ` [for-next 02/15] net/mlx5: E-Switch, Move representors definition to a global scope Saeed Mahameed
2018-02-26 20:36 ` [for-next 03/15] net/mlx5: E-Switch, Increase number of FTEs in FDB in switchdev mode Saeed Mahameed
2018-02-26 20:36 ` [for-next 04/15] net/mlx5: E-Switch, Optimize HW steering tables " Saeed Mahameed
2018-02-26 20:36 ` [for-next 05/15] net/mlx5: E-Switch, Add definition of IB representor Saeed Mahameed
2018-02-26 20:36 ` [for-next 06/15] IB/mlx5: Add basic regiser/unregister representors code Saeed Mahameed
2018-02-26 20:36 ` [for-next 07/15] IB/mlx5: Allocate flow DB only on PF IB device Saeed Mahameed
2018-02-26 20:36 ` [for-next 08/15] IB/mlx5: Add match on vport when in switchdev mode Saeed Mahameed
2018-02-26 20:36 ` [for-next 09/15] IB/mlx5: Listen to netdev register/unresiter events " Saeed Mahameed
2018-02-26 20:36 ` [for-next 10/15] IB/mlx5: When in switchdev mode, expose only raw packet capabilities Saeed Mahameed
2018-02-26 20:36 ` [for-next 11/15] IB/mlx5: Don't expose MR cache in switchdev mode Saeed Mahameed
2018-02-26 20:36 ` [for-next 12/15] IB/mlx5: E-Switch, Add rule to forward traffic to vport Saeed Mahameed
2018-02-26 20:36 ` [for-next 13/15] IB/mlx5: Add proper representors support Saeed Mahameed
2018-02-26 20:36 ` [for-next 14/15] net/mlx5: E-Switch, Reload IB interface when switching devlink modes Saeed Mahameed
2018-02-26 20:36 ` [for-next 15/15] IB/mlx5: Disable self loopback check when in switchdev mode Saeed Mahameed
2018-02-28  3:50 ` [pull request][for-next 00/15] Mellanox, mlx5 RDMA E-Switch representors 2018-02-23 Doug Ledford
2018-02-28 14:55 ` David Miller
2018-02-28 18:39   ` Doug Ledford

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).