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/