Subject: Re: [PATCH v2 0/2] hv_netvsc: associate VF and PV device by serial number

From: Stephen Hemminger <[email-masked]>
Date: Thu, 20 Sep 2018 09:50:11 -0700

On Thu, 20 Sep 2018 15:18:20 +0100
Lorenzo Pieralisi <[email-masked]> wrote:

> On Fri, Sep 14, 2018 at 12:54:55PM -0700, Stephen Hemminger wrote:
> > The Hyper-V implementation of PCI controller has concept of 32 bit serial number
> > (not to be confused with PCI-E serial number).  This value is sent in the protocol
> > from the host to indicate SR-IOV VF device is attached to a synthetic NIC.
> > 
> > Using the serial number (instead of MAC address) to associate the two devices
> > avoids lots of potential problems when there are duplicate MAC addresses from
> > tunnels or layered devices.
> > 
> > The patch set is broken into two parts, one is for the PCI controller
> > and the other is for the netvsc device. Normally, these go through different
> > trees but sending them together here for better review. The PCI changes
> > were submitted previously, but the main review comment was "why do you
> > need this?". This is why.  
> 
> The question was more whether we should convert this serial number into
> a PCI slot number (that has user space visibility and that is what you are
> after) to improve the current matching, I do not question why you need
> it, just for the records.

The name slot is way overloaded in this context.
There is 
	windows slot number which comes from Hyperv
	pci address slot which pci-hyperv sets from windows slot
	pci slot api value which for normal devices comes from ACPI
		this patch gets it from serial number

The netvsc driver needed to be able to find a PCI device based on the serial
number. The serial number was not visible in any current PCI-hyperv controller
values.  The windows slot (wslot) is not the same the serial number.