systemd-networkd.service.xml revision 2b70d172a7b2ba741df7d6ca89c915e17d6f3e84
<?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" conditional='ENABLE_NETWORKD'>
<refentryinfo>
<title>systemd-networkd.service</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-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>