summary refs log tree commit diff
path: root/docs/api/settings-spec.xml
diff options
context:
space:
mode:
Diffstat (limited to 'docs/api/settings-spec.xml')
-rw-r--r--docs/api/settings-spec.xml12
1 files changed, 6 insertions, 6 deletions
diff --git a/docs/api/settings-spec.xml b/docs/api/settings-spec.xml
index 23902cb8..88502796 100644
--- a/docs/api/settings-spec.xml
+++ b/docs/api/settings-spec.xml
@@ -32,9 +32,9 @@
             Properties
         </title><para><table><tgroup cols="4"><thead><row><entry>Key Name</entry><entry>Value Type</entry><entry>Default Value</entry><entry>Value Description</entry></row></thead><tbody><row><entry><screen>mac-address<indexterm zone="settings-infiniband"><primary sortas="mac-address">mac-address</primary></indexterm></screen></entry><entry><screen>byte array</screen></entry><entry><screen/></entry><entry>If specified, this connection will only apply to the IPoIB device whose permanent MAC address matches. This property does not change the MAC address of the device (i.e. MAC spoofing).</entry></row><row><entry><screen>mtu<indexterm zone="settings-infiniband"><primary sortas="mtu">mtu</primary></indexterm></screen></entry><entry><screen>uint32</screen></entry><entry><screen>0</screen></entry><entry>If non-zero, only transmit packets of the specified size or smaller, breaking larger packets up into multiple frames.</entry></row><row><entry><screen>p-key<indexterm zone="settings-infiniband"><primary sortas="p-key">p-key</primary></indexterm></screen></entry><entry><screen>int32</screen></entry><entry><screen>-1</screen></entry><entry>The InfiniBand P_Key to use for this device. A value of -1 means to use the default P_Key (aka "the P_Key at index 0"). Otherwise, it is a 16-bit unsigned integer, whose high bit is set if it is a "full membership" P_Key.</entry></row><row><entry><screen>parent<indexterm zone="settings-infiniband"><primary sortas="parent">parent</primary></indexterm></screen></entry><entry><screen>string</screen></entry><entry><screen/></entry><entry>The interface name of the parent device of this device. Normally NULL, but if the "p_key" property is set, then you must specify the base device by setting either this property or "mac-address".</entry></row><row><entry><screen>transport-mode<indexterm zone="settings-infiniband"><primary sortas="transport-mode">transport-mode</primary></indexterm></screen></entry><entry><screen>string</screen></entry><entry><screen/></entry><entry>The IP-over-InfiniBand transport mode. Either "datagram" or "connected".</entry></row></tbody></tgroup></table></para></refsect1></refentry><refentry id="settings-ipv4"><refnamediv><refname>ipv4</refname><refpurpose>IPv4 Settings</refpurpose></refnamediv><refsect1 role="properties"><title id="settings-ipv4.properties">
             Properties
-        </title><para><table><tgroup cols="4"><thead><row><entry>Key Name</entry><entry>Value Type</entry><entry>Default Value</entry><entry>Value Description</entry></row></thead><tbody><row><entry><screen>address-data<indexterm zone="settings-ipv4"><primary sortas="address-data">address-data</primary></indexterm></screen></entry><entry><screen>array of vardict</screen></entry><entry><screen/></entry><entry>Array of IPv4 addresses. Each address dictionary contains at least 'address' and 'prefix' entries, containing the IP address as a string, and the prefix length as a uint32. Additional attributes may also exist on some addresses.</entry></row><row><entry><screen>addresses<indexterm zone="settings-ipv4"><primary sortas="addresses">addresses</primary></indexterm></screen></entry><entry><screen>array of array of uint32</screen></entry><entry><screen/></entry><entry>Deprecated in favor of the 'address-data' and 'gateway' properties, but this can be used for backward-compatibility with older daemons. Note that if you send this property the daemon will ignore 'address-data' and 'gateway'.  Array of IPv4 address structures.  Each IPv4 address structure is composed of 3 32-bit values; the first being the IPv4 address (network byte order), the second the prefix (1 - 32), and last the IPv4 gateway (network byte order). The gateway may be left as 0 if no gateway exists for that subnet.</entry></row><row><entry><screen>dad-timeout<indexterm zone="settings-ipv4"><primary sortas="dad-timeout">dad-timeout</primary></indexterm></screen></entry><entry><screen>int32</screen></entry><entry><screen>-1</screen></entry><entry>Timeout in milliseconds used to check for the presence of duplicate IP addresses on the network.  If an address conflict is detected, the activation will fail.  A zero value means that no duplicate address detection is performed, -1 means the default value (either configuration ipvx.dad-timeout override or zero).  A value greater than zero is a timeout in milliseconds. The property is currently implemented only for IPv4.</entry></row><row><entry><screen>dhcp-client-id<indexterm zone="settings-ipv4"><primary sortas="dhcp-client-id">dhcp-client-id</primary></indexterm></screen></entry><entry><screen>string</screen></entry><entry><screen/></entry><entry>A string sent to the DHCP server to identify the local machine which the DHCP server may use to customize the DHCP lease and options. When the property is a hex string ('aa:bb:cc') it is interpreted as a binary client ID, in which case the first byte is assumed to be the 'type' field as per RFC 2132 section 9.14 and the remaining bytes may be an hardware address (e.g. '01:xx:xx:xx:xx:xx:xx' where 1 is the Ethernet ARP type and the rest is a MAC address). If the property is not a hex string it is considered as a non-hardware-address client ID and the 'type' field is set to 0. The special values "mac" and "perm-mac" are supported, which use the current or permanent MAC address of the device to generate a client identifier with type ethernet (01). Currently, these options only work for ethernet type of links. The special value "ipv6-duid" uses the DUID from "ipv6.dhcp-duid" property as an RFC4361-compliant client identifier. As IAID it uses "ipv4.dhcp-iaid" and falls back to "ipv6.dhcp-iaid" if unset. The special value "duid" generates a RFC4361-compliant client identifier based on "ipv4.dhcp-iaid" and uses a DUID generated by hashing /etc/machine-id. The special value "stable" is supported to generate a type 0 client identifier based on the stable-id (see connection.stable-id) and a per-host key. If you set the stable-id, you may want to include the "${DEVICE}" or "${MAC}" specifier to get a per-device key. If unset, a globally configured default is used. If still unset, the default depends on the DHCP plugin.</entry></row><row><entry><screen>dhcp-fqdn<indexterm zone="settings-ipv4"><primary sortas="dhcp-fqdn">dhcp-fqdn</primary></indexterm></screen></entry><entry><screen>string</screen></entry><entry><screen/></entry><entry>If the "dhcp-send-hostname" property is TRUE, then the specified FQDN will be sent to the DHCP server when acquiring a lease. This property and "dhcp-hostname" are mutually exclusive and cannot be set at the same time.</entry></row><row><entry><screen>dhcp-hostname<indexterm zone="settings-ipv4"><primary sortas="dhcp-hostname">dhcp-hostname</primary></indexterm></screen></entry><entry><screen>string</screen></entry><entry><screen/></entry><entry>If the "dhcp-send-hostname" property is TRUE, then the specified name will be sent to the DHCP server when acquiring a lease. This property and "dhcp-fqdn" are mutually exclusive and cannot be set at the same time.</entry></row><row><entry><screen>dhcp-hostname-flags<indexterm zone="settings-ipv4"><primary sortas="dhcp-hostname-flags">dhcp-hostname-flags</primary></indexterm></screen></entry><entry><screen>uint32</screen></entry><entry><screen>0</screen></entry><entry>Flags for the DHCP hostname and FQDN. Currently, this property only includes flags to control the FQDN flags set in the DHCP FQDN option. Supported FQDN flags are NM_DHCP_HOSTNAME_FLAG_FQDN_SERV_UPDATE (0x1), NM_DHCP_HOSTNAME_FLAG_FQDN_ENCODED (0x2) and NM_DHCP_HOSTNAME_FLAG_FQDN_NO_UPDATE (0x4).  When no FQDN flag is set and NM_DHCP_HOSTNAME_FLAG_FQDN_CLEAR_FLAGS (0x8) is set, the DHCP FQDN option will contain no flag. Otherwise, if no FQDN flag is set and NM_DHCP_HOSTNAME_FLAG_FQDN_CLEAR_FLAGS (0x8) is not set, the standard FQDN flags are set in the request: NM_DHCP_HOSTNAME_FLAG_FQDN_SERV_UPDATE (0x1), NM_DHCP_HOSTNAME_FLAG_FQDN_ENCODED (0x2) for IPv4 and NM_DHCP_HOSTNAME_FLAG_FQDN_SERV_UPDATE (0x1) for IPv6. When this property is set to the default value NM_DHCP_HOSTNAME_FLAG_NONE (0x0), a global default is looked up in NetworkManager configuration. If that value is unset or also NM_DHCP_HOSTNAME_FLAG_NONE (0x0), then the standard FQDN flags described above are sent in the DHCP requests.</entry></row><row><entry><screen>dhcp-iaid<indexterm zone="settings-ipv4"><primary sortas="dhcp-iaid">dhcp-iaid</primary></indexterm></screen></entry><entry><screen>string</screen></entry><entry><screen/></entry><entry>A string containing the "Identity Association Identifier" (IAID) used by the DHCP client. The property is a 32-bit decimal value or a special value among "mac", "perm-mac", "ifname" and "stable". When set to "mac" (or "perm-mac"), the last 4 bytes of the current (or permanent) MAC address are used as IAID. When set to "ifname", the IAID is computed by hashing the interface name. The special value "stable" can be used to generate an IAID based on the stable-id (see connection.stable-id), a per-host key and the interface name. When the property is unset, the value from global configuration is used; if no global default is set then the IAID is assumed to be "ifname". Note that at the moment this property is ignored for IPv6 by dhclient, which always derives the IAID from the MAC address.</entry></row><row><entry><screen>dhcp-reject-servers<indexterm zone="settings-ipv4"><primary sortas="dhcp-reject-servers">dhcp-reject-servers</primary></indexterm></screen></entry><entry><screen>array of string</screen></entry><entry><screen/></entry><entry>Array of servers from which DHCP offers must be rejected. This property is useful to avoid getting a lease from misconfigured or rogue servers. For DHCPv4, each element must be an IPv4 address, optionally followed by a slash and a prefix length (e.g. "192.168.122.0/24"). This property is currently not implemented for DHCPv6.</entry></row><row><entry><screen>dhcp-send-hostname<indexterm zone="settings-ipv4"><primary sortas="dhcp-send-hostname">dhcp-send-hostname</primary></indexterm></screen></entry><entry><screen>boolean</screen></entry><entry><screen>TRUE</screen></entry><entry>If TRUE, a hostname is sent to the DHCP server when acquiring a lease. Some DHCP servers use this hostname to update DNS databases, essentially providing a static hostname for the computer.  If the "dhcp-hostname" property is NULL and this property is TRUE, the current persistent hostname of the computer is sent.</entry></row><row><entry><screen>dhcp-timeout<indexterm zone="settings-ipv4"><primary sortas="dhcp-timeout">dhcp-timeout</primary></indexterm></screen></entry><entry><screen>int32</screen></entry><entry><screen>0</screen></entry><entry>A timeout for a DHCP transaction in seconds. If zero (the default), a globally configured default is used. If still unspecified, a device specific timeout is used (usually 45 seconds). Set to 2147483647 (MAXINT32) for infinity.</entry></row><row><entry><screen>dhcp-vendor-class-identifier<indexterm zone="settings-ipv4"><primary sortas="dhcp-vendor-class-identifier">dhcp-vendor-class-identifier</primary></indexterm></screen></entry><entry><screen>string</screen></entry><entry><screen/></entry><entry>The Vendor Class Identifier DHCP option (60). Special characters in the data string may be escaped using C-style escapes, nevertheless this property cannot contain nul bytes. If the per-profile value is unspecified (the default), a global connection default gets consulted. If still unspecified, the DHCP option is not sent to the server. Since 1.28</entry></row><row><entry><screen>dns<indexterm zone="settings-ipv4"><primary sortas="dns">dns</primary></indexterm></screen></entry><entry><screen>array of uint32</screen></entry><entry><screen/></entry><entry>Array of IP addresses of DNS servers (as network-byte-order integers)</entry></row><row><entry><screen>dns-options<indexterm zone="settings-ipv4"><primary sortas="dns-options">dns-options</primary></indexterm></screen></entry><entry><screen>array of string</screen></entry><entry><screen/></entry><entry>Array of DNS options as described in man 5 resolv.conf. NULL means that the options are unset and left at the default. In this case NetworkManager will use default options. This is distinct from an empty list of properties. The currently supported options are "attempts", "debug", "edns0", "inet6", "ip6-bytestring", "ip6-dotint", "ndots", "no-check-names", "no-ip6-dotint", "no-reload", "no-tld-query", "rotate", "single-request", "single-request-reopen", "timeout", "trust-ad", "use-vc". The "trust-ad" setting is only honored if the profile contributes name servers to resolv.conf, and if all contributing profiles have "trust-ad" enabled. When using a caching DNS plugin (dnsmasq or systemd-resolved in NetworkManager.conf) then "edns0" and "trust-ad" are automatically added.</entry></row><row><entry><screen>dns-priority<indexterm zone="settings-ipv4"><primary sortas="dns-priority">dns-priority</primary></indexterm></screen></entry><entry><screen>int32</screen></entry><entry><screen>0</screen></entry><entry>DNS servers priority. The relative priority for DNS servers specified by this setting.  A lower numerical value is better (higher priority). Negative values have the special effect of excluding other configurations with a greater numerical priority value; so in presence of at least one negative priority, only DNS servers from connections with the lowest priority value will be used. To avoid all DNS leaks, set the priority of the profile that should be used to the most negative value of all active connections profiles. Zero selects a globally configured default value. If the latter is missing or zero too, it defaults to 50 for VPNs (including WireGuard) and 100 for other connections. Note that the priority is to order DNS settings for multiple active connections.  It does not disambiguate multiple DNS servers within the same connection profile. When multiple devices have configurations with the same priority, VPNs will be considered first, then devices with the best (lowest metric) default route and then all other devices. When using dns=default, servers with higher priority will be on top of resolv.conf. To prioritize a given server over another one within the same connection, just specify them in the desired order. Note that commonly the resolver tries name servers in /etc/resolv.conf in the order listed, proceeding with the next server in the list on failure. See for example the "rotate" option of the dns-options setting. If there are any negative DNS priorities, then only name servers from the devices with that lowest priority will be considered. When using a DNS resolver that supports Conditional Forwarding or Split DNS (with dns=dnsmasq or dns=systemd-resolved settings), each connection is used to query domains in its search list. The search domains determine which name servers to ask, and the DNS priority is used to prioritize name servers based on the domain.  Queries for domains not present in any search list are routed through connections having the '~.' special wildcard domain, which is added automatically to connections with the default route (or can be added manually).  When multiple connections specify the same domain, the one with the best priority (lowest numerical value) wins.  If a sub domain is configured on another interface it will be accepted regardless the priority, unless parent domain on the other interface has a negative priority, which causes the sub domain to be shadowed. With Split DNS one can avoid undesired DNS leaks by properly configuring DNS priorities and the search domains, so that only name servers of the desired interface are configured.</entry></row><row><entry><screen>dns-search<indexterm zone="settings-ipv4"><primary sortas="dns-search">dns-search</primary></indexterm></screen></entry><entry><screen>array of string</screen></entry><entry><screen/></entry><entry>Array of DNS search domains. Domains starting with a tilde ('~') are considered 'routing' domains and are used only to decide the interface over which a query must be forwarded; they are not used to complete unqualified host names. When using a DNS plugin that supports Conditional Forwarding or Split DNS, then the search domains specify which name servers to query. This makes the behavior different from running with plain /etc/resolv.conf. For more information see also the dns-priority setting.</entry></row><row><entry><screen>gateway<indexterm zone="settings-ipv4"><primary sortas="gateway">gateway</primary></indexterm></screen></entry><entry><screen>string</screen></entry><entry><screen/></entry><entry>The gateway associated with this configuration. This is only meaningful if "addresses" is also set. The gateway's main purpose is to control the next hop of the standard default route on the device. Hence, the gateway property conflicts with "never-default" and will be automatically dropped if the IP configuration is set to never-default. As an alternative to set the gateway, configure a static default route with /0 as prefix length.</entry></row><row><entry><screen>ignore-auto-dns<indexterm zone="settings-ipv4"><primary sortas="ignore-auto-dns">ignore-auto-dns</primary></indexterm></screen></entry><entry><screen>boolean</screen></entry><entry><screen>FALSE</screen></entry><entry>When "method" is set to "auto" and this property to TRUE, automatically configured name servers and search domains are ignored and only name servers and search domains specified in the "dns" and "dns-search" properties, if any, are used.</entry></row><row><entry><screen>ignore-auto-routes<indexterm zone="settings-ipv4"><primary sortas="ignore-auto-routes">ignore-auto-routes</primary></indexterm></screen></entry><entry><screen>boolean</screen></entry><entry><screen>FALSE</screen></entry><entry>When "method" is set to "auto" and this property to TRUE, automatically configured routes are ignored and only routes specified in the "routes" property, if any, are used.</entry></row><row><entry><screen>may-fail<indexterm zone="settings-ipv4"><primary sortas="may-fail">may-fail</primary></indexterm></screen></entry><entry><screen>boolean</screen></entry><entry><screen>TRUE</screen></entry><entry>If TRUE, allow overall network configuration to proceed even if the configuration specified by this property times out.  Note that at least one IP configuration must succeed or overall network configuration will still fail.  For example, in IPv6-only networks, setting this property to TRUE on the NMSettingIP4Config allows the overall network configuration to succeed if IPv4 configuration fails but IPv6 configuration completes successfully.</entry></row><row><entry><screen>method<indexterm zone="settings-ipv4"><primary sortas="method">method</primary></indexterm></screen></entry><entry><screen>string</screen></entry><entry><screen/></entry><entry>IP configuration method. NMSettingIP4Config and NMSettingIP6Config both support "disabled", "auto", "manual", and "link-local". See the subclass-specific documentation for other values. In general, for the "auto" method, properties such as "dns" and "routes" specify information that is added on to the information returned from automatic configuration.  The "ignore-auto-routes" and "ignore-auto-dns" properties modify this behavior. For methods that imply no upstream network, such as "shared" or "link-local", these properties must be empty. For IPv4 method "shared", the IP subnet can be configured by adding one manual IPv4 address or otherwise 10.42.x.0/24 is chosen. Note that the shared method must be configured on the interface which shares the internet to a subnet, not on the uplink which is shared.</entry></row><row><entry><screen>never-default<indexterm zone="settings-ipv4"><primary sortas="never-default">never-default</primary></indexterm></screen></entry><entry><screen>boolean</screen></entry><entry><screen>FALSE</screen></entry><entry>If TRUE, this connection will never be the default connection for this IP type, meaning it will never be assigned the default route by NetworkManager.</entry></row><row><entry><screen>route-data<indexterm zone="settings-ipv4"><primary sortas="route-data">route-data</primary></indexterm></screen></entry><entry><screen>array of vardict</screen></entry><entry><screen/></entry><entry>Array of IPv4 routes. Each route dictionary contains at least 'dest' and 'prefix' entries, containing the destination IP address as a string, and the prefix length as a uint32. Most routes will also have a 'next-hop' entry, containing the next hop IP address as a string. If the route has a 'metric' entry (containing a uint32), that will be used as the metric for the route (otherwise NM will pick a default value appropriate to the device). Additional attributes may also exist on some routes.</entry></row><row><entry><screen>route-metric<indexterm zone="settings-ipv4"><primary sortas="route-metric">route-metric</primary></indexterm></screen></entry><entry><screen>int64</screen></entry><entry><screen>-1</screen></entry><entry>The default metric for routes that don't explicitly specify a metric. The default value -1 means that the metric is chosen automatically based on the device type. The metric applies to dynamic routes, manual (static) routes that don't have an explicit metric setting, address prefix routes, and the default route. Note that for IPv6, the kernel accepts zero (0) but coerces it to 1024 (user default). Hence, setting this property to zero effectively mean setting it to 1024. For IPv4, zero is a regular value for the metric.</entry></row><row><entry><screen>route-table<indexterm zone="settings-ipv4"><primary sortas="route-table">route-table</primary></indexterm></screen></entry><entry><screen>uint32</screen></entry><entry><screen>0</screen></entry><entry>Enable policy routing (source routing) and set the routing table used when adding routes. This affects all routes, including device-routes, IPv4LL, DHCP, SLAAC, default-routes and static routes. But note that static routes can individually overwrite the setting by explicitly specifying a non-zero routing table. If the table setting is left at zero, it is eligible to be overwritten via global configuration. If the property is zero even after applying the global configuration value, policy routing is disabled for the address family of this connection. Policy routing disabled means that NetworkManager will add all routes to the main table (except static routes that explicitly configure a different table). Additionally, NetworkManager will not delete any extraneous routes from tables except the main table. This is to preserve backward compatibility for users who manage routing tables outside of NetworkManager.</entry></row><row><entry><screen>routes<indexterm zone="settings-ipv4"><primary sortas="routes">routes</primary></indexterm></screen></entry><entry><screen>array of array of uint32</screen></entry><entry><screen/></entry><entry>Deprecated in favor of the 'route-data' property, but this can be used for backward-compatibility with older daemons. Note that if you send this property the daemon will ignore 'route-data'.  Array of IPv4 route structures.  Each IPv4 route structure is composed of 4 32-bit values; the first being the destination IPv4 network or address (network byte order), the second the destination network or address prefix (1 - 32), the third being the next-hop (network byte order) if any, and the fourth being the route metric. If the metric is 0, NM will choose an appropriate default metric for the device. (There is no way to explicitly specify an actual metric of 0 with this property.)</entry></row></tbody></tgroup></table></para></refsect1></refentry><refentry id="settings-ipv6"><refnamediv><refname>ipv6</refname><refpurpose>IPv6 Settings</refpurpose></refnamediv><refsect1 role="properties"><title id="settings-ipv6.properties">
+        </title><para><table><tgroup cols="4"><thead><row><entry>Key Name</entry><entry>Value Type</entry><entry>Default Value</entry><entry>Value Description</entry></row></thead><tbody><row><entry><screen>address-data<indexterm zone="settings-ipv4"><primary sortas="address-data">address-data</primary></indexterm></screen></entry><entry><screen>array of vardict</screen></entry><entry><screen/></entry><entry>Array of IPv4 addresses. Each address dictionary contains at least 'address' and 'prefix' entries, containing the IP address as a string, and the prefix length as a uint32. Additional attributes may also exist on some addresses.</entry></row><row><entry><screen>addresses<indexterm zone="settings-ipv4"><primary sortas="addresses">addresses</primary></indexterm></screen></entry><entry><screen>array of array of uint32</screen></entry><entry><screen/></entry><entry>Deprecated in favor of the 'address-data' and 'gateway' properties, but this can be used for backward-compatibility with older daemons. Note that if you send this property the daemon will ignore 'address-data' and 'gateway'.  Array of IPv4 address structures.  Each IPv4 address structure is composed of 3 32-bit values; the first being the IPv4 address (network byte order), the second the prefix (1 - 32), and last the IPv4 gateway (network byte order). The gateway may be left as 0 if no gateway exists for that subnet.</entry></row><row><entry><screen>dad-timeout<indexterm zone="settings-ipv4"><primary sortas="dad-timeout">dad-timeout</primary></indexterm></screen></entry><entry><screen>int32</screen></entry><entry><screen>-1</screen></entry><entry>Timeout in milliseconds used to check for the presence of duplicate IP addresses on the network.  If an address conflict is detected, the activation will fail.  A zero value means that no duplicate address detection is performed, -1 means the default value (either configuration ipvx.dad-timeout override or zero).  A value greater than zero is a timeout in milliseconds. The property is currently implemented only for IPv4.</entry></row><row><entry><screen>dhcp-client-id<indexterm zone="settings-ipv4"><primary sortas="dhcp-client-id">dhcp-client-id</primary></indexterm></screen></entry><entry><screen>string</screen></entry><entry><screen/></entry><entry>A string sent to the DHCP server to identify the local machine which the DHCP server may use to customize the DHCP lease and options. When the property is a hex string ('aa:bb:cc') it is interpreted as a binary client ID, in which case the first byte is assumed to be the 'type' field as per RFC 2132 section 9.14 and the remaining bytes may be an hardware address (e.g. '01:xx:xx:xx:xx:xx:xx' where 1 is the Ethernet ARP type and the rest is a MAC address). If the property is not a hex string it is considered as a non-hardware-address client ID and the 'type' field is set to 0. The special values "mac" and "perm-mac" are supported, which use the current or permanent MAC address of the device to generate a client identifier with type ethernet (01). Currently, these options only work for ethernet type of links. The special value "ipv6-duid" uses the DUID from "ipv6.dhcp-duid" property as an RFC4361-compliant client identifier. As IAID it uses "ipv4.dhcp-iaid" and falls back to "ipv6.dhcp-iaid" if unset. The special value "duid" generates a RFC4361-compliant client identifier based on "ipv4.dhcp-iaid" and uses a DUID generated by hashing /etc/machine-id. The special value "stable" is supported to generate a type 0 client identifier based on the stable-id (see connection.stable-id) and a per-host key. If you set the stable-id, you may want to include the "${DEVICE}" or "${MAC}" specifier to get a per-device key. If unset, a globally configured default is used. If still unset, the default depends on the DHCP plugin.</entry></row><row><entry><screen>dhcp-fqdn<indexterm zone="settings-ipv4"><primary sortas="dhcp-fqdn">dhcp-fqdn</primary></indexterm></screen></entry><entry><screen>string</screen></entry><entry><screen/></entry><entry>If the "dhcp-send-hostname" property is TRUE, then the specified FQDN will be sent to the DHCP server when acquiring a lease. This property and "dhcp-hostname" are mutually exclusive and cannot be set at the same time.</entry></row><row><entry><screen>dhcp-hostname<indexterm zone="settings-ipv4"><primary sortas="dhcp-hostname">dhcp-hostname</primary></indexterm></screen></entry><entry><screen>string</screen></entry><entry><screen/></entry><entry>If the "dhcp-send-hostname" property is TRUE, then the specified name will be sent to the DHCP server when acquiring a lease. This property and "dhcp-fqdn" are mutually exclusive and cannot be set at the same time.</entry></row><row><entry><screen>dhcp-hostname-flags<indexterm zone="settings-ipv4"><primary sortas="dhcp-hostname-flags">dhcp-hostname-flags</primary></indexterm></screen></entry><entry><screen>uint32</screen></entry><entry><screen>0</screen></entry><entry>Flags for the DHCP hostname and FQDN. Currently, this property only includes flags to control the FQDN flags set in the DHCP FQDN option. Supported FQDN flags are NM_DHCP_HOSTNAME_FLAG_FQDN_SERV_UPDATE (0x1), NM_DHCP_HOSTNAME_FLAG_FQDN_ENCODED (0x2) and NM_DHCP_HOSTNAME_FLAG_FQDN_NO_UPDATE (0x4).  When no FQDN flag is set and NM_DHCP_HOSTNAME_FLAG_FQDN_CLEAR_FLAGS (0x8) is set, the DHCP FQDN option will contain no flag. Otherwise, if no FQDN flag is set and NM_DHCP_HOSTNAME_FLAG_FQDN_CLEAR_FLAGS (0x8) is not set, the standard FQDN flags are set in the request: NM_DHCP_HOSTNAME_FLAG_FQDN_SERV_UPDATE (0x1), NM_DHCP_HOSTNAME_FLAG_FQDN_ENCODED (0x2) for IPv4 and NM_DHCP_HOSTNAME_FLAG_FQDN_SERV_UPDATE (0x1) for IPv6. When this property is set to the default value NM_DHCP_HOSTNAME_FLAG_NONE (0x0), a global default is looked up in NetworkManager configuration. If that value is unset or also NM_DHCP_HOSTNAME_FLAG_NONE (0x0), then the standard FQDN flags described above are sent in the DHCP requests.</entry></row><row><entry><screen>dhcp-iaid<indexterm zone="settings-ipv4"><primary sortas="dhcp-iaid">dhcp-iaid</primary></indexterm></screen></entry><entry><screen>string</screen></entry><entry><screen/></entry><entry>A string containing the "Identity Association Identifier" (IAID) used by the DHCP client. The property is a 32-bit decimal value or a special value among "mac", "perm-mac", "ifname" and "stable". When set to "mac" (or "perm-mac"), the last 4 bytes of the current (or permanent) MAC address are used as IAID. When set to "ifname", the IAID is computed by hashing the interface name. The special value "stable" can be used to generate an IAID based on the stable-id (see connection.stable-id), a per-host key and the interface name. When the property is unset, the value from global configuration is used; if no global default is set then the IAID is assumed to be "ifname". Note that at the moment this property is ignored for IPv6 by dhclient, which always derives the IAID from the MAC address.</entry></row><row><entry><screen>dhcp-reject-servers<indexterm zone="settings-ipv4"><primary sortas="dhcp-reject-servers">dhcp-reject-servers</primary></indexterm></screen></entry><entry><screen>array of string</screen></entry><entry><screen/></entry><entry>Array of servers from which DHCP offers must be rejected. This property is useful to avoid getting a lease from misconfigured or rogue servers. For DHCPv4, each element must be an IPv4 address, optionally followed by a slash and a prefix length (e.g. "192.168.122.0/24"). This property is currently not implemented for DHCPv6.</entry></row><row><entry><screen>dhcp-send-hostname<indexterm zone="settings-ipv4"><primary sortas="dhcp-send-hostname">dhcp-send-hostname</primary></indexterm></screen></entry><entry><screen>boolean</screen></entry><entry><screen>TRUE</screen></entry><entry>If TRUE, a hostname is sent to the DHCP server when acquiring a lease. Some DHCP servers use this hostname to update DNS databases, essentially providing a static hostname for the computer.  If the "dhcp-hostname" property is NULL and this property is TRUE, the current persistent hostname of the computer is sent.</entry></row><row><entry><screen>dhcp-timeout<indexterm zone="settings-ipv4"><primary sortas="dhcp-timeout">dhcp-timeout</primary></indexterm></screen></entry><entry><screen>int32</screen></entry><entry><screen>0</screen></entry><entry>A timeout for a DHCP transaction in seconds. If zero (the default), a globally configured default is used. If still unspecified, a device specific timeout is used (usually 45 seconds). Set to 2147483647 (MAXINT32) for infinity.</entry></row><row><entry><screen>dhcp-vendor-class-identifier<indexterm zone="settings-ipv4"><primary sortas="dhcp-vendor-class-identifier">dhcp-vendor-class-identifier</primary></indexterm></screen></entry><entry><screen>string</screen></entry><entry><screen/></entry><entry>The Vendor Class Identifier DHCP option (60). Special characters in the data string may be escaped using C-style escapes, nevertheless this property cannot contain nul bytes. If the per-profile value is unspecified (the default), a global connection default gets consulted. If still unspecified, the DHCP option is not sent to the server. Since 1.28</entry></row><row><entry><screen>dns<indexterm zone="settings-ipv4"><primary sortas="dns">dns</primary></indexterm></screen></entry><entry><screen>array of uint32</screen></entry><entry><screen/></entry><entry>Array of IP addresses of DNS servers (as network-byte-order integers)</entry></row><row><entry><screen>dns-options<indexterm zone="settings-ipv4"><primary sortas="dns-options">dns-options</primary></indexterm></screen></entry><entry><screen>array of string</screen></entry><entry><screen/></entry><entry>Array of DNS options as described in man 5 resolv.conf. NULL means that the options are unset and left at the default. In this case NetworkManager will use default options. This is distinct from an empty list of properties. The currently supported options are "attempts", "debug", "edns0", "inet6", "ip6-bytestring", "ip6-dotint", "ndots", "no-check-names", "no-ip6-dotint", "no-reload", "no-tld-query", "rotate", "single-request", "single-request-reopen", "timeout", "trust-ad", "use-vc". The "trust-ad" setting is only honored if the profile contributes name servers to resolv.conf, and if all contributing profiles have "trust-ad" enabled. When using a caching DNS plugin (dnsmasq or systemd-resolved in NetworkManager.conf) then "edns0" and "trust-ad" are automatically added.</entry></row><row><entry><screen>dns-priority<indexterm zone="settings-ipv4"><primary sortas="dns-priority">dns-priority</primary></indexterm></screen></entry><entry><screen>int32</screen></entry><entry><screen>0</screen></entry><entry>DNS servers priority. The relative priority for DNS servers specified by this setting.  A lower numerical value is better (higher priority). Negative values have the special effect of excluding other configurations with a greater numerical priority value; so in presence of at least one negative priority, only DNS servers from connections with the lowest priority value will be used. To avoid all DNS leaks, set the priority of the profile that should be used to the most negative value of all active connections profiles. Zero selects a globally configured default value. If the latter is missing or zero too, it defaults to 50 for VPNs (including WireGuard) and 100 for other connections. Note that the priority is to order DNS settings for multiple active connections.  It does not disambiguate multiple DNS servers within the same connection profile. When multiple devices have configurations with the same priority, VPNs will be considered first, then devices with the best (lowest metric) default route and then all other devices. When using dns=default, servers with higher priority will be on top of resolv.conf. To prioritize a given server over another one within the same connection, just specify them in the desired order. Note that commonly the resolver tries name servers in /etc/resolv.conf in the order listed, proceeding with the next server in the list on failure. See for example the "rotate" option of the dns-options setting. If there are any negative DNS priorities, then only name servers from the devices with that lowest priority will be considered. When using a DNS resolver that supports Conditional Forwarding or Split DNS (with dns=dnsmasq or dns=systemd-resolved settings), each connection is used to query domains in its search list. The search domains determine which name servers to ask, and the DNS priority is used to prioritize name servers based on the domain.  Queries for domains not present in any search list are routed through connections having the '~.' special wildcard domain, which is added automatically to connections with the default route (or can be added manually).  When multiple connections specify the same domain, the one with the best priority (lowest numerical value) wins.  If a sub domain is configured on another interface it will be accepted regardless the priority, unless parent domain on the other interface has a negative priority, which causes the sub domain to be shadowed. With Split DNS one can avoid undesired DNS leaks by properly configuring DNS priorities and the search domains, so that only name servers of the desired interface are configured.</entry></row><row><entry><screen>dns-search<indexterm zone="settings-ipv4"><primary sortas="dns-search">dns-search</primary></indexterm></screen></entry><entry><screen>array of string</screen></entry><entry><screen/></entry><entry>Array of DNS search domains. Domains starting with a tilde ('~') are considered 'routing' domains and are used only to decide the interface over which a query must be forwarded; they are not used to complete unqualified host names. When using a DNS plugin that supports Conditional Forwarding or Split DNS, then the search domains specify which name servers to query. This makes the behavior different from running with plain /etc/resolv.conf. For more information see also the dns-priority setting.</entry></row><row><entry><screen>gateway<indexterm zone="settings-ipv4"><primary sortas="gateway">gateway</primary></indexterm></screen></entry><entry><screen>string</screen></entry><entry><screen/></entry><entry>The gateway associated with this configuration. This is only meaningful if "addresses" is also set. The gateway's main purpose is to control the next hop of the standard default route on the device. Hence, the gateway property conflicts with "never-default" and will be automatically dropped if the IP configuration is set to never-default. As an alternative to set the gateway, configure a static default route with /0 as prefix length.</entry></row><row><entry><screen>ignore-auto-dns<indexterm zone="settings-ipv4"><primary sortas="ignore-auto-dns">ignore-auto-dns</primary></indexterm></screen></entry><entry><screen>boolean</screen></entry><entry><screen>FALSE</screen></entry><entry>When "method" is set to "auto" and this property to TRUE, automatically configured name servers and search domains are ignored and only name servers and search domains specified in the "dns" and "dns-search" properties, if any, are used.</entry></row><row><entry><screen>ignore-auto-routes<indexterm zone="settings-ipv4"><primary sortas="ignore-auto-routes">ignore-auto-routes</primary></indexterm></screen></entry><entry><screen>boolean</screen></entry><entry><screen>FALSE</screen></entry><entry>When "method" is set to "auto" and this property to TRUE, automatically configured routes are ignored and only routes specified in the "routes" property, if any, are used.</entry></row><row><entry><screen>may-fail<indexterm zone="settings-ipv4"><primary sortas="may-fail">may-fail</primary></indexterm></screen></entry><entry><screen>boolean</screen></entry><entry><screen>TRUE</screen></entry><entry>If TRUE, allow overall network configuration to proceed even if the configuration specified by this property times out.  Note that at least one IP configuration must succeed or overall network configuration will still fail.  For example, in IPv6-only networks, setting this property to TRUE on the NMSettingIP4Config allows the overall network configuration to succeed if IPv4 configuration fails but IPv6 configuration completes successfully.</entry></row><row><entry><screen>method<indexterm zone="settings-ipv4"><primary sortas="method">method</primary></indexterm></screen></entry><entry><screen>string</screen></entry><entry><screen/></entry><entry>IP configuration method. NMSettingIP4Config and NMSettingIP6Config both support "disabled", "auto", "manual", and "link-local". See the subclass-specific documentation for other values. In general, for the "auto" method, properties such as "dns" and "routes" specify information that is added on to the information returned from automatic configuration.  The "ignore-auto-routes" and "ignore-auto-dns" properties modify this behavior. For methods that imply no upstream network, such as "shared" or "link-local", these properties must be empty. For IPv4 method "shared", the IP subnet can be configured by adding one manual IPv4 address or otherwise 10.42.x.0/24 is chosen. Note that the shared method must be configured on the interface which shares the internet to a subnet, not on the uplink which is shared.</entry></row><row><entry><screen>never-default<indexterm zone="settings-ipv4"><primary sortas="never-default">never-default</primary></indexterm></screen></entry><entry><screen>boolean</screen></entry><entry><screen>FALSE</screen></entry><entry>If TRUE, this connection will never be the default connection for this IP type, meaning it will never be assigned the default route by NetworkManager.</entry></row><row><entry><screen>required-timeout<indexterm zone="settings-ipv4"><primary sortas="required-timeout">required-timeout</primary></indexterm></screen></entry><entry><screen>int32</screen></entry><entry><screen>-1</screen></entry><entry>The minimum time interval in milliseconds for which dynamic IP configuration should be tried before the connection succeeds. This property is useful for example if both IPv4 and IPv6 are enabled and are allowed to fail. Normally the connection succeeds as soon as one of the two address families completes; by setting a required timeout for e.g. IPv4, one can ensure that even if IP6 succeeds earlier than IPv4, NetworkManager waits some time for IPv4 before the connection becomes active. Note that if "may-fail" is FALSE for the same address family, this property has no effect as NetworkManager needs to wait for the full DHCP timeout. A zero value means that no required timeout is present, -1 means the default value (either configuration ipvx.required-timeout override or zero).</entry></row><row><entry><screen>route-data<indexterm zone="settings-ipv4"><primary sortas="route-data">route-data</primary></indexterm></screen></entry><entry><screen>array of vardict</screen></entry><entry><screen/></entry><entry>Array of IPv4 routes. Each route dictionary contains at least 'dest' and 'prefix' entries, containing the destination IP address as a string, and the prefix length as a uint32. Most routes will also have a 'next-hop' entry, containing the next hop IP address as a string. If the route has a 'metric' entry (containing a uint32), that will be used as the metric for the route (otherwise NM will pick a default value appropriate to the device). Additional attributes may also exist on some routes.</entry></row><row><entry><screen>route-metric<indexterm zone="settings-ipv4"><primary sortas="route-metric">route-metric</primary></indexterm></screen></entry><entry><screen>int64</screen></entry><entry><screen>-1</screen></entry><entry>The default metric for routes that don't explicitly specify a metric. The default value -1 means that the metric is chosen automatically based on the device type. The metric applies to dynamic routes, manual (static) routes that don't have an explicit metric setting, address prefix routes, and the default route. Note that for IPv6, the kernel accepts zero (0) but coerces it to 1024 (user default). Hence, setting this property to zero effectively mean setting it to 1024. For IPv4, zero is a regular value for the metric.</entry></row><row><entry><screen>route-table<indexterm zone="settings-ipv4"><primary sortas="route-table">route-table</primary></indexterm></screen></entry><entry><screen>uint32</screen></entry><entry><screen>0</screen></entry><entry>Enable policy routing (source routing) and set the routing table used when adding routes. This affects all routes, including device-routes, IPv4LL, DHCP, SLAAC, default-routes and static routes. But note that static routes can individually overwrite the setting by explicitly specifying a non-zero routing table. If the table setting is left at zero, it is eligible to be overwritten via global configuration. If the property is zero even after applying the global configuration value, policy routing is disabled for the address family of this connection. Policy routing disabled means that NetworkManager will add all routes to the main table (except static routes that explicitly configure a different table). Additionally, NetworkManager will not delete any extraneous routes from tables except the main table. This is to preserve backward compatibility for users who manage routing tables outside of NetworkManager.</entry></row><row><entry><screen>routes<indexterm zone="settings-ipv4"><primary sortas="routes">routes</primary></indexterm></screen></entry><entry><screen>array of array of uint32</screen></entry><entry><screen/></entry><entry>Deprecated in favor of the 'route-data' property, but this can be used for backward-compatibility with older daemons. Note that if you send this property the daemon will ignore 'route-data'.  Array of IPv4 route structures.  Each IPv4 route structure is composed of 4 32-bit values; the first being the destination IPv4 network or address (network byte order), the second the destination network or address prefix (1 - 32), the third being the next-hop (network byte order) if any, and the fourth being the route metric. If the metric is 0, NM will choose an appropriate default metric for the device. (There is no way to explicitly specify an actual metric of 0 with this property.)</entry></row></tbody></tgroup></table></para></refsect1></refentry><refentry id="settings-ipv6"><refnamediv><refname>ipv6</refname><refpurpose>IPv6 Settings</refpurpose></refnamediv><refsect1 role="properties"><title id="settings-ipv6.properties">
             Properties
-        </title><para><table><tgroup cols="4"><thead><row><entry>Key Name</entry><entry>Value Type</entry><entry>Default Value</entry><entry>Value Description</entry></row></thead><tbody><row><entry><screen>addr-gen-mode<indexterm zone="settings-ipv6"><primary sortas="addr-gen-mode">addr-gen-mode</primary></indexterm></screen></entry><entry><screen>int32</screen></entry><entry><screen>1</screen></entry><entry>Configure method for creating the address for use with RFC4862 IPv6 Stateless Address Autoconfiguration. The permitted values are: NM_SETTING_IP6_CONFIG_ADDR_GEN_MODE_EUI64 (0) or NM_SETTING_IP6_CONFIG_ADDR_GEN_MODE_STABLE_PRIVACY (1). If the property is set to EUI64, the addresses will be generated using the interface tokens derived from hardware address. This makes the host part of the address to stay constant, making it possible to track host's presence when it changes networks. The address changes when the interface hardware is replaced. The value of stable-privacy enables use of cryptographically secure hash of a secret host-specific key along with the connection's stable-id and the network address as specified by RFC7217. This makes it impossible to use the address track host's presence, and makes the address stable when the network interface hardware is replaced. On D-Bus, the absence of an addr-gen-mode setting equals enabling stable-privacy. For keyfile plugin, the absence of the setting on disk means EUI64 so that the property doesn't change on upgrade from older versions. Note that this setting is distinct from the Privacy Extensions as configured by "ip6-privacy" property and it does not affect the temporary addresses configured with this option.</entry></row><row><entry><screen>address-data<indexterm zone="settings-ipv6"><primary sortas="address-data">address-data</primary></indexterm></screen></entry><entry><screen>array of vardict</screen></entry><entry><screen/></entry><entry>Array of IPv6 addresses. Each address dictionary contains at least 'address' and 'prefix' entries, containing the IP address as a string, and the prefix length as a uint32. Additional attributes may also exist on some addresses.</entry></row><row><entry><screen>addresses<indexterm zone="settings-ipv6"><primary sortas="addresses">addresses</primary></indexterm></screen></entry><entry><screen>array of legacy IPv6 address struct (a(ayuay))</screen></entry><entry><screen/></entry><entry>Deprecated in favor of the 'address-data' and 'gateway' properties, but this can be used for backward-compatibility with older daemons. Note that if you send this property the daemon will ignore 'address-data' and 'gateway'.  Array of IPv6 address structures.  Each IPv6 address structure is composed of an IPv6 address, a prefix length (1 - 128), and an IPv6 gateway address. The gateway may be zeroed out if no gateway exists for that subnet.</entry></row><row><entry><screen>dad-timeout<indexterm zone="settings-ipv6"><primary sortas="dad-timeout">dad-timeout</primary></indexterm></screen></entry><entry><screen>int32</screen></entry><entry><screen>-1</screen></entry><entry>Timeout in milliseconds used to check for the presence of duplicate IP addresses on the network.  If an address conflict is detected, the activation will fail.  A zero value means that no duplicate address detection is performed, -1 means the default value (either configuration ipvx.dad-timeout override or zero).  A value greater than zero is a timeout in milliseconds. The property is currently implemented only for IPv4.</entry></row><row><entry><screen>dhcp-duid<indexterm zone="settings-ipv6"><primary sortas="dhcp-duid">dhcp-duid</primary></indexterm></screen></entry><entry><screen>string</screen></entry><entry><screen/></entry><entry>A string containing the DHCPv6 Unique Identifier (DUID) used by the dhcp client to identify itself to DHCPv6 servers (RFC 3315). The DUID is carried in the Client Identifier option. If the property is a hex string ('aa:bb:cc') it is interpreted as a binary DUID and filled as an opaque value in the Client Identifier option. The special value "lease" will retrieve the DUID previously used from the lease file belonging to the connection. If no DUID is found and "dhclient" is the configured dhcp client, the DUID is searched in the system-wide dhclient lease file. If still no DUID is found, or another dhcp client is used, a global and permanent DUID-UUID (RFC 6355) will be generated based on the machine-id. The special values "llt" and "ll" will generate a DUID of type LLT or LL (see RFC 3315) based on the current MAC address of the device. In order to try providing a stable DUID-LLT, the time field will contain a constant timestamp that is used globally (for all profiles) and persisted to disk. The special values "stable-llt", "stable-ll" and "stable-uuid" will generate a DUID of the corresponding type, derived from the connection's stable-id and a per-host unique key. You may want to include the "${DEVICE}" or "${MAC}" specifier in the stable-id, in case this profile gets activated on multiple devices. So, the link-layer address of "stable-ll" and "stable-llt" will be a generated address derived from the stable id. The DUID-LLT time value in the "stable-llt" option will be picked among a static timespan of three years (the upper bound of the interval is the same constant timestamp used in "llt"). When the property is unset, the global value provided for "ipv6.dhcp-duid" is used. If no global value is provided, the default "lease" value is assumed.</entry></row><row><entry><screen>dhcp-hostname<indexterm zone="settings-ipv6"><primary sortas="dhcp-hostname">dhcp-hostname</primary></indexterm></screen></entry><entry><screen>string</screen></entry><entry><screen/></entry><entry>If the "dhcp-send-hostname" property is TRUE, then the specified name will be sent to the DHCP server when acquiring a lease. This property and "dhcp-fqdn" are mutually exclusive and cannot be set at the same time.</entry></row><row><entry><screen>dhcp-hostname-flags<indexterm zone="settings-ipv6"><primary sortas="dhcp-hostname-flags">dhcp-hostname-flags</primary></indexterm></screen></entry><entry><screen>uint32</screen></entry><entry><screen>0</screen></entry><entry>Flags for the DHCP hostname and FQDN. Currently, this property only includes flags to control the FQDN flags set in the DHCP FQDN option. Supported FQDN flags are NM_DHCP_HOSTNAME_FLAG_FQDN_SERV_UPDATE (0x1), NM_DHCP_HOSTNAME_FLAG_FQDN_ENCODED (0x2) and NM_DHCP_HOSTNAME_FLAG_FQDN_NO_UPDATE (0x4).  When no FQDN flag is set and NM_DHCP_HOSTNAME_FLAG_FQDN_CLEAR_FLAGS (0x8) is set, the DHCP FQDN option will contain no flag. Otherwise, if no FQDN flag is set and NM_DHCP_HOSTNAME_FLAG_FQDN_CLEAR_FLAGS (0x8) is not set, the standard FQDN flags are set in the request: NM_DHCP_HOSTNAME_FLAG_FQDN_SERV_UPDATE (0x1), NM_DHCP_HOSTNAME_FLAG_FQDN_ENCODED (0x2) for IPv4 and NM_DHCP_HOSTNAME_FLAG_FQDN_SERV_UPDATE (0x1) for IPv6. When this property is set to the default value NM_DHCP_HOSTNAME_FLAG_NONE (0x0), a global default is looked up in NetworkManager configuration. If that value is unset or also NM_DHCP_HOSTNAME_FLAG_NONE (0x0), then the standard FQDN flags described above are sent in the DHCP requests.</entry></row><row><entry><screen>dhcp-iaid<indexterm zone="settings-ipv6"><primary sortas="dhcp-iaid">dhcp-iaid</primary></indexterm></screen></entry><entry><screen>string</screen></entry><entry><screen/></entry><entry>A string containing the "Identity Association Identifier" (IAID) used by the DHCP client. The property is a 32-bit decimal value or a special value among "mac", "perm-mac", "ifname" and "stable". When set to "mac" (or "perm-mac"), the last 4 bytes of the current (or permanent) MAC address are used as IAID. When set to "ifname", the IAID is computed by hashing the interface name. The special value "stable" can be used to generate an IAID based on the stable-id (see connection.stable-id), a per-host key and the interface name. When the property is unset, the value from global configuration is used; if no global default is set then the IAID is assumed to be "ifname". Note that at the moment this property is ignored for IPv6 by dhclient, which always derives the IAID from the MAC address.</entry></row><row><entry><screen>dhcp-reject-servers<indexterm zone="settings-ipv6"><primary sortas="dhcp-reject-servers">dhcp-reject-servers</primary></indexterm></screen></entry><entry><screen>array of string</screen></entry><entry><screen/></entry><entry>Array of servers from which DHCP offers must be rejected. This property is useful to avoid getting a lease from misconfigured or rogue servers. For DHCPv4, each element must be an IPv4 address, optionally followed by a slash and a prefix length (e.g. "192.168.122.0/24"). This property is currently not implemented for DHCPv6.</entry></row><row><entry><screen>dhcp-send-hostname<indexterm zone="settings-ipv6"><primary sortas="dhcp-send-hostname">dhcp-send-hostname</primary></indexterm></screen></entry><entry><screen>boolean</screen></entry><entry><screen>TRUE</screen></entry><entry>If TRUE, a hostname is sent to the DHCP server when acquiring a lease. Some DHCP servers use this hostname to update DNS databases, essentially providing a static hostname for the computer.  If the "dhcp-hostname" property is NULL and this property is TRUE, the current persistent hostname of the computer is sent.</entry></row><row><entry><screen>dhcp-timeout<indexterm zone="settings-ipv6"><primary sortas="dhcp-timeout">dhcp-timeout</primary></indexterm></screen></entry><entry><screen>int32</screen></entry><entry><screen>0</screen></entry><entry>A timeout for a DHCP transaction in seconds. If zero (the default), a globally configured default is used. If still unspecified, a device specific timeout is used (usually 45 seconds). Set to 2147483647 (MAXINT32) for infinity.</entry></row><row><entry><screen>dns<indexterm zone="settings-ipv6"><primary sortas="dns">dns</primary></indexterm></screen></entry><entry><screen>array of byte array</screen></entry><entry><screen/></entry><entry>Array of IP addresses of DNS servers (in network byte order)</entry></row><row><entry><screen>dns-options<indexterm zone="settings-ipv6"><primary sortas="dns-options">dns-options</primary></indexterm></screen></entry><entry><screen>array of string</screen></entry><entry><screen/></entry><entry>Array of DNS options as described in man 5 resolv.conf. NULL means that the options are unset and left at the default. In this case NetworkManager will use default options. This is distinct from an empty list of properties. The currently supported options are "attempts", "debug", "edns0", "inet6", "ip6-bytestring", "ip6-dotint", "ndots", "no-check-names", "no-ip6-dotint", "no-reload", "no-tld-query", "rotate", "single-request", "single-request-reopen", "timeout", "trust-ad", "use-vc". The "trust-ad" setting is only honored if the profile contributes name servers to resolv.conf, and if all contributing profiles have "trust-ad" enabled. When using a caching DNS plugin (dnsmasq or systemd-resolved in NetworkManager.conf) then "edns0" and "trust-ad" are automatically added.</entry></row><row><entry><screen>dns-priority<indexterm zone="settings-ipv6"><primary sortas="dns-priority">dns-priority</primary></indexterm></screen></entry><entry><screen>int32</screen></entry><entry><screen>0</screen></entry><entry>DNS servers priority. The relative priority for DNS servers specified by this setting.  A lower numerical value is better (higher priority). Negative values have the special effect of excluding other configurations with a greater numerical priority value; so in presence of at least one negative priority, only DNS servers from connections with the lowest priority value will be used. To avoid all DNS leaks, set the priority of the profile that should be used to the most negative value of all active connections profiles. Zero selects a globally configured default value. If the latter is missing or zero too, it defaults to 50 for VPNs (including WireGuard) and 100 for other connections. Note that the priority is to order DNS settings for multiple active connections.  It does not disambiguate multiple DNS servers within the same connection profile. When multiple devices have configurations with the same priority, VPNs will be considered first, then devices with the best (lowest metric) default route and then all other devices. When using dns=default, servers with higher priority will be on top of resolv.conf. To prioritize a given server over another one within the same connection, just specify them in the desired order. Note that commonly the resolver tries name servers in /etc/resolv.conf in the order listed, proceeding with the next server in the list on failure. See for example the "rotate" option of the dns-options setting. If there are any negative DNS priorities, then only name servers from the devices with that lowest priority will be considered. When using a DNS resolver that supports Conditional Forwarding or Split DNS (with dns=dnsmasq or dns=systemd-resolved settings), each connection is used to query domains in its search list. The search domains determine which name servers to ask, and the DNS priority is used to prioritize name servers based on the domain.  Queries for domains not present in any search list are routed through connections having the '~.' special wildcard domain, which is added automatically to connections with the default route (or can be added manually).  When multiple connections specify the same domain, the one with the best priority (lowest numerical value) wins.  If a sub domain is configured on another interface it will be accepted regardless the priority, unless parent domain on the other interface has a negative priority, which causes the sub domain to be shadowed. With Split DNS one can avoid undesired DNS leaks by properly configuring DNS priorities and the search domains, so that only name servers of the desired interface are configured.</entry></row><row><entry><screen>dns-search<indexterm zone="settings-ipv6"><primary sortas="dns-search">dns-search</primary></indexterm></screen></entry><entry><screen>array of string</screen></entry><entry><screen/></entry><entry>Array of DNS search domains. Domains starting with a tilde ('~') are considered 'routing' domains and are used only to decide the interface over which a query must be forwarded; they are not used to complete unqualified host names. When using a DNS plugin that supports Conditional Forwarding or Split DNS, then the search domains specify which name servers to query. This makes the behavior different from running with plain /etc/resolv.conf. For more information see also the dns-priority setting.</entry></row><row><entry><screen>gateway<indexterm zone="settings-ipv6"><primary sortas="gateway">gateway</primary></indexterm></screen></entry><entry><screen>string</screen></entry><entry><screen/></entry><entry>The gateway associated with this configuration. This is only meaningful if "addresses" is also set. The gateway's main purpose is to control the next hop of the standard default route on the device. Hence, the gateway property conflicts with "never-default" and will be automatically dropped if the IP configuration is set to never-default. As an alternative to set the gateway, configure a static default route with /0 as prefix length.</entry></row><row><entry><screen>ignore-auto-dns<indexterm zone="settings-ipv6"><primary sortas="ignore-auto-dns">ignore-auto-dns</primary></indexterm></screen></entry><entry><screen>boolean</screen></entry><entry><screen>FALSE</screen></entry><entry>When "method" is set to "auto" and this property to TRUE, automatically configured name servers and search domains are ignored and only name servers and search domains specified in the "dns" and "dns-search" properties, if any, are used.</entry></row><row><entry><screen>ignore-auto-routes<indexterm zone="settings-ipv6"><primary sortas="ignore-auto-routes">ignore-auto-routes</primary></indexterm></screen></entry><entry><screen>boolean</screen></entry><entry><screen>FALSE</screen></entry><entry>When "method" is set to "auto" and this property to TRUE, automatically configured routes are ignored and only routes specified in the "routes" property, if any, are used.</entry></row><row><entry><screen>ip6-privacy<indexterm zone="settings-ipv6"><primary sortas="ip6-privacy">ip6-privacy</primary></indexterm></screen></entry><entry><screen>NMSettingIP6ConfigPrivacy (int32)</screen></entry><entry><screen/></entry><entry>Configure IPv6 Privacy Extensions for SLAAC, described in RFC4941.  If enabled, it makes the kernel generate a temporary IPv6 address in addition to the public one generated from MAC address via modified EUI-64.  This enhances privacy, but could cause problems in some applications, on the other hand.  The permitted values are: -1: unknown, 0: disabled, 1: enabled (prefer public address), 2: enabled (prefer temporary addresses). Having a per-connection setting set to "-1" (unknown) means fallback to global configuration "ipv6.ip6-privacy". If also global configuration is unspecified or set to "-1", fallback to read "/proc/sys/net/ipv6/conf/default/use_tempaddr". Note that this setting is distinct from the Stable Privacy addresses that can be enabled with the "addr-gen-mode" property's "stable-privacy" setting as another way of avoiding host tracking with IPv6 addresses.</entry></row><row><entry><screen>may-fail<indexterm zone="settings-ipv6"><primary sortas="may-fail">may-fail</primary></indexterm></screen></entry><entry><screen>boolean</screen></entry><entry><screen>TRUE</screen></entry><entry>If TRUE, allow overall network configuration to proceed even if the configuration specified by this property times out.  Note that at least one IP configuration must succeed or overall network configuration will still fail.  For example, in IPv6-only networks, setting this property to TRUE on the NMSettingIP4Config allows the overall network configuration to succeed if IPv4 configuration fails but IPv6 configuration completes successfully.</entry></row><row><entry><screen>method<indexterm zone="settings-ipv6"><primary sortas="method">method</primary></indexterm></screen></entry><entry><screen>string</screen></entry><entry><screen/></entry><entry>IP configuration method. NMSettingIP4Config and NMSettingIP6Config both support "disabled", "auto", "manual", and "link-local". See the subclass-specific documentation for other values. In general, for the "auto" method, properties such as "dns" and "routes" specify information that is added on to the information returned from automatic configuration.  The "ignore-auto-routes" and "ignore-auto-dns" properties modify this behavior. For methods that imply no upstream network, such as "shared" or "link-local", these properties must be empty. For IPv4 method "shared", the IP subnet can be configured by adding one manual IPv4 address or otherwise 10.42.x.0/24 is chosen. Note that the shared method must be configured on the interface which shares the internet to a subnet, not on the uplink which is shared.</entry></row><row><entry><screen>never-default<indexterm zone="settings-ipv6"><primary sortas="never-default">never-default</primary></indexterm></screen></entry><entry><screen>boolean</screen></entry><entry><screen>FALSE</screen></entry><entry>If TRUE, this connection will never be the default connection for this IP type, meaning it will never be assigned the default route by NetworkManager.</entry></row><row><entry><screen>ra-timeout<indexterm zone="settings-ipv6"><primary sortas="ra-timeout">ra-timeout</primary></indexterm></screen></entry><entry><screen>int32</screen></entry><entry><screen>0</screen></entry><entry>A timeout for waiting Router Advertisements in seconds. If zero (the default), a globally configured default is used. If still unspecified, the timeout depends on the sysctl settings of the device. Set to 2147483647 (MAXINT32) for infinity.</entry></row><row><entry><screen>route-data<indexterm zone="settings-ipv6"><primary sortas="route-data">route-data</primary></indexterm></screen></entry><entry><screen>array of vardict</screen></entry><entry><screen/></entry><entry>Array of IPv6 routes. Each route dictionary contains at least 'dest' and 'prefix' entries, containing the destination IP address as a string, and the prefix length as a uint32. Most routes will also have a 'next-hop' entry, containing the next hop IP address as a string. If the route has a 'metric' entry (containing a uint32), that will be used as the metric for the route (otherwise NM will pick a default value appropriate to the device). Additional attributes may also exist on some routes.</entry></row><row><entry><screen>route-metric<indexterm zone="settings-ipv6"><primary sortas="route-metric">route-metric</primary></indexterm></screen></entry><entry><screen>int64</screen></entry><entry><screen>-1</screen></entry><entry>The default metric for routes that don't explicitly specify a metric. The default value -1 means that the metric is chosen automatically based on the device type. The metric applies to dynamic routes, manual (static) routes that don't have an explicit metric setting, address prefix routes, and the default route. Note that for IPv6, the kernel accepts zero (0) but coerces it to 1024 (user default). Hence, setting this property to zero effectively mean setting it to 1024. For IPv4, zero is a regular value for the metric.</entry></row><row><entry><screen>route-table<indexterm zone="settings-ipv6"><primary sortas="route-table">route-table</primary></indexterm></screen></entry><entry><screen>uint32</screen></entry><entry><screen>0</screen></entry><entry>Enable policy routing (source routing) and set the routing table used when adding routes. This affects all routes, including device-routes, IPv4LL, DHCP, SLAAC, default-routes and static routes. But note that static routes can individually overwrite the setting by explicitly specifying a non-zero routing table. If the table setting is left at zero, it is eligible to be overwritten via global configuration. If the property is zero even after applying the global configuration value, policy routing is disabled for the address family of this connection. Policy routing disabled means that NetworkManager will add all routes to the main table (except static routes that explicitly configure a different table). Additionally, NetworkManager will not delete any extraneous routes from tables except the main table. This is to preserve backward compatibility for users who manage routing tables outside of NetworkManager.</entry></row><row><entry><screen>routes<indexterm zone="settings-ipv6"><primary sortas="routes">routes</primary></indexterm></screen></entry><entry><screen>array of legacy IPv6 route struct (a(ayuayu))</screen></entry><entry><screen/></entry><entry>Deprecated in favor of the 'route-data' property, but this can be used for backward-compatibility with older daemons. Note that if you send this property the daemon will ignore 'route-data'.  Array of IPv6 route structures.  Each IPv6 route structure is composed of an IPv6 address, a prefix length (1 - 128), an IPv6 next hop address (which may be zeroed out if there is no next hop), and a metric. If the metric is 0, NM will choose an appropriate default metric for the device.</entry></row><row><entry><screen>token<indexterm zone="settings-ipv6"><primary sortas="token">token</primary></indexterm></screen></entry><entry><screen>string</screen></entry><entry><screen/></entry><entry>Configure the token for draft-chown-6man-tokenised-ipv6-identifiers-02 IPv6 tokenized interface identifiers. Useful with eui64 addr-gen-mode.</entry></row></tbody></tgroup></table></para></refsect1></refentry><refentry id="settings-ip-tunnel"><refnamediv><refname>ip-tunnel</refname><refpurpose>IP Tunneling Settings</refpurpose></refnamediv><refsect1 role="properties"><title id="settings-ip-tunnel.properties">
+        </title><para><table><tgroup cols="4"><thead><row><entry>Key Name</entry><entry>Value Type</entry><entry>Default Value</entry><entry>Value Description</entry></row></thead><tbody><row><entry><screen>addr-gen-mode<indexterm zone="settings-ipv6"><primary sortas="addr-gen-mode">addr-gen-mode</primary></indexterm></screen></entry><entry><screen>int32</screen></entry><entry><screen>1</screen></entry><entry>Configure method for creating the address for use with RFC4862 IPv6 Stateless Address Autoconfiguration. The permitted values are: NM_SETTING_IP6_CONFIG_ADDR_GEN_MODE_EUI64 (0) or NM_SETTING_IP6_CONFIG_ADDR_GEN_MODE_STABLE_PRIVACY (1). If the property is set to EUI64, the addresses will be generated using the interface tokens derived from hardware address. This makes the host part of the address to stay constant, making it possible to track host's presence when it changes networks. The address changes when the interface hardware is replaced. The value of stable-privacy enables use of cryptographically secure hash of a secret host-specific key along with the connection's stable-id and the network address as specified by RFC7217. This makes it impossible to use the address track host's presence, and makes the address stable when the network interface hardware is replaced. On D-Bus, the absence of an addr-gen-mode setting equals enabling stable-privacy. For keyfile plugin, the absence of the setting on disk means EUI64 so that the property doesn't change on upgrade from older versions. Note that this setting is distinct from the Privacy Extensions as configured by "ip6-privacy" property and it does not affect the temporary addresses configured with this option.</entry></row><row><entry><screen>address-data<indexterm zone="settings-ipv6"><primary sortas="address-data">address-data</primary></indexterm></screen></entry><entry><screen>array of vardict</screen></entry><entry><screen/></entry><entry>Array of IPv6 addresses. Each address dictionary contains at least 'address' and 'prefix' entries, containing the IP address as a string, and the prefix length as a uint32. Additional attributes may also exist on some addresses.</entry></row><row><entry><screen>addresses<indexterm zone="settings-ipv6"><primary sortas="addresses">addresses</primary></indexterm></screen></entry><entry><screen>array of legacy IPv6 address struct (a(ayuay))</screen></entry><entry><screen/></entry><entry>Deprecated in favor of the 'address-data' and 'gateway' properties, but this can be used for backward-compatibility with older daemons. Note that if you send this property the daemon will ignore 'address-data' and 'gateway'.  Array of IPv6 address structures.  Each IPv6 address structure is composed of an IPv6 address, a prefix length (1 - 128), and an IPv6 gateway address. The gateway may be zeroed out if no gateway exists for that subnet.</entry></row><row><entry><screen>dad-timeout<indexterm zone="settings-ipv6"><primary sortas="dad-timeout">dad-timeout</primary></indexterm></screen></entry><entry><screen>int32</screen></entry><entry><screen>-1</screen></entry><entry>Timeout in milliseconds used to check for the presence of duplicate IP addresses on the network.  If an address conflict is detected, the activation will fail.  A zero value means that no duplicate address detection is performed, -1 means the default value (either configuration ipvx.dad-timeout override or zero).  A value greater than zero is a timeout in milliseconds. The property is currently implemented only for IPv4.</entry></row><row><entry><screen>dhcp-duid<indexterm zone="settings-ipv6"><primary sortas="dhcp-duid">dhcp-duid</primary></indexterm></screen></entry><entry><screen>string</screen></entry><entry><screen/></entry><entry>A string containing the DHCPv6 Unique Identifier (DUID) used by the dhcp client to identify itself to DHCPv6 servers (RFC 3315). The DUID is carried in the Client Identifier option. If the property is a hex string ('aa:bb:cc') it is interpreted as a binary DUID and filled as an opaque value in the Client Identifier option. The special value "lease" will retrieve the DUID previously used from the lease file belonging to the connection. If no DUID is found and "dhclient" is the configured dhcp client, the DUID is searched in the system-wide dhclient lease file. If still no DUID is found, or another dhcp client is used, a global and permanent DUID-UUID (RFC 6355) will be generated based on the machine-id. The special values "llt" and "ll" will generate a DUID of type LLT or LL (see RFC 3315) based on the current MAC address of the device. In order to try providing a stable DUID-LLT, the time field will contain a constant timestamp that is used globally (for all profiles) and persisted to disk. The special values "stable-llt", "stable-ll" and "stable-uuid" will generate a DUID of the corresponding type, derived from the connection's stable-id and a per-host unique key. You may want to include the "${DEVICE}" or "${MAC}" specifier in the stable-id, in case this profile gets activated on multiple devices. So, the link-layer address of "stable-ll" and "stable-llt" will be a generated address derived from the stable id. The DUID-LLT time value in the "stable-llt" option will be picked among a static timespan of three years (the upper bound of the interval is the same constant timestamp used in "llt"). When the property is unset, the global value provided for "ipv6.dhcp-duid" is used. If no global value is provided, the default "lease" value is assumed.</entry></row><row><entry><screen>dhcp-hostname<indexterm zone="settings-ipv6"><primary sortas="dhcp-hostname">dhcp-hostname</primary></indexterm></screen></entry><entry><screen>string</screen></entry><entry><screen/></entry><entry>If the "dhcp-send-hostname" property is TRUE, then the specified name will be sent to the DHCP server when acquiring a lease. This property and "dhcp-fqdn" are mutually exclusive and cannot be set at the same time.</entry></row><row><entry><screen>dhcp-hostname-flags<indexterm zone="settings-ipv6"><primary sortas="dhcp-hostname-flags">dhcp-hostname-flags</primary></indexterm></screen></entry><entry><screen>uint32</screen></entry><entry><screen>0</screen></entry><entry>Flags for the DHCP hostname and FQDN. Currently, this property only includes flags to control the FQDN flags set in the DHCP FQDN option. Supported FQDN flags are NM_DHCP_HOSTNAME_FLAG_FQDN_SERV_UPDATE (0x1), NM_DHCP_HOSTNAME_FLAG_FQDN_ENCODED (0x2) and NM_DHCP_HOSTNAME_FLAG_FQDN_NO_UPDATE (0x4).  When no FQDN flag is set and NM_DHCP_HOSTNAME_FLAG_FQDN_CLEAR_FLAGS (0x8) is set, the DHCP FQDN option will contain no flag. Otherwise, if no FQDN flag is set and NM_DHCP_HOSTNAME_FLAG_FQDN_CLEAR_FLAGS (0x8) is not set, the standard FQDN flags are set in the request: NM_DHCP_HOSTNAME_FLAG_FQDN_SERV_UPDATE (0x1), NM_DHCP_HOSTNAME_FLAG_FQDN_ENCODED (0x2) for IPv4 and NM_DHCP_HOSTNAME_FLAG_FQDN_SERV_UPDATE (0x1) for IPv6. When this property is set to the default value NM_DHCP_HOSTNAME_FLAG_NONE (0x0), a global default is looked up in NetworkManager configuration. If that value is unset or also NM_DHCP_HOSTNAME_FLAG_NONE (0x0), then the standard FQDN flags described above are sent in the DHCP requests.</entry></row><row><entry><screen>dhcp-iaid<indexterm zone="settings-ipv6"><primary sortas="dhcp-iaid">dhcp-iaid</primary></indexterm></screen></entry><entry><screen>string</screen></entry><entry><screen/></entry><entry>A string containing the "Identity Association Identifier" (IAID) used by the DHCP client. The property is a 32-bit decimal value or a special value among "mac", "perm-mac", "ifname" and "stable". When set to "mac" (or "perm-mac"), the last 4 bytes of the current (or permanent) MAC address are used as IAID. When set to "ifname", the IAID is computed by hashing the interface name. The special value "stable" can be used to generate an IAID based on the stable-id (see connection.stable-id), a per-host key and the interface name. When the property is unset, the value from global configuration is used; if no global default is set then the IAID is assumed to be "ifname". Note that at the moment this property is ignored for IPv6 by dhclient, which always derives the IAID from the MAC address.</entry></row><row><entry><screen>dhcp-reject-servers<indexterm zone="settings-ipv6"><primary sortas="dhcp-reject-servers">dhcp-reject-servers</primary></indexterm></screen></entry><entry><screen>array of string</screen></entry><entry><screen/></entry><entry>Array of servers from which DHCP offers must be rejected. This property is useful to avoid getting a lease from misconfigured or rogue servers. For DHCPv4, each element must be an IPv4 address, optionally followed by a slash and a prefix length (e.g. "192.168.122.0/24"). This property is currently not implemented for DHCPv6.</entry></row><row><entry><screen>dhcp-send-hostname<indexterm zone="settings-ipv6"><primary sortas="dhcp-send-hostname">dhcp-send-hostname</primary></indexterm></screen></entry><entry><screen>boolean</screen></entry><entry><screen>TRUE</screen></entry><entry>If TRUE, a hostname is sent to the DHCP server when acquiring a lease. Some DHCP servers use this hostname to update DNS databases, essentially providing a static hostname for the computer.  If the "dhcp-hostname" property is NULL and this property is TRUE, the current persistent hostname of the computer is sent.</entry></row><row><entry><screen>dhcp-timeout<indexterm zone="settings-ipv6"><primary sortas="dhcp-timeout">dhcp-timeout</primary></indexterm></screen></entry><entry><screen>int32</screen></entry><entry><screen>0</screen></entry><entry>A timeout for a DHCP transaction in seconds. If zero (the default), a globally configured default is used. If still unspecified, a device specific timeout is used (usually 45 seconds). Set to 2147483647 (MAXINT32) for infinity.</entry></row><row><entry><screen>dns<indexterm zone="settings-ipv6"><primary sortas="dns">dns</primary></indexterm></screen></entry><entry><screen>array of byte array</screen></entry><entry><screen/></entry><entry>Array of IP addresses of DNS servers (in network byte order)</entry></row><row><entry><screen>dns-options<indexterm zone="settings-ipv6"><primary sortas="dns-options">dns-options</primary></indexterm></screen></entry><entry><screen>array of string</screen></entry><entry><screen/></entry><entry>Array of DNS options as described in man 5 resolv.conf. NULL means that the options are unset and left at the default. In this case NetworkManager will use default options. This is distinct from an empty list of properties. The currently supported options are "attempts", "debug", "edns0", "inet6", "ip6-bytestring", "ip6-dotint", "ndots", "no-check-names", "no-ip6-dotint", "no-reload", "no-tld-query", "rotate", "single-request", "single-request-reopen", "timeout", "trust-ad", "use-vc". The "trust-ad" setting is only honored if the profile contributes name servers to resolv.conf, and if all contributing profiles have "trust-ad" enabled. When using a caching DNS plugin (dnsmasq or systemd-resolved in NetworkManager.conf) then "edns0" and "trust-ad" are automatically added.</entry></row><row><entry><screen>dns-priority<indexterm zone="settings-ipv6"><primary sortas="dns-priority">dns-priority</primary></indexterm></screen></entry><entry><screen>int32</screen></entry><entry><screen>0</screen></entry><entry>DNS servers priority. The relative priority for DNS servers specified by this setting.  A lower numerical value is better (higher priority). Negative values have the special effect of excluding other configurations with a greater numerical priority value; so in presence of at least one negative priority, only DNS servers from connections with the lowest priority value will be used. To avoid all DNS leaks, set the priority of the profile that should be used to the most negative value of all active connections profiles. Zero selects a globally configured default value. If the latter is missing or zero too, it defaults to 50 for VPNs (including WireGuard) and 100 for other connections. Note that the priority is to order DNS settings for multiple active connections.  It does not disambiguate multiple DNS servers within the same connection profile. When multiple devices have configurations with the same priority, VPNs will be considered first, then devices with the best (lowest metric) default route and then all other devices. When using dns=default, servers with higher priority will be on top of resolv.conf. To prioritize a given server over another one within the same connection, just specify them in the desired order. Note that commonly the resolver tries name servers in /etc/resolv.conf in the order listed, proceeding with the next server in the list on failure. See for example the "rotate" option of the dns-options setting. If there are any negative DNS priorities, then only name servers from the devices with that lowest priority will be considered. When using a DNS resolver that supports Conditional Forwarding or Split DNS (with dns=dnsmasq or dns=systemd-resolved settings), each connection is used to query domains in its search list. The search domains determine which name servers to ask, and the DNS priority is used to prioritize name servers based on the domain.  Queries for domains not present in any search list are routed through connections having the '~.' special wildcard domain, which is added automatically to connections with the default route (or can be added manually).  When multiple connections specify the same domain, the one with the best priority (lowest numerical value) wins.  If a sub domain is configured on another interface it will be accepted regardless the priority, unless parent domain on the other interface has a negative priority, which causes the sub domain to be shadowed. With Split DNS one can avoid undesired DNS leaks by properly configuring DNS priorities and the search domains, so that only name servers of the desired interface are configured.</entry></row><row><entry><screen>dns-search<indexterm zone="settings-ipv6"><primary sortas="dns-search">dns-search</primary></indexterm></screen></entry><entry><screen>array of string</screen></entry><entry><screen/></entry><entry>Array of DNS search domains. Domains starting with a tilde ('~') are considered 'routing' domains and are used only to decide the interface over which a query must be forwarded; they are not used to complete unqualified host names. When using a DNS plugin that supports Conditional Forwarding or Split DNS, then the search domains specify which name servers to query. This makes the behavior different from running with plain /etc/resolv.conf. For more information see also the dns-priority setting.</entry></row><row><entry><screen>gateway<indexterm zone="settings-ipv6"><primary sortas="gateway">gateway</primary></indexterm></screen></entry><entry><screen>string</screen></entry><entry><screen/></entry><entry>The gateway associated with this configuration. This is only meaningful if "addresses" is also set. The gateway's main purpose is to control the next hop of the standard default route on the device. Hence, the gateway property conflicts with "never-default" and will be automatically dropped if the IP configuration is set to never-default. As an alternative to set the gateway, configure a static default route with /0 as prefix length.</entry></row><row><entry><screen>ignore-auto-dns<indexterm zone="settings-ipv6"><primary sortas="ignore-auto-dns">ignore-auto-dns</primary></indexterm></screen></entry><entry><screen>boolean</screen></entry><entry><screen>FALSE</screen></entry><entry>When "method" is set to "auto" and this property to TRUE, automatically configured name servers and search domains are ignored and only name servers and search domains specified in the "dns" and "dns-search" properties, if any, are used.</entry></row><row><entry><screen>ignore-auto-routes<indexterm zone="settings-ipv6"><primary sortas="ignore-auto-routes">ignore-auto-routes</primary></indexterm></screen></entry><entry><screen>boolean</screen></entry><entry><screen>FALSE</screen></entry><entry>When "method" is set to "auto" and this property to TRUE, automatically configured routes are ignored and only routes specified in the "routes" property, if any, are used.</entry></row><row><entry><screen>ip6-privacy<indexterm zone="settings-ipv6"><primary sortas="ip6-privacy">ip6-privacy</primary></indexterm></screen></entry><entry><screen>NMSettingIP6ConfigPrivacy (int32)</screen></entry><entry><screen/></entry><entry>Configure IPv6 Privacy Extensions for SLAAC, described in RFC4941.  If enabled, it makes the kernel generate a temporary IPv6 address in addition to the public one generated from MAC address via modified EUI-64.  This enhances privacy, but could cause problems in some applications, on the other hand.  The permitted values are: -1: unknown, 0: disabled, 1: enabled (prefer public address), 2: enabled (prefer temporary addresses). Having a per-connection setting set to "-1" (unknown) means fallback to global configuration "ipv6.ip6-privacy". If also global configuration is unspecified or set to "-1", fallback to read "/proc/sys/net/ipv6/conf/default/use_tempaddr". Note that this setting is distinct from the Stable Privacy addresses that can be enabled with the "addr-gen-mode" property's "stable-privacy" setting as another way of avoiding host tracking with IPv6 addresses.</entry></row><row><entry><screen>may-fail<indexterm zone="settings-ipv6"><primary sortas="may-fail">may-fail</primary></indexterm></screen></entry><entry><screen>boolean</screen></entry><entry><screen>TRUE</screen></entry><entry>If TRUE, allow overall network configuration to proceed even if the configuration specified by this property times out.  Note that at least one IP configuration must succeed or overall network configuration will still fail.  For example, in IPv6-only networks, setting this property to TRUE on the NMSettingIP4Config allows the overall network configuration to succeed if IPv4 configuration fails but IPv6 configuration completes successfully.</entry></row><row><entry><screen>method<indexterm zone="settings-ipv6"><primary sortas="method">method</primary></indexterm></screen></entry><entry><screen>string</screen></entry><entry><screen/></entry><entry>IP configuration method. NMSettingIP4Config and NMSettingIP6Config both support "disabled", "auto", "manual", and "link-local". See the subclass-specific documentation for other values. In general, for the "auto" method, properties such as "dns" and "routes" specify information that is added on to the information returned from automatic configuration.  The "ignore-auto-routes" and "ignore-auto-dns" properties modify this behavior. For methods that imply no upstream network, such as "shared" or "link-local", these properties must be empty. For IPv4 method "shared", the IP subnet can be configured by adding one manual IPv4 address or otherwise 10.42.x.0/24 is chosen. Note that the shared method must be configured on the interface which shares the internet to a subnet, not on the uplink which is shared.</entry></row><row><entry><screen>never-default<indexterm zone="settings-ipv6"><primary sortas="never-default">never-default</primary></indexterm></screen></entry><entry><screen>boolean</screen></entry><entry><screen>FALSE</screen></entry><entry>If TRUE, this connection will never be the default connection for this IP type, meaning it will never be assigned the default route by NetworkManager.</entry></row><row><entry><screen>ra-timeout<indexterm zone="settings-ipv6"><primary sortas="ra-timeout">ra-timeout</primary></indexterm></screen></entry><entry><screen>int32</screen></entry><entry><screen>0</screen></entry><entry>A timeout for waiting Router Advertisements in seconds. If zero (the default), a globally configured default is used. If still unspecified, the timeout depends on the sysctl settings of the device. Set to 2147483647 (MAXINT32) for infinity.</entry></row><row><entry><screen>required-timeout<indexterm zone="settings-ipv6"><primary sortas="required-timeout">required-timeout</primary></indexterm></screen></entry><entry><screen>int32</screen></entry><entry><screen>-1</screen></entry><entry>The minimum time interval in milliseconds for which dynamic IP configuration should be tried before the connection succeeds. This property is useful for example if both IPv4 and IPv6 are enabled and are allowed to fail. Normally the connection succeeds as soon as one of the two address families completes; by setting a required timeout for e.g. IPv4, one can ensure that even if IP6 succeeds earlier than IPv4, NetworkManager waits some time for IPv4 before the connection becomes active. Note that if "may-fail" is FALSE for the same address family, this property has no effect as NetworkManager needs to wait for the full DHCP timeout. A zero value means that no required timeout is present, -1 means the default value (either configuration ipvx.required-timeout override or zero).</entry></row><row><entry><screen>route-data<indexterm zone="settings-ipv6"><primary sortas="route-data">route-data</primary></indexterm></screen></entry><entry><screen>array of vardict</screen></entry><entry><screen/></entry><entry>Array of IPv6 routes. Each route dictionary contains at least 'dest' and 'prefix' entries, containing the destination IP address as a string, and the prefix length as a uint32. Most routes will also have a 'next-hop' entry, containing the next hop IP address as a string. If the route has a 'metric' entry (containing a uint32), that will be used as the metric for the route (otherwise NM will pick a default value appropriate to the device). Additional attributes may also exist on some routes.</entry></row><row><entry><screen>route-metric<indexterm zone="settings-ipv6"><primary sortas="route-metric">route-metric</primary></indexterm></screen></entry><entry><screen>int64</screen></entry><entry><screen>-1</screen></entry><entry>The default metric for routes that don't explicitly specify a metric. The default value -1 means that the metric is chosen automatically based on the device type. The metric applies to dynamic routes, manual (static) routes that don't have an explicit metric setting, address prefix routes, and the default route. Note that for IPv6, the kernel accepts zero (0) but coerces it to 1024 (user default). Hence, setting this property to zero effectively mean setting it to 1024. For IPv4, zero is a regular value for the metric.</entry></row><row><entry><screen>route-table<indexterm zone="settings-ipv6"><primary sortas="route-table">route-table</primary></indexterm></screen></entry><entry><screen>uint32</screen></entry><entry><screen>0</screen></entry><entry>Enable policy routing (source routing) and set the routing table used when adding routes. This affects all routes, including device-routes, IPv4LL, DHCP, SLAAC, default-routes and static routes. But note that static routes can individually overwrite the setting by explicitly specifying a non-zero routing table. If the table setting is left at zero, it is eligible to be overwritten via global configuration. If the property is zero even after applying the global configuration value, policy routing is disabled for the address family of this connection. Policy routing disabled means that NetworkManager will add all routes to the main table (except static routes that explicitly configure a different table). Additionally, NetworkManager will not delete any extraneous routes from tables except the main table. This is to preserve backward compatibility for users who manage routing tables outside of NetworkManager.</entry></row><row><entry><screen>routes<indexterm zone="settings-ipv6"><primary sortas="routes">routes</primary></indexterm></screen></entry><entry><screen>array of legacy IPv6 route struct (a(ayuayu))</screen></entry><entry><screen/></entry><entry>Deprecated in favor of the 'route-data' property, but this can be used for backward-compatibility with older daemons. Note that if you send this property the daemon will ignore 'route-data'.  Array of IPv6 route structures.  Each IPv6 route structure is composed of an IPv6 address, a prefix length (1 - 128), an IPv6 next hop address (which may be zeroed out if there is no next hop), and a metric. If the metric is 0, NM will choose an appropriate default metric for the device.</entry></row><row><entry><screen>token<indexterm zone="settings-ipv6"><primary sortas="token">token</primary></indexterm></screen></entry><entry><screen>string</screen></entry><entry><screen/></entry><entry>Configure the token for draft-chown-6man-tokenised-ipv6-identifiers-02 IPv6 tokenized interface identifiers. Useful with eui64 addr-gen-mode.</entry></row></tbody></tgroup></table></para></refsect1></refentry><refentry id="settings-ip-tunnel"><refnamediv><refname>ip-tunnel</refname><refpurpose>IP Tunneling Settings</refpurpose></refnamediv><refsect1 role="properties"><title id="settings-ip-tunnel.properties">
             Properties
         </title><para><table><tgroup cols="4"><thead><row><entry>Key Name</entry><entry>Value Type</entry><entry>Default Value</entry><entry>Value Description</entry></row></thead><tbody><row><entry><screen>encapsulation-limit<indexterm zone="settings-ip-tunnel"><primary sortas="encapsulation-limit">encapsulation-limit</primary></indexterm></screen></entry><entry><screen>uint32</screen></entry><entry><screen>0</screen></entry><entry>How many additional levels of encapsulation are permitted to be prepended to packets. This property applies only to IPv6 tunnels.</entry></row><row><entry><screen>flags<indexterm zone="settings-ip-tunnel"><primary sortas="flags">flags</primary></indexterm></screen></entry><entry><screen>uint32</screen></entry><entry><screen>0</screen></entry><entry>Tunnel flags. Currently, the following values are supported: NM_IP_TUNNEL_FLAG_IP6_IGN_ENCAP_LIMIT (0x1), NM_IP_TUNNEL_FLAG_IP6_USE_ORIG_TCLASS (0x2), NM_IP_TUNNEL_FLAG_IP6_USE_ORIG_FLOWLABEL (0x4), NM_IP_TUNNEL_FLAG_IP6_MIP6_DEV (0x8), NM_IP_TUNNEL_FLAG_IP6_RCV_DSCP_COPY (0x10), NM_IP_TUNNEL_FLAG_IP6_USE_ORIG_FWMARK (0x20). They are valid only for IPv6 tunnels.</entry></row><row><entry><screen>flow-label<indexterm zone="settings-ip-tunnel"><primary sortas="flow-label">flow-label</primary></indexterm></screen></entry><entry><screen>uint32</screen></entry><entry><screen>0</screen></entry><entry>The flow label to assign to tunnel packets. This property applies only to IPv6 tunnels.</entry></row><row><entry><screen>input-key<indexterm zone="settings-ip-tunnel"><primary sortas="input-key">input-key</primary></indexterm></screen></entry><entry><screen>string</screen></entry><entry><screen/></entry><entry>The key used for tunnel input packets; the property is valid only for certain tunnel modes (GRE, IP6GRE). If empty, no key is used.</entry></row><row><entry><screen>local<indexterm zone="settings-ip-tunnel"><primary sortas="local">local</primary></indexterm></screen></entry><entry><screen>string</screen></entry><entry><screen/></entry><entry>The local endpoint of the tunnel; the value can be empty, otherwise it must contain an IPv4 or IPv6 address.</entry></row><row><entry><screen>mode<indexterm zone="settings-ip-tunnel"><primary sortas="mode">mode</primary></indexterm></screen></entry><entry><screen>uint32</screen></entry><entry><screen>0</screen></entry><entry>The tunneling mode, for example NM_IP_TUNNEL_MODE_IPIP (1) or NM_IP_TUNNEL_MODE_GRE (2).</entry></row><row><entry><screen>mtu<indexterm zone="settings-ip-tunnel"><primary sortas="mtu">mtu</primary></indexterm></screen></entry><entry><screen>uint32</screen></entry><entry><screen>0</screen></entry><entry>If non-zero, only transmit packets of the specified size or smaller, breaking larger packets up into multiple fragments.</entry></row><row><entry><screen>output-key<indexterm zone="settings-ip-tunnel"><primary sortas="output-key">output-key</primary></indexterm></screen></entry><entry><screen>string</screen></entry><entry><screen/></entry><entry>The key used for tunnel output packets; the property is valid only for certain tunnel modes (GRE, IP6GRE). If empty, no key is used.</entry></row><row><entry><screen>parent<indexterm zone="settings-ip-tunnel"><primary sortas="parent">parent</primary></indexterm></screen></entry><entry><screen>string</screen></entry><entry><screen/></entry><entry>If given, specifies the parent interface name or parent connection UUID the new device will be bound to so that tunneled packets will only be routed via that interface.</entry></row><row><entry><screen>path-mtu-discovery<indexterm zone="settings-ip-tunnel"><primary sortas="path-mtu-discovery">path-mtu-discovery</primary></indexterm></screen></entry><entry><screen>boolean</screen></entry><entry><screen>TRUE</screen></entry><entry>Whether to enable Path MTU Discovery on this tunnel.</entry></row><row><entry><screen>remote<indexterm zone="settings-ip-tunnel"><primary sortas="remote">remote</primary></indexterm></screen></entry><entry><screen>string</screen></entry><entry><screen/></entry><entry>The remote endpoint of the tunnel; the value must contain an IPv4 or IPv6 address.</entry></row><row><entry><screen>tos<indexterm zone="settings-ip-tunnel"><primary sortas="tos">tos</primary></indexterm></screen></entry><entry><screen>uint32</screen></entry><entry><screen>0</screen></entry><entry>The type of service (IPv4) or traffic class (IPv6) field to be set on tunneled packets.</entry></row><row><entry><screen>ttl<indexterm zone="settings-ip-tunnel"><primary sortas="ttl">ttl</primary></indexterm></screen></entry><entry><screen>uint32</screen></entry><entry><screen>0</screen></entry><entry>The TTL to assign to tunneled packets. 0 is a special value meaning that packets inherit the TTL value.</entry></row></tbody></tgroup></table></para></refsect1></refentry><refentry id="settings-macsec"><refnamediv><refname>macsec</refname><refpurpose>MACSec Settings</refpurpose></refnamediv><refsect1 role="properties"><title id="settings-macsec.properties">
             Properties
@@ -42,9 +42,9 @@
             Properties
         </title><para><table><tgroup cols="4"><thead><row><entry>Key Name</entry><entry>Value Type</entry><entry>Default Value</entry><entry>Value Description</entry></row></thead><tbody><row><entry><screen>mode<indexterm zone="settings-macvlan"><primary sortas="mode">mode</primary></indexterm></screen></entry><entry><screen>uint32</screen></entry><entry><screen>0</screen></entry><entry>The macvlan mode, which specifies the communication mechanism between multiple macvlans on the same lower device.</entry></row><row><entry><screen>parent<indexterm zone="settings-macvlan"><primary sortas="parent">parent</primary></indexterm></screen></entry><entry><screen>string</screen></entry><entry><screen/></entry><entry>If given, specifies the parent interface name or parent connection UUID from which this MAC-VLAN interface should be created.  If this property is not specified, the connection must contain an "802-3-ethernet" setting with a "mac-address" property.</entry></row><row><entry><screen>promiscuous<indexterm zone="settings-macvlan"><primary sortas="promiscuous">promiscuous</primary></indexterm></screen></entry><entry><screen>boolean</screen></entry><entry><screen>TRUE</screen></entry><entry>Whether the interface should be put in promiscuous mode.</entry></row><row><entry><screen>tap<indexterm zone="settings-macvlan"><primary sortas="tap">tap</primary></indexterm></screen></entry><entry><screen>boolean</screen></entry><entry><screen>FALSE</screen></entry><entry>Whether the interface should be a MACVTAP.</entry></row></tbody></tgroup></table></para></refsect1></refentry><refentry id="settings-match"><refnamediv><refname>match</refname><refpurpose>Match settings</refpurpose></refnamediv><refsect1 role="properties"><title id="settings-match.properties">
             Properties
-        </title><para><table><tgroup cols="4"><thead><row><entry>Key Name</entry><entry>Value Type</entry><entry>Default Value</entry><entry>Value Description</entry></row></thead><tbody><row><entry><screen>driver<indexterm zone="settings-match"><primary sortas="driver">driver</primary></indexterm></screen></entry><entry><screen>array of string</screen></entry><entry><screen/></entry><entry>A list of driver names to match. Each element is a shell wildcard pattern. See NMSettingMatch:interface-name for how special characters '|', '&amp;', '!' and '\\' are used for optional and mandatory matches and inverting the pattern.</entry></row><row><entry><screen>interface-name<indexterm zone="settings-match"><primary sortas="interface-name">interface-name</primary></indexterm></screen></entry><entry><screen>array of string</screen></entry><entry><screen/></entry><entry>A list of interface names to match. Each element is a shell wildcard pattern. An element can be prefixed with a pipe symbol (|) or an ampersand (&amp;). The former means that the element is optional and the latter means that it is mandatory. If there are any optional elements, than the match evaluates to true if at least one of the optional element matches (logical OR). If there are any mandatory elements, then they all must match (logical AND). By default, an element is optional. This means that an element "foo" behaves the same as "|foo". An element can also be inverted with exclamation mark (!) between the pipe symbol (or the ampersand) and before the pattern. Note that "!foo" is a shortcut for the mandatory match "&amp;!foo". Finally, a backslash can be used at the beginning of the element (after the optional special characters) to escape the start of the pattern. For example, "&amp;\\!a" is an mandatory match for literally "!a".</entry></row><row><entry><screen>kernel-command-line<indexterm zone="settings-match"><primary sortas="kernel-command-line">kernel-command-line</primary></indexterm></screen></entry><entry><screen>array of string</screen></entry><entry><screen/></entry><entry>A list of kernel command line arguments to match. This may be used to check whether a specific kernel command line option is set (or if prefixed with the exclamation mark unset). The argument must either be a single word, or an assignment (i.e. two words, separated "="). In the former case the kernel command line is searched for the word appearing as is, or as left hand side of an assignment. In the latter case, the exact assignment is looked for with right and left hand side matching. See NMSettingMatch:interface-name for how special characters '|', '&amp;', '!' and '\\' are used for optional and mandatory matches and inverting the pattern.</entry></row><row><entry><screen>path<indexterm zone="settings-match"><primary sortas="path">path</primary></indexterm></screen></entry><entry><screen>array of string</screen></entry><entry><screen/></entry><entry>A list of paths to match against the ID_PATH udev property of devices. ID_PATH represents the topological persistent path of a device. It typically contains a subsystem string (pci, usb, platform, etc.) and a subsystem-specific identifier. For PCI devices the path has the form "pci-$domain:$bus:$device.$function", where each variable is an hexadecimal value; for example "pci-0000:0a:00.0". The path of a device can be obtained with "udevadm info /sys/class/net/$dev | grep ID_PATH=" or by looking at the "path" property exported by NetworkManager ("nmcli -f general.path device show $dev"). Each element of the list is a shell wildcard pattern. See NMSettingMatch:interface-name for how special characters '|', '&amp;', '!' and '\\' are used for optional and mandatory matches and inverting the pattern.</entry></row></tbody></tgroup></table></para></refsect1></refentry><refentry id="settings-802-11-olpc-mesh"><refnamediv><refname>802-11-olpc-mesh</refname><refpurpose>OLPC Wireless Mesh Settings</refpurpose></refnamediv><refsect1 role="properties"><title id="settings-802-11-olpc-mesh.properties">
+        </title><para><table><tgroup cols="4"><thead><row><entry>Key Name</entry><entry>Value Type</entry><entry>Default Value</entry><entry>Value Description</entry></row></thead><tbody><row><entry><screen>driver<indexterm zone="settings-match"><primary sortas="driver">driver</primary></indexterm></screen></entry><entry><screen>array of string</screen></entry><entry><screen/></entry><entry>A list of driver names to match. Each element is a shell wildcard pattern. See NMSettingMatch:interface-name for how special characters '|', '&amp;', '!' and '\\' are used for optional and mandatory matches and inverting the pattern.</entry></row><row><entry><screen>interface-name<indexterm zone="settings-match"><primary sortas="interface-name">interface-name</primary></indexterm></screen></entry><entry><screen>array of string</screen></entry><entry><screen/></entry><entry>A list of interface names to match. Each element is a shell wildcard pattern. An element can be prefixed with a pipe symbol (|) or an ampersand (&amp;). The former means that the element is optional and the latter means that it is mandatory. If there are any optional elements, than the match evaluates to true if at least one of the optional element matches (logical OR). If there are any mandatory elements, then they all must match (logical AND). By default, an element is optional. This means that an element "foo" behaves the same as "|foo". An element can also be inverted with exclamation mark (!) between the pipe symbol (or the ampersand) and before the pattern. Note that "!foo" is a shortcut for the mandatory match "&amp;!foo". Finally, a backslash can be used at the beginning of the element (after the optional special characters) to escape the start of the pattern. For example, "&amp;\\!a" is an mandatory match for literally "!a".</entry></row><row><entry><screen>kernel-command-line<indexterm zone="settings-match"><primary sortas="kernel-command-line">kernel-command-line</primary></indexterm></screen></entry><entry><screen>array of string</screen></entry><entry><screen/></entry><entry>A list of kernel command line arguments to match. This may be used to check whether a specific kernel command line option is set (or unset, if prefixed with the exclamation mark). The argument must either be a single word, or an assignment (i.e. two words, joined by "="). In the former case the kernel command line is searched for the word appearing as is, or as left hand side of an assignment. In the latter case, the exact assignment is looked for with right and left hand side matching. Wildcard patterns are not supported. See NMSettingMatch:interface-name for how special characters '|', '&amp;', '!' and '\\' are used for optional and mandatory matches and inverting the match.</entry></row><row><entry><screen>path<indexterm zone="settings-match"><primary sortas="path">path</primary></indexterm></screen></entry><entry><screen>array of string</screen></entry><entry><screen/></entry><entry>A list of paths to match against the ID_PATH udev property of devices. ID_PATH represents the topological persistent path of a device. It typically contains a subsystem string (pci, usb, platform, etc.) and a subsystem-specific identifier. For PCI devices the path has the form "pci-$domain:$bus:$device.$function", where each variable is an hexadecimal value; for example "pci-0000:0a:00.0". The path of a device can be obtained with "udevadm info /sys/class/net/$dev | grep ID_PATH=" or by looking at the "path" property exported by NetworkManager ("nmcli -f general.path device show $dev"). Each element of the list is a shell wildcard pattern. See NMSettingMatch:interface-name for how special characters '|', '&amp;', '!' and '\\' are used for optional and mandatory matches and inverting the pattern.</entry></row></tbody></tgroup></table></para></refsect1></refentry><refentry id="settings-802-11-olpc-mesh"><refnamediv><refname>802-11-olpc-mesh</refname><refpurpose>OLPC Wireless Mesh Settings</refpurpose></refnamediv><refsect1 role="properties"><title id="settings-802-11-olpc-mesh.properties">
             Properties
-        </title><para><table><tgroup cols="4"><thead><row><entry>Key Name</entry><entry>Value Type</entry><entry>Default Value</entry><entry>Value Description</entry></row></thead><tbody><row><entry><screen>channel<indexterm zone="settings-802-11-olpc-mesh"><primary sortas="channel">channel</primary></indexterm></screen></entry><entry><screen>uint32</screen></entry><entry><screen>0</screen></entry><entry>Channel on which the mesh network to join is located.</entry></row><row><entry><screen>dhcp-anycast-address<indexterm zone="settings-802-11-olpc-mesh"><primary sortas="dhcp-anycast-address">dhcp-anycast-address</primary></indexterm></screen></entry><entry><screen>byte array</screen></entry><entry><screen/></entry><entry>Anycast DHCP MAC address used when requesting an IP address via DHCP. The specific anycast address used determines which DHCP server class answers the request.</entry></row><row><entry><screen>ssid<indexterm zone="settings-802-11-olpc-mesh"><primary sortas="ssid">ssid</primary></indexterm></screen></entry><entry><screen>byte array</screen></entry><entry><screen/></entry><entry>SSID of the mesh network to join.</entry></row></tbody></tgroup></table></para></refsect1></refentry><refentry id="settings-ovs-bridge"><refnamediv><refname>ovs-bridge</refname><refpurpose>OvsBridge Link Settings</refpurpose></refnamediv><refsect1 role="properties"><title id="settings-ovs-bridge.properties">
+        </title><para><table><tgroup cols="4"><thead><row><entry>Key Name</entry><entry>Value Type</entry><entry>Default Value</entry><entry>Value Description</entry></row></thead><tbody><row><entry><screen>channel<indexterm zone="settings-802-11-olpc-mesh"><primary sortas="channel">channel</primary></indexterm></screen></entry><entry><screen>uint32</screen></entry><entry><screen>0</screen></entry><entry>Channel on which the mesh network to join is located.</entry></row><row><entry><screen>dhcp-anycast-address<indexterm zone="settings-802-11-olpc-mesh"><primary sortas="dhcp-anycast-address">dhcp-anycast-address</primary></indexterm></screen></entry><entry><screen>byte array</screen></entry><entry><screen/></entry><entry>Anycast DHCP MAC address used when requesting an IP address via DHCP. The specific anycast address used determines which DHCP server class answers the request. This is currently only implemented by dhclient DHCP plugin.</entry></row><row><entry><screen>ssid<indexterm zone="settings-802-11-olpc-mesh"><primary sortas="ssid">ssid</primary></indexterm></screen></entry><entry><screen>byte array</screen></entry><entry><screen/></entry><entry>SSID of the mesh network to join.</entry></row></tbody></tgroup></table></para></refsect1></refentry><refentry id="settings-ovs-bridge"><refnamediv><refname>ovs-bridge</refname><refpurpose>OvsBridge Link Settings</refpurpose></refnamediv><refsect1 role="properties"><title id="settings-ovs-bridge.properties">
             Properties
         </title><para><table><tgroup cols="4"><thead><row><entry>Key Name</entry><entry>Value Type</entry><entry>Default Value</entry><entry>Value Description</entry></row></thead><tbody><row><entry><screen>datapath-type<indexterm zone="settings-ovs-bridge"><primary sortas="datapath-type">datapath-type</primary></indexterm></screen></entry><entry><screen>string</screen></entry><entry><screen/></entry><entry>The data path type. One of "system", "netdev" or empty.</entry></row><row><entry><screen>fail-mode<indexterm zone="settings-ovs-bridge"><primary sortas="fail-mode">fail-mode</primary></indexterm></screen></entry><entry><screen>string</screen></entry><entry><screen/></entry><entry>The bridge failure mode. One of "secure", "standalone" or empty.</entry></row><row><entry><screen>mcast-snooping-enable<indexterm zone="settings-ovs-bridge"><primary sortas="mcast-snooping-enable">mcast-snooping-enable</primary></indexterm></screen></entry><entry><screen>boolean</screen></entry><entry><screen>FALSE</screen></entry><entry>Enable or disable multicast snooping.</entry></row><row><entry><screen>rstp-enable<indexterm zone="settings-ovs-bridge"><primary sortas="rstp-enable">rstp-enable</primary></indexterm></screen></entry><entry><screen>boolean</screen></entry><entry><screen>FALSE</screen></entry><entry>Enable or disable RSTP.</entry></row><row><entry><screen>stp-enable<indexterm zone="settings-ovs-bridge"><primary sortas="stp-enable">stp-enable</primary></indexterm></screen></entry><entry><screen>boolean</screen></entry><entry><screen>FALSE</screen></entry><entry>Enable or disable STP.</entry></row></tbody></tgroup></table></para></refsect1></refentry><refentry id="settings-ovs-dpdk"><refnamediv><refname>ovs-dpdk</refname><refpurpose>OvsDpdk Link Settings</refpurpose></refnamediv><refsect1 role="properties"><title id="settings-ovs-dpdk.properties">
             Properties
@@ -88,13 +88,13 @@
             Properties
         </title><para><table><tgroup cols="4"><thead><row><entry>Key Name</entry><entry>Value Type</entry><entry>Default Value</entry><entry>Value Description</entry></row></thead><tbody><row><entry><screen>mac-address<indexterm zone="settings-wimax"><primary sortas="mac-address">mac-address</primary></indexterm></screen></entry><entry><screen>byte array</screen></entry><entry><screen/></entry><entry>If specified, this connection will only apply to the WiMAX device whose MAC address matches. This property does not change the MAC address of the device (known as MAC spoofing). Deprecated: 1</entry></row><row><entry><screen>network-name<indexterm zone="settings-wimax"><primary sortas="network-name">network-name</primary></indexterm></screen></entry><entry><screen>string</screen></entry><entry><screen/></entry><entry>Network Service Provider (NSP) name of the WiMAX network this connection should use. Deprecated: 1</entry></row></tbody></tgroup></table></para></refsect1></refentry><refentry id="settings-802-3-ethernet"><refnamediv><refname>802-3-ethernet</refname><refpurpose>Wired Ethernet Settings</refpurpose></refnamediv><refsect1 role="properties"><title id="settings-802-3-ethernet.properties">
             Properties
-        </title><para><table><tgroup cols="4"><thead><row><entry>Key Name</entry><entry>Value Type</entry><entry>Default Value</entry><entry>Value Description</entry></row></thead><tbody><row><entry><screen>assigned-mac-address<indexterm zone="settings-802-3-ethernet"><primary sortas="assigned-mac-address">assigned-mac-address</primary></indexterm></screen></entry><entry><screen>string</screen></entry><entry><screen/></entry><entry>The new field for the cloned MAC address. It can be either a hardware address in ASCII representation, or one of the special values "preserve", "permanent", "random" or "stable". This field replaces the deprecated "cloned-mac-address" on D-Bus, which can only contain explicit hardware addresses. Note that this property only exists in D-Bus API. libnm and nmcli continue to call this property "cloned-mac-address".</entry></row><row><entry><screen>auto-negotiate<indexterm zone="settings-802-3-ethernet"><primary sortas="auto-negotiate">auto-negotiate</primary></indexterm></screen></entry><entry><screen>boolean</screen></entry><entry><screen>FALSE</screen></entry><entry>When TRUE, enforce auto-negotiation of speed and duplex mode. If "speed" and "duplex" properties are both specified, only that single mode will be advertised and accepted during the link auto-negotiation process: this works only for BASE-T 802.3 specifications and is useful for enforcing gigabits modes, as in these cases link negotiation is mandatory. When FALSE, "speed" and "duplex" properties should be both set or link configuration will be skipped.</entry></row><row><entry><screen>cloned-mac-address<indexterm zone="settings-802-3-ethernet"><primary sortas="cloned-mac-address">cloned-mac-address</primary></indexterm></screen></entry><entry><screen>byte array</screen></entry><entry><screen/></entry><entry>This D-Bus field is deprecated in favor of "assigned-mac-address" which is more flexible and allows specifying special variants like "random". For libnm and nmcli, this field is called "cloned-mac-address".</entry></row><row><entry><screen>duplex<indexterm zone="settings-802-3-ethernet"><primary sortas="duplex">duplex</primary></indexterm></screen></entry><entry><screen>string</screen></entry><entry><screen/></entry><entry>When a value is set, either "half" or "full", configures the device to use the specified duplex mode. If "auto-negotiate" is "yes" the specified duplex mode will be the only one advertised during link negotiation: this works only for BASE-T 802.3 specifications and is useful for enforcing gigabits modes, as in these cases link negotiation is mandatory. If the value is unset (the default), the link configuration will be either skipped (if "auto-negotiate" is "no", the default) or will be auto-negotiated (if "auto-negotiate" is "yes") and the local device will advertise all the supported duplex modes. Must be set together with the "speed" property if specified. Before specifying a duplex mode be sure your device supports it.</entry></row><row><entry><screen>generate-mac-address-mask<indexterm zone="settings-802-3-ethernet"><primary sortas="generate-mac-address-mask">generate-mac-address-mask</primary></indexterm></screen></entry><entry><screen>string</screen></entry><entry><screen/></entry><entry>With "cloned-mac-address" setting "random" or "stable", by default all bits of the MAC address are scrambled and a locally-administered, unicast MAC address is created. This property allows to specify that certain bits are fixed. Note that the least significant bit of the first MAC address will always be unset to create a unicast MAC address. If the property is NULL, it is eligible to be overwritten by a default connection setting. If the value is still NULL or an empty string, the default is to create a locally-administered, unicast MAC address. If the value contains one MAC address, this address is used as mask. The set bits of the mask are to be filled with the current MAC address of the device, while the unset bits are subject to randomization. Setting "FE:FF:FF:00:00:00" means to preserve the OUI of the current MAC address and only randomize the lower 3 bytes using the "random" or "stable" algorithm. If the value contains one additional MAC address after the mask, this address is used instead of the current MAC address to fill the bits that shall not be randomized. For example, a value of "FE:FF:FF:00:00:00 68:F7:28:00:00:00" will set the OUI of the MAC address to 68:F7:28, while the lower bits are randomized. A value of "02:00:00:00:00:00 00:00:00:00:00:00" will create a fully scrambled globally-administered, burned-in MAC address. If the value contains more than one additional MAC addresses, one of them is chosen randomly. For example, "02:00:00:00:00:00 00:00:00:00:00:00 02:00:00:00:00:00" will create a fully scrambled MAC address, randomly locally or globally administered.</entry></row><row><entry><screen>mac-address<indexterm zone="settings-802-3-ethernet"><primary sortas="mac-address">mac-address</primary></indexterm></screen></entry><entry><screen>byte array</screen></entry><entry><screen/></entry><entry>If specified, this connection will only apply to the Ethernet device whose permanent MAC address matches. This property does not change the MAC address of the device (i.e. MAC spoofing).</entry></row><row><entry><screen>mac-address-blacklist<indexterm zone="settings-802-3-ethernet"><primary sortas="mac-address-blacklist">mac-address-blacklist</primary></indexterm></screen></entry><entry><screen>array of string</screen></entry><entry><screen/></entry><entry>If specified, this connection will never apply to the Ethernet device whose permanent MAC address matches an address in the list.  Each MAC address is in the standard hex-digits-and-colons notation (00:11:22:33:44:55).</entry></row><row><entry><screen>mtu<indexterm zone="settings-802-3-ethernet"><primary sortas="mtu">mtu</primary></indexterm></screen></entry><entry><screen>uint32</screen></entry><entry><screen>0</screen></entry><entry>If non-zero, only transmit packets of the specified size or smaller, breaking larger packets up into multiple Ethernet frames.</entry></row><row><entry><screen>port<indexterm zone="settings-802-3-ethernet"><primary sortas="port">port</primary></indexterm></screen></entry><entry><screen>string</screen></entry><entry><screen/></entry><entry>Specific port type to use if the device supports multiple attachment methods.  One of "tp" (Twisted Pair), "aui" (Attachment Unit Interface), "bnc" (Thin Ethernet) or "mii" (Media Independent Interface). If the device supports only one port type, this setting is ignored.</entry></row><row><entry><screen>s390-nettype<indexterm zone="settings-802-3-ethernet"><primary sortas="s390-nettype">s390-nettype</primary></indexterm></screen></entry><entry><screen>string</screen></entry><entry><screen/></entry><entry>s390 network device type; one of "qeth", "lcs", or "ctc", representing the different types of virtual network devices available on s390 systems.</entry></row><row><entry><screen>s390-options<indexterm zone="settings-802-3-ethernet"><primary sortas="s390-options">s390-options</primary></indexterm></screen></entry><entry><screen>dict of string to string</screen></entry><entry><screen>{}</screen></entry><entry>Dictionary of key/value pairs of s390-specific device options.  Both keys and values must be strings.  Allowed keys include "portno", "layer2", "portname", "protocol", among others.  Key names must contain only alphanumeric characters (ie, [a-zA-Z0-9]).</entry></row><row><entry><screen>s390-subchannels<indexterm zone="settings-802-3-ethernet"><primary sortas="s390-subchannels">s390-subchannels</primary></indexterm></screen></entry><entry><screen>array of string</screen></entry><entry><screen/></entry><entry>Identifies specific subchannels that this network device uses for communication with z/VM or s390 host.  Like the "mac-address" property for non-z/VM devices, this property can be used to ensure this connection only applies to the network device that uses these subchannels.  The list should contain exactly 3 strings, and each string may only be composed of hexadecimal characters and the period (.) character.</entry></row><row><entry><screen>speed<indexterm zone="settings-802-3-ethernet"><primary sortas="speed">speed</primary></indexterm></screen></entry><entry><screen>uint32</screen></entry><entry><screen>0</screen></entry><entry>When a value greater than 0 is set, configures the device to use the specified speed. If "auto-negotiate" is "yes" the specified speed will be the only one advertised during link negotiation: this works only for BASE-T 802.3 specifications and is useful for enforcing gigabit speeds, as in this case link negotiation is mandatory. If the value is unset (0, the default), the link configuration will be either skipped (if "auto-negotiate" is "no", the default) or will be auto-negotiated (if "auto-negotiate" is "yes") and the local device will advertise all the supported speeds. In Mbit/s, ie 100 == 100Mbit/s. Must be set together with the "duplex" property when non-zero. Before specifying a speed value be sure your device supports it.</entry></row><row><entry><screen>wake-on-lan<indexterm zone="settings-802-3-ethernet"><primary sortas="wake-on-lan">wake-on-lan</primary></indexterm></screen></entry><entry><screen>uint32</screen></entry><entry><screen>1</screen></entry><entry>The NMSettingWiredWakeOnLan options to enable. Not all devices support all options. May be any combination of NM_SETTING_WIRED_WAKE_ON_LAN_PHY (0x2), NM_SETTING_WIRED_WAKE_ON_LAN_UNICAST (0x4), NM_SETTING_WIRED_WAKE_ON_LAN_MULTICAST (0x8), NM_SETTING_WIRED_WAKE_ON_LAN_BROADCAST (0x10), NM_SETTING_WIRED_WAKE_ON_LAN_ARP (0x20), NM_SETTING_WIRED_WAKE_ON_LAN_MAGIC (0x40) or the special values NM_SETTING_WIRED_WAKE_ON_LAN_DEFAULT (0x1) (to use global settings) and NM_SETTING_WIRED_WAKE_ON_LAN_IGNORE (0x8000) (to disable management of Wake-on-LAN in NetworkManager).</entry></row><row><entry><screen>wake-on-lan-password<indexterm zone="settings-802-3-ethernet"><primary sortas="wake-on-lan-password">wake-on-lan-password</primary></indexterm></screen></entry><entry><screen>string</screen></entry><entry><screen/></entry><entry>If specified, the password used with magic-packet-based Wake-on-LAN, represented as an Ethernet MAC address.  If NULL, no password will be required.</entry></row></tbody></tgroup></table></para></refsect1></refentry><refentry id="settings-wireguard"><refnamediv><refname>wireguard</refname><refpurpose>WireGuard Settings</refpurpose></refnamediv><refsect1 role="properties"><title id="settings-wireguard.properties">
+        </title><para><table><tgroup cols="4"><thead><row><entry>Key Name</entry><entry>Value Type</entry><entry>Default Value</entry><entry>Value Description</entry></row></thead><tbody><row><entry><screen>accept-all-mac-addresses<indexterm zone="settings-802-3-ethernet"><primary sortas="accept-all-mac-addresses">accept-all-mac-addresses</primary></indexterm></screen></entry><entry><screen>NMTernary (int32)</screen></entry><entry><screen/></entry><entry>When TRUE, setup the interface to accept packets for all MAC addresses. This is enabling the kernel interface flag IFF_PROMISC. When FALSE, the interface will only accept the packets with the interface destination mac address or broadcast.</entry></row><row><entry><screen>assigned-mac-address<indexterm zone="settings-802-3-ethernet"><primary sortas="assigned-mac-address">assigned-mac-address</primary></indexterm></screen></entry><entry><screen>string</screen></entry><entry><screen/></entry><entry>The new field for the cloned MAC address. It can be either a hardware address in ASCII representation, or one of the special values "preserve", "permanent", "random" or "stable". This field replaces the deprecated "cloned-mac-address" on D-Bus, which can only contain explicit hardware addresses. Note that this property only exists in D-Bus API. libnm and nmcli continue to call this property "cloned-mac-address".</entry></row><row><entry><screen>auto-negotiate<indexterm zone="settings-802-3-ethernet"><primary sortas="auto-negotiate">auto-negotiate</primary></indexterm></screen></entry><entry><screen>boolean</screen></entry><entry><screen>FALSE</screen></entry><entry>When TRUE, enforce auto-negotiation of speed and duplex mode. If "speed" and "duplex" properties are both specified, only that single mode will be advertised and accepted during the link auto-negotiation process: this works only for BASE-T 802.3 specifications and is useful for enforcing gigabits modes, as in these cases link negotiation is mandatory. When FALSE, "speed" and "duplex" properties should be both set or link configuration will be skipped.</entry></row><row><entry><screen>cloned-mac-address<indexterm zone="settings-802-3-ethernet"><primary sortas="cloned-mac-address">cloned-mac-address</primary></indexterm></screen></entry><entry><screen>byte array</screen></entry><entry><screen/></entry><entry>This D-Bus field is deprecated in favor of "assigned-mac-address" which is more flexible and allows specifying special variants like "random". For libnm and nmcli, this field is called "cloned-mac-address".</entry></row><row><entry><screen>duplex<indexterm zone="settings-802-3-ethernet"><primary sortas="duplex">duplex</primary></indexterm></screen></entry><entry><screen>string</screen></entry><entry><screen/></entry><entry>When a value is set, either "half" or "full", configures the device to use the specified duplex mode. If "auto-negotiate" is "yes" the specified duplex mode will be the only one advertised during link negotiation: this works only for BASE-T 802.3 specifications and is useful for enforcing gigabits modes, as in these cases link negotiation is mandatory. If the value is unset (the default), the link configuration will be either skipped (if "auto-negotiate" is "no", the default) or will be auto-negotiated (if "auto-negotiate" is "yes") and the local device will advertise all the supported duplex modes. Must be set together with the "speed" property if specified. Before specifying a duplex mode be sure your device supports it.</entry></row><row><entry><screen>generate-mac-address-mask<indexterm zone="settings-802-3-ethernet"><primary sortas="generate-mac-address-mask">generate-mac-address-mask</primary></indexterm></screen></entry><entry><screen>string</screen></entry><entry><screen/></entry><entry>With "cloned-mac-address" setting "random" or "stable", by default all bits of the MAC address are scrambled and a locally-administered, unicast MAC address is created. This property allows to specify that certain bits are fixed. Note that the least significant bit of the first MAC address will always be unset to create a unicast MAC address. If the property is NULL, it is eligible to be overwritten by a default connection setting. If the value is still NULL or an empty string, the default is to create a locally-administered, unicast MAC address. If the value contains one MAC address, this address is used as mask. The set bits of the mask are to be filled with the current MAC address of the device, while the unset bits are subject to randomization. Setting "FE:FF:FF:00:00:00" means to preserve the OUI of the current MAC address and only randomize the lower 3 bytes using the "random" or "stable" algorithm. If the value contains one additional MAC address after the mask, this address is used instead of the current MAC address to fill the bits that shall not be randomized. For example, a value of "FE:FF:FF:00:00:00 68:F7:28:00:00:00" will set the OUI of the MAC address to 68:F7:28, while the lower bits are randomized. A value of "02:00:00:00:00:00 00:00:00:00:00:00" will create a fully scrambled globally-administered, burned-in MAC address. If the value contains more than one additional MAC addresses, one of them is chosen randomly. For example, "02:00:00:00:00:00 00:00:00:00:00:00 02:00:00:00:00:00" will create a fully scrambled MAC address, randomly locally or globally administered.</entry></row><row><entry><screen>mac-address<indexterm zone="settings-802-3-ethernet"><primary sortas="mac-address">mac-address</primary></indexterm></screen></entry><entry><screen>byte array</screen></entry><entry><screen/></entry><entry>If specified, this connection will only apply to the Ethernet device whose permanent MAC address matches. This property does not change the MAC address of the device (i.e. MAC spoofing).</entry></row><row><entry><screen>mac-address-blacklist<indexterm zone="settings-802-3-ethernet"><primary sortas="mac-address-blacklist">mac-address-blacklist</primary></indexterm></screen></entry><entry><screen>array of string</screen></entry><entry><screen/></entry><entry>If specified, this connection will never apply to the Ethernet device whose permanent MAC address matches an address in the list.  Each MAC address is in the standard hex-digits-and-colons notation (00:11:22:33:44:55).</entry></row><row><entry><screen>mtu<indexterm zone="settings-802-3-ethernet"><primary sortas="mtu">mtu</primary></indexterm></screen></entry><entry><screen>uint32</screen></entry><entry><screen>0</screen></entry><entry>If non-zero, only transmit packets of the specified size or smaller, breaking larger packets up into multiple Ethernet frames.</entry></row><row><entry><screen>port<indexterm zone="settings-802-3-ethernet"><primary sortas="port">port</primary></indexterm></screen></entry><entry><screen>string</screen></entry><entry><screen/></entry><entry>Specific port type to use if the device supports multiple attachment methods.  One of "tp" (Twisted Pair), "aui" (Attachment Unit Interface), "bnc" (Thin Ethernet) or "mii" (Media Independent Interface). If the device supports only one port type, this setting is ignored.</entry></row><row><entry><screen>s390-nettype<indexterm zone="settings-802-3-ethernet"><primary sortas="s390-nettype">s390-nettype</primary></indexterm></screen></entry><entry><screen>string</screen></entry><entry><screen/></entry><entry>s390 network device type; one of "qeth", "lcs", or "ctc", representing the different types of virtual network devices available on s390 systems.</entry></row><row><entry><screen>s390-options<indexterm zone="settings-802-3-ethernet"><primary sortas="s390-options">s390-options</primary></indexterm></screen></entry><entry><screen>dict of string to string</screen></entry><entry><screen>{}</screen></entry><entry>Dictionary of key/value pairs of s390-specific device options.  Both keys and values must be strings.  Allowed keys include "portno", "layer2", "portname", "protocol", among others.  Key names must contain only alphanumeric characters (ie, [a-zA-Z0-9]).</entry></row><row><entry><screen>s390-subchannels<indexterm zone="settings-802-3-ethernet"><primary sortas="s390-subchannels">s390-subchannels</primary></indexterm></screen></entry><entry><screen>array of string</screen></entry><entry><screen/></entry><entry>Identifies specific subchannels that this network device uses for communication with z/VM or s390 host.  Like the "mac-address" property for non-z/VM devices, this property can be used to ensure this connection only applies to the network device that uses these subchannels.  The list should contain exactly 3 strings, and each string may only be composed of hexadecimal characters and the period (.) character.</entry></row><row><entry><screen>speed<indexterm zone="settings-802-3-ethernet"><primary sortas="speed">speed</primary></indexterm></screen></entry><entry><screen>uint32</screen></entry><entry><screen>0</screen></entry><entry>When a value greater than 0 is set, configures the device to use the specified speed. If "auto-negotiate" is "yes" the specified speed will be the only one advertised during link negotiation: this works only for BASE-T 802.3 specifications and is useful for enforcing gigabit speeds, as in this case link negotiation is mandatory. If the value is unset (0, the default), the link configuration will be either skipped (if "auto-negotiate" is "no", the default) or will be auto-negotiated (if "auto-negotiate" is "yes") and the local device will advertise all the supported speeds. In Mbit/s, ie 100 == 100Mbit/s. Must be set together with the "duplex" property when non-zero. Before specifying a speed value be sure your device supports it.</entry></row><row><entry><screen>wake-on-lan<indexterm zone="settings-802-3-ethernet"><primary sortas="wake-on-lan">wake-on-lan</primary></indexterm></screen></entry><entry><screen>uint32</screen></entry><entry><screen>1</screen></entry><entry>The NMSettingWiredWakeOnLan options to enable. Not all devices support all options. May be any combination of NM_SETTING_WIRED_WAKE_ON_LAN_PHY (0x2), NM_SETTING_WIRED_WAKE_ON_LAN_UNICAST (0x4), NM_SETTING_WIRED_WAKE_ON_LAN_MULTICAST (0x8), NM_SETTING_WIRED_WAKE_ON_LAN_BROADCAST (0x10), NM_SETTING_WIRED_WAKE_ON_LAN_ARP (0x20), NM_SETTING_WIRED_WAKE_ON_LAN_MAGIC (0x40) or the special values NM_SETTING_WIRED_WAKE_ON_LAN_DEFAULT (0x1) (to use global settings) and NM_SETTING_WIRED_WAKE_ON_LAN_IGNORE (0x8000) (to disable management of Wake-on-LAN in NetworkManager).</entry></row><row><entry><screen>wake-on-lan-password<indexterm zone="settings-802-3-ethernet"><primary sortas="wake-on-lan-password">wake-on-lan-password</primary></indexterm></screen></entry><entry><screen>string</screen></entry><entry><screen/></entry><entry>If specified, the password used with magic-packet-based Wake-on-LAN, represented as an Ethernet MAC address.  If NULL, no password will be required.</entry></row></tbody></tgroup></table></para></refsect1></refentry><refentry id="settings-wireguard"><refnamediv><refname>wireguard</refname><refpurpose>WireGuard Settings</refpurpose></refnamediv><refsect1 role="properties"><title id="settings-wireguard.properties">
             Properties
         </title><para><table><tgroup cols="4"><thead><row><entry>Key Name</entry><entry>Value Type</entry><entry>Default Value</entry><entry>Value Description</entry></row></thead><tbody><row><entry><screen>fwmark<indexterm zone="settings-wireguard"><primary sortas="fwmark">fwmark</primary></indexterm></screen></entry><entry><screen>uint32</screen></entry><entry><screen>0</screen></entry><entry>The use of fwmark is optional and is by default off. Setting it to 0 disables it. Otherwise, it is a 32-bit fwmark for outgoing packets. Note that "ip4-auto-default-route" or "ip6-auto-default-route" enabled, implies to automatically choose a fwmark.</entry></row><row><entry><screen>ip4-auto-default-route<indexterm zone="settings-wireguard"><primary sortas="ip4-auto-default-route">ip4-auto-default-route</primary></indexterm></screen></entry><entry><screen>NMTernary (int32)</screen></entry><entry><screen/></entry><entry>Whether to enable special handling of the IPv4 default route. If enabled, the IPv4 default route from wireguard.peer-routes will be placed to a dedicated routing-table and two policy routing rules will be added. The fwmark number is also used as routing-table for the default-route, and if fwmark is zero, an unused fwmark/table is chosen automatically. This corresponds to what wg-quick does with Table=auto and what WireGuard calls "Improved Rule-based Routing". Note that for this automatism to work, you usually don't want to set ipv4.gateway, because that will result in a conflicting default route. Leaving this at the default will enable this option automatically if ipv4.never-default is not set and there are any peers that use a default-route as allowed-ips.</entry></row><row><entry><screen>ip6-auto-default-route<indexterm zone="settings-wireguard"><primary sortas="ip6-auto-default-route">ip6-auto-default-route</primary></indexterm></screen></entry><entry><screen>NMTernary (int32)</screen></entry><entry><screen/></entry><entry>Like ip4-auto-default-route, but for the IPv6 default route.</entry></row><row><entry><screen>listen-port<indexterm zone="settings-wireguard"><primary sortas="listen-port">listen-port</primary></indexterm></screen></entry><entry><screen>uint32</screen></entry><entry><screen>0</screen></entry><entry>The listen-port. If listen-port is not specified, the port will be chosen randomly when the interface comes up.</entry></row><row><entry><screen>mtu<indexterm zone="settings-wireguard"><primary sortas="mtu">mtu</primary></indexterm></screen></entry><entry><screen>uint32</screen></entry><entry><screen>0</screen></entry><entry>If non-zero, only transmit packets of the specified size or smaller, breaking larger packets up into multiple fragments. If zero a default MTU is used. Note that contrary to wg-quick's MTU setting, this does not take into account the current routes at the time of activation.</entry></row><row><entry><screen>peer-routes<indexterm zone="settings-wireguard"><primary sortas="peer-routes">peer-routes</primary></indexterm></screen></entry><entry><screen>boolean</screen></entry><entry><screen>TRUE</screen></entry><entry>Whether to automatically add routes for the AllowedIPs ranges of the peers. If TRUE (the default), NetworkManager will automatically add routes in the routing tables according to ipv4.route-table and ipv6.route-table. Usually you want this automatism enabled. If FALSE, no such routes are added automatically. In this case, the user may want to configure static routes in ipv4.routes and ipv6.routes, respectively. Note that if the peer's AllowedIPs is "0.0.0.0/0" or "::/0" and the profile's ipv4.never-default or ipv6.never-default setting is enabled, the peer route for this peer won't be added automatically.</entry></row><row><entry><screen>peers<indexterm zone="settings-wireguard"><primary sortas="peers">peers</primary></indexterm></screen></entry><entry><screen>array of 'a{sv}'</screen></entry><entry><screen/></entry><entry>Array of dictionaries for the WireGuard peers.</entry></row><row><entry><screen>private-key<indexterm zone="settings-wireguard"><primary sortas="private-key">private-key</primary></indexterm></screen></entry><entry><screen>string</screen></entry><entry><screen/></entry><entry>The 256 bit private-key in base64 encoding.</entry></row><row><entry><screen>private-key-flags<indexterm zone="settings-wireguard"><primary sortas="private-key-flags">private-key-flags</primary></indexterm></screen></entry><entry><screen>NMSettingSecretFlags (uint32)</screen></entry><entry><screen/></entry><entry>Flags indicating how to handle the "private-key" property.</entry></row></tbody></tgroup></table></para></refsect1></refentry><refentry id="settings-802-11-wireless"><refnamediv><refname>802-11-wireless</refname><refpurpose>Wi-Fi Settings</refpurpose></refnamediv><refsect1 role="properties"><title id="settings-802-11-wireless.properties">
             Properties
         </title><para><table><tgroup cols="4"><thead><row><entry>Key Name</entry><entry>Value Type</entry><entry>Default Value</entry><entry>Value Description</entry></row></thead><tbody><row><entry><screen>ap-isolation<indexterm zone="settings-802-11-wireless"><primary sortas="ap-isolation">ap-isolation</primary></indexterm></screen></entry><entry><screen>NMTernary (int32)</screen></entry><entry><screen/></entry><entry>Configures AP isolation, which prevents communication between wireless devices connected to this AP. This property can be set to a value different from NM_TERNARY_DEFAULT (-1) only when the interface is configured in AP mode. If set to NM_TERNARY_TRUE (1), devices are not able to communicate with each other. This increases security because it protects devices against attacks from other clients in the network. At the same time, it prevents devices to access resources on the same wireless networks as file shares, printers, etc. If set to NM_TERNARY_FALSE (0), devices can talk to each other. When set to NM_TERNARY_DEFAULT (-1), the global default is used; in case the global default is unspecified it is assumed to be NM_TERNARY_FALSE (0).</entry></row><row><entry><screen>assigned-mac-address<indexterm zone="settings-802-11-wireless"><primary sortas="assigned-mac-address">assigned-mac-address</primary></indexterm></screen></entry><entry><screen>string</screen></entry><entry><screen/></entry><entry>The new field for the cloned MAC address. It can be either a hardware address in ASCII representation, or one of the special values "preserve", "permanent", "random" or "stable". This field replaces the deprecated "cloned-mac-address" on D-Bus, which can only contain explicit hardware addresses. Note that this property only exists in D-Bus API. libnm and nmcli continue to call this property "cloned-mac-address".</entry></row><row><entry><screen>band<indexterm zone="settings-802-11-wireless"><primary sortas="band">band</primary></indexterm></screen></entry><entry><screen>string</screen></entry><entry><screen/></entry><entry>802.11 frequency band of the network.  One of "a" for 5GHz 802.11a or "bg" for 2.4GHz 802.11.  This will lock associations to the Wi-Fi network to the specific band, i.e. if "a" is specified, the device will not associate with the same network in the 2.4GHz band even if the network's settings are compatible.  This setting depends on specific driver capability and may not work with all drivers.</entry></row><row><entry><screen>bssid<indexterm zone="settings-802-11-wireless"><primary sortas="bssid">bssid</primary></indexterm></screen></entry><entry><screen>byte array</screen></entry><entry><screen/></entry><entry>If specified, directs the device to only associate with the given access point.  This capability is highly driver dependent and not supported by all devices.  Note: this property does not control the BSSID used when creating an Ad-Hoc network and is unlikely to in the future.</entry></row><row><entry><screen>channel<indexterm zone="settings-802-11-wireless"><primary sortas="channel">channel</primary></indexterm></screen></entry><entry><screen>uint32</screen></entry><entry><screen>0</screen></entry><entry>Wireless channel to use for the Wi-Fi connection.  The device will only join (or create for Ad-Hoc networks) a Wi-Fi network on the specified channel.  Because channel numbers overlap between bands, this property also requires the "band" property to be set.</entry></row><row><entry><screen>cloned-mac-address<indexterm zone="settings-802-11-wireless"><primary sortas="cloned-mac-address">cloned-mac-address</primary></indexterm></screen></entry><entry><screen>byte array</screen></entry><entry><screen/></entry><entry>This D-Bus field is deprecated in favor of "assigned-mac-address" which is more flexible and allows specifying special variants like "random". For libnm and nmcli, this field is called "cloned-mac-address".</entry></row><row><entry><screen>generate-mac-address-mask<indexterm zone="settings-802-11-wireless"><primary sortas="generate-mac-address-mask">generate-mac-address-mask</primary></indexterm></screen></entry><entry><screen>string</screen></entry><entry><screen/></entry><entry>With "cloned-mac-address" setting "random" or "stable", by default all bits of the MAC address are scrambled and a locally-administered, unicast MAC address is created. This property allows to specify that certain bits are fixed. Note that the least significant bit of the first MAC address will always be unset to create a unicast MAC address. If the property is NULL, it is eligible to be overwritten by a default connection setting. If the value is still NULL or an empty string, the default is to create a locally-administered, unicast MAC address. If the value contains one MAC address, this address is used as mask. The set bits of the mask are to be filled with the current MAC address of the device, while the unset bits are subject to randomization. Setting "FE:FF:FF:00:00:00" means to preserve the OUI of the current MAC address and only randomize the lower 3 bytes using the "random" or "stable" algorithm. If the value contains one additional MAC address after the mask, this address is used instead of the current MAC address to fill the bits that shall not be randomized. For example, a value of "FE:FF:FF:00:00:00 68:F7:28:00:00:00" will set the OUI of the MAC address to 68:F7:28, while the lower bits are randomized. A value of "02:00:00:00:00:00 00:00:00:00:00:00" will create a fully scrambled globally-administered, burned-in MAC address. If the value contains more than one additional MAC addresses, one of them is chosen randomly. For example, "02:00:00:00:00:00 00:00:00:00:00:00 02:00:00:00:00:00" will create a fully scrambled MAC address, randomly locally or globally administered.</entry></row><row><entry><screen>hidden<indexterm zone="settings-802-11-wireless"><primary sortas="hidden">hidden</primary></indexterm></screen></entry><entry><screen>boolean</screen></entry><entry><screen>FALSE</screen></entry><entry>If TRUE, indicates that the network is a non-broadcasting network that hides its SSID. This works both in infrastructure and AP mode. In infrastructure mode, various workarounds are used for a more reliable discovery of hidden networks, such as probe-scanning the SSID.  However, these workarounds expose inherent insecurities with hidden SSID networks, and thus hidden SSID networks should be used with caution. In AP mode, the created network does not broadcast its SSID. Note that marking the network as hidden may be a privacy issue for you (in infrastructure mode) or client stations (in AP mode), as the explicit probe-scans are distinctly recognizable on the air.</entry></row><row><entry><screen>mac-address<indexterm zone="settings-802-11-wireless"><primary sortas="mac-address">mac-address</primary></indexterm></screen></entry><entry><screen>byte array</screen></entry><entry><screen/></entry><entry>If specified, this connection will only apply to the Wi-Fi device whose permanent MAC address matches. This property does not change the MAC address of the device (i.e. MAC spoofing).</entry></row><row><entry><screen>mac-address-blacklist<indexterm zone="settings-802-11-wireless"><primary sortas="mac-address-blacklist">mac-address-blacklist</primary></indexterm></screen></entry><entry><screen>array of string</screen></entry><entry><screen/></entry><entry>A list of permanent MAC addresses of Wi-Fi devices to which this connection should never apply.  Each MAC address should be given in the standard hex-digits-and-colons notation (eg "00:11:22:33:44:55").</entry></row><row><entry><screen>mac-address-randomization<indexterm zone="settings-802-11-wireless"><primary sortas="mac-address-randomization">mac-address-randomization</primary></indexterm></screen></entry><entry><screen>uint32</screen></entry><entry><screen>0</screen></entry><entry>One of NM_SETTING_MAC_RANDOMIZATION_DEFAULT (0) (never randomize unless the user has set a global default to randomize and the supplicant supports randomization),  NM_SETTING_MAC_RANDOMIZATION_NEVER (1) (never randomize the MAC address), or NM_SETTING_MAC_RANDOMIZATION_ALWAYS (2) (always randomize the MAC address). This property is deprecated for 'cloned-mac-address'. Deprecated: 1</entry></row><row><entry><screen>mode<indexterm zone="settings-802-11-wireless"><primary sortas="mode">mode</primary></indexterm></screen></entry><entry><screen>string</screen></entry><entry><screen/></entry><entry>Wi-Fi network mode; one of "infrastructure", "mesh", "adhoc" or "ap".  If blank, infrastructure is assumed.</entry></row><row><entry><screen>mtu<indexterm zone="settings-802-11-wireless"><primary sortas="mtu">mtu</primary></indexterm></screen></entry><entry><screen>uint32</screen></entry><entry><screen>0</screen></entry><entry>If non-zero, only transmit packets of the specified size or smaller, breaking larger packets up into multiple Ethernet frames.</entry></row><row><entry><screen>powersave<indexterm zone="settings-802-11-wireless"><primary sortas="powersave">powersave</primary></indexterm></screen></entry><entry><screen>uint32</screen></entry><entry><screen>0</screen></entry><entry>One of NM_SETTING_WIRELESS_POWERSAVE_DISABLE (2) (disable Wi-Fi power saving), NM_SETTING_WIRELESS_POWERSAVE_ENABLE (3) (enable Wi-Fi power saving), NM_SETTING_WIRELESS_POWERSAVE_IGNORE (1) (don't touch currently configure setting) or NM_SETTING_WIRELESS_POWERSAVE_DEFAULT (0) (use the globally configured value). All other values are reserved.</entry></row><row><entry><screen>rate<indexterm zone="settings-802-11-wireless"><primary sortas="rate">rate</primary></indexterm></screen></entry><entry><screen>uint32</screen></entry><entry><screen>0</screen></entry><entry>If non-zero, directs the device to only use the specified bitrate for communication with the access point.  Units are in Kb/s, ie 5500 = 5.5 Mbit/s.  This property is highly driver dependent and not all devices support setting a static bitrate.</entry></row><row><entry><screen>security<indexterm zone="settings-802-11-wireless"><primary sortas="security">security</primary></indexterm></screen></entry><entry><screen/></entry><entry><screen/></entry><entry>This property is deprecated, but can be set to the value '802-11-wireless-security' when a wireless security setting is also present in the connection dictionary, for compatibility with very old NetworkManager daemons.</entry></row><row><entry><screen>seen-bssids<indexterm zone="settings-802-11-wireless"><primary sortas="seen-bssids">seen-bssids</primary></indexterm></screen></entry><entry><screen>array of string</screen></entry><entry><screen/></entry><entry>A list of BSSIDs (each BSSID formatted as a MAC address like "00:11:22:33:44:55") that have been detected as part of the Wi-Fi network.  NetworkManager internally tracks previously seen BSSIDs. The property is only meant for reading and reflects the BSSID list of NetworkManager. The changes you make to this property will not be preserved.</entry></row><row><entry><screen>ssid<indexterm zone="settings-802-11-wireless"><primary sortas="ssid">ssid</primary></indexterm></screen></entry><entry><screen>byte array</screen></entry><entry><screen/></entry><entry>SSID of the Wi-Fi network. Must be specified.</entry></row><row><entry><screen>tx-power<indexterm zone="settings-802-11-wireless"><primary sortas="tx-power">tx-power</primary></indexterm></screen></entry><entry><screen>uint32</screen></entry><entry><screen>0</screen></entry><entry>If non-zero, directs the device to use the specified transmit power. Units are dBm.  This property is highly driver dependent and not all devices support setting a static transmit power.</entry></row><row><entry><screen>wake-on-wlan<indexterm zone="settings-802-11-wireless"><primary sortas="wake-on-wlan">wake-on-wlan</primary></indexterm></screen></entry><entry><screen>uint32</screen></entry><entry><screen>1</screen></entry><entry>The NMSettingWirelessWakeOnWLan options to enable. Not all devices support all options. May be any combination of NM_SETTING_WIRELESS_WAKE_ON_WLAN_ANY (0x2), NM_SETTING_WIRELESS_WAKE_ON_WLAN_DISCONNECT (0x4), NM_SETTING_WIRELESS_WAKE_ON_WLAN_MAGIC (0x8), NM_SETTING_WIRELESS_WAKE_ON_WLAN_GTK_REKEY_FAILURE (0x10), NM_SETTING_WIRELESS_WAKE_ON_WLAN_EAP_IDENTITY_REQUEST (0x20), NM_SETTING_WIRELESS_WAKE_ON_WLAN_4WAY_HANDSHAKE (0x40), NM_SETTING_WIRELESS_WAKE_ON_WLAN_RFKILL_RELEASE (0x80), NM_SETTING_WIRELESS_WAKE_ON_WLAN_TCP (0x100) or the special values NM_SETTING_WIRELESS_WAKE_ON_WLAN_DEFAULT (0x1) (to use global settings) and NM_SETTING_WIRELESS_WAKE_ON_WLAN_IGNORE (0x8000) (to disable management of Wake-on-LAN in NetworkManager).</entry></row></tbody></tgroup></table></para></refsect1></refentry><refentry id="settings-802-11-wireless-security"><refnamediv><refname>802-11-wireless-security</refname><refpurpose>Wi-Fi Security Settings</refpurpose></refnamediv><refsect1 role="properties"><title id="settings-802-11-wireless-security.properties">
             Properties
-        </title><para><table><tgroup cols="4"><thead><row><entry>Key Name</entry><entry>Value Type</entry><entry>Default Value</entry><entry>Value Description</entry></row></thead><tbody><row><entry><screen>auth-alg<indexterm zone="settings-802-11-wireless-security"><primary sortas="auth-alg">auth-alg</primary></indexterm></screen></entry><entry><screen>string</screen></entry><entry><screen/></entry><entry>When WEP is used (ie, key-mgmt = "none" or "ieee8021x") indicate the 802.11 authentication algorithm required by the AP here.  One of "open" for Open System, "shared" for Shared Key, or "leap" for Cisco LEAP.  When using Cisco LEAP (ie, key-mgmt = "ieee8021x" and auth-alg = "leap") the "leap-username" and "leap-password" properties must be specified.</entry></row><row><entry><screen>fils<indexterm zone="settings-802-11-wireless-security"><primary sortas="fils">fils</primary></indexterm></screen></entry><entry><screen>int32</screen></entry><entry><screen>0</screen></entry><entry>Indicates whether Fast Initial Link Setup (802.11ai) must be enabled for the connection.  One of NM_SETTING_WIRELESS_SECURITY_FILS_DEFAULT (0) (use global default value), NM_SETTING_WIRELESS_SECURITY_FILS_DISABLE (1) (disable FILS), NM_SETTING_WIRELESS_SECURITY_FILS_OPTIONAL (2) (enable FILS if the supplicant and the access point support it) or NM_SETTING_WIRELESS_SECURITY_FILS_REQUIRED (3) (enable FILS and fail if not supported).  When set to NM_SETTING_WIRELESS_SECURITY_FILS_DEFAULT (0) and no global default is set, FILS will be optionally enabled.</entry></row><row><entry><screen>group<indexterm zone="settings-802-11-wireless-security"><primary sortas="group">group</primary></indexterm></screen></entry><entry><screen>array of string</screen></entry><entry><screen/></entry><entry>A list of group/broadcast encryption algorithms which prevents connections to Wi-Fi networks that do not utilize one of the algorithms in the list.  For maximum compatibility leave this property empty.  Each list element may be one of "wep40", "wep104", "tkip", or "ccmp".</entry></row><row><entry><screen>key-mgmt<indexterm zone="settings-802-11-wireless-security"><primary sortas="key-mgmt">key-mgmt</primary></indexterm></screen></entry><entry><screen>string</screen></entry><entry><screen/></entry><entry>Key management used for the connection.  One of "none" (WEP), "ieee8021x" (Dynamic WEP), "wpa-psk" (infrastructure WPA-PSK), "sae" (SAE), "owe" (Opportunistic Wireless Encryption), "wpa-eap" (WPA-Enterprise) or "wpa-eap-suite-b-192" (WPA3-Enterprise Suite B). This property must be set for any Wi-Fi connection that uses security.</entry></row><row><entry><screen>leap-password<indexterm zone="settings-802-11-wireless-security"><primary sortas="leap-password">leap-password</primary></indexterm></screen></entry><entry><screen>string</screen></entry><entry><screen/></entry><entry>The login password for legacy LEAP connections (ie, key-mgmt = "ieee8021x" and auth-alg = "leap").</entry></row><row><entry><screen>leap-password-flags<indexterm zone="settings-802-11-wireless-security"><primary sortas="leap-password-flags">leap-password-flags</primary></indexterm></screen></entry><entry><screen>NMSettingSecretFlags (uint32)</screen></entry><entry><screen/></entry><entry>Flags indicating how to handle the "leap-password" property.</entry></row><row><entry><screen>leap-username<indexterm zone="settings-802-11-wireless-security"><primary sortas="leap-username">leap-username</primary></indexterm></screen></entry><entry><screen>string</screen></entry><entry><screen/></entry><entry>The login username for legacy LEAP connections (ie, key-mgmt = "ieee8021x" and auth-alg = "leap").</entry></row><row><entry><screen>pairwise<indexterm zone="settings-802-11-wireless-security"><primary sortas="pairwise">pairwise</primary></indexterm></screen></entry><entry><screen>array of string</screen></entry><entry><screen/></entry><entry>A list of pairwise encryption algorithms which prevents connections to Wi-Fi networks that do not utilize one of the algorithms in the list. For maximum compatibility leave this property empty.  Each list element may be one of "tkip" or "ccmp".</entry></row><row><entry><screen>pmf<indexterm zone="settings-802-11-wireless-security"><primary sortas="pmf">pmf</primary></indexterm></screen></entry><entry><screen>int32</screen></entry><entry><screen>0</screen></entry><entry>Indicates whether Protected Management Frames (802.11w) must be enabled for the connection.  One of NM_SETTING_WIRELESS_SECURITY_PMF_DEFAULT (0) (use global default value), NM_SETTING_WIRELESS_SECURITY_PMF_DISABLE (1) (disable PMF), NM_SETTING_WIRELESS_SECURITY_PMF_OPTIONAL (2) (enable PMF if the supplicant and the access point support it) or NM_SETTING_WIRELESS_SECURITY_PMF_REQUIRED (3) (enable PMF and fail if not supported).  When set to NM_SETTING_WIRELESS_SECURITY_PMF_DEFAULT (0) and no global default is set, PMF will be optionally enabled.</entry></row><row><entry><screen>proto<indexterm zone="settings-802-11-wireless-security"><primary sortas="proto">proto</primary></indexterm></screen></entry><entry><screen>array of string</screen></entry><entry><screen/></entry><entry>List of strings specifying the allowed WPA protocol versions to use. Each element may be one "wpa" (allow WPA) or "rsn" (allow WPA2/RSN).  If not specified, both WPA and RSN connections are allowed.</entry></row><row><entry><screen>psk<indexterm zone="settings-802-11-wireless-security"><primary sortas="psk">psk</primary></indexterm></screen></entry><entry><screen>string</screen></entry><entry><screen/></entry><entry>Pre-Shared-Key for WPA networks. For WPA-PSK, it's either an ASCII passphrase of 8 to 63 characters that is (as specified in the 802.11i standard) hashed to derive the actual key, or the key in form of 64 hexadecimal character. The WPA3-Personal networks use a passphrase of any length for SAE authentication.</entry></row><row><entry><screen>psk-flags<indexterm zone="settings-802-11-wireless-security"><primary sortas="psk-flags">psk-flags</primary></indexterm></screen></entry><entry><screen>NMSettingSecretFlags (uint32)</screen></entry><entry><screen/></entry><entry>Flags indicating how to handle the "psk" property.</entry></row><row><entry><screen>wep-key-flags<indexterm zone="settings-802-11-wireless-security"><primary sortas="wep-key-flags">wep-key-flags</primary></indexterm></screen></entry><entry><screen>NMSettingSecretFlags (uint32)</screen></entry><entry><screen/></entry><entry>Flags indicating how to handle the "wep-key0", "wep-key1", "wep-key2", and "wep-key3" properties.</entry></row><row><entry><screen>wep-key-type<indexterm zone="settings-802-11-wireless-security"><primary sortas="wep-key-type">wep-key-type</primary></indexterm></screen></entry><entry><screen>NMWepKeyType (uint32)</screen></entry><entry><screen/></entry><entry>Controls the interpretation of WEP keys.  Allowed values are NM_WEP_KEY_TYPE_KEY (1), in which case the key is either a 10- or 26-character hexadecimal string, or a 5- or 13-character ASCII password; or NM_WEP_KEY_TYPE_PASSPHRASE (2), in which case the passphrase is provided as a string and will be hashed using the de-facto MD5 method to derive the actual WEP key.</entry></row><row><entry><screen>wep-key0<indexterm zone="settings-802-11-wireless-security"><primary sortas="wep-key0">wep-key0</primary></indexterm></screen></entry><entry><screen>string</screen></entry><entry><screen/></entry><entry>Index 0 WEP key.  This is the WEP key used in most networks.  See the "wep-key-type" property for a description of how this key is interpreted.</entry></row><row><entry><screen>wep-key1<indexterm zone="settings-802-11-wireless-security"><primary sortas="wep-key1">wep-key1</primary></indexterm></screen></entry><entry><screen>string</screen></entry><entry><screen/></entry><entry>Index 1 WEP key.  This WEP index is not used by most networks.  See the "wep-key-type" property for a description of how this key is interpreted.</entry></row><row><entry><screen>wep-key2<indexterm zone="settings-802-11-wireless-security"><primary sortas="wep-key2">wep-key2</primary></indexterm></screen></entry><entry><screen>string</screen></entry><entry><screen/></entry><entry>Index 2 WEP key.  This WEP index is not used by most networks.  See the "wep-key-type" property for a description of how this key is interpreted.</entry></row><row><entry><screen>wep-key3<indexterm zone="settings-802-11-wireless-security"><primary sortas="wep-key3">wep-key3</primary></indexterm></screen></entry><entry><screen>string</screen></entry><entry><screen/></entry><entry>Index 3 WEP key.  This WEP index is not used by most networks.  See the "wep-key-type" property for a description of how this key is interpreted.</entry></row><row><entry><screen>wep-tx-keyidx<indexterm zone="settings-802-11-wireless-security"><primary sortas="wep-tx-keyidx">wep-tx-keyidx</primary></indexterm></screen></entry><entry><screen>uint32</screen></entry><entry><screen>0</screen></entry><entry>When static WEP is used (ie, key-mgmt = "none") and a non-default WEP key index is used by the AP, put that WEP key index here.  Valid values are 0 (default key) through 3.  Note that some consumer access points (like the Linksys WRT54G) number the keys 1 - 4.</entry></row><row><entry><screen>wps-method<indexterm zone="settings-802-11-wireless-security"><primary sortas="wps-method">wps-method</primary></indexterm></screen></entry><entry><screen>uint32</screen></entry><entry><screen>0</screen></entry><entry>Flags indicating which mode of WPS is to be used if any. There's little point in changing the default setting as NetworkManager will automatically determine whether it's feasible to start WPS enrollment from the Access Point capabilities. WPS can be disabled by setting this property to a value of 1.</entry></row></tbody></tgroup></table></para></refsect1></refentry><refentry id="settings-wpan"><refnamediv><refname>wpan</refname><refpurpose>IEEE 802.15.4 (WPAN) MAC Settings</refpurpose></refnamediv><refsect1 role="properties"><title id="settings-wpan.properties">
+        </title><para><table><tgroup cols="4"><thead><row><entry>Key Name</entry><entry>Value Type</entry><entry>Default Value</entry><entry>Value Description</entry></row></thead><tbody><row><entry><screen>auth-alg<indexterm zone="settings-802-11-wireless-security"><primary sortas="auth-alg">auth-alg</primary></indexterm></screen></entry><entry><screen>string</screen></entry><entry><screen/></entry><entry>When WEP is used (ie, key-mgmt = "none" or "ieee8021x") indicate the 802.11 authentication algorithm required by the AP here.  One of "open" for Open System, "shared" for Shared Key, or "leap" for Cisco LEAP.  When using Cisco LEAP (ie, key-mgmt = "ieee8021x" and auth-alg = "leap") the "leap-username" and "leap-password" properties must be specified.</entry></row><row><entry><screen>fils<indexterm zone="settings-802-11-wireless-security"><primary sortas="fils">fils</primary></indexterm></screen></entry><entry><screen>int32</screen></entry><entry><screen>0</screen></entry><entry>Indicates whether Fast Initial Link Setup (802.11ai) must be enabled for the connection.  One of NM_SETTING_WIRELESS_SECURITY_FILS_DEFAULT (0) (use global default value), NM_SETTING_WIRELESS_SECURITY_FILS_DISABLE (1) (disable FILS), NM_SETTING_WIRELESS_SECURITY_FILS_OPTIONAL (2) (enable FILS if the supplicant and the access point support it) or NM_SETTING_WIRELESS_SECURITY_FILS_REQUIRED (3) (enable FILS and fail if not supported).  When set to NM_SETTING_WIRELESS_SECURITY_FILS_DEFAULT (0) and no global default is set, FILS will be optionally enabled.</entry></row><row><entry><screen>group<indexterm zone="settings-802-11-wireless-security"><primary sortas="group">group</primary></indexterm></screen></entry><entry><screen>array of string</screen></entry><entry><screen/></entry><entry>A list of group/broadcast encryption algorithms which prevents connections to Wi-Fi networks that do not utilize one of the algorithms in the list.  For maximum compatibility leave this property empty.  Each list element may be one of "wep40", "wep104", "tkip", or "ccmp".</entry></row><row><entry><screen>key-mgmt<indexterm zone="settings-802-11-wireless-security"><primary sortas="key-mgmt">key-mgmt</primary></indexterm></screen></entry><entry><screen>string</screen></entry><entry><screen/></entry><entry>Key management used for the connection. One of "none" (WEP or no password protection), "ieee8021x" (Dynamic WEP), "owe" (Opportunistic Wireless Encryption), "wpa-psk" (WPA2 + WPA3 personal), "sae" (WPA3 personal only), "wpa-eap" (WPA2 + WPA3 enterprise) or "wpa-eap-suite-b-192" (WPA3 enterprise only). This property must be set for any Wi-Fi connection that uses security.</entry></row><row><entry><screen>leap-password<indexterm zone="settings-802-11-wireless-security"><primary sortas="leap-password">leap-password</primary></indexterm></screen></entry><entry><screen>string</screen></entry><entry><screen/></entry><entry>The login password for legacy LEAP connections (ie, key-mgmt = "ieee8021x" and auth-alg = "leap").</entry></row><row><entry><screen>leap-password-flags<indexterm zone="settings-802-11-wireless-security"><primary sortas="leap-password-flags">leap-password-flags</primary></indexterm></screen></entry><entry><screen>NMSettingSecretFlags (uint32)</screen></entry><entry><screen/></entry><entry>Flags indicating how to handle the "leap-password" property.</entry></row><row><entry><screen>leap-username<indexterm zone="settings-802-11-wireless-security"><primary sortas="leap-username">leap-username</primary></indexterm></screen></entry><entry><screen>string</screen></entry><entry><screen/></entry><entry>The login username for legacy LEAP connections (ie, key-mgmt = "ieee8021x" and auth-alg = "leap").</entry></row><row><entry><screen>pairwise<indexterm zone="settings-802-11-wireless-security"><primary sortas="pairwise">pairwise</primary></indexterm></screen></entry><entry><screen>array of string</screen></entry><entry><screen/></entry><entry>A list of pairwise encryption algorithms which prevents connections to Wi-Fi networks that do not utilize one of the algorithms in the list. For maximum compatibility leave this property empty.  Each list element may be one of "tkip" or "ccmp".</entry></row><row><entry><screen>pmf<indexterm zone="settings-802-11-wireless-security"><primary sortas="pmf">pmf</primary></indexterm></screen></entry><entry><screen>int32</screen></entry><entry><screen>0</screen></entry><entry>Indicates whether Protected Management Frames (802.11w) must be enabled for the connection.  One of NM_SETTING_WIRELESS_SECURITY_PMF_DEFAULT (0) (use global default value), NM_SETTING_WIRELESS_SECURITY_PMF_DISABLE (1) (disable PMF), NM_SETTING_WIRELESS_SECURITY_PMF_OPTIONAL (2) (enable PMF if the supplicant and the access point support it) or NM_SETTING_WIRELESS_SECURITY_PMF_REQUIRED (3) (enable PMF and fail if not supported).  When set to NM_SETTING_WIRELESS_SECURITY_PMF_DEFAULT (0) and no global default is set, PMF will be optionally enabled.</entry></row><row><entry><screen>proto<indexterm zone="settings-802-11-wireless-security"><primary sortas="proto">proto</primary></indexterm></screen></entry><entry><screen>array of string</screen></entry><entry><screen/></entry><entry>List of strings specifying the allowed WPA protocol versions to use. Each element may be one "wpa" (allow WPA) or "rsn" (allow WPA2/RSN).  If not specified, both WPA and RSN connections are allowed.</entry></row><row><entry><screen>psk<indexterm zone="settings-802-11-wireless-security"><primary sortas="psk">psk</primary></indexterm></screen></entry><entry><screen>string</screen></entry><entry><screen/></entry><entry>Pre-Shared-Key for WPA networks. For WPA-PSK, it's either an ASCII passphrase of 8 to 63 characters that is (as specified in the 802.11i standard) hashed to derive the actual key, or the key in form of 64 hexadecimal character. The WPA3-Personal networks use a passphrase of any length for SAE authentication.</entry></row><row><entry><screen>psk-flags<indexterm zone="settings-802-11-wireless-security"><primary sortas="psk-flags">psk-flags</primary></indexterm></screen></entry><entry><screen>NMSettingSecretFlags (uint32)</screen></entry><entry><screen/></entry><entry>Flags indicating how to handle the "psk" property.</entry></row><row><entry><screen>wep-key-flags<indexterm zone="settings-802-11-wireless-security"><primary sortas="wep-key-flags">wep-key-flags</primary></indexterm></screen></entry><entry><screen>NMSettingSecretFlags (uint32)</screen></entry><entry><screen/></entry><entry>Flags indicating how to handle the "wep-key0", "wep-key1", "wep-key2", and "wep-key3" properties.</entry></row><row><entry><screen>wep-key-type<indexterm zone="settings-802-11-wireless-security"><primary sortas="wep-key-type">wep-key-type</primary></indexterm></screen></entry><entry><screen>NMWepKeyType (uint32)</screen></entry><entry><screen/></entry><entry>Controls the interpretation of WEP keys.  Allowed values are NM_WEP_KEY_TYPE_KEY (1), in which case the key is either a 10- or 26-character hexadecimal string, or a 5- or 13-character ASCII password; or NM_WEP_KEY_TYPE_PASSPHRASE (2), in which case the passphrase is provided as a string and will be hashed using the de-facto MD5 method to derive the actual WEP key.</entry></row><row><entry><screen>wep-key0<indexterm zone="settings-802-11-wireless-security"><primary sortas="wep-key0">wep-key0</primary></indexterm></screen></entry><entry><screen>string</screen></entry><entry><screen/></entry><entry>Index 0 WEP key.  This is the WEP key used in most networks.  See the "wep-key-type" property for a description of how this key is interpreted.</entry></row><row><entry><screen>wep-key1<indexterm zone="settings-802-11-wireless-security"><primary sortas="wep-key1">wep-key1</primary></indexterm></screen></entry><entry><screen>string</screen></entry><entry><screen/></entry><entry>Index 1 WEP key.  This WEP index is not used by most networks.  See the "wep-key-type" property for a description of how this key is interpreted.</entry></row><row><entry><screen>wep-key2<indexterm zone="settings-802-11-wireless-security"><primary sortas="wep-key2">wep-key2</primary></indexterm></screen></entry><entry><screen>string</screen></entry><entry><screen/></entry><entry>Index 2 WEP key.  This WEP index is not used by most networks.  See the "wep-key-type" property for a description of how this key is interpreted.</entry></row><row><entry><screen>wep-key3<indexterm zone="settings-802-11-wireless-security"><primary sortas="wep-key3">wep-key3</primary></indexterm></screen></entry><entry><screen>string</screen></entry><entry><screen/></entry><entry>Index 3 WEP key.  This WEP index is not used by most networks.  See the "wep-key-type" property for a description of how this key is interpreted.</entry></row><row><entry><screen>wep-tx-keyidx<indexterm zone="settings-802-11-wireless-security"><primary sortas="wep-tx-keyidx">wep-tx-keyidx</primary></indexterm></screen></entry><entry><screen>uint32</screen></entry><entry><screen>0</screen></entry><entry>When static WEP is used (ie, key-mgmt = "none") and a non-default WEP key index is used by the AP, put that WEP key index here.  Valid values are 0 (default key) through 3.  Note that some consumer access points (like the Linksys WRT54G) number the keys 1 - 4.</entry></row><row><entry><screen>wps-method<indexterm zone="settings-802-11-wireless-security"><primary sortas="wps-method">wps-method</primary></indexterm></screen></entry><entry><screen>uint32</screen></entry><entry><screen>0</screen></entry><entry>Flags indicating which mode of WPS is to be used if any. There's little point in changing the default setting as NetworkManager will automatically determine whether it's feasible to start WPS enrollment from the Access Point capabilities. WPS can be disabled by setting this property to a value of 1.</entry></row></tbody></tgroup></table></para></refsect1></refentry><refentry id="settings-wpan"><refnamediv><refname>wpan</refname><refpurpose>IEEE 802.15.4 (WPAN) MAC Settings</refpurpose></refnamediv><refsect1 role="properties"><title id="settings-wpan.properties">
             Properties
         </title><para><table><tgroup cols="4"><thead><row><entry>Key Name</entry><entry>Value Type</entry><entry>Default Value</entry><entry>Value Description</entry></row></thead><tbody><row><entry><screen>channel<indexterm zone="settings-wpan"><primary sortas="channel">channel</primary></indexterm></screen></entry><entry><screen>int32</screen></entry><entry><screen>-1</screen></entry><entry>IEEE 802.15.4 channel. A positive integer or -1, meaning "do not set, use whatever the device is already set to".</entry></row><row><entry><screen>mac-address<indexterm zone="settings-wpan"><primary sortas="mac-address">mac-address</primary></indexterm></screen></entry><entry><screen>string</screen></entry><entry><screen/></entry><entry>If specified, this connection will only apply to the IEEE 802.15.4 (WPAN) MAC layer device whose permanent MAC address matches.</entry></row><row><entry><screen>page<indexterm zone="settings-wpan"><primary sortas="page">page</primary></indexterm></screen></entry><entry><screen>int32</screen></entry><entry><screen>-1</screen></entry><entry>IEEE 802.15.4 channel page. A positive integer or -1, meaning "do not set, use whatever the device is already set to".</entry></row><row><entry><screen>pan-id<indexterm zone="settings-wpan"><primary sortas="pan-id">pan-id</primary></indexterm></screen></entry><entry><screen>uint32</screen></entry><entry><screen>65535</screen></entry><entry>IEEE 802.15.4 Personal Area Network (PAN) identifier.</entry></row><row><entry><screen>short-address<indexterm zone="settings-wpan"><primary sortas="short-address">short-address</primary></indexterm></screen></entry><entry><screen>uint32</screen></entry><entry><screen>65535</screen></entry><entry>Short IEEE 802.15.4 address to be used within a restricted environment.</entry></row></tbody></tgroup></table></para></refsect1></refentry><refentry id="settings-hostname"><refnamediv><refname>hostname</refname><refpurpose>Hostname settings</refpurpose></refnamediv><refsect1 role="properties"><title id="settings-hostname.properties">
             Properties