This is confirmed as a systemd-udev regression. Code that previously existed in rename_netif() to support a temporary interface name ("rename%u") has been removed. As a result, the '70 -persistent-net.rules' actions that try to shuffle existing names will now fail.
systemd commit log: commit 97595710b77aa162ca5e20da57d0a1ed7355eaad Author: Kay Sievers <k...@vrfy.org> Date: Thu Jul 5 17:40:50 2012 +0200 udev: network device renaming - immediately give up if the target name isn't available ** Changed in: linux (Ubuntu) Status: Incomplete => Invalid ** Changed in: systemd (Ubuntu) Status: New => Triaged ** Summary changed: - Persistent net names via /etc/udev/rules.d/70-persistent-net.rules fail + Regression: Persistent net names via /etc/udev/rules.d/70-persistent-net.rules fail -- You received this bug notification because you are a member of Kernel Packages, which is subscribed to linux in Ubuntu. https://bugs.launchpad.net/bugs/1235162 Title: Regression: Persistent net names via /etc/udev/rules.d/70-persistent- net.rules fail Status in “linux” package in Ubuntu: Invalid Status in “systemd” package in Ubuntu: Triaged Bug description: systemd-udev 204. Installing 13.10 amd64 on a multi-homed server. There are 5 ethernet interfaces, one on the mobo and four on a PCIe adapter. udev created "/etc/udev/rules.d/70-persistent-net.rules" and I later edited the NAME= assignments to match the device naming required. These rules are apparently ignored but it transpires that the kernel is returning -EEXIST from net/core/dev.c::dev_get_valid_name(). This renaming works in earlier versions, specifically on a 12.04 LTS server with ten Ethernet interfaces, and is therefore a regression. To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1235162/+subscriptions -- Mailing list: https://launchpad.net/~kernel-packages Post to : firstname.lastname@example.org Unsubscribe : https://launchpad.net/~kernel-packages More help : https://help.launchpad.net/ListHelp