0

I find that centos7.8 is using "net.ifnames=0" without "biosdevname=0" in its kernel parameters, the result seems be same: I got traditional nic name such as eth0.

Just curious, what is the difference of "net.ifnames=0" and "biosdevname=0"?

2
  • The way I understand it, net.ifnames tells systemd to create predictable NIC names, whereas biosdevname is one of several naming methods, namely Dell's method to derive the interface name from BIOS information using a tool named, you may guess it, biosdevname. Documented in the RHEL networking guide. – berndbausch Mar 3 at 8:55
  • According to the document, Note that unless the system is a Dell system, or biosdevname is explicitly enabled as described in Section 11.6.2, “Enabling and Disabling the Feature”, the systemd naming scheme will take precedence", seems for Dell System, I still need set "biosdevname=0" to generate traditional nic names. – osexp2003 Mar 4 at 2:48
1

From dell docs:

Biosdevname is a udev helper utility developed by Dell and released under the GNU General Public License (GPL). It provides a consistent naming mechanism for network devices based on their physical location as suggested by the system BIOS.

From manpages

biosdevname takes a kernel device name as an argument,
and returns the BIOS-given name it "should" be. 

The biosdevname is enabled by default on systems running RedHat based on Dell hardware.

The net.ifnames=0 is a kernel parameter that disables the Predictable Network Interface renaming behavior.

kernel-command-line manpages

   net.ifnames=
       Network interfaces are renamed to give them predictable names
       when possible. It is enabled by default; specifying 0
       disables it
3
  • 1
    thank you very much. WITHOUT "biosdevname=0", will "net.ifnames=0" alone always generate traditional nic names such as eth0? – osexp2003 Mar 4 at 2:44
  • According to the document, Note that unless the system is a Dell system, or biosdevname is explicitly enabled as described in Section 11.6.2, “Enabling and Disabling the Feature”, the systemd naming scheme will take precedence", seems for Dell System, I still need set "biosdevname=0" to generate traditional nic names. – osexp2003 Mar 4 at 2:48
  • 1
    I have tested on a DELL server, found that "net.ifnames=0" works WITHOUT "biosdevname=0", that is because the OS image I have used has not even installed the biosdevname package which is a prerequisite for biosdevname mechanism. > For this feature to take effect, the biosdevname package must also be installed. – osexp2003 Mar 4 at 3:57
1

Just as a complementary,

The biosdevname kernel parameter takes effect only when following requirements are met:

  • DELL hardware
  • biosdevname package has been installed

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.