[Bug 1593379] Re: systemd 229-4ubuntu6 ignores net.ifnames=0 on USB or /etc/udev/rules.d/80-net-setup-link.rules being a /dev/null symlink

alp alp at atoker.com
Wed Sep 14 22:24:25 UTC 2016


The problem appears to be down to a syntax error - here's the fix we're
using as a patch against current systemd in Xenial:

Splitting the IMPORT and ENV/GOTO directives onto separate lines gets
things working.

With the patch deployed, the kernel parameter works as specified,
allowing us to access hosts remotely after boot. We've tested the patch
both with and without net.ifnames boot parameter and the USB ethernet
device is assigned correctly as expected for each mode.

This should fix things for Raspberry Pi users as well..

--- /lib/udev/rules.d/73-usb-net-by-mac.rules.orig	2016-09-14 20:40:11.269999878 +0000
+++ /lib/udev/rules.d/73-usb-net-by-mac.rules	2016-09-14 20:42:05.719999834 +0000
@@ -3,7 +3,8 @@
 # is 0). Don't do this when ifnames is disabled via kernel command line or
 # customizing/disabling 80-net-setup-link.rules.
 
-IMPORT{cmdline}="net.ifnames", ENV{net.ifnames}=="0", GOTO="usb_net_by_mac_end"
+IMPORT{cmdline}="net.ifnames"
+ENV{net.ifnames}=="0", GOTO="usb_net_by_mac_end"
 
 ACTION=="add", SUBSYSTEM=="net", SUBSYSTEMS=="usb", NAME=="", \
     ATTR{address}=="?[014589cd]:*", \

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

Title:
  systemd 229-4ubuntu6 ignores net.ifnames=0 on USB or
  /etc/udev/rules.d/80-net-setup-link.rules being a /dev/null symlink

Status in systemd package in Ubuntu:
  Fix Released
Status in systemd source package in Xenial:
  Incomplete
Status in systemd package in Debian:
  Fix Released

Bug description:
  Description:    Ubuntu 16.04 LTS
  Release:        16.04

  The upgrade to systemd/udev 229-4ubuntu6 breaks net.ifnames=0 for USB
  devices.

  It appears the regression is here:
  * Set MAC based name for USB network interfaces only for universally
      administered (i. e. stable) MACs, not for locally administered (i. e.
      randomly generated) ones. Drop /lib/systemd/network/90-mac-for-usb.link
      (as link files don't currently support globs for MACAddress=) and replace
      with an udev rule in /lib/udev/rules.d/73-special-net-names.rules.
      (Closes: #812575, LP: #1574483)

  As Raspberry Pi's use eth0 via USB, this breaks running systems.

  Before:
  ii  systemd        229-4ubuntu4 armhf        system and service manager
  ii  udev           229-4ubuntu4 armhf        /dev/ and hotplug management daem

  3: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000
      link/ether b8:27:eb:16:39:e9 brd ff:ff:ff:ff:ff:ff

  After:

  ii  systemd                      229-4ubuntu6        armhf               system and service manager
  ii  udev                         229-4ubuntu6        armhf               /dev/ and hotplug management daemon

  3: enxb827eb1639e9: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000
      link/ether b8:27:eb:16:39:e9 brd ff:ff:ff:ff:ff:ff

  cat /proc/cmdline
  dma.dmachans=0x7f35 bcm2708_fb.fbwidth=656 bcm2708_fb.fbheight=416 bcm2709.boardrev=0xa01041 bcm2709.serial=0x37b38253 smsc95xx.macaddr=B8:27:EB:B3:82:53 bcm2708_fb.fbswap=1 bcm2709.disk_led_gpio=47 bcm2709.disk_led_active_low=0 sdhci-bcm2708.emmc_clock_freq=250000000 vc_mem.mem_base=0x3dc00000 vc_mem.mem_size=0x3f000000  net.ifnames=0 dwc_otg.lpm_enable=0 console=ttyAMA0,115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait

  With the default interfaces configuration, all networking is lost on
  reboot after upgrade.

  
  SRU TEST CASE
  =============
   * Boot with "net.ifnames=0" on the kernel command line, and connect an USB ethernet device. It will still be called enxDEADBEEF with current xenial. With the -proposed version it will instead keep the kernel name, like "usb0" as intended.

   * Do "sudo ln -s /dev/null /etc/udev/rules.d/80-net-setup-link.rules"
  (the other documented way to disable ifnames) and do the above
  connect/name check test again.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/systemd/+bug/1593379/+subscriptions



More information about the foundations-bugs mailing list