Re: How can I prevent udevd from renaming eth0 to em1

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




On 10/17/2012 07:22 PM, Digimer wrote:
On 10/17/2012 09:18 PM, Digimer wrote:
On 10/17/2012 06:24 PM, JD wrote:
Briefly....
$ ifconfig -a
em1       Link encap:Ethernet  HWaddr xx:xx:...etc

lo        Link encap:Local Loopback

virbr0    Link encap:Ethernet  HWaddr xx:xx:...etc

virbr0-nic Link encap:Ethernet  HWaddr xx:xx:...etc

wlan0     Link encap:Ethernet  HWaddr xx:xx:...etc
Ah, I see. On my systems, I get:

===
em1: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
         ether f0:de:f1:fc:65:b3  txqueuelen 1000  (Ethernet)
===

So the script says "grab any non-space character up to the colon (foo:).
Your now showing a colon, so it fails to match.

Try replacing:

===
	if ($line =~ /^(\S+):/)
===

With:


===
	if ($line =~ /^(\S+)/)
===
Strike that, I see that you are also showing the HWADDR on the same
line, so the whole regex this is going to miss your output.

Skip the script; The main thing is to take the 'em1 ... HWadd:
aa:bb:cc:dd:ee:ff' and put it in 70-persistent-net.rules as (one line);

SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*",
ATTR{address}=="aa:bb:cc:dd:ee:ff", NAME="eth0"

Then in you 'ifcfg-eth0' file, set 'DEVICE="eth0"' and make sure there
is no HWADDR="..." line. Reboot and you should be golden.


I did do just that, as also vehemently stated by many other bloggers
I read on other web sites. Unfortunately, IT DOES  NOT WORK!!
Here is what I have in /etc/udev/rules.d/70-persistent-net.rules

SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:03:0d:15:2b:9e", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0

and I rebooted several times, and yet still:

$ ifconfig eth0
eth0: error fetching interface information: Device not found
$ ifconfig em1
em1       Link encap:Ethernet  HWaddr 00:....etc
          BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)
          Interrupt:19 Base address:0xd800
and

$ dmesg | grep em1
[    5.982317] udevd[219]: renamed network interface eth0 to em1

I posted the logic in udev source code where it decides to rename.
I admit that I do not know the udev code, but there might be a problem
in the values of numbers being passed to udev that are incorrect, like
the interface's device index being > 0
Where is this info being gleaned from and passed to udev?
Also, since the name in the rule file is eth0, how is this part of the conditional
    strcmp(event->name, udev_device_get_sysname(dev)) != 0 failing?
In otherwords, udev_device_get_sysname() is returning a name other than eth0.

Here is that code segment again:

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);

--
users mailing list
users@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe or change subscription options:
https://admin.fedoraproject.org/mailman/listinfo/users
Guidelines: http://fedoraproject.org/wiki/Mailing_list_guidelines
Have a question? Ask away: http://ask.fedoraproject.org


[Index of Archives]     [Older Fedora Users]     [Fedora Announce]     [Fedora Package Announce]     [EPEL Announce]     [EPEL Devel]     [Fedora Magazine]     [Fedora Summer Coding]     [Fedora Laptop]     [Fedora Cloud]     [Fedora Advisory Board]     [Fedora Education]     [Fedora Security]     [Fedora Scitech]     [Fedora Robotics]     [Fedora Infrastructure]     [Fedora Websites]     [Anaconda Devel]     [Fedora Devel Java]     [Fedora Desktop]     [Fedora Fonts]     [Fedora Marketing]     [Fedora Management Tools]     [Fedora Mentors]     [Fedora Package Review]     [Fedora R Devel]     [Fedora PHP Devel]     [Kickstart]     [Fedora Music]     [Fedora Packaging]     [Fedora SELinux]     [Fedora Legal]     [Fedora Kernel]     [Fedora OCaml]     [Coolkey]     [Virtualization Tools]     [ET Management Tools]     [Yum Users]     [Yosemite News]     [Gnome Users]     [KDE Users]     [Fedora Art]     [Fedora Docs]     [Fedora Sparc]     [Libvirt Users]     [Fedora ARM]

  Powered by Linux