Skip to content

Commit

Permalink
IB/core: Simplify check for RoCE route resolve
Browse files Browse the repository at this point in the history
roce_resolve_route_from_path() resolves the route based on the netdevice
of the GID attribute, therefore there is no point in checking again if
the route is resolved matches the same interface it arrived.

Signed-off-by: Parav Pandit <[email protected]>
Signed-off-by: Leon Romanovsky <[email protected]>
  • Loading branch information
paravmellanox authored and Leon Romanovsky committed Jul 5, 2018
1 parent fe6d5b6 commit 6691e3e
Showing 1 changed file with 2 additions and 27 deletions.
29 changes: 2 additions & 27 deletions drivers/infiniband/core/sa_query.c
Original file line number Diff line number Diff line change
Expand Up @@ -1232,8 +1232,6 @@ roce_resolve_route_from_path(struct ib_device *device, u8 port_num,
struct sa_path_rec *rec,
const struct ib_gid_attr *attr)
{
struct net_device *resolved_dev;
struct net_device *idev;
struct rdma_dev_addr dev_addr = {};
union {
struct sockaddr _sockaddr;
Expand All @@ -1253,9 +1251,6 @@ roce_resolve_route_from_path(struct ib_device *device, u8 port_num,
*/
dev_addr.net = &init_net;

if (!device->get_netdev)
return -EOPNOTSUPP;

rdma_gid2ip(&sgid_addr._sockaddr, &rec->sgid);
rdma_gid2ip(&dgid_addr._sockaddr, &rec->dgid);

Expand All @@ -1270,28 +1265,8 @@ roce_resolve_route_from_path(struct ib_device *device, u8 port_num,
rec->rec_type != SA_PATH_REC_TYPE_ROCE_V2)
return -EINVAL;

idev = device->get_netdev(device, port_num);
if (!idev)
return -ENODEV;

resolved_dev = dev_get_by_index(dev_addr.net,
dev_addr.bound_dev_if);
if (!resolved_dev) {
ret = -ENODEV;
goto done;
}
rcu_read_lock();
if (attr->ndev != resolved_dev ||
(resolved_dev != idev &&
!rdma_is_upper_dev_rcu(idev, resolved_dev)))
ret = -EHOSTUNREACH;
rcu_read_unlock();
dev_put(resolved_dev);
done:
dev_put(idev);
if (!ret)
rec->roce.route_resolved = true;
return ret;
rec->roce.route_resolved = true;
return 0;
}

static int init_ah_attr_grh_fields(struct ib_device *device, u8 port_num,
Expand Down

0 comments on commit 6691e3e

Please sign in to comment.