Skip to contentSkip to conversation

Provide ability to change default netdev name?

DISCUSSION Ben Greear 2 participants 3 messages Aug 16, 2013 – Aug 17, 2013

Subsystems (2)
lore
Share & tools
lore

Ben Greear

author
#0 lore raw

The latest udev in Fedora 19 (and perhaps elsewhere) will no longer implement rules that rename an interface from ethX to ethY. Nor wlanX or other 'kernel namespaces'. The Fedora udev developers do not seem interested in changing this back to the old behaviour, evidently they had a hard time implementing it properly.

This effectively makes it impossible to have network device names of ethX consistent across reboots in systems with multiple NICs and/or drivers.

One way to work around this would be allow the kernel to use a different default netdev name (for instance, keth%d). I'm thinking this would be configured as a kernel command line argument. Then, a small change to udev/systemd to make the 'kernel namespaces' configurable by letting it understand this new kernel command line argument should resolve the problem.

Does this sound like something that could be accepted upstream?

Thanks,
Ben

Signature · 2 lines
Ben Greear <[email protected]>
Candela Technologies Inc  http://www.candelatech.com
#1 lore raw
Quoted 5 lines · Ben Greear

The latest udev in Fedora 19 (and perhaps elsewhere) will no longer implement rules that rename an interface from ethX to ethY. Nor wlanX or other 'kernel namespaces'. The Fedora udev developers do not seem interested in changing this back to the old behaviour, evidently they had a hard time implementing it properly.

There is an inherent problem that a new device can appear at any time under the exact name udev is trying to rename to. I expect it is possible to do this properly but may be quite difficult to eliminate the possibility of deadlock.

Still, if udev actively refuses to use the 'kernel namespaces' (rather than just being configured not to), that would be a bug.

Quoted 10 lines

This effectively makes it impossible to have network device names of ethX consistent across reboots in systems with multiple NICs and/or drivers.

One way to work around this would be allow the kernel to use a different default netdev name (for instance, keth%d). I'm thinking this would be configured as a kernel command line argument. Then, a small change to udev/systemd to make the 'kernel namespaces' configurable by letting it understand this new kernel command line argument should resolve the problem.

Does this sound like something that could be accepted upstream?

This sounds completely ridiculous.

Ben.

Signature · 3 lines
Ben Hutchings, Staff Engineer, Solarflare
Not speaking for my employer; that's the marketing department's job.
They asked us to note that Solarflare product names are trademarked.
author
#2 lore raw
Quoted 7 lines · Ben Hutchings
Quoted 5 lines · Ben Greear

The latest udev in Fedora 19 (and perhaps elsewhere) will no longer implement rules that rename an interface from ethX to ethY. Nor wlanX or other 'kernel namespaces'. The Fedora udev developers do not seem interested in changing this back to the old behaviour, evidently they had a hard time implementing it properly.

Quoted 7 lines

There is an inherent problem that a new device can appear at any time under the exact name udev is trying to rename to. I expect it is possible to do this properly but may be quite difficult to eliminate the possibility of deadlock.

Still, if udev actively refuses to use the 'kernel namespaces' (rather than just being configured not to), that would be a bug.

I agree, but the Fedora udev developers do not. I'm not sure if other distros will follow or not.

Quoted 9 lines
Quoted 9 lines

This effectively makes it impossible to have network device names of ethX consistent across reboots in systems with multiple NICs and/or drivers.

One way to work around this would be allow the kernel to use a different default netdev name (for instance, keth%d). I'm thinking this would be configured as a kernel command line argument. Then, a small change to udev/systemd to make the 'kernel namespaces' configurable by letting it understand this new kernel command line argument should resolve the problem.

Quoted 3 lines
Quoted 1 line

Does this sound like something that could be accepted upstream?

This sounds completely ridiculous.

Yeah, seems lame to hack around funky user-space, but if udev folks will truly not fix this, then life is going to suck for users wanting to use 'ethX' naming schemes for their network devices.

Thanks,
Ben

Signature · 2 lines
Ben Greear <[email protected]>
Candela Technologies Inc  http://www.candelatech.com