IB/ipoib: Add ndo operation for getting VFs GUID attributes
authorDanit Goldberg <danitg@mellanox.com>
Wed, 6 Nov 2019 12:57:00 +0000 (14:57 +0200)
committerLeon Romanovsky <leonro@mellanox.com>
Fri, 22 Nov 2019 16:17:24 +0000 (18:17 +0200)
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>
drivers/infiniband/ulp/ipoib/ipoib_main.c

index ac0583ff280d1b5fd3efecec56a9ce9c92a43a11..e5f438ab716c2def4779a560b2e06c8a4c4cc537 100644 (file)
@@ -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,