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
next 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®