[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