Lines Matching defs:ib_rai
172 static int ucma_ib_set_addr(struct rdma_addrinfo *ib_rai,
188 path = &((struct ibv_path_data *) ib_rai->ai_route)->path;
194 ucma_set_sid(ib_rai->ai_port_space, rai->ai_src_addr, src);
200 ucma_set_sid(ib_rai->ai_port_space, rai->ai_dst_addr, dst);
202 ib_rai->ai_src_addr = (struct sockaddr *) src;
203 ib_rai->ai_src_len = sizeof(*src);
205 ib_rai->ai_dst_addr = (struct sockaddr *) dst;
206 ib_rai->ai_dst_len = sizeof(*dst);
211 static int ucma_ib_set_connect(struct rdma_addrinfo *ib_rai,
237 ib_rai->ai_connect = hdr;
238 ib_rai->ai_connect_len = sizeof(*hdr);
244 struct rdma_addrinfo *ib_rai;
246 ib_rai = calloc(1, sizeof(*ib_rai));
247 if (!ib_rai)
250 ib_rai->ai_flags = (*rai)->ai_flags;
251 ib_rai->ai_family = AF_IB;
252 ib_rai->ai_qp_type = (*rai)->ai_qp_type;
253 ib_rai->ai_port_space = (*rai)->ai_port_space;
255 ib_rai->ai_route = calloc(1, (*rai)->ai_route_len);
256 if (!ib_rai->ai_route)
259 memcpy(ib_rai->ai_route, (*rai)->ai_route, (*rai)->ai_route_len);
260 ib_rai->ai_route_len = (*rai)->ai_route_len;
263 ib_rai->ai_src_canonname = strdup((*rai)->ai_src_canonname);
264 if (!ib_rai->ai_src_canonname)
269 ib_rai->ai_dst_canonname = strdup((*rai)->ai_dst_canonname);
270 if (!ib_rai->ai_dst_canonname)
274 if (ucma_ib_set_connect(ib_rai, *rai))
277 if (ucma_ib_set_addr(ib_rai, *rai))
280 ib_rai->ai_next = *rai;
281 *rai = ib_rai;
285 rdma_freeaddrinfo(ib_rai);