All of lore.kernel.org
 help / color / mirror / Atom feed
* [RFC 00/10] net/mlx5: add support for multiport IB devices
@ 2019-02-28 18:02 Viacheslav Ovsiienko
  2019-02-28 18:02 ` [RFC 01/10] net/mlx5: add multiport IB device port structure Viacheslav Ovsiienko
                   ` (10 more replies)
  0 siblings, 11 replies; 114+ messages in thread
From: Viacheslav Ovsiienko @ 2019-02-28 18:02 UTC (permalink / raw)
  To: dev; +Cc: shahafs

The Mellanox NICs support SR-IOV and have E-Switch feature. 
When SR-IOV is set up in switchdev mode and E-Switch is enabled
we have so called VF representors in the system. All representors
belonging to the same E-Switch are created on the basis of the
single PCI function and with current implementation each representor
has its own dedicated Infiniband device and operates within its
own Infiniband context. It is proposed to provide representors
as ports of the single Infiniband device and operate on the
shared Infiniband context.

mlx5_pci_probe() routine is planned to be extended to probe
the ports of found Infiniband devices. All active ports,
belonging to the same Infiniband device will use the signle
shared Infiniband context of that device:
  - QP are created within shared context, with assigning to
    specified port
  - Verb flows are also created with specifying port index
  - Protection Domain is shared by all representors
  - Global Memory Regions Cache is shared by all representors,
    local ones are not (not in this patchset)
  - Shared Asynchronous Event Handler distributes events
    among the device ports (not in this patchset)
  - UAR mapping to user space is also shared (not in patchset)
	  
Each representor has its own attach network interface device,
interface name and index can be retrieved via IB device and
port index, so the link control is performed via Netlink
in the same way as in existing implementation.
	  
Signed-off-by: Viacheslav Ovsiienko <viacheslavo@mellanox.com>

Viacheslav Ovsiienko (10):
  net/mlx5: add multiport IB device port structure
  net/mlx5: modify get ifindex routine for multiport IB
  net/mlx5: add getting IB ports number for multiport IB
  net/mlx5: add multiport IB device support to probing
  net/mlx5: add IB shared context alloc/free functions
  net/mlx5: switch to the names in the shared IB context
  net/mlx5: switch to the shared Protection Domain
  net/mlx5: switch to the shared context IB attributes
  net/mlx5: switch to the shared IB device context
  net/mlx5: provide IB port for the object being created

 drivers/net/mlx5/mlx5.c            | 529 ++++++++++++++++++++++++++-----------
 drivers/net/mlx5/mlx5.h            |  34 ++-
 drivers/net/mlx5/mlx5_ethdev.c     |  29 +-
 drivers/net/mlx5/mlx5_flow.c       |   2 +
 drivers/net/mlx5/mlx5_flow_dv.c    |   8 +-
 drivers/net/mlx5/mlx5_flow_verbs.c |   7 +-
 drivers/net/mlx5/mlx5_mr.c         |   4 +-
 drivers/net/mlx5/mlx5_nl.c         |  65 ++++-
 drivers/net/mlx5/mlx5_rxq.c        |  41 +--
 drivers/net/mlx5/mlx5_socket.c     |   4 +-
 drivers/net/mlx5/mlx5_stats.c      |  22 +-
 drivers/net/mlx5/mlx5_trigger.c    |   2 +-
 drivers/net/mlx5/mlx5_txq.c        |  24 +-
 13 files changed, 545 insertions(+), 226 deletions(-)

-- 
1.8.3.1

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

end of thread, other threads:[~2019-04-02  4:49 UTC | newest]

Thread overview: 114+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-02-28 18:02 [RFC 00/10] net/mlx5: add support for multiport IB devices Viacheslav Ovsiienko
2019-02-28 18:02 ` [RFC 01/10] net/mlx5: add multiport IB device port structure Viacheslav Ovsiienko
2019-02-28 18:02 ` [RFC 02/10] net/mlx5: modify get ifindex routine for multiport IB Viacheslav Ovsiienko
2019-02-28 18:02 ` [RFC 03/10] net/mlx5: add getting IB ports number " Viacheslav Ovsiienko
2019-02-28 18:02 ` [RFC 04/10] net/mlx5: add multiport IB device support to probing Viacheslav Ovsiienko
2019-02-28 18:03 ` [RFC 05/10] net/mlx5: add IB shared context alloc/free functions Viacheslav Ovsiienko
2019-02-28 18:03 ` [RFC 06/10] net/mlx5: switch to the names in the shared IB context Viacheslav Ovsiienko
2019-02-28 18:03 ` [RFC 07/10] net/mlx5: switch to the shared Protection Domain Viacheslav Ovsiienko
2019-02-28 18:03 ` [RFC 08/10] net/mlx5: switch to the shared context IB attributes Viacheslav Ovsiienko
2019-02-28 18:03 ` [RFC 09/10] net/mlx5: switch to the shared IB device context Viacheslav Ovsiienko
2019-02-28 18:03 ` [RFC 10/10] net/mlx5: provide IB port for the object being created Viacheslav Ovsiienko
2019-03-21  8:11 ` [PATCH 00/14] net/mlx5: add support for multiport IB devices Viacheslav Ovsiienko
2019-03-21  8:11   ` [PATCH 01/14] net/mlx5: add representor recognition on kernels 5.x Viacheslav Ovsiienko
2019-03-21 12:13     ` Shahaf Shuler
2019-03-21 15:08       ` Stephen Hemminger
2019-03-21 15:31         ` Slava Ovsiienko
2019-03-21 19:08           ` Stephen Hemminger
2019-03-22  8:15             ` Slava Ovsiienko
2019-03-21  8:11   ` [PATCH 02/14] net/mlx5: introduce multiport IB device shared structure Viacheslav Ovsiienko
2019-03-21  8:11   ` [PATCH 03/14] net/mlx5: modify get ifindex routine for multiport IB Viacheslav Ovsiienko
2019-03-21 12:14     ` Shahaf Shuler
2019-03-21 12:58       ` Slava Ovsiienko
2019-03-21  8:11   ` [PATCH 04/14] net/mlx5: add getting IB ports number " Viacheslav Ovsiienko
2019-03-21 12:14     ` Shahaf Shuler
2019-03-21  8:11   ` [PATCH 05/14] net/mlx5: add multiport IB device support to probing Viacheslav Ovsiienko
2019-03-21 12:14     ` Shahaf Shuler
2019-03-21 12:54       ` Slava Ovsiienko
2019-03-21 12:57         ` Slava Ovsiienko
2019-03-24  9:00           ` Shahaf Shuler
2019-03-21  8:11   ` [PATCH 06/14] net/mlx5: add IB shared context alloc/free functions Viacheslav Ovsiienko
2019-03-21 12:14     ` Shahaf Shuler
2019-03-21  8:11   ` [PATCH 07/14] net/mlx5: switch to the names in the shared IB context Viacheslav Ovsiienko
2019-03-21 12:14     ` Shahaf Shuler
2019-03-21  8:11   ` [PATCH 08/14] net/mlx5: switch to the shared Protection Domain Viacheslav Ovsiienko
2019-03-21 12:14     ` Shahaf Shuler
2019-03-21  8:11   ` [PATCH 09/14] net/mlx5: switch to the shared context IB attributes Viacheslav Ovsiienko
2019-03-21 12:14     ` Shahaf Shuler
2019-03-21  8:11   ` [PATCH 10/14] net/mlx5: switch to the shared IB device context Viacheslav Ovsiienko
2019-03-21 12:14     ` Shahaf Shuler
2019-03-21  8:11   ` [PATCH 11/14] net/mlx5: provide IB port for the object being created Viacheslav Ovsiienko
2019-03-21 12:15     ` Shahaf Shuler
2019-03-21  8:11   ` [PATCH 12/14] net/mlx5: update install/uninstall int handler routines Viacheslav Ovsiienko
2019-03-21 12:15     ` Shahaf Shuler
2019-03-21 14:01       ` Slava Ovsiienko
2019-03-24  9:07         ` Shahaf Shuler
2019-03-21  8:11   ` [PATCH 13/14] net/mlx5: update event handler for multiport IB devices Viacheslav Ovsiienko
2019-03-21 12:15     ` Shahaf Shuler
2019-03-21 14:08       ` Slava Ovsiienko
2019-03-21  8:11   ` [PATCH 14/14] net/mlx5: add source vport match to the ingress rules Viacheslav Ovsiienko
2019-03-21 12:15     ` Shahaf Shuler
2019-03-21 14:11       ` Slava Ovsiienko
2019-03-24  9:13         ` Shahaf Shuler
2019-03-25  7:44           ` Slava Ovsiienko
2019-03-21 12:13   ` [PATCH 00/14] net/mlx5: add support for multiport IB devices Shahaf Shuler
2019-03-21 12:58     ` Slava Ovsiienko
2019-03-25 17:03   ` [PATCH v2 " Viacheslav Ovsiienko
2019-03-25 17:03     ` [PATCH v2 01/13] net/mlx5: add representor recognition on kernels 5.x Viacheslav Ovsiienko
2019-03-25 18:06       ` Stephen Hemminger
2019-03-25 18:07       ` Stephen Hemminger
2019-03-26  7:33         ` Slava Ovsiienko
2019-03-26 12:20       ` Shahaf Shuler
2019-03-25 17:03     ` [PATCH v2 02/13] net/mlx5: modify get ifindex routine for multiport IB Viacheslav Ovsiienko
2019-03-26 11:47       ` Shahaf Shuler
2019-03-25 17:03     ` [PATCH v2 03/13] net/mlx5: add getting IB ports number " Viacheslav Ovsiienko
2019-03-25 17:03     ` [PATCH v2 04/13] net/mlx5: add multiport IB device support to probing Viacheslav Ovsiienko
2019-03-26 12:02       ` Shahaf Shuler
2019-03-25 17:03     ` [PATCH v2 05/13] net/mlx5: add IB shared context alloc/free functions Viacheslav Ovsiienko
2019-03-26 12:10       ` Shahaf Shuler
2019-03-25 17:03     ` [PATCH v2 06/13] net/mlx5: switch to the names in the shared IB context Viacheslav Ovsiienko
2019-03-25 17:03     ` [PATCH v2 07/13] net/mlx5: switch to the shared Protection Domain Viacheslav Ovsiienko
2019-03-25 17:03     ` [PATCH v2 08/13] net/mlx5: switch to the shared context IB attributes Viacheslav Ovsiienko
2019-03-25 17:03     ` [PATCH v2 09/13] net/mlx5: switch to the shared IB device context Viacheslav Ovsiienko
2019-03-25 17:03     ` [PATCH v2 10/13] net/mlx5: provide IB port for the object being created Viacheslav Ovsiienko
2019-03-25 17:03     ` [PATCH v2 11/13] net/mlx5: update install/uninstall int handler routines Viacheslav Ovsiienko
2019-03-26 12:14       ` Shahaf Shuler
2019-03-25 17:03     ` [PATCH v2 12/13] net/mlx5: update event handler for multiport IB devices Viacheslav Ovsiienko
2019-03-26 12:16       ` Shahaf Shuler
2019-03-25 17:03     ` [PATCH v2 13/13] net/mlx5: add source vport match to the ingress rules Viacheslav Ovsiienko
2019-03-26 12:21       ` Shahaf Shuler
2019-03-26 15:35     ` [PATCH v3 00/14] net/mlx5: add support for multiport IB devices Viacheslav Ovsiienko
2019-03-26 15:35       ` [PATCH v3 01/13] net/mlx5: add representor recognition on kernels 5.x Viacheslav Ovsiienko
2019-03-26 19:37         ` Shahaf Shuler
2019-03-26 15:35       ` [PATCH v3 02/13] net/mlx5: modify get ifindex routine for multiport IB Viacheslav Ovsiienko
2019-03-26 15:35       ` [PATCH v3 03/13] net/mlx5: add getting IB ports number " Viacheslav Ovsiienko
2019-03-26 15:35       ` [PATCH v3 04/13] net/mlx5: add multiport IB device support to probing Viacheslav Ovsiienko
2019-03-26 15:35       ` [PATCH v3 05/13] net/mlx5: add IB shared context alloc/free functions Viacheslav Ovsiienko
2019-03-26 19:35         ` Shahaf Shuler
2019-03-26 15:35       ` [PATCH v3 06/13] net/mlx5: switch to the names in the shared IB context Viacheslav Ovsiienko
2019-03-26 15:35       ` [PATCH v3 07/13] net/mlx5: switch to the shared Protection Domain Viacheslav Ovsiienko
2019-03-26 15:35       ` [PATCH v3 08/13] net/mlx5: switch to the shared context IB attributes Viacheslav Ovsiienko
2019-03-26 15:35       ` [PATCH v3 09/13] net/mlx5: switch to the shared IB device context Viacheslav Ovsiienko
2019-03-26 15:35       ` [PATCH v3 10/13] net/mlx5: provide IB port for the object being created Viacheslav Ovsiienko
2019-03-26 15:35       ` [PATCH v3 11/13] net/mlx5: update install/uninstall int handler routines Viacheslav Ovsiienko
2019-03-26 15:35       ` [PATCH v3 12/13] net/mlx5: update event handler for multiport IB devices Viacheslav Ovsiienko
2019-03-26 15:35       ` [PATCH v3 13/13] net/mlx5: add source vport match to the ingress rules Viacheslav Ovsiienko
2019-03-26 19:38         ` Shahaf Shuler
2019-03-27  6:00       ` [PATCH v3 00/14] net/mlx5: add support for multiport IB devices Shahaf Shuler
2019-03-27  7:31         ` Slava Ovsiienko
2019-03-27 13:15       ` [PATCH v4 " Viacheslav Ovsiienko
2019-03-27 13:15         ` [PATCH v4 01/13] net/mlx5: add representor recognition on kernels 5.x Viacheslav Ovsiienko
2019-03-27 13:15         ` [PATCH v4 02/13] net/mlx5: modify get ifindex routine for multiport IB Viacheslav Ovsiienko
2019-03-27 13:15         ` [PATCH v4 03/13] net/mlx5: add getting IB ports number " Viacheslav Ovsiienko
2019-03-27 13:15         ` [PATCH v4 04/13] net/mlx5: add multiport IB device support to probing Viacheslav Ovsiienko
2019-03-27 13:15         ` [PATCH v4 05/13] net/mlx5: add IB shared context alloc/free functions Viacheslav Ovsiienko
2019-03-27 13:15         ` [PATCH v4 06/13] net/mlx5: switch to the names in the shared IB context Viacheslav Ovsiienko
2019-03-27 13:15         ` [PATCH v4 07/13] net/mlx5: switch to the shared Protection Domain Viacheslav Ovsiienko
2019-03-27 13:15         ` [PATCH v4 08/13] net/mlx5: switch to the shared context IB attributes Viacheslav Ovsiienko
2019-03-27 13:15         ` [PATCH v4 09/13] net/mlx5: switch to the shared IB device context Viacheslav Ovsiienko
2019-04-02  4:49           ` Shahaf Shuler
2019-03-27 13:15         ` [PATCH v4 10/13] net/mlx5: provide IB port for the object being created Viacheslav Ovsiienko
2019-03-27 13:15         ` [PATCH v4 11/13] net/mlx5: update install/uninstall int handler routines Viacheslav Ovsiienko
2019-03-27 13:15         ` [PATCH v4 12/13] net/mlx5: update event handler for multiport IB devices Viacheslav Ovsiienko
2019-03-27 13:15         ` [PATCH v4 13/13] net/mlx5: add source vport match to the ingress rules Viacheslav Ovsiienko
2019-03-28  9:21         ` [PATCH v4 00/14] net/mlx5: add support for multiport IB devices Shahaf Shuler

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.