Re: [net-next PATCH v6 0/3] net: dummy: Introduce dummy virtual functions
From: Phil Sutter <phil@nwl.cc>
Date: 2017-01-13 12:09:56
On Wed, Jan 11, 2017 at 02:38:57PM +0100, Phil Sutter wrote:
On Fri, Jan 06, 2017 at 08:38:04PM -0500, David Miller wrote:quoted
From: Phil Sutter <phil@nwl.cc> Date: Thu, 5 Jan 2017 20:09:10 +0100quoted
This series adds VF support to dummy device driver after adding the necessary infrastructure changes: Patch 1 adds a netdevice callback for device-specific VF count retrieval. Patch 2 then changes dev_num_vf() implementation to make use of that new callback (if implemented), falling back to the old behaviour. Patch 3 then implements VF support in dummy, without the fake PCI parent device hack from v5.Please don't make this a netdev specific method and interface. Put the method in "struct bus_device", thereby making it a generic "device" layer thing. So the pci BUS type will implement pci_bus_type.num_vf(). And you'll make a bus type for the dummy device to attach to which will implement it's own.Following your approach, I'm running into a weird issue with conflicting sysfs symlink names after calling register_netdevice for the dummy device which has dev->dev.bus set to the dummy bus type I introduced: In netdev_register_kobject, dev->class is set to &net_class. This means that later in device_add, the call to device_add_class_symlinks will create symlink to the class named devices/virtual/net/dummy0/subsystem. The following call to bus_add_device by device_add though tries to create a symlink to the bus with identical name.
Ah, nevermind - it's actually the netdev's parent which should have the bus type set. At first I assumed this would be a PCI specific thing. Thanks, Phil