#include <rdma/rdma_cma.h> int rdma_bind_addr(struct rdma_cm_id *id, struct sockaddr *addr); Description Therdma_bind_addrfunction associates a source address with anrdma_cm_ididentifier. The address can be a wildcard value. If anrdma_cm_ididentifier has a local address, the identifier...
rdma_bind_addr(id,addr) 和socket编程一样,也要先绑定一个本地的地址和端口,以进行listen操作。 rdma_listen(id,block) 开始侦听客户端的连接请求 rdma_get_cm_event(channel,&event) 这个调用就是作用在第一步创建的event channel上面,要从event channel中获取一个事件。这是个阻塞调用,只有有事件时才会返回。
intmain(intargc,char**argv){structsockaddr_inaddr;structrdma_cm_event*event=NULL;structrdma_cm_id*listener=NULL;structrdma_event_channel*ec=NULL;uint16_tport =0;memset(&addr,0,sizeof(addr)); addr.sin_family = AF_INET; TEST_Z(ec = rdma_create_event_channel()); TEST_NZ(rdma_create_...
绑定地址后, 服务器侦听来自客户机的连接请求。 rc = rdma_bind_addr(listener, (struct sockaddr *)&srv_addr); rc = rdma_listen(listener, BACKLOG); 启动rdma服务器运行线程: rc = pthread_create(&tid, NULL, rserver_run, this); 当接收到客户机连接请求时,将对请求进行应答。请求的事件类型为 RD...
绑定地址: memset(&addr, 0, sizeof(addr)); addr.sin_family = AF_INET; addr.sin_port = htons(20000); // 监听端口 addr.sin_addr.s_addr = INADDR_ANY; ret = rdma_bind_addr(listener, (struct sockaddr *)&addr); if (ret) die("rdma_bind_addr failed"); ...
ret = rdma_bind_addr(pep->id, (struct sockaddr *)addr);if(ret) { FI_INFO(&fi_ibv_prov, FI_LOG_FABRIC,"Unable to bind addres to rdma_cm_id\n");return-errno; }return0; } 开发者ID:hoopoepg,项目名称:libfabric,代码行数:35,代码来源:verbs_cm.c ...
(stderr, "failed to exchange connection data between sides\n"); rc = 1; goto main_exit; } remote_con_data.addr = ntohll(tmp_con_data.addr); remote_con_data.rkey = ntohl(tmp_con_data.rkey); remote_con_data.qp_num = ntohl(tmp_con_data.qp_num); remote_con_data.lid = ntohs(...
rdma_bind_addr(id,addr) 和socket编程一样,也要先绑定一个本地的地址和端口,以进行listen操作。 rdma_listen(id,block) 开始侦听客户端的连接请求 rdma_get_cm_event 这个调用就是作用在第一步创建的event channel上面,要从event channel中获取一个事件。这是个阻塞调用,只有有事件时才会返回。在一切正常的情况...
(stderr, "failed to exchange connection data between sides\n"); rc = 1; goto main_exit; } remote_con_data.addr = ntohll(tmp_con_data.addr); remote_con_data.rkey = ntohl(tmp_con_data.rkey); remote_con_data.qp_num = ntohl(tmp_con_data.qp_num); remote_con_data.lid = ntohs(...
if (!bind(sockfd, t->ai_addr, t->ai_addrlen)) break; close(sockfd); sockfd = -1; } } freeaddrinfo(res); free(service); if (sockfd < 0) { fprintf(stderr, "Couldn't listen to port %d\n", port); return NULL; } listen(sockfd, 1); ...