[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <EA929A9653AAE14F841771FB1DE5A1365FF3F8D431@rrsmsx501.amr.corp.intel.com>
Date: Wed, 2 Jun 2010 12:59:26 -0600
From: "Williams, Mitch A" <mitch.a.williams@...el.com>
To: Frank Pan <frankpzh@...il.com>
CC: Greg KH <greg@...ah.com>,
Andrew Morton <akpm@...ux-foundation.org>,
Jesse Barnes <jbarnes@...tuousgeek.org>,
Kenji Kaneshige <kaneshige.kenji@...fujitsu.com>,
Yu Zhao <yu.zhao@...el.com>,
Chris Wright <chrisw@...s-sol.org>,
"Rafael J. Wysocki" <rjw@...k.pl>,
"David S. Miller" <davem@...emloft.net>,
Matt Carlson <mcarlson@...adcom.com>,
"linux-pci@...r.kernel.org" <linux-pci@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>
Subject: RE: Add a helper function in PCI IOV to get VF device
>-----Original Message-----
>From: Frank Pan [mailto:frankpzh@...il.com]
>
>I'm not talking about PF's pci device, because PF
>driver knows it. I'm talking about VF's.
>The root cause is PF cannot get VF's bdf, so it has
>no idea where VF is. IMO it's abnormal.
>
>Make symlinks is just a use case. When a userspace
>app only knows VF's bdf, it has no idea how to get
>into the VF's interface-like directories.
>(/sys/class/net/ethX/vf[1-7])
>Because of:
>1. Userspace app cannot get PF's bdf from VF's bdf
>2. Userspace app cannot guess the interface name of
>pf(ethX)
>So a symlink from /sys/bus/pci/devices/xxxxx to
>/sys/class/net/ethX/vf[1-7] is useful.
>This is a real issue.
>
Frank, I'm not sure what you're trying to accomplish here. All of the information you need is already in sysfs. Given the PF device, you can look at /sys/class/net/ethX/device/virtfnX to get the bus/device/function of each of the VF devices.
If the VF driver is loaded in your kernel, then given the bus/device/function of the vf device, you can look at /sys/class/net/ethX/device/virtfnX/net to see which interface corresponds to that VF.
Furthermore, if the VF driver is loaded, you can find the PF device by looking at /sys/class/net/ethX/device/physfn, and you can find out which interface it is by looking at /sys/class/net/ethX/device/physfn/net
So it's all there. You don't need anything else.
The current PF drivers (both ixgbe and igb) do not directly manipulate sysfs at all, so there is no /sys/class/net/ethX/vfX. If you see this setup, you are using a very, very old version of the igb driver, which is not supported at all. Please upgrade to a recent kernel/driver combination.
-Mitch
>Thanks for reply.
>
>--
>Frank Pan
>
>Computer Science and Technology
>Tsinghua University
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists