path: root/drivers/infiniband/ulp
diff options
authorDanit Goldberg <danitg@mellanox.com>2019-11-06 14:57:00 +0200
committerLeon Romanovsky <leonro@mellanox.com>2019-11-22 18:17:24 +0200
commit2446887ed226786fcf9b3ece8d89e6b22551411b (patch)
tree3dd377d833020d4ab3378854b672ac4ce0c2c4a6 /drivers/infiniband/ulp
parentIB/core: Add interfaces to get VF node and port GUIDs (diff)
IB/ipoib: Add ndo operation for getting VFs GUID attributes
Add ndo operation to the network driver that enables configuring ipoib_get_vf_guid operation. The operation allows to get a VF port and node GUIDs. Signed-off-by: Danit Goldberg <danitg@mellanox.com> Signed-off-by: Leon Romanovsky <leonro@mellanox.com>
Diffstat (limited to 'drivers/infiniband/ulp')
1 files changed, 10 insertions, 0 deletions
diff --git a/drivers/infiniband/ulp/ipoib/ipoib_main.c b/drivers/infiniband/ulp/ipoib/ipoib_main.c
index ac0583ff280d..e5f438ab716c 100644
--- a/drivers/infiniband/ulp/ipoib/ipoib_main.c
+++ b/drivers/infiniband/ulp/ipoib/ipoib_main.c
@@ -2019,6 +2019,15 @@ static int ipoib_set_vf_guid(struct net_device *dev, int vf, u64 guid, int type)
return ib_set_vf_guid(priv->ca, vf, priv->port, guid, type);
+static int ipoib_get_vf_guid(struct net_device *dev, int vf,
+ struct ifla_vf_guid *node_guid,
+ struct ifla_vf_guid *port_guid)
+ struct ipoib_dev_priv *priv = ipoib_priv(dev);
+ return ib_get_vf_guid(priv->ca, vf, priv->port, node_guid, port_guid);
static int ipoib_get_vf_stats(struct net_device *dev, int vf,
struct ifla_vf_stats *vf_stats)
@@ -2045,6 +2054,7 @@ static const struct net_device_ops ipoib_netdev_ops_pf = {
.ndo_set_vf_link_state = ipoib_set_vf_link_state,
.ndo_get_vf_config = ipoib_get_vf_config,
.ndo_get_vf_stats = ipoib_get_vf_stats,
+ .ndo_get_vf_guid = ipoib_get_vf_guid,
.ndo_set_vf_guid = ipoib_set_vf_guid,
.ndo_set_mac_address = ipoib_set_mac,
.ndo_get_stats64 = ipoib_get_stats,