From: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
To: netdev@vger.kernel.org
Cc: gospo@redhat.com, Mitch Williams <mitch.a.williams@intel.com>,
Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Subject: [RFC PATCH v2 2/6] net: Add netif_num_vf function
Date: Thu, 17 Dec 2009 17:34:10 -0800 [thread overview]
Message-ID: <20091218013410.4510.40263.stgit@localhost.localdomain> (raw)
In-Reply-To: <20091218013329.4510.25937.stgit@localhost.localdomain>
From: Williams, Mitch A <mitch.a.williams@intel.com>
Add a convenience function to determine how many VF devices are associated
with a given PF network interface. If the device is not an SR-IOV physical
function device, the function returns 0.
Signed-off-by: Mitch Williams <mitch.a.williams@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
---
include/linux/netdevice.h | 27 +++++++++++++++++++++++++++
1 files changed, 27 insertions(+), 0 deletions(-)
diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h
index a3fccc8..f6e521e 100644
--- a/include/linux/netdevice.h
+++ b/include/linux/netdevice.h
@@ -38,6 +38,7 @@
#include <asm/byteorder.h>
#include <linux/device.h>
+#include <linux/pci.h>
#include <linux/percpu.h>
#include <linux/rculist.h>
#include <linux/dmaengine.h>
@@ -1509,6 +1510,32 @@ static inline int netif_is_multiqueue(const struct net_device *dev)
{
return (dev->num_tx_queues > 1);
}
+/**
+ * netif_num_vf - return number of SR-IOV VFs
+ * @dev: network device
+ *
+ * Return the number of SR-IOV virtual function devices that are
+ * associated with this physical function device. Returns 0 if
+ * device is not a PF device, or if SR-IOV not enabled.
+ */
+static inline int netif_num_vf(const struct net_device *dev)
+{
+ struct pci_dev *pdev;
+ int retval = 0;
+
+ if (!dev)
+ goto out;
+
+ if (!dev->dev.parent)
+ goto out;
+
+ if (dev->dev.parent->bus == &pci_bus_type) {
+ pdev = to_pci_dev(dev->dev.parent);
+ retval = pci_num_vf(pdev);
+ }
+out:
+ return retval;
+}
/* Use this variant when it is known for sure that it
* is executing from hardware interrupt context or with hardware interrupts
next prev parent reply other threads:[~2009-12-18 1:34 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-12-18 1:33 [RFC PATCH v2 1/6] pci: Add pci_num_vf function Jeff Kirsher
2009-12-18 1:34 ` Jeff Kirsher [this message]
2009-12-18 17:37 ` [RFC PATCH v2 2/6] net: Add netif_num_vf function Ben Hutchings
2009-12-19 4:05 ` David Miller
2009-12-21 18:34 ` Williams, Mitch A
2009-12-18 1:34 ` [RFC PATCH v2 3/6] if_link: Add SR-IOV configuration methods Jeff Kirsher
2009-12-18 1:34 ` [RFC PATCH v2 4/6] net: Add netdev ops for SR-IOV configuration Jeff Kirsher
2009-12-18 18:19 ` Ben Hutchings
2009-12-18 1:35 ` [RFC PATCH v2 5/6] rtnetlink: Add VF config code to rtnetlink Jeff Kirsher
2009-12-18 1:35 ` [RFC PATCH v2 6/6] igb: add support for VF configuration tools Jeff Kirsher
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20091218013410.4510.40263.stgit@localhost.localdomain \
--to=jeffrey.t.kirsher@intel.com \
--cc=gospo@redhat.com \
--cc=mitch.a.williams@intel.com \
--cc=netdev@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).