summaryrefslogtreecommitdiffstats
path: root/net/rds/rdma_transport.h
diff options
context:
space:
mode:
Diffstat (limited to 'net/rds/rdma_transport.h')
-rw-r--r--net/rds/rdma_transport.h31
1 files changed, 31 insertions, 0 deletions
diff --git a/net/rds/rdma_transport.h b/net/rds/rdma_transport.h
new file mode 100644
index 000000000..ca4c3a667
--- /dev/null
+++ b/net/rds/rdma_transport.h
@@ -0,0 +1,31 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+#ifndef _RDMA_TRANSPORT_H
+#define _RDMA_TRANSPORT_H
+
+#include <rdma/ib_verbs.h>
+#include <rdma/rdma_cm.h>
+#include "rds.h"
+
+/* RDMA_CM also uses 16385 as the listener port. */
+#define RDS_CM_PORT 16385
+
+#define RDS_RDMA_RESOLVE_TIMEOUT_MS 5000
+
+/* Below reject reason is for legacy interoperability issue with non-linux
+ * RDS endpoints where older version incompatibility is conveyed via value 1.
+ * For future version(s), proper encoded reject reason should be used.
+ */
+#define RDS_RDMA_REJ_INCOMPAT 1
+
+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);
+int rds6_rdma_cm_event_handler(struct rdma_cm_id *cm_id,
+ struct rdma_cm_event *event);
+
+/* from ib.c */
+extern struct rds_transport rds_ib_transport;
+int rds_ib_init(void);
+void rds_ib_exit(void);
+
+#endif