diff options
-rw-r--r-- | man/systemd-networkd.service.xml | 27 | ||||
-rw-r--r-- | src/network/networkd-address.c | 7 |
2 files changed, 28 insertions, 6 deletions
diff --git a/man/systemd-networkd.service.xml b/man/systemd-networkd.service.xml index 527742cea3..9c7ca83438 100644 --- a/man/systemd-networkd.service.xml +++ b/man/systemd-networkd.service.xml @@ -61,11 +61,16 @@ network devices as they appear, as well as creating virtual network devices.</para> + <para>To configure low-level link settings independently of + networks, see + <citerefentry><refentrytitle>udev</refentrytitle><manvolnum>7</manvolnum></citerefentry> + .</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, + are not removed, and static 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> @@ -105,14 +110,15 @@ <varlistentry> <term><varname>Kind</varname></term> <listitem> - <para>The netdev kind. Currently, <literal>bridge</literal>, <literal>bond</literal> and <literal>vlan</literal> + <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 keys:</para> + and accepts the following key:</para> <variablelist class='network-directives'> <varlistentry> @@ -252,6 +258,15 @@ </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> diff --git a/src/network/networkd-address.c b/src/network/networkd-address.c index 560605408f..28dcf14c6e 100644 --- a/src/network/networkd-address.c +++ b/src/network/networkd-address.c @@ -275,6 +275,13 @@ int config_parse_broadcast(const char *unit, if (r < 0) return r; + if (n->family == AF_INET6) { + log_syntax(unit, LOG_ERR, filename, line, EINVAL, + "Broadcast is not valid for IPv6 addresses, " + "ignoring assignment: %s", address); + return 0; + } + r = net_parse_inaddr(address, &n->family, &n->broadcast); if (r < 0) { log_syntax(unit, LOG_ERR, filename, line, EINVAL, |