[systemd-commits] 2 commits - make-directive-index.py Makefile-man.am man/systemd-networkd.service.xml man/udev.xml

Tom Gundersen tomegun at kemper.freedesktop.org
Sun Nov 10 12:26:32 PST 2013


 Makefile-man.am                  |    6 +
 make-directive-index.py          |   10 ++
 man/systemd-networkd.service.xml |  179 ++++++++++++++++++++++++++++++++++++
 man/udev.xml                     |  191 +++++++++++++++++++++++++++++++++++++++
 4 files changed, 386 insertions(+)

New commits:
commit 46b0925d4febce47d2d3b4cf83518c330730c3f6
Author: Tom Gundersen <teg at jklm.no>
Date:   Sun Nov 10 20:52:53 2013 +0100

    man: networkd - add documentation

diff --git a/Makefile-man.am b/Makefile-man.am
index 0939bc5..6239651 100644
--- a/Makefile-man.am
+++ b/Makefile-man.am
@@ -62,6 +62,7 @@ MANPAGES += \
 	man/systemd-initctl.service.8 \
 	man/systemd-journald.service.8 \
 	man/systemd-machine-id-setup.1 \
+	man/systemd-networkd.service.8 \
 	man/systemd-notify.1 \
 	man/systemd-nspawn.1 \
 	man/systemd-remount-fs.service.8 \
@@ -186,6 +187,7 @@ MANPAGES_ALIAS += \
 	man/systemd-journald.8 \
 	man/systemd-journald.socket.8 \
 	man/systemd-kexec.service.8 \
+	man/systemd-networkd.8 \
 	man/systemd-poweroff.service.8 \
 	man/systemd-reboot.service.8 \
 	man/systemd-remount-fs.8 \
@@ -287,6 +289,7 @@ man/systemd-initctl.socket.8: man/systemd-initctl.service.8
 man/systemd-journald.8: man/systemd-journald.service.8
 man/systemd-journald.socket.8: man/systemd-journald.service.8
 man/systemd-kexec.service.8: man/systemd-halt.service.8
+man/systemd-networkd.8: man/systemd-networkd.service.8
 man/systemd-poweroff.service.8: man/systemd-halt.service.8
 man/systemd-reboot.service.8: man/systemd-halt.service.8
 man/systemd-remount-fs.8: man/systemd-remount-fs.service.8
@@ -554,6 +557,9 @@ man/systemd-journald.socket.html: man/systemd-journald.service.html
 man/systemd-kexec.service.html: man/systemd-halt.service.html
 	$(html-alias)
 
+man/systemd-networkd.html: man/systemd-networkd.service.html
+	$(html-alias)
+
 man/systemd-poweroff.service.html: man/systemd-halt.service.html
 	$(html-alias)
 
diff --git a/make-directive-index.py b/make-directive-index.py
index b2dd2e1..2ff304f 100755
--- a/make-directive-index.py
+++ b/make-directive-index.py
@@ -90,7 +90,8 @@ TEMPLATE = '''\
                 <title>Network directives</title>
 
                 <para>Directives for configuring network links through the
-                net-setup-link udev builtin.</para>
+                net-setup-link udev builtin and networks through
+                systemd-networkd.</para>
 
                 <variablelist id='network-directives' />
         </refsect1>
diff --git a/man/systemd-networkd.service.xml b/man/systemd-networkd.service.xml
new file mode 100644
index 0000000..209e3be
--- /dev/null
+++ b/man/systemd-networkd.service.xml
@@ -0,0 +1,179 @@
+<?xml version='1.0'?> <!--*-nxml-*-->
+<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
+        "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
+
+<!--
+  This file is part of systemd.
+
+  Copyright 2013 Tom Gundersen
+
+  systemd is free software; you can redistribute it and/or modify it
+  under the terms of the GNU Lesser General Public License as published by
+  the Free Software Foundation; either version 2.1 of the License, or
+  (at your option) any later version.
+
+  systemd is distributed in the hope that it will be useful, but
+  WITHOUT ANY WARRANTY; without even the implied warranty of
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  Lesser General Public License for more details.
+
+  You should have received a copy of the GNU Lesser General Public License
+  along with systemd; If not, see <http://www.gnu.org/licenses/>.
+-->
+
+<refentry id="systemd-networkd.service">
+
+        <refentryinfo>
+                <title>systemd-networkd.service</title>
+                <productname>systemd</productname>
+
+                <authorgroup>
+                        <author>
+                                <contrib>Developer</contrib>
+                                <firstname>Tom</firstname>
+                                <surname>Gundersen</surname>
+                                <email>teg at jklm.no</email>
+                        </author>
+                </authorgroup>
+        </refentryinfo>
+
+        <refmeta>
+                <refentrytitle>systemd-networkd.service</refentrytitle>
+                <manvolnum>8</manvolnum>
+        </refmeta>
+
+        <refnamediv>
+                <refname>systemd-networkd.service</refname>
+                <refname>systemd-networkd</refname>
+                <refpurpose>Network manager</refpurpose>
+        </refnamediv>
+
+        <refsynopsisdiv>
+                <para><filename>systemd-networkd.service</filename></para>
+                <para><filename>/usr/lib/systemd/systemd-networkd</filename></para>
+        </refsynopsisdiv>
+
+        <refsect1>
+                <title>Description</title>
+
+                <para><command>systemd-networkd</command> is a system
+                service that manages networks. It detects and configures
+                network devices as they appear.</para>
+
+                <para>Network devices are managed by networkd only if they
+                have the udev tag <literal>systemd-networkd</literal>.</para>
+
+                <para>Network configurations applied before networkd is started
+                are not removed, and configuration applied by networkd are not
+                removed when networkd exits. This ensures restarting networkd
+                does not cut the network connection, and in particular that it
+                is safe to transition between the initrd and the real root,
+                and back.</para>
+        </refsect1>
+
+        <refsect1><title>Network Configuration</title>
+                <para>The network files are read from the files located in the
+                system network directory <filename>/usr/lib/systemd/network</filename>,
+                the volatile runtime network directory
+                <filename>/run/systemd/network</filename> and the local administration
+                network directory <filename>/etc/systemd/network</filename>.
+                All link files are collectively sorted and processed in lexical order,
+                regardless of the directories in which they live. However, files with
+                identical filenames replace each other. Files in
+                <filename>/etc</filename> have the highest priority, files in
+                <filename>/run</filename> take precedence over files with the same
+                name in <filename>/lib</filename>. This can be used to override a
+                system-supplied network file with a local file if needed; a symlink in
+                <filename>/etc</filename> with the same name as a network file in
+                <filename>/lib</filename>, pointing to <filename>/dev/null</filename>,
+                disables the network file entirely. Network files must have the extension
+                <filename>.network</filename>; other extensions are ignored.</para>
+
+                <para>The network file contains a <literal>[Match]</literal> section,
+                which determines if a given network file may be applied to a given device;
+                and a <literal>[Network]</literal> section specifying how the device should
+                be configured. The first (in lexical order) of the network files that
+                matches a given device is applied.</para>
+
+                <para>A network file is said to match a device if each of the entries in the
+                <literal>[Match]</literal> section matches, or if the section is empty.
+                The following keys are accepted:</para>
+
+                <variablelist class='network-directives'>
+                        <varlistentry>
+                                <term><varname>MACAddress</varname></term>
+                                <listitem>
+                                        <para>The hardware address.</para>
+                                </listitem>
+                        </varlistentry>
+                        <varlistentry>
+                                <term><varname>Path</varname></term>
+                                <listitem>
+                                        <para>The persistent path, as exposed by the udev
+                                        property <literal>ID_PATH</literal>.</para>
+                                </listitem>
+                        </varlistentry>
+                        <varlistentry>
+                                <term><varname>Driver</varname></term>
+                                <listitem>
+                                        <para>The driver currently bound to the device, as
+                                        exposed by the udev property <literal>DRIVER</literal>.
+                                        </para>
+                                </listitem>
+                        </varlistentry>
+                        <varlistentry>
+                                <term><varname>Type</varname></term>
+                                <listitem>
+                                        <para>The device type, as exposed by the udev property
+                                        <literal>DEVTYPE</literal>.</para>
+                                </listitem>
+                        </varlistentry>
+                        <varlistentry>
+                                <term><varname>Name</varname></term>
+                                <listitem>
+                                        <para>The device name, as exposed by the udev property
+                                        <literal>INTERFACE</literal>.</para>
+                                </listitem>
+                        </varlistentry>
+                </variablelist>
+
+                <para>The <literal>[Network]</literal> section accepts the following keys:</para>
+
+                <variablelist class='network-directives'>
+                        <varlistentry>
+                                <term><varname>Description</varname></term>
+                                <listitem>
+                                        <para>A description of the device. This is only used for
+                                        presentation purposes.</para>
+                                </listitem>
+                        </varlistentry>
+                        <varlistentry>
+                                <term><varname>Address</varname></term>
+                                <listitem>
+                                        <para>A static IPv4 or IPv6 address and its prefix length,
+                                        separated by a '/' character. The format of the address must
+                                        be as described in
+                                        <citerefentry><refentrytitle>inet_pton</refentrytitle><manvolnum>3</manvolnum></citerefentry>
+                                        .</para>
+                                </listitem>
+                        </varlistentry>
+                        <varlistentry>
+                                <term><varname>Gateway</varname></term>
+                                <listitem>
+                                        <para>The gateway address, which must be in the format described in
+                                        <citerefentry><refentrytitle>inet_pton</refentrytitle><manvolnum>3</manvolnum></citerefentry>
+                                        .</para>
+                                </listitem>
+                        </varlistentry>
+               </variablelist>
+        </refsect1>
+
+        <refsect1>
+                <title>See Also</title>
+                <para>
+                        <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
+                        <citerefentry><refentrytitle>udev</refentrytitle><manvolnum>7</manvolnum></citerefentry>,
+                </para>
+        </refsect1>
+
+</refentry>

commit 1f06807cc3df506b2085d43106459106c36a6220
Author: Tom Gundersen <teg at jklm.no>
Date:   Sun Nov 10 19:33:18 2013 +0100

    man: udev - add documentation for .link files

diff --git a/make-directive-index.py b/make-directive-index.py
index b43fea0..b2dd2e1 100755
--- a/make-directive-index.py
+++ b/make-directive-index.py
@@ -87,6 +87,15 @@ TEMPLATE = '''\
         </refsect1>
 
         <refsect1>
+                <title>Network directives</title>
+
+                <para>Directives for configuring network links through the
+                net-setup-link udev builtin.</para>
+
+                <variablelist id='network-directives' />
+        </refsect1>
+
+        <refsect1>
                 <title>Journal fields</title>
 
                 <para>Fields in the journal events with a well known meaning.</para>
diff --git a/man/udev.xml b/man/udev.xml
index 38acdf7..5e00a4e 100644
--- a/man/udev.xml
+++ b/man/udev.xml
@@ -741,6 +741,197 @@
       During runtime only the binary database is used.</para>
   </refsect1>
 
+  <refsect1><title>Network Link Configuration</title>
+      <para>Network link configuration is performed by the <literal>net-setup-link</literal>
+      udev builtin.</para>
+
+      <para>The link files are read from the files located in the
+      system network directory <filename>/usr/lib/systemd/network</filename>,
+      the volatile runtime network directory <filename>/run/systemd/network</filename>
+      and the local administration network directory <filename>/etc/systemd/network</filename>.
+      All link files are collectively sorted and processed in lexical order,
+      regardless of the directories in which they live. However, files with
+      identical filenames replace each other. Files in <filename>/etc</filename>
+      have the highest priority, files in <filename>/run</filename> take precedence
+      over files with the same name in <filename>/lib</filename>. This can be
+      used to override a system-supplied link file with a local file if needed;
+      a symlink in <filename>/etc</filename> with the same name as a link file in
+      <filename>/lib</filename>, pointing to <filename>/dev/null</filename>,
+      disables the link file entirely. Link files must have the extension
+      <filename>.link</filename>; other extensions are ignored.</para>
+
+      <para>The link file contains a <literal>[Match]</literal> section, which
+      determines if a given link file may be applied to a given device; and a
+      <literal>[Link]</literal> section specifying how the device should be
+      configured. The first (in lexical order) of the link files that matches
+      a given device is applied.</para>
+
+      <para>A link file is said to match a device if each of the entries in the
+      <literal>[Match]</literal> section matches, or if the section is empty.
+      The following keys are accepted:</para>
+
+      <variablelist class='network-directives'>
+        <varlistentry>
+          <term><varname>MACAddress</varname></term>
+          <listitem>
+            <para>The hardware address.
+            </para>
+          </listitem>
+        </varlistentry>
+        <varlistentry>
+          <term><varname>Path</varname></term>
+          <listitem>
+            <para>The persistent path, as exposed by the udev property <literal>ID_PATH</literal>.</para>
+          </listitem>
+        </varlistentry>
+        <varlistentry>
+          <term><varname>Driver</varname></term>
+          <listitem>
+            <para>The driver currently bound to the device, as exposed by the udev property <literal>DRIVER</literal>.</para>
+          </listitem>
+        </varlistentry>
+        <varlistentry>
+          <term><varname>Type</varname></term>
+          <listitem>
+            <para>The device type, as exposed by the udev property <literal>DEVTYPE</literal>.</para>
+          </listitem>
+        </varlistentry>
+      </variablelist>
+
+      <para>The <literal>[Link]</literal> section accepts the following keys:</para>
+
+      <variablelist class='network-directives'>
+        <varlistentry>
+          <term><varname>Description</varname></term>
+          <listitem>
+            <para>A description of the device. The <literal>ifalias</literal> is set to this value.</para>
+          </listitem>
+        </varlistentry>
+        <varlistentry>
+          <term><varname>MACAddressPolicy</varname></term>
+          <listitem>
+            <para>The policy by which the MAC address should be set. The available policies are:</para>
+            <variablelist>
+              <varlistentry>
+                <term><literal>persistent</literal></term>
+                <listitem>
+                  <para>If the hardware has a persistent MAC address, as most hardware should, and this is used by
+                  the kernel, nothing is done. Otherwise, a new MAC address is generated which is guaranteed to be
+                  the same on every boot for the given machine and the given device, but which is otherwise random.
+                  </para>
+                </listitem>
+              </varlistentry>
+              <varlistentry>
+                <term><literal>random</literal></term>
+                <listitem>
+                  <para>If the kernel is using a random MAC address, nothing is done. Otherwise, a new address is
+                  randomly generated each time the device appears, typically at boot.</para>
+                </listitem>
+              </varlistentry>
+            </variablelist>
+          </listitem>
+        </varlistentry>
+        <varlistentry>
+          <term><varname>MACAddress</varname></term>
+          <listitem>
+            <para>The MAC address to use, if no <literal>MACAddressPolicy</literal> is specified.</para>
+          </listitem>
+        </varlistentry>
+        <varlistentry>
+          <term><varname>NamePolicy</varname></term>
+          <listitem>
+            <para>An ordered, space-separated list of policies by which the interface name should be set.
+            <literal>NamePolicy</literal> may be disabeld by specifying <literal>net.ifnames=0</literal> on the
+            kernel commandline. Each of the policies may fail, and the first successfull one is used. The name
+            is not set directly, but exported to udev as the property <literal>ID_NET_NAME</literal>, which is
+            by default used by an udev rule to set <literal>NAME</literal>. The available policies are:</para>
+            <variablelist>
+              <varlistentry>
+                <term><literal>onboard</literal></term>
+                <listitem>
+                  <para>The name is set based on information given by the firmware for on-board devices, as
+                  exported by the udev property <literal>ID_NET_NAME_ONBOARD</literal>.</para>
+                </listitem>
+              </varlistentry>
+              <varlistentry>
+                <term><literal>slot</literal></term>
+                <listitem>
+                  <para>The name is set based on information given by the firmware for hot-plug devices, as
+                  exported by the udev property <literal>ID_NET_NAME_SLOT</literal>.</para>
+                </listitem>
+              </varlistentry>
+              <varlistentry>
+                <term><literal>path</literal></term>
+                <listitem>
+                  <para>The name is set based on the device's physical location, as exported by the udev
+                  property <literal>ID_NET_NAME_PATH</literal>.</para>
+                </listitem>
+              </varlistentry>
+              <varlistentry>
+                <term><literal>mac</literal></term>
+                <listitem>
+                  <para>The name is set based on the device's persistent MAC address, as exported by the udev
+                  property <literal>ID_NET_NAME_MAC</literal>.</para>
+                </listitem>
+              </varlistentry>
+            </variablelist>
+          </listitem>
+        </varlistentry>
+        <varlistentry>
+          <term><varname>Name</varname></term>
+          <listitem>
+            <para>The interface name to use in case all the policies specified in <literal>NamePolicy</literal>
+            fail, or in case <literal>NamePolicy</literal> is missing or disabled.</para>
+          </listitem>
+        </varlistentry>
+        <varlistentry>
+          <term><varname>MTU</varname></term>
+          <listitem>
+            <para>The MTU to set for the device.</para>
+          </listitem>
+        </varlistentry>
+        <varlistentry>
+          <term><varname>SpeedMBytes</varname></term>
+          <listitem>
+            <para>The speed to set for the device.</para>
+          </listitem>
+        </varlistentry>
+        <varlistentry>
+          <term><varname>Duplex</varname></term>
+          <listitem>
+            <para>The duplex mode to set for the device. The accepted values are <literal>half</literal> and
+            <literal>full</literal>.</para>
+          </listitem>
+        </varlistentry>
+        <varlistentry>
+          <term><varname>WakeOnLan</varname></term>
+          <listitem>
+            <para>The Wake-On-Lan policy to set for the device. The supported values are:</para>
+            <variablelist>
+              <varlistentry>
+                <term><literal>phy</literal></term>
+                <listitem>
+                  <para>Wake on PHY activity.</para>
+                </listitem>
+              </varlistentry>
+              <varlistentry>
+                <term><literal>magic</literal></term>
+                <listitem>
+                  <para>Wake on receipt of magic packet.</para>
+                </listitem>
+              </varlistentry>
+              <varlistentry>
+                <term><literal>off</literal></term>
+                <listitem>
+                  <para>Never wake.</para>
+                </listitem>
+              </varlistentry>
+            </variablelist>
+          </listitem>
+        </varlistentry>
+      </variablelist>
+  </refsect1>
+
   <refsect1>
     <title>See Also</title>
     <para><citerefentry>



More information about the systemd-commits mailing list