[lkml]   [2010]   [Jun]   [2]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    SubjectRE: Add a helper function in PCI IOV to get VF device
    >-----Original Message-----
    >From: Frank Pan []

    >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.
    >Because of:
    >1. Userspace app cannot get PF's bdf from VF's bdf
    >2. Userspace app cannot guess the interface name of
    >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.


    >Thanks for reply.
    >Frank Pan
    >Computer Science and Technology
    >Tsinghua University

     \ /
      Last update: 2010-06-02 21:01    [W:0.028 / U:1.900 seconds]
    ©2003-2017 Jasper Spaans. hosted at Digital OceanAdvertise on this site