|
@@ -2567,7 +2567,11 @@ static int cma_resolve_iboe_route(struct rdma_id_private *id_priv)
|
|
|
gid_type = cma_route_gid_type(addr->dev_addr.network,
|
|
|
supported_gids,
|
|
|
id_priv->gid_type);
|
|
|
+ /* Use the hint from IP Stack to select GID Type */
|
|
|
+ if (gid_type < ib_network_to_gid_type(addr->dev_addr.network))
|
|
|
+ gid_type = ib_network_to_gid_type(addr->dev_addr.network);
|
|
|
route->path_rec->rec_type = sa_conv_gid_to_pathrec_type(gid_type);
|
|
|
+
|
|
|
sa_path_set_ndev(route->path_rec, &init_net);
|
|
|
sa_path_set_ifindex(route->path_rec, ndev->ifindex);
|
|
|
sa_path_set_dmac(route->path_rec, addr->dev_addr.dst_dev_addr);
|
|
@@ -2577,11 +2581,6 @@ static int cma_resolve_iboe_route(struct rdma_id_private *id_priv)
|
|
|
rdma_ip2gid((struct sockaddr *)&id_priv->id.route.addr.dst_addr,
|
|
|
&route->path_rec->dgid);
|
|
|
|
|
|
- /* Use the hint from IP Stack to select GID Type */
|
|
|
- if (gid_type < ib_network_to_gid_type(addr->dev_addr.network))
|
|
|
- gid_type = ib_network_to_gid_type(addr->dev_addr.network);
|
|
|
- route->path_rec->rec_type = sa_conv_gid_to_pathrec_type(gid_type);
|
|
|
-
|
|
|
if (((struct sockaddr *)&id_priv->id.route.addr.dst_addr)->sa_family != AF_IB)
|
|
|
/* TODO: get the hoplimit from the inet/inet6 device */
|
|
|
route->path_rec->hop_limit = addr->dev_addr.hoplimit;
|