How can I prevent udevd from renaming eth0 to em1
JD
jd1008 at gmail.com
Wed Oct 17 21:25:58 UTC 2012
On 10/17/2012 02:15 PM, Bruno Wolff III wrote:
> On Wed, Oct 17, 2012 at 14:01:25 -0600,
> JD <jd1008 at gmail.com> wrote:
>>
>> So, does anyone have any other suggestion how to
>> prevent udevd from renaming eth0 to em1?
>
> Do you have 71-biosdevname.rules in either /etc/udev/rules.d or
> /usr/lib/udev/rules.d ? I expect that would run after the persistant
> name rule and reset things.
>
> I actually have the opposite issue in that I want to use the
> biosdevname names, since eth0 and eth1 have been getting assigned
> randomnly for a while now on one of my machines and the renaming
> ability of the network initscripts seems to have gone away.
>
OK, so in the udev source package, in file
udev/udev-event.c
if (udev_device_get_ifindex(dev) > 0 &&
strcmp(udev_device_get_action(dev), "add") == 0 &&
event->name != NULL && strcmp(event->name,
udev_device_get_sysname(dev)) != 0) {
char syspath[UTIL_PATH_SIZE];
char *pos;
err = rename_netif(event);
However, as I am unfamiliar with this package's internal logic and data
structures,
it is still unclear why it finds the interface index > 0
or the action set to add, nor is it clear why the values being tested
have these values that cause the renaming.
For example, I have only one wired ethernet interface, so why would it's
index be greater than 0?
I hope a developer with knowledge of the networking subsystem is able to
help here.
More information about the users
mailing list