[networking-guide] master: Update to Introduction (946d157)

stephenw at fedoraproject.org stephenw at fedoraproject.org
Wed Jul 16 20:40:44 UTC 2014


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

On branch  : master

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

commit 946d157bbc1133554a0d7c304ff709c40cc6612e
Author: Stephen Wadeley <swadeley at redhat.com>
Date:   Wed Jul 16 22:37:29 2014 +0200

    Update to Introduction
    
    Update to networkscripts section based on feedback from dcbw


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

 en-US/Introduction_to_Fedora_Networking.xml |  216 +++++++++++++++++++--------
 1 files changed, 152 insertions(+), 64 deletions(-)

diff --git a/en-US/Introduction_to_Fedora_Networking.xml b/en-US/Introduction_to_Fedora_Networking.xml
index 69295df..3cbe9d4 100644
--- a/en-US/Introduction_to_Fedora_Networking.xml
+++ b/en-US/Introduction_to_Fedora_Networking.xml
@@ -9,10 +9,13 @@
 <section id="sec-How_this_Book_is_Structured">
   <title>How this Book is Structured</title>
 <para>
-  All new material in this book has been written and arranged in such a way as to clearly separate introductory material, such as explanations of concepts and use cases, from configuration tasks. We hope that you can quickly find configuration instructions you need, while still providing some relevant explanations and conceptual material to help you understand and decide on the appropriate tasks relevant to your needs. Where material has been reused from the <ulink url="https://access.redhat.com/site/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Deployment_Guide/index.html" ><citetitle pubwork="book"> Deployment Guide</citetitle></ulink>, it has been reviewed and changed were possible to fit this idea of separating concepts from tasks.
+  All new material in this book has been written and arranged in such a way as to clearly separate introductory material, such as explanations of concepts and use cases, from configuration tasks. The authors hope that you can quickly find configuration instructions you need, while still providing some relevant explanations and conceptual material to help you understand and decide on the appropriate tasks relevant to your needs. Where material has been reused from the <ulink url="https://access.redhat.com/site/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Deployment_Guide/index.html" ><citetitle pubwork="book">Red&nbsp;Hat Enterprise&nbsp;Linux&nbsp;6 Deployment Guide</citetitle></ulink>, it has been reviewed and changed, where possible, to fit this idea of separating concepts from tasks.
 </para>
 <para>
-  The material is grouped according to the goal rather than the method. That is to say, instructions on how to achieve a specific task using different methods are grouped together. This is intended to make it easier for you to find the information on how to achieve a particular task or goal, and at the same time allow you to quickly see the different methods available. We will first present a graphical user interface (GUI) method, such as the use of <application>nm-connection-editor</application> or <application>control-network</application> to direct <systemitem class="service">NetworkManager</systemitem>, then methods using the command line and configuration files. The command line can be used to issue commands and to compose or edit configuration files, therefore we will document the use of the <application>ip</application> commands and configuration files together. We will end each task by explaining the use of the <application>nmcli</application> tool where possible.
+  The material is grouped according to the goal rather than the method. Instructions on how to achieve a specific task using different methods are grouped together. This is intended to make it easier for you to find the information on how to achieve a particular task or goal, and at the same time allow you to quickly see the different methods available.</para>
+ <para>
+ In each chapter, the configuration methods will be presented in the following order:
+ A graphical user interface (GUI) method, such as the use of <application>nm-connection-editor</application> or <application>control-network</application> to direct <systemitem class="service">NetworkManager</systemitem>, then <application>NetworkManager</application>'s command line tool <application>nmcli</application>, and then finally methods using the command line and configuration files. The command line can be used to issue commands and to compose or edit configuration files, therefore the use of the <application>ip</application> commands and configuration files will be documented together.
 </para>
 
 
@@ -22,11 +25,46 @@
   <title>Introduction to NetworkManager</title>
 
 <para>
- As of <application>Fedora 20</application>, the default networking service is provided by <systemitem class="service">NetworkManager</systemitem>, which is a dynamic network control and configuration daemon that attempts to keep network devices and connections up and active when they are available.</para>
- <para>
- <systemitem class="service">NetworkManager</systemitem> has an associated command line configuration tool, <application>nmcli</application>. The GNOME graphical user interface application called <application>control-center</application> can be used to instruct <systemitem class="service">NetworkManager</systemitem> to create, edit and remove connections and interfaces. The old <application>nm-connection-editor</application> tool is still provided for some tasks not yet handled by <application>control-center</application>.</para>
+ As of <application>Fedora 20</application>, the default networking service is provided by <systemitem class="service">NetworkManager</systemitem>, which is a dynamic network control and configuration daemon that attempts to keep network devices and connections up and active when they are available. The traditional <filename>ifcfg</filename> type configuration files are still supported. See <xref linkend="sec-NetworkManager_and_the_Network_Scripts" /> for more information.</para>
+<table id="tb-A_Summary_of_Networking_Tools_and_Applications" frame='all'>
+<title>A Summary of Networking Tools and Applications</title>
+<tgroup cols='2' align='left' colsep='1' rowsep='1'>
+<colspec colname='c1' colwidth="20*" />
+<colspec colname='c2' colwidth="50*" />
+<thead>
+<row>
+  <entry>Application or Tool</entry>
+  <entry>Description</entry>
+</row>
+</thead>
+<tbody>
+<row>
+  <entry><application>NetworkManager</application></entry>
+  <entry>The default networking daemon</entry>
+</row>
+<row>
+  <entry><application>nmtui</application></entry>
+  <entry>A simple curses-based text user interface (TUI) for <application>NetworkManager</application></entry>
+</row>
+<row>
+  <entry><application>nmcli</application></entry>
+  <entry>A command line tool provided to allow users and scripts to interact with <application>NetworkManager</application></entry>
+</row>
+<row>
+  <entry><application>control-center</application></entry>
+  <entry>A graphical user interface tool provided by the GNOME Shell</entry>
+</row>
+ <row>
+  <entry><application>nm-connection-editor</application></entry>
+  <entry>A GTK+ 3 application available for certain tasks not yet handled by <application>control-center</application></entry>
+</row> 
+</tbody>
+</tgroup>
+</table>
+
+
  <para>
- <systemitem class="service">NetworkManager</systemitem> can be used with the following types of connections: Ethernet, wireless, mobile broadband (such as cellular 3G), and DSL and PPPoE (Point-to-Point over Ethernet). In addition, <systemitem class="service">NetworkManager</systemitem> allows for the configuration of network aliases, static routes, <systemitem class="protocol">DNS</systemitem> information and VPN connections, as well as many connection-specific parameters. Finally, <systemitem class="service">NetworkManager</systemitem> provides an API via D-Bus which allows applications to query and control network configuration and state.
+ <systemitem class="service">NetworkManager</systemitem> can be used with the following types of connections: Ethernet, VLANs, Bridges, Bonds, Teams, Wi-Fi, mobile broadband (such as cellular 3G), and IP-over-InfiniBand. For these connection types, <systemitem class="service">NetworkManager</systemitem> can configure network aliases, <systemitem class="protocol">IP</systemitem> addresses, static routes, <systemitem class="protocol">DNS</systemitem> information, and VPN connections, as well as many connection-specific parameters. Finally, <systemitem class="service">NetworkManager</systemitem> provides an API via D-Bus which allows applications to query and control network configuration and state.
 </para>
 </section>
 
@@ -34,12 +72,12 @@
 <section id="sec-Installing_NetworkManager">
   <title>Installing NetworkManager</title>
    <para>
-    <application>NetworkManager</application> is installed by default on &MAJOROS;. To ensure that it is, run the following command as the <systemitem class="username">root</systemitem> user:</para>
+    <application>NetworkManager</application> is installed by default on &MAJOROS;. If necessary, to ensure that it is, run the following command as the <systemitem class="username">root</systemitem> user:</para>
   <screen>~]#&#160;<command>yum install NetworkManager</command></screen>
    <section
     id="sec-The_NetworkManager_Daemon">
     <title>The NetworkManager Daemon</title>
-    <para>The <application>NetworkManager</application> daemon runs with root privileges and is usually configured to start up at boot time. You can determine whether the <application>NetworkManager</application> daemon is running by entering this command:</para>
+    <para>The <application>NetworkManager</application> daemon runs with root privileges and is, by default, configured to start up at boot time. You can determine whether the <application>NetworkManager</application> daemon is running by entering this command:</para>
     <screen>~]$&#160;<command>systemctl status NetworkManager</command>
 NetworkManager.service - Network Manager
    Loaded: loaded (/lib/systemd/system/NetworkManager.service; enabled)
@@ -53,7 +91,7 @@ NetworkManager.service - Network Manager
   <section
     id="sec-Interacting_with_NetworkManager">
     <title>Interacting with NetworkManager</title>
-    <para>Users do not interact with the <application>NetworkManager</application> system service directly. Instead, you perform network configuration tasks via graphical and command line user interface tools. The following tools are available in <application>Fedora</application>:</para>
+    <para>Users do not interact with the <application>NetworkManager</application> system service directly. Instead, users perform network configuration tasks via graphical and command line user interface tools. The following tools are available in <application>Fedora</application>:</para>
     <para>
     <orderedlist>
       <listitem>
@@ -64,30 +102,42 @@ NetworkManager.service - Network Manager
  
         <listitem>
         <para>
-          A command line tool, <application>nmcli</application>, is provided to allow users and scripts to interact with <application>NetworkManager</application>.
+          A command line tool, <application>nmcli</application>, is provided to allow users and scripts to interact with <application>NetworkManager</application>. Note that <application>nmcli</application> can be used on GUI-less systems like servers to control all aspects of <application>NetworkManager</application>. It is on an equal footing with the GUI tools.
+        </para>
+      </listitem>
+          <listitem>
+          <para>
+          The GNOME Shell also provides a network icon in its Notification Area representing network connection states as reported by <application>NetworkManager</application>. The icon has multiple states that serve as visual indicators for the type of connection you are currently using.
         </para>
       </listitem>
       <listitem>
         <para>
-         A graphical user interface tool, <application>nm-connection-editor</application>, is available for certain tasks not yet handled by <application>control-center</application>. It start it, press the <keycap>Super</keycap> key to enter the Activities Overview, type <command>network connections</command> or <command>nm-connection-editor</command> and then press <keycap>Enter</keycap>.
+          A graphical user interface tool called <application>control-center</application>, provided by the GNOME Shell, is available for desktop users. It incorporates a <application>Network</application> settings tool. To start it, press the <keycap>Super</keycap> key to enter the Activities Overview, type <command>control network</command> and then press <keycap>Enter</keycap>. The <keycap>Super</keycap> key appears in a variety of guises, depending on the keyboard and other hardware, but often as either the Windows or Command key, and typically to the left of the Spacebar.
+          </para>
+          </listitem>
+      <listitem>
+        <para>
+         A graphical user interface tool, <application>nm-connection-editor</application>, is available for certain tasks not yet handled by <application>control-center</application>. To start it, press the <keycap>Super</keycap> key to enter the Activities Overview, type <command>network connections</command> or <command>nm-connection-editor</command> and then press <keycap>Enter</keycap>.
         </para>
       </listitem>
 
-
     </orderedlist>
     </para>
  
      </section>
 </section>
-<section id="sec-Network_Config_Using-CLI">
+<section id="sec-Network_Config_Using_CLI">
   <title>Network Configuration Using the Command Line Interface (CLI)</title>
 <para>
 </para>
-<para>The commands for the <application>ip</application> utility, sometimes referred to as <package>iproute2</package> after the package name, are documented in the <filename>man ip(8)</filename> page. If necessary, you can check that the <application>ip</application> utility is installed by checking its version number as follows:</para>
+<para>The commands for the <application>ip</application> utility, sometimes referred to as <package>iproute2</package> after the upstream package name, are documented in the <filename>man ip(8)</filename> page. The package name in Fedora is <package>iproute</package>. If necessary, you can check that the <application>ip</application> utility is installed by checking its version number as follows:</para>
     <screen>~]$ <command>ip -V</command>
 ip utility, iproute2-ss130716</screen>
+<para>
+  The <application>ip</application> commands can be used to add and remove addresses and routes to interfaces in parallel with <application>NetworkManager</application>, which will preserve them and recognize them in <application>nmcli</application>, <application>nmtui</application>, <application>control-center</application>, and the D-Bus API.
+</para>
     <para>
-      As mentioned in the preface, we will include examples of using the command line and configuration files for each task after explaining the use of one of the graphical user interfaces to <application>NetworkManager</application>, namely, <application>control-center</application> and <application>nm-connection-editor</application>.
+      Examples of using the command line and configuration files for each task are included after explaining the use of one of the graphical user interfaces to <application>NetworkManager</application>, namely, <application>control-center</application> and <application>nm-connection-editor</application>.
     </para>
 </section>
 <section id="sec-Network_Config_Using_nmcli">
@@ -95,66 +145,130 @@ ip utility, iproute2-ss130716</screen>
 <para>
 </para>
   <para>
-    The <application>NetworkManager</application> command line tool, <application>nmcli</application>, provides those who prefer to use the command line a way to configure networking by controlling <application>NetworkManager</application>. It is installed, along with <application>NetworkManager</application>, by default. If necessary, see <xref linkend="sec-The_NetworkManager_Daemon" /> for information on how to verify that <application>NetworkManager</application> is running.</para>
+    The <application>NetworkManager</application> command line tool, <application>nmcli</application>, provides a command line way to configure networking by controlling <application>NetworkManager</application>. It is installed, along with <application>NetworkManager</application>, by default. If required, for details on how to verify that <application>NetworkManager</application> is running, see <xref linkend="sec-The_NetworkManager_Daemon" />.</para>
 <para>
-      As mentioned in the preface, we will include examples of using the <application>nmcli</application> tool for each task where possible, after explaining the use of graphical user interfaces and other command line methods. See <xref linkend="sec-Using_the_NetworkManager_Command_Line_Tool_nmcli" /> for an introduction to <application>nmcli</application>.
+      Examples of using the <application>nmcli</application> tool for each task will be included where possible, after explaining the use of graphical user interfaces and other command line methods. See <xref linkend="sec-Using_the_NetworkManager_Command_Line_Tool_nmcli" /> for an introduction to <application>nmcli</application>.
     </para>
 </section>
 
+<section id="sec-NetworkManager_and_the_Network_Scripts">
+<title>NetworkManager and the Network Scripts</title>
+<para>
+In previous Red&nbsp;Hat Enterprise&nbsp;Linux releases, the default way to configure networking was using <firstterm>network scripts</firstterm>. The term <firstterm>network scripts</firstterm> is commonly used for the script <filename class="directory">/etc/init.d/network</filename> and any other installed scripts it calls. The user supplied files are typically viewed as configuration, but can also be interpreted as an amendment to the scripts.</para>
+  <para>
+  Although <application>NetworkManager</application> provides the default networking service, Red&nbsp;Hat developers have worked hard to ensure that scripts and <application>NetworkManager</application> cooperate with each other. Administrators who are used to the scripts can certainly continue to use them. We expect both systems to be able to run in parallel and work well together. It is expected that most user shell scripts from previous releases will still work. Red&nbsp;Hat recommends that you test them first.
+</para>
+     <bridgehead id="bh-Running_Network_Script">Running Network Script</bridgehead>
+  <para>
+Run the script with the <command>systemctl <option>start|stop|restart|status</option> network</command> wrapper to clear any existing environment variables and ensure clean execution. Do not run any service by calling <command>/etc/init.d/<replaceable>servicename</replaceable> <option>start|stop|restart|status</option></command> directly.
+</para>
+<para>
+ Note that in Red&nbsp;Hat Enterprise&nbsp;Linux&nbsp;7, <application>NetworkManager</application> is started first, and <filename>/etc/init.d/network</filename> checks with <application>NetworkManager</application> to avoid tampering with <application>NetworkManager</application>'s connections. <application>NetworkManager</application> is intended to be the primary application using sysconfig configuration files and <filename>/etc/init.d/network</filename> is intended to be secondary, playing a fallback role.
+</para>
+<para>
+The <filename>/etc/init.d/network</filename> script is not event-driven, it runs either:
+<orderedlist>
+  <listitem>
+  <para>
+    manually (by one of the <command>systemctl</command> commands <command><option>start|stop|restart</option> network</command>),
+    </para>
+  </listitem>
+  <listitem>
+  <para>
+    on boot and shutdown if the network service is enabled (as a result of the command <command>systemctl enable network</command>).
+    </para>
+  </listitem>
+</orderedlist>
+   It is a manual process and does not react to events that happen after boot. Users can also call the scripts <filename>ifup</filename> and <filename>ifdown</filename> manually.
+   </para>
+   <para>
+     <!--<remark>SJW: Adding new material from: https://bugzilla.redhat.com/show_bug.cgi?id=1056090#c22</remark>-->
+   </para>
+   <bridgehead id="bh-Custom_Commands_and_the_Network_Scripts">Custom Commands and the Network Scripts</bridgehead>
+   <para>
+     Custom commands in the scripts <filename>/sbin/ifup-local</filename>, <filename>ifdown-pre-local</filename>, and <filename>ifdown-local</filename> are only be executed when those devices are controlled by the <systemitem class="daemon">/etc/init.d/network</systemitem> service. If you modified the initscripts themselves (for example, <filename>/etc/sysconfig/network-scripts/ifup-eth</filename>) then those changes would be overwritten by an <package>initscripts</package> package update. Therefore it is recommend that you avoid modifying the initscripts directly. However, the whole idea of the <filename>/sbin/if*local</filename> scripts is so you can make custom changes which survive package updates. The initscripts just check for the presence of the relevant <filename>/sbin/if*local</filename> and run them if they exit. The initscripts do not place anything in the <filename>/sbin/if*local</filename> scripts, nor does the <package>initscripts</package> RPM (or any package)
  own or modify those files.
+    </para>
+     <para>
+There are ways to perform custom tasks when network connections go up and down, both with the old network scripts and with <application>NetworkManager</application>. When <application>NetworkManager</application> is enabled, the <filename>ifup</filename> and <filename>ifdown</filename> script will ask <application>NetworkManager</application> whether <application>NetworkManager</application> manages the interface in question, which is found from the <quote>DEVICE=</quote> line in the <filename>ifcfg</filename> file. If <application>NetworkManager</application> does manage that device, and the device is not already connected, then <filename>ifup</filename> will ask <application>NetworkManager</application> to start the connection.
+<itemizedlist>
+  <listitem>
+    <para>
+If the device is managed by <application>NetworkManager</application> and it <emphasis role="bold">is</emphasis> already connected, nothing is done.
+    </para>
+  </listitem>
+    <listitem>
+    <para>
+If the device is not managed by <application>NetworkManager</application>, then the scripts will start the connection using the older, non-<application>NetworkManager</application> mechanisms that they have used since the time before <application>NetworkManager</application> existed.
+    </para>
+  </listitem>
+</itemizedlist>
+</para>
+<para>
+If you are calling "<filename>ifdown</filename>" and the device is managed by <application>NetworkManager</application>, then <filename>ifdown</filename> will ask <application>NetworkManager</application> to terminate the connection.
+   </para>
+   <para>
+     The scripts dynamically check <application>NetworkManager</application>, so if <application>NetworkManager</application> is not running, the scripts will fall back to the old, pre-<application>NetworkManager</application> script-based mechanisms.
+   </para>
+</section>
+
 <section id="sec-Network_Configuration_Using_sysconfig_Files">
 <title>Network Configuration Using sysconfig Files</title>
 <para>
-The <filename class="directory">/etc/sysconfig/</filename> directory is a location for configuration files and scripts. Most network configuration information is stored there, with the known exception of VPN, mobile broadband and PPPoE configuration, which are stored in <filename class="directory">/etc/NetworkManager/</filename> subdirectories. Interface specific information for example, is stored in <filename>ifcfg</filename> files in the <filename class="directory">/etc/sysconfig/network-scripts/</filename> directory.</para>
+The <filename class="directory">/etc/sysconfig/</filename> directory is a location for configuration files and scripts. Most network configuration information is stored there, with the exception of VPN, mobile broadband and PPPoE configuration, which are stored in <filename class="directory">/etc/NetworkManager/</filename> subdirectories. Interface specific information for example, is stored in <filename>ifcfg</filename> files in the <filename class="directory">/etc/sysconfig/network-scripts/</filename> directory.</para>
 <para>
-The file <filename>/etc/sysconfig/network</filename> is for settings which are to have global effect. Information for VPNs, mobile broadband and PPPoE connections is stored in <filename class="directory">/etc/NetworkManager/system-connections/</filename>.
+The file <filename>/etc/sysconfig/network</filename> is for global settings. Information for VPNs, mobile broadband and PPPoE connections is stored in <filename class="directory">/etc/NetworkManager/system-connections/</filename>.
 </para>
 
    <para>
   In <application>Fedora</application>, when you edit an <filename>ifcfg</filename> file, <application>NetworkManager</application> is not automatically aware of the change and has to be prompted to notice the change. If you use one of the tools to update <application>NetworkManager</application> profile settings, then <application>NetworkManager</application> does not implement those changes until you reconnect using that profile. For example, if configuration files have been changed using an editor, <application>NetworkManager</application> must be told to read the configuration files again. To do that, issue the following command as <systemitem class="username">root</systemitem>:
   <screen>~]# <command>nmcli connection reload</command></screen>
-  The above command reads all connection profiles.</para>
+  The above command reads all connection profiles. Alternatively, to reload only one changed file, <filename>ifcfg-<replaceable>ifname</replaceable></filename>, issue a command as follows:
+  <screen>~]# <command>nmcli con load /etc/sysconfig/network-scripts/ifcfg-<replaceable>ifname</replaceable></command></screen>
+  The command accepts multiple file names. These commands require <systemitem class="username">root</systemitem> privileges. For more information on user privileges and gaining privileges, see the <citetitle pubwork="book">&MAJOROSVER; System Administrator's Guide</citetitle> and the <filename>su(1)</filename> and <filename>sudo(8)</filename> man pages.</para>
   <para>
-  Changes made using tools such as <application>nmcli</application>, or graphical user interface tools, do not require a reload but do require the associated interface to be put down and then up again. That can be done by using commands in the following format:
+  Changes made using tools such as <application>nmcli</application> do not require a reload but do require the associated interface to be put down and then up again. That can be done by using commands in the following format:
   <synopsis>nmcli dev disconnect <replaceable>interface-name</replaceable></synopsis>
   Followed by:
   <synopsis>nmcli con up <replaceable>interface-name</replaceable></synopsis>
-  These commands require <systemitem class="username">root</systemitem> privileges.
   </para>
   <para>
-   <application>NetworkManager</application> does not trigger any of the network scripts, though the network scripts will try to trigger <application>NetworkManager</application> if it is running when <command>ifup</command> commands are used.
+   <application>NetworkManager</application> does not trigger any of the network scripts, though the network scripts will try to trigger <application>NetworkManager</application> if it is running when <filename>ifup</filename> commands are used. See <xref linkend="sec-NetworkManager_and_the_Network_Scripts" /> for an explanation of the network scripts.
    </para>
    <para>
-   The <filename>ifup</filename> script is a generic script which does a few things and then calls interface-specific scripts like <filename>ifup-ethX</filename>, <filename>ifup-wireless</filename>, <filename>ifup-ppp</filename>, and so on. When a user runs <filename>ifup-eth0</filename> manually, the following occurs:
-   <itemizedlist>
+   The <filename>ifup</filename> script is a generic script which does a few things and then calls interface-specific scripts like <filename>ifup-ethX</filename>, <filename>ifup-wireless</filename>, <filename>ifup-ppp</filename>, and so on. When a user runs <command>ifup eth0</command> manually, the following occurs:
+   <orderedlist>
    <listitem>
      <para>
-       <filename>ifup</filename> looks for a file called <filename>/etc/sysconfig/network-scripts/ifcfg-eth0</filename>,
+       <filename>ifup</filename> looks for a file called <filename>/etc/sysconfig/network-scripts/ifcfg-eth0</filename>;
      </para>
    </listitem>
    <listitem>
      <para>
-       if the <filename>ifcfg</filename> file exists, <filename>ifup</filename> looks for the <option>TYPE</option> key in that file to determine which type-specific script to call,
+       if the <filename>ifcfg</filename> file exists, <filename>ifup</filename> looks for the <option>TYPE</option> key in that file to determine which type-specific script to call;
      </para>
    </listitem>
    <listitem>
      <para>
-       <filename>ifup</filename> calls <filename>ifup-wireless</filename> or <filename>ifup-eth</filename> or <filename>ifup-XXX</filename> based on <option>TYPE</option>,
+       <filename>ifup</filename> calls <filename>ifup-wireless</filename> or <filename>ifup-eth</filename> or <filename>ifup-XXX</filename> based on <option>TYPE</option>;
      </para>
    </listitem>
    <listitem>
      <para>
-       the type-specific scripts do type-specific setup,
+       the type-specific scripts do type-specific setup;
      </para>
    </listitem>
    <listitem>
      <para>
-       and then the type-specific scripts let some common functions perform IP-related tasks like <systemitem class="protocol">DHCP</systemitem> or static setup.
+       and then the type-specific scripts let common functions perform <systemitem class="protocol">IP</systemitem>-related tasks like <systemitem class="protocol">DHCP</systemitem> or static setup.
      </para>
    </listitem>
-   </itemizedlist>
+   </orderedlist>
    </para>
    <para>
-  On bootup, <filename>/etc/init.d/network</filename> reads through all the <filename>ifcfg</filename> files and calls <filename>ifup</filename> for each of them if <command>ONBOOT=yes</command> is present.
+  On bootup, <filename>/etc/init.d/network</filename> reads through all the <filename>ifcfg</filename> files and for each one that has <command>ONBOOT=yes</command>, it checks whether <application>NetworkManager</application> is already starting the DEVICE from that <filename>ifcfg</filename> file. If <application>NetworkManager</application> is starting that device or has already started it, nothing more is done for that file, and the next <command>ONBOOT=yes</command> file is checked. If <application>NetworkManager</application> is not yet starting that device, the initscripts will continue with their traditional behavior and call <filename>ifup</filename> for that <filename>ifcfg</filename> file.
+  </para>
+  <para>
+  The end result is that any <filename>ifcfg</filename> file that has <command>ONBOOT=yes</command> is expected to be started on system bootup, either by <application>NetworkManager</application> or by the initscripts. This ensures that some legacy network types which <application>NetworkManager</application> does not handle (such as ISDN or analog dialup modems) as well as any new application not yet supported by <application>NetworkManager</application> are still correctly started by the initscripts even though <application>NetworkManager</application> is unable to handle them.
   </para>
   <note>
     <para>
@@ -164,37 +278,6 @@ The file <filename>/etc/sysconfig/network</filename> is for settings which are t
   </note>
 </section>
 
-<section id="sec-NetworkManager_and_the_Network_Scripts">
-<title>NetworkManager and the Network Scripts</title>
-<para>
-  The term <firstterm>network scripts</firstterm> is a commonly used term for the script <filename class="directory">/etc/init.d/network</filename> and any other installed scripts it calls. The user supplied files are typically viewed as configuration, but can be also interpreted as an amendment to the scripts. With <application>NetworkManager</application> providing the default networking service, user shell scripts from previous releases can no longer be used.
-</para>
-<para>
- Note that in <application>Fedora</application>, <application>NetworkManager</application> is started first, and <filename>/etc/init.d/network</filename> checks with <application>NetworkManager</application> to avoid tampering with <application>NetworkManager</application>'s connections. <application>NetworkManager</application> is intended to be the primary application using sysconfig configuration files and <filename>/etc/init.d/network</filename> is intended to be secondary, playing a fallback role.
-</para>
-<para>
-The <filename>/etc/init.d/network</filename> script is not event-driven, it runs either:
-<itemizedlist>
-  <listitem>
-  <para>
-    (a) manually (by one of the <command>systemctl</command> commands <command><option>start|stop|restart</option> network</command>),
-    </para>
-  </listitem>
-  <listitem>
-  <para>
-    (b) on boot and shutdown if the network service is enabled (as a result of the command <command>systemctl enable network</command>)
-    </para>
-  </listitem>
-</itemizedlist>
-   It is a manual process and does not react to events that happen after boot. Users can of course also call the scripts <filename>ifup</filename> and <filename>ifdown</filename> manually.
-   </para>
-     <bridgehead id="bh-Running_Network_Script">Running Network Script</bridgehead>
-  <para>
-Run the script with the <command>systemctl <option>start|stop|restart|status</option> network</command> wrapper to clear any existing environment variables and ensure clean execution. Do not run any service by calling <command>/etc/init.d/servicename <option>start|stop|restart|status</option></command> directly.
-</para>
-
-</section>
-
  <!--Topics, Reference-->
   <section id="sec-Introduction_to_Fedora_Networking-additional_resources">
 
@@ -207,12 +290,17 @@ Run the script with the <command>systemctl <option>start|stop|restart|status</op
   <itemizedlist>
     <listitem>
       <para>
+        <filename>man(1)</filename> man page — Describes man pages and how to find them.
+      </para>
+    </listitem>
+    <listitem>
+      <para>
         <filename>NetworkManager(8)</filename> man page — Describes the network management daemon.
       </para>
     </listitem>
      <listitem>
       <para>
-        <filename>man(1)</filename> man page — Describes man pages and how to find them.
+        <filename>NetworkManager.conf(5)</filename> man page — Describes the <systemitem class="daemon">NetworkManager</systemitem> configuration file.
       </para>
     </listitem>
 



More information about the docs-commits mailing list