Lines Matching defs:rai

173 			    struct rdma_addrinfo *rai)
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);
212 struct rdma_addrinfo *rai)
216 if (rai->ai_family == AF_IB)
223 if (rai->ai_family == AF_INET) {
226 &((struct sockaddr_in *) rai->ai_src_addr)->sin_addr, 4);
228 &((struct sockaddr_in *) rai->ai_dst_addr)->sin_addr, 4);
232 &((struct sockaddr_in6 *) rai->ai_src_addr)->sin6_addr, 16);
234 &((struct sockaddr_in6 *) rai->ai_dst_addr)->sin6_addr, 16);
242 static void ucma_resolve_af_ib(struct rdma_addrinfo **rai)
250 ib_rai->ai_flags = (*rai)->ai_flags;
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);
259 memcpy(ib_rai->ai_route, (*rai)->ai_route, (*rai)->ai_route_len);
260 ib_rai->ai_route_len = (*rai)->ai_route_len;
262 if ((*rai)->ai_src_canonname) {
263 ib_rai->ai_src_canonname = strdup((*rai)->ai_src_canonname);
268 if ((*rai)->ai_dst_canonname) {
269 ib_rai->ai_dst_canonname = strdup((*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;
288 static void ucma_ib_save_resp(struct rdma_addrinfo *rai, struct acm_msg *msg)
307 if (!(ep_data->flags & ACM_EP_FLAG_SOURCE) || rai->ai_src_len)
316 rai->ai_src_len = sizeof(*sin);
317 rai->ai_src_addr = (struct sockaddr *) sin;
320 if (!(ep_data->flags & ACM_EP_FLAG_SOURCE) || rai->ai_src_len)
329 rai->ai_src_len = sizeof(*sin6);
330 rai->ai_src_addr = (struct sockaddr *) sin6;
337 rai->ai_route = calloc(path_cnt, sizeof(*path_data));
338 if (rai->ai_route) {
339 memcpy(rai->ai_route, path_data, path_cnt * sizeof(*path_data));
340 rai->ai_route_len = path_cnt * sizeof(*path_data);
366 void ucma_ib_resolve(struct rdma_addrinfo **rai,
383 if (ucma_inet_addr((*rai)->ai_src_addr, (*rai)->ai_src_len)) {
385 ucma_set_ep_addr(data, (*rai)->ai_src_addr);
390 if (ucma_inet_addr((*rai)->ai_dst_addr, (*rai)->ai_dst_len)) {
394 ucma_set_ep_addr(data, (*rai)->ai_dst_addr);
400 ucma_ib_addr((*rai)->ai_src_addr, (*rai)->ai_src_len) ||
401 ucma_ib_addr((*rai)->ai_dst_addr, (*rai)->ai_dst_len)) {
414 if (ucma_ib_addr((*rai)->ai_src_addr, (*rai)->ai_src_len)) {
416 &((struct sockaddr_ib *) (*rai)->ai_src_addr)->sib_addr, 16);
418 if (ucma_ib_addr((*rai)->ai_dst_addr, (*rai)->ai_dst_len)) {
420 &((struct sockaddr_ib *) (*rai)->ai_dst_addr)->sib_addr, 16);
439 ucma_ib_save_resp(*rai, &msg);
441 if (af_ib_support && !(hints->ai_flags & RAI_ROUTEONLY) && (*rai)->ai_route_len)
442 ucma_resolve_af_ib(rai);