[networking-guide] master: Consistent Network Device Naming (5bd1ec6)

stephenw at fedoraproject.org stephenw at fedoraproject.org
Mon Jul 28 21:11:40 UTC 2014


Repository : http://git.fedorahosted.org/cgit/docs/networking-guide.git

On branch  : master

>---------------------------------------------------------------

commit 5bd1ec65908e0a5ece34249264a11e1fa49db483
Author: Stephen Wadeley <swadeley at redhat.com>
Date:   Mon Jul 28 23:09:06 2014 +0200

    Consistent Network Device Naming
    
    misc. improvments after review


>---------------------------------------------------------------

 en-US/Consistent_Network_Device_Naming.xml |   38 ++++++++++++++++-----------
 1 files changed, 22 insertions(+), 16 deletions(-)

diff --git a/en-US/Consistent_Network_Device_Naming.xml b/en-US/Consistent_Network_Device_Naming.xml
index d6aea54..481d783 100644
--- a/en-US/Consistent_Network_Device_Naming.xml
+++ b/en-US/Consistent_Network_Device_Naming.xml
@@ -13,10 +13,11 @@
     Traditionally, network interfaces in Linux are enumerated as <interfacename>eth[0123&#8230;]</interfacename>, but these names do not necessarily correspond to actual labels on the chassis. Modern server platforms with multiple network adapters can encounter non-deterministic and counter-intuitive naming of these interfaces. This affects both network adapters embedded on the motherboard (<firstterm>Lan-on-Motherboard</firstterm>, or <firstterm><acronym>LOM</acronym></firstterm>) and add-in (single and multiport) adapters.
   </para>
   <para>
-    In &MAJOROSVER;, <systemitem class="daemon">systemd</systemitem> and <systemitem class="daemon">udevd</systemitem> support a number of different naming schemes. The default is to assign fixed names based on firmware, topology, and location information. This has the advantage that the names are fully automatic, fully predictable, that they stay fixed even if hardware is added or removed (no re-enumeration takes place), and that broken hardware can be replaced seamlessly. The disadvantage is that they are sometimes harder to read than the <interface>eth0</interface> or <interface>wlan0</interface> everybody is used to. For example: <interface>enp5s0</interface>.
+    In &MAJOROSVER;, <systemitem class="daemon">systemd</systemitem> and <application>udev</application> support a number of different naming schemes. The default is to assign fixed names based on firmware, topology, and location information. This has the advantage that the names are fully automatic, fully predictable, that they stay fixed even if hardware is added or removed (no re-enumeration takes place), and that broken hardware can be replaced seamlessly. The disadvantage is that they are sometimes harder to read than the <interface>eth0</interface> or <interface>wlan0</interface> names traditionally used. For example: <interface>enp5s0</interface>.
   </para>
+  <bridgehead id="bh-Naming_Schemes_for_Network_Interfaces">Naming Schemes for Network Interfaces</bridgehead>
   <para>
-    The following different naming schemes for network interfaces are now supported by <systemitem class="daemon">udevd</systemitem> natively:
+    The following different naming schemes for network interfaces are now supported by <application>udev</application> natively:
     <orderedlist>
       <listitem>
         <para>
@@ -80,7 +81,7 @@ By default, <systemitem class="daemon">systemd</systemitem> will name interfaces
 </para>
 
    <para>
-     This policy, the procedure outlined above, is the default. If the system has <application>BIOSDEVNAME</application> enabled, it will take precedence. If the user has added <systemitem class="daemon">udevd</systemitem> rules which change the name of the kernel devices, those rules will take precedence too.
+     This policy, the procedure outlined above, is the default. If the system has <application>biosdevname</application> enabled, it will take precedence. Note that enabling <application>biosdevname</application> requires passing <command>biosdevname=1</command> as a command line parameter except in the case of a Dell system, where <application>biosdevname</application> will be used by default as long as it is installed. If the user has added <application>udev</application> rules which change the name of the kernel devices, those rules will take precedence too.
    </para>
 
      <section id="sec-Understanding_the_Device_Renaming_Procedure">
@@ -186,7 +187,7 @@ By default, <systemitem class="daemon">systemd</systemitem> will name interfaces
          </listitem>
                   <listitem>
            <para>
-             The USB configuration descriptors == 1 and USB configuration descriptors == 0 values are suppressed.
+             The USB configuration descriptors == 1 and USB interface descriptors == 0 values are suppressed (configuration == 1 and interface == 0 are the default values if only one USB configuration or interface exists).
            </para>
          </listitem>
             </itemizedlist>
@@ -197,16 +198,16 @@ By default, <systemitem class="daemon">systemd</systemitem> will name interfaces
    <section id="sec-Naming_Scheme_for_Network_Devices_Available_for_Linux_on_System_z">
    <title>Naming Scheme for Network Devices Available for Linux on System z</title>
    <para>
-     Use the bus-ID to create predictable devices names for network interfaces on Linux on System z instances. The bus-ID identifies a device in the s390 channel subsystem. A bus ID identifies the device within the scope of a Linux instance. For a CCW device, the bus ID is the device's device number with a leading <literal>0.n</literal>, where <literal>n</literal> is the subchannel set ID. For example, <literal>0.1.0ab1</literal>.
+     Use the bus-ID to create predictable device names for network interfaces in Linux on System z instances. The bus-ID identifies a device in the s390 channel subsystem. A bus ID identifies the device within the scope of a Linux instance. For a CCW device, the bus ID is the device's device number with a leading <literal>0.n</literal>, where <literal>n</literal> is the subchannel set ID. For example, <literal>0.1.0ab1</literal>.
      </para>
      <para>
     Network interfaces of device type Ethernet are named as follows:
         <synopsis>enccw<replaceable>0</replaceable>.<replaceable>0</replaceable>.<replaceable>1234</replaceable></synopsis>
-Use the <command>znetconf -c</command> command or the <command>lscss -a</command> command to display available network devices and their bus-IDs.
         </para>
         <para>
     CTC network devices of device type SLIP are named as follows:
-    <synopsis>slccw<replaceable>0</replaceable>.<replaceable>0</replaceable>.<replaceable>1234</replaceable></synopsis>
+    <synopsis>slccw<replaceable>0</replaceable>.<replaceable>0</replaceable>.<replaceable>1234</replaceable></synopsis></para>
+    <para>
 Use the <command>znetconf -c</command> command or the <command>lscss -a</command> command to display available network devices and their bus-IDs.
    </para>
           <table id="Device_Name_Types_for_Linux_on_System_z">
@@ -234,13 +235,13 @@ Use the <command>znetconf -c</command> command or the <command>lscss -a</command
        </table>
    </section>
 
-  <section id="sec-Consistent_Network_Device_Naming_Using_BIOSDEVNAME">
-    <title>Consistent Network Device Naming Using BIOSDEVNAME</title>
+  <section id="sec-Consistent_Network_Device_Naming_Using_biosdevname">
+    <title>Consistent Network Device Naming Using biosdevname</title>
     <para>
-    This feature, implemented via the <application>biosdevname</application> program, will change the name of all embedded network interfaces, PCI card network interfaces, and virtual function network interfaces from the existing <interfacename>eth[0123&#8230;]</interfacename> to the new naming convention as shown in <xref linkend="tabl-sec-Consistent_Network_Device_Naming_BIOSDEVNAME" />.
+   This feature, implemented via the <application>biosdevname</application> <application>udev</application> helper utility, will change the name of all embedded network interfaces, PCI card network interfaces, and virtual function network interfaces from the existing <interfacename>eth[0123&#8230;]</interfacename> to the new naming convention as shown in <xref linkend="tabl-Consistent_Network_Device_Naming_biosdevname" />. Note that unless the system is a Dell system, or <application>biosdevname</application> explicitly enabled as described in <xref linkend="sec-Consistent_Network_Device_Naming-Enabling_and_Disabling" />, the <systemitem class="daemon">systemd</systemitem> naming scheme will take precedence.
   </para>
-  <table id="tabl-sec-Consistent_Network_Device_Naming_BIOSDEVNAME">
-    <title>The BIOSDEVNAME naming convention</title>
+  <table id="tabl-Consistent_Network_Device_Naming_biosdevname">
+    <title>The biosdevname Naming Convention</title>
     <tgroup cols="3">
       <colspec colname="device" colnum="1" colwidth="35*" />
       <colspec colname="old" colnum="2" colwidth="15*" />
@@ -318,7 +319,7 @@ Use the <command>znetconf -c</command> command or the <command>lscss -a</command
     </para>
     <screen><option>biosdevname=1</option></screen>
     <para>
-      Unless the system meets the minimum requirements, this option will be ignored and the system will boot with the traditional network interface name format.
+      Unless the system meets the minimum requirements, this option will be ignored and the system will use the <systemitem class="daemon">systemd</systemitem> naming scheme as described in the beginning of the chapter.
     </para>
     <para>
       If the <option>biosdevname</option> install option is specified, it must remain as a boot option for the lifetime of the system.
@@ -332,6 +333,11 @@ Use the <command>znetconf -c</command> command or the <command>lscss -a</command
     <para>
       Many system customization files can include network interface names, and thus will require updates if moving a system from the old convention to the new convention. If you use the new naming convention, you will also need to update network interface names in areas such as custom iptables rules, scripts altering irqbalance, and other similar configuration files. Also, enabling this change for installation will require modification to existing kickstart files that use device names via the <option>ksdevice</option> parameter; these kickstart files will need to be updated to use the network device's MAC address or the network device's new name.
     </para>
+    <note>
+    <para>
+      The maximum interface name length is defined by the kernel headers and is a global limit, affecting all applications.
+    </para>
+    </note>
   </section>
 
 
@@ -370,7 +376,7 @@ The name provided by <systemitem class="daemon">systemd-udev</systemitem> will b
 
 
 <!-- "Topics, Tasks" section -->
-     <section id="sec-Disabling_sec-Consistent_Network_Device_Naming">
+     <section id="sec-Disabling_Consistent_Network_Device_Naming">
      <title>Disabling Consistent Network Device Naming</title>
 
      <para>
@@ -378,13 +384,13 @@ The name provided by <systemitem class="daemon">systemd-udev</systemitem> will b
   <itemizedlist>
     <listitem>
       <para>
-        Disable the assignment of fixed names, so that the unpredictable kernel names are used again, by masking <systemitem class="daemon">udev</systemitem>'s rule file for the default policy. This <quote>masking</quote> can be done by making a symbolic link to <filename>/dev/null</filename>. As <systemitem class="username">root</systemitem>, issue a command as follows:
+        Disable the assignment of fixed names, so that the unpredictable kernel names are used again, by masking <application>udev</application>'s rule file for the default policy. This <quote>masking</quote> can be done by making a symbolic link to <filename>/dev/null</filename>. As <systemitem class="username">root</systemitem>, issue a command as follows:
         <screen>~]# <command>ln -s /dev/null /etc/udev/rules.d/80-net-name-slot.rules</command></screen>
         </para>
     </listitem>
     <listitem>
       <para>
-         Create your own manual naming scheme, for example by naming your interfaces <quote>internet0</quote>, <quote>dmz0</quote> or <quote>lan0</quote>. To do that create your own <systemitem class="daemon">udev</systemitem> rules file and set the NAME property for the devices. Make sure to order it before the default policy file, for example by naming it <filename>/etc/udev/rules.d/70-my-net-names.rules</filename>.
+         Create your own manual naming scheme, for example by naming your interfaces <quote>internet0</quote>, <quote>dmz0</quote> or <quote>lan0</quote>. To do that create your own <application>udev</application> rules file and set the NAME property for the devices. Make sure to order it before the default policy file, for example by naming it <filename>/etc/udev/rules.d/70-my-net-names.rules</filename>.
       </para>
     </listitem>
     <listitem>



More information about the docs-commits mailing list