** Description changed:

+ [impact]
+ 
+ On Dell system with BIOS-based "MAC passthrough", there can be multiple
+ USB nics with identical MAC addresses.  Since the udev rules in Debian
+ and Ubuntu assign interface names for USB nics by mac address (because
+ that is the only consistent identifier for USB nics; their path can
+ change based on which USB port they are connected to), it's impossible
+ to name two interfaces with the same name.  As Ubuntu also carries a
+ patch to retry renaming of any interface when the first renaming fails,
+ this causes a 90 second delay before being able to the "MAC passthrough"
+ nic after connecting it.
+ 
+ [test case]
+ 
+ On a system with this "MAC passthrough" enabled and required devices,
+ boot the system and then connect to the dock or connect the second USB
+ nic with identical MAC.  It will not be usable for 90 seconds as its
+ renames takes that long to timeout.
+ 
+ [regression potential]
+ 
+ the change here is very limited to only Dell systems with the specific
+ USB vendor/product ID affected by this, and additionally the change only
+ sets a ENV flag in the udev rule, which is later used by udevd to skip
+ the rename-retries for 90 seconds.  So, the regression potential for
+ anyone else without a system affected by this "MAC passthrough" should
+ be very low, and any regression potential for those with this "MAC
+ passthrough" should still be low, as this only skips the rename-retry
+ that we know will never succeed.
+ 
+ However, the regression potential is likely limited to failure to
+ properly name a USB nic, or other bugs during the udev processing of new
+ USB nics.
+ 
+ [other info]
+ 
+ original description:
+ ---
+ 
+ 
  This is a bug reopen from
  https://bugs.launchpad.net/ubuntu/+source/systemd/+bug/1837700
  The original one caused systemd regressed.
  https://bugs.launchpad.net/ubuntu/+source/systemd/+bug/1842651
  
  This issue needs an alternative solution.
  
--------------------------------------------------------------------------------
  Dell has a feature called MAC addrss passthrough[1] that would force usb 
ethernet adapters to be assigned with a predefined MAC address stored in BIOS 
or so. This feature has been landed to mainline kernel in driver r8152[2]. So 
whenever a r8152 managed device is plugged into Dell devices with MAC addrss 
passthrough enabled, this driver will set NIC MAC to a predefined one.
  
  And some Dell devices have already one built-in r8152 NIC port. On these
  devices, when a second r8152 NIC is plugged in, a Debian originated udev
  rules file 73-usb-net-by-mac.rules[3] will invoke udev built-in command
  `net_id` to give a persistent name, and that will be based on MAC
  address. However, since the system has already initialized the built-in
  r8152 NIC with that name, renaming the second interface with this name
  will always fail.
  
  While Debian still carries a patch called "Revert-udev-network-device-
  renaming-immediately-give.patch"[4] that tries to keep support of
  already deprecated "75-persistent-net-generator.rules" based interface
  renaming mechanism, this patch also propagated into Ubuntu[5]. This
  patch will retry renaming with a 90 seconds timeout when the error code
  is -EEXIST, so the uevent processing will always be blocked in the last
  ifrename step in the victim system.
  
  ProblemType: Bug
  DistroRelease: Ubuntu 18.04
  Package: udev 237-3ubuntu10.24 [modified: lib/udev/rules.d/50-firmware.rules 
lib/udev/rules.d/50-udev-default.rules 
lib/udev/rules.d/73-special-net-names.rules 
lib/udev/rules.d/73-usb-net-by-mac.rules]
  ProcVersionSignature: Ubuntu 4.15.0-1043.48-oem 4.15.18
  Uname: Linux 4.15.0-1043-oem x86_64
  ApportVersion: 2.20.9-0ubuntu7.2
  Architecture: amd64
  CurrentDesktop: ubuntu:GNOME
  CustomUdevRuleFiles: 70-snap.core.rules 95-oem-hotkey-osd.rules
  Date: Wed Jul 24 15:30:59 2019
  DistributionChannelDescriptor:
-  # This is the distribution channel descriptor for the OEM CDs
-  # For more information see 
http://wiki.ubuntu.com/DistributionChannelDescriptor
-  canonical-oem-somerville-bionic-amd64-20180608-47+beaver-jorah+X90
+  # This is the distribution channel descriptor for the OEM CDs
+  # For more information see 
http://wiki.ubuntu.com/DistributionChannelDescriptor
+  canonical-oem-somerville-bionic-amd64-20180608-47+beaver-jorah+X90
  InstallationDate: Installed on 2019-07-03 (20 days ago)
  InstallationMedia: Ubuntu 18.04 "Bionic" - Build amd64 LIVE Binary 
20180608-09:38
  MachineType: Dell Inc. Latitude 7424 Rugged Extreme
  ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-4.15.0-1043-oem.efi.signed 
root=UUID=5da90c85-3500-49a2-b989-71a604f9eec4 ro mem_sleep_default=deep quiet 
splash systemd.log_level=debug udev.log-priority=debug log_buf_len=8M 
vt.handoff=1
  SourcePackage: systemd
  UpgradeStatus: No upgrade log present (probably fresh install)
  dmi.bios.date: 05/27/2019
  dmi.bios.vendor: Dell Inc.
  dmi.bios.version: 1.5.0
  dmi.board.name: 0Y7FK3
  dmi.board.vendor: Dell Inc.
  dmi.board.version: X03
  dmi.chassis.type: 10
  dmi.chassis.vendor: Dell Inc.
  dmi.modalias: 
dmi:bvnDellInc.:bvr1.5.0:bd05/27/2019:svnDellInc.:pnLatitude7424RuggedExtreme:pvr:rvnDellInc.:rn0Y7FK3:rvrX03:cvnDellInc.:ct10:cvr:
  dmi.product.family: Latitude
  dmi.product.name: Latitude 7424 Rugged Extreme
  dmi.sys.vendor: Dell Inc.
  
  [1]: 
https://www.dell.com/support/article/tw/zh/twdhs1/sln301147/what-is-mac-address-pass-through?lang=en
  [2]: 
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/net/usb/r8152.c
  [3]: 
https://salsa.debian.org/systemd-team/systemd/blob/master/debian/extra/rules/73-usb-net-by-mac.rules
  [4]: 
https://salsa.debian.org/systemd-team/systemd/blob/master/debian/patches/debian/Revert-udev-network-device-renaming-immediately-give.patch
  [5]: 
https://git.launchpad.net/~ubuntu-core-dev/ubuntu/+source/systemd/tree/debian/patches/debian/Revert-udev-network-device-renaming-immediately-give.patch?h=ubuntu-bionic

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1843381

Title:
  Dell system takes a long time to connect network with external dock

To manage notifications about this bug go to:
https://bugs.launchpad.net/oem-priority/+bug/1843381/+subscriptions

-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to