summaryrefslogtreecommitdiff
path: root/net/rds/rdma_transport.h
diff options
context:
space:
mode:
authorAndy Grover <andy.grover@oracle.com>2009-02-24 15:30:37 +0000
committerDavid S. Miller <davem@davemloft.net>2009-02-26 23:39:33 -0800
commit55b7ed0b582f9ff4bf3b9b44969cddda8c6763ea (patch)
treed8c1883c1ba00e9b99888757e86368498b622981 /net/rds/rdma_transport.h
parentfcd8b7c0ecf792dd824b2edcd63cb2c08563c340 (diff)
downloadlwn-55b7ed0b582f9ff4bf3b9b44969cddda8c6763ea.tar.gz
lwn-55b7ed0b582f9ff4bf3b9b44969cddda8c6763ea.zip
RDS: Common RDMA transport code
Although most of IB and iWARP are separated from each other, there is some common code required to handle their shared CM listen port. This code listens for CM events and then dispatches the event to the appropriate transport, either IB or iWARP. Signed-off-by: Andy Grover <andy.grover@oracle.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/rds/rdma_transport.h')
-rw-r--r--net/rds/rdma_transport.h28
1 files changed, 28 insertions, 0 deletions
diff --git a/net/rds/rdma_transport.h b/net/rds/rdma_transport.h
new file mode 100644
index 000000000000..2f2c7d976c21
--- /dev/null
+++ b/net/rds/rdma_transport.h
@@ -0,0 +1,28 @@
+#ifndef _RDMA_TRANSPORT_H
+#define _RDMA_TRANSPORT_H
+
+#include <rdma/ib_verbs.h>
+#include <rdma/rdma_cm.h>
+#include "rds.h"
+
+#define RDS_RDMA_RESOLVE_TIMEOUT_MS 5000
+
+int rds_rdma_conn_connect(struct rds_connection *conn);
+int rds_rdma_cm_event_handler(struct rdma_cm_id *cm_id,
+ struct rdma_cm_event *event);
+
+/* from rdma_transport.c */
+int rds_rdma_init(void);
+void rds_rdma_exit(void);
+
+/* from ib.c */
+extern struct rds_transport rds_ib_transport;
+int rds_ib_init(void);
+void rds_ib_exit(void);
+
+/* from iw.c */
+extern struct rds_transport rds_iw_transport;
+int rds_iw_init(void);
+void rds_iw_exit(void);
+
+#endif