chiark / gitweb /
man: split out systemd.net{work,dev}(5) from systemd-networkd(8)
authorTom Gundersen <teg@jklm.no>
Tue, 25 Feb 2014 18:30:40 +0000 (19:30 +0100)
committerTom Gundersen <teg@jklm.no>
Tue, 25 Feb 2014 18:30:40 +0000 (19:30 +0100)
Makefile-man.am
man/systemd.link.xml
man/systemd.netdev.xml [new file with mode: 0644]
man/systemd.network.xml [new file with mode: 0644]

index cb6ed94..40810e3 100644 (file)
@@ -101,6 +101,8 @@ MANPAGES += \
        man/systemd.timer.5 \
        man/systemd.unit.5 \
        man/systemd.link.5 \
+       man/systemd.netdev.5 \
+       man/systemd.network.5 \
        man/telinit.8 \
        man/tmpfiles.d.5 \
        man/udev.7 \
@@ -1469,6 +1471,8 @@ EXTRA_DIST += \
        man/systemd.timer.xml \
        man/systemd.unit.xml \
        man/systemd.link.xml \
+       man/systemd.netdev.xml \
+       man/systemd.network.xml \
        man/systemd.xml \
        man/telinit.xml \
        man/timedatectl.xml \
index c1176ba..debe65e 100644 (file)
         <refsect1>
                 <title>Example</title>
                 <example>
-                        <title>/etc/systemd/network/wireless.link</title>
+                        <title>/etc/systemd/network/bridge.netdev</title>
 
-                        <programlisting>[Match]
-MACAddress=12:34:56:78:9a:bc
-Driver=brcmsmac
-Path=pci-0000:02:00.0-*
-Type=wlan
-Virtualization=no
-Host=my-laptop
-Architecture=x86-64
+                        <programlisting>[NetDev]
+Name=bridge0
+Kind=bridge</programlisting>
+                </example>
+        </refsect1>
+
+        <refsect1>
+                <title>Example</title>
+                <example>
+                        <title>/etc/systemd/network/vlan1.netdev</title>
+
+                        <programlisting>[NetDev]
+Name=vlan1
+Kind=vlan
 
-[Link]
-Name=wireless0
-MTUBytes=1450
-BitsPerSecond=10M
-WakeOnLan=magic
-MACAddress=cb:a9:87:65:43:21</programlisting>
+[VLAN]
+Id=1</programlisting>
                 </example>
         </refsect1>
 
diff --git a/man/systemd.netdev.xml b/man/systemd.netdev.xml
new file mode 100644 (file)
index 0000000..26cc615
--- /dev/null
@@ -0,0 +1,200 @@
+<?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.netdev" conditional='ENABLE_NETWORKD'>
+
+        <refentryinfo>
+                <title>systemd.network</title>
+                <productname>systemd</productname>
+
+                <authorgroup>
+                        <author>
+                                <contrib>Developer</contrib>
+                                <firstname>Tom</firstname>
+                                <surname>Gundersen</surname>
+                                <email>teg@jklm.no</email>
+                        </author>
+                </authorgroup>
+        </refentryinfo>
+
+        <refmeta>
+                <refentrytitle>systemd.netdev</refentrytitle>
+                <manvolnum>5</manvolnum>
+        </refmeta>
+
+        <refnamediv>
+                <refname>systemd.netdev</refname>
+                <refpurpose>Virtual Network Device configuration</refpurpose>
+        </refnamediv>
+
+        <refsynopsisdiv>
+                <para><filename><replaceable>netdev</replaceable>.netdev</filename></para>
+        </refsynopsisdiv>
+
+        <refsect1>
+                <title>Description</title>
+
+                <para>Network setup is performed by
+                <citerefentry><refentrytitle>systemd-networkd</refentrytitle><manvolnum>8</manvolnum></citerefentry>.
+                </para>
+
+                <para>Virtual Network Device files must have the extension
+                <filename>.netdev</filename>; other extensions are ignored. Virtual
+                network devices are created as soon as networkd is started.</para>
+
+                <para>The <filename>.netdev</filename> 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 configuration 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>/usr/lib</filename>. This can be used to override a
+                system-supplied configuration file with a local file if needed; a symlink in
+                <filename>/etc</filename> with the same name as a configuration file in
+                <filename>/usr/lib</filename>, pointing to <filename>/dev/null</filename>,
+                disables the configuration file entirely.</para>
+
+                <para>A virtual network device is only created if the
+                <literal>[Match]</literal> section matches the current
+                environment, or if the section is empty. The following keys are accepted:</para>
+
+                        <variablelist class='network-directives'>
+                                <varlistentry>
+                                        <term><varname>Host=</varname></term>
+                                        <listitem>
+                                                <para>Matches against the hostname or machine ID of the
+                                                host. See <literal>ConditionHost=</literal> in
+                                                <citerefentry><refentrytitle>systemd.unit</refentrytitle><manvolnum>5</manvolnum></citerefentry>
+                                                for details.
+                                                </para>
+                                        </listitem>
+                                </varlistentry>
+                                <varlistentry>
+                                        <term><varname>Virtualization=</varname></term>
+                                        <listitem>
+                                                <para>Checks whether the system is executed in a virtualized
+                                                environment and optionally test whether it is a specific
+                                                implementation. See <literal>ConditionVirtualization=</literal> in
+                                                <citerefentry><refentrytitle>systemd.unit</refentrytitle><manvolnum>5</manvolnum></citerefentry>
+                                                for details.
+                                                </para>
+                                        </listitem>
+                                </varlistentry>
+                                <varlistentry>
+                                        <term><varname>KernelCommandLine=</varname></term>
+                                        <listitem>
+                                                <para>Checks whether a specific kernel command line option is
+                                                set (or if prefixed with the exclamation mark unset). See
+                                                <literal>ConditionKernelCommandLine=</literal> in
+                                                <citerefentry><refentrytitle>systemd.unit</refentrytitle><manvolnum>5</manvolnum></citerefentry>
+                                                for details.
+                                                </para>
+                                        </listitem>
+                                </varlistentry>
+                                <varlistentry>
+                                        <term><varname>Architecture=</varname></term>
+                                        <listitem>
+                                                <para>Checks whether the system is running on a specific
+                                                architecture. See <literal>ConditionArchitecture=</literal> in
+                                                <citerefentry><refentrytitle>systemd.unit</refentrytitle><manvolnum>5</manvolnum></citerefentry>
+                                                for details.
+                                                </para>
+                                        </listitem>
+                                </varlistentry>
+                        </variablelist>
+
+                        <para>The <literal>[NetDev]</literal> section accepts the following
+                        keys:</para>
+
+                        <variablelist class='network-directives'>
+                                <varlistentry>
+                                        <term><varname>Name=</varname></term>
+                                        <listitem>
+                                                <para>The interface name used when creating the
+                                                netdev. This option is compulsory.</para>
+                                        </listitem>
+                                </varlistentry>
+                                <varlistentry>
+                                        <term><varname>Kind=</varname></term>
+                                        <listitem>
+                                                <para>The netdev kind. Currently, <literal>bridge</literal>,
+                                                <literal>bond</literal> and <literal>vlan</literal>
+                                                are supported. This option is compulsory.</para>
+                                        </listitem>
+                                </varlistentry>
+                        </variablelist>
+
+                        <para>The <literal>[VLAN]</literal> section only applies for netdevs of kind <literal>vlan</literal>,
+                        and accepts the following key:</para>
+
+                        <variablelist class='network-directives'>
+                                <varlistentry>
+                                        <term><varname>Id=</varname></term>
+                                        <listitem>
+                                                <para>The VLAN ID to use. An integer in the range 0–4094.
+                                                This option is compulsory.</para>
+                                        </listitem>
+                                </varlistentry>
+                        </variablelist>
+
+        </refsect1>
+
+        <refsect1>
+                <title>Example</title>
+                <example>
+                        <title>/etc/systemd/network/bridge.netdev</title>
+
+                        <programlisting>[NetDev]
+Name=bridge0
+Kind=bridge</programlisting>
+                </example>
+
+                <example>
+                        <title>/etc/systemd/network/vlan1.netdev</title>
+
+                        <programlisting>[Match]
+Virtualization=no
+
+[NetDev]
+Name=vlan1
+Kind=vlan
+
+[VLAN]
+Id=1</programlisting>
+                </example>
+
+        </refsect1>
+
+        <refsect1>
+                <title>See Also</title>
+                <para>
+                        <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
+                        <citerefentry><refentrytitle>systemd-networkd</refentrytitle><manvolnum>8</manvolnum></citerefentry>
+                </para>
+        </refsect1>
+
+</refentry>
diff --git a/man/systemd.network.xml b/man/systemd.network.xml
new file mode 100644 (file)
index 0000000..1ba4f4a
--- /dev/null
@@ -0,0 +1,356 @@
+<?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.network" conditional='ENABLE_NETWORKD'>
+
+        <refentryinfo>
+                <title>systemd.network</title>
+                <productname>systemd</productname>
+
+                <authorgroup>
+                        <author>
+                                <contrib>Developer</contrib>
+                                <firstname>Tom</firstname>
+                                <surname>Gundersen</surname>
+                                <email>teg@jklm.no</email>
+                        </author>
+                </authorgroup>
+        </refentryinfo>
+
+        <refmeta>
+                <refentrytitle>systemd.network</refentrytitle>
+                <manvolnum>5</manvolnum>
+        </refmeta>
+
+        <refnamediv>
+                <refname>systemd.network</refname>
+                <refpurpose>Network configuration</refpurpose>
+        </refnamediv>
+
+        <refsynopsisdiv>
+                <para><filename><replaceable>network</replaceable>.network</filename></para>
+        </refsynopsisdiv>
+
+        <refsect1>
+                <title>Description</title>
+
+               <para>Network setup is performed by
+               <citerefentry><refentrytitle>systemd-networkd</refentrytitle><manvolnum>8</manvolnum></citerefentry>.
+               </para>
+
+                <para>Network files must have the extension <filename>.network</filename>;
+                other extensions are ignored. Networks are applied to links whenever the links
+                appear.</para>
+
+                <para>The <filename>.network</filename> 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 configuration 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>/usr/lib</filename>. This can be used to override a
+                system-supplied configuration file with a local file if needed; a symlink in
+                <filename>/etc</filename> with the same name as a configuration file in
+                <filename>/usr/lib</filename>, pointing to <filename>/dev/null</filename>,
+                disables the configuration file entirely.</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>. May contain shell
+                                                style globs.</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>
+                                                of its parent device, or if that is not set the driver
+                                                as exposed by <literal>ethtool -i</literal> of the
+                                                device itself.</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>. May contain shell style
+                                                globs.</para>
+                                        </listitem>
+                                </varlistentry>
+                                <varlistentry>
+                                        <term><varname>Host=</varname></term>
+                                        <listitem>
+                                                <para>Matches against the hostname or machine ID of the
+                                                host. See <literal>ConditionHost=</literal> in
+                                                <citerefentry><refentrytitle>systemd.unit</refentrytitle><manvolnum>5</manvolnum></citerefentry>
+                                                for details.
+                                                </para>
+                                        </listitem>
+                                </varlistentry>
+                                <varlistentry>
+                                        <term><varname>Virtualization=</varname></term>
+                                        <listitem>
+                                                <para>Checks whether the system is executed in a virtualized
+                                                environment and optionally test whether it is a specific
+                                                implementation. See <literal>ConditionVirtualization=</literal> in
+                                                <citerefentry><refentrytitle>systemd.unit</refentrytitle><manvolnum>5</manvolnum></citerefentry>
+                                                for details.
+                                                </para>
+                                        </listitem>
+                                </varlistentry>
+                                <varlistentry>
+                                        <term><varname>KernelCommandLine=</varname></term>
+                                        <listitem>
+                                                <para>Checks whether a specific kernel command line option is
+                                                set (or if prefixed with the exclamation mark unset). See
+                                                <literal>ConditionKernelCommandLine=</literal> in
+                                                <citerefentry><refentrytitle>systemd.unit</refentrytitle><manvolnum>5</manvolnum></citerefentry>
+                                                for details.
+                                                </para>
+                                        </listitem>
+                                </varlistentry>
+                                <varlistentry>
+                                        <term><varname>Architecture=</varname></term>
+                                        <listitem>
+                                                <para>Checks whether the system is running on a specific
+                                                architecture. See <literal>ConditionArchitecture=</literal> in
+                                                <citerefentry><refentrytitle>systemd.unit</refentrytitle><manvolnum>5</manvolnum></citerefentry>
+                                                for details.
+                                                </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>DHCP=</varname></term>
+                                        <listitem>
+                                                <para>A boolean. When true, enables basic DHCPv4 support.</para>
+                                        </listitem>
+                                </varlistentry>
+                                <varlistentry>
+                                        <term><varname>Address=</varname></term>
+                                        <listitem>
+                                                <para>A static IPv4 or IPv6 address and its prefix length,
+                                                separated by a <literal>/</literal> character. Specify this
+                                                key more than once to configure several addresses.
+                                                The format of the address must be as described in
+                                                <citerefentry><refentrytitle>inet_pton</refentrytitle><manvolnum>3</manvolnum></citerefentry>
+                                                . This is a short-hand for an [Address] section only containing an Address key (see below).
+                                                </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>
+                                                . This is a short-hand for a [Route] section only containing a Gateway key.</para>
+                                        </listitem>
+                                </varlistentry>
+                                <varlistentry>
+                                        <term><varname>DNS=</varname></term>
+                                        <listitem>
+                                                <para>A DNS server address, which must be in the format described in
+                                                <citerefentry><refentrytitle>inet_pton</refentrytitle><manvolnum>3</manvolnum></citerefentry>
+                                                .</para>
+                                        </listitem>
+                                </varlistentry>
+                                <varlistentry>
+                                        <term><varname>Bridge=</varname></term>
+                                        <listitem>
+                                                <para>The name of the bridge to add the link to.</para>
+                                        </listitem>
+                                </varlistentry>
+                                <varlistentry>
+                                        <term><varname>Bond=</varname></term>
+                                        <listitem>
+                                                <para>The name of the bond to add the link to.</para>
+                                        </listitem>
+                                </varlistentry>
+                                <varlistentry>
+                                        <term><varname>VLAN=</varname></term>
+                                        <listitem>
+                                                <para>The name of a VLAN to create on the link. This option
+                                                may be specified more than once.</para>
+                                        </listitem>
+                                </varlistentry>
+                        </variablelist>
+
+                        <para>An <literal>[Address]</literal> section accepts the following keys.
+                        Specify several <literal>[Address]</literal> sections to configure several
+                        addresses.</para>
+
+                        <variablelist class='network-directives'>
+                                <varlistentry>
+                                        <term><varname>Address=</varname></term>
+                                        <listitem>
+                                                <para>As in the <literal>[Network]</literal> section. This key is mandatory.</para>
+                                        </listitem>
+                                </varlistentry>
+                                <varlistentry>
+                                        <term><varname>Broadcast=</varname></term>
+                                        <listitem>
+                                                <para>The broadcast address, which must be in the format described in
+                                                <citerefentry><refentrytitle>inet_pton</refentrytitle><manvolnum>3</manvolnum></citerefentry>
+                                                . This key only applies to IPv4 addresses. If it is not given, it is
+                                                derived from the <literal>Address</literal> key.</para>
+                                        </listitem>
+                                </varlistentry>
+                                <varlistentry>
+                                        <term><varname>Label=</varname></term>
+                                        <listitem>
+                                                <para>An address label.</para>
+                                        </listitem>
+                                </varlistentry>
+                        </variablelist>
+
+                        <para>The <literal>[Route]</literal> section accepts the following keys. Specify
+                        several <literal>[Route]</literal> sections to configure several routes.</para>
+
+                        <variablelist class='network-directives'>
+                                <varlistentry>
+                                        <term><varname>Gateway=</varname></term>
+                                        <listitem>
+                                                <para>As in the <literal>[Network]</literal> section. This key is mandatory.</para>
+                                        </listitem>
+                                </varlistentry>
+                                <varlistentry>
+                                        <term><varname>Destination=</varname></term>
+                                        <listitem>
+                                                <para>The destination prefix of the route. Possibly followed by a slash and the
+                                                prefixlength, if ommitted a full-length host route is assumed.</para>
+                                        </listitem>
+                                </varlistentry>
+                        </variablelist>
+
+                        <para>The <literal>[DHCPv4]</literal> section accepts the following keys:</para>
+
+                        <variablelist class='network-directives'>
+                                <varlistentry>
+                                        <term><varname>UseDNS=</varname></term>
+                                        <listitem>
+                                                <para>When true (the default), the DNS servers received from the DHCP server will
+                                                be used and take precedence over any statically configured ones.</para>
+                                        </listitem>
+                                </varlistentry>
+                                <varlistentry>
+                                        <term><varname>UseMTU=</varname></term>
+                                        <listitem>
+                                                <para>When true, the interface maximum transmission unit from the DHCP server will
+                                                be used on the current link. Defaults to false.</para>
+                                        </listitem>
+                                </varlistentry>
+                                <varlistentry>
+                                        <term><varname>UseHostname=</varname></term>
+                                        <listitem>
+                                                <para>When true (the default), the hostname received from the DHCP server
+                                                will be used as the transient hostname.</para>
+                                        </listitem>
+                                </varlistentry>
+                                <varlistentry>
+                                        <term><varname>CriticalConnection=</varname></term>
+                                        <listitem>
+                                                <para>When true, the connection will never be torn down even if the DHCP lease
+                                                expires. This is contrary to the DHCP specification, but may be the best choice
+                                                if, say, the root filesystem relies on this connection. Defaults to false.</para>
+                                        </listitem>
+                                </varlistentry>
+                       </variablelist>
+
+        </refsect1>
+
+        <refsect1>
+                <title>Example</title>
+                <example>
+                        <title>/etc/systemd/network/50-static.network</title>
+
+                        <programlisting>[Match]
+Name=enp2s0
+
+[Network]
+Address=192.168.0.15/24
+Gateway=192.168.0.1</programlisting>
+                </example>
+
+                <example>
+                        <title>/etc/systemd/network/80-dhcp.network</title>
+
+                        <programlisting>[Match]
+Name=en*
+
+[Network]
+DHCP=yes</programlisting>
+                </example>
+
+        </refsect1>
+
+        <refsect1>
+                <title>See Also</title>
+                <para>
+                        <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
+                        <citerefentry><refentrytitle>systemd-networkd</refentrytitle><manvolnum>8</manvolnum></citerefentry>
+                </para>
+        </refsect1>
+
+</refentry>