From efbe5b3e937ec620b3c233fd6142ccfa021854c4 Mon Sep 17 00:00:00 2001 From: Martin Pitt Date: Mon, 25 Apr 2016 10:30:29 +0200 Subject: [PATCH] Set MAC based name for USB network interfaces only for universally administered (i. e. stable) MACs Stop doing this for locally administered (i. e. randomly generated) ones. These devices have no intrinsic stable properties, so use the default location based names for those. 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 --- debian/changelog | 6 ++++++ debian/extra/90-mac-for-usb.link | 9 --------- debian/extra/rules/73-special-net-names.rules | 5 +++++ debian/udev-udeb.install | 1 - debian/udev.install | 1 - 5 files changed, 11 insertions(+), 11 deletions(-) delete mode 100644 debian/extra/90-mac-for-usb.link diff --git a/debian/changelog b/debian/changelog index 4975b87f0..cb3298fdf 100644 --- a/debian/changelog +++ b/debian/changelog @@ -41,6 +41,12 @@ systemd (229-5) UNRELEASED; urgency=medium * debian/systemd-coredump.postinst: Do daemon-reload before starting systemd-coredump, as the unit file may have changed on upgrades. (Closes: #820325) + * 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) -- Martin Pitt Thu, 07 Apr 2016 21:39:45 +0200 diff --git a/debian/extra/90-mac-for-usb.link b/debian/extra/90-mac-for-usb.link deleted file mode 100644 index 863a16414..000000000 --- a/debian/extra/90-mac-for-usb.link +++ /dev/null @@ -1,9 +0,0 @@ -# Use MAC based names for network interfaces which are (directly or indirectly) -# on USB. Path based names are inadequate for dynamic buses like USB. - -[Match] -Path=*-usb-* - -[Link] -NamePolicy=kernel database onboard mac -MACAddressPolicy=persistent diff --git a/debian/extra/rules/73-special-net-names.rules b/debian/extra/rules/73-special-net-names.rules index e2fb13007..1aba5722f 100644 --- a/debian/extra/rules/73-special-net-names.rules +++ b/debian/extra/rules/73-special-net-names.rules @@ -7,3 +7,8 @@ ACTION=="add", SUBSYSTEM=="net", SUBSYSTEMS=="usb", ATTRS{idVendor}=="413c", ATT # "/devices/vio/30000002/net/eth1"); we ignore the bus number, as # there should only ever be one bus, and then remove leading zeros ACTION=="add", SUBSYSTEM=="net", NAME=="", DRIVERS=="ibmveth", PROGRAM="/bin/sh -ec 'D=${DEVPATH#*/vio/}; D=${D%%%%/*}; D=${D#????}; D=${D#0}; D=${D#0}; D=${D#0}; D=${D#0}; echo ${D:-0}'", NAME="ibmveth$result" + +# Use MAC based names for network interfaces which are directly or indirectly +# on USB and have an universally administered (stable) MAC address (second bit +# is 0). +ACTION=="add", SUBSYSTEM=="net", SUBSYSTEMS=="usb", NAME=="", ATTR{address}=="?[014589cd]:*", IMPORT{builtin}="net_id", NAME="$env{ID_NET_NAME_MAC}" diff --git a/debian/udev-udeb.install b/debian/udev-udeb.install index 89b602c9a..bfd484e85 100644 --- a/debian/udev-udeb.install +++ b/debian/udev-udeb.install @@ -13,7 +13,6 @@ lib/udev/rules.d/75-net-description.rules lib/udev/rules.d/75-probe_mtd.rules lib/udev/rules.d/80-drivers.rules lib/udev/rules.d/80-net-setup-link.rules -../../extra/90-mac-for-usb.link lib/systemd/network/ ../../extra/rules/50-firmware.rules lib/udev/rules.d/ ../../extra/rules/73-special-net-names.rules lib/udev/rules.d/ ../../extra/start-udev lib/debian-installer/ diff --git a/debian/udev.install b/debian/udev.install index 2958a92af..26a6d29c4 100644 --- a/debian/udev.install +++ b/debian/udev.install @@ -22,4 +22,3 @@ usr/share/pkgconfig/udev.pc #../../extra/*.hwdb lib/udev/hwdb.d/ ../../extra/fbdev-blacklist.conf etc/modprobe.d/ ../../extra/udev-helpers/* lib/udev/ -../../extra/*.link lib/systemd/network/