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 <>
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.

  Regression: Persistent net names via /etc/udev/rules.d/70-persistent-
  net.rules fail

Status in “linux” package in Ubuntu:
Status in “systemd” package in Ubuntu:

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:

Mailing list:
Post to     :
Unsubscribe :
More help   :

Reply via email to