F-15: ifconfig -- What Happened to eth0?
FedoraForum.org - Fedora Support Forums and Community
Page 1 of 2 1 2 LastLast
Results 1 to 15 of 28
  1. #1
    Join Date
    May 2010
    Posts
    215
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Unhappy F-15: ifconfig -- What Happened to eth0?

    Just finished a fresh install of F-15 on bare metal, and I've run into an interesting problem -- eth0 and eth1 are no longer valid device names. Now ifconfig is referring to them as "em1" and p135p1".

    What's going on?

    It sure was a lot easier to deal with the network devices when they had logical names like eth0 and eth1. These new names were forced by the installer and they seem like a step backwards.

    TIA.

  2. #2
    Join Date
    Jun 2006
    Posts
    7,544
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Re: F-15: ifconfig -- What Happened to eth0?


  3. #3
    Join Date
    Jun 2004
    Location
    Maryland, US
    Posts
    8,164
    Mentioned
    17 Post(s)
    Tagged
    0 Thread(s)

    Re: F-15: ifconfig -- What Happened to eth0?

    This was as change to the naming scheme due to problems with figuring out what
    I/Fs were discrete cards vs the built-in interfaces on the motherboards.

    Note that you can avoid this feature:
    Avoiding this feature

    Will there be any way to disable this feature on fresh install? (e.g. removing udev-script or disabling it in script in /etc/sysconf). I want to keep with Linux interface naming standards based on protocol (eth, ppp, tun, tap) and not with half-half mess made by this feature. Thank you for reply.

    2011-01-28 Yes, we are adding a kernel command line option to disable biosdevname from running at install time; you can also uninstall the biosdevname package after install. -mdomsch
    REF
    http://fedoraproject.org/wiki/Featur...rkDeviceNaming


    See also the man page for "biosdevname"

    and

    /usr/share/doc/biosdevname-0.3.8/README

    on your Fedora 15 system
    Last edited by marko; 15th June 2011 at 10:16 PM. Reason: talk link was broken, can be seen from the parent link ConsistentNetworkDeviceNaming for ref later

  4. #4
    Join Date
    May 2010
    Posts
    215
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Re: F-15: ifconfig -- What Happened to eth0?

    thank you for the amazingly quick reply. unfortunately that link is providing Error 503: Service Unavailable.
    Last edited by bob p; 15th June 2011 at 10:19 PM.

  5. #5
    Join Date
    Jun 2006
    Posts
    7,544
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Re: F-15: ifconfig -- What Happened to eth0?

    From the Google cache of it...
    Quote Originally Posted by fedoraproject.org wiki

    Consistent Network Device Naming

    Summary

    Change the network device naming scheme from ethX to a physical location-based name for easy identification and use.

    New Owner:

    * Name: Jordan Hargrave

    Previous Owner:

    * Name: Matt Domsch

    Current status

    * Targeted release: Fedora 15
    * Last updated: 2010-12-03
    * Percentage of completion: 90%

    Detailed Description

    Systems, particularly servers, with multiple network ports, name the ports ethX in a non-deterministic order, and are therefore not useful for system administrators.

    The proposal is as follows:

    * update biosdevname to upstream release 0.3.1 (complete 27-Nov-2010)
    * ensure postinstall udev uses biosdevname in udev rules to name LAN-on-Motherboard network ports from ethX to em[1234] and PCI cards to p<slot>p<port>_<vf> (complete 27-Nov-2010)
    * have kickstart / anaconda use the biosdevname-provided name em[1234] (complete 28-Nov-2010)
    * add biosdevname to @base (complete 28-Nov-2010)
    * add biosdevname to dracut-network (https://bugzilla.redhat.com/show_bug.cgi?id=659915 complete 2011-02-01)
    * have NetworkManager display the label somehow (TBD, not critical for feature)
    * initscripts needs to accept names with # in them (https://bugzilla.redhat.com/show_bug.cgi?id=663904 complete 2010-12-17)
    * udev renaming 2-step overflows IFNAMSIZ (https://bugzilla.redhat.com/show_bug.cgi?id=673675 complete 2011-02-02)
    * Don't suggest names when running in a VM (use bits from virt-what) (https://bugzilla.redhat.com/show_bug.cgi?id=673268 complete 2011-02-17)
    * Handle SR-IOV and NPAR better (get actual mapping of PFs and VFs to ports if we can)
    * fix initscripts VLAN code that assumes devices named eth*|bond*|hsi* (https://bugzilla.redhat.com/show_bug.cgi?id=462095)
    * Tracker for applications that hard-code eth* assumptions (https://bugzilla.redhat.com/showdepe...ide_resolved=1)

    Benefit to Fedora

    System Administrators can then use BIOS-provided names, which are consistent and not arbitrarily named, for their network ports. This eliminates the confusion that non-deterministic naming brings, and eliminates the use of hard-coded MAC address based port renaming which a) is racy and error-prone, and b) introduces state into an otherwise stateless system.

    This change affects most desktop, notebook, and server-class systems.

  6. #6
    Join Date
    May 2010
    Posts
    215
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Re: F-15: ifconfig -- What Happened to eth0?

    Wow, you are all over this problem. Thanks.


    After reading a bit more, I found that there is reportedly a kernel command line parameter to override this behavior: 'biosdevname=0'. I have added 'biosdevname=0' to the kernel line in grub conf, and it fails to prevent the renaming of the device names.

    Code:
    # grub.conf generated by anaconda
    #
    # Note that you do not have to rerun grub after making changes to this file
    # NOTICE:  You have a /boot partition.  This means that
    #          all kernel and initrd paths are relative to /boot/, eg.
    #          root (hd0,0)
    #          kernel /vmlinuz-version ro root=/dev/mapper/vg_colossus-lv_root
    #          initrd /initrd-[generic-]version.img
    #boot=/dev/sda
    default=0
    timeout=0
    splashimage=(hd0,0)/grub/splash.xpm.gz
    hiddenmenu
    title Fedora (2.6.38.7-30.fc15.x86_64)
            root (hd0,0)
            #kernel /vmlinuz-2.6.38.7-30.fc15.x86_64 ro root=/dev/mapper/vg_colossus-lv_root rd_LVM_LV=vg_colossus/lv_root rd_LVM_LV=vg_colossus/lv_swap rd_NO_LUKS rd_NO_MD rd_NO_DM LANG=en_US.UTF-8 SYSFONT=latarcyrheb-sun16 KEYTABLE=us rhgb quiet
            kernel /vmlinuz-2.6.38.7-30.fc15.x86_64 ro root=/dev/mapper/vg_colossus-lv_root rd_LVM_LV=vg_colossus/lv_root rd_LVM_LV=vg_colossus/lv_swap rd_NO_LUKS rd_NO_MD rd_NO_DM LANG=en_US.UTF-8 SYSFONT=latarcyrheb-sun16 KEYTABLE=us biosdevname=0
            initrd /initramfs-2.6.38.7-30.fc15.x86_64.img
    Unfortunately, the proposed override does not seem to work as it is supposed to; The network devices are being renamed in spite of my request not to rename them:

    Code:
    # dmesg | grep 'eth'
    [   12.307437] r8169 0000:02:00.0: eth0: RTL8168d/8111d at 0xffffc900057d0000, xx:xx:xx:xx:xx:xx, XID xxxxxxxx IRQ 45
    [   12.316647] r8169 0000:07:04.0: eth1: RTL8169sc/8110sc at 0xffffc900057c8000, xx:xx:xx:xx:xx:xx, XID xxxxxxxx IRQ 19
    [   14.398542] udev[447]: renamed network interface eth0 to p135p1
    [   15.155384] udev[444]: renamed network interface eth1 to em1
    What's interesting is that this new terminology is supposed to differentiate between on-motherboard ethernet adapters and slot-based ethernet adapters. In my case, all of the ethernet adapters are on the motherboard, but the software has decided that one of them is an add-in card when it is not. This error effectively defeats the purpose of making this change in device naming -- all loss, no gain.
    Last edited by bob p; 15th June 2011 at 10:29 PM.

  7. #7
    Join Date
    Jun 2004
    Location
    Maryland, US
    Posts
    8,164
    Mentioned
    17 Post(s)
    Tagged
    0 Thread(s)

    Re: F-15: ifconfig -- What Happened to eth0?


    Unfortunately, the proposed override does not seem to work as it is supposed to; The network devices are being renamed in spite of my request not to rename them:
    After careful reading my quote in post #3, the biosdevname is an install time override. You append it to the kernel line at install time then anaconda picks it up,
    so when you boot the install disk, you'd need to press Esc and put in this to the boot: prompt:

    boot: linux biosdevname=0
    Maybe that other option (removing the biosdevname package) would do what you want post-install
    Last edited by marko; 15th June 2011 at 10:52 PM. Reason: typo

  8. #8
    Join Date
    May 2010
    Posts
    215
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Re: F-15: ifconfig -- What Happened to eth0?

    Thanks. You're right, I was trying to use the kernel command line option at run time, not at install time. My mistake.

    Regarding the second option -- it doesn't seem to work. After using 'yum remove biosdevname' and rebooting, the package is indeed de-installed but the device names have not reverted back to eth0 and eth0. The system continues to refer to them using the new nomenclature.

    It would seem that de-activating the new nomenclature isn't as simple as de-installing the biosdevname package. sigh.

  9. #9
    Join Date
    Jun 2004
    Location
    Maryland, US
    Posts
    8,164
    Mentioned
    17 Post(s)
    Tagged
    0 Thread(s)

    Re: F-15: ifconfig -- What Happened to eth0?

    Quote Originally Posted by bob p
    Thanks. You're right, I was trying to use the kernel command line option at run time, not at install time. My mistake.

    Regarding the second option -- it doesn't seem to work. After using 'yum remove biosdevname' and rebooting, the package is indeed de-installed but the device names have not reverted back to eth0 and eth0. The system continues to refer to them using the new nomenclature.

    It would seem that de-activating the new nomenclature isn't as simple as de-installing the biosdevname package. sigh.
    Ok, well I was just quoting what they said here:

    2011-01-28 Yes, we are adding a kernel command line option to disable biosdevname from running at install time; you can also uninstall the biosdevname package after install. -mdomsch
    Just curious, what problem is it causing? Do you have hard coded scripts using "eth#" style names?

  10. #10
    Join Date
    May 2010
    Posts
    215
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Exclamation Re: F-15: ifconfig -- What Happened to eth0?

    It seems that the author's description of how to use the command line override feature has changed over time.

    The page that you referenced is is an old/cached version of the page. It documents the behavior as being different from the current version of the page.

    On the cached page that you referenced, he stated that it was an installation-only override.

    Now that I can load the current version of the page, I see that he states that the kernel command line parameter can be invoked by sysadmins via the command line (without reference to only being able to perform the override during an install). See the section entitled "User Experience."

    http://fedoraproject.org/wiki/Featur...rkDeviceNaming

    System Administrators may disable this feature by passing "biosdevname=0" on the kernel command line.
    Well, none of the proposed bypass methods seem to work. Passing 'biosdevname=0' on the command line fails to disable the feature, and de-installing the package after an install doesn't work either.

    This 'upgrade' is breaking scripts on every PC that I have to administrate. If I cannot find a way to disable this 'feature', we will have no choice but to avoid deployment of F-15 and find another solution. Aargh.

    ---------- Post added at 06:14 PM ---------- Previous post was at 05:21 PM ----------

    Can anyone explain how to force the system to revert to the old eth0 and eth1 nomenclature?

    I have tried manually editing the network configuration files and rebooting. Unfortunately, although the network config files have been properly changed, after rebooting the system continues to use the new interface names.

    Obviously, these new text entries have to be stored somewhere -- does anyone know where they are, and how I can get rid of them?

    Editing files in the following locations does not seem to work:

    /etc/sysconfig/network-scripts/ifcfg-<device>
    /etc/sysconfig/networking/profiles/default/
    etc/sysconfig/networking/devices

  11. #11
    Join Date
    Jun 2004
    Location
    Maryland, US
    Posts
    8,164
    Mentioned
    17 Post(s)
    Tagged
    0 Thread(s)

    Re: F-15: ifconfig -- What Happened to eth0?

    Try looking in this file:

    /lib/udev/rules.d/71-biosdevname.rules

    I see it says in there (at bolded):

    SUBSYSTEM!="net", GOTO="netdevicename_end"
    KERNEL!="eth*", GOTO="netdevicename_end"
    ACTION!="add", GOTO="netdevicename_end"
    NAME=="?*", GOTO="netdevicename_end"

    # kernel command line "biosdevname={0|1}" can turn off/on biosdevname
    IMPORT{cmdline}="biosdevname"
    ENV{biosdevname}=="?*", ENV{UDEV_BIOSDEVNAME}="$env{biosdevname}"
    # ENV{UDEV_BIOSDEVNAME} can be used for blacklist/whitelist
    # but will be overwritten by the kernel command line argument
    ENV{UDEV_BIOSDEVNAME}=="0", GOTO="netdevicename_end"
    ENV{UDEV_BIOSDEVNAME}=="1", GOTO="netdevicename_start"

    # uncomment the next line for biosdevname to be off by default
    # GOTO="netdevicename_end"


    LABEL="netdevicename_start"

    # using NAME= instead of setting INTERFACE_NAME, so that persistent
    # names aren't generated for these devices, they are "named" on each boot.
    PROGRAM="/sbin/biosdevname --policy physical -i %k", NAME="%c", OPTIONS+="string_escape=replace"

    LABEL="netdevicename_end"
    Note what it says at my highlight, you can disable the rename by commenting in:
    GOTO="netdevicename_end"

    Try that and see how it goes

  12. #12
    Join Date
    May 2010
    Posts
    215
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Re: F-15: ifconfig -- What Happened to eth0?

    Murphy's Law Prevails -- I have no file named /lib/udev/rules.d/71-biosdevname.rules, presumably because I have de-installed biosdevname per the previous instructions.

    It is a mystery to me why these changes persist.

    Update: reinstalling the package, and then editing the udev rules file doesn't help either.

    So far I've tried the following:

    1. Kernel command line parameter -- didn't work.
    2. De-install package -- didn't work.
    3. Edit udev script to bypass device renaming -- didn't work.

    I'm beginning to wonder if this is a configuration problem or if it could be a bug.
    Last edited by bob p; 16th June 2011 at 12:43 AM.

  13. #13
    Join Date
    Jun 2004
    Location
    Maryland, US
    Posts
    8,164
    Mentioned
    17 Post(s)
    Tagged
    0 Thread(s)

    Re: F-15: ifconfig -- What Happened to eth0?

    Quote Originally Posted by bob p
    Murphy's Law Prevails -- I have no file named /lib/udev/rules.d/71-biosdevname.rules, presumably because I have de-installed biosdevname per the previous instructions.

    It is a mystery to me why these changes persist.

    Update: reinstalling the package, and then editing the udev rules file doesn't help either.

    So far I've tried the following:

    1. Kernel command line parameter -- didn't work.
    2. De-install package -- didn't work.
    3. Edit udev script to bypass device renaming -- didn't work.

    I'm beginning to wonder if this is a configuration problem or if it could be a bug.

    I don't have more ideas, it might be good idea to make a thread in "Networking", I know this issues turned up a lot but you'll get better answers in Networking since this is
    network related

    BTW, this guy had a blog post where he says this worked:

    http://kezhong.wordpress.com/2011/06...-on-fedora-15/

    he has some edits above and beyond what you did (renaming the devices in the ifcfg files, etc) so this might explain your problem
    with the biosdevname flag not working.
    Last edited by marko; 16th June 2011 at 01:27 AM.

  14. #14
    Join Date
    May 2010
    Posts
    215
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Re: F-15: ifconfig -- What Happened to eth0?

    Well, this is really confusing.

    FWIW, I did rename the devices, both by changing the ifcfg-<device> file names, and by editing the line items within the files themselves:

    Code:
    #vdir /etc/sysconfig/network-scripts/ifcfg* 
    -rw-r--r--. 3 root root  91 Jun 15 17:46 /etc/sysconfig/network-scripts/ifcfg-eth0
    -rw-r--r--. 3 root root  90 Jun 15 17:45 /etc/sysconfig/network-scripts/ifcfg-eth1
    -rw-r--r--. 1 root root 254 Apr 27 12:17 /etc/sysconfig/network-scripts/ifcfg-lo
    
    # cat /etc/sysconfig/network-scripts/ifcfg-eth0
    DEVICE="eth0"
    HWADDR="48:5B:39:4B:2D:52"
    BOOTPROTO="dhcp"
    ONBOOT="yes"
    NM_CONTROLLED="yes"
    For reasons tha t I cannot explain, after a reboot, it appeears that UDEV is renaming the devices even though I've reinstalled the package, and modified the script as you've suggested to bypass the renaming scheme.

    Code:
    # dmesg | grep "eth"
    [   12.066400] r8169 0000:02:00.0: eth0: RTL8168d/8111d at 0xffffc90005d6e000, 48:5b:39:4b:2d:52, XID 083000c0 IRQ 45
    [   12.070224] r8169 0000:07:04.0: eth1: RTL8169sc/8110sc at 0xffffc900057d0000, 48:5b:39:4b:2c:b9, XID 18000000 IRQ 19
    [   13.260119] udev[494]: renamed network interface eth0 to p135p1
    [   13.263084] udev[495]: renamed network interface eth1 to em1

    I can't explain why my problem persists. There has got to be additional configuration information that is being stored in a place that we haven't thought of.
    Last edited by bob p; 16th June 2011 at 03:53 AM.

  15. #15
    Join Date
    May 2010
    Posts
    215
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Unhappy F-15: How to go back to ethO and eth1?

    I'm pleading for help in getting rid of "Consistent Network Device Naming" and moving back to the old-style interface names of eth0 and eth1. I started a thread on this topic in the Installing Fedora forum, but we couldn't get the problem solved and it was recommended that I look for help here.

    This is the original thread: http://forums.fedoraforum.org/showthread.php?t=265259



    I'd like to get rid of em1 and p135p1 and revert to eth0 and eth1, respectively.

    So far I've tried the following steps, none of which have worked:

    1. Add the kernel command line option "biosdevname=0" to grub.conf.

    2. De-install the biosdevname package

    3. Edit /lib/udev/rules.d/71-biosdevname.rules to bypass device renaming.

    4. Reinstall the package and re-try Step 3.

    5. Manually edit the files in /etc/sysconfig/network-scripts/ifcfg* to restore the filenames to ifcfg-<device>, with <device> being 'eth0' and 'eth1'. I also changed the line items in those files to reflect the eth0 and eth1 device names.

    Unfortunately, NONE of these methods seem to work. It appears that udev renames my network adapters on every boot, and there's nothing that I can do to stop it.

    Can anyone help? This problem is breaking scripts and the elusive nature of the solution is wearing on me.

    TIA.

Page 1 of 2 1 2 LastLast

Similar Threads

  1. Replies: 0
    Last Post: 27th May 2010, 09:20 PM
  2. eth0 does not showup in ifconfig -a
    By vpg in forum Servers & Networking
    Replies: 14
    Last Post: 8th February 2008, 01:27 PM
  3. ifconfig in FC5
    By cvcc12000 in forum Servers & Networking
    Replies: 4
    Last Post: 11th April 2006, 11:59 AM
  4. ifconfig eth0:0 <IP> is forgotten on restart
    By bonsaidouglas in forum Servers & Networking
    Replies: 6
    Last Post: 13th January 2005, 11:16 AM

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •