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