1 /* SPDX-License-Identifier: GPL-2.0 */
2 #ifndef _RDMA_TRANSPORT_H
3 #define _RDMA_TRANSPORT_H
4 
5 #include <rdma/ib_verbs.h>
6 #include <rdma/rdma_cm.h>
7 #include "rds.h"
8 
9 /* RDMA_CM also uses 16385 as the listener port. */
10 #define RDS_CM_PORT	16385
11 
12 #define RDS_RDMA_RESOLVE_TIMEOUT_MS     5000
13 
14 /* Below reject reason is for legacy interoperability issue with non-linux
15  * RDS endpoints where older version incompatibility is conveyed via value 1.
16  * For future version(s), proper encoded reject reason should be used.
17  */
18 #define RDS_RDMA_REJ_INCOMPAT		1
19 
20 int rds_rdma_conn_connect(struct rds_connection *conn);
21 int rds_rdma_cm_event_handler(struct rdma_cm_id *cm_id,
22 			      struct rdma_cm_event *event);
23 int rds6_rdma_cm_event_handler(struct rdma_cm_id *cm_id,
24 			       struct rdma_cm_event *event);
25 
26 /* from ib.c */
27 extern struct rds_transport rds_ib_transport;
28 int rds_ib_init(void);
29 void rds_ib_exit(void);
30 
31 #endif
32