mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Michael Wang <yun.wang@profitbricks.com>
To: Roland Dreier <roland@kernel.org>,
	Sean Hefty <sean.hefty@intel.com>,
	Hal Rosenstock <hal@dev.mellanox.co.il>,
	Doug Ledford <dledford@redhat.com>,
	linux-rdma@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-doc@vger.kernel.org
Cc: Michael Wang <yun.wang@profitbricks.com>,
	Or Gerlitz <ogerlitz@mellanox.com>,
	Ira Weiny <ira.weiny@intel.com>,
	Jason Gunthorpe <jgunthorpe@obsidianresearch.com>
Subject: [PATCH RFC v2] Documentation/infiniband: Add docs for rdma-helpers
Date: Mon, 18 May 2015 10:41:45 +0200	[thread overview]
Message-ID: <1431938505-31779-1-git-send-email-yun.wang@profitbricks.com> (raw)

Since v1:
  * Merge the descriptions from Doug:
    http://www.spinics.net/lists/linux-rdma/msg25172.html

This is the following patch for:
  https://lkml.org/lkml/2015/5/5/417
which try to document the settled rdma_cap_XX().

Highlights:
  There could be many missing/mistakes/misunderstanding, please don't
  be hesitate to point out the issues, any suggestions to improve or
  complete the description are very welcomed ;-)

Signed-off-by: Michael Wang <yun.wang@profitbricks.com>
---
 Documentation/infiniband/rdma_helpers.txt | 79 +++++++++++++++++++++++++++++++
 1 file changed, 79 insertions(+)
 create mode 100644 Documentation/infiniband/rdma_helpers.txt

diff --git a/Documentation/infiniband/rdma_helpers.txt b/Documentation/infiniband/rdma_helpers.txt
new file mode 100644
index 0000000..be9416d
--- /dev/null
+++ b/Documentation/infiniband/rdma_helpers.txt
@@ -0,0 +1,79 @@
+RDMA HELPERS
+
+  The following helpers are used to check the specific capabilities of a
+  particular port before utilizing those capabilities.
+
+    rdma_cap_ib_mad		- Infiniband Management Datagrams.
+    rdma_cap_ib_smi		- Infiniband Subnet Management Interface.
+    rdma_cap_ib_cm		- Infiniband Communication Manager.
+    rdma_cap_iw_cm		- IWARP Communication Manager.
+    rdma_cap_ib_sa		- Infiniband Subnet Administration.
+    rdma_cap_ib_mcast		- Infiniband Multicast Join/Leave Protocol.
+    rdma_cap_read_multi_sge	- RDMA Read Work Request Support Multiple SGE.
+    rdma_cap_af_ib		- Native Infiniband Address.
+    rdma_cap_eth_ah		- InfiniBand Transport With Ethernet Address.
+
+USAGE
+
+  if (rdma_cap_XX(device, i)) {
+	/* The port i of device support XX */
+	...
+  } else {
+	/* The port i of device don't support XX */
+	...
+  }
+
+  rdma_cap_ib_mad
+  ---------------
+    Management Datagrams (MAD) are a required part of the InfiniBand
+    specification and are supported on all InfiniBand devices.  A slightly
+    extended version are also supported on OPA interfaces.
+
+  rdma_cap_ib_smi
+  ---------------
+    Subnet Management Interface (SMI) will handle SMP packet from SM
+    in an infiniband fabric.
+
+  rdma_cap_ib_cm
+  ---------------
+    Communication Manager (CM) service, used to ease the process of connecting
+    to a remote host.  The IB-CM can be used to connect to remote hosts using
+    either InfiniBand or RoCE connections, iWARP has its own CM.
+
+  rdma_cap_iw_cm
+  ---------------
+    iWARP Communication Manager (CM), Similar to the IB-CM, but only used on
+    iWARP devices.
+
+  rdma_cap_ib_sa
+  ---------------
+    Subnet Administration (SA) is the database built by SM in an
+    infiniband fabric.
+
+  rdma_cap_ib_mcast
+  ---------------
+    InfiniBand (and OPA) use a different multicast mechanism rather than
+    traditional IP multicast found on Ethernet devices.  If this is true, then
+    traditional IPv4/IPv6 multicast is handled by the IPoIB layer and direct
+    multicast joins and leaves are handled per the InfiniBand specifications.
+
+  rdma_cap_read_multi_sge
+  ---------------
+    Certain devices (iWARP in particular) have restrictions on the number of
+    scatter gather elements that can be present in an RDMA READ work request,
+    this is true if the device does not have that restriction.
+
+  rdma_cap_af_ib
+  ---------------
+    Many code paths for traditional InfiniBand and RoCE links are the same,
+    but need minor differences to accommodate the different addresses on the
+    two types of connections.  This helper is true when the address of the
+    specific connection is of the InfiniBand native variety.
+
+  rdma_cap_eth_ah
+  ---------------
+    Queue Pair is InfiniBand transport, but uses Ethernet address instead
+    of native InfiniBand address (aka, this is a RoCE QP, and that means
+    ethertype 0x8915 + GRH for RoCEv1 and IP/UDP to well known UDP port for
+    RoCEv2), this is true when the address family of the specific queue pair
+    is of the Ethernet (RoCE) variety.
-- 
2.1.0


             reply	other threads:[~2015-05-18  8:42 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-05-18  8:41 Michael Wang [this message]
2015-05-18  9:47 ` Or Gerlitz
2015-05-18 10:06   ` Michael Wang
2015-05-18 15:21     ` Doug Ledford
2015-05-18 15:27       ` Michael Wang
2015-05-18 16:58         ` Doug Ledford
2015-05-19  7:56           ` Michael Wang

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1431938505-31779-1-git-send-email-yun.wang@profitbricks.com \
    --to=yun.wang@profitbricks.com \
    --cc=dledford@redhat.com \
    --cc=hal@dev.mellanox.co.il \
    --cc=ira.weiny@intel.com \
    --cc=jgunthorpe@obsidianresearch.com \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-rdma@vger.kernel.org \
    --cc=ogerlitz@mellanox.com \
    --cc=roland@kernel.org \
    --cc=sean.hefty@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®