[PATCH RFC] Documentation/infiniband: Add docs for rdma-helpers

Michael Wang
2015-05-13T13:24:32Z

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 | 76 +++++++++++++++++++++++++++++++
1 file changed, 76 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..abc75ec
--- /dev/null
+++ b/Documentation/infiniband/rdma_helpers.txt
@@ -0,0 +1,76 @@
+RDMA HELPERS
+
+ For core layer, below helpers are used to check if a paticular capability
+ is supported by the port.
+
+ 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.
+ rdma_cap_read_multi_sge - RDMA Read Multiple Scatter-Gather Entries.
+ rdma_cap_af_ib - Native Infiniband Address.
+ rdma_cap_eth_ah - Ethernet Address Handler.
+
+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) is the prototype of management packet
+ to be used by all the kinds of infiniband managers, use the helper
+ to verify the port before utilize related features.
+
+ rdma_cap_ib_smi
+ ---------------
+ Subnet Management Interface (SMI) will handle SMP packet from SM
+ in an infiniband fabric, use the helper to verify the port before
+ utilize related features.
+
+ rdma_cap_ib_cm
+ ---------------
+ Communication Manager (CM) will handle the connections between
+ adaptors, currently there are two different implementation,
+ IB or IWARP, use the helper to verify whether the port using
+ IB-CM or not
+
+ rdma_cap_iw_cm
+ ---------------
+ IWARP has it's own implemented CM which is different from infiniband,
+ use the helper to check whether the port using IWARP-CM or not.
+
+ rdma_cap_ib_sa
+ ---------------
+ Subnet Administration (SA) is the database built by SM in an
+ infiniband fabric, use the helper to verify the port before
+ utilize related features.
+
+ rdma_cap_ib_mcast
+ ---------------
+ Multicast is the feature for one QP to send messages to multiple
+ QP in an infiniband fabric, use the helper to verify the port before
+ utilize related features.
+
+ rdma_cap_read_multi_sge
+ ---------------
+ RDMA read operation could support multiple scatter-gather entries,
+ use the helper to verify wthether the port support this feature
+ or not.
+
+ rdma_cap_af_ib
+ ---------------
+ RDMA address format could be ethernet or infiniband, use the helper
+ to verify whether the port support infiniband format or not.
+
+ rdma_cap_eth_ah
+ ---------------
+ Infiniband address handler format is special in ethernet fabric, use
+ the helper to verify whether the port is using ethernet format or not.
--
2.1.0