rdma_resolve_addr - 解析目标地址和可选的源地址。 #include <rdma/rdma_cma.h> int rdma_resolve_addr (struct rdma_cm_id *id, struct sockaddr *src_addr, struct sockaddr *dst_addr, inttimeout_ms); 参数 id RDMA标识。 src_addr 源地址信息。此参数可以为NULL。 dst_addr 目的地址信息。 timeou...
#include <rdma/rdma_cma.h> int rdma_resolve_addr(struct rdma_cm_id *id, struct sockaddr *src_addr, struct sockaddr *dst_addr, inttimeout_ms); Description Therdma_resolve_addrfunction resolves the destination and optional source addresses from an IP address to an Remote Direct Memory Access...
rdma_resolve_addr -> RDMA_CM_EVENT_ADDRESS_RESOLVED -> rxm_open_conn -> fi_endpoint (vrb_open_ep) -> rdma_resolve_addr HG -> HG_Trigger -> hg_op_id->callback(&hg_cb_info) 查询地址设置的回调 lookup_callback -> HG_Forward -> NA_Msg_send_unexpected -> fi_senddata -> rxm_get...
int rdma_resolve_addr (struct rdma_cm_id *id, struct sockaddr *src_addr, struct sockaddr *dst_addr, inttimeout_ms); 参数 id RDMA标识。 src_addr 源地址信息。此参数可以为NULL。 dst_addr 目的地址信息。 timeout_ms 等待解析完成的时间。 描述 将目标地址和可选源地址从IP地址解析为RDMA地址。如...
根据IP来确定对端的RDMA地址(即对端的GID),多网卡情况下还可通过src_addr参数来绑定local端所采用的RDMA设备(即本地的GID) (3)rdma_set_option 可通过设置TypeOfService属性来决定采用哪个TrafficClass进行通信。 (4)rdma_resolve_route Resolves an RDMA route to the destination address in order to establish...
客户机使用 ConnectionID.ResolveAddress() 方法查询服务器系统的地址。当接收到事件类型 RDMA_CM_EVENT_ADDRESS_RESOLVED 时,客户机发送应答。rdma_resolve_addr(rdma_id, NULL, (struct sockaddr*)addr, RDMA_RESOLVE_ADDR_TIMEOUT_MS) case RDMA_CM_EVENT_ADDR_RESOLVED: 执行回调rc = on_addr_resolved(&evt...
rdma_getaddrinfo 检索目的地的地址信息 rdma_create_event_channel 创建接收事件的通道 rdma_create_id 分配一个 rdma_cm_id,这在概念上类似于套接字 rdma_resolve_addr 获取本地RDMA设备以到达远程地址 rdma_get_cm_event 等待RDMA_CM_EVENT_ADDR_RESOLVED事件 ...
}/* Resolve DNS address, use sockfd as temp storage */sockfd =getaddrinfo(servername, service, &hints, &resolved_addr);if(sockfd <0) {fprintf(stderr,"%s for %s:%d\n",gai_strerror(sockfd), servername, port);gotosock_connect_exit; ...
(假设addr和port已经正确设置) struct sockaddr_in addr; addr.sin_family = AF_INET; addr.sin_port = htons(port); inet_pton(AF_INET, "192.168.1.1", &addr.sin_addr); ret = rdma_resolve_addr(id, NULL, (struct sockaddr *)&addr, TIMEOUT_MS); if (ret) { perror("Failed to ...
printf("rdma_getaddrinfo error: %d\n",ret); return-1; } for(rai_ptr=rai_list;rai_ptr!=NULL;rai_ptr=rai_ptr->ai_next){ ret=rdma_resolve_addr(conn.id,NULL, rai_ptr->ai_dst_addr, RDMA_DEFAULT_TIMEOUT_MS); if(!ret)break; ...