]> git.ipfire.org Git - thirdparty/systemd.git/blame - man/systemd.network.xml
networkd: turn UnicastFlood on by default
[thirdparty/systemd.git] / man / systemd.network.xml
CommitLineData
eac684ef
TG
1<?xml version='1.0'?> <!--*-nxml-*-->
2<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
12b42c76 3 "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
eac684ef
TG
4
5<!--
6 This file is part of systemd.
7
8 Copyright 2013 Tom Gundersen
9
10 systemd is free software; you can redistribute it and/or modify it
11 under the terms of the GNU Lesser General Public License as published by
12 the Free Software Foundation; either version 2.1 of the License, or
13 (at your option) any later version.
14
15 systemd is distributed in the hope that it will be useful, but
16 WITHOUT ANY WARRANTY; without even the implied warranty of
17 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
18 Lesser General Public License for more details.
19
20 You should have received a copy of the GNU Lesser General Public License
21 along with systemd; If not, see <http://www.gnu.org/licenses/>.
22-->
23
24<refentry id="systemd.network" conditional='ENABLE_NETWORKD'>
25
798d3a52
ZJS
26 <refentryinfo>
27 <title>systemd.network</title>
28 <productname>systemd</productname>
29
30 <authorgroup>
31 <author>
32 <contrib>Developer</contrib>
33 <firstname>Tom</firstname>
34 <surname>Gundersen</surname>
35 <email>teg@jklm.no</email>
36 </author>
37 </authorgroup>
38 </refentryinfo>
39
40 <refmeta>
41 <refentrytitle>systemd.network</refentrytitle>
42 <manvolnum>5</manvolnum>
43 </refmeta>
44
45 <refnamediv>
46 <refname>systemd.network</refname>
47 <refpurpose>Network configuration</refpurpose>
48 </refnamediv>
49
50 <refsynopsisdiv>
51 <para><filename><replaceable>network</replaceable>.network</filename></para>
52 </refsynopsisdiv>
53
54 <refsect1>
55 <title>Description</title>
56
57 <para>Network setup is performed by
58 <citerefentry><refentrytitle>systemd-networkd</refentrytitle><manvolnum>8</manvolnum></citerefentry>.
59 </para>
60
61 <para>Network files must have the extension
62 <filename>.network</filename>; other extensions are ignored.
63 Networks are applied to links whenever the links appear.</para>
64
65 <para>The <filename>.network</filename> files are read from the
66 files located in the system network directory
12b42c76 67 <filename>/usr/lib/systemd/network</filename>, the volatile
798d3a52
ZJS
68 runtime network directory
69 <filename>/run/systemd/network</filename> and the local
70 administration network directory
12b42c76 71 <filename>/etc/systemd/network</filename>. All configuration files
798d3a52
ZJS
72 are collectively sorted and processed in lexical order, regardless
73 of the directories in which they live. However, files with
74 identical filenames replace each other. Files in
75 <filename>/etc</filename> have the highest priority, files in
76 <filename>/run</filename> take precedence over files with the same
12b42c76 77 name in <filename>/usr/lib</filename>. This can be used to
798d3a52
ZJS
78 override a system-supplied configuration file with a local file if
79 needed; a symlink in <filename>/etc</filename> with the same name
12b42c76 80 as a configuration file in <filename>/usr/lib</filename>, pointing
798d3a52
ZJS
81 to <filename>/dev/null</filename>, disables the configuration file
82 entirely.</para>
83
84 </refsect1>
85
86 <refsect1>
87 <title>[Match] Section Options</title>
88
89 <para>The network file contains a <literal>[Match]</literal>
90 section, which determines if a given network file may be applied
91 to a given device; and a <literal>[Network]</literal> section
92 specifying how the device should be configured. The first (in
93 lexical order) of the network files that matches a given device
a22e1850
LP
94 is applied, all later files are ignored, even if they match as
95 well.</para>
798d3a52
ZJS
96
97 <para>A network file is said to match a device if each of the
98 entries in the <literal>[Match]</literal> section matches, or if
99 the section is empty. The following keys are accepted:</para>
100
101 <variablelist class='network-directives'>
102 <varlistentry>
103 <term><varname>MACAddress=</varname></term>
104 <listitem>
105 <para>The hardware address.</para>
106 </listitem>
107 </varlistentry>
108 <varlistentry>
109 <term><varname>Path=</varname></term>
110 <listitem>
5256e00e
TG
111 <para>A whitespace-separated list of shell-style globs
112 matching the persistent path, as exposed by the udev
113 property <literal>ID_PATH</literal>.</para>
798d3a52
ZJS
114 </listitem>
115 </varlistentry>
116 <varlistentry>
117 <term><varname>Driver=</varname></term>
118 <listitem>
5256e00e
TG
119 <para>A whitespace-separated list of shell-style globs
120 matching the driver currently bound to the device, as
798d3a52
ZJS
121 exposed by the udev property <literal>DRIVER</literal>
122 of its parent device, or if that is not set the driver
123 as exposed by <literal>ethtool -i</literal> of the
124 device itself.</para>
125 </listitem>
126 </varlistentry>
127 <varlistentry>
128 <term><varname>Type=</varname></term>
129 <listitem>
5256e00e
TG
130 <para>A whitespace-separated list of shell-style globs
131 matching the device type, as exposed by the udev property
798d3a52
ZJS
132 <literal>DEVTYPE</literal>.</para>
133 </listitem>
134 </varlistentry>
135 <varlistentry>
136 <term><varname>Name=</varname></term>
137 <listitem>
5256e00e
TG
138 <para>A whitespace-separated list of shell-style globs
139 matching the device name, as exposed by the udev property
140 <literal>INTERFACE</literal>.</para>
798d3a52
ZJS
141 </listitem>
142 </varlistentry>
143 <varlistentry>
144 <term><varname>Host=</varname></term>
145 <listitem>
146 <para>Matches against the hostname or machine ID of the
147 host. See <literal>ConditionHost=</literal> in
148 <citerefentry><refentrytitle>systemd.unit</refentrytitle><manvolnum>5</manvolnum></citerefentry>
149 for details.
150 </para>
151 </listitem>
152 </varlistentry>
153 <varlistentry>
154 <term><varname>Virtualization=</varname></term>
155 <listitem>
156 <para>Checks whether the system is executed in a virtualized
157 environment and optionally test whether it is a specific
158 implementation. See <literal>ConditionVirtualization=</literal> in
159 <citerefentry><refentrytitle>systemd.unit</refentrytitle><manvolnum>5</manvolnum></citerefentry>
160 for details.
161 </para>
162 </listitem>
163 </varlistentry>
164 <varlistentry>
165 <term><varname>KernelCommandLine=</varname></term>
166 <listitem>
167 <para>Checks whether a specific kernel command line option is
168 set (or if prefixed with the exclamation mark unset). See
169 <literal>ConditionKernelCommandLine=</literal> in
170 <citerefentry><refentrytitle>systemd.unit</refentrytitle><manvolnum>5</manvolnum></citerefentry>
171 for details.
172 </para>
173 </listitem>
174 </varlistentry>
175 <varlistentry>
176 <term><varname>Architecture=</varname></term>
177 <listitem>
178 <para>Checks whether the system is running on a specific
179 architecture. See <literal>ConditionArchitecture=</literal> in
180 <citerefentry><refentrytitle>systemd.unit</refentrytitle><manvolnum>5</manvolnum></citerefentry>
181 for details.
182 </para>
183 </listitem>
184 </varlistentry>
185 </variablelist>
186
187 </refsect1>
188
189 <refsect1>
190 <title>[Link] Section Options</title>
191
192 <para> The <literal>[Link]</literal> section accepts the following keys:</para>
193
194 <variablelist class='network-directives'>
195 <varlistentry>
196 <term><varname>MACAddress=</varname></term>
197 <listitem>
198 <para>The hardware address.</para>
199 </listitem>
200 </varlistentry>
201 <varlistentry>
202 <term><varname>MTUBytes=</varname></term>
203 <listitem>
204 <para>The maximum transmission unit in bytes to set for the
205 device. The usual suffixes K, M, G, are supported and are
206 understood to the base of 1024.</para>
207 </listitem>
208 </varlistentry>
209 </variablelist>
210 </refsect1>
211
212 <refsect1>
213 <title>[Network] Section Options</title>
214
215 <para>The <literal>[Network]</literal> section accepts the following keys:</para>
216
217 <variablelist class='network-directives'>
218 <varlistentry>
219 <term><varname>Description=</varname></term>
220 <listitem>
221 <para>A description of the device. This is only used for
222 presentation purposes.</para>
223 </listitem>
224 </varlistentry>
225 <varlistentry>
226 <term><varname>DHCP=</varname></term>
227 <listitem>
228 <para>Enables DHCPv4 and/or DHCPv6 support. Accepts
229 <literal>yes</literal>, <literal>no</literal>,
230 <literal>ipv4</literal>, or <literal>ipv6</literal>.</para>
e88d8021
ZJS
231
232 <para>Please note that by default the domain name
233 specified through DHCP is not used for name resolution.
234 See option <option>UseDomains=</option> below.</para>
798d3a52
ZJS
235 </listitem>
236 </varlistentry>
237 <varlistentry>
238 <term><varname>DHCPServer=</varname></term>
239 <listitem>
240 <para>A boolean. Enables a basic DHCPv4 server on the
241 device. Mostly useful for handing out leases to container
242 instances.</para>
243 </listitem>
244 </varlistentry>
245 <varlistentry>
56fd6bf7 246 <term><varname>LinkLocalAddressing=</varname></term>
798d3a52 247 <listitem>
d0d6a4cd
TG
248 <para>Enables link-local address autoconfiguration. Accepts
249 <literal>yes</literal>, <literal>no</literal>,
250 <literal>ipv4</literal>, or <literal>ipv6</literal>. Defaults to
251 <literal>ipv6</literal>.</para>
798d3a52
ZJS
252 </listitem>
253 </varlistentry>
254 <varlistentry>
255 <term><varname>IPv4LLRoute=</varname></term>
256 <listitem>
257 <para>A boolean. When true, sets up the route needed for
258 non-IPv4LL hosts to communicate with IPv4LL-only hosts. Defaults
259 to false.
260 </para>
261 </listitem>
262 </varlistentry>
263 <varlistentry>
113bfde1
TG
264 <term><varname>IPv6Token=</varname></term>
265 <listitem>
266 <para>An IPv6 address with the top 64 bits unset. When set, indicates the
267 64 bits interface part of SLAAC IPv6 addresses for this link. By default
268 it is autogenerated.</para>
269 </listitem>
270 </varlistentry>
271 <varlistentry>
798d3a52
ZJS
272 <term><varname>LLMNR=</varname></term>
273 <listitem>
274 <para>A boolean or <literal>resolve</literal>. When true, enables
275 Link-Local Multicast Name Resolution on the link, when set to
276 <literal>resolve</literal> only resolution is enabled, but not
277 announcement. Defaults to true.</para>
278 </listitem>
279 </varlistentry>
280 <varlistentry>
281 <term><varname>LLDP=</varname></term>
282 <listitem>
283 <para>A boolean. When true, enables LLDP link receive support.
284 </para>
285 </listitem>
286 </varlistentry>
0d4ad91d
AR
287 <varlistentry>
288 <term><varname>BindCarrier=</varname></term>
289 <listitem>
290 <para>A port or a list of ports. When set, controls the
291 behaviour of the current interface. When all ports in the list
292 are in an operational down state, the current interface is brought
293 down. When at least one port has carrier, the current interface
294 is brought up.
295 </para>
296 </listitem>
297 </varlistentry>
798d3a52
ZJS
298 <varlistentry>
299 <term><varname>Address=</varname></term>
300 <listitem>
301 <para>A static IPv4 or IPv6 address and its prefix length,
302 separated by a <literal>/</literal> character. Specify
303 this key more than once to configure several addresses.
304 The format of the address must be as described in
3ba3a79d 305 <citerefentry project='man-pages'><refentrytitle>inet_pton</refentrytitle><manvolnum>3</manvolnum></citerefentry>.
798d3a52
ZJS
306 This is a short-hand for an [Address] section only
307 containing an Address key (see below). This option may be
308 specified more than once.
309 </para>
310
311 <para>If the specified address is 0.0.0.0 (for IPv4) or
312 [::] (for IPv6), a new address range of the requested size
313 is automatically allocated from a system-wide pool of
314 unused ranges. The allocated range is checked against all
315 current network interfaces and all known network
316 configuration files to avoid address range conflicts. The
317 default system-wide pool consists of 192.168.0.0/16,
318 172.16.0.0/12 and 10.0.0.0/8 for IPv4, and fc00::/7 for
319 IPv6. This functionality is useful to manage a large
320 number of dynamically created network interfaces with the
321 same network configuration and automatic address range
322 assignment.</para>
323
324 </listitem>
325 </varlistentry>
326 <varlistentry>
327 <term><varname>Gateway=</varname></term>
328 <listitem>
329 <para>The gateway address, which must be in the format
330 described in
3ba3a79d 331 <citerefentry project='man-pages'><refentrytitle>inet_pton</refentrytitle><manvolnum>3</manvolnum></citerefentry>.
798d3a52
ZJS
332 This is a short-hand for a [Route] section only containing
333 a Gateway key. This option may be specified more than
334 once.</para>
335 </listitem>
336 </varlistentry>
337 <varlistentry>
338 <term><varname>DNS=</varname></term>
339 <listitem>
340 <para>A DNS server address, which must be in the format
341 described in
3ba3a79d 342 <citerefentry project='man-pages'><refentrytitle>inet_pton</refentrytitle><manvolnum>3</manvolnum></citerefentry>.
798d3a52
ZJS
343 This option may be specified more than once.</para>
344 </listitem>
345 </varlistentry>
346 <varlistentry>
347 <term><varname>Domains=</varname></term>
348 <listitem>
349 <para>The domains used for DNS resolution over this link.</para>
350 </listitem>
351 </varlistentry>
352 <varlistentry>
353 <term><varname>NTP=</varname></term>
354 <listitem>
355 <para>An NTP server address. This option may be specified more than once.</para>
356 </listitem>
357 </varlistentry>
358 <varlistentry>
359 <term><varname>IPForward=</varname></term>
360 <listitem><para>Configures IP forwarding for the network
361 interface. If enabled incoming packets on the network
362 interface will be forwarded to other interfaces according to
363 the routing table. Takes either a boolean argument, or the
364 values <literal>ipv4</literal> or <literal>ipv6</literal>,
365 which only enables IP forwarding for the specified address
2972cba1
NO
366 family, or <literal>kernel</literal>, which preserves existing sysctl settings.
367 This controls the
4046d836
LP
368 <filename>net.ipv4.conf.&lt;interface&gt;.forwarding</filename>
369 and
370 <filename>net.ipv6.conf.&lt;interface&gt;.forwarding</filename>
371 sysctl options of the network interface (see <ulink
372 url="https://www.kernel.org/doc/Documentation/networking/ip-sysctl.txt">ip-sysctl.txt</ulink>
373 for details about sysctl options). Defaults to
374 <literal>no</literal>.</para>
375
2972cba1
NO
376 <para>Note: unless this option is turned on, or set to <literal>kernel</literal>,
377 no IP forwarding is done on this interface, even if this is
4046d836 378 globally turned on in the kernel, with the
e2bccc9d
DH
379 <filename>net.ipv4.ip_forward</filename>,
380 <filename>net.ipv4.conf.all.forwarding</filename>, and
381 <filename>net.ipv6.conf.all.forwarding</filename> sysctl
505c5f6d 382 options.</para>
4046d836 383 </listitem>
798d3a52
ZJS
384 </varlistentry>
385 <varlistentry>
386 <term><varname>IPMasquerade=</varname></term>
387 <listitem><para>Configures IP masquerading for the network
388 interface. If enabled packets forwarded from the network
389 interface will be appear as coming from the local host.
390 Takes a boolean argument. Implies
5c82dd13 391 <varname>IPForward=ipv4</varname>. Defaults to
4046d836 392 <literal>no</literal>.</para></listitem>
798d3a52 393 </varlistentry>
a46e37cb
SS
394 <varlistentry>
395 <term><varname>IPv6PrivacyExtensions=</varname></term>
1f0d9695
LP
396 <listitem><para>Configures use of stateless temporary
397 addresses that change over time (see <ulink
398 url="https://tools.ietf.org/html/rfc4941">RFC 4941</ulink>,
399 Privacy Extensions for Stateless Address Autoconfiguration
400 in IPv6). Takes a boolean or the special values
401 <literal>prefer-public</literal> and
402 <literal>kernel</literal>. When true enables the privacy
403 extensions and prefers temporary addresses over public
404 addresses. When <literal>prefer-public</literal> enables the
405 privacy extensions, but prefers public addresses over
406 temporary addresses. When false, the privacy extensions
407 remain disabled. When <literal>kernel</literal> the kernel's
408 default setting will be left in place. Defaults to
a46e37cb
SS
409 <literal>no</literal>.</para></listitem>
410 </varlistentry>
798d3a52
ZJS
411 <varlistentry>
412 <term><varname>Bridge=</varname></term>
413 <listitem>
414 <para>The name of the bridge to add the link to.</para>
415 </listitem>
416 </varlistentry>
417 <varlistentry>
418 <term><varname>Bond=</varname></term>
419 <listitem>
420 <para>The name of the bond to add the link to.</para>
421 </listitem>
422 </varlistentry>
423 <varlistentry>
424 <term><varname>VLAN=</varname></term>
425 <listitem>
426 <para>The name of a VLAN to create on the link. This
427 option may be specified more than once.</para>
428 </listitem>
429 </varlistentry>
430 <varlistentry>
431 <term><varname>MACVLAN=</varname></term>
432 <listitem>
433 <para>The name of a MACVLAN to create on the link. This
434 option may be specified more than once.</para>
435 </listitem>
436 </varlistentry>
437 <varlistentry>
438 <term><varname>VXLAN=</varname></term>
439 <listitem>
440 <para>The name of a VXLAN to create on the link. This
441 option may be specified more than once.</para>
442 </listitem>
443 </varlistentry>
444 <varlistentry>
445 <term><varname>Tunnel=</varname></term>
446 <listitem>
447 <para>The name of a Tunnel to create on the link. This
448 option may be specified more than once.</para>
449 </listitem>
450 </varlistentry>
451 </variablelist>
452
453 </refsect1>
454
455 <refsect1>
456 <title>[Address] Section Options</title>
457
458 <para>An <literal>[Address]</literal> section accepts the
459 following keys. Specify several <literal>[Address]</literal>
460 sections to configure several addresses.</para>
461
462 <variablelist class='network-directives'>
463 <varlistentry>
464 <term><varname>Address=</varname></term>
465 <listitem>
466 <para>As in the <literal>[Network]</literal> section. This
467 key is mandatory.</para>
468 </listitem>
469 </varlistentry>
470 <varlistentry>
471 <term><varname>Peer=</varname></term>
472 <listitem>
473 <para>The peer address in a point-to-point connection.
474 Accepts the same format as the <literal>Address</literal>
475 key.</para>
476 </listitem>
477 </varlistentry>
478 <varlistentry>
479 <term><varname>Broadcast=</varname></term>
480 <listitem>
481 <para>The broadcast address, which must be in the format
482 described in
3ba3a79d 483 <citerefentry project='man-pages'><refentrytitle>inet_pton</refentrytitle><manvolnum>3</manvolnum></citerefentry>.
798d3a52
ZJS
484 This key only applies to IPv4 addresses. If it is not
485 given, it is derived from the <literal>Address</literal>
486 key.</para>
487 </listitem>
488 </varlistentry>
489 <varlistentry>
490 <term><varname>Label=</varname></term>
491 <listitem>
492 <para>An address label.</para>
493 </listitem>
494 </varlistentry>
495 </variablelist>
496 </refsect1>
497
498 <refsect1>
499 <title>[Route] Section Options</title>
500 <para>The <literal>[Route]</literal> section accepts the
501 following keys. Specify several <literal>[Route]</literal>
502 sections to configure several routes.</para>
503
504 <variablelist class='network-directives'>
505 <varlistentry>
506 <term><varname>Gateway=</varname></term>
507 <listitem>
508 <para>As in the <literal>[Network]</literal> section.</para>
509 </listitem>
510 </varlistentry>
511 <varlistentry>
512 <term><varname>Destination=</varname></term>
513 <listitem>
514 <para>The destination prefix of the route. Possibly
515 followed by a slash and the prefixlength. If omitted, a
516 full-length host route is assumed.</para>
517 </listitem>
518 </varlistentry>
519 <varlistentry>
520 <term><varname>Source=</varname></term>
521 <listitem>
522 <para>The source prefix of the route. Possibly followed by
523 a slash and the prefixlength. If omitted, a full-length
524 host route is assumed.</para>
525 </listitem>
526 </varlistentry>
527 <varlistentry>
528 <term><varname>Metric=</varname></term>
529 <listitem>
530 <para>The metric of the route. An unsigned integer</para>
531 </listitem>
532 </varlistentry>
769b56a3
TG
533 <varlistentry>
534 <term><varname>Scope=</varname></term>
535 <listitem>
536 <para>The scope of the route. One of the values <literal>global</literal>,
537 <literal>link</literal> or <literal>host</literal>. Defaults to
538 <literal>global</literal>.</para>
539 </listitem>
540 </varlistentry>
798d3a52
ZJS
541 </variablelist>
542 </refsect1>
543
544 <refsect1>
545 <title>[DHCP] Section Options</title>
546 <para>The <literal>[DHCP]</literal> section accepts the following keys:</para>
547
548 <variablelist class='network-directives'>
549 <varlistentry>
550 <term><varname>UseDNS=</varname></term>
551 <listitem>
552 <para>When true (the default), the DNS servers received
553 from the DHCP server will be used and take precedence over
554 any statically configured ones.</para>
e88d8021
ZJS
555
556 <para>This corresponds to the <option>nameserver</option>
557 option in <citerefentry project='man-pages'><refentrytitle>resolv.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>.</para>
798d3a52
ZJS
558 </listitem>
559 </varlistentry>
301f4073
MM
560 <varlistentry>
561 <term><varname>UseNTP=</varname></term>
562 <listitem>
563 <para>When true (the default), the NTP servers received
564 from the DHCP server will be used by systemd-timesyncd
565 and take precedence over any statically configured ones.</para>
566 </listitem>
567 </varlistentry>
798d3a52
ZJS
568 <varlistentry>
569 <term><varname>UseMTU=</varname></term>
570 <listitem>
571 <para>When true, the interface maximum transmission unit
572 from the DHCP server will be used on the current link.
573 Defaults to false.</para>
574 </listitem>
575 </varlistentry>
576 <varlistentry>
577 <term><varname>SendHostname=</varname></term>
578 <listitem>
d59be2cf
ZJS
579 <para>When true (the default), the machine's hostname will
580 be sent to the DHCP server.</para>
798d3a52
ZJS
581 </listitem>
582 </varlistentry>
583 <varlistentry>
584 <term><varname>UseHostname=</varname></term>
585 <listitem>
586 <para>When true (the default), the hostname received from
d59be2cf
ZJS
587 the DHCP server will be used as the transient hostname.
588 </para>
798d3a52
ZJS
589 </listitem>
590 </varlistentry>
1adc5d0b
SS
591 <varlistentry>
592 <term><varname>Hostname=</varname></term>
593 <listitem>
d59be2cf
ZJS
594 <para>Use this value for the hostname which is sent to the
595 DHCP server, instead of machine's hostname.</para>
1adc5d0b
SS
596 </listitem>
597 </varlistentry>
798d3a52
ZJS
598 <varlistentry>
599 <term><varname>UseDomains=</varname></term>
600 <listitem>
601 <para>When true (not the default), the domain name
602 received from the DHCP server will be used for DNS
e88d8021
ZJS
603 resolution over this link. When a name cannot be resolved
604 as specified, the domain name will be used a suffix and
605 name resolution of that will be attempted.</para>
606
607 <para>This corresponds to the <option>domain</option>
608 option in <citerefentry project='man-pages'><refentrytitle>resolv.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>
609 and should not be enabled on untrusted networks.</para>
798d3a52
ZJS
610 </listitem>
611 </varlistentry>
612 <varlistentry>
613 <term><varname>UseRoutes=</varname></term>
614 <listitem>
615 <para>When true (the default), the static routes will be
616 requested from the DHCP server and added to the routing
617 table with metric of 1024.</para>
618 </listitem>
619 </varlistentry>
620 <varlistentry>
621 <term><varname>CriticalConnection=</varname></term>
622 <listitem>
623 <para>When true, the connection will never be torn down
624 even if the DHCP lease expires. This is contrary to the
625 DHCP specification, but may be the best choice if, say,
626 the root filesystem relies on this connection. Defaults to
627 false.</para>
628 </listitem>
629 </varlistentry>
3e43b2cd
JJ
630 <varlistentry>
631 <term><varname>ClientIdentifier=</varname></term>
632 <listitem>
633 <para>DHCP client identifier to use. Either <literal>mac</literal>
634 to use the MAC address of the link or <literal>duid</literal>
4a6970c5 635 (the default) to use a RFC4361-compliant Client ID.</para>
3e43b2cd
JJ
636 </listitem>
637 </varlistentry>
798d3a52
ZJS
638 <varlistentry>
639 <term><varname>VendorClassIdentifier=</varname></term>
640 <listitem>
641 <para>The vendor class identifier used to identify vendor
642 type and configuration.</para>
643 </listitem>
644 </varlistentry>
645 <varlistentry>
646 <term><varname>RequestBroadcast=</varname></term>
647 <listitem>
648 <para>Request the server to use broadcast messages before
649 the IP address has been configured. This is necessary for
650 devices that cannot receive RAW packets, or that cannot
651 receive packets at all before an IP address has been
652 configured. On the other hand, this must not be enabled on
653 networks where broadcasts are filtered out.</para>
654 </listitem>
655 </varlistentry>
656 <varlistentry>
657 <term><varname>RouteMetric=</varname></term>
658 <listitem>
659 <para>Set the routing metric for routes specified by the
660 DHCP server.</para>
661 </listitem>
662 </varlistentry>
663 </variablelist>
664
665 </refsect1>
666
667 <refsect1>
668 <title>[Bridge] Section Options</title>
669 <para>The <literal>[Bridge]</literal> section accepts the
670 following keys.</para>
671 <variablelist class='network-directives'>
165c41a9
SS
672 <varlistentry>
673 <term><varname>UnicastFlood=</varname></term>
674 <listitem>
072f9e4a
ZJS
675 <para>A boolean. Controls whether the bridge should flood
676 traffic for which an FDB entry is missing and the destination
677 is unknown through this port. Defaults to on.
47c7dfe2 678 </para>
165c41a9
SS
679 </listitem>
680 </varlistentry>
681 <varlistentry>
682 <term><varname>HairPin=</varname></term>
683 <listitem>
47c7dfe2
ZJS
684 <para>A boolean. Configures whether traffic may be sent back
685 out of the port on which it was received. By default, this
686 flag is false, and the bridge will not forward traffic back
687 out of the receiving port.</para>
165c41a9
SS
688 </listitem>
689 </varlistentry>
690 <varlistentry>
84c34096 691 <term><varname>UseBPDU=</varname></term>
165c41a9 692 <listitem>
47c7dfe2 693 <para>A boolean. Configures whether STP Bridge Protocol Data Units will be
84c34096 694 processed by the bridge port. Defaults to yes.</para>
165c41a9
SS
695 </listitem>
696 </varlistentry>
697 <varlistentry>
698 <term><varname>FastLeave=</varname></term>
699 <listitem>
47c7dfe2 700 <para>A boolean. This flag allows the bridge to immediately stop multicast
165c41a9 701 traffic on a port that receives IGMP Leave message. It is only used with
47c7dfe2 702 IGMP snooping if enabled on the bridge. Defaults to off.</para>
165c41a9
SS
703 </listitem>
704 </varlistentry>
705 <varlistentry>
706 <term><varname>RootBlock=</varname></term>
707 <listitem>
47c7dfe2
ZJS
708 <para>A boolean. Configures whether a given port is allowed to
709 become a root port. Only used when STP is enabled on the bridge.
710 Defaults to off.</para>
165c41a9
SS
711 </listitem>
712 </varlistentry>
798d3a52
ZJS
713 <varlistentry>
714 <term><varname>Cost=</varname></term>
715 <listitem>
47c7dfe2
ZJS
716 <para>Sets the "cost" of sending packets of this interface.
717 Each port in a bridge may have different speed and the cost
798d3a52 718 is used to decide which link to use. Faster interfaces
47c7dfe2 719 should have lower costs.</para>
798d3a52
ZJS
720 </listitem>
721 </varlistentry>
722 </variablelist>
723 </refsect1>
798d3a52
ZJS
724 <refsect1>
725 <title>[BridgeFDB] Section Options</title>
726 <para>The <literal>[BridgeFDB]</literal> section manages the
727 forwarding database table of a port and accepts the following
728 keys. Specify several <literal>[BridgeFDB]</literal> sections to
729 configure several static MAC table entries.</para>
730
731 <variablelist class='network-directives'>
732 <varlistentry>
733 <term><varname>MACAddress=</varname></term>
734 <listitem>
735 <para>As in the <literal>[Network]</literal> section. This
736 key is mandatory.</para>
737 </listitem>
738 </varlistentry>
739 <varlistentry>
740 <term><varname>VLANId=</varname></term>
741 <listitem>
742 <para>The VLAN Id for the new static MAC table entry. If
743 omitted, no VLAN Id info is appended to the new static MAC
744 table entry.</para>
745 </listitem>
746 </varlistentry>
747 </variablelist>
748 </refsect1>
749
750 <refsect1>
751 <title>Example</title>
752 <example>
12b42c76 753 <title>/etc/systemd/network/50-static.network</title>
798d3a52
ZJS
754
755 <programlisting>[Match]
eac684ef
TG
756Name=enp2s0
757
758[Network]
759Address=192.168.0.15/24
760Gateway=192.168.0.1</programlisting>
798d3a52 761 </example>
eac684ef 762
798d3a52 763 <example>
12b42c76 764 <title>/etc/systemd/network/80-dhcp.network</title>
eac684ef 765
798d3a52 766 <programlisting>[Match]
eac684ef
TG
767Name=en*
768
769[Network]
9c8ca3f7 770DHCP=yes</programlisting>
798d3a52 771 </example>
eac684ef 772
798d3a52 773 <example>
12b42c76 774 <title>/etc/systemd/network/bridge-static.network</title>
f47c5c47 775
798d3a52 776 <programlisting>[Match]
f47c5c47 777Name=bridge0
778
779[Network]
780Address=192.168.0.15/24
781Gateway=192.168.0.1
782DNS=192.168.0.1</programlisting>
798d3a52 783 </example>
f47c5c47 784
798d3a52 785 <example>
12b42c76 786 <title>/etc/systemd/network/bridge-slave-interface.network</title>
f47c5c47 787
798d3a52 788 <programlisting>[Match]
f47c5c47 789Name=enp2s0
790
791[Network]
792Bridge=bridge0</programlisting>
798d3a52
ZJS
793 </example>
794 <example>
12b42c76 795 <title>/etc/systemd/network/ipip.network</title>
0a8a0fad 796
798d3a52 797 <programlisting>[Match]
0a8a0fad
TG
798Name=em1
799
800[Network]
801Tunnel=ipip-tun</programlisting>
798d3a52 802 </example>
0a8a0fad 803
798d3a52 804 <example>
12b42c76 805 <title>/etc/systemd/network/sit.network</title>
0a8a0fad 806
798d3a52 807 <programlisting>[Match]
0a8a0fad
TG
808Name=em1
809
810[Network]
811Tunnel=sit-tun</programlisting>
798d3a52 812 </example>
0a8a0fad 813
798d3a52 814 <example>
12b42c76 815 <title>/etc/systemd/network/gre.network</title>
0a8a0fad 816
798d3a52 817 <programlisting>[Match]
0a8a0fad
TG
818Name=em1
819
820[Network]
821Tunnel=gre-tun</programlisting>
798d3a52 822 </example>
0a8a0fad 823
798d3a52 824 <example>
12b42c76 825 <title>/etc/systemd/network/vti.network</title>
0a8a0fad 826
798d3a52 827 <programlisting>[Match]
0a8a0fad
TG
828Name=em1
829
830[Network]
831Tunnel=vti-tun</programlisting>
798d3a52
ZJS
832 </example>
833 </refsect1>
834
835 <refsect1>
836 <title>See Also</title>
837 <para>
838 <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
839 <citerefentry><refentrytitle>systemd-networkd</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
840 <citerefentry><refentrytitle>systemd.link</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
841 <citerefentry><refentrytitle>systemd.netdev</refentrytitle><manvolnum>5</manvolnum></citerefentry>
842 </para>
843 </refsect1>
eac684ef
TG
844
845</refentry>