summaryrefslogtreecommitdiffstats
path: root/doc
diff options
context:
space:
mode:
authorRaghavendra G <rgowdapp@redhat.com>2014-05-28 14:37:18 +0530
committerNiels de Vos <ndevos@redhat.com>2014-05-28 04:07:59 -0700
commita2ef129ed3fbab3dde118d2aec49034353851527 (patch)
treecd38d20907cc631e8270212230279917deeac78c /doc
parente89453fdd4cd7b188c5839ec72849f202e3bf92b (diff)
transport/rdma: Add rdma connection manager documentation
Change-Id: I15ad9cafbe607074ddb9b36f9e879c8421f6eae2 BUG: 1086743 Signed-off-by: Raghavendra G <rgowdapp@redhat.com> Reviewed-on: http://review.gluster.org/7900 Reviewed-by: Humble Devassy Chirammal <humble.devassy@gmail.com> Reviewed-by: Niels de Vos <ndevos@redhat.com> Tested-by: Niels de Vos <ndevos@redhat.com>
Diffstat (limited to 'doc')
-rw-r--r--doc/features/rdmacm.md17
1 files changed, 17 insertions, 0 deletions
diff --git a/doc/features/rdmacm.md b/doc/features/rdmacm.md
new file mode 100644
index 00000000000..b4c06ea2172
--- /dev/null
+++ b/doc/features/rdmacm.md
@@ -0,0 +1,17 @@
+## Rdma Connection manager ##
+
+### What? ###
+Infiniband requires addresses of end points to be exchanged using an out-of-band channel (like tcp/ip). Glusterfs used a custom protocol over a tcp/ip channel to exchange this address. However, librdmacm provides the same functionality with the advantage of being a standard protocol. This helps if we want to communicate with a non-glusterfs entity (say nfs client with gluster nfs server) over infiniband.
+
+### Dependencies ###
+* [IP over Infiniband](http://pkg-ofed.alioth.debian.org/howto/infiniband-howto-5.html) - The value to *option* **remote-host** in glusterfs transport configuration should be an IPoIB address
+* [rdma cm kernel module](http://pkg-ofed.alioth.debian.org/howto/infiniband-howto-4.html#ss4.4)
+* [user space rdmacm library - librdmacm](https://www.openfabrics.org/downloads/rdmacm)
+
+### Limitations ###
+* Because of bug [890502](https://bugzilla.redhat.com/show_bug.cgi?id=890502), we've to probe the peer on an IPoIB address. This imposes a restriction that all volumes created in the future have to communicate over IPoIB address (irrespective of whether they use gluster's tcp or rdma transport).
+
+* Currently client has independence to choose b/w tcp and rdma transports while communicating with the server (by creating volumes with **transport-type tcp,rdma**). This independence was a by-product of our ability to use the tcp/ip channel - transports with *option transport-type tcp* - for rdma connection establishment handshake too. However, with new requirement of IPoIB address for connection establishment, we loose this independence (till we bring in [multi-network support](https://bugzilla.redhat.com/show_bug.cgi?id=765437) - where a brick can be identified by a set of ip-addresses and we can choose different pairs of ip-addresses for communication based on our requirements - in glusterd).
+
+### External links ###
+* [Infiniband Howto](http://pkg-ofed.alioth.debian.org/howto/infiniband-howto.html)