1SYSTEMD.NETWORK(5)              systemd.network             SYSTEMD.NETWORK(5)
2
3
4

NAME

6       systemd.network - Network configuration
7

SYNOPSIS

9       network.network
10

DESCRIPTION

12       A plain ini-style text file that encodes network configuration for
13       matching network interfaces, used by systemd-networkd(8). See
14       systemd.syntax(7) for a general description of the syntax.
15
16       The main network file must have the extension .network; other
17       extensions are ignored. Networks are applied to links whenever the
18       links appear.
19
20       The .network files are read from the files located in the system
21       network directories /usr/lib/systemd/network and
22       /usr/local/lib/systemd/network, the volatile runtime network directory
23       /run/systemd/network and the local administration network directory
24       /etc/systemd/network. All configuration files are collectively sorted
25       and processed in lexical order, regardless of the directories in which
26       they live. However, files with identical filenames replace each other.
27       Files in /etc/ have the highest priority, files in /run/ take
28       precedence over files with the same name under /usr/. This can be used
29       to override a system-supplied configuration file with a local file if
30       needed. As a special case, an empty file (file size 0) or symlink with
31       the same name pointing to /dev/null disables the configuration file
32       entirely (it is "masked").
33
34       Along with the network file foo.network, a "drop-in" directory
35       foo.network.d/ may exist. All files with the suffix ".conf" from this
36       directory will be parsed after the file itself is parsed. This is
37       useful to alter or add configuration settings, without having to modify
38       the main configuration file. Each drop-in file must have appropriate
39       section headers.
40
41       In addition to /etc/systemd/network, drop-in ".d" directories can be
42       placed in /usr/lib/systemd/network or /run/systemd/network directories.
43       Drop-in files in /etc/ take precedence over those in /run/ which in
44       turn take precedence over those in /usr/lib/. Drop-in files under any
45       of these directories take precedence over the main network file
46       wherever located.
47

[MATCH] SECTION OPTIONS

49       The network file contains a [Match] section, which determines if a
50       given network file may be applied to a given device; and a [Network]
51       section specifying how the device should be configured. The first (in
52       lexical order) of the network files that matches a given device is
53       applied, all later files are ignored, even if they match as well.
54
55       A network file is said to match a network interface if all matches
56       specified by the [Match] section are satisfied. When a network file
57       does not contain valid settings in [Match] section, then the file will
58       match all interfaces and systemd-networkd warns about that. Hint: to
59       avoid the warning and to make it clear that all interfaces shall be
60       matched, add the following:
61
62           Name=*
63
64       The following keys are accepted:
65
66       MACAddress=
67           A whitespace-separated list of hardware addresses. Use full colon-,
68           hyphen- or dot-delimited hexadecimal. See the example below. This
69           option may appear more than once, in which case the lists are
70           merged. If the empty string is assigned to this option, the list of
71           hardware addresses defined prior to this is reset.
72
73           Example:
74
75               MACAddress=01:23:45:67:89:ab 00-11-22-33-44-55 AABB.CCDD.EEFF
76
77       PermanentMACAddress=
78           A whitespace-separated list of hardware's permanent addresses.
79           While MACAddress= matches the device's current MAC address, this
80           matches the device's permanent MAC address, which may be different
81           from the current one. Use full colon-, hyphen- or dot-delimited
82           hexadecimal. This option may appear more than once, in which case
83           the lists are merged. If the empty string is assigned to this
84           option, the list of hardware addresses defined prior to this is
85           reset.
86
87       Path=
88           A whitespace-separated list of shell-style globs matching the
89           persistent path, as exposed by the udev property ID_PATH.
90
91       Driver=
92           A whitespace-separated list of shell-style globs matching the
93           driver currently bound to the device, as exposed by the udev
94           property ID_NET_DRIVER of its parent device, or if that is not set,
95           the driver as exposed by ethtool -i of the device itself. If the
96           list is prefixed with a "!", the test is inverted.
97
98       Type=
99           A whitespace-separated list of shell-style globs matching the
100           device type, as exposed by networkctl list. If the list is prefixed
101           with a "!", the test is inverted. Some valid values are "ether",
102           "loopback", "wlan", "wwan". Valid types are named either from the
103           udev "DEVTYPE" attribute, or "ARPHRD_" macros in linux/if_arp.h, so
104           this is not comprehensive.
105
106       Property=
107           A whitespace-separated list of udev property name with its value
108           after a equal ("="). If multiple properties are specified, the test
109           results are ANDed. If the list is prefixed with a "!", the test is
110           inverted. If a value contains white spaces, then please quote whole
111           key and value pair. If a value contains quotation, then please
112           escape the quotation with "\".
113
114           Example: if a .link file has the following:
115
116               Property=ID_MODEL_ID=9999 "ID_VENDOR_FROM_DATABASE=vendor name" "KEY=with \"quotation\""
117
118           then, the .link file matches only when an interface has all the
119           above three properties.
120
121       Name=
122           A whitespace-separated list of shell-style globs matching the
123           device name, as exposed by the udev property "INTERFACE", or
124           device's alternative names. If the list is prefixed with a "!", the
125           test is inverted.
126
127       WLANInterfaceType=
128           A whitespace-separated list of wireless network type. Supported
129           values are "ad-hoc", "station", "ap", "ap-vlan", "wds", "monitor",
130           "mesh-point", "p2p-client", "p2p-go", "p2p-device", "ocb", and
131           "nan". If the list is prefixed with a "!", the test is inverted.
132
133       SSID=
134           A whitespace-separated list of shell-style globs matching the SSID
135           of the currently connected wireless LAN. If the list is prefixed
136           with a "!", the test is inverted.
137
138       BSSID=
139           A whitespace-separated list of hardware address of the currently
140           connected wireless LAN. Use full colon-, hyphen- or dot-delimited
141           hexadecimal. See the example in MACAddress=. This option may appear
142           more than once, in which case the lists are merged. If the empty
143           string is assigned to this option, the list is reset.
144
145       Host=
146           Matches against the hostname or machine ID of the host. See
147           ConditionHost= in systemd.unit(5) for details. When prefixed with
148           an exclamation mark ("!"), the result is negated. If an empty
149           string is assigned, then previously assigned value is cleared.
150
151       Virtualization=
152           Checks whether the system is executed in a virtualized environment
153           and optionally test whether it is a specific implementation. See
154           ConditionVirtualization= in systemd.unit(5) for details. When
155           prefixed with an exclamation mark ("!"), the result is negated. If
156           an empty string is assigned, then previously assigned value is
157           cleared.
158
159       KernelCommandLine=
160           Checks whether a specific kernel command line option is set. See
161           ConditionKernelCommandLine= in systemd.unit(5) for details. When
162           prefixed with an exclamation mark ("!"), the result is negated. If
163           an empty string is assigned, then previously assigned value is
164           cleared.
165
166       KernelVersion=
167           Checks whether the kernel version (as reported by uname -r) matches
168           a certain expression. See ConditionKernelVersion= in
169           systemd.unit(5) for details. When prefixed with an exclamation mark
170           ("!"), the result is negated. If an empty string is assigned, then
171           previously assigned value is cleared.
172
173       Architecture=
174           Checks whether the system is running on a specific architecture.
175           See ConditionArchitecture= in systemd.unit(5) for details. When
176           prefixed with an exclamation mark ("!"), the result is negated. If
177           an empty string is assigned, then previously assigned value is
178           cleared.
179

[LINK] SECTION OPTIONS

181       The [Link] section accepts the following keys:
182
183       MACAddress=
184           The hardware address to set for the device.
185
186       MTUBytes=
187           The maximum transmission unit in bytes to set for the device. The
188           usual suffixes K, M, G, are supported and are understood to the
189           base of 1024.
190
191           Note that if IPv6 is enabled on the interface, and the MTU is
192           chosen below 1280 (the minimum MTU for IPv6) it will automatically
193           be increased to this value.
194
195       ARP=
196           Takes a boolean. If set to true, the ARP (low-level Address
197           Resolution Protocol) for this interface is enabled. When unset, the
198           kernel's default will be used.
199
200           For example, disabling ARP is useful when creating multiple MACVLAN
201           or VLAN virtual interfaces atop a single lower-level physical
202           interface, which will then only serve as a link/"bridge" device
203           aggregating traffic to the same physical link and not participate
204           in the network otherwise. Defaults to unset.
205
206       Multicast=
207           Takes a boolean. If set to true, the multicast flag on the device
208           is enabled. Defaults to unset.
209
210       AllMulticast=
211           Takes a boolean. If set to true, the driver retrieves all multicast
212           packets from the network. This happens when multicast routing is
213           enabled. Defaults to unset.
214
215       Promiscuous=
216           Takes a boolean. If set to true, promiscuous mode of the interface
217           is enabled. Defaults to unset.
218
219       Unmanaged=
220           Takes a boolean. When "yes", no attempts are made to bring up or
221           configure matching links, equivalent to when there are no matching
222           network files. Defaults to "no".
223
224           This is useful for preventing later matching network files from
225           interfering with certain interfaces that are fully controlled by
226           other applications.
227
228       Group=
229           Link groups are similar to port ranges found in managed switches.
230           When network interfaces are added to a numbered group, operations
231           on all the interfaces from that group can be performed at once. An
232           unsigned integer in the range 0...4294967294. Defaults to unset.
233
234       RequiredForOnline=
235           Takes a boolean or a minimum operational state and an optional
236           maximum operational state. Please see networkctl(1) for possible
237           operational states. When "yes", the network is deemed required when
238           determining whether the system is online when running
239           systemd-networkd-wait-online. When "no", the network is ignored
240           when checking for online state. When a minimum operational state
241           and an optional maximum operational state are set, "yes" is
242           implied, and this controls the minimum and maximum operational
243           state required for the network interface to be considered online.
244           Defaults to "yes".
245
246           The network will be brought up normally in all cases, but in the
247           event that there is no address being assigned by DHCP or the cable
248           is not plugged in, the link will simply remain offline and be
249           skipped automatically by systemd-networkd-wait-online if
250           "RequiredForOnline=no".
251
252       ActivationPolicy=
253           Specifies the policy for systemd-networkd managing the link
254           administrative state. Specifically, this controls how
255           systemd-networkd changes the network device's "IFF_UP" flag, which
256           is sometimes controlled by system administrators by running e.g.,
257           ip set dev eth0 up or ip set dev eth0 down, and can also be changed
258           with networkctl up eth0 or networkctl down eth0.
259
260           Takes one of "up", "always-up", "manual", "always-down", "down", or
261           "bound". When "manual", systemd-networkd will not change the link's
262           admin state automatically; the system administrator must bring the
263           interface up or down manually, as desired. When "up" (the default)
264           or "always-up", or "down" or "always-down", systemd-networkd will
265           set the link up or down, respectively, when the interface is
266           (re)configured. When "always-up" or "always-down", systemd-networkd
267           will set the link up or down, respectively, any time
268           systemd-networkd detects a change in the administrative state. When
269           BindCarrier= is also set, this is automatically set to "bound" and
270           any other value is ignored.
271
272           The administrative state is not the same as the carrier state, so
273           using "always-up" does not mean the link will never lose carrier.
274           The link carrier depends on both the administrative state as well
275           as the network device's physical connection. However, to avoid
276           reconfiguration failures, when using "always-up",
277           IgnoreCarrierLoss= is forced to true.
278

[SR-IOV] SECTION OPTIONS

280       The [SR-IOV] section accepts the following keys. Specify several
281       [SR-IOV] sections to configure several SR-IOVs. SR-IOV provides the
282       ability to partition a single physical PCI resource into virtual PCI
283       functions which can then be injected into a VM. In the case of network
284       VFs, SR-IOV improves north-south network performance (that is, traffic
285       with endpoints outside the host machine) by allowing traffic to bypass
286       the host machine’s network stack.
287
288       VirtualFunction=
289           Specifies a Virtual Function (VF), lightweight PCIe function
290           designed solely to move data in and out. Takes an unsigned integer
291           in the range 0...2147483646. This option is compulsory.
292
293       VLANId=
294           Specifies VLAN ID of the virtual function. Takes an unsigned
295           integer in the range 1...4095.
296
297       QualityOfService=
298           Specifies quality of service of the virtual function. Takes an
299           unsigned integer in the range 1...4294967294.
300
301       VLANProtocol=
302           Specifies VLAN protocol of the virtual function. Takes "802.1Q" or
303           "802.1ad".
304
305       MACSpoofCheck=
306           Takes a boolean. Controls the MAC spoof checking. When unset, the
307           kernel's default will be used.
308
309       QueryReceiveSideScaling=
310           Takes a boolean. Toggle the ability of querying the receive side
311           scaling (RSS) configuration of the virtual function (VF). The VF
312           RSS information like RSS hash key may be considered sensitive on
313           some devices where this information is shared between VF and the
314           physical function (PF). When unset, the kernel's default will be
315           used.
316
317       Trust=
318           Takes a boolean. Allows to set trust mode of the virtual function
319           (VF). When set, VF users can set a specific feature which may
320           impact security and/or performance. When unset, the kernel's
321           default will be used.
322
323       LinkState=
324           Allows to set the link state of the virtual function (VF). Takes a
325           boolean or a special value "auto". Setting to "auto" means a
326           reflection of the physical function (PF) link state, "yes" lets the
327           VF to communicate with other VFs on this host even if the PF link
328           state is down, "no" causes the hardware to drop any packets sent by
329           the VF. When unset, the kernel's default will be used.
330
331       MACAddress=
332           Specifies the MAC address for the virtual function.
333

[NETWORK] SECTION OPTIONS

335       The [Network] section accepts the following keys:
336
337       Description=
338           A description of the device. This is only used for presentation
339           purposes.
340
341       DHCP=
342           Enables DHCPv4 and/or DHCPv6 client support. Accepts "yes", "no",
343           "ipv4", or "ipv6". Defaults to "no".
344
345           Note that DHCPv6 will by default be triggered by Router
346           Advertisement, if that is enabled, regardless of this parameter. By
347           enabling DHCPv6 support explicitly, the DHCPv6 client will be
348           started regardless of the presence of routers on the link, or what
349           flags the routers pass. See "IPv6AcceptRA=".
350
351           Furthermore, note that by default the domain name specified through
352           DHCP is not used for name resolution. See option UseDomains= below.
353
354           See the [DHCPv4] or [DHCPv6] sections below for further
355           configuration options for the DHCP client support.
356
357       DHCPServer=
358           Takes a boolean. If set to "yes", DHCPv4 server will be started.
359           Defaults to "no". Further settings for the DHCP server may be set
360           in the [DHCPServer] section described below.
361
362       LinkLocalAddressing=
363           Enables link-local address autoconfiguration. Accepts yes, no,
364           ipv4, and ipv6. An IPv6 link-local address is configured when yes
365           or ipv6. An IPv4 link-local address is configured when yes or ipv4
366           and when DHCPv4 autoconfiguration has been unsuccessful for some
367           time. (IPv4 link-local address autoconfiguration will usually
368           happen in parallel with repeated attempts to acquire a DHCPv4
369           lease).
370
371           Defaults to no when Bridge=yes is set, and ipv6 otherwise.
372
373       IPv6LinkLocalAddressGenerationMode=
374           Specifies how IPv6 link local address is generated. Takes one of
375           "eui64", "none", "stable-privacy" and "random". When unset, the
376           kernel's default will be used. Note that if LinkLocalAdressing= not
377           configured as "ipv6" then IPv6LinkLocalAddressGenerationMode= is
378           ignored.
379
380       IPv4LLRoute=
381           Takes a boolean. If set to true, sets up the route needed for
382           non-IPv4LL hosts to communicate with IPv4LL-only hosts. Defaults to
383           false.
384
385       DefaultRouteOnDevice=
386           Takes a boolean. If set to true, sets up the default route bound to
387           the interface. Defaults to false. This is useful when creating
388           routes on point-to-point interfaces. This is equivalent to e.g. the
389           following.
390
391               ip route add default dev veth99
392
393       IPv6Token=
394           Specifies an optional address generation mode for the Stateless
395           Address Autoconfiguration (SLAAC). Supported modes are
396           "prefixstable" and "static".
397
398           When the mode is set to "static", an IPv6 address must be specified
399           after a colon (":"), and the lower bits of the supplied address are
400           combined with the upper bits of a prefix received in a Router
401           Advertisement (RA) message to form a complete address. Note that if
402           multiple prefixes are received in an RA message, or in multiple RA
403           messages, addresses will be formed from each of them using the
404           supplied address. This mode implements SLAAC but uses a static
405           interface identifier instead of an identifier generated by using
406           the EUI-64 algorithm. Because the interface identifier is static,
407           if Duplicate Address Detection detects that the computed address is
408           a duplicate (in use by another node on the link), then this mode
409           will fail to provide an address for that prefix. If an IPv6 address
410           without mode is specified, then "static" mode is assumed.
411
412           When the mode is set to "prefixstable" the RFC 7217[1] algorithm
413           for generating interface identifiers will be used. This mode can
414           optionally take an IPv6 address separated with a colon (":"). If an
415           IPv6 address is specified, then an interface identifier is
416           generated only when a prefix received in an RA message matches the
417           supplied address.
418
419           If no address generation mode is specified (which is the default),
420           or a received prefix does not match any of the addresses provided
421           in "prefixstable" mode, then the EUI-64 algorithm will be used to
422           form an interface identifier for that prefix. This mode is also
423           SLAAC, but with a potentially stable interface identifier which
424           does not directly map to the interface's hardware address.
425
426           Note that the "prefixstable" algorithm uses both the interface name
427           and MAC address as input to the hash to compute the interface
428           identifier, so if either of those are changed the resulting
429           interface identifier (and address) will change, even if the prefix
430           received in the RA message has not changed.
431
432           This setting can be specified multiple times. If an empty string is
433           assigned, then the all previous assignments are cleared.
434
435           Examples:
436
437               IPv6Token=::1a:2b:3c:4d
438               IPv6Token=static:::1a:2b:3c:4d
439               IPv6Token=prefixstable
440               IPv6Token=prefixstable:2002:da8:1::
441
442       LLMNR=
443           Takes a boolean or "resolve". When true, enables Link-Local
444           Multicast Name Resolution[2] on the link. When set to "resolve",
445           only resolution is enabled, but not host registration and
446           announcement. Defaults to true. This setting is read by systemd-
447           resolved.service(8).
448
449       MulticastDNS=
450           Takes a boolean or "resolve". When true, enables Multicast DNS[3]
451           support on the link. When set to "resolve", only resolution is
452           enabled, but not host or service registration and announcement.
453           Defaults to false. This setting is read by systemd-
454           resolved.service(8).
455
456       DNSOverTLS=
457           Takes a boolean or "opportunistic". When true, enables
458           DNS-over-TLS[4] support on the link. When set to "opportunistic",
459           compatibility with non-DNS-over-TLS servers is increased, by
460           automatically turning off DNS-over-TLS servers in this case. This
461           option defines a per-interface setting for resolved.conf(5)'s
462           global DNSOverTLS= option. Defaults to false. This setting is read
463           by systemd-resolved.service(8).
464
465       DNSSEC=
466           Takes a boolean or "allow-downgrade". When true, enables DNSSEC[5]
467           DNS validation support on the link. When set to "allow-downgrade",
468           compatibility with non-DNSSEC capable networks is increased, by
469           automatically turning off DNSSEC in this case. This option defines
470           a per-interface setting for resolved.conf(5)'s global DNSSEC=
471           option. Defaults to false. This setting is read by systemd-
472           resolved.service(8).
473
474       DNSSECNegativeTrustAnchors=
475           A space-separated list of DNSSEC negative trust anchor domains. If
476           specified and DNSSEC is enabled, look-ups done via the interface's
477           DNS server will be subject to the list of negative trust anchors,
478           and not require authentication for the specified domains, or
479           anything below it. Use this to disable DNSSEC authentication for
480           specific private domains, that cannot be proven valid using the
481           Internet DNS hierarchy. Defaults to the empty list. This setting is
482           read by systemd-resolved.service(8).
483
484       LLDP=
485           Controls support for Ethernet LLDP packet reception. LLDP is a
486           link-layer protocol commonly implemented on professional routers
487           and bridges which announces which physical port a system is
488           connected to, as well as other related data. Accepts a boolean or
489           the special value "routers-only". When true, incoming LLDP packets
490           are accepted and a database of all LLDP neighbors maintained. If
491           "routers-only" is set only LLDP data of various types of routers is
492           collected and LLDP data about other types of devices ignored (such
493           as stations, telephones and others). If false, LLDP reception is
494           disabled. Defaults to "routers-only". Use networkctl(1) to query
495           the collected neighbor data. LLDP is only available on Ethernet
496           links. See EmitLLDP= below for enabling LLDP packet emission from
497           the local system.
498
499       EmitLLDP=
500           Controls support for Ethernet LLDP packet emission. Accepts a
501           boolean parameter or the special values "nearest-bridge",
502           "non-tpmr-bridge" and "customer-bridge". Defaults to false, which
503           turns off LLDP packet emission. If not false, a short LLDP packet
504           with information about the local system is sent out in regular
505           intervals on the link. The LLDP packet will contain information
506           about the local hostname, the local machine ID (as stored in
507           machine-id(5)) and the local interface name, as well as the pretty
508           hostname of the system (as set in machine-info(5)). LLDP emission
509           is only available on Ethernet links. Note that this setting passes
510           data suitable for identification of host to the network and should
511           thus not be enabled on untrusted networks, where such
512           identification data should not be made available. Use this option
513           to permit other systems to identify on which interfaces they are
514           connected to this system. The three special values control
515           propagation of the LLDP packets. The "nearest-bridge" setting
516           permits propagation only to the nearest connected bridge,
517           "non-tpmr-bridge" permits propagation across Two-Port MAC Relays,
518           but not any other bridges, and "customer-bridge" permits
519           propagation until a customer bridge is reached. For details about
520           these concepts, see IEEE 802.1AB-2016[6]. Note that configuring
521           this setting to true is equivalent to "nearest-bridge", the
522           recommended and most restricted level of propagation. See LLDP=
523           above for an option to enable LLDP reception.
524
525       BindCarrier=
526           A link name or a list of link names. When set, controls the
527           behavior of the current link. When all links in the list are in an
528           operational down state, the current link is brought down. When at
529           least one link has carrier, the current interface is brought up.
530
531           This forces ActivationPolicy= to be set to "bound".
532
533       Address=
534           A static IPv4 or IPv6 address and its prefix length, separated by a
535           "/" character. Specify this key more than once to configure several
536           addresses. The format of the address must be as described in
537           inet_pton(3). This is a short-hand for an [Address] section only
538           containing an Address key (see below). This option may be specified
539           more than once.
540
541           If the specified address is "0.0.0.0" (for IPv4) or "::" (for
542           IPv6), a new address range of the requested size is automatically
543           allocated from a system-wide pool of unused ranges. Note that the
544           prefix length must be equal or larger than 8 for IPv4, and 64 for
545           IPv6. The allocated range is checked against all current network
546           interfaces and all known network configuration files to avoid
547           address range conflicts. The default system-wide pool consists of
548           192.168.0.0/16, 172.16.0.0/12 and 10.0.0.0/8 for IPv4, and fd00::/8
549           for IPv6. This functionality is useful to manage a large number of
550           dynamically created network interfaces with the same network
551           configuration and automatic address range assignment.
552
553       Gateway=
554           The gateway address, which must be in the format described in
555           inet_pton(3). This is a short-hand for a [Route] section only
556           containing a Gateway key. This option may be specified more than
557           once.
558
559       DNS=
560           A DNS server address, which must be in the format described in
561           inet_pton(3). This option may be specified more than once. Each
562           address can optionally take a port number separated with ":", a
563           network interface name or index separated with "%", and a Server
564           Name Indication (SNI) separated with "#". When IPv6 address is
565           specified with a port number, then the address must be in the
566           square brackets. That is, the acceptable full formats are
567           "111.222.333.444:9953%ifname#example.com" for IPv4 and
568           "[1111:2222::3333]:9953%ifname#example.com" for IPv6. If an empty
569           string is assigned, then the all previous assignments are cleared.
570           This setting is read by systemd-resolved.service(8).
571
572       Domains=
573           A whitespace-separated list of domains which should be resolved
574           using the DNS servers on this link. Each item in the list should be
575           a domain name, optionally prefixed with a tilde ("~"). The domains
576           with the prefix are called "routing-only domains". The domains
577           without the prefix are called "search domains" and are first used
578           as search suffixes for extending single-label hostnames (hostnames
579           containing no dots) to become fully qualified domain names (FQDNs).
580           If a single-label hostname is resolved on this interface, each of
581           the specified search domains are appended to it in turn, converting
582           it into a fully qualified domain name, until one of them may be
583           successfully resolved.
584
585           Both "search" and "routing-only" domains are used for routing of
586           DNS queries: look-ups for hostnames ending in those domains (hence
587           also single label names, if any "search domains" are listed), are
588           routed to the DNS servers configured for this interface. The domain
589           routing logic is particularly useful on multi-homed hosts with DNS
590           servers serving particular private DNS zones on each interface.
591
592           The "routing-only" domain "~."  (the tilde indicating definition of
593           a routing domain, the dot referring to the DNS root domain which is
594           the implied suffix of all valid DNS names) has special effect. It
595           causes all DNS traffic which does not match another configured
596           domain routing entry to be routed to DNS servers specified for this
597           interface. This setting is useful to prefer a certain set of DNS
598           servers if a link on which they are connected is available.
599
600           This setting is read by systemd-resolved.service(8). "Search
601           domains" correspond to the domain and search entries in
602           resolv.conf(5). Domain name routing has no equivalent in the
603           traditional glibc API, which has no concept of domain name servers
604           limited to a specific link.
605
606       DNSDefaultRoute=
607           Takes a boolean argument. If true, this link's configured DNS
608           servers are used for resolving domain names that do not match any
609           link's configured Domains= setting. If false, this link's
610           configured DNS servers are never used for such domains, and are
611           exclusively used for resolving names that match at least one of the
612           domains configured on this link. If not specified defaults to an
613           automatic mode: queries not matching any link's configured domains
614           will be routed to this link if it has no routing-only domains
615           configured.
616
617       NTP=
618           An NTP server address (either an IP address, or a hostname). This
619           option may be specified more than once. This setting is read by
620           systemd-timesyncd.service(8).
621
622       IPForward=
623           Configures IP packet forwarding for the system. If enabled,
624           incoming packets on any network interface will be forwarded to any
625           other interfaces according to the routing table. Takes a boolean,
626           or the values "ipv4" or "ipv6", which only enable IP packet
627           forwarding for the specified address family. This controls the
628           net.ipv4.ip_forward and net.ipv6.conf.all.forwarding sysctl options
629           of the network interface (see ip-sysctl.txt[7] for details about
630           sysctl options). Defaults to "no".
631
632           Note: this setting controls a global kernel option, and does so one
633           way only: if a network that has this setting enabled is set up the
634           global setting is turned on. However, it is never turned off again,
635           even after all networks with this setting enabled are shut down
636           again.
637
638           To allow IP packet forwarding only between specific network
639           interfaces use a firewall.
640
641       IPMasquerade=
642           Configures IP masquerading for the network interface. If enabled,
643           packets forwarded from the network interface will be appear as
644           coming from the local host. Takes one of "ipv4", "ipv6", "both", or
645           "no". Defaults to "no". If enabled, this automatically sets
646           IPForward= to one of "ipv4", "ipv6" or "yes".
647
648           Note. Any positive boolean values such as "yes" or "true" are now
649           deprecated. Please use one of the values in the above.
650
651       IPv6PrivacyExtensions=
652           Configures use of stateless temporary addresses that change over
653           time (see RFC 4941[8], Privacy Extensions for Stateless Address
654           Autoconfiguration in IPv6). Takes a boolean or the special values
655           "prefer-public" and "kernel". When true, enables the privacy
656           extensions and prefers temporary addresses over public addresses.
657           When "prefer-public", enables the privacy extensions, but prefers
658           public addresses over temporary addresses. When false, the privacy
659           extensions remain disabled. When "kernel", the kernel's default
660           setting will be left in place. Defaults to "no".
661
662       IPv6AcceptRA=
663           Takes a boolean. Controls IPv6 Router Advertisement (RA) reception
664           support for the interface. If true, RAs are accepted; if false, RAs
665           are ignored. When RAs are accepted, they may trigger the start of
666           the DHCPv6 client if the relevant flags are set in the RA data, or
667           if no routers are found on the link. The default is to disable RA
668           reception for bridge devices or when IP forwarding is enabled, and
669           to enable it otherwise. Cannot be enabled on bond devices and when
670           link local addressing is disabled.
671
672           Further settings for the IPv6 RA support may be configured in the
673           [IPv6AcceptRA] section, see below.
674
675           Also see ip-sysctl.txt[7] in the kernel documentation regarding
676           "accept_ra", but note that systemd's setting of 1 (i.e. true)
677           corresponds to kernel's setting of 2.
678
679           Note that kernel's implementation of the IPv6 RA protocol is always
680           disabled, regardless of this setting. If this option is enabled, a
681           userspace implementation of the IPv6 RA protocol is used, and the
682           kernel's own implementation remains disabled, since
683           systemd-networkd needs to know all details supplied in the
684           advertisements, and these are not available from the kernel if the
685           kernel's own implementation is used.
686
687       IPv6DuplicateAddressDetection=
688           Configures the amount of IPv6 Duplicate Address Detection (DAD)
689           probes to send. When unset, the kernel's default will be used.
690
691       IPv6HopLimit=
692           Configures IPv6 Hop Limit. For each router that forwards the
693           packet, the hop limit is decremented by 1. When the hop limit field
694           reaches zero, the packet is discarded. When unset, the kernel's
695           default will be used.
696
697       IPv4AcceptLocal=
698           Takes a boolean. Accept packets with local source addresses. In
699           combination with suitable routing, this can be used to direct
700           packets between two local interfaces over the wire and have them
701           accepted properly. When unset, the kernel's default will be used.
702
703       IPv4RouteLocalnet=
704           Takes a boolean. When true, the kernel does not consider loopback
705           addresses as martian source or destination while routing. This
706           enables the use of 127.0.0.0/8 for local routing purposes. When
707           unset, the kernel's default will be used.
708
709       IPv4ProxyARP=
710           Takes a boolean. Configures proxy ARP for IPv4. Proxy ARP is the
711           technique in which one host, usually a router, answers ARP requests
712           intended for another machine. By "faking" its identity, the router
713           accepts responsibility for routing packets to the "real"
714           destination. See RFC 1027[9]. When unset, the kernel's default will
715           be used.
716
717       IPv6ProxyNDP=
718           Takes a boolean. Configures proxy NDP for IPv6. Proxy NDP (Neighbor
719           Discovery Protocol) is a technique for IPv6 to allow routing of
720           addresses to a different destination when peers expect them to be
721           present on a certain physical link. In this case a router answers
722           Neighbour Advertisement messages intended for another machine by
723           offering its own MAC address as destination. Unlike proxy ARP for
724           IPv4, it is not enabled globally, but will only send Neighbour
725           Advertisement messages for addresses in the IPv6 neighbor proxy
726           table, which can also be shown by ip -6 neighbour show proxy.
727           systemd-networkd will control the per-interface `proxy_ndp` switch
728           for each configured interface depending on this option. When unset,
729           the kernel's default will be used.
730
731       IPv6ProxyNDPAddress=
732           An IPv6 address, for which Neighbour Advertisement messages will be
733           proxied. This option may be specified more than once.
734           systemd-networkd will add the IPv6ProxyNDPAddress= entries to the
735           kernel's IPv6 neighbor proxy table. This option implies
736           IPv6ProxyNDP=yes but has no effect if IPv6ProxyNDP has been set to
737           false. When unset, the kernel's default will be used.
738
739       IPv6SendRA=
740           Whether to enable or disable Router Advertisement sending on a
741           link. Takes a boolean value. When enabled, prefixes configured in
742           [IPv6Prefix] sections and routes configured in [IPv6RoutePrefix]
743           sections are distributed as defined in the [IPv6SendRA] section. If
744           DHCPv6PrefixDelegation= is enabled, then the delegated prefixes are
745           also distributed. See DHCPv6PrefixDelegation= setting and the
746           [IPv6SendRA], [IPv6Prefix], [IPv6RoutePrefix], and
747           [DHCPv6PrefixDelegation] sections for more configuration options.
748
749       DHCPv6PrefixDelegation=
750           Takes a boolean value. When enabled, requests prefixes using a
751           DHCPv6 client configured on another link. By default, an address
752           within each delegated prefix will be assigned, and the prefixes
753           will be announced through IPv6 Router Advertisement when
754           IPv6SendRA= is enabled. Such default settings can be configured in
755           [DHCPv6PrefixDelegation] section. Defaults to disabled.
756
757       IPv6MTUBytes=
758           Configures IPv6 maximum transmission unit (MTU). An integer greater
759           than or equal to 1280 bytes. When unset, the kernel's default will
760           be used.
761
762       Bridge=
763           The name of the bridge to add the link to. See systemd.netdev(5).
764
765       Bond=
766           The name of the bond to add the link to. See systemd.netdev(5).
767
768       VRF=
769           The name of the VRF to add the link to. See systemd.netdev(5).
770
771       VLAN=
772           The name of a VLAN to create on the link. See systemd.netdev(5).
773           This option may be specified more than once.
774
775       IPVLAN=
776           The name of a IPVLAN to create on the link. See systemd.netdev(5).
777           This option may be specified more than once.
778
779       MACVLAN=
780           The name of a MACVLAN to create on the link. See systemd.netdev(5).
781           This option may be specified more than once.
782
783       VXLAN=
784           The name of a VXLAN to create on the link. See systemd.netdev(5).
785           This option may be specified more than once.
786
787       Tunnel=
788           The name of a Tunnel to create on the link. See systemd.netdev(5).
789           This option may be specified more than once.
790
791       MACsec=
792           The name of a MACsec device to create on the link. See
793           systemd.netdev(5). This option may be specified more than once.
794
795       ActiveSlave=
796           Takes a boolean. Specifies the new active slave. The "ActiveSlave="
797           option is only valid for following modes: "active-backup",
798           "balance-alb" and "balance-tlb". Defaults to false.
799
800       PrimarySlave=
801           Takes a boolean. Specifies which slave is the primary device. The
802           specified device will always be the active slave while it is
803           available. Only when the primary is off-line will alternate devices
804           be used. This is useful when one slave is preferred over another,
805           e.g. when one slave has higher throughput than another. The
806           "PrimarySlave=" option is only valid for following modes:
807           "active-backup", "balance-alb" and "balance-tlb". Defaults to
808           false.
809
810       ConfigureWithoutCarrier=
811           Takes a boolean. Allows networkd to configure a specific link even
812           if it has no carrier. Defaults to false. If IgnoreCarrierLoss= is
813           not explicitly set, it will default to this value.
814
815       IgnoreCarrierLoss=
816           Takes a boolean. Allows networkd to retain both the static and
817           dynamic configuration of the interface even if its carrier is lost.
818           When unset, the value specified with ConfigureWithoutCarrier= is
819           used.
820
821           When ActivationPolicy= is set to "always-up", this is forced to
822           "true".
823
824       Xfrm=
825           The name of the xfrm to create on the link. See systemd.netdev(5).
826           This option may be specified more than once.
827
828       KeepConfiguration=
829           Takes a boolean or one of "static", "dhcp-on-stop", "dhcp". When
830           "static", systemd-networkd will not drop static addresses and
831           routes on starting up process. When set to "dhcp-on-stop",
832           systemd-networkd will not drop addresses and routes on stopping the
833           daemon. When "dhcp", the addresses and routes provided by a DHCP
834           server will never be dropped even if the DHCP lease expires. This
835           is contrary to the DHCP specification, but may be the best choice
836           if, e.g., the root filesystem relies on this connection. The
837           setting "dhcp" implies "dhcp-on-stop", and "yes" implies "dhcp" and
838           "static". Defaults to "no".
839
840       BatmanAdvanced=
841           The name of the B.A.T.M.A.N. Advanced interface to add the link to.
842           See systemd.netdev(5).
843

[ADDRESS] SECTION OPTIONS

845       An [Address] section accepts the following keys. Specify several
846       [Address] sections to configure several addresses.
847
848       Address=
849           As in the [Network] section. This key is mandatory. Each [Address]
850           section can contain one Address= setting.
851
852       Peer=
853           The peer address in a point-to-point connection. Accepts the same
854           format as the Address= key.
855
856       Broadcast=
857           Takes an IPv4 address or boolean value. The address must be in the
858           format described in inet_pton(3). If set to true, then the IPv4
859           broadcast address will be derived from the Address= setting. If set
860           to false, then the broadcast address will not be set. Defaults to
861           true, except for wireguard interfaces, where it default to false.
862
863       Label=
864           An address label.
865
866       PreferredLifetime=
867           Allows the default "preferred lifetime" of the address to be
868           overridden. Only three settings are accepted: "forever",
869           "infinity", which is the default and means that the address never
870           expires, and "0", which means that the address is considered
871           immediately "expired" and will not be used, unless explicitly
872           requested. A setting of PreferredLifetime=0 is useful for addresses
873           which are added to be used only by a specific application, which is
874           then configured to use them explicitly.
875
876       Scope=
877           The scope of the address, which can be "global" (valid everywhere
878           on the network, even through a gateway), "link" (only valid on this
879           device, will not traverse a gateway) or "host" (only valid within
880           the device itself, e.g. 127.0.0.1) or an unsigned integer in the
881           range 0...255. Defaults to "global".
882
883       HomeAddress=
884           Takes a boolean. Designates this address the "home address" as
885           defined in RFC 6275[10]. Supported only on IPv6. Defaults to false.
886
887       DuplicateAddressDetection=
888           Takes one of "ipv4", "ipv6", "both", "none". When "ipv4", performs
889           IPv4 Duplicate Address Detection. See RFC 5224[11]. When "ipv6",
890           performs IPv6 Duplicate Address Detection. See RFC 4862[12].
891           Defaults to "ipv6".
892
893       ManageTemporaryAddress=
894           Takes a boolean. If true the kernel manage temporary addresses
895           created from this one as template on behalf of Privacy Extensions
896           RFC 3041[13]. For this to become active, the use_tempaddr sysctl
897           setting has to be set to a value greater than zero. The given
898           address needs to have a prefix length of 64. This flag allows using
899           privacy extensions in a manually configured network, just like if
900           stateless auto-configuration was active. Defaults to false.
901
902       AddPrefixRoute=
903           Takes a boolean. When true, the prefix route for the address is
904           automatically added. Defaults to true.
905
906       AutoJoin=
907           Takes a boolean. Joining multicast group on ethernet level via ip
908           maddr command would not work if we have an Ethernet switch that
909           does IGMP snooping since the switch would not replicate multicast
910           packets on ports that did not have IGMP reports for the multicast
911           addresses. Linux vxlan interfaces created via ip link add vxlan or
912           networkd's netdev kind vxlan have the group option that enables
913           then to do the required join. By extending ip address command with
914           option "autojoin" we can get similar functionality for openvswitch
915           (OVS) vxlan interfaces as well as other tunneling mechanisms that
916           need to receive multicast traffic. Defaults to "no".
917

[NEIGHBOR] SECTION OPTIONS

919       A [Neighbor] section accepts the following keys. The neighbor section
920       adds a permanent, static entry to the neighbor table (IPv6) or ARP
921       table (IPv4) for the given hardware address on the links matched for
922       the network. Specify several [Neighbor] sections to configure several
923       static neighbors.
924
925       Address=
926           The IP address of the neighbor.
927
928       LinkLayerAddress=
929           The link layer address (MAC address or IP address) of the neighbor.
930

[IPV6ADDRESSLABEL] SECTION OPTIONS

932       An [IPv6AddressLabel] section accepts the following keys. Specify
933       several [IPv6AddressLabel] sections to configure several address
934       labels. IPv6 address labels are used for address selection. See RFC
935       3484[14]. Precedence is managed by userspace, and only the label itself
936       is stored in the kernel.
937
938       Label=
939           The label for the prefix, an unsigned integer in the range
940           0–4294967294. 0xffffffff is reserved. This setting is mandatory.
941
942       Prefix=
943           IPv6 prefix is an address with a prefix length, separated by a
944           slash "/" character. This key is mandatory.
945

[ROUTINGPOLICYRULE] SECTION OPTIONS

947       An [RoutingPolicyRule] section accepts the following keys. Specify
948       several [RoutingPolicyRule] sections to configure several rules.
949
950       TypeOfService=
951           Takes a number between 0 and 255 that specifies the type of service
952           to match.
953
954       From=
955           Specifies the source address prefix to match. Possibly followed by
956           a slash and the prefix length.
957
958       To=
959           Specifies the destination address prefix to match. Possibly
960           followed by a slash and the prefix length.
961
962       FirewallMark=
963           Specifies the iptables firewall mark value to match (a number
964           between 1 and 4294967295). Optionally, the firewall mask (also a
965           number between 1 and 4294967295) can be suffixed with a slash
966           ("/"), e.g., "7/255".
967
968       Table=
969           Specifies the routing table identifier to lookup if the rule
970           selector matches. Takes one of predefined names "default", "main",
971           and "local", and names defined in RouteTable= in networkd.conf(5),
972           or a number between 1 and 4294967295. Defaults to "main".
973
974       Priority=
975           Specifies the priority of this rule.  Priority= is an unsigned
976           integer. Higher number means lower priority, and rules get
977           processed in order of increasing number.
978
979       IncomingInterface=
980           Specifies incoming device to match. If the interface is loopback,
981           the rule only matches packets originating from this host.
982
983       OutgoingInterface=
984           Specifies the outgoing device to match. The outgoing interface is
985           only available for packets originating from local sockets that are
986           bound to a device.
987
988       SourcePort=
989           Specifies the source IP port or IP port range match in forwarding
990           information base (FIB) rules. A port range is specified by the
991           lower and upper port separated by a dash. Defaults to unset.
992
993       DestinationPort=
994           Specifies the destination IP port or IP port range match in
995           forwarding information base (FIB) rules. A port range is specified
996           by the lower and upper port separated by a dash. Defaults to unset.
997
998       IPProtocol=
999           Specifies the IP protocol to match in forwarding information base
1000           (FIB) rules. Takes IP protocol name such as "tcp", "udp" or "sctp",
1001           or IP protocol number such as "6" for "tcp" or "17" for "udp".
1002           Defaults to unset.
1003
1004       InvertRule=
1005           A boolean. Specifies whether the rule is to be inverted. Defaults
1006           to false.
1007
1008       Family=
1009           Takes a special value "ipv4", "ipv6", or "both". By default, the
1010           address family is determined by the address specified in To= or
1011           From=. If neither To= nor From= are specified, then defaults to
1012           "ipv4".
1013
1014       User=
1015           Takes a username, a user ID, or a range of user IDs separated by a
1016           dash. Defaults to unset.
1017
1018       SuppressPrefixLength=
1019           Takes a number N in the range 0...128 and rejects routing decisions
1020           that have a prefix length of N or less. Defaults to unset.
1021
1022       Type=
1023           Specifies Routing Policy Database (RPDB) rule type. Takes one of
1024           "blackhole", "unreachable" or "prohibit".
1025

[NEXTHOP] SECTION OPTIONS

1027       The [NextHop] section is used to manipulate entries in the kernel's
1028       "nexthop" tables. The [NextHop] section accepts the following keys.
1029       Specify several [NextHop] sections to configure several hops.
1030
1031       Id=
1032           The id of the next hop. Takes an unsigned integer in the range
1033           1...4294967295. If left unspecified, then automatically chosen by
1034           kernel.
1035
1036       Gateway=
1037           As in the [Network] section.
1038
1039       Family=
1040           Takes one of the special values "ipv4" or "ipv6". By default, the
1041           family is determined by the address specified in Gateway=. If
1042           Gateway= is not specified, then defaults to "ipv4".
1043
1044       OnLink=
1045           Takes a boolean. If set to true, the kernel does not have to check
1046           if the gateway is reachable directly by the current machine (i.e.,
1047           attached to the local network), so that we can insert the nexthop
1048           in the kernel table without it being complained about. Defaults to
1049           "no".
1050
1051       Blackhole=
1052           Takes a boolean. If enabled, packets to the corresponding routes
1053           are discarded silently, and Gateway= cannot be specified. Defaults
1054           to "no".
1055

[ROUTE] SECTION OPTIONS

1057       The [Route] section accepts the following keys. Specify several [Route]
1058       sections to configure several routes.
1059
1060       Gateway=
1061           Takes the gateway address or the special values "_dhcp4" and
1062           "_ipv6ra". If "_dhcp4" or "_ipv6ra" is set, then the gateway
1063           address provided by DHCPv4 or IPv6 RA is used.
1064
1065       GatewayOnLink=
1066           Takes a boolean. If set to true, the kernel does not have to check
1067           if the gateway is reachable directly by the current machine (i.e.,
1068           attached to the local network), so that we can insert the route in
1069           the kernel table without it being complained about. Defaults to
1070           "no".
1071
1072       Destination=
1073           The destination prefix of the route. Possibly followed by a slash
1074           and the prefix length. If omitted, a full-length host route is
1075           assumed.
1076
1077       Source=
1078           The source prefix of the route. Possibly followed by a slash and
1079           the prefix length. If omitted, a full-length host route is assumed.
1080
1081       Metric=
1082           The metric of the route (an unsigned integer).
1083
1084       IPv6Preference=
1085           Specifies the route preference as defined in RFC 4191[15] for
1086           Router Discovery messages. Which can be one of "low" the route has
1087           a lowest priority, "medium" the route has a default priority or
1088           "high" the route has a highest priority.
1089
1090       Scope=
1091           The scope of the IPv4 route, which can be "global", "site", "link",
1092           "host", or "nowhere":
1093
1094           •   "global" means the route can reach hosts more than one hop
1095               away.
1096
1097           •   "site" means an interior route in the local autonomous system.
1098
1099           •   "link" means the route can only reach hosts on the local
1100               network (one hop away).
1101
1102           •   "host" means the route will not leave the local machine (used
1103               for internal addresses like 127.0.0.1).
1104
1105           •   "nowhere" means the destination doesn't exist.
1106
1107           For IPv4 route, defaults to "host" if Type= is "local" or "nat",
1108           and "link" if Type= is "broadcast", "multicast", or "anycast". In
1109           other cases, defaults to "global". The value is not used for IPv6.
1110
1111       PreferredSource=
1112           The preferred source address of the route. The address must be in
1113           the format described in inet_pton(3).
1114
1115       Table=
1116           The table identifier for the route. Takes one of predefined names
1117           "default", "main", and "local", and names defined in RouteTable= in
1118           networkd.conf(5), or a number between 1 and 4294967295. The table
1119           can be retrieved using ip route show table num. If unset and Type=
1120           is "local", "broadcast", "anycast", or "nat", then "local" is used.
1121           In other cases, defaults to "main".
1122
1123       Protocol=
1124           The protocol identifier for the route. Takes a number between 0 and
1125           255 or the special values "kernel", "boot", "static", "ra" and
1126           "dhcp". Defaults to "static".
1127
1128       Type=
1129           Specifies the type for the route. Takes one of "unicast", "local",
1130           "broadcast", "anycast", "multicast", "blackhole", "unreachable",
1131           "prohibit", "throw", "nat", and "xresolve". If "unicast", a regular
1132           route is defined, i.e. a route indicating the path to take to a
1133           destination network address. If "blackhole", packets to the defined
1134           route are discarded silently. If "unreachable", packets to the
1135           defined route are discarded and the ICMP message "Host Unreachable"
1136           is generated. If "prohibit", packets to the defined route are
1137           discarded and the ICMP message "Communication Administratively
1138           Prohibited" is generated. If "throw", route lookup in the current
1139           routing table will fail and the route selection process will return
1140           to Routing Policy Database (RPDB). Defaults to "unicast".
1141
1142       InitialCongestionWindow=
1143           The TCP initial congestion window is used during the start of a TCP
1144           connection. During the start of a TCP session, when a client
1145           requests a resource, the server's initial congestion window
1146           determines how many packets will be sent during the initial burst
1147           of data without waiting for acknowledgement. Takes a number between
1148           1 and 1023. Note that 100 is considered an extremely large value
1149           for this option. When unset, the kernel's default (typically 10)
1150           will be used.
1151
1152       InitialAdvertisedReceiveWindow=
1153           The TCP initial advertised receive window is the amount of receive
1154           data (in bytes) that can initially be buffered at one time on a
1155           connection. The sending host can send only that amount of data
1156           before waiting for an acknowledgment and window update from the
1157           receiving host. Takes a number between 1 and 1023. Note that 100 is
1158           considered an extremely large value for this option. When unset,
1159           the kernel's default will be used.
1160
1161       QuickAck=
1162           Takes a boolean. When true enables TCP quick ack mode for the
1163           route. When unset, the kernel's default will be used.
1164
1165       FastOpenNoCookie=
1166           Takes a boolean. When true enables TCP fastopen without a cookie on
1167           a per-route basis. When unset, the kernel's default will be used.
1168
1169       TTLPropagate=
1170           Takes a boolean. When true enables TTL propagation at Label
1171           Switched Path (LSP) egress. When unset, the kernel's default will
1172           be used.
1173
1174       MTUBytes=
1175           The maximum transmission unit in bytes to set for the route. The
1176           usual suffixes K, M, G, are supported and are understood to the
1177           base of 1024.
1178
1179           Note that if IPv6 is enabled on the interface, and the MTU is
1180           chosen below 1280 (the minimum MTU for IPv6) it will automatically
1181           be increased to this value.
1182
1183       IPServiceType=
1184           Takes string; "CS6" or "CS4". Used to set IP service type to CS6
1185           (network control) or CS4 (Realtime). Defaults to CS6.
1186
1187       TCPAdvertisedMaximumSegmentSize=
1188           Specifies the Path MSS (in bytes) hints given on TCP layer. The
1189           usual suffixes K, M, G, are supported and are understood to the
1190           base of 1024. An unsigned integer in the range 1–4294967294. When
1191           unset, the kernel's default will be used.
1192
1193       MultiPathRoute=address[@name] [weight]
1194           Configures multipath route. Multipath routing is the technique of
1195           using multiple alternative paths through a network. Takes gateway
1196           address. Optionally, takes a network interface name or index
1197           separated with "@", and a weight in 1..256 for this multipath route
1198           separated with whitespace. This setting can be specified multiple
1199           times. If an empty string is assigned, then the all previous
1200           assignments are cleared.
1201
1202       NextHop=
1203           Specifies the nexthop id. Takes an unsigned integer in the range
1204           1...4294967295. If set, the corresponding [NextHop] section must be
1205           configured. Defaults to unset.
1206

[DHCPV4] SECTION OPTIONS

1208       The [DHCPv4] section configures the DHCPv4 client, if it is enabled
1209       with the DHCP= setting described above:
1210
1211       UseDNS=
1212           When true (the default), the DNS servers received from the DHCP
1213           server will be used.
1214
1215           This corresponds to the nameserver option in resolv.conf(5).
1216
1217       RoutesToDNS=
1218           When true, the routes to the DNS servers received from the DHCP
1219           server will be configured. When UseDNS= is disabled, this setting
1220           is ignored. Defaults to false.
1221
1222       UseNTP=
1223           When true (the default), the NTP servers received from the DHCP
1224           server will be used by systemd-timesyncd.service.
1225
1226       UseSIP=
1227           When true (the default), the SIP servers received from the DHCP
1228           server will be collected and made available to client programs.
1229
1230       UseMTU=
1231           When true, the interface maximum transmission unit from the DHCP
1232           server will be used on the current link. If MTUBytes= is set, then
1233           this setting is ignored. Defaults to false.
1234
1235       Anonymize=
1236           Takes a boolean. When true, the options sent to the DHCP server
1237           will follow the RFC 7844[16] (Anonymity Profiles for DHCP Clients)
1238           to minimize disclosure of identifying information. Defaults to
1239           false.
1240
1241           This option should only be set to true when MACAddressPolicy= is
1242           set to "random" (see systemd.link(5)).
1243
1244           Note that this configuration will overwrite others. In concrete,
1245           the following variables will be ignored: SendHostname=,
1246           ClientIdentifier=, UseRoutes=, UseMTU=, VendorClassIdentifier=,
1247           UseTimezone=.
1248
1249           With this option enabled DHCP requests will mimic those generated
1250           by Microsoft Windows, in order to reduce the ability to fingerprint
1251           and recognize installations. This means DHCP request sizes will
1252           grow and lease data will be more comprehensive than normally,
1253           though most of the requested data is not actually used.
1254
1255       SendHostname=
1256           When true (the default), the machine's hostname will be sent to the
1257           DHCP server. Note that the machine's hostname must consist only of
1258           7-bit ASCII lower-case characters and no spaces or dots, and be
1259           formatted as a valid DNS domain name. Otherwise, the hostname is
1260           not sent even if this is set to true.
1261
1262       MUDURL=
1263           When configured, the specified Manufacturer Usage Description (MUD)
1264           URL will be sent to the DHCPv4 server. Takes a URL of length up to
1265           255 characters. A superficial verification that the string is a
1266           valid URL will be performed. DHCPv4 clients are intended to have at
1267           most one MUD URL associated with them. See RFC 8520[17].
1268
1269           MUD is an embedded software standard defined by the IETF that
1270           allows IoT device makers to advertise device specifications,
1271           including the intended communication patterns for their device when
1272           it connects to the network. The network can then use this to author
1273           a context-specific access policy, so the device functions only
1274           within those parameters.
1275
1276       UseHostname=
1277           When true (the default), the hostname received from the DHCP server
1278           will be set as the transient hostname of the system.
1279
1280       Hostname=
1281           Use this value for the hostname which is sent to the DHCP server,
1282           instead of machine's hostname. Note that the specified hostname
1283           must consist only of 7-bit ASCII lower-case characters and no
1284           spaces or dots, and be formatted as a valid DNS domain name.
1285
1286       UseDomains=
1287           Takes a boolean, or the special value "route". When true, the
1288           domain name received from the DHCP server will be used as DNS
1289           search domain over this link, similar to the effect of the Domains=
1290           setting. If set to "route", the domain name received from the DHCP
1291           server will be used for routing DNS queries only, but not for
1292           searching, similar to the effect of the Domains= setting when the
1293           argument is prefixed with "~". Defaults to false.
1294
1295           It is recommended to enable this option only on trusted networks,
1296           as setting this affects resolution of all hostnames, in particular
1297           of single-label names. It is generally safer to use the supplied
1298           domain only as routing domain, rather than as search domain, in
1299           order to not have it affect local resolution of single-label names.
1300
1301           When set to true, this setting corresponds to the domain option in
1302           resolv.conf(5).
1303
1304       UseRoutes=
1305           When true (the default), the static routes will be requested from
1306           the DHCP server and added to the routing table with a metric of
1307           1024, and a scope of "global", "link" or "host", depending on the
1308           route's destination and gateway. If the destination is on the local
1309           host, e.g., 127.x.x.x, or the same as the link's own address, the
1310           scope will be set to "host". Otherwise if the gateway is null (a
1311           direct route), a "link" scope will be used. For anything else,
1312           scope defaults to "global".
1313
1314       UseGateway=
1315           When true, the gateway will be requested from the DHCP server and
1316           added to the routing table with a metric of 1024, and a scope of
1317           "link". When unset, the value specified with UseRoutes= is used.
1318
1319       UseTimezone=
1320           When true, the timezone received from the DHCP server will be set
1321           as timezone of the local system. Defaults to "no".
1322
1323       ClientIdentifier=
1324           The DHCPv4 client identifier to use. Takes one of "mac", "duid" or
1325           "duid-only". If set to "mac", the MAC address of the link is used.
1326           If set to "duid", an RFC4361-compliant Client ID, which is the
1327           combination of IAID and DUID (see below), is used. If set to
1328           "duid-only", only DUID is used, this may not be RFC compliant, but
1329           some setups may require to use this. Defaults to "duid".
1330
1331       VendorClassIdentifier=
1332           The vendor class identifier used to identify vendor type and
1333           configuration.
1334
1335       UserClass=
1336           A DHCPv4 client can use UserClass option to identify the type or
1337           category of user or applications it represents. The information
1338           contained in this option is a string that represents the user class
1339           of which the client is a member. Each class sets an identifying
1340           string of information to be used by the DHCP service to classify
1341           clients. Takes a whitespace-separated list of strings.
1342
1343       MaxAttempts=
1344           Specifies how many times the DHCPv4 client configuration should be
1345           attempted. Takes a number or "infinity". Defaults to "infinity".
1346           Note that the time between retries is increased exponentially, up
1347           to approximately one per minute, so the network will not be
1348           overloaded even if this number is high. The default is suitable in
1349           most circumstances.
1350
1351       DUIDType=
1352           Override the global DUIDType setting for this network. See
1353           networkd.conf(5) for a description of possible values.
1354
1355       DUIDRawData=
1356           Override the global DUIDRawData setting for this network. See
1357           networkd.conf(5) for a description of possible values.
1358
1359       IAID=
1360           The DHCP Identity Association Identifier (IAID) for the interface,
1361           a 32-bit unsigned integer.
1362
1363       RequestBroadcast=
1364           Request the server to use broadcast messages before the IP address
1365           has been configured. This is necessary for devices that cannot
1366           receive RAW packets, or that cannot receive packets at all before
1367           an IP address has been configured. On the other hand, this must not
1368           be enabled on networks where broadcasts are filtered out.
1369
1370       RouteMetric=
1371           Set the routing metric for routes specified by the DHCP server.
1372           Defaults to 1024.
1373
1374       RouteTable=num
1375           The table identifier for DHCP routes (a number between 1 and
1376           4294967295, or 0 to unset). The table can be retrieved using ip
1377           route show table num.
1378
1379           When used in combination with VRF=, the VRF's routing table is used
1380           when this parameter is not specified.
1381
1382       RouteMTUBytes=
1383           Specifies the MTU for the DHCP routes. Please see the [Route]
1384           section for further details.
1385
1386       ListenPort=
1387           Allow setting custom port for the DHCP client to listen on.
1388
1389       FallbackLeaseLifetimeSec=
1390           Allows to set DHCPv4 lease lifetime when DHCPv4 server does not
1391           send the lease lifetime. Takes one of "forever" or "infinity" means
1392           that the address never expires. Defaults to unset.
1393
1394       SendRelease=
1395           When true, the DHCPv4 client sends a DHCP release packet when it
1396           stops. Defaults to true.
1397
1398       SendDecline=
1399           A boolean. When "true", the DHCPv4 client receives the IP address
1400           from the DHCP server. After a new IP is received, the DHCPv4 client
1401           performs IPv4 Duplicate Address Detection. If duplicate use is
1402           detected, the DHCPv4 client rejects the IP by sending a DHCPDECLINE
1403           packet and tries to obtain an IP address again. See RFC 5224[11].
1404           Defaults to "unset".
1405
1406       DenyList=
1407           A whitespace-separated list of IPv4 addresses. DHCP offers from
1408           servers in the list are rejected. Note that if AllowList= is
1409           configured then DenyList= is ignored.
1410
1411       AllowList=
1412           A whitespace-separated list of IPv4 addresses. DHCP offers from
1413           servers in the list are accepted.
1414
1415       RequestOptions=
1416           Sets request options to be sent to the server in the DHCPv4 request
1417           options list. A whitespace-separated list of integers in the range
1418           1...254. Defaults to unset.
1419
1420       SendOption=
1421           Send an arbitrary raw option in the DHCPv4 request. Takes a DHCP
1422           option number, data type and data separated with a colon
1423           ("option:type:value"). The option number must be an integer in the
1424           range 1...254. The type takes one of "uint8", "uint16", "uint32",
1425           "ipv4address", or "string". Special characters in the data string
1426           may be escaped using C-style escapes[18]. This setting can be
1427           specified multiple times. If an empty string is specified, then all
1428           options specified earlier are cleared. Defaults to unset.
1429
1430       SendVendorOption=
1431           Send an arbitrary vendor option in the DHCPv4 request. Takes a DHCP
1432           option number, data type and data separated with a colon
1433           ("option:type:value"). The option number must be an integer in the
1434           range 1...254. The type takes one of "uint8", "uint16", "uint32",
1435           "ipv4address", or "string". Special characters in the data string
1436           may be escaped using C-style escapes[18]. This setting can be
1437           specified multiple times. If an empty string is specified, then all
1438           options specified earlier are cleared. Defaults to unset.
1439

[DHCPV6] SECTION OPTIONS

1441       The [DHCPv6] section configures the DHCPv6 client, if it is enabled
1442       with the DHCP= setting described above, or invoked by the IPv6 Router
1443       Advertisement:
1444
1445       UseAddress=
1446           When true (the default), the IP addresses provided by the DHCPv6
1447           server will be assigned.
1448
1449       UseDNS=, UseNTP=, UseHostname=
1450           As in the [DHCPv4] section.
1451
1452       RouteMetric=
1453           Set the routing metric for routes specified by the DHCP server.
1454           Defaults to 1024.
1455
1456       RapidCommit=
1457           Takes a boolean. The DHCPv6 client can obtain configuration
1458           parameters from a DHCPv6 server through a rapid two-message
1459           exchange (solicit and reply). When the rapid commit option is
1460           enabled by both the DHCPv6 client and the DHCPv6 server, the
1461           two-message exchange is used, rather than the default four-message
1462           exchange (solicit, advertise, request, and reply). The two-message
1463           exchange provides faster client configuration and is beneficial in
1464           environments in which networks are under a heavy load. See RFC
1465           3315[19] for details. Defaults to true.
1466
1467       MUDURL=
1468           When configured, the specified Manufacturer Usage Description (MUD)
1469           URL will be sent to the DHCPv6 server. The syntax and semantics are
1470           the same as for MUDURL= in the [DHCPv4] section described above.
1471
1472       RequestOptions=
1473           When configured, allows to set arbitrary request options in the
1474           DHCPv6 request options list that will be sent to the DHCPv6 server.
1475           A whitespace-separated list of integers in the range 1...254.
1476           Defaults to unset.
1477
1478       SendVendorOption=
1479           Send an arbitrary vendor option in the DHCPv6 request. Takes an
1480           enterprise identifier, DHCP option number, data type, and data
1481           separated with a colon ("enterprise identifier:option:type:
1482           value"). Enterprise identifier is an unsigned integer in the range
1483           1–4294967294. The option number must be an integer in the range
1484           1–254. Data type takes one of "uint8", "uint16", "uint32",
1485           "ipv4address", "ipv6address", or "string". Special characters in
1486           the data string may be escaped using C-style escapes[18]. This
1487           setting can be specified multiple times. If an empty string is
1488           specified, then all options specified earlier are cleared. Defaults
1489           to unset.
1490
1491       ForceDHCPv6PDOtherInformation=
1492           Takes a boolean that enforces DHCPv6 stateful mode when the 'Other
1493           information' bit is set in Router Advertisement messages. By
1494           default setting only the 'O' bit in Router Advertisements makes
1495           DHCPv6 request network information in a stateless manner using a
1496           two-message Information Request and Information Reply message
1497           exchange.  RFC 7084[20], requirement WPD-4, updates this behavior
1498           for a Customer Edge router so that stateful DHCPv6 Prefix
1499           Delegation is also requested when only the 'O' bit is set in Router
1500           Advertisements. This option enables such a CE behavior as it is
1501           impossible to automatically distinguish the intention of the 'O'
1502           bit otherwise. By default this option is set to 'false', enable it
1503           if no prefixes are delegated when the device should be acting as a
1504           CE router.
1505
1506       PrefixDelegationHint=
1507           Takes an IPv6 address with prefix length in the same format as the
1508           Address= in the [Network] section. The DHCPv6 client will include a
1509           prefix hint in the DHCPv6 solicitation sent to the server. The
1510           prefix length must be in the range 1–128. Defaults to unset.
1511
1512       WithoutRA=
1513           Allows DHCPv6 client to start without router advertisements's
1514           managed or other address configuration flag. Takes one of "solicit"
1515           or "information-request". Defaults to unset.
1516
1517       SendOption=
1518           As in the [DHCPv4] section, however because DHCPv6 uses 16-bit
1519           fields to store option numbers, the option number is an integer in
1520           the range 1...65536.
1521
1522       UserClass=
1523           A DHCPv6 client can use User Class option to identify the type or
1524           category of user or applications it represents. The information
1525           contained in this option is a string that represents the user class
1526           of which the client is a member. Each class sets an identifying
1527           string of information to be used by the DHCP service to classify
1528           clients. Special characters in the data string may be escaped using
1529           C-style escapes[18]. This setting can be specified multiple times.
1530           If an empty string is specified, then all options specified earlier
1531           are cleared. Takes a whitespace-separated list of strings. Note
1532           that currently NUL bytes are not allowed.
1533
1534       VendorClass=
1535           A DHCPv6 client can use VendorClass option to identify the vendor
1536           that manufactured the hardware on which the client is running. The
1537           information contained in the data area of this option is contained
1538           in one or more opaque fields that identify details of the hardware
1539           configuration. Takes a whitespace-separated list of strings.
1540

[DHCPV6PREFIXDELEGATION] SECTION OPTIONS

1542       The [DHCPv6PrefixDelegation] section configures delegated prefixes
1543       assigned by DHCPv6 server. The settings in this section are used only
1544       when DHCPv6PrefixDelegation= setting is enabled.
1545
1546       SubnetId=
1547           Configure a specific subnet ID on the interface from a (previously)
1548           received prefix delegation. You can either set "auto" (the default)
1549           or a specific subnet ID (as defined in RFC 4291[21], section
1550           2.5.4), in which case the allowed value is hexadecimal, from 0 to
1551           0x7fffffffffffffff inclusive.
1552
1553       Announce=
1554           Takes a boolean. When enabled, and IPv6SendRA= in [Network] section
1555           is enabled, the delegated prefixes are distributed through the IPv6
1556           Router Advertisement. Defaults to yes.
1557
1558       Assign=
1559           Takes a boolean. Specifies whether to add an address from the
1560           delegated prefixes which are received from the WAN interface by the
1561           DHCPv6 Prefix Delegation. When true (on LAN interfce), the EUI-64
1562           algorithm will be used by default to form an interface identifier
1563           from the delegated prefixes. See also Token= setting below.
1564           Defaults to yes.
1565
1566       Token=
1567           Specifies an optional address generation mode for assigning an
1568           address in each delegated prefix. Takes an IPv6 address. When set,
1569           the lower bits of the supplied address is combined with the upper
1570           bits of each delegatad prefix received from the WAN interface by
1571           the DHCPv6 Prefix Delegation to form a complete address. When
1572           Assign= is disabled, this setting is ignored. When unset, the
1573           EUI-64 algorithm will be used to form addresses. Defaults to unset.
1574
1575       ManageTemporaryAddress=
1576           As in the [Address] section, but defaults to true.
1577

[IPV6ACCEPTRA] SECTION OPTIONS

1579       The [IPv6AcceptRA] section configures the IPv6 Router Advertisement
1580       (RA) client, if it is enabled with the IPv6AcceptRA= setting described
1581       above:
1582
1583       UseDNS=
1584           When true (the default), the DNS servers received in the Router
1585           Advertisement will be used.
1586
1587           This corresponds to the nameserver option in resolv.conf(5).
1588
1589       UseDomains=
1590           Takes a boolean, or the special value "route". When true, the
1591           domain name received via IPv6 Router Advertisement (RA) will be
1592           used as DNS search domain over this link, similar to the effect of
1593           the Domains= setting. If set to "route", the domain name received
1594           via IPv6 RA will be used for routing DNS queries only, but not for
1595           searching, similar to the effect of the Domains= setting when the
1596           argument is prefixed with "~". Defaults to false.
1597
1598           It is recommended to enable this option only on trusted networks,
1599           as setting this affects resolution of all hostnames, in particular
1600           of single-label names. It is generally safer to use the supplied
1601           domain only as routing domain, rather than as search domain, in
1602           order to not have it affect local resolution of single-label names.
1603
1604           When set to true, this setting corresponds to the domain option in
1605           resolv.conf(5).
1606
1607       RouteTable=num
1608           The table identifier for the routes received in the Router
1609           Advertisement (a number between 1 and 4294967295, or 0 to unset).
1610           The table can be retrieved using ip route show table num.
1611
1612       UseAutonomousPrefix=
1613           When true (the default), the autonomous prefix received in the
1614           Router Advertisement will be used and take precedence over any
1615           statically configured ones.
1616
1617       UseOnLinkPrefix=
1618           When true (the default), the onlink prefix received in the Router
1619           Advertisement will be used and takes precedence over any statically
1620           configured ones.
1621
1622       RouterDenyList=
1623           A whitespace-separated list of IPv6 router addresses. Any
1624           information advertised by the listed router is ignored.
1625
1626       RouterAllowList=
1627           A whitespace-separated list of IPv6 router addresses. Only
1628           information advertised by the listed router is accepted. Note that
1629           if RouterAllowList= is configured then RouterDenyList= is ignored.
1630
1631       PrefixDenyList=
1632           A whitespace-separated list of IPv6 prefixes. IPv6 prefixes
1633           supplied via router advertisements in the list are ignored.
1634
1635       PrefixAllowList=
1636           A whitespace-separated list of IPv6 prefixes. IPv6 prefixes
1637           supplied via router advertisements in the list are allowed. Note
1638           that if PrefixAllowList= is configured then PrefixDenyList= is
1639           ignored.
1640
1641       RouteDenyList=
1642           A whitespace-separated list of IPv6 route prefixes. IPv6 route
1643           prefixes supplied via router advertisements in the list are
1644           ignored.
1645
1646       RouteAllowList=
1647           A whitespace-separated list of IPv6 route prefixes. IPv6 route
1648           prefixes supplied via router advertisements in the list are
1649           allowed. Note that if RouteAllowList= is configured then
1650           RouteDenyList= is ignored.
1651
1652       DHCPv6Client=
1653           Takes a boolean, or the special value "always". When true or
1654           "always", the DHCPv6 client will be started when the RA has the
1655           managed or other information flag. If set to "always", the DHCPv6
1656           client will also be started in managed mode when neither managed
1657           nor other information flag is set in the RA. Defaults to true.
1658

[DHCPSERVER] SECTION OPTIONS

1660       The [DHCPServer] section contains settings for the DHCP server, if
1661       enabled via the DHCPServer= option described above:
1662
1663       PoolOffset=, PoolSize=
1664           Configures the pool of addresses to hand out. The pool is a
1665           contiguous sequence of IP addresses in the subnet configured for
1666           the server address, which does not include the subnet nor the
1667           broadcast address.  PoolOffset= takes the offset of the pool from
1668           the start of subnet, or zero to use the default value.  PoolSize=
1669           takes the number of IP addresses in the pool or zero to use the
1670           default value. By default, the pool starts at the first address
1671           after the subnet address and takes up the rest of the subnet,
1672           excluding the broadcast address. If the pool includes the server
1673           address (the default), this is reserved and not handed out to
1674           clients.
1675
1676       DefaultLeaseTimeSec=, MaxLeaseTimeSec=
1677           Control the default and maximum DHCP lease time to pass to clients.
1678           These settings take time values in seconds or another common time
1679           unit, depending on the suffix. The default lease time is used for
1680           clients that did not ask for a specific lease time. If a client
1681           asks for a lease time longer than the maximum lease time, it is
1682           automatically shortened to the specified time. The default lease
1683           time defaults to 1h, the maximum lease time to 12h. Shorter lease
1684           times are beneficial if the configuration data in DHCP leases
1685           changes frequently and clients shall learn the new settings with
1686           shorter latencies. Longer lease times reduce the generated DHCP
1687           network traffic.
1688
1689       EmitDNS=, DNS=
1690           EmitDNS= takes a boolean. Configures whether the DHCP leases handed
1691           out to clients shall contain DNS server information. Defaults to
1692           "yes". The DNS servers to pass to clients may be configured with
1693           the DNS= option, which takes a list of IPv4 addresses. If the
1694           EmitDNS= option is enabled but no servers configured, the servers
1695           are automatically propagated from an "uplink" interface that has
1696           appropriate servers set. The "uplink" interface is determined by
1697           the default route of the system with the highest priority. Note
1698           that this information is acquired at the time the lease is handed
1699           out, and does not take uplink interfaces into account that acquire
1700           DNS server information at a later point. If no suitable uplink
1701           interface is found the DNS server data from /etc/resolv.conf is
1702           used. Also, note that the leases are not refreshed if the uplink
1703           network configuration changes. To ensure clients regularly acquire
1704           the most current uplink DNS server information, it is thus
1705           advisable to shorten the DHCP lease time via MaxLeaseTimeSec=
1706           described above.
1707
1708       EmitNTP=, NTP=, EmitSIP=, SIP=, EmitPOP3=, POP3=, EmitSMTP=, SMTP=,
1709       EmitLPR=, LPR=
1710           Similar to the EmitDNS= and DNS= settings described above, these
1711           settings configure whether and what server information for the
1712           indicate protocol shall be emitted as part of the DHCP lease. The
1713           same syntax, propagation semantics and defaults apply as for
1714           EmitDNS= and DNS=.
1715
1716       EmitRouter=
1717           Similar to the EmitDNS= setting described above, this setting
1718           configures whether the DHCP lease should contain the router option.
1719           The same syntax, propagation semantics and defaults apply as for
1720           EmitDNS=.
1721
1722       EmitTimezone=, Timezone=
1723           Takes a boolean. Configures whether the DHCP leases handed out to
1724           clients shall contain timezone information. Defaults to "yes". The
1725           Timezone= setting takes a timezone string (such as "Europe/Berlin"
1726           or "UTC") to pass to clients. If no explicit timezone is set, the
1727           system timezone of the local host is propagated, as determined by
1728           the /etc/localtime symlink.
1729
1730       SendOption=
1731           Send a raw option with value via DHCPv4 server. Takes a DHCP option
1732           number, data type and data ("option:type:value"). The option number
1733           is an integer in the range 1...254. The type takes one of "uint8",
1734           "uint16", "uint32", "ipv4address", "ipv6address", or "string".
1735           Special characters in the data string may be escaped using C-style
1736           escapes[18]. This setting can be specified multiple times. If an
1737           empty string is specified, then all options specified earlier are
1738           cleared. Defaults to unset.
1739
1740       SendVendorOption=
1741           Send a vendor option with value via DHCPv4 server. Takes a DHCP
1742           option number, data type and data ("option:type:value"). The option
1743           number is an integer in the range 1...254. The type takes one of
1744           "uint8", "uint16", "uint32", "ipv4address", or "string". Special
1745           characters in the data string may be escaped using C-style
1746           escapes[18]. This setting can be specified multiple times. If an
1747           empty string is specified, then all options specified earlier are
1748           cleared. Defaults to unset.
1749

[IPV6SENDRA] SECTION OPTIONS

1751       The [IPv6SendRA] section contains settings for sending IPv6 Router
1752       Advertisements and whether to act as a router, if enabled via the
1753       IPv6SendRA= option described above. IPv6 network prefixes or routes are
1754       defined with one or more [IPv6Prefix] or [IPv6RoutePrefix] sections.
1755
1756       Managed=, OtherInformation=
1757           Takes a boolean. Controls whether a DHCPv6 server is used to
1758           acquire IPv6 addresses on the network link when Managed= is set to
1759           "true" or if only additional network information can be obtained
1760           via DHCPv6 for the network link when OtherInformation= is set to
1761           "true". Both settings default to "false", which means that a DHCPv6
1762           server is not being used.
1763
1764       RouterLifetimeSec=
1765           Takes a timespan. Configures the IPv6 router lifetime in seconds.
1766           When set to 0, the host is not acting as a router. Defaults to 30
1767           minutes.
1768
1769       RouterPreference=
1770           Configures IPv6 router preference if RouterLifetimeSec= is
1771           non-zero. Valid values are "high", "medium" and "low", with
1772           "normal" and "default" added as synonyms for "medium" just to make
1773           configuration easier. See RFC 4191[15] for details. Defaults to
1774           "medium".
1775
1776       EmitDNS=, DNS=
1777           DNS= specifies a list of recursive DNS server IPv6 addresses that
1778           are distributed via Router Advertisement messages when EmitDNS= is
1779           true.  DNS= also takes special value "_link_local"; in that case
1780           the IPv6 link local address is distributed. If DNS= is empty, DNS
1781           servers are read from the [Network] section. If the [Network]
1782           section does not contain any DNS servers either, DNS servers from
1783           the uplink with the highest priority default route are used. When
1784           EmitDNS= is false, no DNS server information is sent in Router
1785           Advertisement messages.  EmitDNS= defaults to true.
1786
1787       EmitDomains=, Domains=
1788           A list of DNS search domains distributed via Router Advertisement
1789           messages when EmitDomains= is true. If Domains= is empty, DNS
1790           search domains are read from the [Network] section. If the
1791           [Network] section does not contain any DNS search domains either,
1792           DNS search domains from the uplink with the highest priority
1793           default route are used. When EmitDomains= is false, no DNS search
1794           domain information is sent in Router Advertisement messages.
1795           EmitDomains= defaults to true.
1796
1797       DNSLifetimeSec=
1798           Lifetime in seconds for the DNS server addresses listed in DNS= and
1799           search domains listed in Domains=.
1800

[IPV6PREFIX] SECTION OPTIONS

1802       One or more [IPv6Prefix] sections contain the IPv6 prefixes that are
1803       announced via Router Advertisements. See RFC 4861[22] for further
1804       details.
1805
1806       AddressAutoconfiguration=, OnLink=
1807           Takes a boolean to specify whether IPv6 addresses can be
1808           autoconfigured with this prefix and whether the prefix can be used
1809           for onlink determination. Both settings default to "true" in order
1810           to ease configuration.
1811
1812       Prefix=
1813           The IPv6 prefix that is to be distributed to hosts. Similarly to
1814           configuring static IPv6 addresses, the setting is configured as an
1815           IPv6 prefix and its prefix length, separated by a "/" character.
1816           Use multiple [IPv6Prefix] sections to configure multiple IPv6
1817           prefixes since prefix lifetimes, address autoconfiguration and
1818           onlink status may differ from one prefix to another.
1819
1820       PreferredLifetimeSec=, ValidLifetimeSec=
1821           Preferred and valid lifetimes for the prefix measured in seconds.
1822           PreferredLifetimeSec= defaults to 604800 seconds (one week) and
1823           ValidLifetimeSec= defaults to 2592000 seconds (30 days).
1824
1825       Assign=
1826           Takes a boolean. When true, adds an address from the prefix.
1827           Default to false.
1828

[IPV6ROUTEPREFIX] SECTION OPTIONS

1830       One or more [IPv6RoutePrefix] sections contain the IPv6 prefix routes
1831       that are announced via Router Advertisements. See RFC 4191[15] for
1832       further details.
1833
1834       Route=
1835           The IPv6 route that is to be distributed to hosts. Similarly to
1836           configuring static IPv6 routes, the setting is configured as an
1837           IPv6 prefix routes and its prefix route length, separated by a "/"
1838           character. Use multiple [IPv6PrefixRoutes] sections to configure
1839           multiple IPv6 prefix routes.
1840
1841       LifetimeSec=
1842           Lifetime for the route prefix measured in seconds.  LifetimeSec=
1843           defaults to 604800 seconds (one week).
1844

[BRIDGE] SECTION OPTIONS

1846       The [Bridge] section accepts the following keys:
1847
1848       UnicastFlood=
1849           Takes a boolean. Controls whether the bridge should flood traffic
1850           for which an FDB entry is missing and the destination is unknown
1851           through this port. When unset, the kernel's default will be used.
1852
1853       MulticastFlood=
1854           Takes a boolean. Controls whether the bridge should flood traffic
1855           for which an MDB entry is missing and the destination is unknown
1856           through this port. When unset, the kernel's default will be used.
1857
1858       MulticastToUnicast=
1859           Takes a boolean. Multicast to unicast works on top of the multicast
1860           snooping feature of the bridge. Which means unicast copies are only
1861           delivered to hosts which are interested in it. When unset, the
1862           kernel's default will be used.
1863
1864       NeighborSuppression=
1865           Takes a boolean. Configures whether ARP and ND neighbor suppression
1866           is enabled for this port. When unset, the kernel's default will be
1867           used.
1868
1869       Learning=
1870           Takes a boolean. Configures whether MAC address learning is enabled
1871           for this port. When unset, the kernel's default will be used.
1872
1873       HairPin=
1874           Takes a boolean. Configures whether traffic may be sent back out of
1875           the port on which it was received. When this flag is false, then
1876           the bridge will not forward traffic back out of the receiving port.
1877           When unset, the kernel's default will be used.
1878
1879       UseBPDU=
1880           Takes a boolean. Configures whether STP Bridge Protocol Data Units
1881           will be processed by the bridge port. When unset, the kernel's
1882           default will be used.
1883
1884       FastLeave=
1885           Takes a boolean. This flag allows the bridge to immediately stop
1886           multicast traffic on a port that receives an IGMP Leave message. It
1887           is only used with IGMP snooping if enabled on the bridge. When
1888           unset, the kernel's default will be used.
1889
1890       AllowPortToBeRoot=
1891           Takes a boolean. Configures whether a given port is allowed to
1892           become a root port. Only used when STP is enabled on the bridge.
1893           When unset, the kernel's default will be used.
1894
1895       ProxyARP=
1896           Takes a boolean. Configures whether proxy ARP to be enabled on this
1897           port. When unset, the kernel's default will be used.
1898
1899       ProxyARPWiFi=
1900           Takes a boolean. Configures whether proxy ARP to be enabled on this
1901           port which meets extended requirements by IEEE 802.11 and Hotspot
1902           2.0 specifications. When unset, the kernel's default will be used.
1903
1904       MulticastRouter=
1905           Configures this port for having multicast routers attached. A port
1906           with a multicast router will receive all multicast traffic. Takes
1907           one of "no" to disable multicast routers on this port, "query" to
1908           let the system detect the presence of routers, "permanent" to
1909           permanently enable multicast traffic forwarding on this port, or
1910           "temporary" to enable multicast routers temporarily on this port,
1911           not depending on incoming queries. When unset, the kernel's default
1912           will be used.
1913
1914       Cost=
1915           Sets the "cost" of sending packets of this interface. Each port in
1916           a bridge may have a different speed and the cost is used to decide
1917           which link to use. Faster interfaces should have lower costs. It is
1918           an integer value between 1 and 65535.
1919
1920       Priority=
1921           Sets the "priority" of sending packets on this interface. Each port
1922           in a bridge may have a different priority which is used to decide
1923           which link to use. Lower value means higher priority. It is an
1924           integer value between 0 to 63. Networkd does not set any default,
1925           meaning the kernel default value of 32 is used.
1926

[BRIDGEFDB] SECTION OPTIONS

1928       The [BridgeFDB] section manages the forwarding database table of a port
1929       and accepts the following keys. Specify several [BridgeFDB] sections to
1930       configure several static MAC table entries.
1931
1932       MACAddress=
1933           As in the [Network] section. This key is mandatory.
1934
1935       Destination=
1936           Takes an IP address of the destination VXLAN tunnel endpoint.
1937
1938       VLANId=
1939           The VLAN ID for the new static MAC table entry. If omitted, no VLAN
1940           ID information is appended to the new static MAC table entry.
1941
1942       VNI=
1943           The VXLAN Network Identifier (or VXLAN Segment ID) to use to
1944           connect to the remote VXLAN tunnel endpoint. Takes a number in the
1945           range 1...16777215. Defaults to unset.
1946
1947       AssociatedWith=
1948           Specifies where the address is associated with. Takes one of "use",
1949           "self", "master" or "router".  "use" means the address is in use.
1950           User space can use this option to indicate to the kernel that the
1951           fdb entry is in use.  "self" means the address is associated with
1952           the port drivers fdb. Usually hardware.  "master" means the address
1953           is associated with master devices fdb.  "router" means the
1954           destination address is associated with a router. Note that it's
1955           valid if the referenced device is a VXLAN type device and has route
1956           shortcircuit enabled. Defaults to "self".
1957

[BRIDGEMDB] SECTION OPTIONS

1959       The [BridgeMDB] section manages the multicast membership entries
1960       forwarding database table of a port and accepts the following keys.
1961       Specify several [BridgeMDB] sections to configure several permanent
1962       multicast membership entries.
1963
1964       MulticastGroupAddress=
1965           Specifies the IPv4 or IPv6 multicast group address to add. This
1966           setting is mandatory.
1967
1968       VLANId=
1969           The VLAN ID for the new entry. Valid ranges are 0 (no VLAN) to
1970           4094. Optional, defaults to 0.
1971

[LLDP] SECTION OPTIONS

1973       The [LLDP] section manages the Link Layer Discovery Protocol (LLDP) and
1974       accepts the following keys:
1975
1976       MUDURL=
1977           When configured, the specified Manufacturer Usage Descriptions
1978           (MUD) URL will be sent in LLDP packets. The syntax and semantics
1979           are the same as for MUDURL= in the [DHCPv4] section described
1980           above.
1981
1982           The MUD URLs received via LLDP packets are saved and can be read
1983           using the sd_lldp_neighbor_get_mud_url() function.
1984

[CAN] SECTION OPTIONS

1986       The [CAN] section manages the Controller Area Network (CAN bus) and
1987       accepts the following keys:
1988
1989       BitRate=
1990           The bitrate of CAN device in bits per second. The usual SI prefixes
1991           (K, M) with the base of 1000 can be used here. Takes a number in
1992           the range 1...4294967295.
1993
1994       SamplePoint=
1995           Optional sample point in percent with one decimal (e.g.  "75%",
1996           "87.5%") or permille (e.g.  "875‰").
1997
1998       DataBitRate=, DataSamplePoint=
1999           The bitrate and sample point for the data phase, if CAN-FD is used.
2000           These settings are analogous to the BitRate= and SamplePoint= keys.
2001
2002       FDMode=
2003           Takes a boolean. When "yes", CAN-FD mode is enabled for the
2004           interface. Note, that a bitrate and optional sample point should
2005           also be set for the CAN-FD data phase using the DataBitRate= and
2006           DataSamplePoint= keys.
2007
2008       FDNonISO=
2009           Takes a boolean. When "yes", non-ISO CAN-FD mode is enabled for the
2010           interface. When unset, the kernel's default will be used.
2011
2012       RestartSec=
2013           Automatic restart delay time. If set to a non-zero value, a restart
2014           of the CAN controller will be triggered automatically in case of a
2015           bus-off condition after the specified delay time. Subsecond delays
2016           can be specified using decimals (e.g.  "0.1s") or a "ms" or "us"
2017           postfix. Using "infinity" or "0" will turn the automatic restart
2018           off. By default automatic restart is disabled.
2019
2020       Termination=
2021           Takes a boolean. When "yes", the termination resistor will be
2022           selected for the bias network. When unset, the kernel's default
2023           will be used.
2024
2025       TripleSampling=
2026           Takes a boolean. When "yes", three samples (instead of one) are
2027           used to determine the value of a received bit by majority rule.
2028           When unset, the kernel's default will be used.
2029
2030       BusErrorReporting=
2031           Takes a boolean. When "yes", reporting of CAN bus errors is
2032           activated (those include single bit, frame format, and bit stuffing
2033           errors, unable to send dominant bit, unable to send recessive bit,
2034           bus overload, active error announcement, error occurred on
2035           transmission). When unset, the kernel's default will be used. Note:
2036           in case of a CAN bus with a single CAN device, sending a CAN frame
2037           may result in a huge number of CAN bus errors.
2038
2039       ListenOnly=
2040           Takes a boolean. When "yes", listen-only mode is enabled. When the
2041           interface is in listen-only mode, the interface neither transmit
2042           CAN frames nor send ACK bit. Listen-only mode is important to debug
2043           CAN networks without interfering with the communication or
2044           acknowledge the CAN frame. When unset, the kernel's default will be
2045           used.
2046

[QDISC] SECTION OPTIONS

2048       The [QDisc] section manages the traffic control queueing discipline
2049       (qdisc).
2050
2051       Parent=
2052           Specifies the parent Queueing Discipline (qdisc). Takes one of
2053           "clsact" or "ingress". This is mandatory.
2054
2055       Handle=
2056           Configures the major number of unique identifier of the qdisc,
2057           known as the handle. Takes a hexadecimal number in the range
2058           0x1–0xffff. Defaults to unset.
2059

[NETWORKEMULATOR] SECTION OPTIONS

2061       The [NetworkEmulator] section manages the queueing discipline (qdisc)
2062       of the network emulator. It can be used to configure the kernel packet
2063       scheduler and simulate packet delay and loss for UDP or TCP
2064       applications, or limit the bandwidth usage of a particular service to
2065       simulate internet connections.
2066
2067       Parent=
2068           Configures the parent Queueing Discipline (qdisc). Takes one of
2069           "root", "clsact", "ingress" or a class identifier. The class
2070           identifier is specified as the major and minor numbers in
2071           hexadecimal in the range 0x1–Oxffff separated with a colon
2072           ("major:minor"). Defaults to "root".
2073
2074       Handle=
2075           Configures the major number of unique identifier of the qdisc,
2076           known as the handle. Takes a hexadecimal number in the range
2077           0x1–0xffff. Defaults to unset.
2078
2079       DelaySec=
2080           Specifies the fixed amount of delay to be added to all packets
2081           going out of the interface. Defaults to unset.
2082
2083       DelayJitterSec=
2084           Specifies the chosen delay to be added to the packets outgoing to
2085           the network interface. Defaults to unset.
2086
2087       PacketLimit=
2088           Specifies the maximum number of packets the qdisc may hold queued
2089           at a time. An unsigned integer in the range 0–4294967294. Defaults
2090           to 1000.
2091
2092       LossRate=
2093           Specifies an independent loss probability to be added to the
2094           packets outgoing from the network interface. Takes a percentage
2095           value, suffixed with "%". Defaults to unset.
2096
2097       DuplicateRate=
2098           Specifies that the chosen percent of packets is duplicated before
2099           queuing them. Takes a percentage value, suffixed with "%". Defaults
2100           to unset.
2101

[TOKENBUCKETFILTER] SECTION OPTIONS

2103       The [TokenBucketFilter] section manages the queueing discipline (qdisc)
2104       of token bucket filter (tbf).
2105
2106       Parent=
2107           Configures the parent Queueing Discipline (qdisc). Takes one of
2108           "root", "clsact", "ingress" or a class identifier. The class
2109           identifier is specified as the major and minor numbers in
2110           hexadecimal in the range 0x1–Oxffff separated with a colon
2111           ("major:minor"). Defaults to "root".
2112
2113       Handle=
2114           Configures the major number of unique identifier of the qdisc,
2115           known as the handle. Takes a hexadecimal number in the range
2116           0x1–0xffff. Defaults to unset.
2117
2118       LatencySec=
2119           Specifies the latency parameter, which specifies the maximum amount
2120           of time a packet can sit in the Token Bucket Filter (TBF). Defaults
2121           to unset.
2122
2123       LimitBytes=
2124           Takes the number of bytes that can be queued waiting for tokens to
2125           become available. When the size is suffixed with K, M, or G, it is
2126           parsed as Kilobytes, Megabytes, or Gigabytes, respectively, to the
2127           base of 1024. Defaults to unset.
2128
2129       BurstBytes=
2130           Specifies the size of the bucket. This is the maximum amount of
2131           bytes that tokens can be available for instantaneous transfer. When
2132           the size is suffixed with K, M, or G, it is parsed as Kilobytes,
2133           Megabytes, or Gigabytes, respectively, to the base of 1024.
2134           Defaults to unset.
2135
2136       Rate=
2137           Specifies the device specific bandwidth. When suffixed with K, M,
2138           or G, the specified bandwidth is parsed as Kilobits, Megabits, or
2139           Gigabits, respectively, to the base of 1000. Defaults to unset.
2140
2141       MPUBytes=
2142           The Minimum Packet Unit (MPU) determines the minimal token usage
2143           (specified in bytes) for a packet. When suffixed with K, M, or G,
2144           the specified size is parsed as Kilobytes, Megabytes, or Gigabytes,
2145           respectively, to the base of 1024. Defaults to zero.
2146
2147       PeakRate=
2148           Takes the maximum depletion rate of the bucket. When suffixed with
2149           K, M, or G, the specified size is parsed as Kilobits, Megabits, or
2150           Gigabits, respectively, to the base of 1000. Defaults to unset.
2151
2152       MTUBytes=
2153           Specifies the size of the peakrate bucket. When suffixed with K, M,
2154           or G, the specified size is parsed as Kilobytes, Megabytes, or
2155           Gigabytes, respectively, to the base of 1024. Defaults to unset.
2156

[PIE] SECTION OPTIONS

2158       The [PIE] section manages the queueing discipline (qdisc) of
2159       Proportional Integral controller-Enhanced (PIE).
2160
2161       Parent=
2162           Configures the parent Queueing Discipline (qdisc). Takes one of
2163           "root", "clsact", "ingress" or a class identifier. The class
2164           identifier is specified as the major and minor numbers in
2165           hexadecimal in the range 0x1–Oxffff separated with a colon
2166           ("major:minor"). Defaults to "root".
2167
2168       Handle=
2169           Configures the major number of unique identifier of the qdisc,
2170           known as the handle. Takes a hexadecimal number in the range
2171           0x1–0xffff. Defaults to unset.
2172
2173       PacketLimit=
2174           Specifies the hard limit on the queue size in number of packets.
2175           When this limit is reached, incoming packets are dropped. An
2176           unsigned integer in the range 1...4294967294. Defaults to unset and
2177           kernel's default is used.
2178

[FLOWQUEUEPIE] SECTION OPTIONS

2180       The "[FlowQueuePIE]" section manages the queueing discipline (qdisc) of
2181       Flow Queue Proportional Integral controller-Enhanced (fq_pie).
2182
2183       Parent=
2184           Configures the parent Queueing Discipline (qdisc). Takes one of
2185           "root", "clsact", "ingress" or a class identifier. The class
2186           identifier is specified as the major and minor numbers in
2187           hexadecimal in the range 0x1–Oxffff separated with a colon
2188           ("major:minor"). Defaults to "root".
2189
2190       Handle=
2191           Configures the major number of unique identifier of the qdisc,
2192           known as the handle. Takes a hexadecimal number in the range
2193           0x1–0xffff. Defaults to unset.
2194
2195       PacketLimit=
2196           Specifies the hard limit on the queue size in number of packets.
2197           When this limit is reached, incoming packets are dropped. An
2198           unsigned integer ranges 1 to 4294967294. Defaults to unset and
2199           kernel's default is used.
2200

[STOCHASTICFAIRBLUE] SECTION OPTIONS

2202       The [StochasticFairBlue] section manages the queueing discipline
2203       (qdisc) of stochastic fair blue (sfb).
2204
2205       Parent=
2206           Configures the parent Queueing Discipline (qdisc). Takes one of
2207           "root", "clsact", "ingress" or a class identifier. The class
2208           identifier is specified as the major and minor numbers in
2209           hexadecimal in the range 0x1–Oxffff separated with a colon
2210           ("major:minor"). Defaults to "root".
2211
2212       Handle=
2213           Configures the major number of unique identifier of the qdisc,
2214           known as the handle. Takes a hexadecimal number in the range
2215           0x1–0xffff. Defaults to unset.
2216
2217       PacketLimit=
2218           Specifies the hard limit on the queue size in number of packets.
2219           When this limit is reached, incoming packets are dropped. An
2220           unsigned integer in the range 0–4294967294. Defaults to unset and
2221           kernel's default is used.
2222

[STOCHASTICFAIRNESSQUEUEING] SECTION OPTIONS

2224       The [StochasticFairnessQueueing] section manages the queueing
2225       discipline (qdisc) of stochastic fairness queueing (sfq).
2226
2227       Parent=
2228           Configures the parent Queueing Discipline (qdisc). Takes one of
2229           "root", "clsact", "ingress" or a class identifier. The class
2230           identifier is specified as the major and minor numbers in
2231           hexadecimal in the range 0x1–Oxffff separated with a colon
2232           ("major:minor"). Defaults to "root".
2233
2234       Handle=
2235           Configures the major number of unique identifier of the qdisc,
2236           known as the handle. Takes a hexadecimal number in the range
2237           0x1–0xffff. Defaults to unset.
2238
2239       PerturbPeriodSec=
2240           Specifies the interval in seconds for queue algorithm perturbation.
2241           Defaults to unset.
2242

[BFIFO] SECTION OPTIONS

2244       The [BFIFO] section manages the queueing discipline (qdisc) of Byte
2245       limited Packet First In First Out (bfifo).
2246
2247       Parent=
2248           Configures the parent Queueing Discipline (qdisc). Takes one of
2249           "root", "clsact", "ingress" or a class identifier. The class
2250           identifier is specified as the major and minor numbers in
2251           hexadecimal in the range 0x1–Oxffff separated with a colon
2252           ("major:minor"). Defaults to "root".
2253
2254       Handle=
2255           Configures the major number of unique identifier of the qdisc,
2256           known as the handle. Takes a hexadecimal number in the range
2257           0x1–0xffff. Defaults to unset.
2258
2259       LimitBytes=
2260           Specifies the hard limit in bytes on the FIFO buffer size. The size
2261           limit prevents overflow in case the kernel is unable to dequeue
2262           packets as quickly as it receives them. When this limit is reached,
2263           incoming packets are dropped. When suffixed with K, M, or G, the
2264           specified size is parsed as Kilobytes, Megabytes, or Gigabytes,
2265           respectively, to the base of 1024. Defaults to unset and kernel
2266           default is used.
2267

[PFIFO] SECTION OPTIONS

2269       The [PFIFO] section manages the queueing discipline (qdisc) of Packet
2270       First In First Out (pfifo).
2271
2272       Parent=
2273           Configures the parent Queueing Discipline (qdisc). Takes one of
2274           "root", "clsact", "ingress" or a class identifier. The class
2275           identifier is specified as the major and minor numbers in
2276           hexadecimal in the range 0x1–Oxffff separated with a colon
2277           ("major:minor"). Defaults to "root".
2278
2279       Handle=
2280           Configures the major number of unique identifier of the qdisc,
2281           known as the handle. Takes a hexadecimal number in the range
2282           0x1–0xffff. Defaults to unset.
2283
2284       PacketLimit=
2285           Specifies the hard limit on the number of packets in the FIFO
2286           queue. The size limit prevents overflow in case the kernel is
2287           unable to dequeue packets as quickly as it receives them. When this
2288           limit is reached, incoming packets are dropped. An unsigned integer
2289           in the range 0–4294967294. Defaults to unset and kernel's default
2290           is used.
2291

[PFIFOHEADDROP] SECTION OPTIONS

2293       The [PFIFOHeadDrop] section manages the queueing discipline (qdisc) of
2294       Packet First In First Out Head Drop (pfifo_head_drop).
2295
2296       Parent=
2297           Configures the parent Queueing Discipline (qdisc). Takes one of
2298           "root", "clsact", "ingress" or a class identifier. The class
2299           identifier is specified as the major and minor numbers in
2300           hexadecimal in the range 0x1–Oxffff separated with a colon
2301           ("major:minor"). Defaults to "root".
2302
2303       Handle=
2304           Configures the major number of unique identifier of the qdisc,
2305           known as the handle. Takes a hexadecimal number in the range
2306           0x1–0xffff. Defaults to unset.
2307
2308       PacketLimit=
2309           As in [PFIFO] section.
2310

[PFIFOFAST] SECTION OPTIONS

2312       The [PFIFOFast] section manages the queueing discipline (qdisc) of
2313       Packet First In First Out Fast (pfifo_fast).
2314
2315       Parent=
2316           Configures the parent Queueing Discipline (qdisc). Takes one of
2317           "root", "clsact", "ingress" or a class identifier. The class
2318           identifier is specified as the major and minor numbers in
2319           hexadecimal in the range 0x1–Oxffff separated with a colon
2320           ("major:minor"). Defaults to "root".
2321
2322       Handle=
2323           Configures the major number of unique identifier of the qdisc,
2324           known as the handle. Takes a hexadecimal number in the range
2325           0x1–0xffff. Defaults to unset.
2326

[CAKE] SECTION OPTIONS

2328       The [CAKE] section manages the queueing discipline (qdisc) of Common
2329       Applications Kept Enhanced (CAKE).
2330
2331       Parent=
2332           Configures the parent Queueing Discipline (qdisc). Takes one of
2333           "root", "clsact", "ingress" or a class identifier. The class
2334           identifier is specified as the major and minor numbers in
2335           hexadecimal in the range 0x1–Oxffff separated with a colon
2336           ("major:minor"). Defaults to "root".
2337
2338       Handle=
2339           Configures the major number of unique identifier of the qdisc,
2340           known as the handle. Takes a hexadecimal number in the range
2341           0x1–0xffff. Defaults to unset.
2342
2343       OverheadBytes=
2344           Specifies that bytes to be addeded to the size of each packet.
2345           Bytes may be negative. Takes an integer in the range from -64 to
2346           256. Defaults to unset and kernel's default is used.
2347
2348       Bandwidth=
2349           Specifies the shaper bandwidth. When suffixed with K, M, or G, the
2350           specified size is parsed as Kilobits, Megabits, or Gigabits,
2351           respectively, to the base of 1000. Defaults to unset and kernel's
2352           default is used.
2353

[CONTROLLEDDELAY] SECTION OPTIONS

2355       The [ControlledDelay] section manages the queueing discipline (qdisc)
2356       of controlled delay (CoDel).
2357
2358       Parent=
2359           Configures the parent Queueing Discipline (qdisc). Takes one of
2360           "root", "clsact", "ingress" or a class identifier. The class
2361           identifier is specified as the major and minor numbers in
2362           hexadecimal in the range 0x1–Oxffff separated with a colon
2363           ("major:minor"). Defaults to "root".
2364
2365       Handle=
2366           Configures the major number of unique identifier of the qdisc,
2367           known as the handle. Takes a hexadecimal number in the range
2368           0x1–0xffff. Defaults to unset.
2369
2370       PacketLimit=
2371           Specifies the hard limit on the queue size in number of packets.
2372           When this limit is reached, incoming packets are dropped. An
2373           unsigned integer in the range 0–4294967294. Defaults to unset and
2374           kernel's default is used.
2375
2376       TargetSec=
2377           Takes a timespan. Specifies the acceptable minimum
2378           standing/persistent queue delay. Defaults to unset and kernel's
2379           default is used.
2380
2381       IntervalSec=
2382           Takes a timespan. This is used to ensure that the measured minimum
2383           delay does not become too stale. Defaults to unset and kernel's
2384           default is used.
2385
2386       ECN=
2387           Takes a boolean. This can be used to mark packets instead of
2388           dropping them. Defaults to unset and kernel's default is used.
2389
2390       CEThresholdSec=
2391           Takes a timespan. This sets a threshold above which all packets are
2392           marked with ECN Congestion Experienced (CE). Defaults to unset and
2393           kernel's default is used.
2394

[DEFICITROUNDROBINSCHEDULER] SECTION OPTIONS

2396       The [DeficitRoundRobinScheduler] section manages the queueing
2397       discipline (qdisc) of Deficit Round Robin Scheduler (DRR).
2398
2399       Parent=
2400           Configures the parent Queueing Discipline (qdisc). Takes one of
2401           "root", "clsact", "ingress" or a class identifier. The class
2402           identifier is specified as the major and minor numbers in
2403           hexadecimal in the range 0x1–Oxffff separated with a colon
2404           ("major:minor"). Defaults to "root".
2405
2406       Handle=
2407           Configures the major number of unique identifier of the qdisc,
2408           known as the handle. Takes a hexadecimal number in the range
2409           0x1–0xffff. Defaults to unset.
2410

[DEFICITROUNDROBINSCHEDULERCLASS] SECTION OPTIONS

2412       The [DeficitRoundRobinSchedulerClass] section manages the traffic
2413       control class of Deficit Round Robin Scheduler (DRR).
2414
2415       Parent=
2416           Configures the parent Queueing Discipline (qdisc). Takes one of
2417           "root", or a qdisc identifier. The qdisc identifier is specified as
2418           the major and minor numbers in hexadecimal in the range 0x1–Oxffff
2419           separated with a colon ("major:minor"). Defaults to "root".
2420
2421       ClassId=
2422           Configures the unique identifier of the class. It is specified as
2423           the major and minor numbers in hexadecimal in the range 0x1–Oxffff
2424           separated with a colon ("major:minor"). Defaults to unset.
2425
2426       QuantumBytes=
2427           Specifies the amount of bytes a flow is allowed to dequeue before
2428           the scheduler moves to the next class. When suffixed with K, M, or
2429           G, the specified size is parsed as Kilobytes, Megabytes, or
2430           Gigabytes, respectively, to the base of 1024. Defaults to the MTU
2431           of the interface.
2432

[ENHANCEDTRANSMISSIONSELECTION] SECTION OPTIONS

2434       The [EnhancedTransmissionSelection] section manages the queueing
2435       discipline (qdisc) of Enhanced Transmission Selection (ETS).
2436
2437       Parent=
2438           Configures the parent Queueing Discipline (qdisc). Takes one of
2439           "root", "clsact", "ingress" or a class identifier. The class
2440           identifier is specified as the major and minor numbers in
2441           hexadecimal in the range 0x1–Oxffff separated with a colon
2442           ("major:minor"). Defaults to "root".
2443
2444       Handle=
2445           Configures the major number of unique identifier of the qdisc,
2446           known as the handle. Takes a hexadecimal number in the range
2447           0x1–0xffff. Defaults to unset.
2448
2449       Bands=
2450           Specifies the number of bands. An unsigned integer in the range
2451           1–16. This value has to be at least large enough to cover the
2452           strict bands specified through the StrictBands= and
2453           bandwidth-sharing bands specified in QuantumBytes=.
2454
2455       StrictBands=
2456           Specifies the number of bands that should be created in strict
2457           mode. An unsigned integer in the range 1–16.
2458
2459       QuantumBytes=
2460           Specifies the white-space separated list of quantum used in
2461           band-sharing bands. When suffixed with K, M, or G, the specified
2462           size is parsed as Kilobytes, Megabytes, or Gigabytes, respectively,
2463           to the base of 1024. This setting can be specified multiple times.
2464           If an empty string is assigned, then the all previous assignments
2465           are cleared.
2466
2467       PriorityMap=
2468           The priority map maps the priority of a packet to a band. The
2469           argument is a whitespace separated list of numbers. The first
2470           number indicates which band the packets with priority 0 should be
2471           put to, the second is for priority 1, and so on. There can be up to
2472           16 numbers in the list. If there are fewer, the default band that
2473           traffic with one of the unmentioned priorities goes to is the last
2474           one. Each band number must be in the range 0...255. This setting
2475           can be specified multiple times. If an empty string is assigned,
2476           then the all previous assignments are cleared.
2477

[GENERICRANDOMEARLYDETECTION] SECTION OPTIONS

2479       The [GenericRandomEarlyDetection] section manages the queueing
2480       discipline (qdisc) of Generic Random Early Detection (GRED).
2481
2482       Parent=
2483           Configures the parent Queueing Discipline (qdisc). Takes one of
2484           "root", "clsact", "ingress" or a class identifier. The class
2485           identifier is specified as the major and minor numbers in
2486           hexadecimal in the range 0x1–Oxffff separated with a colon
2487           ("major:minor"). Defaults to "root".
2488
2489       Handle=
2490           Configures the major number of unique identifier of the qdisc,
2491           known as the handle. Takes a hexadecimal number in the range
2492           0x1–0xffff. Defaults to unset.
2493
2494       VirtualQueues=
2495           Specifies the number of virtual queues. Takes a integer in the
2496           range 1...16. Defaults to unset and kernel's default is used.
2497
2498       DefaultVirtualQueue=
2499           Specifies the number of default virtual queue. This must be less
2500           than VirtualQueue=. Defaults to unset and kernel's default is used.
2501
2502       GenericRIO=
2503           Takes a boolean. It turns on the RIO-like buffering scheme.
2504           Defaults to unset and kernel's default is used.
2505

[FAIRQUEUEINGCONTROLLEDDELAY] SECTION OPTIONS

2507       The [FairQueueingControlledDelay] section manages the queueing
2508       discipline (qdisc) of fair queuing controlled delay (FQ-CoDel).
2509
2510       Parent=
2511           Configures the parent Queueing Discipline (qdisc). Takes one of
2512           "root", "clsact", "ingress" or a class identifier. The class
2513           identifier is specified as the major and minor numbers in
2514           hexadecimal in the range 0x1–Oxffff separated with a colon
2515           ("major:minor"). Defaults to "root".
2516
2517       Handle=
2518           Configures the major number of unique identifier of the qdisc,
2519           known as the handle. Takes a hexadecimal number in the range
2520           0x1–0xffff. Defaults to unset.
2521
2522       PacketLimit=
2523           Specifies the hard limit on the real queue size. When this limit is
2524           reached, incoming packets are dropped. Defaults to unset and
2525           kernel's default is used.
2526
2527       MemoryLimitBytes=
2528           Specifies the limit on the total number of bytes that can be queued
2529           in this FQ-CoDel instance. When suffixed with K, M, or G, the
2530           specified size is parsed as Kilobytes, Megabytes, or Gigabytes,
2531           respectively, to the base of 1024. Defaults to unset and kernel's
2532           default is used.
2533
2534       Flows=
2535           Specifies the number of flows into which the incoming packets are
2536           classified. Defaults to unset and kernel's default is used.
2537
2538       TargetSec=
2539           Takes a timespan. Specifies the acceptable minimum
2540           standing/persistent queue delay. Defaults to unset and kernel's
2541           default is used.
2542
2543       IntervalSec=
2544           Takes a timespan. This is used to ensure that the measured minimum
2545           delay does not become too stale. Defaults to unset and kernel's
2546           default is used.
2547
2548       QuantumBytes=
2549           Specifies the number of bytes used as the "deficit" in the fair
2550           queuing algorithm timespan. When suffixed with K, M, or G, the
2551           specified size is parsed as Kilobytes, Megabytes, or Gigabytes,
2552           respectively, to the base of 1024. Defaults to unset and kernel's
2553           default is used.
2554
2555       ECN=
2556           Takes a boolean. This can be used to mark packets instead of
2557           dropping them. Defaults to unset and kernel's default is used.
2558
2559       CEThresholdSec=
2560           Takes a timespan. This sets a threshold above which all packets are
2561           marked with ECN Congestion Experienced (CE). Defaults to unset and
2562           kernel's default is used.
2563

[FAIRQUEUEING] SECTION OPTIONS

2565       The [FairQueueing] section manages the queueing discipline (qdisc) of
2566       fair queue traffic policing (FQ).
2567
2568       Parent=
2569           Configures the parent Queueing Discipline (qdisc). Takes one of
2570           "root", "clsact", "ingress" or a class identifier. The class
2571           identifier is specified as the major and minor numbers in
2572           hexadecimal in the range 0x1–Oxffff separated with a colon
2573           ("major:minor"). Defaults to "root".
2574
2575       Handle=
2576           Configures the major number of unique identifier of the qdisc,
2577           known as the handle. Takes a hexadecimal number in the range
2578           0x1–0xffff. Defaults to unset.
2579
2580       PacketLimit=
2581           Specifies the hard limit on the real queue size. When this limit is
2582           reached, incoming packets are dropped. Defaults to unset and
2583           kernel's default is used.
2584
2585       FlowLimit=
2586           Specifies the hard limit on the maximum number of packets queued
2587           per flow. Defaults to unset and kernel's default is used.
2588
2589       QuantumBytes=
2590           Specifies the credit per dequeue RR round, i.e. the amount of bytes
2591           a flow is allowed to dequeue at once. When suffixed with K, M, or
2592           G, the specified size is parsed as Kilobytes, Megabytes, or
2593           Gigabytes, respectively, to the base of 1024. Defaults to unset and
2594           kernel's default is used.
2595
2596       InitialQuantumBytes=
2597           Specifies the initial sending rate credit, i.e. the amount of bytes
2598           a new flow is allowed to dequeue initially. When suffixed with K,
2599           M, or G, the specified size is parsed as Kilobytes, Megabytes, or
2600           Gigabytes, respectively, to the base of 1024. Defaults to unset and
2601           kernel's default is used.
2602
2603       MaximumRate=
2604           Specifies the maximum sending rate of a flow. When suffixed with K,
2605           M, or G, the specified size is parsed as Kilobits, Megabits, or
2606           Gigabits, respectively, to the base of 1000. Defaults to unset and
2607           kernel's default is used.
2608
2609       Buckets=
2610           Specifies the size of the hash table used for flow lookups.
2611           Defaults to unset and kernel's default is used.
2612
2613       OrphanMask=
2614           Takes an unsigned integer. For packets not owned by a socket, fq is
2615           able to mask a part of hash and reduce number of buckets associated
2616           with the traffic. Defaults to unset and kernel's default is used.
2617
2618       Pacing=
2619           Takes a boolean, and enables or disables flow pacing. Defaults to
2620           unset and kernel's default is used.
2621
2622       CEThresholdSec=
2623           Takes a timespan. This sets a threshold above which all packets are
2624           marked with ECN Congestion Experienced (CE). Defaults to unset and
2625           kernel's default is used.
2626

[TRIVIALLINKEQUALIZER] SECTION OPTIONS

2628       The [TrivialLinkEqualizer] section manages the queueing discipline
2629       (qdisc) of trivial link equalizer (teql).
2630
2631       Parent=
2632           Configures the parent Queueing Discipline (qdisc). Takes one of
2633           "root", "clsact", "ingress" or a class identifier. The class
2634           identifier is specified as the major and minor numbers in
2635           hexadecimal in the range 0x1–Oxffff separated with a colon
2636           ("major:minor"). Defaults to "root".
2637
2638       Handle=
2639           Configures the major number of unique identifier of the qdisc,
2640           known as the handle. Takes a hexadecimal number in the range
2641           0x1–0xffff. Defaults to unset.
2642
2643       Id=
2644           Specifies the interface ID "N" of teql. Defaults to "0". Note that
2645           when teql is used, currently, the module sch_teql with
2646           max_equalizers=N+1 option must be loaded before systemd-networkd is
2647           started.
2648

[HIERARCHYTOKENBUCKET] SECTION OPTIONS

2650       The [HierarchyTokenBucket] section manages the queueing discipline
2651       (qdisc) of hierarchy token bucket (htb).
2652
2653       Parent=
2654           Configures the parent Queueing Discipline (qdisc). Takes one of
2655           "root", "clsact", "ingress" or a class identifier. The class
2656           identifier is specified as the major and minor numbers in
2657           hexadecimal in the range 0x1–Oxffff separated with a colon
2658           ("major:minor"). Defaults to "root".
2659
2660       Handle=
2661           Configures the major number of unique identifier of the qdisc,
2662           known as the handle. Takes a hexadecimal number in the range
2663           0x1–0xffff. Defaults to unset.
2664
2665       DefaultClass=
2666           Takes the minor id in hexadecimal of the default class.
2667           Unclassified traffic gets sent to the class. Defaults to unset.
2668
2669       RateToQuantum=
2670           Takes an unsigned integer. The DRR quantums are calculated by
2671           dividing the value configured in Rate= by RateToQuantum=.
2672

[HIERARCHYTOKENBUCKETCLASS] SECTION OPTIONS

2674       The [HierarchyTokenBucketClass] section manages the traffic control
2675       class of hierarchy token bucket (htb).
2676
2677       Parent=
2678           Configures the parent Queueing Discipline (qdisc). Takes one of
2679           "root", or a qdisc identifier. The qdisc identifier is specified as
2680           the major and minor numbers in hexadecimal in the range 0x1–Oxffff
2681           separated with a colon ("major:minor"). Defaults to "root".
2682
2683       ClassId=
2684           Configures the unique identifier of the class. It is specified as
2685           the major and minor numbers in hexadecimal in the range 0x1–Oxffff
2686           separated with a colon ("major:minor"). Defaults to unset.
2687
2688       Priority=
2689           Specifies the priority of the class. In the round-robin process,
2690           classes with the lowest priority field are tried for packets first.
2691
2692       QuantumBytes=
2693           Specifies how many bytes to serve from leaf at once. When suffixed
2694           with K, M, or G, the specified size is parsed as Kilobytes,
2695           Megabytes, or Gigabytes, respectively, to the base of 1024.
2696
2697       MTUBytes=
2698           Specifies the maximum packet size we create. When suffixed with K,
2699           M, or G, the specified size is parsed as Kilobytes, Megabytes, or
2700           Gigabytes, respectively, to the base of 1024.
2701
2702       OverheadBytes=
2703           Takes an unsigned integer which specifies per-packet size overhead
2704           used in rate computations. When suffixed with K, M, or G, the
2705           specified size is parsed as Kilobytes, Megabytes, or Gigabytes,
2706           respectively, to the base of 1024.
2707
2708       Rate=
2709           Specifies the maximum rate this class and all its children are
2710           guaranteed. When suffixed with K, M, or G, the specified size is
2711           parsed as Kilobits, Megabits, or Gigabits, respectively, to the
2712           base of 1000. This setting is mandatory.
2713
2714       CeilRate=
2715           Specifies the maximum rate at which a class can send, if its parent
2716           has bandwidth to spare. When suffixed with K, M, or G, the
2717           specified size is parsed as Kilobits, Megabits, or Gigabits,
2718           respectively, to the base of 1000. When unset, the value specified
2719           with Rate= is used.
2720
2721       BufferBytes=
2722           Specifies the maximum bytes burst which can be accumulated during
2723           idle period. When suffixed with K, M, or G, the specified size is
2724           parsed as Kilobytes, Megabytes, or Gigabytes, respectively, to the
2725           base of 1024.
2726
2727       CeilBufferBytes=
2728           Specifies the maximum bytes burst for ceil which can be accumulated
2729           during idle period. When suffixed with K, M, or G, the specified
2730           size is parsed as Kilobytes, Megabytes, or Gigabytes, respectively,
2731           to the base of 1024.
2732

[HEAVYHITTERFILTER] SECTION OPTIONS

2734       The [HeavyHitterFilter] section manages the queueing discipline (qdisc)
2735       of Heavy Hitter Filter (hhf).
2736
2737       Parent=
2738           Configures the parent Queueing Discipline (qdisc). Takes one of
2739           "root", "clsact", "ingress" or a class identifier. The class
2740           identifier is specified as the major and minor numbers in
2741           hexadecimal in the range 0x1–Oxffff separated with a colon
2742           ("major:minor"). Defaults to "root".
2743
2744       Handle=
2745           Configures the major number of unique identifier of the qdisc,
2746           known as the handle. Takes a hexadecimal number in the range
2747           0x1–0xffff. Defaults to unset.
2748
2749       PacketLimit=
2750           Specifies the hard limit on the queue size in number of packets.
2751           When this limit is reached, incoming packets are dropped. An
2752           unsigned integer in the range 0–4294967294. Defaults to unset and
2753           kernel's default is used.
2754

[QUICKFAIRQUEUEING] SECTION OPTIONS

2756       The [QuickFairQueueing] section manages the queueing discipline (qdisc)
2757       of Quick Fair Queueing (QFQ).
2758
2759       Parent=
2760           Configures the parent Queueing Discipline (qdisc). Takes one of
2761           "root", "clsact", "ingress" or a class identifier. The class
2762           identifier is specified as the major and minor numbers in
2763           hexadecimal in the range 0x1–Oxffff separated with a colon
2764           ("major:minor"). Defaults to "root".
2765
2766       Handle=
2767           Configures the major number of unique identifier of the qdisc,
2768           known as the handle. Takes a hexadecimal number in the range
2769           0x1–0xffff. Defaults to unset.
2770

[QUICKFAIRQUEUEINGCLASS] SECTION OPTIONS

2772       The [QuickFairQueueingClass] section manages the traffic control class
2773       of Quick Fair Queueing (qfq).
2774
2775       Parent=
2776           Configures the parent Queueing Discipline (qdisc). Takes one of
2777           "root", or a qdisc identifier. The qdisc identifier is specified as
2778           the major and minor numbers in hexadecimal in the range 0x1–Oxffff
2779           separated with a colon ("major:minor"). Defaults to "root".
2780
2781       ClassId=
2782           Configures the unique identifier of the class. It is specified as
2783           the major and minor numbers in hexadecimal in the range 0x1–Oxffff
2784           separated with a colon ("major:minor"). Defaults to unset.
2785
2786       Weight=
2787           Specifies the weight of the class. Takes an integer in the range
2788           1...1023. Defaults to unset in which case the kernel default is
2789           used.
2790
2791       MaxPacketBytes=
2792           Specifies the maximum packet size in bytes for the class. When
2793           suffixed with K, M, or G, the specified size is parsed as
2794           Kilobytes, Megabytes, or Gigabytes, respectively, to the base of
2795           1024. When unset, the kernel default is used.
2796

[BRIDGEVLAN] SECTION OPTIONS

2798       The [BridgeVLAN] section manages the VLAN ID configuration of a bridge
2799       port and accepts the following keys. Specify several [BridgeVLAN]
2800       sections to configure several VLAN entries. The VLANFiltering= option
2801       has to be enabled, see the [Bridge] section in systemd.netdev(5).
2802
2803       VLAN=
2804           The VLAN ID allowed on the port. This can be either a single ID or
2805           a range M-N. VLAN IDs are valid from 1 to 4094.
2806
2807       EgressUntagged=
2808           The VLAN ID specified here will be used to untag frames on egress.
2809           Configuring EgressUntagged= implicates the use of VLAN= above and
2810           will enable the VLAN ID for ingress as well. This can be either a
2811           single ID or a range M-N.
2812
2813       PVID=
2814           The Port VLAN ID specified here is assigned to all untagged frames
2815           at ingress.  PVID= can be used only once. Configuring PVID=
2816           implicates the use of VLAN= above and will enable the VLAN ID for
2817           ingress as well.
2818

EXAMPLES

2820       Example 1. Static network configuration
2821
2822           # /etc/systemd/network/50-static.network
2823           [Match]
2824           Name=enp2s0
2825
2826           [Network]
2827           Address=192.168.0.15/24
2828           Gateway=192.168.0.1
2829
2830       This brings interface "enp2s0" up with a static address. The specified
2831       gateway will be used for a default route.
2832
2833       Example 2. DHCP on ethernet links
2834
2835           # /etc/systemd/network/80-dhcp.network
2836           [Match]
2837           Name=en*
2838
2839           [Network]
2840           DHCP=yes
2841
2842       This will enable DHCPv4 and DHCPv6 on all interfaces with names
2843       starting with "en" (i.e. ethernet interfaces).
2844
2845       Example 3. IPv6 Prefix Delegation
2846
2847           # /etc/systemd/network/55-ipv6-pd-upstream.network
2848           [Match]
2849           Name=enp1s0
2850
2851           [Network]
2852           DHCP=ipv6
2853
2854           # /etc/systemd/network/56-ipv6-pd-downstream.network
2855           [Match]
2856           Name=enp2s0
2857
2858           [Network]
2859           IPv6SendRA=yes
2860           DHCPv6PrefixDelegation=yes
2861
2862       This will enable DHCPv6-PD on the interface enp1s0 as an upstream
2863       interface where the DHCPv6 client is running and enp2s0 as a downstream
2864       interface where the prefix is delegated to. The delegated prefixes are
2865       distributed by IPv6 Router Advertisement on the downstream network.
2866
2867       Example 4. A bridge with two enslaved links
2868
2869           # /etc/systemd/network/25-bridge-static.network
2870           [Match]
2871           Name=bridge0
2872
2873           [Network]
2874           Address=192.168.0.15/24
2875           Gateway=192.168.0.1
2876           DNS=192.168.0.1
2877
2878           # /etc/systemd/network/25-bridge-slave-interface-1.network
2879           [Match]
2880           Name=enp2s0
2881
2882           [Network]
2883           Bridge=bridge0
2884
2885           # /etc/systemd/network/25-bridge-slave-interface-2.network
2886           [Match]
2887           Name=wlp3s0
2888
2889           [Network]
2890           Bridge=bridge0
2891
2892       This creates a bridge and attaches devices "enp2s0" and "wlp3s0" to it.
2893       The bridge will have the specified static address and network assigned,
2894       and a default route via the specified gateway will be added. The
2895       specified DNS server will be added to the global list of DNS resolvers.
2896
2897       Example 5.
2898
2899           # /etc/systemd/network/20-bridge-slave-interface-vlan.network
2900           [Match]
2901           Name=enp2s0
2902
2903           [Network]
2904           Bridge=bridge0
2905
2906           [BridgeVLAN]
2907           VLAN=1-32
2908           PVID=42
2909           EgressUntagged=42
2910
2911           [BridgeVLAN]
2912           VLAN=100-200
2913
2914           [BridgeVLAN]
2915           EgressUntagged=300-400
2916
2917       This overrides the configuration specified in the previous example for
2918       the interface "enp2s0", and enables VLAN on that bridge port. VLAN IDs
2919       1-32, 42, 100-400 will be allowed. Packets tagged with VLAN IDs 42,
2920       300-400 will be untagged when they leave on this interface. Untagged
2921       packets which arrive on this interface will be assigned VLAN ID 42.
2922
2923       Example 6. Various tunnels
2924
2925           /etc/systemd/network/25-tunnels.network
2926           [Match]
2927           Name=ens1
2928
2929           [Network]
2930           Tunnel=ipip-tun
2931           Tunnel=sit-tun
2932           Tunnel=gre-tun
2933           Tunnel=vti-tun
2934
2935
2936           /etc/systemd/network/25-tunnel-ipip.netdev
2937           [NetDev]
2938           Name=ipip-tun
2939           Kind=ipip
2940
2941
2942           /etc/systemd/network/25-tunnel-sit.netdev
2943           [NetDev]
2944           Name=sit-tun
2945           Kind=sit
2946
2947
2948           /etc/systemd/network/25-tunnel-gre.netdev
2949           [NetDev]
2950           Name=gre-tun
2951           Kind=gre
2952
2953
2954           /etc/systemd/network/25-tunnel-vti.netdev
2955           [NetDev]
2956           Name=vti-tun
2957           Kind=vti
2958
2959
2960       This will bring interface "ens1" up and create an IPIP tunnel, a SIT
2961       tunnel, a GRE tunnel, and a VTI tunnel using it.
2962
2963       Example 7. A bond device
2964
2965           # /etc/systemd/network/30-bond1.network
2966           [Match]
2967           Name=bond1
2968
2969           [Network]
2970           DHCP=ipv6
2971
2972           # /etc/systemd/network/30-bond1.netdev
2973           [NetDev]
2974           Name=bond1
2975           Kind=bond
2976
2977           # /etc/systemd/network/30-bond1-dev1.network
2978           [Match]
2979           MACAddress=52:54:00:e9:64:41
2980
2981           [Network]
2982           Bond=bond1
2983
2984           # /etc/systemd/network/30-bond1-dev2.network
2985           [Match]
2986           MACAddress=52:54:00:e9:64:42
2987
2988           [Network]
2989           Bond=bond1
2990
2991       This will create a bond device "bond1" and enslave the two devices with
2992       MAC addresses 52:54:00:e9:64:41 and 52:54:00:e9:64:42 to it. IPv6 DHCP
2993       will be used to acquire an address.
2994
2995       Example 8. Virtual Routing and Forwarding (VRF)
2996
2997       Add the "bond1" interface to the VRF master interface "vrf1". This will
2998       redirect routes generated on this interface to be within the routing
2999       table defined during VRF creation. For kernels before 4.8 traffic won't
3000       be redirected towards the VRFs routing table unless specific ip-rules
3001       are added.
3002
3003           # /etc/systemd/network/25-vrf.network
3004           [Match]
3005           Name=bond1
3006
3007           [Network]
3008           VRF=vrf1
3009
3010       Example 9. MacVTap
3011
3012       This brings up a network interface "macvtap-test" and attaches it to
3013       "enp0s25".
3014
3015           # /usr/lib/systemd/network/25-macvtap.network
3016           [Match]
3017           Name=enp0s25
3018
3019           [Network]
3020           MACVTAP=macvtap-test
3021
3022       Example 10. A Xfrm interface with physical underlying device.
3023
3024           # /etc/systemd/network/27-xfrm.netdev
3025           [NetDev]
3026           Name=xfrm0
3027
3028           [Xfrm]
3029           InterfaceId=7
3030
3031           # /etc/systemd/network/27-eth0.network
3032           [Match]
3033           Name=eth0
3034
3035           [Network]
3036           Xfrm=xfrm0
3037
3038       This creates a "xfrm0" interface and binds it to the "eth0" device.
3039       This allows hardware based ipsec offloading to the "eth0" nic. If
3040       offloading is not needed, xfrm interfaces can be assigned to the "lo"
3041       device.
3042

SEE ALSO

3044       systemd(1), systemd-networkd.service(8), systemd.link(5),
3045       systemd.netdev(5), systemd-resolved.service(8)
3046

NOTES

3048        1. RFC 7217
3049           https://tools.ietf.org/html/rfc7217
3050
3051        2. Link-Local Multicast Name Resolution
3052           https://tools.ietf.org/html/rfc4795
3053
3054        3. Multicast DNS
3055           https://tools.ietf.org/html/rfc6762
3056
3057        4. DNS-over-TLS
3058           https://tools.ietf.org/html/rfc7858
3059
3060        5. DNSSEC
3061           https://tools.ietf.org/html/rfc4033
3062
3063        6. IEEE 802.1AB-2016
3064           https://standards.ieee.org/findstds/standard/802.1AB-2016.html
3065
3066        7. ip-sysctl.txt
3067           https://www.kernel.org/doc/Documentation/networking/ip-sysctl.txt
3068
3069        8. RFC 4941
3070           https://tools.ietf.org/html/rfc4941
3071
3072        9. RFC 1027
3073           https://tools.ietf.org/html/rfc1027
3074
3075       10. RFC 6275
3076           https://tools.ietf.org/html/rfc6275
3077
3078       11. RFC 5224
3079           https://tools.ietf.org/html/rfc5227
3080
3081       12. RFC 4862
3082           https://tools.ietf.org/html/rfc4862
3083
3084       13. RFC 3041
3085           https://tools.ietf.org/html/rfc3041
3086
3087       14. RFC 3484
3088           https://tools.ietf.org/html/rfc3484
3089
3090       15. RFC 4191
3091           https://tools.ietf.org/html/rfc4191
3092
3093       16. RFC 7844
3094           https://tools.ietf.org/html/rfc7844
3095
3096       17. RFC 8520
3097           https://tools.ietf.org/html/rfc8520
3098
3099       18. C-style escapes
3100           https://en.wikipedia.org/wiki/Escape_sequences_in_C#Table_of_escape_sequences
3101
3102       19. RFC 3315
3103           https://tools.ietf.org/html/rfc3315#section-17.2.1
3104
3105       20. RFC 7084
3106           https://tools.ietf.org/html/rfc7084
3107
3108       21. RFC 4291
3109           https://tools.ietf.org/html/rfc4291#section-2.5.4
3110
3111       22. RFC 4861
3112           https://tools.ietf.org/html/rfc4861
3113
3114
3115
3116systemd 248                                                 SYSTEMD.NETWORK(5)
Impressum