Lines Matching refs:path_rec
2028 kfree(id_priv->id.route.path_rec); in _destroy_id()
2247 rt->path_rec = kmalloc_array(rt->num_pri_alt_paths, in cma_ib_new_conn_id()
2248 sizeof(*rt->path_rec), GFP_KERNEL); in cma_ib_new_conn_id()
2249 if (!rt->path_rec) in cma_ib_new_conn_id()
2252 rt->path_rec[0] = *path; in cma_ib_new_conn_id()
2254 rt->path_rec[1] = *ib_event->param.req_rcvd.alternate_path; in cma_ib_new_conn_id()
2262 rdma_addr_set_sgid(&rt->addr.dev_addr, &rt->path_rec[0].sgid); in cma_ib_new_conn_id()
2263 ib_addr_set_pkey(&rt->addr.dev_addr, be16_to_cpu(rt->path_rec[0].pkey)); in cma_ib_new_conn_id()
2270 rdma_addr_set_dgid(&rt->addr.dev_addr, &rt->path_rec[0].dgid); in cma_ib_new_conn_id()
2823 struct sa_path_rec *path_rec) in route_set_path_rec_inbound() argument
2834 *route->path_rec_inbound = *path_rec; in route_set_path_rec_inbound()
2838 struct sa_path_rec *path_rec) in route_set_path_rec_outbound() argument
2849 *route->path_rec_outbound = *path_rec; in route_set_path_rec_outbound()
2852 static void cma_query_handler(int status, struct sa_path_rec *path_rec, in cma_query_handler() argument
2865 if (!path_rec[i].flags || (path_rec[i].flags & IB_PATH_GMP)) in cma_query_handler()
2866 *route->path_rec = path_rec[i]; in cma_query_handler()
2867 else if (path_rec[i].flags & IB_PATH_INBOUND) in cma_query_handler()
2868 route_set_path_rec_inbound(work, &path_rec[i]); in cma_query_handler()
2869 else if (path_rec[i].flags & IB_PATH_OUTBOUND) in cma_query_handler()
2870 route_set_path_rec_outbound(work, &path_rec[i]); in cma_query_handler()
2872 if (!route->path_rec) { in cma_query_handler()
2895 struct sa_path_rec path_rec; in cma_query_ib_route() local
2900 memset(&path_rec, 0, sizeof path_rec); in cma_query_ib_route()
2903 path_rec.rec_type = SA_PATH_REC_TYPE_OPA; in cma_query_ib_route()
2905 path_rec.rec_type = SA_PATH_REC_TYPE_IB; in cma_query_ib_route()
2906 rdma_addr_get_sgid(dev_addr, &path_rec.sgid); in cma_query_ib_route()
2907 rdma_addr_get_dgid(dev_addr, &path_rec.dgid); in cma_query_ib_route()
2908 path_rec.pkey = cpu_to_be16(ib_addr_get_pkey(dev_addr)); in cma_query_ib_route()
2909 path_rec.numb_path = 1; in cma_query_ib_route()
2910 path_rec.reversible = 1; in cma_query_ib_route()
2911 path_rec.service_id = rdma_get_service_id(&id_priv->id, in cma_query_ib_route()
2920 path_rec.qos_class = cpu_to_be16((u16) id_priv->tos); in cma_query_ib_route()
2925 path_rec.traffic_class = (u8) (be32_to_cpu(sin6->sin6_flowinfo) >> 20); in cma_query_ib_route()
2930 path_rec.traffic_class = (u8) (be32_to_cpu(sib->sib_flowinfo) >> 20); in cma_query_ib_route()
2936 id_priv->id.port_num, &path_rec, in cma_query_ib_route()
3033 if (!route->path_rec) in cma_resolve_ib_route()
3034 route->path_rec = kmalloc(sizeof *route->path_rec, GFP_KERNEL); in cma_resolve_ib_route()
3035 if (!route->path_rec) { in cma_resolve_ib_route()
3046 kfree(route->path_rec); in cma_resolve_ib_route()
3047 route->path_rec = NULL; in cma_resolve_ib_route()
3097 route->path_rec->rec_type = sa_conv_gid_to_pathrec_type(gid_type); in cma_iboe_set_path_rec_l2_fields()
3099 route->path_rec->roce.route_resolved = true; in cma_iboe_set_path_rec_l2_fields()
3100 sa_path_set_dmac(route->path_rec, addr->dev_addr.dst_dev_addr); in cma_iboe_set_path_rec_l2_fields()
3105 struct sa_path_rec *path_rec) in rdma_set_ib_path() argument
3116 id->route.path_rec = kmemdup(path_rec, sizeof(*path_rec), in rdma_set_ib_path()
3118 if (!id->route.path_rec) { in rdma_set_ib_path()
3136 kfree(id->route.path_rec); in rdma_set_ib_path()
3137 id->route.path_rec = NULL; in rdma_set_ib_path()
3259 route->path_rec = kzalloc(sizeof *route->path_rec, GFP_KERNEL); in cma_resolve_iboe_route()
3260 if (!route->path_rec) { in cma_resolve_iboe_route()
3274 &route->path_rec->sgid); in cma_resolve_iboe_route()
3276 &route->path_rec->dgid); in cma_resolve_iboe_route()
3280 route->path_rec->hop_limit = addr->dev_addr.hoplimit; in cma_resolve_iboe_route()
3282 route->path_rec->hop_limit = 1; in cma_resolve_iboe_route()
3283 route->path_rec->reversible = 1; in cma_resolve_iboe_route()
3284 route->path_rec->pkey = cpu_to_be16(0xffff); in cma_resolve_iboe_route()
3285 route->path_rec->mtu_selector = IB_SA_EQ; in cma_resolve_iboe_route()
3286 route->path_rec->sl = iboe_tos_to_sl(ndev, tos); in cma_resolve_iboe_route()
3287 route->path_rec->traffic_class = tos; in cma_resolve_iboe_route()
3288 route->path_rec->mtu = iboe_get_mtu(ndev->mtu); in cma_resolve_iboe_route()
3289 route->path_rec->rate_selector = IB_SA_EQ; in cma_resolve_iboe_route()
3290 route->path_rec->rate = iboe_get_rate(ndev); in cma_resolve_iboe_route()
3292 route->path_rec->packet_life_time_selector = IB_SA_EQ; in cma_resolve_iboe_route()
3302 route->path_rec->packet_life_time = id_priv->timeout - 1; in cma_resolve_iboe_route()
3304 route->path_rec->packet_life_time = CMA_IBOE_PACKET_LIFETIME; in cma_resolve_iboe_route()
3307 if (!route->path_rec->mtu) { in cma_resolve_iboe_route()
3314 route->path_rec->flow_label = in cma_resolve_iboe_route()
3323 kfree(route->path_rec); in cma_resolve_iboe_route()
3324 route->path_rec = NULL; in cma_resolve_iboe_route()
4187 id_priv->id.route.path_rec, in cma_sidr_rep_handler()
4256 req.path = id_priv->id.route.path_rec; in cma_resolve_ib_udp()
4315 req.primary_path = &route->path_rec[0]; in cma_connect_ib()
4319 req.alternate_path = &route->path_rec[1]; in cma_connect_ib()