IB/core: Add netdev and gid attributes paramteres to cache
Adding an ability to query the IB cache by a netdev and get the attributes of a GID. These parameters are necessary in order to successfully resolve the required GID (when the netdevice is known) and get the Ethernet L2 attributes from a GID. Signed-off-by: Matan Barak <matanb@mellanox.com> Reviewed-By: Devesh Sharma <devesh.sharma@avagotech.com> Signed-off-by: Doug Ledford <dledford@redhat.com>
This commit is contained in:

committed by
Doug Ledford

parent
fbfb6625ea
commit
55ee3ab2e4
@@ -1860,7 +1860,7 @@ static struct net_device *ipoib_add_port(const char *format,
|
||||
priv->dev->broadcast[8] = priv->pkey >> 8;
|
||||
priv->dev->broadcast[9] = priv->pkey & 0xff;
|
||||
|
||||
result = ib_query_gid(hca, port, 0, &priv->local_gid);
|
||||
result = ib_query_gid(hca, port, 0, &priv->local_gid, NULL);
|
||||
if (result) {
|
||||
printk(KERN_WARNING "%s: ib_query_gid port %d failed (ret = %d)\n",
|
||||
hca->name, port, result);
|
||||
|
@@ -561,7 +561,7 @@ void ipoib_mcast_join_task(struct work_struct *work)
|
||||
}
|
||||
priv->local_lid = port_attr.lid;
|
||||
|
||||
if (ib_query_gid(priv->ca, priv->port, 0, &priv->local_gid))
|
||||
if (ib_query_gid(priv->ca, priv->port, 0, &priv->local_gid, NULL))
|
||||
ipoib_warn(priv, "ib_query_gid() failed\n");
|
||||
else
|
||||
memcpy(priv->dev->dev_addr + 4, priv->local_gid.raw, sizeof (union ib_gid));
|
||||
|
@@ -3213,7 +3213,7 @@ static ssize_t srp_create_target(struct device *dev,
|
||||
INIT_WORK(&target->tl_err_work, srp_tl_err_work);
|
||||
INIT_WORK(&target->remove_work, srp_remove_work);
|
||||
spin_lock_init(&target->lock);
|
||||
ret = ib_query_gid(ibdev, host->port, 0, &target->sgid);
|
||||
ret = ib_query_gid(ibdev, host->port, 0, &target->sgid, NULL);
|
||||
if (ret)
|
||||
goto out;
|
||||
|
||||
|
@@ -546,7 +546,8 @@ static int srpt_refresh_port(struct srpt_port *sport)
|
||||
sport->sm_lid = port_attr.sm_lid;
|
||||
sport->lid = port_attr.lid;
|
||||
|
||||
ret = ib_query_gid(sport->sdev->device, sport->port, 0, &sport->gid);
|
||||
ret = ib_query_gid(sport->sdev->device, sport->port, 0, &sport->gid,
|
||||
NULL);
|
||||
if (ret)
|
||||
goto err_query_port;
|
||||
|
||||
|
Reference in New Issue
Block a user