[Bug 1574483] Re: assigns MAC-based names for devices with locally administered MAC address
martin.pitt at ubuntu.com
Mon May 9 08:42:54 UTC 2016
I currently run systemd/udev from xenial-proposed, and when enabling
tethering I now get enp0s29u3 as a device name, which is location based.
Before, with 229-4ubuntu4 I got enxXXXXXXXX (MAC based).
** Tags removed: verification-needed
** Tags added: verification-done
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to systemd in Ubuntu.
assigns MAC-based names for devices with locally administered MAC
Status in systemd package in Ubuntu:
Status in systemd source package in Xenial:
Status in systemd source package in Yakkety:
Status in systemd package in Debian:
Originally from https://bugs.debian.org/812575: Our current
/lib/systemd/network/90-mac-for-usb.link assigns MAC-based names to
all USB devices. However, this is wrong and pointless for locally
administered MAC addresses (with the second bit set to '1', see
The old 75-persistent-net generator had this rule:
which ignored these devices. We need to adjust 90-mac-for-usb.link to
do the same, and only apply to universally administered MAC addresses
(at least until https://lists.ubuntu.com/archives/ubuntu-
devel/2016-April/039302.html gets concluded).
We should simply fall through the default policy of assigning location
based names. The kernel assigned ones have no meaning whatsoever, so
this at least provides name stability for use cases where you can rely
on plugging the device into the same port.
- Plug in an Android phone and enable USB tethering, or a different USB device which uses locally administered MAC addresses, i. e. they change after every reboot of the device. The first byte of the MAC address must have the second bit set, i. e. the hex number matches ?[2367abef].
- Check "ip a". With current xenial version the interface name is MAC based, like "enx12345678", and it changes after rebooting the device.
- With this fix, the name is location based, like "enp0s1u2", and it remains stable as long as you use the same USB port.
Regression potential: This only affects naming USB network devices. It
should be tested that devices with universally administered MACs (i.
e. stable, second bit is zero) keep MAC based names to avoid changing
existing stable names. For devices with locally administered MACs (i.
e. random ones) the name currently changes all the time anyway, so any
/etc/network/interfaces or firewall script that refers to them is
already broken and there cannot be further regressions there. Also,
the updated policy is only applied after a computer reboot or
replugging the device, the name does not change while the device is
already plugged in.
To manage notifications about this bug go to:
More information about the foundations-bugs