linux-rdma.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH for-next V2 00/11] Add RoCE v2 support
@ 2015-12-03 13:47 Matan Barak
       [not found] ` <1449150450-13679-1-git-send-email-matanb-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
  0 siblings, 1 reply; 66+ messages in thread
From: Matan Barak @ 2015-12-03 13:47 UTC (permalink / raw)
  To: Doug Ledford
  Cc: linux-rdma-u79uwXL29TY76Z2rM5mHXA, Matan Barak, Eran Ben Elisha,
	Haggai Eran, Or Gerlitz, Jason Gunthorpe, Somnath Kotur

Hi Doug,

This series adds the support for RoCE v2. In order to support RoCE v2,
we add gid_type attribute to every GID. When the RoCE GID management
populates the GID table, it duplicates each GID with all supported types.
This gives the user the ability to communicate over each supported
type.

Patch 0001, 0002 and 0003 add support for multiple GID types to the
cache and related APIs. The third patch exposes the GID attributes
information is sysfs.

Patch 0004 adds the RoCE v2 GID type and the capabilities required
from the vendor in order to implement RoCE v2. These capabilities
are grouped together as RDMA_CORE_PORT_IBA_ROCE_UDP_ENCAP.

RoCE v2 could work at IPv4 and IPv6 networks. When receiving ib_wc, this
information should come from the vendor's driver. In case the vendor
doesn't supply this information, we parse the packet headers and resolve
its network type. Patch 0005 adds this information and required utilities.

Patches 0006 and 0007 adds route validation. This is mandatory to ensure
that we send packets using GIDS which corresponds to a net-device that
can be routed to the destination.

Patches 0008 and 0009 add configfs support (and the required
infrastructure) for CMA. The administrator should be able to set the
default RoCE type. This is done through a new per-port
default_roce_mode configfs file.

Patch 0010 formats a QP1 packet in order to support RoCE v2 CM
packets. This is required for vendors which implement their
QP1 as a Raw QP.

Patch 0011 adds support for IPv4 multicast as an IPv4 network
requires IGMP to be sent in order to join multicast groups.

Vendors code aren't part of this patch-set. Soft-Roce will be
sent soon and depends on these patches. Other vendors, like
mlx4, ocrdma and mlx5 will follow.

This patch is applied on "Change per-entry locks in GID cache to table lock"
which was sent to the mailing list.

Thanks,
Matan

Changed from V1:
 - Rebased against Linux 4.4-rc2 master branch.
 - Add route validation
 - ConfigFS - avoid compiling INFINIBAND=y and CONFIGFS_FS=m
 - Add documentation for configfs and sysfs ABI
 - Remove ifindex and gid_type from mcmember

Changes from V0:
 - Rebased patches against Doug's latest k.o/for-4.4 tree.
 - Fixed a bug in configfs (rmdir caused an incorrect free).

Matan Barak (8):
  IB/core: Add gid_type to gid attribute
  IB/cm: Use the source GID index type
  IB/core: Add gid attributes to sysfs
  IB/core: Add ROCE_UDP_ENCAP (RoCE V2) type
  IB/core: Move rdma_is_upper_dev_rcu to header file
  IB/core: Validate route in ib_init_ah_from_wc and ib_init_ah_from_path
  IB/rdma_cm: Add wrapper for cma reference count
  IB/cma: Add configfs for rdma_cm

Moni Shoua (2):
  IB/core: Initialize UD header structure with IP and UDP headers
  IB/cma: Join and leave multicast groups with IGMP

Somnath Kotur (1):
  IB/core: Add rdma_network_type to wc

 Documentation/ABI/testing/configfs-rdma_cm       |  22 ++
 Documentation/ABI/testing/sysfs-class-infiniband |  16 ++
 drivers/infiniband/Kconfig                       |   9 +
 drivers/infiniband/core/Makefile                 |   2 +
 drivers/infiniband/core/addr.c                   | 185 +++++++++----
 drivers/infiniband/core/cache.c                  | 169 ++++++++----
 drivers/infiniband/core/cm.c                     |  31 ++-
 drivers/infiniband/core/cma.c                    | 261 ++++++++++++++++--
 drivers/infiniband/core/cma_configfs.c           | 321 +++++++++++++++++++++++
 drivers/infiniband/core/core_priv.h              |  45 ++++
 drivers/infiniband/core/device.c                 |  10 +-
 drivers/infiniband/core/multicast.c              |  17 +-
 drivers/infiniband/core/roce_gid_mgmt.c          |  81 ++++--
 drivers/infiniband/core/sa_query.c               |  76 +++++-
 drivers/infiniband/core/sysfs.c                  | 184 ++++++++++++-
 drivers/infiniband/core/ud_header.c              | 155 ++++++++++-
 drivers/infiniband/core/uverbs_marshall.c        |   1 +
 drivers/infiniband/core/verbs.c                  | 170 ++++++++++--
 drivers/infiniband/hw/mlx4/qp.c                  |   7 +-
 drivers/infiniband/hw/mthca/mthca_qp.c           |   2 +-
 drivers/infiniband/hw/ocrdma/ocrdma_ah.c         |   2 +-
 include/rdma/ib_addr.h                           |  11 +-
 include/rdma/ib_cache.h                          |   4 +
 include/rdma/ib_pack.h                           |  45 +++-
 include/rdma/ib_sa.h                             |   3 +
 include/rdma/ib_verbs.h                          |  78 +++++-
 26 files changed, 1704 insertions(+), 203 deletions(-)
 create mode 100644 Documentation/ABI/testing/configfs-rdma_cm
 create mode 100644 Documentation/ABI/testing/sysfs-class-infiniband
 create mode 100644 drivers/infiniband/core/cma_configfs.c

-- 
2.1.0

--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 66+ messages in thread
* RE: [PATCH for-next V2 05/11] IB/core: Add rdma_network_type to wc
@ 2015-12-07 18:19 cait-DpaxOq6QOWMAvxtiuMwx3w
       [not found] ` <20151207111945.48b52fb35c6f209c51bccbb9807b6df0.d873ff1393.wbe-wCzC33v8tqnShzhksYgB+AejPw4fNl8p@public.gmane.org>
  0 siblings, 1 reply; 66+ messages in thread
From: cait-DpaxOq6QOWMAvxtiuMwx3w @ 2015-12-07 18:19 UTC (permalink / raw)
  To: Moni Shoua, Jason Gunthorpe
  Cc: Liran Liss, Christoph Hellwig, Matan Barak, Doug Ledford,
	linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	Eran Ben Elisha, Haggai Eran, Or Gerlitz, Somnath Kotur

Moni Shoua asked:



> but how? all you have in hand is the sgid which can appear several

> times in the GID table in different indices.


Step back and review the context.

Adding an extra field to the WC is *not* going to redesign the hardware.

Anything that software can do in the verbs library you can do yourself.

The justification for including something in the work completion would
have
to be that the field was something almost always desired so that the it
made
sense to figure it out for everyone, even those that did not need it.

If this is a tricky calculation that would call for a library utiity
routine
to do it, not performing it on every completion.

--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

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

end of thread, other threads:[~2015-12-17 10:14 UTC | newest]

Thread overview: 66+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-12-03 13:47 [PATCH for-next V2 00/11] Add RoCE v2 support Matan Barak
     [not found] ` <1449150450-13679-1-git-send-email-matanb-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
2015-12-03 13:47   ` [PATCH for-next V2 01/11] IB/core: Add gid_type to gid attribute Matan Barak
2015-12-03 13:47   ` [PATCH for-next V2 02/11] IB/cm: Use the source GID index type Matan Barak
2015-12-03 13:47   ` [PATCH for-next V2 03/11] IB/core: Add gid attributes to sysfs Matan Barak
2015-12-03 13:47   ` [PATCH for-next V2 04/11] IB/core: Add ROCE_UDP_ENCAP (RoCE V2) type Matan Barak
2015-12-03 13:47   ` [PATCH for-next V2 05/11] IB/core: Add rdma_network_type to wc Matan Barak
     [not found]     ` <1449150450-13679-6-git-send-email-matanb-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
2015-12-03 14:05       ` Christoph Hellwig
     [not found]         ` <20151203140543.GA4283-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>
2015-12-03 16:19           ` Matan Barak
2015-12-03 16:20           ` Liran Liss
     [not found]             ` <HE1PR05MB141857FA57EECD82D1533543B10D0-eBadYZ65MZ87O8BmmlM1zNqRiQSDpxhJvxpqHgZTriW3zl9H0oFU5g@public.gmane.org>
2015-12-06 14:03               ` Christoph Hellwig
     [not found]                 ` <20151206140307.GB25487-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>
2015-12-06 14:20                   ` Moni Shoua
2015-12-07  6:02               ` Jason Gunthorpe
     [not found]                 ` <20151207060241.GA19038-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2015-12-07  6:15                   ` Moni Shoua
     [not found]                     ` <CAG9sBKO0rsSQK1WcyBciZEONWJsusw9GwR19H7FfAsebEH63dg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-12-07  6:34                       ` Jason Gunthorpe
     [not found]                         ` <20151207063415.GB20066-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2015-12-07  6:37                           ` Moni Shoua
     [not found]                             ` <CAG9sBKMBt6Toa25Ouasr7hudAcOYrxZyBUFYMXzrMTFZvooWfQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-12-07 17:12                               ` Jason Gunthorpe
     [not found]                                 ` <20151207171228.GA26969-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2015-12-07 18:34                                   ` Moni Shoua
     [not found]                                     ` <CAG9sBKNXnzp7PgJhfcjbYvje5qgZWYqygJYkbs4WyTZtDc4ckg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-12-07 18:48                                       ` Jason Gunthorpe
     [not found]                                         ` <20151207184832.GA21402-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2015-12-08  7:23                                           ` Moni Shoua
     [not found]                                             ` <CAG9sBKNWMQA3XDGpDc_+2QoJcnnNL9o67p0JNoVqrU0u9UQCrA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-12-08 22:52                                               ` Jason Gunthorpe
     [not found]                                                 ` <20151208225251.GA27609-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2015-12-09  9:34                                                   ` Moni Shoua
     [not found]                                                     ` <CAG9sBKM2s9BMv8priCHnFaMcSnuafn4vf+6+0Rooc6Gw0ZSaLA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-12-09 18:01                                                       ` Jason Gunthorpe
     [not found]                                                         ` <20151209180129.GD31636-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2015-12-10  7:58                                                           ` Moni Shoua
     [not found]                                                             ` <CAG9sBKPNWsO7ugdyhd5sYp_yOSrUkG0b-Lfq6Eenrydg3MzyvQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-12-10 17:38                                                               ` Jason Gunthorpe
2015-12-09  9:38                                                   ` Liran Liss
     [not found]                                                     ` <HE1PR05MB1418B1F0F393AD0D92424043B1E80-eBadYZ65MZ87O8BmmlM1zNqRiQSDpxhJvxpqHgZTriW3zl9H0oFU5g@public.gmane.org>
2015-12-09 18:09                                                       ` Jason Gunthorpe
     [not found]                                                         ` <20151209180920.GE31636-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2015-12-10  7:53                                                           ` Moni Shoua
2015-12-13 13:56                                                           ` Liran Liss
     [not found]                                                             ` <HE1PR05MB141868A873246D76F580401FB1EC0-eBadYZ65MZ87O8BmmlM1zNqRiQSDpxhJvxpqHgZTriW3zl9H0oFU5g@public.gmane.org>
2015-12-13 14:03                                                               ` Matan Barak
2015-12-09  9:41                                           ` Moni Shoua
2015-12-07  6:21                   ` Parav Pandit
2015-12-03 16:36       ` Jason Gunthorpe
2015-12-03 13:47   ` [PATCH for-next V2 06/11] IB/core: Move rdma_is_upper_dev_rcu to header file Matan Barak
2015-12-03 13:47   ` [PATCH for-next V2 07/11] IB/core: Validate route in ib_init_ah_from_wc and ib_init_ah_from_path Matan Barak
2015-12-03 13:47   ` [PATCH for-next V2 08/11] IB/rdma_cm: Add wrapper for cma reference count Matan Barak
2015-12-03 13:47   ` [PATCH for-next V2 09/11] IB/cma: Add configfs for rdma_cm Matan Barak
2015-12-03 13:47   ` [PATCH for-next V2 10/11] IB/core: Initialize UD header structure with IP and UDP headers Matan Barak
2015-12-03 13:47   ` [PATCH for-next V2 11/11] IB/cma: Join and leave multicast groups with IGMP Matan Barak
2015-12-03 13:47   ` [PATCH for-next V2 00/11] Add RoCE v2 support Matan Barak
2015-12-03 13:47   ` [PATCH for-next V2 01/11] IB/core: Add gid_type to gid attribute Matan Barak
2015-12-03 13:47   ` [PATCH for-next V2 02/11] IB/cm: Use the source GID index type Matan Barak
2015-12-03 13:47   ` [PATCH for-next V2 03/11] IB/core: Add gid attributes to sysfs Matan Barak
2015-12-03 13:47   ` [PATCH for-next V2 04/11] IB/core: Add ROCE_UDP_ENCAP (RoCE V2) type Matan Barak
2015-12-03 13:47   ` [PATCH for-next V2 05/11] IB/core: Add rdma_network_type to wc Matan Barak
2015-12-03 13:47   ` [PATCH for-next V2 06/11] IB/core: Move rdma_is_upper_dev_rcu to header file Matan Barak
2015-12-03 13:47   ` [PATCH for-next V2 07/11] IB/core: Validate route in ib_init_ah_from_wc and ib_init_ah_from_path Matan Barak
     [not found]     ` <1449150450-13679-20-git-send-email-matanb-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
2015-12-07 13:42       ` Haggai Eran
     [not found]         ` <56658CB4.7090402-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
2015-12-10 17:36           ` Matan Barak
2015-12-03 13:47   ` [PATCH for-next V2 08/11] IB/rdma_cm: Add wrapper for cma reference count Matan Barak
2015-12-03 13:47   ` [PATCH for-next V2 09/11] IB/cma: Add configfs for rdma_cm Matan Barak
2015-12-03 13:47   ` [PATCH for-next V2 10/11] IB/core: Initialize UD header structure with IP and UDP headers Matan Barak
2015-12-03 13:47   ` [PATCH for-next V2 11/11] IB/cma: Join and leave multicast groups with IGMP Matan Barak
2015-12-15  7:15   ` [PATCH for-next V2 00/11] Add RoCE v2 support Moni Shoua
     [not found]     ` <CAG9sBKM7j6w+Gk4PXXO+0mHpFeVaBdeNmr-z9V9fPR562o+kmw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-12-15 21:45       ` Doug Ledford
     [not found]         ` <567089F1.30004-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2015-12-15 22:00           ` Jason Gunthorpe
     [not found]             ` <20151215220033.GB30404-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2015-12-16  9:57               ` Liran Liss
     [not found]                 ` <HE1PR05MB14188FDA12D077BA2720C84BB1EF0-eBadYZ65MZ87O8BmmlM1zNqRiQSDpxhJvxpqHgZTriW3zl9H0oFU5g@public.gmane.org>
2015-12-16 18:02                   ` Jason Gunthorpe
2015-12-16  6:56           ` Moni Shoua
     [not found]             ` <CAG9sBKNa4Hd0WVqhZCLeqXjc2zE2h+dBwF6zVgGT0R_Gt1FEwA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-12-16 18:13               ` Jason Gunthorpe
2015-12-16 20:39               ` Doug Ledford
     [not found]                 ` <5671CBF4.4060602-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2015-12-16 21:25                   ` Jason Gunthorpe
2015-12-17 10:04                   ` Moni Shoua
2015-12-17 10:14                   ` Liran Liss
2015-12-16 14:18           ` Liran Liss
  -- strict thread matches above, loose matches on Subject: below --
2015-12-07 18:19 [PATCH for-next V2 05/11] IB/core: Add rdma_network_type to wc cait-DpaxOq6QOWMAvxtiuMwx3w
     [not found] ` <20151207111945.48b52fb35c6f209c51bccbb9807b6df0.d873ff1393.wbe-wCzC33v8tqnShzhksYgB+AejPw4fNl8p@public.gmane.org>
2015-12-07 18:39   ` Moni Shoua

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