linux-rdma.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH rdma-next 0/4] IB/core: Add InfiniBand router support
@ 2016-05-04 15:41 Leon Romanovsky
       [not found] ` <1462376518-6725-1-git-send-email-leon-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
  0 siblings, 1 reply; 13+ messages in thread
From: Leon Romanovsky @ 2016-05-04 15:41 UTC (permalink / raw)
  To: dledford-H+wXaHxf7aLQT0dZR+AlfA
  Cc: linux-rdma-u79uwXL29TY76Z2rM5mHXA, markb-VPRAkNaXOzVWk0Htik3J/w,
	majd-VPRAkNaXOzVWk0Htik3J/w, matanb-VPRAkNaXOzVWk0Htik3J/w,
	Leon Romanovsky

InfiniBand has gone a long way in providing efficient large-scale
high performance connectivity. IB subnets have shown to scale to
tens of thousands of nodes, both in raw capacity and in management.

As demand for computing capacity increases, future clusters sizes might
exceed the number of addressable endpoints in a single IB subnet (around
40K nodes).

To accommodate such clusters, a routing layer with the same latencies
and bandwidth characteristics as switches is required. In addition, as
data center deployments evolve, it becomes beneficial to consolidate
resources across multiple clusters.

There are multiple applications for this technology such as computing
clusters which require access to a common storage infrastructure.
Routers enable such connectivity while reducing management complexity
and isolating intra-subnet faults.

In this patch set the forwarding between the IB subnets is performed
by including a GRH header.
The IB router’s basic functionality includes:
 * Removal of current L2 LRH (local routing header)
 * Routing table lookup – using GID from GRH
 * Building new LRH according to the destination based on the routing table

In order to retrieve the destination GID, new resolution method was needed.
There is an assumption that rdmacm is used only between nodes in the same
IB subnet, this is why ARP resolution can be used to turn IP to GID in rdmacm.

When dealing with IB communication between subnets this assumption
is no longer valid. ARP resolution will get us the next hop device
address and not the peer node's device address.

To solve this issue, we will check user space if it can provide the
GID of the peer node, and fail if not. For doing so, we added a new
RDMA local service operation (IP to GID resolution) and a sequence number
to identify each request. The client request would include the ifindex
of the outgoing interface and attributes which indicate the destination IP.
The local service would answer with the requested destination GID.

Available in the "topic/ib-router" topic branch of this git repo:

git://git.kernel.org/pub/scm/linux/kernel/git/leon/linux-rdma.git

Or for browsing:

https://git.kernel.org/cgit/linux/kernel/git/leon/linux-rdma.git/log/?h=topic/ib-router

It is tested after applying topic/fix-core and topic/ipoib-device-address.

Thanks

Mark Bloch (4):
  IB/netlink: Make ib_netlink a standalone module
  IB/netlink: Allow multiple clients to register under the same family
  IB/netlink: Add new local service operation
  IB/core: Add IP to GID netlink offload

 drivers/infiniband/core/Makefile   |   6 +-
 drivers/infiniband/core/addr.c     | 225 +++++++++++++++++++++++++++++++++----
 drivers/infiniband/core/cma.c      |   3 +-
 drivers/infiniband/core/device.c   |   9 --
 drivers/infiniband/core/iwcm.c     |   3 +-
 drivers/infiniband/core/netlink.c  |  46 ++++++--
 drivers/infiniband/core/sa_query.c |   2 +-
 include/rdma/rdma_netlink.h        |   7 +-
 include/uapi/rdma/rdma_netlink.h   |  10 ++
 9 files changed, 259 insertions(+), 52 deletions(-)

-- 
2.1.4

--
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] 13+ messages in thread

end of thread, other threads:[~2016-05-10 10:57 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-05-04 15:41 [PATCH rdma-next 0/4] IB/core: Add InfiniBand router support Leon Romanovsky
     [not found] ` <1462376518-6725-1-git-send-email-leon-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
2016-05-04 15:41   ` [PATCH rdma-next 1/4] IB/netlink: Make ib_netlink a standalone module Leon Romanovsky
     [not found]     ` <1462376518-6725-2-git-send-email-leon-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
2016-05-04 18:46       ` Jason Gunthorpe
     [not found]         ` <20160504184652.GC20554-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2016-05-04 20:53           ` Ira Weiny
     [not found]             ` <20160504205324.GA10115-f85VyEmKvEatqXYlAKuG4QC/G2K4zDHf@public.gmane.org>
2016-05-05  6:41               ` Leon Romanovsky
2016-05-04 15:41   ` [PATCH rdma-next 2/4] IB/netlink: Allow multiple clients to register under the same family Leon Romanovsky
     [not found]     ` <1462376518-6725-3-git-send-email-leon-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
2016-05-04 18:14       ` Dennis Dalessandro
2016-05-04 15:41   ` [PATCH rdma-next 3/4] IB/netlink: Add new local service operation Leon Romanovsky
2016-05-04 15:41   ` [PATCH rdma-next 4/4] IB/core: Add IP to GID netlink offload Leon Romanovsky
     [not found]     ` <1462376518-6725-5-git-send-email-leon-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
2016-05-04 18:52       ` Jason Gunthorpe
     [not found]         ` <20160504185241.GD20554-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2016-05-10 10:57           ` Mark Bloch
2016-05-04 21:32       ` Ira Weiny
     [not found]         ` <20160504213211.GB10115-f85VyEmKvEatqXYlAKuG4QC/G2K4zDHf@public.gmane.org>
2016-05-04 21:33           ` Jason Gunthorpe

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