>-----Original Message----- >From: Frank Pan [mailto:frankpzh@xxxxxxxxx] > >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-pci" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html