For network devices on the same PCI function, dev_id should not be used, since its purpose is for IPv6 support on interfaces with the same MAC address.
The new dev_port sysfs attribute should be used when it is found. When it is not, using dev_id might work. Signed-off-by: Thadeu Lima de Souza Cascardo <casca...@linux.vnet.ibm.com> --- src/udev/udev-builtin-net_id.c | 9 +++++++-- 1 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/udev/udev-builtin-net_id.c b/src/udev/udev-builtin-net_id.c index c80c30a..6de9c98 100644 --- a/src/udev/udev-builtin-net_id.c +++ b/src/udev/udev-builtin-net_id.c @@ -186,9 +186,14 @@ static int dev_pci_slot(struct udev_device *dev, struct netnames *names) { return -ENOENT; /* kernel provided multi-device index */ - attr = udev_device_get_sysattr_value(dev, "dev_id"); - if (attr) + attr = udev_device_get_sysattr_value(dev, "dev_port"); + if (attr) { dev_id = strtol(attr, NULL, 16); + } else { + attr = udev_device_get_sysattr_value(dev, "dev_id"); + if (attr) + dev_id = strtol(attr, NULL, 16); + } /* compose a name based on the raw kernel's PCI bus, slot numbers */ s = names->pci_path; -- 1.7.1 _______________________________________________ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel