Re: Network Device Naming mechanism and policy
From: Kay Sievers <hidden>
Date: 2009-03-24 16:29:50
Also in:
lkml
On Tue, Mar 24, 2009 at 17:21, Patrick McHardy [off-list ref] wrote:
Matt Domsch wrote:quoted
2) udev may have rules to change the device names. This is most often seen in the '70-persistent-net.rules' file. Here we have additional challenges: ... c) udev may not always be able to change a device's name. If udev uses the kernel assignment namespace (ethN), then a rename of eth0->eth1 may require renaming eth1->eth0 (or something else). Udev operates on a single device instance at a time, it becomes difficult to switch names around for multiple devices, within the single namespace.I would classify this as a bug, especially the fact that udev doesn't undo a failed rename, so you end up with ethX_rename. Virtual devices using the same MAC address trigger this reliably unless you add exceptions to the udev rules.
This is handled in most cases. Virtual interfaces claiming a configured name and created before the "hardware" interface are not handled, that's right, but pretty uncommon.
You state that it only operates on one device at a time. If that is correct, I'm not sure why the _rename suffix is used at all instead of simply trying to assign the final name, which would avoid this problem.
How? The kernel assignes the names and the configured names may conflict. So you possibly can not rename a device to the target name when it's name is already taken. I don't see how to avoid this. Thanks, Kay