33 #include <linux/module.h>
40 static char *rds_cm_event_strings[] = {
41 #define RDS_CM_EVENT_STRING(foo) \
42 [RDMA_CM_EVENT_##foo] = __stringify(RDMA_CM_EVENT_##foo)
59 #undef RDS_CM_EVENT_STRING
76 rdsdebug(
"conn %p id %p handling event %u (%s)\n", conn, cm_id,
101 switch (event->
event) {
133 rdsdebug(
"DISCONNECT event - dropping connection "
134 "%pI4->%pI4\n", &conn->
c_laddr,
142 event->
event, rds_cm_event_str(event->
event));
150 rdsdebug(
"id %p event %u (%s) handling ret %d\n", cm_id, event->
event,
151 rds_cm_event_str(event->
event), ret);
156 static int rds_rdma_listen_init(
void)
165 ret = PTR_ERR(cm_id);
167 "rdma_create_id() returned %d\n", ret);
182 "rdma_bind_addr() returned %d\n", ret);
189 "rdma_listen() returned %d\n", ret);
193 rdsdebug(
"cm %p listening on port %u\n", cm_id,
RDS_PORT);
195 rds_rdma_listen_id = cm_id;
203 static void rds_rdma_listen_stop(
void)
205 if (rds_rdma_listen_id) {
206 rdsdebug(
"cm %p\n", rds_rdma_listen_id);
208 rds_rdma_listen_id =
NULL;
212 static int rds_rdma_init(
void)
216 ret = rds_rdma_listen_init();
233 rds_rdma_listen_stop();
239 static void rds_rdma_exit(
void)
242 rds_rdma_listen_stop();