]> git.ipfire.org Git - thirdparty/systemd.git/blob - man/systemd.netdev.xml
man: revert dynamic paths for split-usr setups
[thirdparty/systemd.git] / man / systemd.netdev.xml
1 <?xml version='1.0'?> <!--*-nxml-*-->
2 <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
3 "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
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.netdev" conditional='ENABLE_NETWORKD'>
25
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.netdev</refentrytitle>
42 <manvolnum>5</manvolnum>
43 </refmeta>
44
45 <refnamediv>
46 <refname>systemd.netdev</refname>
47 <refpurpose>Virtual Network Device configuration</refpurpose>
48 </refnamediv>
49
50 <refsynopsisdiv>
51 <para><filename><replaceable>netdev</replaceable>.netdev</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>Virtual Network Device files must have the extension
62 <filename>.netdev</filename>; other extensions are ignored.
63 Virtual network devices are created as soon as networkd is
64 started. If a netdev with the specified name already exists,
65 networkd will use that as-is rather than create its own. Note that
66 the settings of the pre-existing netdev will not be changed by
67 networkd.</para>
68
69 <para>The <filename>.netdev</filename> files are read from the
70 files located in the system network directory
71 <filename>/usr/lib/systemd/network</filename>, the volatile
72 runtime network directory
73 <filename>/run/systemd/network</filename> and the local
74 administration network directory
75 <filename>/etc/systemd/network</filename>. All configuration files
76 are collectively sorted and processed in lexical order, regardless
77 of the directories in which they live. However, files with
78 identical filenames replace each other. Files in
79 <filename>/etc</filename> have the highest priority, files in
80 <filename>/run</filename> take precedence over files with the same
81 name in <filename>/usr/lib</filename>. This can be used to
82 override a system-supplied configuration file with a local file if
83 needed; a symlink in <filename>/etc</filename> with the same name
84 as a configuration file in <filename>/usr/lib</filename>, pointing
85 to <filename>/dev/null</filename>, disables the configuration file
86 entirely.</para>
87
88 </refsect1>
89
90 <refsect1>
91 <title>Supported netdev kinds</title>
92
93 <para>The following kinds of virtual network devices may be
94 configured in <filename>.netdev</filename> files:</para>
95
96 <table>
97 <title>Supported kinds of virtual network devices</title>
98
99 <tgroup cols='2'>
100 <colspec colname='kind' />
101 <colspec colname='explanation' />
102 <thead><row>
103 <entry>Kind</entry>
104 <entry>Description</entry>
105 </row></thead>
106 <tbody>
107 <row><entry><varname>bond</varname></entry>
108 <entry>A bond device is an aggregation of all its slave devices. See <ulink url="https://www.kernel.org/doc/Documentation/networking/bonding.txt">Linux Ethernet Bonding Driver HOWTO</ulink> for details.Local configuration</entry></row>
109
110 <row><entry><varname>bridge</varname></entry>
111 <entry>A bridge device is a software switch, each of its slave devices and the bridge itself are ports of the switch.</entry></row>
112
113 <row><entry><varname>dummy</varname></entry>
114 <entry>A dummy device drops all packets sent to it.</entry></row>
115
116 <row><entry><varname>gre</varname></entry>
117 <entry>A Level 3 GRE tunnel over IPv4. See <ulink url="https://tools.ietf.org/html/rfc2784">RFC 2784</ulink> for details.</entry></row>
118
119 <row><entry><varname>gretap</varname></entry>
120 <entry>A Level 2 GRE tunnel over IPv4.</entry></row>
121
122 <row><entry><varname>ip6gre</varname></entry>
123 <entry>A Level 3 GRE tunnel over IPv6.</entry></row>
124
125 <row><entry><varname>ip6tnl</varname></entry>
126 <entry>An IPv4 or IPv6 tunnel over IPv6</entry></row>
127
128 <row><entry><varname>ip6gretap</varname></entry>
129 <entry>An Level 2 GRE tunnel over IPv6.</entry></row>
130
131 <row><entry><varname>ipip</varname></entry>
132 <entry>An IPv4 over IPv4 tunnel.</entry></row>
133
134 <row><entry><varname>ipvlan</varname></entry>
135 <entry>An ipvlan device is a stacked device which receives packets from its underlying device based on IP address filtering.</entry></row>
136
137 <row><entry><varname>macvlan</varname></entry>
138 <entry>A macvlan device is a stacked device which receives packets from its underlying device based on MAC address filtering.</entry></row>
139
140 <row><entry><varname>sit</varname></entry>
141 <entry>An IPv6 over IPv4 tunnel.</entry></row>
142
143 <row><entry><varname>tap</varname></entry>
144 <entry>A persistent Level 2 tunnel between a network device and a device node.</entry></row>
145
146 <row><entry><varname>tun</varname></entry>
147 <entry>A persistent Level 3 tunnel between a network device and a device node.</entry></row>
148
149 <row><entry><varname>veth</varname></entry>
150 <entry>An ethernet tunnel between a pair of network devices.</entry></row>
151
152 <row><entry><varname>vlan</varname></entry>
153 <entry>A VLAN is a stacked device which receives packets from its underlying device based on VLAN tagging. See <ulink url="http://www.ieee802.org/1/pages/802.1Q.html">IEEE 802.1Q</ulink> for details.</entry></row>
154
155 <row><entry><varname>vti</varname></entry>
156 <entry>An IPv4 over IPSec tunnel.</entry></row>
157
158 <row><entry><varname>vti6</varname></entry>
159 <entry>An IPv6 over IPSec tunnel.</entry></row>
160
161 <row><entry><varname>vxlan</varname></entry>
162 <entry>A virtual extensible LAN (vxlan), for connecting Cloud computing deployments.</entry></row>
163 </tbody>
164 </tgroup>
165 </table>
166
167 </refsect1>
168
169 <refsect1>
170 <title>[Match] Section Options</title>
171
172 <para>A virtual network device is only created if the
173 <literal>[Match]</literal> section matches the current
174 environment, or if the section is empty. The following keys are
175 accepted:</para>
176
177 <variablelist class='network-directives'>
178 <varlistentry>
179 <term><varname>Host=</varname></term>
180 <listitem>
181 <para>Matches against the hostname or machine ID of the
182 host. See <literal>ConditionHost=</literal> in
183 <citerefentry><refentrytitle>systemd.unit</refentrytitle><manvolnum>5</manvolnum></citerefentry>
184 for details.
185 </para>
186 </listitem>
187 </varlistentry>
188 <varlistentry>
189 <term><varname>Virtualization=</varname></term>
190 <listitem>
191 <para>Checks whether the system is executed in a virtualized
192 environment and optionally test whether it is a specific
193 implementation. See
194 <literal>ConditionVirtualization=</literal> in
195 <citerefentry><refentrytitle>systemd.unit</refentrytitle><manvolnum>5</manvolnum></citerefentry>
196 for details.
197 </para>
198 </listitem>
199 </varlistentry>
200 <varlistentry>
201 <term><varname>KernelCommandLine=</varname></term>
202 <listitem>
203 <para>Checks whether a specific kernel command line option
204 is set (or if prefixed with the exclamation mark unset). See
205 <literal>ConditionKernelCommandLine=</literal> in
206 <citerefentry><refentrytitle>systemd.unit</refentrytitle><manvolnum>5</manvolnum></citerefentry>
207 for details.
208 </para>
209 </listitem>
210 </varlistentry>
211 <varlistentry>
212 <term><varname>Architecture=</varname></term>
213 <listitem>
214 <para>Checks whether the system is running on a specific
215 architecture. See <literal>ConditionArchitecture=</literal> in
216 <citerefentry><refentrytitle>systemd.unit</refentrytitle><manvolnum>5</manvolnum></citerefentry>
217 for details.
218 </para>
219 </listitem>
220 </varlistentry>
221 </variablelist>
222
223 </refsect1>
224
225 <refsect1>
226 <title>[NetDev] Section Options</title>
227
228 <para>The <literal>[NetDev]</literal> section accepts the
229 following keys:</para>
230
231 <variablelist class='network-directives'>
232 <varlistentry>
233 <term><varname>Description=</varname></term>
234 <listitem>
235 <para>A free-form description of the netdev.</para>
236 </listitem>
237 </varlistentry>
238 <varlistentry>
239 <term><varname>Name=</varname></term>
240 <listitem>
241 <para>The interface name used when creating the netdev.
242 This option is compulsory.</para>
243 </listitem>
244 </varlistentry>
245 <varlistentry>
246 <term><varname>Kind=</varname></term>
247 <listitem>
248 <para>The netdev kind. This option is compulsory. See the
249 <literal>Supported netdev kinds</literal> section for the
250 valid keys.</para>
251 </listitem>
252 </varlistentry>
253 <varlistentry>
254 <term><varname>MTUBytes=</varname></term>
255 <listitem>
256 <para>The maximum transmission unit in bytes to set for
257 the device. The usual suffixes K, M, G, are supported and
258 are understood to the base of 1024. This key is not
259 currently supported for <literal>tun</literal> or
260 <literal>tap</literal> devices.
261 </para>
262 </listitem>
263 </varlistentry>
264 <varlistentry>
265 <term><varname>MACAddress=</varname></term>
266 <listitem>
267 <para>The MAC address to use for the device. If none is
268 given, one is generated based on the interface name and
269 the
270 <citerefentry><refentrytitle>machine-id</refentrytitle><manvolnum>5</manvolnum></citerefentry>.
271 This key is not currently supported for
272 <literal>tun</literal> or <literal>tap</literal> devices.
273 </para>
274 </listitem>
275 </varlistentry>
276 </variablelist>
277 </refsect1>
278
279 <refsect1>
280 <title>[VLAN] Section Options</title>
281
282 <para>The <literal>[VLAN]</literal> section only applies for
283 netdevs of kind <literal>vlan</literal>, and accepts the
284 following key:</para>
285
286 <variablelist class='network-directives'>
287 <varlistentry>
288 <term><varname>Id=</varname></term>
289 <listitem>
290 <para>The VLAN ID to use. An integer in the range 0–4094.
291 This option is compulsory.</para>
292 </listitem>
293 </varlistentry>
294 </variablelist>
295
296 </refsect1>
297
298 <refsect1>
299 <title>[MACVLAN] Section Options</title>
300
301 <para>The <literal>[MACVLAN]</literal> section only applies for
302 netdevs of kind <literal>macvlan</literal>, and accepts the
303 following key:</para>
304
305 <variablelist class='network-directives'>
306 <varlistentry>
307 <term><varname>Mode=</varname></term>
308 <listitem>
309 <para>The MACVLAN mode to use. The supported options are
310 <literal>private</literal>,
311 <literal>vepa</literal>,
312 <literal>bridge</literal>, and
313 <literal>passthru</literal>.
314 </para>
315 </listitem>
316 </varlistentry>
317 </variablelist>
318
319 </refsect1>
320
321 <refsect1>
322 <title>[IPVLAN] Section Options</title>
323
324 <para>The <literal>[IPVLAN]</literal> section only applies for
325 netdevs of kind <literal>ipvlan</literal>, and accepts the
326 following key:</para>
327
328 <variablelist class='network-directives'>
329 <varlistentry>
330 <term><varname>Mode=</varname></term>
331 <listitem>
332 <para>The IPVLAN mode to use. The supported options are
333 <literal>L2</literal> and <literal>L3</literal>.
334 </para>
335 </listitem>
336 </varlistentry>
337 </variablelist>
338
339 </refsect1>
340
341 <refsect1>
342 <title>[VXLAN] Section Options</title>
343 <para>The <literal>[VXLAN]</literal> section only applies for
344 netdevs of kind <literal>vxlan</literal>, and accepts the
345 following keys:</para>
346
347 <variablelist class='network-directives'>
348 <varlistentry>
349 <term><varname>Id=</varname></term>
350 <listitem>
351 <para>The VXLAN ID to use.</para>
352 </listitem>
353 </varlistentry>
354 <varlistentry>
355 <term><varname>Group=</varname></term>
356 <listitem>
357 <para>An assigned multicast group IP address.</para>
358 </listitem>
359 </varlistentry>
360 <varlistentry>
361 <term><varname>TOS=</varname></term>
362 <listitem>
363 <para>The Type Of Service byte value for a vxlan interface.</para>
364 </listitem>
365 </varlistentry>
366 <varlistentry>
367 <term><varname>TTL=</varname></term>
368 <listitem>
369 <para>A fixed Time To Live N on Virtual eXtensible Local
370 Area Network packets. N is a number in the range 1-255. 0
371 is a special value meaning that packets inherit the TTL
372 value.</para>
373 </listitem>
374 </varlistentry>
375 <varlistentry>
376 <term><varname>MacLearning=</varname></term>
377 <listitem>
378 <para>A boolean. When true, enables dynamic MAC learning
379 to discover remote MAC addresses.</para>
380 </listitem>
381 </varlistentry>
382 <varlistentry>
383 <term><varname>FDBAgeingSec=</varname></term>
384 <listitem>
385 <para>The lifetime of Forwarding Database entry learnt by
386 the kernel in seconds.</para>
387 </listitem>
388 </varlistentry>
389 <varlistentry>
390 <term><varname>ARPProxy=</varname></term>
391 <listitem>
392 <para>A boolean. When true, enables ARP proxy.</para>
393 </listitem>
394 </varlistentry>
395 <varlistentry>
396 <term><varname>L2MissNotification=</varname></term>
397 <listitem>
398 <para>A boolean. When true, enables netlink LLADDR miss
399 notifications.</para>
400 </listitem>
401 </varlistentry>
402 <varlistentry>
403 <term><varname>L3MissNotification=</varname></term>
404 <listitem>
405 <para>A boolean. When true, enables netlink IP ADDR miss
406 notifications.</para>
407 </listitem>
408 </varlistentry>
409 <varlistentry>
410 <term><varname>RouteShortCircuit=</varname></term>
411 <listitem>
412 <para>A boolean. When true route short circuit is turned
413 on.</para>
414 </listitem>
415 </varlistentry>
416 <varlistentry>
417 <term><varname>UDPCheckSum=</varname></term>
418 <listitem>
419 <para>A boolean. When true transmitting UDP checksums when doing VXLAN/IPv4 is turned on.</para>
420 </listitem>
421 </varlistentry>
422 <varlistentry>
423 <term><varname>UDP6ZeroChecksumTx=</varname></term>
424 <listitem>
425 <para>A boolean. When true sending zero checksums in VXLAN/IPv6 is turned on.</para>
426 </listitem>
427 </varlistentry>
428 <varlistentry>
429 <term><varname>UDP6ZeroCheckSumRx=</varname></term>
430 <listitem>
431 <para>A boolean. When true receiving zero checksums in VXLAN/IPv6 is turned on.</para>
432 </listitem>
433 </varlistentry>
434 </variablelist>
435 </refsect1>
436 <refsect1>
437 <title>[Tunnel] Section Options</title>
438
439 <para>The <literal>[Tunnel]</literal> section only applies for
440 netdevs of kind
441 <literal>ipip</literal>,
442 <literal>sit</literal>,
443 <literal>gre</literal>,
444 <literal>gretap</literal>,
445 <literal>ip6gre</literal>,
446 <literal>ip6gretap</literal>,
447 <literal>vti</literal>,
448 <literal>vti6</literal>, and
449 <literal>ip6tnl</literal> and accepts
450 the following keys:</para>
451
452 <variablelist class='network-directives'>
453 <varlistentry>
454 <term><varname>Local=</varname></term>
455 <listitem>
456 <para>A static local address for tunneled packets. It must
457 be an address on another interface of this host.</para>
458 </listitem>
459 </varlistentry>
460 <varlistentry>
461 <term><varname>Remote=</varname></term>
462 <listitem>
463 <para>The remote endpoint of the tunnel.</para>
464 </listitem>
465 </varlistentry>
466 <varlistentry>
467 <term><varname>TOS=</varname></term>
468 <listitem>
469 <para>The Type Of Service byte value for a tunnel interface.
470 For details about the TOS see the
471 <ulink url="http://tools.ietf.org/html/rfc1349"> Type of
472 Service in the Internet Protocol Suite </ulink> document.
473 </para>
474 </listitem>
475 </varlistentry>
476 <varlistentry>
477 <term><varname>TTL=</varname></term>
478 <listitem>
479 <para>A fixed Time To Live N on tunneled packets. N is a
480 number in the range 1-255. 0 is a special value meaning that
481 packets inherit the TTL value. The default value for IPv4
482 tunnels is: inherit. The default value for IPv6 tunnels is:
483 64.</para>
484 </listitem>
485 </varlistentry>
486 <varlistentry>
487 <term><varname>DiscoverPathMTU=</varname></term>
488 <listitem>
489 <para>A boolean. When true, enables Path MTU Discovery on
490 the tunnel.</para>
491 </listitem>
492 </varlistentry>
493 <varlistentry>
494 <term><varname>Mode=</varname></term>
495 <listitem>
496 <para>An <literal>ip6tnl</literal> tunnels can have three
497 modes
498 <literal>ip6ip6</literal> for IPv6 over IPv6,
499 <literal>ipip6</literal> for IPv4 over IPv6 or
500 <literal>any</literal> for either.
501 </para>
502 </listitem>
503 </varlistentry>
504 </variablelist>
505 </refsect1>
506 <refsect1>
507 <title>[Peer] Section Options</title>
508
509 <para>The <literal>[Peer]</literal> section only applies for
510 netdevs of kind <literal>veth</literal> and accepts the
511 following key:</para>
512
513 <variablelist class='network-directives'>
514 <varlistentry>
515 <term><varname>Name=</varname></term>
516 <listitem>
517 <para>The interface name used when creating the netdev.
518 This option is compulsory.</para>
519 </listitem>
520 </varlistentry>
521 <varlistentry>
522 <term><varname>MACAddress=</varname></term>
523 <listitem>
524 <para>The peer MACAddress, if not set it is generated in
525 the same way as the MAC address of the main
526 interface.</para>
527 </listitem>
528 </varlistentry>
529 </variablelist>
530 </refsect1>
531 <refsect1>
532 <title>[Tun] Section Options</title>
533
534 <para>The <literal>[Tun]</literal> section only applies for
535 netdevs of kind <literal>tun</literal>, and accepts the following
536 keys:</para>
537
538 <variablelist class='network-directives'>
539 <varlistentry>
540 <term><varname>OneQueue=</varname></term>
541 <listitem><para>Takes a boolean argument. Configures whether
542 all packets are queued at the device (enabled), or a fixed
543 number of packets are queued at the device and the rest at the
544 <literal>qdisc</literal>. Defaults to
545 <literal>no</literal>.</para>
546 </listitem>
547 </varlistentry>
548 <varlistentry>
549 <term><varname>MultiQueue=</varname></term>
550 <listitem><para>Takes a boolean argument. Configures whether
551 to use multiple file descriptors (queues) to parallelize
552 packets sending and receiving. Defaults to
553 <literal>no</literal>.</para>
554 </listitem>
555 </varlistentry>
556 <varlistentry>
557 <term><varname>PacketInfo=</varname></term>
558 <listitem><para>Takes a boolean argument. Configures whether
559 packets should be prepended with four extra bytes (two flag
560 bytes and two protocol bytes). If disabled it indicates that
561 the packets will be pure IP packets. Defaults to
562 <literal>no</literal>.</para>
563 </listitem>
564 </varlistentry>
565 <varlistentry>
566 <term><varname>User=</varname></term>
567 <listitem><para>User to grant access to the
568 <filename>/dev/net/tun</filename> device.</para>
569 </listitem>
570 </varlistentry>
571 <varlistentry>
572 <term><varname>Group=</varname></term>
573 <listitem><para>Group to grant access to the
574 <filename>/dev/net/tun</filename> device.</para>
575 </listitem>
576 </varlistentry>
577
578 </variablelist>
579
580 </refsect1>
581
582 <refsect1>
583 <title>[Tap] Section Options</title>
584
585 <para>The <literal>[Tap]</literal> section only applies for
586 netdevs of kind <literal>tap</literal>, and accepts the same keys
587 as the <literal>[Tun]</literal> section.</para>
588 </refsect1>
589
590 <refsect1>
591 <title>[Bond] Section Options</title>
592
593 <para>The <literal>[Bond]</literal> section accepts the following
594 key:</para>
595
596 <variablelist class='network-directives'>
597 <varlistentry>
598 <term><varname>Mode=</varname></term>
599 <listitem>
600 <para>Specifies one of the bonding policies. The default is
601 <literal>balance-rr</literal> (round robin). Possible values are
602 <literal>balance-rr</literal>,
603 <literal>active-backup</literal>,
604 <literal>balance-xor</literal>,
605 <literal>broadcast</literal>,
606 <literal>802.3ad</literal>,
607 <literal>balance-tlb</literal>, and
608 <literal>balance-alb</literal>.
609 </para>
610 </listitem>
611 </varlistentry>
612
613 <varlistentry>
614 <term><varname>TransmitHashPolicy=</varname></term>
615 <listitem>
616 <para>Selects the transmit hash policy to use for slave
617 selection in balance-xor, 802.3ad, and tlb modes. Possible
618 values are
619 <literal>layer2</literal>,
620 <literal>layer3+4</literal>,
621 <literal>layer2+3</literal>,
622 <literal>encap2+3</literal>,
623 <literal>802.3ad</literal>, and
624 <literal>encap3+4</literal>.
625 </para>
626 </listitem>
627 </varlistentry>
628
629 <varlistentry>
630 <term><varname>LACPTransmitRate=</varname></term>
631 <listitem>
632 <para>Specifies the rate with which link partner transmits
633 Link Aggregation Control Protocol Data Unit packets in
634 802.3ad mode. Possible values are <literal>slow</literal>,
635 which requests partner to transmit LACPDUs every 30 seconds,
636 and <literal>fast</literal>, which requests partner to
637 transmit LACPDUs every second. The default value is
638 <literal>slow</literal>.</para>
639 </listitem>
640 </varlistentry>
641
642 <varlistentry>
643 <term><varname>MIIMonitorSec=</varname></term>
644 <listitem>
645 <para>Specifies the frequency that Media Independent
646 Interface link monitoring will occur. A value of zero
647 disables MII link monitoring. This values is rounded down to
648 the nearest millisecond. The default value is 0.</para>
649 </listitem>
650 </varlistentry>
651
652 <varlistentry>
653 <term><varname>UpDelaySec=</varname></term>
654 <listitem>
655 <para>Specifies the delay before a link is enabled after a
656 link up status has been detected. This value is rounded down
657 to a multiple of MIIMonitorSec. The default value is
658 0.</para>
659 </listitem>
660 </varlistentry>
661
662 <varlistentry>
663 <term><varname>DownDelaySec=</varname></term>
664 <listitem>
665 <para>Specifies the delay before a link is disabled after a
666 link down status has been detected. This value is rounded
667 down to a multiple of MIIMonitorSec. The default value is
668 0.</para>
669 </listitem>
670 </varlistentry>
671
672 <varlistentry>
673 <term><varname>LearnPacketIntervalSec=</varname></term>
674 <listitem>
675 <para>Specifies the number of seconds between instances where the bonding
676 driver sends learning packets to each slaves peer switch.
677 The valid range is 1 - 0x7fffffff; the default value is 1. This Option
678 has effect only in balance-tlb and balance-alb modes.</para>
679 </listitem>
680 </varlistentry>
681
682 <varlistentry>
683 <term><varname>AdSelect=</varname></term>
684 <listitem>
685 <para>Specifies the 802.3ad aggregation selection logic to use. Possible values are
686 <literal>stable</literal>,
687 <literal>bandwidth</literal>,
688 <literal>count</literal>
689 </para>
690 </listitem>
691 </varlistentry>
692
693 <varlistentry>
694 <term><varname>FailOverMACPolicy=</varname></term>
695 <listitem>
696 <para>Specifies whether active-backup mode should set all slaves to
697 the same MAC address at enslavement or, when enabled, perform special handling of the
698 bond's MAC address in accordance with the selected policy. The default policy is none.
699 Possible values are
700 <literal>none</literal>,
701 <literal>active</literal>,
702 <literal>follow</literal>
703 </para>
704 </listitem>
705 </varlistentry>
706
707 <varlistentry>
708 <term><varname>ARPValidate=</varname></term>
709 <listitem>
710 <para>Specifies whether or not ARP probes and replies should be
711 validated in any mode that supports ARP monitoring, or whether
712 non-ARP traffic should be filtered (disregarded) for link
713 monitoring purposes. Possible values are
714 <literal>none</literal>,
715 <literal>active</literal>,
716 <literal>backup</literal>,
717 <literal>all</literal>
718 </para>
719 </listitem>
720 </varlistentry>
721
722 <varlistentry>
723 <term><varname>ARPIntervalSec=</varname></term>
724 <listitem>
725 <para>Specifies the ARP link monitoring frequency in milliseconds.
726 A value of 0 disables ARP monitoring. The default value is 0.
727 </para>
728 </listitem>
729 </varlistentry>
730
731 <varlistentry>
732 <term><varname>ARPIPTargets=</varname></term>
733 <listitem>
734 <para>Specifies the IP addresses to use as ARP monitoring peers when
735 ARPIntervalSec is greater than 0. These are the targets of the ARP request
736 sent to determine the health of the link to the targets.
737 Specify these values in ipv4 dotted decimal format. At least one IP
738 address must be given for ARP monitoring to function. The
739 maximum number of targets that can be specified is 16. The
740 default value is no IP addresses.
741 </para>
742 </listitem>
743 </varlistentry>
744
745 <varlistentry>
746 <term><varname>ARPAllTargets=</varname></term>
747 <listitem>
748 <para>Specifies the quantity of ARPIPTargets that must be reachable
749 in order for the ARP monitor to consider a slave as being up.
750 This option affects only active-backup mode for slaves with
751 ARPValidate enabled. Possible values are
752 <literal>any</literal>,
753 <literal>all</literal>
754 </para>
755 </listitem>
756 </varlistentry>
757
758 <varlistentry>
759 <term><varname>PrimaryReselectPolicy=</varname></term>
760 <listitem>
761 <para>Specifies the reselection policy for the primary slave. This
762 affects how the primary slave is chosen to become the active slave
763 when failure of the active slave or recovery of the primary slave
764 occurs. This option is designed to prevent flip-flopping between
765 the primary slave and other slaves. Possible values are
766 <literal>always</literal>,
767 <literal>better</literal>,
768 <literal>failure</literal>
769 </para>
770 </listitem>
771 </varlistentry>
772
773 <varlistentry>
774 <term><varname>ResendIGMP=</varname></term>
775 <listitem>
776 <para>Specifies the number of IGMP membership reports to be issued after
777 a failover event. One membership report is issued immediately after
778 the failover, subsequent packets are sent in each 200ms interval.
779 The valid range is (0 - 255). Defaults to 1. A value of 0
780 prevents the IGMP membership report from being issued in response
781 to the failover event.
782 </para>
783 </listitem>
784 </varlistentry>
785
786 <varlistentry>
787 <term><varname>PacketsPerSlave=</varname></term>
788 <listitem>
789 <para> Specify the number of packets to transmit through a slave before
790 moving to the next one. When set to 0 then a slave is chosen at
791 random.The valid range is (0 - 65535). Defaults to 1. This option
792 has effect only in balance-rr mode.
793 </para>
794 </listitem>
795 </varlistentry>
796
797 <varlistentry>
798 <term><varname>GratuitousARP=</varname></term>
799 <listitem>
800 <para>Specify the number of peer notifications (gratuitous ARPs and
801 unsolicited IPv6 Neighbor Advertisements) to be issued after a
802 failover event. As soon as the link is up on the new slave
803 a peer notification is sent on the bonding device and each
804 VLAN sub-device. This is repeated at each link monitor interval
805 (ARPIntervalSec or MIIMonitorSec, whichever is active) if the number is
806 greater than 1. The valid range is (0 - 255). Default value is 1.
807 These options affect only the active-backup mode.
808 </para>
809 </listitem>
810 </varlistentry>
811
812 <varlistentry>
813 <term><varname>AllSlavesActive=</varname></term>
814 <listitem>
815 <para> A boolean. Specifies that duplicate frames (received on inactive ports)
816 should be dropped false or delivered true. Normally, bonding will drop
817 duplicate frames (received on inactive ports), which is desirable for
818 most users. But there are some times it is nice to allow duplicate
819 frames to be delivered. The default value is false (drop duplicate frames
820 received on inactive ports).
821 </para>
822 </listitem>
823 </varlistentry>
824
825 <varlistentry>
826 <term><varname>MinLinks=</varname></term>
827 <listitem>
828 <para>Specifies the minimum number of links that must be active before
829 asserting carrier. The default value is 0.
830 </para>
831 </listitem>
832 </varlistentry>
833
834 </variablelist>
835
836 <para>For more detail information see
837 <ulink url="https://www.kernel.org/doc/Documentation/networking/bonding.txt">
838 Linux Ethernet Bonding Driver HOWTO</ulink></para>
839
840 </refsect1>
841
842 <refsect1>
843 <title>Example</title>
844 <example>
845 <title>/etc/systemd/network/bridge.netdev</title>
846
847 <programlisting>[NetDev]
848 Name=bridge0
849 Kind=bridge</programlisting>
850 </example>
851
852 <example>
853 <title>/etc/systemd/network/vlan1.netdev</title>
854
855 <programlisting>[Match]
856 Virtualization=no
857
858 [NetDev]
859 Name=vlan1
860 Kind=vlan
861
862 [VLAN]
863 Id=1</programlisting>
864 </example>
865 <example>
866 <title>/etc/systemd/network/ipip.netdev</title>
867 <programlisting>[NetDev]
868 Name=ipip-tun
869 Kind=ipip
870 MTUBytes=1480
871
872 [Tunnel]
873 Local=192.168.223.238
874 Remote=192.169.224.239
875 TTL=64</programlisting>
876 </example>
877 <example>
878 <title>/etc/systemd/network/tap.netdev</title>
879 <programlisting>[NetDev]
880 Name=tap-test
881 Kind=tap
882
883 [Tap]
884 MultiQueue=true
885 PacketInfo=true</programlisting> </example>
886
887 <example>
888 <title>/etc/systemd/network/sit.netdev</title>
889 <programlisting>[NetDev]
890 Name=sit-tun
891 Kind=sit
892 MTUBytes=1480
893
894 [Tunnel]
895 Local=10.65.223.238
896 Remote=10.65.223.239</programlisting>
897 </example>
898
899 <example>
900 <title>/etc/systemd/network/gre.netdev</title>
901 <programlisting>[NetDev]
902 Name=gre-tun
903 Kind=gre
904 MTUBytes=1480
905
906 [Tunnel]
907 Local=10.65.223.238
908 Remote=10.65.223.239</programlisting>
909 </example>
910
911 <example>
912 <title>/etc/systemd/network/vti.netdev</title>
913
914 <programlisting>[NetDev]
915 Name=vti-tun
916 Kind=vti
917 MTUBytes=1480
918
919 [Tunnel]
920 Local=10.65.223.238
921 Remote=10.65.223.239</programlisting>
922 </example>
923
924 <example>
925 <title>/etc/systemd/network/veth.netdev</title>
926 <programlisting>[NetDev]
927 Name=veth-test
928 Kind=veth
929
930 [Peer]
931 Name=veth-peer</programlisting>
932 </example>
933
934 <example>
935 <title>/etc/systemd/network/dummy.netdev</title>
936 <programlisting>[NetDev]
937 Name=dummy-test
938 Kind=dummy
939 MACAddress=12:34:56:78:9a:bc</programlisting>
940 </example>
941
942 </refsect1>
943 <refsect1>
944 <title>See Also</title>
945 <para>
946 <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
947 <citerefentry><refentrytitle>systemd-networkd</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
948 <citerefentry><refentrytitle>systemd.link</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
949 <citerefentry><refentrytitle>systemd.network</refentrytitle><manvolnum>5</manvolnum></citerefentry>
950 </para>
951 </refsect1>
952
953 </refentry>