NetworkManager is based on a concept of connection profiles,
    sometimes referred to as connections only. These connection profiles contain
    a network configuration. When NetworkManager activates a connection profile
    on a network device the configuration will be applied and an active network
    connection will be established. Users are free to create as many connection
    profiles as they see fit. Thus they are flexible in having various network
    configurations for different networking needs.
NetworkManager provides an API for configuring connection
    profiles, for activating them to configure the network, and inspecting the
    current network configuration. The command line tool nmcli is a
    client application to NetworkManager that uses this API. See nmcli(1)
    for details.
With commands like nmcli connection add, nmcli connection modify
    and nmcli connection show, connection profiles can be created, modified and
    inspected. A profile consists of properties. On D-Bus this follows the
    format as described by nm-settings-dbus(5), while this manual page
    describes the settings format how they are expected by nmcli.
The settings and properties shown in tables below list all
    available connection configuration options. However, note that not all
    settings are applicable to all connection types. nmcli connection
    editor has also a built-in describe command that can display
    description of particular settings and properties of this page.
General Connection Profile Settings.
Properties:
auth-retries
The number of retries for the authentication. Zero means
  to try indefinitely; -1 means to use a global default. If the global default
  is not set, the authentication retries for 3 times before failing the
  connection. Currently, this only applies to 802-1x authentication.
Format: int32
autoconnect
Alias: autoconnect
Whether or not the connection should be automatically connected by
    NetworkManager when the resources for the connection are available. TRUE to
    automatically activate the connection, FALSE to require manual intervention
    to activate the connection. Note that autoconnect is not implemented for VPN
    profiles. See "secondaries" as an alternative to automatically
    connect VPN profiles.
Format: boolean
autoconnect-priority
The autoconnect priority. If the connection is set to
  autoconnect, connections with higher priority will be preferred. Defaults to
  0. The higher number means higher priority.
Format: int32
autoconnect-retries
The number of times a connection should be tried when
  autoactivating before giving up. Zero means forever, -1 means the global
  default (4 times if not overridden). Setting this to 1 means to try activation
  only once before blocking autoconnect. Note that after a timeout,
  NetworkManager will try to autoconnect again.
Format: int32
autoconnect-slaves
Whether or not slaves of this connection should be
  automatically brought up when NetworkManager activates this connection. This
  only has a real effect for master connections. The properties
  "autoconnect", "autoconnect-priority" and
  "autoconnect-retries" are unrelated to this setting. The permitted
  values are: 0: leave slave connections untouched, 1: activate all the slave
  connections with this connection, -1: default. If -1 (default) is set, global
  connection.autoconnect-slaves is read to determine the real value. If it is
  default as well, this fallbacks to 0.
Format: NMSettingConnectionAutoconnectSlaves (int32)
gateway-ping-timeout
If greater than zero, delay success of IP addressing
  until either the timeout is reached, or an IP gateway replies to a ping.
Format: uint32
id
Alias: con-name
A human readable unique identifier for the connection, like
    "Work Wi-Fi" or "T-Mobile 3G".
Format: string
interface-name
Alias: ifname
The name of the network interface this connection is bound to. If
    not set, then the connection can be attached to any interface of the
    appropriate type (subject to restrictions imposed by other settings). For
    software devices this specifies the name of the created device. For
    connection types where interface names cannot easily be made persistent
    (e.g. mobile broadband or USB Ethernet), this property should not be used.
    Setting this property restricts the interfaces a connection can be used
    with, and if interface names change or are reordered the connection may be
    applied to the wrong interface.
Format: string
lldp
Whether LLDP is enabled for the connection.
Format: int32
llmnr
Whether Link-Local Multicast Name Resolution (LLMNR) is
  enabled for the connection. LLMNR is a protocol based on the Domain Name
  System (DNS) packet format that allows both IPv4 and IPv6 hosts to perform
  name resolution for hosts on the same local link. The permitted values are:
  "yes" (2) register hostname and resolving for the connection,
  "no" (0) disable LLMNR for the interface, "resolve" (1) do
  not register hostname but allow resolving of LLMNR host names If unspecified,
  "default" ultimately depends on the DNS plugin (which for
  systemd-resolved currently means "yes"). This feature requires a
  plugin which supports LLMNR. Otherwise, the setting has no effect. One such
  plugin is dns-systemd-resolved.
Format: int32
master
Alias: master
Interface name of the master device or UUID of the master
    connection.
Format: string
mdns
Whether mDNS is enabled for the connection. The permitted
  values are: "yes" (2) register hostname and resolving for the
  connection, "no" (0) disable mDNS for the interface,
  "resolve" (1) do not register hostname but allow resolving of mDNS
  host names and "default" (-1) to allow lookup of a global default in
  NetworkManager.conf. If unspecified, "default" ultimately depends on
  the DNS plugin (which for systemd-resolved currently means "no").
  This feature requires a plugin which supports mDNS. Otherwise, the setting has
  no effect. One such plugin is dns-systemd-resolved.
Format: int32
metered
Whether the connection is metered. When updating this
  property on a currently activated connection, the change takes effect
  immediately.
Format: NMMetered (int32)
mud-url
If configured, set to a Manufacturer Usage Description
  (MUD) URL that points to manufacturer-recommended network policies for IoT
  devices. It is transmitted as a DHCPv4 or DHCPv6 option. The value must be a
  valid URL starting with "https://". The special value
  "none" is allowed to indicate that no MUD URL is used. If the
  per-profile value is unspecified (the default), a global connection default
  gets consulted. If still unspecified, the ultimate default is
  "none".
Format: string
multi-connect
Specifies whether the profile can be active multiple
  times at a particular moment. The value is of type NMConnectionMultiConnect.
Format: int32
permissions
An array of strings defining what access a given user has
  to this connection. If this is NULL or empty, all users are allowed to access
  this connection; otherwise users are allowed if and only if they are in this
  list. When this is not empty, the connection can be active only when one of
  the specified users is logged into an active session. Each entry is of the
  form "[type]:[id]:[reserved]"; for example,
  "user:dcbw:blah". At this time only the "user" [type] is
  allowed. Any other values are ignored and reserved for future use. [id] is the
  username that this permission refers to, which may not contain the
  ":" character. Any [reserved] information present must be ignored
  and is reserved for future use. All of [type], [id], and [reserved] must be
  valid UTF-8.
Format: array of string
read-only
FALSE if the connection can be modified using the
  provided settings service's D-Bus interface with the right privileges, or TRUE
  if the connection is read-only and cannot be modified.
Format: boolean
secondaries
List of connection UUIDs that should be activated when
  the base connection itself is activated. Currently, only VPN connections are
  supported.
Format: array of string
slave-type
Alias: slave-type
Setting name of the device type of this slave's master connection
    (eg, "bond"), or NULL if this connection is not a slave.
Format: string
stable-id
This represents the identity of the connection used for
  various purposes. It allows to configure multiple profiles to share the
  identity. Also, the stable-id can contain placeholders that are substituted
  dynamically and deterministically depending on the context. The stable-id is
  used for generating IPv6 stable private addresses with
  ipv6.addr-gen-mode=stable-privacy. It is also used to seed the generated
  cloned MAC address for ethernet.cloned-mac-address=stable and
  wifi.cloned-mac-address=stable. It is also used as DHCP client identifier with
  ipv4.dhcp-client-id=stable and to derive the DHCP DUID with
  ipv6.dhcp-duid=stable-[llt,ll,uuid]. Note that depending on the context where
  it is used, other parameters are also seeded into the generation algorithm.
  For example, a per-host key is commonly also included, so that different
  systems end up generating different IDs. Or with
  ipv6.addr-gen-mode=stable-privacy, also the device's name is included, so that
  different interfaces yield different addresses. The per-host key is the
  identity of your machine and stored in /var/lib/NetworkManager/secret-key. The
  '$' character is treated special to perform dynamic substitutions at runtime.
  Currently, supported are "${CONNECTION}", "${DEVICE}",
  "${MAC}", "${BOOT}", "${RANDOM}". These
  effectively create unique IDs per-connection, per-device, per-boot, or every
  time. Note that "${DEVICE}" corresponds to the interface name of the
  device and "${MAC}" is the permanent MAC address of the device. Any
  unrecognized patterns following '$' are treated verbatim, however are reserved
  for future use. You are thus advised to avoid '$' or escape it as
  "$$". For example, set it to
  "${CONNECTION}-${BOOT}-${DEVICE}" to create a unique id for this
  connection that changes with every reboot and differs depending on the
  interface where the profile activates. If the value is unset, a global
  connection default is consulted. If the value is still unset, the default is
  similar to "${CONNECTION}" and uses a unique, fixed ID for the
  connection.
Format: string
timestamp
The time, in seconds since the Unix Epoch, that the
  connection was last _successfully_ fully activated. NetworkManager updates the
  connection timestamp periodically when the connection is active to ensure that
  an active connection has the latest timestamp. The property is only meant for
  reading (changes to this property will not be preserved).
Format: uint64
type
Alias: type
Base type of the connection. For hardware-dependent connections,
    should contain the setting name of the hardware-type specific setting (ie,
    "802-3-ethernet" or "802-11-wireless" or
    "bluetooth", etc), and for non-hardware dependent connections like
    VPN or otherwise, should contain the setting name of that setting type (ie,
    "vpn" or "bridge", etc).
Format: string
uuid
A universally unique identifier for the connection, for
  example generated with libuuid. It should be assigned when the connection is
  created, and never changed as long as the connection still applies to the same
  network. For example, it should not be changed when the "id"
  property or NMSettingIP4Config changes, but might need to be re-created when
  the Wi-Fi SSID, mobile broadband network provider, or "type"
  property changes. The UUID must be in the format
  "2815492f-7e56-435e-b2e9-246bd7cdc664" (ie, contains only
  hexadecimal characters and "-").
Format: string
wait-device-timeout
Timeout in milliseconds to wait for device at startup.
  During boot, devices may take a while to be detected by the driver. This
  property will cause to delay NetworkManager-wait-online.service and nm-online
  to give the device a chance to appear. This works by waiting for the given
  timeout until a compatible device for the profile is available and managed.
  The value 0 means no wait time. The default value is -1, which currently has
  the same meaning as no wait time.
Format: int32
zone
The trust level of a the connection. Free form
  case-insensitive string (for example "Home", "Work",
  "Public"). NULL or unspecified zone means the connection will be
  placed in the default zone as defined by the firewall. When updating this
  property on a currently activated connection, the change takes effect
  immediately.
Format: string
802-1x setting
IEEE 802.1x Authentication Settings.
Properties:
altsubject-matches
List of strings to be matched against the altSubjectName
  of the certificate presented by the authentication server. If the list is
  empty, no verification of the server certificate's altSubjectName is
  performed.
Format: array of string
anonymous-identity
Anonymous identity string for EAP authentication methods.
  Used as the unencrypted identity with EAP types that support different
  tunneled identity like EAP-TTLS.
Format: string
auth-timeout
A timeout for the authentication. Zero means the global
  default; if the global default is not set, the authentication timeout is 25
  seconds.
Format: int32
ca-cert
Contains the CA certificate if used by the EAP method
  specified in the "eap" property. Certificate data is specified using
  a "scheme"; three are currently supported: blob, path and pkcs#11
  URL. When using the blob scheme this property should be set to the
  certificate's DER encoded data. When using the path scheme, this property
  should be set to the full UTF-8 encoded path of the certificate, prefixed with
  the string "file://" and ending with a terminating NUL byte. This
  property can be unset even if the EAP method supports CA certificates, but
  this allows man-in-the-middle attacks and is NOT recommended. Note that
  enabling NMSetting8021x:system-ca-certs will override this setting to use the
  built-in path, if the built-in path is not a directory.
Format: byte array
ca-cert-password
The password used to access the CA certificate stored in
  "ca-cert" property. Only makes sense if the certificate is stored on
  a PKCS#11 token that requires a login.
Format: string
ca-cert-password-flags
Flags indicating how to handle the
  "ca-cert-password" property. See the section called “Secret
  flag types:” for flag values.
Format: NMSettingSecretFlags (uint32)
ca-path
UTF-8 encoded path to a directory containing PEM or DER
  formatted certificates to be added to the verification chain in addition to
  the certificate specified in the "ca-cert" property. If
  NMSetting8021x:system-ca-certs is enabled and the built-in CA path is an
  existing directory, then this setting is ignored.
Format: string
client-cert
Contains the client certificate if used by the EAP method
  specified in the "eap" property. Certificate data is specified using
  a "scheme"; two are currently supported: blob and path. When using
  the blob scheme (which is backwards compatible with NM 0.7.x) this property
  should be set to the certificate's DER encoded data. When using the path
  scheme, this property should be set to the full UTF-8 encoded path of the
  certificate, prefixed with the string "file://" and ending with a
  terminating NUL byte.
Format: byte array
client-cert-password
The password used to access the client certificate stored
  in "client-cert" property. Only makes sense if the certificate is
  stored on a PKCS#11 token that requires a login.
Format: string
client-cert-password-flags
Flags indicating how to handle the
  "client-cert-password" property. See the section called
  “Secret flag types:” for flag values.
Format: NMSettingSecretFlags (uint32)
domain-match
Constraint for server domain name. If set, this list of
  FQDNs is used as a match requirement for dNSName element(s) of the certificate
  presented by the authentication server. If a matching dNSName is found, this
  constraint is met. If no dNSName values are present, this constraint is
  matched against SubjectName CN using the same comparison. Multiple valid FQDNs
  can be passed as a ";" delimited list.
Format: string
domain-suffix-match
Constraint for server domain name. If set, this FQDN is
  used as a suffix match requirement for dNSName element(s) of the certificate
  presented by the authentication server. If a matching dNSName is found, this
  constraint is met. If no dNSName values are present, this constraint is
  matched against SubjectName CN using same suffix match comparison. Since
  version 1.24, multiple valid FQDNs can be passed as a ";" delimited
  list.
Format: string
eap
The allowed EAP method to be used when authenticating to
  the network with 802.1x. Valid methods are: "leap", "md5",
  "tls", "peap", "ttls", "pwd", and
  "fast". Each method requires different configuration using the
  properties of this setting; refer to wpa_supplicant documentation for the
  allowed combinations.
Format: array of string
identity
Identity string for EAP authentication methods. Often the
  user's user or login name.
Format: string
optional
Whether the 802.1X authentication is optional. If TRUE,
  the activation will continue even after a timeout or an authentication
  failure. Setting the property to TRUE is currently allowed only for Ethernet
  connections. If set to FALSE, the activation can continue only after a
  successful authentication.
Format: boolean
pac-file
UTF-8 encoded file path containing PAC for EAP-FAST.
Format: string
password
UTF-8 encoded password used for EAP authentication
  methods. If both the "password" property and the
  "password-raw" property are specified, "password" is
  preferred.
Format: string
password-flags
Flags indicating how to handle the "password"
  property. See the section called “Secret flag types:” for flag
  values.
Format: NMSettingSecretFlags (uint32)
password-raw
Password used for EAP authentication methods, given as a
  byte array to allow passwords in other encodings than UTF-8 to be used. If
  both the "password" property and the "password-raw"
  property are specified, "password" is preferred.
Format: byte array
password-raw-flags
Flags indicating how to handle the
  "password-raw" property. See the section called “Secret flag
  types:” for flag values.
Format: NMSettingSecretFlags (uint32)
phase1-auth-flags
Specifies authentication flags to use in "phase
  1" outer authentication using NMSetting8021xAuthFlags options. The
  individual TLS versions can be explicitly disabled. If a certain TLS disable
  flag is not set, it is up to the supplicant to allow or forbid it. The TLS
  options map to tls_disable_tlsv1_x settings. See the wpa_supplicant
  documentation for more details.
Format: uint32
phase1-fast-provisioning
Enables or disables in-line provisioning of EAP-FAST
  credentials when FAST is specified as the EAP method in the "eap"
  property. Recognized values are "0" (disabled), "1" (allow
  unauthenticated provisioning), "2" (allow authenticated
  provisioning), and "3" (allow both authenticated and unauthenticated
  provisioning). See the wpa_supplicant documentation for more details.
Format: string
phase1-peaplabel
Forces use of the new PEAP label during key derivation.
  Some RADIUS servers may require forcing the new PEAP label to interoperate
  with PEAPv1. Set to "1" to force use of the new PEAP label. See the
  wpa_supplicant documentation for more details.
Format: string
phase1-peapver
Forces which PEAP version is used when PEAP is set as the
  EAP method in the "eap" property. When unset, the version reported
  by the server will be used. Sometimes when using older RADIUS servers, it is
  necessary to force the client to use a particular PEAP version. To do so, this
  property may be set to "0" or "1" to force that specific
  PEAP version.
Format: string
phase2-altsubject-matches
List of strings to be matched against the altSubjectName
  of the certificate presented by the authentication server during the inner
  "phase 2" authentication. If the list is empty, no verification of
  the server certificate's altSubjectName is performed.
Format: array of string
phase2-auth
Specifies the allowed "phase 2" inner
  authentication method when an EAP method that uses an inner TLS tunnel is
  specified in the "eap" property. For TTLS this property selects one
  of the supported non-EAP inner methods: "pap", "chap",
  "mschap", "mschapv2" while "phase2-autheap"
  selects an EAP inner method. For PEAP this selects an inner EAP method, one
  of: "gtc", "otp", "md5" and "tls".
  Each "phase 2" inner method requires specific parameters for
  successful authentication; see the wpa_supplicant documentation for more
  details. Both "phase2-auth" and "phase2-autheap" cannot be
  specified.
Format: string
phase2-autheap
Specifies the allowed "phase 2" inner EAP-based
  authentication method when TTLS is specified in the "eap" property.
  Recognized EAP-based "phase 2" methods are "md5",
  "mschapv2", "otp", "gtc", and "tls".
  Each "phase 2" inner method requires specific parameters for
  successful authentication; see the wpa_supplicant documentation for more
  details.
Format: string
phase2-ca-cert
Contains the "phase 2" CA certificate if used
  by the EAP method specified in the "phase2-auth" or
  "phase2-autheap" properties. Certificate data is specified using a
  "scheme"; three are currently supported: blob, path and pkcs#11 URL.
  When using the blob scheme this property should be set to the certificate's
  DER encoded data. When using the path scheme, this property should be set to
  the full UTF-8 encoded path of the certificate, prefixed with the string
  "file://" and ending with a terminating NUL byte. This property can
  be unset even if the EAP method supports CA certificates, but this allows
  man-in-the-middle attacks and is NOT recommended. Note that enabling
  NMSetting8021x:system-ca-certs will override this setting to use the built-in
  path, if the built-in path is not a directory.
Format: byte array
phase2-ca-cert-password
The password used to access the "phase2" CA
  certificate stored in "phase2-ca-cert" property. Only makes sense if
  the certificate is stored on a PKCS#11 token that requires a login.
Format: string
phase2-ca-cert-password-flags
Flags indicating how to handle the
  "phase2-ca-cert-password" property. See the section called
  “Secret flag types:” for flag values.
Format: NMSettingSecretFlags (uint32)
phase2-ca-path
UTF-8 encoded path to a directory containing PEM or DER
  formatted certificates to be added to the verification chain in addition to
  the certificate specified in the "phase2-ca-cert" property. If
  NMSetting8021x:system-ca-certs is enabled and the built-in CA path is an
  existing directory, then this setting is ignored.
Format: string
phase2-client-cert
Contains the "phase 2" client certificate if
  used by the EAP method specified in the "phase2-auth" or
  "phase2-autheap" properties. Certificate data is specified using a
  "scheme"; two are currently supported: blob and path. When using the
  blob scheme (which is backwards compatible with NM 0.7.x) this property should
  be set to the certificate's DER encoded data. When using the path scheme, this
  property should be set to the full UTF-8 encoded path of the certificate,
  prefixed with the string "file://" and ending with a terminating NUL
  byte. This property can be unset even if the EAP method supports CA
  certificates, but this allows man-in-the-middle attacks and is NOT
  recommended.
Format: byte array
phase2-client-cert-password
The password used to access the "phase2" client
  certificate stored in "phase2-client-cert" property. Only makes
  sense if the certificate is stored on a PKCS#11 token that requires a login.
Format: string
phase2-client-cert-password-flags
Flags indicating how to handle the
  "phase2-client-cert-password" property. See the section called
  “Secret flag types:” for flag values.
Format: NMSettingSecretFlags (uint32)
phase2-domain-match
Constraint for server domain name. If set, this list of
  FQDNs is used as a match requirement for dNSName element(s) of the certificate
  presented by the authentication server during the inner "phase 2"
  authentication. If a matching dNSName is found, this constraint is met. If no
  dNSName values are present, this constraint is matched against SubjectName CN
  using the same comparison. Multiple valid FQDNs can be passed as a
  ";" delimited list.
Format: string
phase2-domain-suffix-match
Constraint for server domain name. If set, this FQDN is
  used as a suffix match requirement for dNSName element(s) of the certificate
  presented by the authentication server during the inner "phase 2"
  authentication. If a matching dNSName is found, this constraint is met. If no
  dNSName values are present, this constraint is matched against SubjectName CN
  using same suffix match comparison. Since version 1.24, multiple valid FQDNs
  can be passed as a ";" delimited list.
Format: string
phase2-private-key
Contains the "phase 2" inner private key when
  the "phase2-auth" or "phase2-autheap" property is set to
  "tls". Key data is specified using a "scheme"; two are
  currently supported: blob and path. When using the blob scheme and private
  keys, this property should be set to the key's encrypted PEM encoded data.
  When using private keys with the path scheme, this property should be set to
  the full UTF-8 encoded path of the key, prefixed with the string
  "file://" and ending with a terminating NUL byte. When using PKCS#12
  format private keys and the blob scheme, this property should be set to the
  PKCS#12 data and the "phase2-private-key-password" property must be
  set to password used to decrypt the PKCS#12 certificate and key. When using
  PKCS#12 files and the path scheme, this property should be set to the full
  UTF-8 encoded path of the key, prefixed with the string "file://"
  and ending with a terminating NUL byte, and as with the blob scheme the
  "phase2-private-key-password" property must be set to the password
  used to decode the PKCS#12 private key and certificate.
Format: byte array
phase2-private-key-password
The password used to decrypt the "phase 2"
  private key specified in the "phase2-private-key" property when the
  private key either uses the path scheme, or is a PKCS#12 format key.
Format: string
phase2-private-key-password-flags
Flags indicating how to handle the
  "phase2-private-key-password" property. See the section called
  “Secret flag types:” for flag values.
Format: NMSettingSecretFlags (uint32)
phase2-subject-match
Substring to be matched against the subject of the
  certificate presented by the authentication server during the inner
  "phase 2" authentication. When unset, no verification of the
  authentication server certificate's subject is performed. This property
  provides little security, if any, and its use is deprecated in favor of
  NMSetting8021x:phase2-domain-suffix-match.
Format: string
pin
PIN used for EAP authentication methods.
Format: string
pin-flags
Flags indicating how to handle the "pin"
  property. See the section called “Secret flag types:” for flag
  values.
Format: NMSettingSecretFlags (uint32)
private-key
Contains the private key when the "eap"
  property is set to "tls". Key data is specified using a
  "scheme"; two are currently supported: blob and path. When using the
  blob scheme and private keys, this property should be set to the key's
  encrypted PEM encoded data. When using private keys with the path scheme, this
  property should be set to the full UTF-8 encoded path of the key, prefixed
  with the string "file://" and ending with a terminating NUL byte.
  When using PKCS#12 format private keys and the blob scheme, this property
  should be set to the PKCS#12 data and the "private-key-password"
  property must be set to password used to decrypt the PKCS#12 certificate and
  key. When using PKCS#12 files and the path scheme, this property should be set
  to the full UTF-8 encoded path of the key, prefixed with the string
  "file://" and ending with a terminating NUL byte, and as with the
  blob scheme the "private-key-password" property must be set to the
  password used to decode the PKCS#12 private key and certificate. WARNING:
  "private-key" is not a "secret" property, and thus
  unencrypted private key data using the BLOB scheme may be readable by
  unprivileged users. Private keys should always be encrypted with a private key
  password to prevent unauthorized access to unencrypted private key data.
Format: byte array
private-key-password
The password used to decrypt the private key specified in
  the "private-key" property when the private key either uses the path
  scheme, or if the private key is a PKCS#12 format key.
Format: string
private-key-password-flags
Flags indicating how to handle the
  "private-key-password" property. See the section called
  “Secret flag types:” for flag values.
Format: NMSettingSecretFlags (uint32)
subject-match
Substring to be matched against the subject of the
  certificate presented by the authentication server. When unset, no
  verification of the authentication server certificate's subject is performed.
  This property provides little security, if any, and its use is deprecated in
  favor of NMSetting8021x:domain-suffix-match.
Format: string
system-ca-certs
When TRUE, overrides the "ca-path" and
  "phase2-ca-path" properties using the system CA directory specified
  at configure time with the --system-ca-path switch. The certificates in this
  directory are added to the verification chain in addition to any certificates
  specified by the "ca-cert" and "phase2-ca-cert"
  properties. If the path provided with --system-ca-path is rather a file name
  (bundle of trusted CA certificates), it overrides "ca-cert" and
  "phase2-ca-cert" properties instead (sets ca_cert/ca_cert2 options
  for wpa_supplicant).
Format: boolean
Bridging Settings.
Properties:
ageing-time
Alias: ageing-time
The Ethernet MAC address aging time, in seconds.
Format: uint32
forward-delay
Alias: forward-delay
The Spanning Tree Protocol (STP) forwarding delay, in seconds.
Format: uint32
group-address
If specified, The MAC address of the multicast group this
  bridge uses for STP. The address must be a link-local address in standard
  Ethernet MAC address format, ie an address of the form 01:80:C2:00:00:0X, with
  X in [0, 4..F]. If not specified the default value is 01:80:C2:00:00:00.
Format: byte array
group-forward-mask
Alias: group-forward-mask
A mask of group addresses to forward. Usually, group addresses in
    the range from 01:80:C2:00:00:00 to 01:80:C2:00:00:0F are not forwarded
    according to standards. This property is a mask of 16 bits, each
    corresponding to a group address in that range that must be forwarded. The
    mask can't have bits 0, 1 or 2 set because they are used for STP, MAC pause
    frames and LACP.
Format: uint32
hello-time
Alias: hello-time
The Spanning Tree Protocol (STP) hello time, in seconds.
Format: uint32
mac-address
Alias: mac
If specified, the MAC address of bridge. When creating a new
    bridge, this MAC address will be set. If this field is left unspecified, the
    "ethernet.cloned-mac-address" is referred instead to generate the
    initial MAC address. Note that setting
    "ethernet.cloned-mac-address" anyway overwrites the MAC address of
    the bridge later while activating the bridge. Hence, this property is
    deprecated. Deprecated: 1
Format: byte array
max-age
Alias: max-age
The Spanning Tree Protocol (STP) maximum message age, in
  seconds.
Format: uint32
multicast-hash-max
Set maximum size of multicast hash table (value must be a
  power of 2).
Format: uint32
multicast-last-member-count
Set the number of queries the bridge will send before
  stopping forwarding a multicast group after a "leave" message has
  been received.
Format: uint32
multicast-last-member-interval
Set interval (in deciseconds) between queries to find
  remaining members of a group, after a "leave" message is received.
Format: uint64
multicast-membership-interval
Set delay (in deciseconds) after which the bridge will
  leave a group, if no membership reports for this group are received.
Format: uint64
multicast-querier
Enable or disable sending of multicast queries by the
  bridge. If not specified the option is disabled.
Format: boolean
multicast-querier-interval
If no queries are seen after this delay (in deciseconds)
  has passed, the bridge will start to send its own queries.
Format: uint64
multicast-query-interval
Interval (in deciseconds) between queries sent by the
  bridge after the end of the startup phase.
Format: uint64
multicast-query-response-interval
Set the Max Response Time/Max Response Delay (in
  deciseconds) for IGMP/MLD queries sent by the bridge.
Format: uint64
multicast-query-use-ifaddr
If enabled the bridge's own IP address is used as the
  source address for IGMP queries otherwise the default of 0.0.0.0 is used.
Format: boolean
multicast-router
Sets bridge's multicast router. Multicast-snooping must
  be enabled for this option to work. Supported values are: 'auto', 'disabled',
  'enabled' to which kernel assigns the numbers 1, 0, and 2, respectively. If
  not specified the default value is 'auto' (1).
Format: string
multicast-snooping
Alias: multicast-snooping
Controls whether IGMP snooping is enabled for this bridge. Note
    that if snooping was automatically disabled due to hash collisions, the
    system may refuse to enable the feature until the collisions are
  resolved.
Format: boolean
multicast-startup-query-count
Set the number of IGMP queries to send during startup
  phase.
Format: uint32
multicast-startup-query-interval
Sets the time (in deciseconds) between queries sent out
  at startup to determine membership information.
Format: uint64
priority
Alias: priority
Sets the Spanning Tree Protocol (STP) priority for this bridge.
    Lower values are "better"; the lowest priority bridge will be
    elected the root bridge.
Format: uint32
stp
Alias: stp
Controls whether Spanning Tree Protocol (STP) is enabled for this
    bridge.
Format: boolean
vlan-default-pvid
The default PVID for the ports of the bridge, that is the
  VLAN id assigned to incoming untagged frames.
Format: uint32
vlan-filtering
Control whether VLAN filtering is enabled on the bridge.
Format: boolean
vlan-protocol
If specified, the protocol used for VLAN filtering.
  Supported values are: '802.1Q', '802.1ad'. If not specified the default value
  is '802.1Q'.
Format: string
vlan-stats-enabled
Controls whether per-VLAN stats accounting is enabled.
Format: boolean
vlans
Array of bridge VLAN objects. In addition to the VLANs
  specified here, the bridge will also have the default-pvid VLAN configured by
  the bridge.vlan-default-pvid property. In nmcli the VLAN list can be specified
  with the following syntax: $vid [pvid] [untagged] [, $vid [pvid]
  [untagged]]... where $vid is either a single id between 1 and 4094 or a range,
  represented as a couple of ids separated by a dash.
Format: array of vardict
Data Center Bridging Settings.
Properties:
app-fcoe-flags
Specifies the NMSettingDcbFlags for the DCB FCoE
  application. Flags may be any combination of NM_SETTING_DCB_FLAG_ENABLE (0x1),
  NM_SETTING_DCB_FLAG_ADVERTISE (0x2), and NM_SETTING_DCB_FLAG_WILLING (0x4).
Format: NMSettingDcbFlags (uint32)
app-fcoe-mode
The FCoE controller mode; either "fabric"
  (default) or "vn2vn".
Format: string
app-fcoe-priority
The highest User Priority (0 - 7) which FCoE frames
  should use, or -1 for default priority. Only used when the
  "app-fcoe-flags" property includes the NM_SETTING_DCB_FLAG_ENABLE
  (0x1) flag.
Format: int32
app-fip-flags
Specifies the NMSettingDcbFlags for the DCB FIP
  application. Flags may be any combination of NM_SETTING_DCB_FLAG_ENABLE (0x1),
  NM_SETTING_DCB_FLAG_ADVERTISE (0x2), and NM_SETTING_DCB_FLAG_WILLING (0x4).
Format: NMSettingDcbFlags (uint32)
app-fip-priority
The highest User Priority (0 - 7) which FIP frames should
  use, or -1 for default priority. Only used when the "app-fip-flags"
  property includes the NM_SETTING_DCB_FLAG_ENABLE (0x1) flag.
Format: int32
app-iscsi-flags
Specifies the NMSettingDcbFlags for the DCB iSCSI
  application. Flags may be any combination of NM_SETTING_DCB_FLAG_ENABLE (0x1),
  NM_SETTING_DCB_FLAG_ADVERTISE (0x2), and NM_SETTING_DCB_FLAG_WILLING (0x4).
Format: NMSettingDcbFlags (uint32)
app-iscsi-priority
The highest User Priority (0 - 7) which iSCSI frames
  should use, or -1 for default priority. Only used when the
  "app-iscsi-flags" property includes the NM_SETTING_DCB_FLAG_ENABLE
  (0x1) flag.
Format: int32
priority-bandwidth
An array of 8 uint values, where the array index
  corresponds to the User Priority (0 - 7) and the value indicates the
  percentage of bandwidth of the priority's assigned group that the priority may
  use. The sum of all percentages for priorities which belong to the same group
  must total 100 percents.
Format: array of uint32
priority-flow-control
An array of 8 boolean values, where the array index
  corresponds to the User Priority (0 - 7) and the value indicates whether or
  not the corresponding priority should transmit priority pause.
Format: array of uint32
priority-flow-control-flags
Specifies the NMSettingDcbFlags for DCB Priority Flow
  Control (PFC). Flags may be any combination of NM_SETTING_DCB_FLAG_ENABLE
  (0x1), NM_SETTING_DCB_FLAG_ADVERTISE (0x2), and NM_SETTING_DCB_FLAG_WILLING
  (0x4).
Format: NMSettingDcbFlags (uint32)
priority-group-bandwidth
An array of 8 uint values, where the array index
  corresponds to the Priority Group ID (0 - 7) and the value indicates the
  percentage of link bandwidth allocated to that group. Allowed values are 0 -
  100, and the sum of all values must total 100 percents.
Format: array of uint32
priority-group-flags
Specifies the NMSettingDcbFlags for DCB Priority Groups.
  Flags may be any combination of NM_SETTING_DCB_FLAG_ENABLE (0x1),
  NM_SETTING_DCB_FLAG_ADVERTISE (0x2), and NM_SETTING_DCB_FLAG_WILLING (0x4).
Format: NMSettingDcbFlags (uint32)
priority-group-id
An array of 8 uint values, where the array index
  corresponds to the User Priority (0 - 7) and the value indicates the Priority
  Group ID. Allowed Priority Group ID values are 0 - 7 or 15 for the
  unrestricted group.
Format: array of uint32
priority-strict-bandwidth
An array of 8 boolean values, where the array index
  corresponds to the User Priority (0 - 7) and the value indicates whether or
  not the priority may use all of the bandwidth allocated to its assigned group.
Format: array of uint32
priority-traffic-class
An array of 8 uint values, where the array index
  corresponds to the User Priority (0 - 7) and the value indicates the traffic
  class (0 - 7) to which the priority is mapped.
Format: array of uint32
Ethtool Ethernet Settings.
Properties:
coalesce-adaptive-rx
coalesce-adaptive-tx
coalesce-pkt-rate-high
coalesce-pkt-rate-low
coalesce-rx-frames
coalesce-rx-frames-high
coalesce-rx-frames-irq
coalesce-rx-frames-low
coalesce-rx-usecs
coalesce-rx-usecs-high
coalesce-rx-usecs-irq
coalesce-rx-usecs-low
coalesce-sample-interval
coalesce-stats-block-usecs
coalesce-tx-frames
coalesce-tx-frames-high
coalesce-tx-frames-irq
coalesce-tx-frames-low
coalesce-tx-usecs
coalesce-tx-usecs-high
coalesce-tx-usecs-irq
coalesce-tx-usecs-low
feature-esp-hw-offload
feature-esp-tx-csum-hw-offload
feature-fcoe-mtu
feature-gro
feature-gso
feature-highdma
feature-hw-tc-offload
feature-l2-fwd-offload
feature-loopback
feature-lro
feature-macsec-hw-offload
feature-ntuple
feature-rx
feature-rx-all
feature-rx-fcs
feature-rx-gro-hw
feature-rx-gro-list
feature-rx-udp-gro-forwarding
feature-rx-udp_tunnel-port-offload
feature-rx-vlan-filter
feature-rx-vlan-stag-filter
feature-rx-vlan-stag-hw-parse
feature-rxhash
feature-rxvlan
feature-sg
feature-tls-hw-record
feature-tls-hw-rx-offload
feature-tls-hw-tx-offload
feature-tso
feature-tx
feature-tx-checksum-fcoe-crc
feature-tx-checksum-ip-generic
feature-tx-checksum-ipv4
feature-tx-checksum-ipv6
feature-tx-checksum-sctp
feature-tx-esp-segmentation
feature-tx-fcoe-segmentation
feature-tx-gre-csum-segmentation
feature-tx-gre-segmentation
feature-tx-gso-list
feature-tx-gso-partial
feature-tx-gso-robust
feature-tx-ipxip4-segmentation
feature-tx-ipxip6-segmentation
feature-tx-nocache-copy
feature-tx-scatter-gather
feature-tx-scatter-gather-fraglist
feature-tx-sctp-segmentation
feature-tx-tcp-ecn-segmentation
feature-tx-tcp-mangleid-segmentation
feature-tx-tcp-segmentation
feature-tx-tcp6-segmentation
feature-tx-tunnel-remcsum-segmentation
feature-tx-udp-segmentation
feature-tx-udp_tnl-csum-segmentation
feature-tx-udp_tnl-segmentation
feature-tx-vlan-stag-hw-insert
feature-txvlan
ring-rx
ring-rx-jumbo
ring-rx-mini
ring-tx
GSM-based Mobile Broadband Settings.
Properties:
apn
Alias: apn
The GPRS Access Point Name specifying the APN used when
    establishing a data session with the GSM-based network. The APN often
    determines how the user will be billed for their network usage and whether
    the user has access to the Internet or just a provider-specific
    walled-garden, so it is important to use the correct APN for the user's
    mobile broadband plan. The APN may only be composed of the characters a-z,
    0-9, ., and - per GSM 03.60 Section 14.9.
Format: string
auto-config
When TRUE, the settings such as APN, username, or
  password will default to values that match the network the modem will register
  to in the Mobile Broadband Provider database.
Format: boolean
device-id
The device unique identifier (as given by the WWAN
  management service) which this connection applies to. If given, the connection
  will only apply to the specified device.
Format: string
home-only
When TRUE, only connections to the home network will be
  allowed. Connections to roaming networks will not be made.
Format: boolean
mtu
If non-zero, only transmit packets of the specified size
  or smaller, breaking larger packets up into multiple frames.
Format: uint32
network-id
The Network ID (GSM LAI format, ie MCC-MNC) to force
  specific network registration. If the Network ID is specified, NetworkManager
  will attempt to force the device to register only on the specified network.
  This can be used to ensure that the device does not roam when direct roaming
  control of the device is not otherwise possible.
Format: string
number
Legacy setting that used to help establishing PPP data
  sessions for GSM-based modems. Deprecated: 1
Format: string
password
Alias: password
The password used to authenticate with the network, if required.
    Many providers do not require a password, or accept any password. But if a
    password is required, it is specified here.
Format: string
password-flags
Flags indicating how to handle the "password"
  property. See the section called “Secret flag types:” for flag
  values.
Format: NMSettingSecretFlags (uint32)
pin
If the SIM is locked with a PIN it must be unlocked
  before any other operations are requested. Specify the PIN here to allow
  operation of the device.
Format: string
pin-flags
Flags indicating how to handle the "pin"
  property. See the section called “Secret flag types:” for flag
  values.
Format: NMSettingSecretFlags (uint32)
sim-id
The SIM card unique identifier (as given by the WWAN
  management service) which this connection applies to. If given, the connection
  will apply to any device also allowed by "device-id" which contains
  a SIM card matching the given identifier.
Format: string
sim-operator-id
A MCC/MNC string like "310260" or
  "21601" identifying the specific mobile network operator which this
  connection applies to. If given, the connection will apply to any device also
  allowed by "device-id" and "sim-id" which contains a SIM
  card provisioned by the given operator.
Format: string
username
Alias: user
The username used to authenticate with the network, if required.
    Many providers do not require a username, or accept any username. But if a
    username is required, it is specified here.
Format: string
IPv4 Settings.
Properties:
addresses
Alias: ip4
Array of IP addresses.
Format: array of array of uint32
dad-timeout
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.
Format: int32
dhcp-client-id
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.
Format: string
dhcp-fqdn
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.
Format: string
dhcp-hostname
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.
Format: string
dhcp-hostname-flags
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.
Format: uint32
dhcp-iaid
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.
Format: string
dhcp-reject-servers
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.
Format: array of string
dhcp-send-hostname
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.
Format: boolean
dhcp-timeout
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.
Format: int32
dhcp-vendor-class-identifier
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
Format: string
dns
Array of IP addresses of DNS servers.
Format: array of uint32
dns-options
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.
Format: array of string
dns-priority
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.
Format: int32
dns-search
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.
Format: array of string
gateway
Alias: gw4
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.
Format: string
ignore-auto-dns
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.
Format: boolean
ignore-auto-routes
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.
Format: boolean
may-fail
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.
Format: boolean
method
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.
Format: string
never-default
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.
Format: boolean
route-metric
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.
Format: int64
route-table
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.
Format: uint32
routes
Array of IP routes.
Format: array of array of uint32
routing-rules
IPv6 Settings.
Properties:
addr-gen-mode
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.
Format: int32
addresses
Alias: ip6
Array of IP addresses.
Format: array of legacy IPv6 address struct
dhcp-duid
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.
Format: string
dhcp-hostname
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.
Format: string
dhcp-hostname-flags
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.
Format: uint32
dhcp-iaid
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.
Format: string
dhcp-send-hostname
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.
Format: boolean
dhcp-timeout
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.
Format: int32
dns
Array of IP addresses of DNS servers.
Format: array of byte array
dns-options
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.
Format: array of string
dns-priority
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.
Format: int32
dns-search
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.
Format: array of string
gateway
Alias: gw6
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.
Format: string
ignore-auto-dns
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.
Format: boolean
ignore-auto-routes
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.
Format: boolean
ip6-privacy
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.
Format: NMSettingIP6ConfigPrivacy (int32)
may-fail
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.
Format: boolean
method
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.
Format: string
never-default
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.
Format: boolean
ra-timeout
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.
Format: int32
route-metric
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.
Format: int64
route-table
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.
Format: uint32
routes
Array of IP routes.
Format: array of legacy IPv6 route struct
routing-rules
token
Configure the token for
  draft-chown-6man-tokenised-ipv6-identifiers-02 IPv6 tokenized interface
  identifiers. Useful with eui64 addr-gen-mode.
Format: string
Point-to-Point Protocol Settings.
Properties:
baud
If non-zero, instruct pppd to set the serial port to the
  specified baudrate. This value should normally be left as 0 to automatically
  choose the speed.
Format: uint32
crtscts
If TRUE, specify that pppd should set the serial port to
  use hardware flow control with RTS and CTS signals. This value should normally
  be set to FALSE.
Format: boolean
lcp-echo-failure
If non-zero, instruct pppd to presume the connection to
  the peer has failed if the specified number of LCP echo-requests go unanswered
  by the peer. The "lcp-echo-interval" property must also be set to a
  non-zero value if this property is used.
Format: uint32
lcp-echo-interval
If non-zero, instruct pppd to send an LCP echo-request
  frame to the peer every n seconds (where n is the specified value). Note that
  some PPP peers will respond to echo requests and some will not, and it is not
  possible to autodetect this.
Format: uint32
mppe-stateful
If TRUE, stateful MPPE is used. See pppd documentation
  for more information on stateful MPPE.
Format: boolean
mru
If non-zero, instruct pppd to request that the peer send
  packets no larger than the specified size. If non-zero, the MRU should be
  between 128 and 16384.
Format: uint32
mtu
If non-zero, instruct pppd to send packets no larger than
  the specified size.
Format: uint32
no-vj-comp
If TRUE, Van Jacobsen TCP header compression will not be
  requested.
Format: boolean
noauth
If TRUE, do not require the other side (usually the PPP
  server) to authenticate itself to the client. If FALSE, require authentication
  from the remote side. In almost all cases, this should be TRUE.
Format: boolean
nobsdcomp
If TRUE, BSD compression will not be requested.
Format: boolean
nodeflate
If TRUE, "deflate" compression will not be
  requested.
Format: boolean
refuse-chap
If TRUE, the CHAP authentication method will not be used.
Format: boolean
refuse-eap
If TRUE, the EAP authentication method will not be used.
Format: boolean
refuse-mschap
If TRUE, the MSCHAP authentication method will not be
  used.
Format: boolean
refuse-mschapv2
If TRUE, the MSCHAPv2 authentication method will not be
  used.
Format: boolean
refuse-pap
If TRUE, the PAP authentication method will not be used.
Format: boolean
require-mppe
If TRUE, MPPE (Microsoft Point-to-Point Encryption) will
  be required for the PPP session. If either 64-bit or 128-bit MPPE is not
  available the session will fail. Note that MPPE is not used on mobile
  broadband connections.
Format: boolean
require-mppe-128
If TRUE, 128-bit MPPE (Microsoft Point-to-Point
  Encryption) will be required for the PPP session, and the
  "require-mppe" property must also be set to TRUE. If 128-bit MPPE is
  not available the session will fail.
Format: boolean
802-3-ethernet setting
Alias: ethernet
Wired Ethernet Settings.
Properties:
auto-negotiate
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.
Format: boolean
cloned-mac-address
Alias: cloned-mac
If specified, request that the device use this MAC address
    instead. This is known as MAC cloning or spoofing. Beside explicitly
    specifying a MAC address, the special values "preserve",
    "permanent", "random" and "stable" are
    supported. "preserve" means not to touch the MAC address on
    activation. "permanent" means to use the permanent hardware
    address if the device has one (otherwise this is treated as
    "preserve"). "random" creates a random MAC address on
    each connect. "stable" creates a hashed MAC address based on
    connection.stable-id and a machine dependent key. If unspecified, the value
    can be overwritten via global defaults, see manual of NetworkManager.conf.
    If still unspecified, it defaults to "preserve" (older versions of
    NetworkManager may use a different default value). On D-Bus, this field is
    expressed as "assigned-mac-address" or the deprecated
    "cloned-mac-address".
Format: byte array
duplex
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.
Format: string
generate-mac-address-mask
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.
Format: string
mac-address
Alias: mac
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).
Format: byte array
mac-address-blacklist
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).
Format: array of string
mtu
Alias: mtu
If non-zero, only transmit packets of the specified size or
    smaller, breaking larger packets up into multiple Ethernet frames.
Format: uint32
port
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.
Format: string
s390-nettype
s390 network device type; one of "qeth",
  "lcs", or "ctc", representing the different types of
  virtual network devices available on s390 systems.
Format: string
s390-options
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]).
Format: dict of string to string
s390-subchannels
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.
Format: array of string
speed
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.
Format: uint32
wake-on-lan
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).
Format: uint32
wake-on-lan-password
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.
Format: string
802-11-wireless setting
Alias: wifi
Wi-Fi Settings.
Properties:
ap-isolation
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).
Format: NMTernary (int32)
band
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.
Format: string
bssid
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.
Format: byte array
channel
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.
Format: uint32
cloned-mac-address
Alias: cloned-mac
If specified, request that the device use this MAC address
    instead. This is known as MAC cloning or spoofing. Beside explicitly
    specifying a MAC address, the special values "preserve",
    "permanent", "random" and "stable" are
    supported. "preserve" means not to touch the MAC address on
    activation. "permanent" means to use the permanent hardware
    address of the device. "random" creates a random MAC address on
    each connect. "stable" creates a hashed MAC address based on
    connection.stable-id and a machine dependent key. If unspecified, the value
    can be overwritten via global defaults, see manual of NetworkManager.conf.
    If still unspecified, it defaults to "preserve" (older versions of
    NetworkManager may use a different default value). On D-Bus, this field is
    expressed as "assigned-mac-address" or the deprecated
    "cloned-mac-address".
Format: byte array
generate-mac-address-mask
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.
Format: string
hidden
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.
Format: boolean
mac-address
Alias: mac
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).
Format: byte array
mac-address-blacklist
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").
Format: array of string
mac-address-randomization
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
Format: uint32
mode
Alias: mode
Wi-Fi network mode; one of "infrastructure",
    "mesh", "adhoc" or "ap". If blank,
    infrastructure is assumed.
Format: string
mtu
Alias: mtu
If non-zero, only transmit packets of the specified size or
    smaller, breaking larger packets up into multiple Ethernet frames.
Format: uint32
powersave
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.
Format: uint32
rate
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.
Format: uint32
seen-bssids
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.
Format: array of string
ssid
Alias: ssid
SSID of the Wi-Fi network. Must be specified.
Format: byte array
tx-power
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.
Format: uint32
wake-on-wlan
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).
Format: uint32
802-11-wireless-security setting
Alias: wifi-sec
Wi-Fi Security Settings.
Properties:
auth-alg
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.
Format: string
fils
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.
Format: int32
group
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".
Format: array of string
key-mgmt
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.
Format: string
leap-password
The login password for legacy LEAP connections (ie,
  key-mgmt = "ieee8021x" and auth-alg = "leap").
Format: string
leap-password-flags
Flags indicating how to handle the
  "leap-password" property. See the section called “Secret flag
  types:” for flag values.
Format: NMSettingSecretFlags (uint32)
leap-username
The login username for legacy LEAP connections (ie,
  key-mgmt = "ieee8021x" and auth-alg = "leap").
Format: string
pairwise
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".
Format: array of string
pmf
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.
Format: int32
proto
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.
Format: array of string
psk
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.
Format: string
psk-flags
Flags indicating how to handle the "psk"
  property. See the section called “Secret flag types:” for flag
  values.
Format: NMSettingSecretFlags (uint32)
wep-key-flags
Flags indicating how to handle the "wep-key0",
  "wep-key1", "wep-key2", and "wep-key3"
  properties. See the section called “Secret flag types:” for flag
  values.
Format: NMSettingSecretFlags (uint32)
wep-key-type
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.
Format: NMWepKeyType (uint32)
wep-key0
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.
Format: string
wep-key1
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.
Format: string
wep-key2
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.
Format: string
wep-key3
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.
Format: string
wep-tx-keyidx
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.
Format: uint32
wps-method
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.
Format: uint32