summary refs log tree commit diff
path: root/src/libnm-core-public
diff options
context:
space:
mode:
Diffstat (limited to 'src/libnm-core-public')
-rw-r--r--src/libnm-core-public/nm-dbus-interface.h34
-rw-r--r--src/libnm-core-public/nm-dbus-types.xml2361
-rw-r--r--src/libnm-core-public/nm-setting-8021x.h3
-rw-r--r--src/libnm-core-public/nm-setting-connection.h22
-rw-r--r--src/libnm-core-public/nm-setting-ip-config.h3
-rw-r--r--src/libnm-core-public/nm-setting-ip6-config.h8
-rw-r--r--src/libnm-core-public/nm-setting-wired.h25
-rw-r--r--src/libnm-core-public/nm-setting-wireless.h29
-rw-r--r--src/libnm-core-public/nm-version-macros.h98
-rw-r--r--src/libnm-core-public/nm-version-macros.h.in1
-rw-r--r--src/libnm-core-public/nm-version.h14
-rw-r--r--src/libnm-core-public/nm-vpn-dbus-types.xml246
12 files changed, 129 insertions, 2715 deletions
diff --git a/src/libnm-core-public/nm-dbus-interface.h b/src/libnm-core-public/nm-dbus-interface.h
index 66cd590d..cf6e8090 100644
--- a/src/libnm-core-public/nm-dbus-interface.h
+++ b/src/libnm-core-public/nm-dbus-interface.h
@@ -612,6 +612,25 @@ typedef enum {
  * @NM_DEVICE_STATE_REASON_PEER_NOT_FOUND: The Wi-Fi P2P peer could not be found
  * @NM_DEVICE_STATE_REASON_DEVICE_HANDLER_FAILED: The device handler dispatcher returned an
  *   error. Since: 1.46
+ * @NM_DEVICE_STATE_REASON_UNMANAGED_BY_DEFAULT: The device is unmanaged because the device type
+ *   is unmanaged by default. Since: 1.48
+ * @NM_DEVICE_STATE_REASON_UNMANAGED_EXTERNAL_DOWN: The device is unmanaged because it is an
+ *   external device and is unconfigured (down or without addresses). Since: 1.48
+ * @NM_DEVICE_STATE_REASON_UNMANAGED_LINK_NOT_INIT: The device is unmanaged because the link is
+ *   not initialized by udev. Since: 1.48
+ * @NM_DEVICE_STATE_REASON_UNMANAGED_QUITTING: The device is unmanaged because NetworkManager is
+ *   quitting. Since: 1.48
+ * @NM_DEVICE_STATE_REASON_UNMANAGED_SLEEPING: The device is unmanaged because networking is
+ *   disabled or the system is suspended. Since: 1.48
+ * @NM_DEVICE_STATE_REASON_UNMANAGED_USER_CONF: The device is unmanaged by user decision in
+ *   NetworkManager.conf ('unmanaged' in a [device*] section). Since: 1.48
+ * @NM_DEVICE_STATE_REASON_UNMANAGED_USER_EXPLICIT: The device is unmanaged by explicit user
+ *   decision (e.g. 'nmcli device set $DEV managed no'). Since: 1.48
+ * @NM_DEVICE_STATE_REASON_UNMANAGED_USER_SETTINGS: The device is unmanaged by user decision
+ *   via settings plugin ('unmanaged-devices' for keyfile or 'NM_CONTROLLED=no' for ifcfg-rh).
+ *   Since: 1.48
+ * @NM_DEVICE_STATE_REASON_UNMANAGED_USER_UDEV: The device is unmanaged via udev rule. Since: 1.48
+
  *
  * Device state change reason codes
  */
@@ -685,6 +704,15 @@ typedef enum {
     NM_DEVICE_STATE_REASON_SRIOV_CONFIGURATION_FAILED     = 66,
     NM_DEVICE_STATE_REASON_PEER_NOT_FOUND                 = 67,
     NM_DEVICE_STATE_REASON_DEVICE_HANDLER_FAILED          = 68,
+    NM_DEVICE_STATE_REASON_UNMANAGED_BY_DEFAULT           = 69,
+    NM_DEVICE_STATE_REASON_UNMANAGED_EXTERNAL_DOWN        = 70,
+    NM_DEVICE_STATE_REASON_UNMANAGED_LINK_NOT_INIT        = 71,
+    NM_DEVICE_STATE_REASON_UNMANAGED_QUITTING             = 72,
+    NM_DEVICE_STATE_REASON_UNMANAGED_SLEEPING             = 73,
+    NM_DEVICE_STATE_REASON_UNMANAGED_USER_CONF            = 74,
+    NM_DEVICE_STATE_REASON_UNMANAGED_USER_EXPLICIT        = 75,
+    NM_DEVICE_STATE_REASON_UNMANAGED_USER_SETTINGS        = 76,
+    NM_DEVICE_STATE_REASON_UNMANAGED_USER_UDEV            = 77,
 } NMDeviceStateReason;
 
 /**
@@ -991,6 +1019,11 @@ typedef enum {
  *   With this flag, the rollback detaches all external ports.
  *   This only has an effect for bridge ports. Before 1.38, this was the default
  *   behavior. Since: 1.38.
+ * @NM_CHECKPOINT_CREATE_FLAG_TRACK_INTERNAL_GLOBAL_DNS: during rollback,
+ *   by default changes to global DNS via D-BUS interface are preserved.
+ *   With this flag, the rollback reverts the global DNS changes made via D-Bus
+ *   interface. Global DNS defined in [global-dns] section of
+ *   NetworkManager.conf is not impacted by this flag. Since: 1.48.
  *
  * The flags for CheckpointCreate call
  *
@@ -1003,6 +1036,7 @@ typedef enum /*< flags >*/ {
     NM_CHECKPOINT_CREATE_FLAG_DISCONNECT_NEW_DEVICES     = 0x04,
     NM_CHECKPOINT_CREATE_FLAG_ALLOW_OVERLAPPING          = 0x08,
     NM_CHECKPOINT_CREATE_FLAG_NO_PRESERVE_EXTERNAL_PORTS = 0x10,
+    NM_CHECKPOINT_CREATE_FLAG_TRACK_INTERNAL_GLOBAL_DNS  = 0x20,
 } NMCheckpointCreateFlags;
 
 /**
diff --git a/src/libnm-core-public/nm-dbus-types.xml b/src/libnm-core-public/nm-dbus-types.xml
deleted file mode 100644
index d294453d..00000000
--- a/src/libnm-core-public/nm-dbus-types.xml
+++ /dev/null
@@ -1,2361 +0,0 @@
-<?xml version='1.0'?>
-<?xml-stylesheet type="text/xsl" href="http://docbook.sourceforge.net/release/xsl/current/xhtml/docbook.xsl"?>
-<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
-
-<refentry id="nm-dbus-types">
-  <refmeta>
-    <refentrytitle role="top_of_page" id="nm-dbus-types.top_of_page">NetworkManager D-Bus API Types</refentrytitle>
-    <manvolnum>3</manvolnum>
-    <refmiscinfo>NetworkManager D-Bus API Types</refmiscinfo>
-  </refmeta>
-  <refnamediv>
-    <refname>NetworkManager D-Bus API Types</refname>
-    <refpurpose></refpurpose>
-  </refnamediv>
-
-  <refsect2 id="NMVersionInfoCapability" role="enum">
-    <title>enum NMVersionInfoCapability</title>
-    <indexterm zone="NMVersionInfoCapability">
-      <primary>NMVersionInfoCapability</primary>
-    </indexterm>
-    <para><para>%_NM_VERSION_INFO_CAPABILITY_UNUSED: a dummy capability. It has no meaning, don't use it.</para><para>Currently no enum values are defined. These capabilities are exposed on D-Bus in the "VersionInfo" bit field.</para><para>Since: 1.42</para><para></para></para>
-    <refsect3 role="enum_members">
-      <title>Values</title>
-      <informaltable role="enum_members_table" pgwide="1" frame="none">
-        <tgroup cols="4">
-          <colspec colname="enum_members_name" colwidth="300px" />
-          <colspec colname="enum_members_value" colwidth="100px"/>
-          <colspec colname="enum_members_description" />
-          <tbody>
-          </tbody>
-        </tgroup>
-      </informaltable>
-    </refsect3>
-  </refsect2>
-
-  <refsect2 id="NMCapability" role="enum">
-    <title>enum NMCapability</title>
-    <indexterm zone="NMCapability">
-      <primary>NMCapability</primary>
-    </indexterm>
-    <para><para><link linkend="NMCapability">NMCapability</link> names the numbers in the Capabilities property. Capabilities are positive numbers. They are part of stable API and a certain capability number is guaranteed not to change.</para><para>The range 0x7000 - 0x7FFF of capabilities is guaranteed not to be used by upstream NetworkManager. It could thus be used for downstream extensions.</para><para>Since: 1.6</para><para></para></para>
-    <refsect3 role="enum_members">
-      <title>Values</title>
-      <informaltable role="enum_members_table" pgwide="1" frame="none">
-        <tgroup cols="4">
-          <colspec colname="enum_members_name" colwidth="300px" />
-          <colspec colname="enum_members_value" colwidth="100px"/>
-          <colspec colname="enum_members_description" />
-          <tbody>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_CAPABILITY_TEAM</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>1</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>Teams can be managed. This means the team device plugin is loaded.</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_CAPABILITY_OVS</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>2</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>OpenVSwitch can be managed. This means the OVS device plugin is loaded. Since: 1.24.</para><para></para></entry>
-            </row>
-          </tbody>
-        </tgroup>
-      </informaltable>
-    </refsect3>
-  </refsect2>
-
-  <refsect2 id="NMState" role="enum">
-    <title>enum NMState</title>
-    <indexterm zone="NMState">
-      <primary>NMState</primary>
-    </indexterm>
-    <para><para><link linkend="NMState">NMState</link> values indicate the current overall networking state.</para><para></para></para>
-    <refsect3 role="enum_members">
-      <title>Values</title>
-      <informaltable role="enum_members_table" pgwide="1" frame="none">
-        <tgroup cols="4">
-          <colspec colname="enum_members_name" colwidth="300px" />
-          <colspec colname="enum_members_value" colwidth="100px"/>
-          <colspec colname="enum_members_description" />
-          <tbody>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_STATE_UNKNOWN</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>0</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>Networking state is unknown. This indicates a daemon error that makes it unable to reasonably assess the state. In such event the applications are expected to assume Internet connectivity might be present and not disable controls that require network access. The graphical shells may hide the network accessibility indicator altogether since no meaningful status indication can be provided.</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_STATE_ASLEEP</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>10</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>Networking is not enabled, the system is being suspended or resumed from suspend.</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_STATE_DISCONNECTED</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>20</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>There is no active network connection. The graphical shell should indicate  no network connectivity and the applications should not attempt to access the network.</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_STATE_DISCONNECTING</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>30</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>Network connections are being cleaned up. The applications should tear down their network sessions.</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_STATE_CONNECTING</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>40</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>A network connection is being started The graphical shell should indicate the network is being connected while the applications should still make no attempts to connect the network.</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_STATE_CONNECTED_LOCAL</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>50</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>There is only local IPv4 and/or IPv6 connectivity, but no default route to access the Internet. The graphical shell should indicate no network connectivity.</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_STATE_CONNECTED_SITE</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>60</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>There is only site-wide IPv4 and/or IPv6 connectivity. This means a default route is available, but the Internet connectivity check (see "Connectivity" property) did not succeed. The graphical shell should indicate limited network connectivity.</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_STATE_CONNECTED_GLOBAL</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>70</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>There is global IPv4 and/or IPv6 Internet connectivity This means the Internet connectivity check succeeded, the graphical shell should indicate full network connectivity.</para><para></para></entry>
-            </row>
-          </tbody>
-        </tgroup>
-      </informaltable>
-    </refsect3>
-  </refsect2>
-
-  <refsect2 id="NMConnectivityState" role="enum">
-    <title>enum NMConnectivityState</title>
-    <indexterm zone="NMConnectivityState">
-      <primary>NMConnectivityState</primary>
-    </indexterm>
-    <para><para></para></para>
-    <refsect3 role="enum_members">
-      <title>Values</title>
-      <informaltable role="enum_members_table" pgwide="1" frame="none">
-        <tgroup cols="4">
-          <colspec colname="enum_members_name" colwidth="300px" />
-          <colspec colname="enum_members_value" colwidth="100px"/>
-          <colspec colname="enum_members_description" />
-          <tbody>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_CONNECTIVITY_UNKNOWN</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>0</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>Network connectivity is unknown. This means the connectivity checks are disabled (e.g. on server installations) or has not run yet. The graphical shell should assume the Internet connection might be available and not present a captive portal window.</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_CONNECTIVITY_NONE</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>1</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>The host is not connected to any network. There's no active connection that contains a default route to the internet and thus it makes no sense to even attempt a connectivity check. The graphical shell should use this state to indicate the network connection is unavailable.</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_CONNECTIVITY_PORTAL</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>2</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>The Internet connection is hijacked by a captive portal gateway. The graphical shell may open a sandboxed web browser window (because the captive portals typically attempt a man-in-the-middle attacks against the https connections) for the purpose of authenticating to a gateway and retrigger the connectivity check with CheckConnectivity() when the browser window is dismissed.</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_CONNECTIVITY_LIMITED</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>3</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>The host is connected to a network, does not appear to be able to reach the full Internet, but a captive portal has not been detected.</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_CONNECTIVITY_FULL</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>4</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>The host is connected to a network, and appears to be able to reach the full Internet.</para><para></para></entry>
-            </row>
-          </tbody>
-        </tgroup>
-      </informaltable>
-    </refsect3>
-  </refsect2>
-
-  <refsect2 id="NMDeviceType" role="enum">
-    <title>enum NMDeviceType</title>
-    <indexterm zone="NMDeviceType">
-      <primary>NMDeviceType</primary>
-    </indexterm>
-    <para><para><link linkend="NMDeviceType">NMDeviceType</link> values indicate the type of hardware represented by a device object.</para><para></para></para>
-    <refsect3 role="enum_members">
-      <title>Values</title>
-      <informaltable role="enum_members_table" pgwide="1" frame="none">
-        <tgroup cols="4">
-          <colspec colname="enum_members_name" colwidth="300px" />
-          <colspec colname="enum_members_value" colwidth="100px"/>
-          <colspec colname="enum_members_description" />
-          <tbody>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_DEVICE_TYPE_UNKNOWN</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>0</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>unknown device</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_DEVICE_TYPE_GENERIC</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>14</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>generic support for unrecognized device types</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_DEVICE_TYPE_ETHERNET</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>1</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>a wired ethernet device</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_DEVICE_TYPE_WIFI</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>2</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>an 802.11 Wi-Fi device</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_DEVICE_TYPE_UNUSED1</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>3</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>not used</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_DEVICE_TYPE_UNUSED2</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>4</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>not used</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_DEVICE_TYPE_BT</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>5</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>a Bluetooth device supporting PAN or DUN access protocols</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_DEVICE_TYPE_OLPC_MESH</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>6</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>an OLPC XO mesh networking device</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_DEVICE_TYPE_WIMAX</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>7</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>an 802.16e Mobile WiMAX broadband device</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_DEVICE_TYPE_MODEM</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>8</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>a modem supporting analog telephone, CDMA/EVDO, GSM/UMTS, or LTE network access protocols</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_DEVICE_TYPE_INFINIBAND</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>9</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>an IP-over-InfiniBand device</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_DEVICE_TYPE_BOND</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>10</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>a bond master interface</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_DEVICE_TYPE_VLAN</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>11</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>an 802.1Q VLAN interface</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_DEVICE_TYPE_ADSL</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>12</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>ADSL modem</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_DEVICE_TYPE_BRIDGE</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>13</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>a bridge master interface</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_DEVICE_TYPE_TEAM</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>15</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>a team master interface</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_DEVICE_TYPE_TUN</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>16</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>a TUN or TAP interface</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_DEVICE_TYPE_IP_TUNNEL</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>17</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>a IP tunnel interface</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_DEVICE_TYPE_MACVLAN</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>18</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>a MACVLAN interface</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_DEVICE_TYPE_VXLAN</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>19</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>a VXLAN interface</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_DEVICE_TYPE_VETH</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>20</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>a VETH interface</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_DEVICE_TYPE_MACSEC</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>21</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>a MACsec interface</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_DEVICE_TYPE_DUMMY</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>22</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>a dummy interface</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_DEVICE_TYPE_PPP</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>23</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>a PPP interface</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_DEVICE_TYPE_OVS_INTERFACE</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>24</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>a Open vSwitch interface</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_DEVICE_TYPE_OVS_PORT</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>25</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>a Open vSwitch port</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_DEVICE_TYPE_OVS_BRIDGE</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>26</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>a Open vSwitch bridge</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_DEVICE_TYPE_WPAN</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>27</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>a IEEE 802.15.4 (WPAN) MAC Layer Device</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_DEVICE_TYPE_6LOWPAN</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>28</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>6LoWPAN interface</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_DEVICE_TYPE_WIREGUARD</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>29</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>a WireGuard interface</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_DEVICE_TYPE_WIFI_P2P</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>30</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>an 802.11 Wi-Fi P2P device. Since: 1.16.</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_DEVICE_TYPE_VRF</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>31</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>A VRF (Virtual Routing and Forwarding) interface. Since: 1.24.</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_DEVICE_TYPE_LOOPBACK</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>32</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>a loopback interface. Since: 1.42.</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_DEVICE_TYPE_HSR</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>33</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>A HSR/PRP device. Since: 1.46.</para><para></para></entry>
-            </row>
-          </tbody>
-        </tgroup>
-      </informaltable>
-    </refsect3>
-  </refsect2>
-
-  <refsect2 id="NMDeviceCapabilities" role="enum">
-    <title>enum NMDeviceCapabilities</title>
-    <indexterm zone="NMDeviceCapabilities">
-      <primary>NMDeviceCapabilities</primary>
-    </indexterm>
-    <para><para>General device capability flags.</para><para></para></para>
-    <refsect3 role="enum_members">
-      <title>Values</title>
-      <informaltable role="enum_members_table" pgwide="1" frame="none">
-        <tgroup cols="4">
-          <colspec colname="enum_members_name" colwidth="300px" />
-          <colspec colname="enum_members_value" colwidth="100px"/>
-          <colspec colname="enum_members_description" />
-          <tbody>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_DEVICE_CAP_NONE</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>0x00000000</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>device has no special capabilities</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_DEVICE_CAP_NM_SUPPORTED</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>0x00000001</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>NetworkManager supports this device</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_DEVICE_CAP_CARRIER_DETECT</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>0x00000002</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>this device can indicate carrier status</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_DEVICE_CAP_IS_SOFTWARE</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>0x00000004</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>this device is a software device</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_DEVICE_CAP_SRIOV</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>0x00000008</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>this device supports single-root I/O virtualization</para><para></para></entry>
-            </row>
-          </tbody>
-        </tgroup>
-      </informaltable>
-    </refsect3>
-  </refsect2>
-
-  <refsect2 id="NMDeviceWifiCapabilities" role="enum">
-    <title>enum NMDeviceWifiCapabilities</title>
-    <indexterm zone="NMDeviceWifiCapabilities">
-      <primary>NMDeviceWifiCapabilities</primary>
-    </indexterm>
-    <para><para>802.11 specific device encryption and authentication capabilities.</para><para></para></para>
-    <refsect3 role="enum_members">
-      <title>Values</title>
-      <informaltable role="enum_members_table" pgwide="1" frame="none">
-        <tgroup cols="4">
-          <colspec colname="enum_members_name" colwidth="300px" />
-          <colspec colname="enum_members_value" colwidth="100px"/>
-          <colspec colname="enum_members_description" />
-          <tbody>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_WIFI_DEVICE_CAP_NONE</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>0x00000000</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>device has no encryption/authentication capabilities</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_WIFI_DEVICE_CAP_CIPHER_WEP40</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>0x00000001</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>device supports 40/64-bit WEP encryption</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_WIFI_DEVICE_CAP_CIPHER_WEP104</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>0x00000002</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>device supports 104/128-bit WEP encryption</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_WIFI_DEVICE_CAP_CIPHER_TKIP</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>0x00000004</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>device supports TKIP encryption</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_WIFI_DEVICE_CAP_CIPHER_CCMP</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>0x00000008</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>device supports AES/CCMP encryption</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_WIFI_DEVICE_CAP_WPA</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>0x00000010</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>device supports WPA1 authentication</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_WIFI_DEVICE_CAP_RSN</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>0x00000020</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>device supports WPA2/RSN authentication</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_WIFI_DEVICE_CAP_AP</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>0x00000040</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>device supports Access Point mode</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_WIFI_DEVICE_CAP_ADHOC</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>0x00000080</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>device supports Ad-Hoc mode</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_WIFI_DEVICE_CAP_FREQ_VALID</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>0x00000100</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>device reports frequency capabilities</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_WIFI_DEVICE_CAP_FREQ_2GHZ</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>0x00000200</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>device supports 2.4GHz frequencies</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_WIFI_DEVICE_CAP_FREQ_5GHZ</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>0x00000400</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>device supports 5GHz frequencies</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_WIFI_DEVICE_CAP_FREQ_6GHZ</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>0x00000800</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>device supports 6GHz frequencies. Since: 1.46.</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_WIFI_DEVICE_CAP_MESH</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>0x00001000</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>device supports acting as a mesh point. Since: 1.20.</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_WIFI_DEVICE_CAP_IBSS_RSN</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>0x00002000</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>device supports WPA2/RSN in an IBSS network. Since: 1.22.</para><para></para></entry>
-            </row>
-          </tbody>
-        </tgroup>
-      </informaltable>
-    </refsect3>
-  </refsect2>
-
-  <refsect2 id="NM80211ApFlags" role="enum">
-    <title>enum NM80211ApFlags</title>
-    <indexterm zone="NM80211ApFlags">
-      <primary>NM80211ApFlags</primary>
-    </indexterm>
-    <para><para>802.11 access point flags.</para><para></para></para>
-    <refsect3 role="enum_members">
-      <title>Values</title>
-      <informaltable role="enum_members_table" pgwide="1" frame="none">
-        <tgroup cols="4">
-          <colspec colname="enum_members_name" colwidth="300px" />
-          <colspec colname="enum_members_value" colwidth="100px"/>
-          <colspec colname="enum_members_description" />
-          <tbody>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_802_11_AP_FLAGS_NONE</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>0x00000000</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>access point has no special capabilities</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_802_11_AP_FLAGS_PRIVACY</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>0x00000001</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>access point requires authentication and encryption (usually means WEP)</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_802_11_AP_FLAGS_WPS</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>0x00000002</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>access point supports some WPS method</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_802_11_AP_FLAGS_WPS_PBC</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>0x00000004</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>access point supports push-button WPS</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_802_11_AP_FLAGS_WPS_PIN</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>0x00000008</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>access point supports PIN-based WPS</para><para></para></entry>
-            </row>
-          </tbody>
-        </tgroup>
-      </informaltable>
-    </refsect3>
-  </refsect2>
-
-  <refsect2 id="NM80211ApSecurityFlags" role="enum">
-    <title>enum NM80211ApSecurityFlags</title>
-    <indexterm zone="NM80211ApSecurityFlags">
-      <primary>NM80211ApSecurityFlags</primary>
-    </indexterm>
-    <para><para>802.11 access point security and authentication flags.  These flags describe the current security requirements of an access point as determined from the access point's beacon.</para><para></para></para>
-    <refsect3 role="enum_members">
-      <title>Values</title>
-      <informaltable role="enum_members_table" pgwide="1" frame="none">
-        <tgroup cols="4">
-          <colspec colname="enum_members_name" colwidth="300px" />
-          <colspec colname="enum_members_value" colwidth="100px"/>
-          <colspec colname="enum_members_description" />
-          <tbody>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_802_11_AP_SEC_NONE</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>0x00000000</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>the access point has no special security requirements</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_802_11_AP_SEC_PAIR_WEP40</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>0x00000001</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>40/64-bit WEP is supported for pairwise/unicast encryption</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_802_11_AP_SEC_PAIR_WEP104</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>0x00000002</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>104/128-bit WEP is supported for pairwise/unicast encryption</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_802_11_AP_SEC_PAIR_TKIP</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>0x00000004</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>TKIP is supported for pairwise/unicast encryption</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_802_11_AP_SEC_PAIR_CCMP</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>0x00000008</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>AES/CCMP is supported for pairwise/unicast encryption</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_802_11_AP_SEC_GROUP_WEP40</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>0x00000010</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>40/64-bit WEP is supported for group/broadcast encryption</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_802_11_AP_SEC_GROUP_WEP104</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>0x00000020</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>104/128-bit WEP is supported for group/broadcast encryption</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_802_11_AP_SEC_GROUP_TKIP</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>0x00000040</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>TKIP is supported for group/broadcast encryption</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_802_11_AP_SEC_GROUP_CCMP</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>0x00000080</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>AES/CCMP is supported for group/broadcast encryption</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_802_11_AP_SEC_KEY_MGMT_PSK</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>0x00000100</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>WPA/RSN Pre-Shared Key encryption is supported</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_802_11_AP_SEC_KEY_MGMT_802_1X</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>0x00000200</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>802.1x authentication and key management is supported</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_802_11_AP_SEC_KEY_MGMT_SAE</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>0x00000400</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>WPA/RSN Simultaneous Authentication of Equals is supported</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_802_11_AP_SEC_KEY_MGMT_OWE</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>0x00000800</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>WPA/RSN Opportunistic Wireless Encryption is supported</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_802_11_AP_SEC_KEY_MGMT_OWE_TM</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>0x00001000</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>WPA/RSN Opportunistic Wireless Encryption transition mode is supported. Since: 1.26.</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_802_11_AP_SEC_KEY_MGMT_EAP_SUITE_B_192</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>0x00002000</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>WPA3 Enterprise Suite-B 192 bit mode is supported. Since: 1.30.</para><para></para></entry>
-            </row>
-          </tbody>
-        </tgroup>
-      </informaltable>
-    </refsect3>
-  </refsect2>
-
-  <refsect2 id="NM80211Mode" role="enum">
-    <title>enum NM80211Mode</title>
-    <indexterm zone="NM80211Mode">
-      <primary>NM80211Mode</primary>
-    </indexterm>
-    <para><para>Indicates the 802.11 mode an access point or device is currently in.</para><para></para></para>
-    <refsect3 role="enum_members">
-      <title>Values</title>
-      <informaltable role="enum_members_table" pgwide="1" frame="none">
-        <tgroup cols="4">
-          <colspec colname="enum_members_name" colwidth="300px" />
-          <colspec colname="enum_members_value" colwidth="100px"/>
-          <colspec colname="enum_members_description" />
-          <tbody>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_802_11_MODE_UNKNOWN</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>0</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>the device or access point mode is unknown</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_802_11_MODE_ADHOC</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>1</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>for both devices and access point objects, indicates the object is part of an Ad-Hoc 802.11 network without a central coordinating access point.</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_802_11_MODE_INFRA</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>2</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>the device or access point is in infrastructure mode. For devices, this indicates the device is an 802.11 client/station.  For access point objects, this indicates the object is an access point that provides connectivity to clients.</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_802_11_MODE_AP</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>3</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>the device is an access point/hotspot.  Not valid for access point objects; used only for hotspot mode on the local machine.</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_802_11_MODE_MESH</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>4</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>the device is a 802.11s mesh point. Since: 1.20.</para><para></para></entry>
-            </row>
-          </tbody>
-        </tgroup>
-      </informaltable>
-    </refsect3>
-  </refsect2>
-
-  <refsect2 id="NMBluetoothCapabilities" role="enum">
-    <title>enum NMBluetoothCapabilities</title>
-    <indexterm zone="NMBluetoothCapabilities">
-      <primary>NMBluetoothCapabilities</primary>
-    </indexterm>
-    <para><para><link linkend="NMBluetoothCapabilities">NMBluetoothCapabilities</link> values indicate the usable capabilities of a Bluetooth device.</para><para></para></para>
-    <refsect3 role="enum_members">
-      <title>Values</title>
-      <informaltable role="enum_members_table" pgwide="1" frame="none">
-        <tgroup cols="4">
-          <colspec colname="enum_members_name" colwidth="300px" />
-          <colspec colname="enum_members_value" colwidth="100px"/>
-          <colspec colname="enum_members_description" />
-          <tbody>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_BT_CAPABILITY_NONE</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>0x00000000</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>device has no usable capabilities</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_BT_CAPABILITY_DUN</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>0x00000001</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>device provides Dial-Up Networking capability</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_BT_CAPABILITY_NAP</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>0x00000002</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>device provides Network Access Point capability</para><para></para></entry>
-            </row>
-          </tbody>
-        </tgroup>
-      </informaltable>
-    </refsect3>
-  </refsect2>
-
-  <refsect2 id="NMDeviceModemCapabilities" role="enum">
-    <title>enum NMDeviceModemCapabilities</title>
-    <indexterm zone="NMDeviceModemCapabilities">
-      <primary>NMDeviceModemCapabilities</primary>
-    </indexterm>
-    <para><para><link linkend="NMDeviceModemCapabilities">NMDeviceModemCapabilities</link> values indicate the generic radio access technology families a modem device supports.  For more information on the specific access technologies the device supports use the ModemManager D-Bus API.</para><para></para></para>
-    <refsect3 role="enum_members">
-      <title>Values</title>
-      <informaltable role="enum_members_table" pgwide="1" frame="none">
-        <tgroup cols="4">
-          <colspec colname="enum_members_name" colwidth="300px" />
-          <colspec colname="enum_members_value" colwidth="100px"/>
-          <colspec colname="enum_members_description" />
-          <tbody>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_DEVICE_MODEM_CAPABILITY_NONE</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>0x00000000</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>modem has no usable capabilities</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_DEVICE_MODEM_CAPABILITY_POTS</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>0x00000001</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>modem uses the analog wired telephone network and is not a wireless/cellular device</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_DEVICE_MODEM_CAPABILITY_CDMA_EVDO</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>0x00000002</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>modem supports at least one of CDMA 1xRTT, EVDO revision 0, EVDO revision A, or EVDO revision B</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_DEVICE_MODEM_CAPABILITY_GSM_UMTS</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>0x00000004</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>modem supports at least one of GSM, GPRS, EDGE, UMTS, HSDPA, HSUPA, or HSPA+ packet switched data capability</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_DEVICE_MODEM_CAPABILITY_LTE</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>0x00000008</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>modem has LTE data capability</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_DEVICE_MODEM_CAPABILITY_5GNR</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>0x00000040</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>modem has 5GNR data capability. Since: 1.36.</para><para></para></entry>
-            </row>
-          </tbody>
-        </tgroup>
-      </informaltable>
-    </refsect3>
-  </refsect2>
-
-  <refsect2 id="NMWimaxNspNetworkType" role="enum">
-    <title>enum NMWimaxNspNetworkType</title>
-    <indexterm zone="NMWimaxNspNetworkType">
-      <primary>NMWimaxNspNetworkType</primary>
-    </indexterm>
-    <para><para>WiMAX network type.</para><para></para></para>
-    <refsect3 role="enum_members">
-      <title>Values</title>
-      <informaltable role="enum_members_table" pgwide="1" frame="none">
-        <tgroup cols="4">
-          <colspec colname="enum_members_name" colwidth="300px" />
-          <colspec colname="enum_members_value" colwidth="100px"/>
-          <colspec colname="enum_members_description" />
-          <tbody>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_WIMAX_NSP_NETWORK_TYPE_UNKNOWN</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>0</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>unknown network type</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_WIMAX_NSP_NETWORK_TYPE_HOME</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>1</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>home network</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_WIMAX_NSP_NETWORK_TYPE_PARTNER</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>2</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>partner network</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_WIMAX_NSP_NETWORK_TYPE_ROAMING_PARTNER</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>3</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>roaming partner network</para><para></para></entry>
-            </row>
-          </tbody>
-        </tgroup>
-      </informaltable>
-    </refsect3>
-  </refsect2>
-
-  <refsect2 id="NMDeviceState" role="enum">
-    <title>enum NMDeviceState</title>
-    <indexterm zone="NMDeviceState">
-      <primary>NMDeviceState</primary>
-    </indexterm>
-    <para><para></para></para>
-    <refsect3 role="enum_members">
-      <title>Values</title>
-      <informaltable role="enum_members_table" pgwide="1" frame="none">
-        <tgroup cols="4">
-          <colspec colname="enum_members_name" colwidth="300px" />
-          <colspec colname="enum_members_value" colwidth="100px"/>
-          <colspec colname="enum_members_description" />
-          <tbody>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_DEVICE_STATE_UNKNOWN</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>0</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>the device's state is unknown</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_DEVICE_STATE_UNMANAGED</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>10</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>the device is recognized, but not managed by NetworkManager</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_DEVICE_STATE_UNAVAILABLE</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>20</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>the device is managed by NetworkManager, but is not available for use.  Reasons may include the wireless switched off, missing firmware, no ethernet carrier, missing supplicant or modem manager, etc.</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_DEVICE_STATE_DISCONNECTED</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>30</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>the device can be activated, but is currently idle and not connected to a network.</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_DEVICE_STATE_PREPARE</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>40</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>the device is preparing the connection to the network.  This may include operations like changing the MAC address, setting physical link properties, and anything else required to connect to the requested network.</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_DEVICE_STATE_CONFIG</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>50</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>the device is connecting to the requested network. This may include operations like associating with the Wi-Fi AP, dialing the modem, connecting to the remote Bluetooth device, etc.</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_DEVICE_STATE_NEED_AUTH</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>60</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>the device requires more information to continue connecting to the requested network.  This includes secrets like WiFi passphrases, login passwords, PIN codes, etc.</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_DEVICE_STATE_IP_CONFIG</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>70</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>the device is requesting IPv4 and/or IPv6 addresses and routing information from the network.</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_DEVICE_STATE_IP_CHECK</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>80</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>the device is checking whether further action is required for the requested network connection.  This may include checking whether only local network access is available, whether a captive portal is blocking access to the Internet, etc.</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_DEVICE_STATE_SECONDARIES</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>90</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>the device is waiting for a secondary connection (like a VPN) which must activated before the device can be activated</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_DEVICE_STATE_ACTIVATED</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>100</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>the device has a network connection, either local or global.</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_DEVICE_STATE_DEACTIVATING</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>110</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>a disconnection from the current network connection was requested, and the device is cleaning up resources used for that connection.  The network connection may still be valid.</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_DEVICE_STATE_FAILED</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>120</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>the device failed to connect to the requested network and is cleaning up the connection request</para><para></para></entry>
-            </row>
-          </tbody>
-        </tgroup>
-      </informaltable>
-    </refsect3>
-  </refsect2>
-
-  <refsect2 id="NMDeviceStateReason" role="enum">
-    <title>enum NMDeviceStateReason</title>
-    <indexterm zone="NMDeviceStateReason">
-      <primary>NMDeviceStateReason</primary>
-    </indexterm>
-    <para><para>Device state change reason codes</para><para></para></para>
-    <refsect3 role="enum_members">
-      <title>Values</title>
-      <informaltable role="enum_members_table" pgwide="1" frame="none">
-        <tgroup cols="4">
-          <colspec colname="enum_members_name" colwidth="300px" />
-          <colspec colname="enum_members_value" colwidth="100px"/>
-          <colspec colname="enum_members_description" />
-          <tbody>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_DEVICE_STATE_REASON_NONE</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>0</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>No reason given</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_DEVICE_STATE_REASON_UNKNOWN</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>1</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>Unknown error</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_DEVICE_STATE_REASON_NOW_MANAGED</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>2</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>Device is now managed</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_DEVICE_STATE_REASON_NOW_UNMANAGED</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>3</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>Device is now unmanaged</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_DEVICE_STATE_REASON_CONFIG_FAILED</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>4</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>The device could not be readied for configuration</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_DEVICE_STATE_REASON_IP_CONFIG_UNAVAILABLE</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>5</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>IP configuration could not be reserved (no available address, timeout, etc)</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_DEVICE_STATE_REASON_IP_CONFIG_EXPIRED</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>6</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>The IP config is no longer valid</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_DEVICE_STATE_REASON_NO_SECRETS</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>7</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>Secrets were required, but not provided</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_DEVICE_STATE_REASON_SUPPLICANT_DISCONNECT</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>8</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>802.1x supplicant disconnected</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_DEVICE_STATE_REASON_SUPPLICANT_CONFIG_FAILED</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>9</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>802.1x supplicant configuration failed</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_DEVICE_STATE_REASON_SUPPLICANT_FAILED</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>10</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>802.1x supplicant failed</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_DEVICE_STATE_REASON_SUPPLICANT_TIMEOUT</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>11</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>802.1x supplicant took too long to authenticate</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_DEVICE_STATE_REASON_PPP_START_FAILED</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>12</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>PPP service failed to start</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_DEVICE_STATE_REASON_PPP_DISCONNECT</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>13</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>PPP service disconnected</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_DEVICE_STATE_REASON_PPP_FAILED</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>14</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>PPP failed</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_DEVICE_STATE_REASON_DHCP_START_FAILED</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>15</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>DHCP client failed to start</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_DEVICE_STATE_REASON_DHCP_ERROR</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>16</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>DHCP client error</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_DEVICE_STATE_REASON_DHCP_FAILED</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>17</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>DHCP client failed</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_DEVICE_STATE_REASON_SHARED_START_FAILED</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>18</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>Shared connection service failed to start</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_DEVICE_STATE_REASON_SHARED_FAILED</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>19</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>Shared connection service failed</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_DEVICE_STATE_REASON_AUTOIP_START_FAILED</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>20</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>AutoIP service failed to start</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_DEVICE_STATE_REASON_AUTOIP_ERROR</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>21</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>AutoIP service error</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_DEVICE_STATE_REASON_AUTOIP_FAILED</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>22</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>AutoIP service failed</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_DEVICE_STATE_REASON_MODEM_BUSY</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>23</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>The line is busy</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_DEVICE_STATE_REASON_MODEM_NO_DIAL_TONE</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>24</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>No dial tone</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_DEVICE_STATE_REASON_MODEM_NO_CARRIER</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>25</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>No carrier could be established</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_DEVICE_STATE_REASON_MODEM_DIAL_TIMEOUT</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>26</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>The dialing request timed out</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_DEVICE_STATE_REASON_MODEM_DIAL_FAILED</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>27</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>The dialing attempt failed</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_DEVICE_STATE_REASON_MODEM_INIT_FAILED</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>28</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>Modem initialization failed</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_DEVICE_STATE_REASON_GSM_APN_FAILED</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>29</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>Failed to select the specified APN</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_DEVICE_STATE_REASON_GSM_REGISTRATION_NOT_SEARCHING</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>30</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>Not searching for networks</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_DEVICE_STATE_REASON_GSM_REGISTRATION_DENIED</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>31</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>Network registration denied</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_DEVICE_STATE_REASON_GSM_REGISTRATION_TIMEOUT</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>32</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>Network registration timed out</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_DEVICE_STATE_REASON_GSM_REGISTRATION_FAILED</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>33</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>Failed to register with the requested network</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_DEVICE_STATE_REASON_GSM_PIN_CHECK_FAILED</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>34</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>PIN check failed</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_DEVICE_STATE_REASON_FIRMWARE_MISSING</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>35</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>Necessary firmware for the device may be missing</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_DEVICE_STATE_REASON_REMOVED</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>36</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>The device was removed</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_DEVICE_STATE_REASON_SLEEPING</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>37</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>NetworkManager went to sleep</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_DEVICE_STATE_REASON_CONNECTION_REMOVED</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>38</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>The device's active connection disappeared</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_DEVICE_STATE_REASON_USER_REQUESTED</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>39</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>Device disconnected by user or client</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_DEVICE_STATE_REASON_CARRIER</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>40</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>Carrier/link changed</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_DEVICE_STATE_REASON_CONNECTION_ASSUMED</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>41</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>The device's existing connection was assumed</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_DEVICE_STATE_REASON_SUPPLICANT_AVAILABLE</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>42</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>The supplicant is now available</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_DEVICE_STATE_REASON_MODEM_NOT_FOUND</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>43</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>The modem could not be found</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_DEVICE_STATE_REASON_BT_FAILED</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>44</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>The Bluetooth connection failed or timed out</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_DEVICE_STATE_REASON_GSM_SIM_NOT_INSERTED</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>45</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>GSM Modem's SIM Card not inserted</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_DEVICE_STATE_REASON_GSM_SIM_PIN_REQUIRED</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>46</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>GSM Modem's SIM Pin required</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_DEVICE_STATE_REASON_GSM_SIM_PUK_REQUIRED</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>47</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>GSM Modem's SIM Puk required</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_DEVICE_STATE_REASON_GSM_SIM_WRONG</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>48</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>GSM Modem's SIM wrong</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_DEVICE_STATE_REASON_INFINIBAND_MODE</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>49</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>InfiniBand device does not support connected mode</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_DEVICE_STATE_REASON_DEPENDENCY_FAILED</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>50</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>A dependency of the connection failed</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_DEVICE_STATE_REASON_BR2684_FAILED</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>51</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>Problem with the RFC 2684 Ethernet over ADSL bridge</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_DEVICE_STATE_REASON_MODEM_MANAGER_UNAVAILABLE</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>52</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>ModemManager not running</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_DEVICE_STATE_REASON_SSID_NOT_FOUND</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>53</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>The Wi-Fi network could not be found</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_DEVICE_STATE_REASON_SECONDARY_CONNECTION_FAILED</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>54</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>A secondary connection of the base connection failed</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_DEVICE_STATE_REASON_DCB_FCOE_FAILED</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>55</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>DCB or FCoE setup failed</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_DEVICE_STATE_REASON_TEAMD_CONTROL_FAILED</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>56</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>teamd control failed</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_DEVICE_STATE_REASON_MODEM_FAILED</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>57</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>Modem failed or no longer available</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_DEVICE_STATE_REASON_MODEM_AVAILABLE</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>58</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>Modem now ready and available</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_DEVICE_STATE_REASON_SIM_PIN_INCORRECT</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>59</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>SIM PIN was incorrect</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_DEVICE_STATE_REASON_NEW_ACTIVATION</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>60</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>New connection activation was enqueued</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_DEVICE_STATE_REASON_PARENT_CHANGED</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>61</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>the device's parent changed</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_DEVICE_STATE_REASON_PARENT_MANAGED_CHANGED</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>62</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>the device parent's management changed</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_DEVICE_STATE_REASON_OVSDB_FAILED</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>63</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>problem communicating with Open vSwitch database</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_DEVICE_STATE_REASON_IP_ADDRESS_DUPLICATE</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>64</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>a duplicate IP address was detected</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_DEVICE_STATE_REASON_IP_METHOD_UNSUPPORTED</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>65</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>The selected IP method is not supported</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_DEVICE_STATE_REASON_SRIOV_CONFIGURATION_FAILED</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>66</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>configuration of SR-IOV parameters failed</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_DEVICE_STATE_REASON_PEER_NOT_FOUND</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>67</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>The Wi-Fi P2P peer could not be found</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_DEVICE_STATE_REASON_DEVICE_HANDLER_FAILED</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>68</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>The device handler dispatcher returned an error. Since: 1.46</para><para></para></entry>
-            </row>
-          </tbody>
-        </tgroup>
-      </informaltable>
-    </refsect3>
-  </refsect2>
-
-  <refsect2 id="NMMetered" role="enum">
-    <title>enum NMMetered</title>
-    <indexterm zone="NMMetered">
-      <primary>NMMetered</primary>
-    </indexterm>
-    <para><para>The NMMetered enum has two different purposes: one is to configure "connection.metered" setting of a connection profile in <link linkend="NMSettingConnection,">NMSettingConnection,</link> and the other is to express the actual metered state of the <link linkend="NMDevice">NMDevice</link> at a given moment.</para><para>For the connection profile only <link linkend="NM_METERED_UNKNOWN,">NM_METERED_UNKNOWN,</link> <link linkend="NM_METERED_NO">NM_METERED_NO</link> and <link linkend="NM_METERED_YES">NM_METERED_YES</link> are allowed.</para><para>The device's metered state at runtime is determined by the profile which is currently active. If the profile explicitly specifies <link linkend="NM_METERED_NO">NM_METERED_NO</link> or <link linkend="NM_METERED_YES,">NM_METERED_YES,</link> then the device's metered state is as such. If the connection profile leaves it undecided at <link linkend="NM_METERED_UNKNOWN">NM_METERED_UNKNOWN</link> (the default), then NetworkManager tries to guess the metered state, for example based on the device type or on DHCP options (like Android devices exposing a "ANDROID_METERED" DHCP vendor option). This then leads to either <link linkend="NM_METERED_GUESS_NO">NM_METERED_GUESS_NO</link> or <link linkend="NM_METERED_GUESS_YES">NM_METERED_GUESS_YES</link>.</para><para>Most applications probably should treat the runtime state <link linkend="NM_METERED_GUESS_YES">NM_METERED_GUESS_YES</link> like <link linkend="NM_METERED_YES,">NM_METERED_YES,</link> and all other states as not metered.</para><para>Note that the per-device metered states are then combined to a global metered state. This is basically the metered state of the device with the best default route. However, that generalization of a global metered state may not be correct if the default routes for IPv4 and IPv6 are on different devices, or if policy routing is configured. In general, the global metered state tries to express whether the traffic is likely metered, but since that depends on the traffic itself, there is not one answer in all cases. Hence, an application may want to consider the per-device's metered states.</para><para>Since: 1.2</para><para></para></para>
-    <refsect3 role="enum_members">
-      <title>Values</title>
-      <informaltable role="enum_members_table" pgwide="1" frame="none">
-        <tgroup cols="4">
-          <colspec colname="enum_members_name" colwidth="300px" />
-          <colspec colname="enum_members_value" colwidth="100px"/>
-          <colspec colname="enum_members_description" />
-          <tbody>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_METERED_UNKNOWN</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>0</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>The metered status is unknown</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_METERED_YES</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>1</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>Metered, the value was explicitly configured</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_METERED_NO</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>2</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>Not metered, the value was explicitly configured</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_METERED_GUESS_YES</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>3</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>Metered, the value was guessed</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_METERED_GUESS_NO</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>4</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>Not metered, the value was guessed</para><para></para></entry>
-            </row>
-          </tbody>
-        </tgroup>
-      </informaltable>
-    </refsect3>
-  </refsect2>
-
-  <refsect2 id="NMConnectionMultiConnect" role="enum">
-    <title>enum NMConnectionMultiConnect</title>
-    <indexterm zone="NMConnectionMultiConnect">
-      <primary>NMConnectionMultiConnect</primary>
-    </indexterm>
-    <para><para>Since: 1.14</para><para></para></para>
-    <refsect3 role="enum_members">
-      <title>Values</title>
-      <informaltable role="enum_members_table" pgwide="1" frame="none">
-        <tgroup cols="4">
-          <colspec colname="enum_members_name" colwidth="300px" />
-          <colspec colname="enum_members_value" colwidth="100px"/>
-          <colspec colname="enum_members_description" />
-          <tbody>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_CONNECTION_MULTI_CONNECT_DEFAULT</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>0</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>indicates that the per-connection setting is unspecified. In this case, it will fallback to the default value, which is %NM_CONNECTION_MULTI_CONNECT_SINGLE.</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_CONNECTION_MULTI_CONNECT_SINGLE</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>1</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>the connection profile can only be active once at each moment. Activating a profile that is already active, will first deactivate it.</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_CONNECTION_MULTI_CONNECT_MANUAL_MULTIPLE</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>2</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>the profile can be manually activated multiple times on different devices. However, regarding autoconnect, the profile will autoconnect only if it is currently not connected otherwise.</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_CONNECTION_MULTI_CONNECT_MULTIPLE</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>3</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>the profile can autoactivate and be manually activated multiple times together.</para><para></para></entry>
-            </row>
-          </tbody>
-        </tgroup>
-      </informaltable>
-    </refsect3>
-  </refsect2>
-
-  <refsect2 id="NMActiveConnectionState" role="enum">
-    <title>enum NMActiveConnectionState</title>
-    <indexterm zone="NMActiveConnectionState">
-      <primary>NMActiveConnectionState</primary>
-    </indexterm>
-    <para><para><link linkend="NMActiveConnectionState">NMActiveConnectionState</link> values indicate the state of a connection to a specific network while it is starting, connected, or disconnecting from that network.</para><para></para></para>
-    <refsect3 role="enum_members">
-      <title>Values</title>
-      <informaltable role="enum_members_table" pgwide="1" frame="none">
-        <tgroup cols="4">
-          <colspec colname="enum_members_name" colwidth="300px" />
-          <colspec colname="enum_members_value" colwidth="100px"/>
-          <colspec colname="enum_members_description" />
-          <tbody>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_ACTIVE_CONNECTION_STATE_UNKNOWN</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>0</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>the state of the connection is unknown</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_ACTIVE_CONNECTION_STATE_ACTIVATING</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>1</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>a network connection is being prepared</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_ACTIVE_CONNECTION_STATE_ACTIVATED</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>2</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>there is a connection to the network</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_ACTIVE_CONNECTION_STATE_DEACTIVATING</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>3</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>the network connection is being torn down and cleaned up</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_ACTIVE_CONNECTION_STATE_DEACTIVATED</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>4</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>the network connection is disconnected and will be removed</para><para></para></entry>
-            </row>
-          </tbody>
-        </tgroup>
-      </informaltable>
-    </refsect3>
-  </refsect2>
-
-  <refsect2 id="NMActiveConnectionStateReason" role="enum">
-    <title>enum NMActiveConnectionStateReason</title>
-    <indexterm zone="NMActiveConnectionStateReason">
-      <primary>NMActiveConnectionStateReason</primary>
-    </indexterm>
-    <para><para>Active connection state reasons.</para><para>Since: 1.8</para><para></para></para>
-    <refsect3 role="enum_members">
-      <title>Values</title>
-      <informaltable role="enum_members_table" pgwide="1" frame="none">
-        <tgroup cols="4">
-          <colspec colname="enum_members_name" colwidth="300px" />
-          <colspec colname="enum_members_value" colwidth="100px"/>
-          <colspec colname="enum_members_description" />
-          <tbody>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_ACTIVE_CONNECTION_STATE_REASON_UNKNOWN</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>0</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>The reason for the active connection state change is unknown.</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_ACTIVE_CONNECTION_STATE_REASON_NONE</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>1</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>No reason was given for the active connection state change.</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_ACTIVE_CONNECTION_STATE_REASON_USER_DISCONNECTED</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>2</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>The active connection changed state because the user disconnected it.</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_ACTIVE_CONNECTION_STATE_REASON_DEVICE_DISCONNECTED</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>3</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>The active connection changed state because the device it was using was disconnected.</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_ACTIVE_CONNECTION_STATE_REASON_SERVICE_STOPPED</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>4</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>The service providing the VPN connection was stopped.</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_ACTIVE_CONNECTION_STATE_REASON_IP_CONFIG_INVALID</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>5</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>The IP config of the active connection was invalid.</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_ACTIVE_CONNECTION_STATE_REASON_CONNECT_TIMEOUT</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>6</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>The connection attempt to the VPN service timed out.</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_ACTIVE_CONNECTION_STATE_REASON_SERVICE_START_TIMEOUT</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>7</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>A timeout occurred while starting the service providing the VPN connection.</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_ACTIVE_CONNECTION_STATE_REASON_SERVICE_START_FAILED</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>8</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>Starting the service providing the VPN connection failed.</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_ACTIVE_CONNECTION_STATE_REASON_NO_SECRETS</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>9</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>Necessary secrets for the connection were not provided.</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_ACTIVE_CONNECTION_STATE_REASON_LOGIN_FAILED</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>10</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>Authentication to the server failed.</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_ACTIVE_CONNECTION_STATE_REASON_CONNECTION_REMOVED</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>11</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>The connection was deleted from settings.</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_ACTIVE_CONNECTION_STATE_REASON_DEPENDENCY_FAILED</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>12</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>Master connection of this connection failed to activate.</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_ACTIVE_CONNECTION_STATE_REASON_DEVICE_REALIZE_FAILED</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>13</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>Could not create the software device link.</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_ACTIVE_CONNECTION_STATE_REASON_DEVICE_REMOVED</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>14</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>The device this connection depended on disappeared.</para><para></para></entry>
-            </row>
-          </tbody>
-        </tgroup>
-      </informaltable>
-    </refsect3>
-  </refsect2>
-
-  <refsect2 id="NMSecretAgentGetSecretsFlags" role="enum">
-    <title>enum NMSecretAgentGetSecretsFlags</title>
-    <indexterm zone="NMSecretAgentGetSecretsFlags">
-      <primary>NMSecretAgentGetSecretsFlags</primary>
-    </indexterm>
-    <para><para><link linkend="NMSecretAgentGetSecretsFlags">NMSecretAgentGetSecretsFlags</link> values modify the behavior of a GetSecrets request.</para><para></para></para>
-    <refsect3 role="enum_members">
-      <title>Values</title>
-      <informaltable role="enum_members_table" pgwide="1" frame="none">
-        <tgroup cols="4">
-          <colspec colname="enum_members_name" colwidth="300px" />
-          <colspec colname="enum_members_value" colwidth="100px"/>
-          <colspec colname="enum_members_description" />
-          <tbody>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_SECRET_AGENT_GET_SECRETS_FLAG_NONE</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>0x0</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>no special behavior; by default no user interaction is allowed and requests for secrets are fulfilled from persistent storage, or if no secrets are available an error is returned.</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_SECRET_AGENT_GET_SECRETS_FLAG_ALLOW_INTERACTION</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>0x1</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>allows the request to interact with the user, possibly prompting via UI for secrets if any are required, or if none are found in persistent storage.</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_SECRET_AGENT_GET_SECRETS_FLAG_REQUEST_NEW</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>0x2</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>explicitly prompt for new secrets from the user.  This flag signals that NetworkManager thinks any existing secrets are invalid or wrong.  This flag implies that interaction is allowed.</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_SECRET_AGENT_GET_SECRETS_FLAG_USER_REQUESTED</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>0x4</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>set if the request was initiated by user-requested action via the D-Bus interface, as opposed to automatically initiated by NetworkManager in response to (for example) scan results or carrier changes.</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_SECRET_AGENT_GET_SECRETS_FLAG_WPS_PBC_ACTIVE</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>0x8</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>indicates that WPS enrollment is active with PBC method. The agent may suggest that the user pushes a button on the router instead of supplying a PSK.</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_SECRET_AGENT_GET_SECRETS_FLAG_ONLY_SYSTEM</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>0x80000000</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>Internal flag, not part of the D-Bus API.</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_SECRET_AGENT_GET_SECRETS_FLAG_NO_ERRORS</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>0x40000000</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>Internal flag, not part of the D-Bus API.</para><para></para></entry>
-            </row>
-          </tbody>
-        </tgroup>
-      </informaltable>
-    </refsect3>
-  </refsect2>
-
-  <refsect2 id="NMSecretAgentCapabilities" role="enum">
-    <title>enum NMSecretAgentCapabilities</title>
-    <indexterm zone="NMSecretAgentCapabilities">
-      <primary>NMSecretAgentCapabilities</primary>
-    </indexterm>
-    <para><para><link linkend="NMSecretAgentCapabilities">NMSecretAgentCapabilities</link> indicate various capabilities of the agent.</para><para></para></para>
-    <refsect3 role="enum_members">
-      <title>Values</title>
-      <informaltable role="enum_members_table" pgwide="1" frame="none">
-        <tgroup cols="4">
-          <colspec colname="enum_members_name" colwidth="300px" />
-          <colspec colname="enum_members_value" colwidth="100px"/>
-          <colspec colname="enum_members_description" />
-          <tbody>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_SECRET_AGENT_CAPABILITY_NONE</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>0x0</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>the agent supports no special capabilities</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_SECRET_AGENT_CAPABILITY_VPN_HINTS</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>0x1</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>the agent supports passing hints to VPN plugin authentication dialogs.</para><para></para></entry>
-            </row>
-          </tbody>
-        </tgroup>
-      </informaltable>
-    </refsect3>
-  </refsect2>
-
-  <refsect2 id="NMIPTunnelMode" role="enum">
-    <title>enum NMIPTunnelMode</title>
-    <indexterm zone="NMIPTunnelMode">
-      <primary>NMIPTunnelMode</primary>
-    </indexterm>
-    <para><para>The tunneling mode.</para><para>Since: 1.2</para><para></para></para>
-    <refsect3 role="enum_members">
-      <title>Values</title>
-      <informaltable role="enum_members_table" pgwide="1" frame="none">
-        <tgroup cols="4">
-          <colspec colname="enum_members_name" colwidth="300px" />
-          <colspec colname="enum_members_value" colwidth="100px"/>
-          <colspec colname="enum_members_description" />
-          <tbody>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_IP_TUNNEL_MODE_UNKNOWN</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>0</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>Unknown/unset tunnel mode</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_IP_TUNNEL_MODE_IPIP</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>1</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>IP in IP tunnel</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_IP_TUNNEL_MODE_GRE</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>2</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>GRE tunnel</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_IP_TUNNEL_MODE_SIT</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>3</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>SIT tunnel</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_IP_TUNNEL_MODE_ISATAP</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>4</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>ISATAP tunnel</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_IP_TUNNEL_MODE_VTI</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>5</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>VTI tunnel</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_IP_TUNNEL_MODE_IP6IP6</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>6</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>IPv6 in IPv6 tunnel</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_IP_TUNNEL_MODE_IPIP6</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>7</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>IPv4 in IPv6 tunnel</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_IP_TUNNEL_MODE_IP6GRE</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>8</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>IPv6 GRE tunnel</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_IP_TUNNEL_MODE_VTI6</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>9</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>IPv6 VTI tunnel</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_IP_TUNNEL_MODE_GRETAP</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>10</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>GRETAP tunnel</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_IP_TUNNEL_MODE_IP6GRETAP</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>11</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>IPv6 GRETAP tunnel</para><para></para></entry>
-            </row>
-          </tbody>
-        </tgroup>
-      </informaltable>
-    </refsect3>
-  </refsect2>
-
-  <refsect2 id="NMCheckpointCreateFlags" role="enum">
-    <title>enum NMCheckpointCreateFlags</title>
-    <indexterm zone="NMCheckpointCreateFlags">
-      <primary>NMCheckpointCreateFlags</primary>
-    </indexterm>
-    <para><para>The flags for CheckpointCreate call</para><para>Since: 1.12: Public since 1.4, g-ir since 1.12.</para><para></para></para>
-    <refsect3 role="enum_members">
-      <title>Values</title>
-      <informaltable role="enum_members_table" pgwide="1" frame="none">
-        <tgroup cols="4">
-          <colspec colname="enum_members_name" colwidth="300px" />
-          <colspec colname="enum_members_value" colwidth="100px"/>
-          <colspec colname="enum_members_description" />
-          <tbody>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_CHECKPOINT_CREATE_FLAG_NONE</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>0</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>no flags</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_CHECKPOINT_CREATE_FLAG_DESTROY_ALL</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>0x01</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>when creating a new checkpoint, destroy all existing ones.</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_CHECKPOINT_CREATE_FLAG_DELETE_NEW_CONNECTIONS</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>0x02</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>upon rollback, delete any new connection added after the checkpoint. Since: 1.6.</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_CHECKPOINT_CREATE_FLAG_DISCONNECT_NEW_DEVICES</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>0x04</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>upon rollback, disconnect any new device appeared after the checkpoint. Since: 1.6.</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_CHECKPOINT_CREATE_FLAG_ALLOW_OVERLAPPING</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>0x08</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>by default, creating a checkpoint fails if there are already existing checkpoints that reference the same devices. With this flag, creation of such checkpoints is allowed, however, if an older checkpoint that references overlapping devices gets rolled back, it will automatically destroy this checkpoint during rollback. This allows to create several overlapping checkpoints in parallel, and rollback to them at will. With the special case that rolling back to an older checkpoint will invalidate all overlapping younger checkpoints. This opts-in that the checkpoint can be automatically destroyed by the rollback of an older checkpoint. Since: 1.12.</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_CHECKPOINT_CREATE_FLAG_NO_PRESERVE_EXTERNAL_PORTS</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>0x10</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>during rollback, by default externally added ports attached to bridge devices are preserved. With this flag, the rollback detaches all external ports. This only has an effect for bridge ports. Before 1.38, this was the default behavior. Since: 1.38.</para><para></para></entry>
-            </row>
-          </tbody>
-        </tgroup>
-      </informaltable>
-    </refsect3>
-  </refsect2>
-
-  <refsect2 id="NMRollbackResult" role="enum">
-    <title>enum NMRollbackResult</title>
-    <indexterm zone="NMRollbackResult">
-      <primary>NMRollbackResult</primary>
-    </indexterm>
-    <para><para>The result of a checkpoint Rollback() operation for a specific device.</para><para>Since: 1.4</para><para></para></para>
-    <refsect3 role="enum_members">
-      <title>Values</title>
-      <informaltable role="enum_members_table" pgwide="1" frame="none">
-        <tgroup cols="4">
-          <colspec colname="enum_members_name" colwidth="300px" />
-          <colspec colname="enum_members_value" colwidth="100px"/>
-          <colspec colname="enum_members_description" />
-          <tbody>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_ROLLBACK_RESULT_OK</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>0</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>the rollback succeeded.</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_ROLLBACK_RESULT_ERR_NO_DEVICE</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>1</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>the device no longer exists.</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_ROLLBACK_RESULT_ERR_DEVICE_UNMANAGED</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>2</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>the device is now unmanaged.</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_ROLLBACK_RESULT_ERR_FAILED</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>3</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>other errors during rollback.</para><para></para></entry>
-            </row>
-          </tbody>
-        </tgroup>
-      </informaltable>
-    </refsect3>
-  </refsect2>
-
-  <refsect2 id="NMSettingsConnectionFlags" role="enum">
-    <title>enum NMSettingsConnectionFlags</title>
-    <indexterm zone="NMSettingsConnectionFlags">
-      <primary>NMSettingsConnectionFlags</primary>
-    </indexterm>
-    <para><para>Flags describing the current activation state.</para><para>Since: 1.12</para><para></para></para>
-    <refsect3 role="enum_members">
-      <title>Values</title>
-      <informaltable role="enum_members_table" pgwide="1" frame="none">
-        <tgroup cols="4">
-          <colspec colname="enum_members_name" colwidth="300px" />
-          <colspec colname="enum_members_value" colwidth="100px"/>
-          <colspec colname="enum_members_description" />
-          <tbody>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_SETTINGS_CONNECTION_FLAG_NONE</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>0</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>an alias for numeric zero, no flags set.</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_SETTINGS_CONNECTION_FLAG_UNSAVED</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>0x01</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>the connection is not saved to disk. That either means, that the connection is in-memory only and currently is not backed by a file. Or, that the connection is backed by a file, but has modifications in-memory that were not persisted to disk.</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_SETTINGS_CONNECTION_FLAG_NM_GENERATED</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>0x02</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>A connection is "nm-generated" if it was generated by NetworkManger. If the connection gets modified or saved by the user, the flag gets cleared. A nm-generated is also unsaved and has no backing file as it is in-memory only.</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_SETTINGS_CONNECTION_FLAG_VOLATILE</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>0x04</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>The connection will be deleted when it disconnects. That is for in-memory connections (unsaved), which are currently active but deleted on disconnect. Volatile connections are always unsaved, but they are also no backing file on disk and are entirely in-memory only.</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_SETTINGS_CONNECTION_FLAG_EXTERNAL</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>0x08</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>the profile was generated to represent an external configuration of a networking device. Since: 1.26.</para><para></para></entry>
-            </row>
-          </tbody>
-        </tgroup>
-      </informaltable>
-    </refsect3>
-  </refsect2>
-
-  <refsect2 id="NMActivationStateFlags" role="enum">
-    <title>enum NMActivationStateFlags</title>
-    <indexterm zone="NMActivationStateFlags">
-      <primary>NMActivationStateFlags</primary>
-    </indexterm>
-    <para><para>Flags describing the current activation state.</para><para>Since: 1.10</para><para></para></para>
-    <refsect3 role="enum_members">
-      <title>Values</title>
-      <informaltable role="enum_members_table" pgwide="1" frame="none">
-        <tgroup cols="4">
-          <colspec colname="enum_members_name" colwidth="300px" />
-          <colspec colname="enum_members_value" colwidth="100px"/>
-          <colspec colname="enum_members_description" />
-          <tbody>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_ACTIVATION_STATE_FLAG_NONE</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>0</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>an alias for numeric zero, no flags set.</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_ACTIVATION_STATE_FLAG_IS_MASTER</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>0x1</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>the device is a master.</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_ACTIVATION_STATE_FLAG_IS_SLAVE</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>0x2</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>the device is a slave.</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_ACTIVATION_STATE_FLAG_LAYER2_READY</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>0x4</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>layer2 is activated and ready.</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_ACTIVATION_STATE_FLAG_IP4_READY</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>0x8</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>IPv4 setting is completed.</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_ACTIVATION_STATE_FLAG_IP6_READY</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>0x10</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>IPv6 setting is completed.</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_ACTIVATION_STATE_FLAG_MASTER_HAS_SLAVES</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>0x20</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>The master has any slave devices attached. This only makes sense if the device is a master.</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_ACTIVATION_STATE_FLAG_LIFETIME_BOUND_TO_PROFILE_VISIBILITY</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>0x40</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>the lifetime of the activation is bound to the visibility of the connection profile, which in turn depends on "connection.permissions" and whether a session for the user exists. Since: 1.16.</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_ACTIVATION_STATE_FLAG_EXTERNAL</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>0x80</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>the active connection was generated to represent an external configuration of a networking device. Since: 1.26.</para><para></para></entry>
-            </row>
-          </tbody>
-        </tgroup>
-      </informaltable>
-    </refsect3>
-  </refsect2>
-
-  <refsect2 id="NMSettingsAddConnection2Flags" role="enum">
-    <title>enum NMSettingsAddConnection2Flags</title>
-    <indexterm zone="NMSettingsAddConnection2Flags">
-      <primary>NMSettingsAddConnection2Flags</primary>
-    </indexterm>
-    <para><para>Numeric flags for the "flags" argument of AddConnection2() D-Bus API.</para><para>Since: 1.20</para><para></para></para>
-    <refsect3 role="enum_members">
-      <title>Values</title>
-      <informaltable role="enum_members_table" pgwide="1" frame="none">
-        <tgroup cols="4">
-          <colspec colname="enum_members_name" colwidth="300px" />
-          <colspec colname="enum_members_value" colwidth="100px"/>
-          <colspec colname="enum_members_description" />
-          <tbody>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_SETTINGS_ADD_CONNECTION2_FLAG_NONE</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>0</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>an alias for numeric zero, no flags set.</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_SETTINGS_ADD_CONNECTION2_FLAG_TO_DISK</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>0x1</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>to persist the connection to disk.</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_SETTINGS_ADD_CONNECTION2_FLAG_IN_MEMORY</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>0x2</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>to make the connection in-memory only.</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_SETTINGS_ADD_CONNECTION2_FLAG_BLOCK_AUTOCONNECT</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>0x20</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>usually, when the connection has autoconnect enabled and gets added, it becomes eligible to autoconnect right away. Setting this flag, disables autoconnect until the connection is manually activated.</para><para></para></entry>
-            </row>
-          </tbody>
-        </tgroup>
-      </informaltable>
-    </refsect3>
-  </refsect2>
-
-  <refsect2 id="NMSettingsUpdate2Flags" role="enum">
-    <title>enum NMSettingsUpdate2Flags</title>
-    <indexterm zone="NMSettingsUpdate2Flags">
-      <primary>NMSettingsUpdate2Flags</primary>
-    </indexterm>
-    <para><para>Since: 1.12</para><para></para></para>
-    <refsect3 role="enum_members">
-      <title>Values</title>
-      <informaltable role="enum_members_table" pgwide="1" frame="none">
-        <tgroup cols="4">
-          <colspec colname="enum_members_name" colwidth="300px" />
-          <colspec colname="enum_members_value" colwidth="100px"/>
-          <colspec colname="enum_members_description" />
-          <tbody>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_SETTINGS_UPDATE2_FLAG_NONE</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>0</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>an alias for numeric zero, no flags set.</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_SETTINGS_UPDATE2_FLAG_TO_DISK</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>0x1</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>to persist the connection to disk.</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_SETTINGS_UPDATE2_FLAG_IN_MEMORY</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>0x2</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>makes the profile in-memory. Note that such profiles are stored in keyfile format under /run. If the file is already in-memory, the file in /run is updated in-place. Otherwise, the previous storage for the profile is left unchanged on disk, and the in-memory copy shadows it. Note that the original filename of the previous persistent storage (if any) is remembered. That means, when later persisting the profile again to disk, the file on disk will be overwritten again. Likewise, when finally deleting the profile, both the storage from /run and persistent storage are deleted (or if the persistent storage does not allow deletion, and nmmeta file is written to mark the UUID as deleted).</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_SETTINGS_UPDATE2_FLAG_IN_MEMORY_DETACHED</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>0x4</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>this is almost the same as %NM_SETTINGS_UPDATE2_FLAG_IN_MEMORY, with one difference: when later deleting the profile, the original profile will not be deleted. Instead a nmmeta file is written to /run to indicate that the profile is gone. Note that if such a nmmeta tombstone file exists and hides a file in persistent storage, then when re-adding the profile with the same UUID, then the original storage is taken over again.</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_SETTINGS_UPDATE2_FLAG_IN_MEMORY_ONLY</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>0x8</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>this is like %NM_SETTINGS_UPDATE2_FLAG_IN_MEMORY, but if the connection has a corresponding file on persistent storage, the file will be deleted right away. If the profile is later again persisted to disk, a new, unused filename will be chosen.</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_SETTINGS_UPDATE2_FLAG_VOLATILE</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>0x10</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>This can be specified with either %NM_SETTINGS_UPDATE2_FLAG_IN_MEMORY, %NM_SETTINGS_UPDATE2_FLAG_IN_MEMORY_DETACHED or %NM_SETTINGS_UPDATE2_FLAG_IN_MEMORY_ONLY. After making the connection in-memory only, the connection is marked as volatile. That means, if the connection is currently not active it will be deleted right away. Otherwise, it is marked to for deletion once the connection deactivates. A volatile connection cannot autoactivate again (because it's about to be deleted), but a manual activation will clear the volatile flag.</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_SETTINGS_UPDATE2_FLAG_BLOCK_AUTOCONNECT</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>0x20</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>usually, when the connection has autoconnect enabled and is modified, it becomes eligible to autoconnect right away. Setting this flag, disables autoconnect until the connection is manually activated.</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_SETTINGS_UPDATE2_FLAG_NO_REAPPLY</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>0x40</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>when a profile gets modified that is currently active, then these changes don't take effect for the active device unless the profile gets reactivated or the configuration reapplied. There are two exceptions: by default "connection.zone" and "connection.metered" properties take effect immediately. Specify this flag to prevent these properties to take effect, so that the change is restricted to modify the profile. Since: 1.20.</para><para></para></entry>
-            </row>
-          </tbody>
-        </tgroup>
-      </informaltable>
-    </refsect3>
-  </refsect2>
-
-  <refsect2 id="NMDeviceReapplyFlags" role="enum">
-    <title>enum NMDeviceReapplyFlags</title>
-    <indexterm zone="NMDeviceReapplyFlags">
-      <primary>NMDeviceReapplyFlags</primary>
-    </indexterm>
-    <para><para>Flags for the Reapply() D-Bus call of a device and nm_device_reapply_async().</para><para>Since: 1.42</para><para></para></para>
-    <refsect3 role="enum_members">
-      <title>Values</title>
-      <informaltable role="enum_members_table" pgwide="1" frame="none">
-        <tgroup cols="4">
-          <colspec colname="enum_members_name" colwidth="300px" />
-          <colspec colname="enum_members_value" colwidth="100px"/>
-          <colspec colname="enum_members_description" />
-          <tbody>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_DEVICE_REAPPLY_FLAGS_NONE</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>0</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>no flag set.</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_DEVICE_REAPPLY_FLAGS_PRESERVE_EXTERNAL_IP</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>0x1</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>during reapply, preserve external IP addresses and routes.</para><para></para></entry>
-            </row>
-          </tbody>
-        </tgroup>
-      </informaltable>
-    </refsect3>
-  </refsect2>
-
-  <refsect2 id="NMTernary" role="enum">
-    <title>enum NMTernary</title>
-    <indexterm zone="NMTernary">
-      <primary>NMTernary</primary>
-    </indexterm>
-    <para><para>An boolean value that can be overridden by a default.</para><para>Since: 1.14</para><para></para></para>
-    <refsect3 role="enum_members">
-      <title>Values</title>
-      <informaltable role="enum_members_table" pgwide="1" frame="none">
-        <tgroup cols="4">
-          <colspec colname="enum_members_name" colwidth="300px" />
-          <colspec colname="enum_members_value" colwidth="100px"/>
-          <colspec colname="enum_members_description" />
-          <tbody>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_TERNARY_DEFAULT</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>-1</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>use the globally-configured default value.</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_TERNARY_FALSE</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>0</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>the option is disabled.</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_TERNARY_TRUE</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>1</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>the option is enabled.</para><para></para></entry>
-            </row>
-          </tbody>
-        </tgroup>
-      </informaltable>
-    </refsect3>
-  </refsect2>
-
-  <refsect2 id="NMManagerReloadFlags" role="enum">
-    <title>enum NMManagerReloadFlags</title>
-    <indexterm zone="NMManagerReloadFlags">
-      <primary>NMManagerReloadFlags</primary>
-    </indexterm>
-    <para><para>Flags for the manager Reload() call.</para><para>Since: 1.22</para><para></para></para>
-    <refsect3 role="enum_members">
-      <title>Values</title>
-      <informaltable role="enum_members_table" pgwide="1" frame="none">
-        <tgroup cols="4">
-          <colspec colname="enum_members_name" colwidth="300px" />
-          <colspec colname="enum_members_value" colwidth="100px"/>
-          <colspec colname="enum_members_description" />
-          <tbody>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_MANAGER_RELOAD_FLAG_NONE</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>0</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>an alias for numeric zero, no flags set. This reloads everything that is supported and is identical to a SIGHUP.</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_MANAGER_RELOAD_FLAG_CONF</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>0x1</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>reload the NetworkManager.conf configuration from disk. Note that this does not include connections, which can be reloaded via Setting's ReloadConnections().</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_MANAGER_RELOAD_FLAG_DNS_RC</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>0x2</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>update DNS configuration, which usually involves writing /etc/resolv.conf anew.</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_MANAGER_RELOAD_FLAG_DNS_FULL</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>0x4</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>means to restart the DNS plugin. This is for example useful when using dnsmasq plugin, which uses additional configuration in /etc/NetworkManager/dnsmasq.d. If you edit those files, you can restart the DNS plugin. This action shortly interrupts name resolution.</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_MANAGER_RELOAD_FLAG_ALL</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>0x7</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>all flags.</para><para></para></entry>
-            </row>
-          </tbody>
-        </tgroup>
-      </informaltable>
-    </refsect3>
-  </refsect2>
-
-  <refsect2 id="NMDeviceInterfaceFlags" role="enum">
-    <title>enum NMDeviceInterfaceFlags</title>
-    <indexterm zone="NMDeviceInterfaceFlags">
-      <primary>NMDeviceInterfaceFlags</primary>
-    </indexterm>
-    <para><para>Flags for a network interface.</para><para>Since: 1.22</para><para></para></para>
-    <refsect3 role="enum_members">
-      <title>Values</title>
-      <informaltable role="enum_members_table" pgwide="1" frame="none">
-        <tgroup cols="4">
-          <colspec colname="enum_members_name" colwidth="300px" />
-          <colspec colname="enum_members_value" colwidth="100px"/>
-          <colspec colname="enum_members_description" />
-          <tbody>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_DEVICE_INTERFACE_FLAG_NONE</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>0</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>an alias for numeric zero, no flags set.</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_DEVICE_INTERFACE_FLAG_UP</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>0x1</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>the interface is enabled from the administrative point of view. Corresponds to kernel IFF_UP.</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_DEVICE_INTERFACE_FLAG_LOWER_UP</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>0x2</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>the physical link is up. Corresponds to kernel IFF_LOWER_UP.</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_DEVICE_INTERFACE_FLAG_PROMISC</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>0x4</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>receive all packets. Corresponds to kernel IFF_PROMISC. Since: 1.32.</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_DEVICE_INTERFACE_FLAG_CARRIER</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>0x10000</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>the interface has carrier. In most cases this is equal to the value of @NM_DEVICE_INTERFACE_FLAG_LOWER_UP. However some devices have a non-standard carrier detection mechanism.</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_DEVICE_INTERFACE_FLAG_LLDP_CLIENT_ENABLED</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>0x20000</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>the flag to indicate device LLDP status. Since: 1.32.</para><para></para></entry>
-            </row>
-          </tbody>
-        </tgroup>
-      </informaltable>
-    </refsect3>
-  </refsect2>
-
-  <refsect2 id="NMClientPermission" role="enum">
-    <title>enum NMClientPermission</title>
-    <indexterm zone="NMClientPermission">
-      <primary>NMClientPermission</primary>
-    </indexterm>
-    <para><para><link linkend="NMClientPermission">NMClientPermission</link> values indicate various permissions that NetworkManager clients can obtain to perform certain tasks on behalf of the current user.</para><para></para></para>
-    <refsect3 role="enum_members">
-      <title>Values</title>
-      <informaltable role="enum_members_table" pgwide="1" frame="none">
-        <tgroup cols="4">
-          <colspec colname="enum_members_name" colwidth="300px" />
-          <colspec colname="enum_members_value" colwidth="100px"/>
-          <colspec colname="enum_members_description" />
-          <tbody>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_CLIENT_PERMISSION_NONE</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>0</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>unknown or no permission</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_CLIENT_PERMISSION_ENABLE_DISABLE_NETWORK</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>1</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>controls whether networking can be globally enabled or disabled</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_CLIENT_PERMISSION_ENABLE_DISABLE_WIFI</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>2</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>controls whether Wi-Fi can be globally enabled or disabled</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_CLIENT_PERMISSION_ENABLE_DISABLE_WWAN</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>3</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>controls whether WWAN (3G) can be globally enabled or disabled</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_CLIENT_PERMISSION_ENABLE_DISABLE_WIMAX</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>4</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>controls whether WiMAX can be globally enabled or disabled</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_CLIENT_PERMISSION_SLEEP_WAKE</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>5</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>controls whether the client can ask NetworkManager to sleep and wake</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_CLIENT_PERMISSION_NETWORK_CONTROL</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>6</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>controls whether networking connections can be started, stopped, and changed</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_CLIENT_PERMISSION_WIFI_SHARE_PROTECTED</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>7</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>controls whether a password protected Wi-Fi hotspot can be created</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_CLIENT_PERMISSION_WIFI_SHARE_OPEN</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>8</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>controls whether an open Wi-Fi hotspot can be created</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_CLIENT_PERMISSION_SETTINGS_MODIFY_SYSTEM</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>9</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>controls whether connections that are available to all users can be modified</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_CLIENT_PERMISSION_SETTINGS_MODIFY_OWN</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>10</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>controls whether connections owned by the current user can be modified</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_CLIENT_PERMISSION_SETTINGS_MODIFY_HOSTNAME</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>11</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>controls whether the persistent hostname can be changed</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_CLIENT_PERMISSION_SETTINGS_MODIFY_GLOBAL_DNS</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>12</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>modify persistent global DNS configuration</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_CLIENT_PERMISSION_RELOAD</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>13</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>controls access to Reload.</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_CLIENT_PERMISSION_CHECKPOINT_ROLLBACK</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>14</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>permission to create checkpoints.</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_CLIENT_PERMISSION_ENABLE_DISABLE_STATISTICS</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>15</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>controls whether device statistics can be globally enabled or disabled</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_CLIENT_PERMISSION_ENABLE_DISABLE_CONNECTIVITY_CHECK</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>16</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>controls whether connectivity check can be enabled or disabled</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_CLIENT_PERMISSION_WIFI_SCAN</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>17</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>controls whether wifi scans can be performed</para><para></para></entry>
-            </row>
-          </tbody>
-        </tgroup>
-      </informaltable>
-    </refsect3>
-  </refsect2>
-
-  <refsect2 id="NMClientPermissionResult" role="enum">
-    <title>enum NMClientPermissionResult</title>
-    <indexterm zone="NMClientPermissionResult">
-      <primary>NMClientPermissionResult</primary>
-    </indexterm>
-    <para><para><link linkend="NMClientPermissionResult">NMClientPermissionResult</link> values indicate what authorizations and permissions the user requires to obtain a given <link linkend="NMClientPermission">NMClientPermission</link></para><para></para></para>
-    <refsect3 role="enum_members">
-      <title>Values</title>
-      <informaltable role="enum_members_table" pgwide="1" frame="none">
-        <tgroup cols="4">
-          <colspec colname="enum_members_name" colwidth="300px" />
-          <colspec colname="enum_members_value" colwidth="100px"/>
-          <colspec colname="enum_members_description" />
-          <tbody>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_CLIENT_PERMISSION_RESULT_UNKNOWN</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>0</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>unknown or no authorization</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_CLIENT_PERMISSION_RESULT_YES</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>1</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>the permission is available</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_CLIENT_PERMISSION_RESULT_AUTH</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>2</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>authorization is necessary before the permission is available</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_CLIENT_PERMISSION_RESULT_NO</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>3</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>permission to perform the operation is denied by system policy</para><para></para></entry>
-            </row>
-          </tbody>
-        </tgroup>
-      </informaltable>
-    </refsect3>
-  </refsect2>
-
-  <refsect2 id="NMRadioFlags" role="enum">
-    <title>enum NMRadioFlags</title>
-    <indexterm zone="NMRadioFlags">
-      <primary>NMRadioFlags</primary>
-    </indexterm>
-    <para><para>Flags related to radio interfaces.</para><para>Since: 1.38</para><para></para></para>
-    <refsect3 role="enum_members">
-      <title>Values</title>
-      <informaltable role="enum_members_table" pgwide="1" frame="none">
-        <tgroup cols="4">
-          <colspec colname="enum_members_name" colwidth="300px" />
-          <colspec colname="enum_members_value" colwidth="100px"/>
-          <colspec colname="enum_members_description" />
-          <tbody>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_RADIO_FLAG_NONE</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>0</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>an alias for numeric zero, no flags set.</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_RADIO_FLAG_WLAN_AVAILABLE</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>0x1</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>A Wireless LAN device or rfkill switch is detected in the system.</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_RADIO_FLAG_WWAN_AVAILABLE</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>0x2</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>A Wireless WAN device or rfkill switch is detected in the system.</para><para></para></entry>
-            </row>
-          </tbody>
-        </tgroup>
-      </informaltable>
-    </refsect3>
-  </refsect2>
-
-  <refsect2 id="NMMptcpFlags" role="enum">
-    <title>enum NMMptcpFlags</title>
-    <indexterm zone="NMMptcpFlags">
-      <primary>NMMptcpFlags</primary>
-    </indexterm>
-    <para><para>Since: 1.40</para><para></para></para>
-    <refsect3 role="enum_members">
-      <title>Values</title>
-      <informaltable role="enum_members_table" pgwide="1" frame="none">
-        <tgroup cols="4">
-          <colspec colname="enum_members_name" colwidth="300px" />
-          <colspec colname="enum_members_value" colwidth="100px"/>
-          <colspec colname="enum_members_description" />
-          <tbody>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_MPTCP_FLAGS_NONE</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>0</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>The default, meaning that no MPTCP flags are set.</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_MPTCP_FLAGS_DISABLED</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>0x1</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>don't configure MPTCP endpoints on the device.</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_MPTCP_FLAGS_ENABLED</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>0x2</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>MPTCP is enabled and endpoints will be configured. This flag is implied if any of the other flags indicate that MPTCP is enabled and therefore in most cases unnecessary. Note that if "/proc/sys/net/mptcp/enabled" sysctl is disabled, MPTCP handling is disabled despite this flag. This can be overruled with the "also-without-sysctl" flag. Note that by default interfaces that don't have a default route are excluded from having MPTCP endpoints configured. This can be overruled with the "also-without-default-route" and this affects endpoints per address family.</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_MPTCP_FLAGS_ALSO_WITHOUT_SYSCTL</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>0x4</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>even if MPTCP handling is enabled via the "enabled" flag, it is ignored unless "/proc/sys/net/mptcp/enabled" is on. With this flag, MPTCP endpoints will be configured regardless of the sysctl setting.</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_MPTCP_FLAGS_ALSO_WITHOUT_DEFAULT_ROUTE</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>0x8</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>even if MPTCP handling is enabled via the "enabled" flag, it is ignored per-address family unless NetworkManager configures a default route. With this flag, NetworkManager will also configure MPTCP endpoints if there is no default route. This takes effect per-address family.</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_MPTCP_FLAGS_SIGNAL</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>0x10</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>Flag for the MPTCP endpoint. The endpoint will be announced/signaled to each peer via an MPTCP ADD_ADDR sub-option.</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_MPTCP_FLAGS_SUBFLOW</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>0x20</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>Flag for the MPTCP endpoint. If additional subflow creation is allowed by the MPTCP limits, the MPTCP path manager will try to create an additional subflow using this endpoint as the source address after the MPTCP connection is established.</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_MPTCP_FLAGS_BACKUP</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>0x40</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>Flag for the MPTCP endpoint. If this is a subflow endpoint, the subflows created using this endpoint will have the backup flag set during the connection process. This flag instructs the peer to only send data on a given subflow when all non-backup subflows are unavailable. This does not affect outgoing data, where subflow priority is determined by the backup/non-backup flag received from the peer</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_MPTCP_FLAGS_FULLMESH</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>0x80</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>Flag for the MPTCP endpoint. If this is a subflow endpoint and additional subflow creation is allowed by the MPTCP limits, the MPTCP path manager will try to create an additional subflow for each known peer address, using this endpoint as the source address. This will occur after the MPTCP connection is established. If the peer did not announce any additional addresses using the MPTCP ADD_ADDR sub-option, this will behave the same as a plain subflow endpoint. When the peer does announce addresses, each received ADD_ADDR sub-option will trigger creation of an additional subflow to generate a full mesh topology.</para><para></para></entry>
-            </row>
-          </tbody>
-        </tgroup>
-      </informaltable>
-    </refsect3>
-  </refsect2>
-
-</refentry>
diff --git a/src/libnm-core-public/nm-setting-8021x.h b/src/libnm-core-public/nm-setting-8021x.h
index d91850f7..f22a6ee5 100644
--- a/src/libnm-core-public/nm-setting-8021x.h
+++ b/src/libnm-core-public/nm-setting-8021x.h
@@ -155,6 +155,7 @@ typedef enum /*< underscore_name=nm_setting_802_1x_auth_flags, flags >*/ {
 #define NM_SETTING_802_1X_SYSTEM_CA_CERTS                   "system-ca-certs"
 #define NM_SETTING_802_1X_AUTH_TIMEOUT                      "auth-timeout"
 #define NM_SETTING_802_1X_OPTIONAL                          "optional"
+#define NM_SETTING_802_1X_OPENSSL_CIPHERS                   "openssl-ciphers"
 
 /* PRIVATE KEY NOTE: when setting PKCS#12 private keys directly via properties
  * using the "blob" scheme, the data must be passed in PKCS#12 binary format.
@@ -358,6 +359,8 @@ NM_AVAILABLE_IN_1_8
 int nm_setting_802_1x_get_auth_timeout(NMSetting8021x *setting);
 NM_AVAILABLE_IN_1_22
 gboolean nm_setting_802_1x_get_optional(NMSetting8021x *setting);
+NM_AVAILABLE_IN_1_48
+const char *nm_setting_802_1x_get_openssl_ciphers(NMSetting8021x *setting);
 
 G_END_DECLS
 
diff --git a/src/libnm-core-public/nm-setting-connection.h b/src/libnm-core-public/nm-setting-connection.h
index c7ac1659..298fb144 100644
--- a/src/libnm-core-public/nm-setting-connection.h
+++ b/src/libnm-core-public/nm-setting-connection.h
@@ -64,6 +64,7 @@ G_BEGIN_DECLS
 #define NM_SETTING_CONNECTION_WAIT_DEVICE_TIMEOUT   "wait-device-timeout"
 #define NM_SETTING_CONNECTION_MUD_URL               "mud-url"
 #define NM_SETTING_CONNECTION_WAIT_ACTIVATION_DELAY "wait-activation-delay"
+#define NM_SETTING_CONNECTION_DOWN_ON_POWEROFF      "down-on-poweroff"
 
 /* Types for property values */
 /**
@@ -158,6 +159,23 @@ typedef enum {
     NM_SETTING_CONNECTION_DNS_OVER_TLS_YES           = 2,
 } NMSettingConnectionDnsOverTls;
 
+/**
+ * NMSettingConnectionDownOnPoweroff:
+ * @NM_SETTING_CONNECTION_DOWN_ON_POWEROFF_DEFAULT: default value
+ * @NM_SETTING_CONNECTION_DOWN_ON_POWEROFF_NO: disable down-on-poweroff
+ * @NM_SETTING_CONNECTION_DOWN_ON_POWEROFF_YES: enable down-on-poweroff
+ *
+ * #NMSettingConnectionDownOnPoweroff indicates whether the connection will be
+ * brought down before the system is powered off.
+ *
+ * Since: 1.48
+ */
+typedef enum {
+    NM_SETTING_CONNECTION_DOWN_ON_POWEROFF_DEFAULT = -1,
+    NM_SETTING_CONNECTION_DOWN_ON_POWEROFF_NO      = 0,
+    NM_SETTING_CONNECTION_DOWN_ON_POWEROFF_YES     = 1,
+} NMSettingConnectionDownOnPoweroff;
+
 typedef struct _NMSettingConnectionClass NMSettingConnectionClass;
 
 GType nm_setting_connection_get_type(void);
@@ -254,6 +272,10 @@ gint32 nm_setting_connection_get_wait_device_timeout(NMSettingConnection *settin
 NM_AVAILABLE_IN_1_40
 gint32 nm_setting_connection_get_wait_activation_delay(NMSettingConnection *setting);
 
+NM_AVAILABLE_IN_1_48
+NMSettingConnectionDownOnPoweroff
+nm_setting_connection_get_down_on_poweroff(NMSettingConnection *setting);
+
 NM_AVAILABLE_IN_1_26
 const char *nm_setting_connection_get_mud_url(NMSettingConnection *setting);
 
diff --git a/src/libnm-core-public/nm-setting-ip-config.h b/src/libnm-core-public/nm-setting-ip-config.h
index 40609f44..3b732882 100644
--- a/src/libnm-core-public/nm-setting-ip-config.h
+++ b/src/libnm-core-public/nm-setting-ip-config.h
@@ -342,6 +342,7 @@ char *nm_ip_routing_rule_to_string(const NMIPRoutingRule       *self,
 #define NM_SETTING_IP_CONFIG_DHCP_REJECT_SERVERS "dhcp-reject-servers"
 #define NM_SETTING_IP_CONFIG_AUTO_ROUTE_EXT_GW   "auto-route-ext-gw"
 #define NM_SETTING_IP_CONFIG_REPLACE_LOCAL_RULE  "replace-local-rule"
+#define NM_SETTING_IP_CONFIG_DHCP_SEND_RELEASE   "dhcp-send-release"
 
 /* these are not real GObject properties. */
 #define NM_SETTING_IP_CONFIG_ROUTING_RULES "routing-rules"
@@ -509,6 +510,8 @@ NM_AVAILABLE_IN_1_42
 NMTernary nm_setting_ip_config_get_auto_route_ext_gw(NMSettingIPConfig *setting);
 NM_AVAILABLE_IN_1_44
 NMTernary nm_setting_ip_config_get_replace_local_rule(NMSettingIPConfig *setting);
+NM_AVAILABLE_IN_1_48
+NMTernary nm_setting_ip_config_get_dhcp_send_release(NMSettingIPConfig *setting);
 
 G_END_DECLS
 
diff --git a/src/libnm-core-public/nm-setting-ip6-config.h b/src/libnm-core-public/nm-setting-ip6-config.h
index 0403cdf8..b17fc465 100644
--- a/src/libnm-core-public/nm-setting-ip6-config.h
+++ b/src/libnm-core-public/nm-setting-ip6-config.h
@@ -30,6 +30,10 @@ G_BEGIN_DECLS
 
 #define NM_SETTING_IP6_CONFIG_IP6_PRIVACY "ip6-privacy"
 
+#define NM_SETTING_IP6_CONFIG_TEMP_VALID_LIFETIME "temp-valid-lifetime"
+
+#define NM_SETTING_IP6_CONFIG_TEMP_PREFERRED_LIFETIME "temp-preferred-lifetime"
+
 #define NM_SETTING_IP6_CONFIG_ADDR_GEN_MODE "addr-gen-mode"
 
 #define NM_SETTING_IP6_CONFIG_TOKEN "token"
@@ -156,6 +160,10 @@ GType nm_setting_ip6_config_get_type(void);
 NMSetting *nm_setting_ip6_config_new(void);
 
 NMSettingIP6ConfigPrivacy nm_setting_ip6_config_get_ip6_privacy(NMSettingIP6Config *setting);
+NM_AVAILABLE_IN_1_48
+gint32 nm_setting_ip6_config_get_temp_valid_lifetime(NMSettingIP6Config *setting);
+NM_AVAILABLE_IN_1_48
+gint32 nm_setting_ip6_config_get_temp_preferred_lifetime(NMSettingIP6Config *setting);
 NM_AVAILABLE_IN_1_2
 NMSettingIP6ConfigAddrGenMode nm_setting_ip6_config_get_addr_gen_mode(NMSettingIP6Config *setting);
 NM_AVAILABLE_IN_1_4
diff --git a/src/libnm-core-public/nm-setting-wired.h b/src/libnm-core-public/nm-setting-wired.h
index 5ad3b7f2..dab22978 100644
--- a/src/libnm-core-public/nm-setting-wired.h
+++ b/src/libnm-core-public/nm-setting-wired.h
@@ -73,6 +73,7 @@ typedef enum /*< flags >*/ {
 #define NM_SETTING_WIRED_CLONED_MAC_ADDRESS        "cloned-mac-address"
 #define NM_SETTING_WIRED_GENERATE_MAC_ADDRESS_MASK "generate-mac-address-mask"
 #define NM_SETTING_WIRED_MAC_ADDRESS_BLACKLIST     "mac-address-blacklist"
+#define NM_SETTING_WIRED_MAC_ADDRESS_DENYLIST      "mac-address-denylist"
 #define NM_SETTING_WIRED_MTU                       "mtu"
 #define NM_SETTING_WIRED_S390_SUBCHANNELS          "s390-subchannels"
 #define NM_SETTING_WIRED_S390_NETTYPE              "s390-nettype"
@@ -99,14 +100,30 @@ NMTernary nm_setting_wired_get_accept_all_mac_addresses(NMSettingWired *setting)
 NM_AVAILABLE_IN_1_4
 const char *nm_setting_wired_get_generate_mac_address_mask(NMSettingWired *setting);
 
+NM_DEPRECATED_IN_1_48
 const char *const *nm_setting_wired_get_mac_address_blacklist(NMSettingWired *setting);
-guint32            nm_setting_wired_get_num_mac_blacklist_items(NMSettingWired *setting);
-const char        *nm_setting_wired_get_mac_blacklist_item(NMSettingWired *setting, guint32 idx);
+NM_DEPRECATED_IN_1_48
+guint32 nm_setting_wired_get_num_mac_blacklist_items(NMSettingWired *setting);
+NM_DEPRECATED_IN_1_48
+const char *nm_setting_wired_get_mac_blacklist_item(NMSettingWired *setting, guint32 idx);
+NM_DEPRECATED_IN_1_48
 gboolean nm_setting_wired_add_mac_blacklist_item(NMSettingWired *setting, const char *mac);
-void     nm_setting_wired_remove_mac_blacklist_item(NMSettingWired *setting, guint32 idx);
+NM_DEPRECATED_IN_1_48
+void nm_setting_wired_remove_mac_blacklist_item(NMSettingWired *setting, guint32 idx);
+NM_DEPRECATED_IN_1_48
 gboolean nm_setting_wired_remove_mac_blacklist_item_by_value(NMSettingWired *setting,
                                                              const char     *mac);
-void     nm_setting_wired_clear_mac_blacklist_items(NMSettingWired *setting);
+NM_DEPRECATED_IN_1_48
+void nm_setting_wired_clear_mac_blacklist_items(NMSettingWired *setting);
+
+const char *const *nm_setting_wired_get_mac_address_denylist(NMSettingWired *setting);
+guint32            nm_setting_wired_get_num_mac_denylist_items(NMSettingWired *setting);
+const char        *nm_setting_wired_get_mac_denylist_item(NMSettingWired *setting, guint32 idx);
+gboolean           nm_setting_wired_add_mac_denylist_item(NMSettingWired *setting, const char *mac);
+void               nm_setting_wired_remove_mac_denylist_item(NMSettingWired *setting, guint32 idx);
+gboolean           nm_setting_wired_remove_mac_denylist_item_by_value(NMSettingWired *setting,
+                                                                      const char     *mac);
+void               nm_setting_wired_clear_mac_denylist_items(NMSettingWired *setting);
 
 guint32 nm_setting_wired_get_mtu(NMSettingWired *setting);
 
diff --git a/src/libnm-core-public/nm-setting-wireless.h b/src/libnm-core-public/nm-setting-wireless.h
index 5f8d09c5..e240a354 100644
--- a/src/libnm-core-public/nm-setting-wireless.h
+++ b/src/libnm-core-public/nm-setting-wireless.h
@@ -84,6 +84,7 @@ typedef enum /*< flags >*/ {
 #define NM_SETTING_WIRELESS_CLONED_MAC_ADDRESS        "cloned-mac-address"
 #define NM_SETTING_WIRELESS_GENERATE_MAC_ADDRESS_MASK "generate-mac-address-mask"
 #define NM_SETTING_WIRELESS_MAC_ADDRESS_BLACKLIST     "mac-address-blacklist"
+#define NM_SETTING_WIRELESS_MAC_ADDRESS_DENYLIST      "mac-address-denylist"
 #define NM_SETTING_WIRELESS_MTU                       "mtu"
 #define NM_SETTING_WIRELESS_SEEN_BSSIDS               "seen-bssids"
 #define NM_SETTING_WIRELESS_HIDDEN                    "hidden"
@@ -168,14 +169,30 @@ const char *nm_setting_wireless_get_cloned_mac_address(NMSettingWireless *settin
 NM_AVAILABLE_IN_1_4
 const char *nm_setting_wireless_get_generate_mac_address_mask(NMSettingWireless *setting);
 
+NM_DEPRECATED_IN_1_48
 const char *const *nm_setting_wireless_get_mac_address_blacklist(NMSettingWireless *setting);
-guint32            nm_setting_wireless_get_num_mac_blacklist_items(NMSettingWireless *setting);
+NM_DEPRECATED_IN_1_48
+guint32 nm_setting_wireless_get_num_mac_blacklist_items(NMSettingWireless *setting);
+NM_DEPRECATED_IN_1_48
 const char *nm_setting_wireless_get_mac_blacklist_item(NMSettingWireless *setting, guint32 idx);
-gboolean    nm_setting_wireless_add_mac_blacklist_item(NMSettingWireless *setting, const char *mac);
-void        nm_setting_wireless_remove_mac_blacklist_item(NMSettingWireless *setting, guint32 idx);
-gboolean    nm_setting_wireless_remove_mac_blacklist_item_by_value(NMSettingWireless *setting,
-                                                                   const char        *mac);
-void        nm_setting_wireless_clear_mac_blacklist_items(NMSettingWireless *setting);
+NM_DEPRECATED_IN_1_48
+gboolean nm_setting_wireless_add_mac_blacklist_item(NMSettingWireless *setting, const char *mac);
+NM_DEPRECATED_IN_1_48
+void nm_setting_wireless_remove_mac_blacklist_item(NMSettingWireless *setting, guint32 idx);
+NM_DEPRECATED_IN_1_48
+gboolean nm_setting_wireless_remove_mac_blacklist_item_by_value(NMSettingWireless *setting,
+                                                                const char        *mac);
+NM_DEPRECATED_IN_1_48
+void nm_setting_wireless_clear_mac_blacklist_items(NMSettingWireless *setting);
+
+const char *const *nm_setting_wireless_get_mac_address_denylist(NMSettingWireless *setting);
+guint32            nm_setting_wireless_get_num_mac_denylist_items(NMSettingWireless *setting);
+const char *nm_setting_wireless_get_mac_denylist_item(NMSettingWireless *setting, guint32 idx);
+gboolean    nm_setting_wireless_add_mac_denylist_item(NMSettingWireless *setting, const char *mac);
+void        nm_setting_wireless_remove_mac_denylist_item(NMSettingWireless *setting, guint32 idx);
+gboolean    nm_setting_wireless_remove_mac_denylist_item_by_value(NMSettingWireless *setting,
+                                                                  const char        *mac);
+void        nm_setting_wireless_clear_mac_denylist_items(NMSettingWireless *setting);
 
 guint32  nm_setting_wireless_get_mtu(NMSettingWireless *setting);
 gboolean nm_setting_wireless_get_hidden(NMSettingWireless *setting);
diff --git a/src/libnm-core-public/nm-version-macros.h b/src/libnm-core-public/nm-version-macros.h
deleted file mode 100644
index 7e0b4a36..00000000
--- a/src/libnm-core-public/nm-version-macros.h
+++ /dev/null
@@ -1,98 +0,0 @@
-/* SPDX-License-Identifier: LGPL-2.1-or-later */
-/*
- * Copyright (C) 2011, 2015 Red Hat, Inc.
- */
-
-#ifndef __NM_VERSION_MACROS_H__
-#define __NM_VERSION_MACROS_H__
-
-/* This header must not include glib or libnm. */
-
-/**
- * NM_MAJOR_VERSION:
- *
- * Evaluates to the major version number of NetworkManager which this source
- * is compiled against.
- */
-#define NM_MAJOR_VERSION (1)
-
-/**
- * NM_MINOR_VERSION:
- *
- * Evaluates to the minor version number of NetworkManager which this source
- * is compiled against.
- */
-#define NM_MINOR_VERSION (46)
-
-/**
- * NM_MICRO_VERSION:
- *
- * Evaluates to the micro version number of NetworkManager which this source
- * compiled against.
- */
-#define NM_MICRO_VERSION (0)
-
-/**
- * NM_CHECK_VERSION:
- * @major: major version (e.g. 1 for version 1.2.5)
- * @minor: minor version (e.g. 2 for version 1.2.5)
- * @micro: micro version (e.g. 5 for version 1.2.5)
- *
- * Returns: %TRUE if the version of the NetworkManager header files
- * is the same as or newer than the passed-in version.
- */
-#define NM_CHECK_VERSION(major, minor, micro)                                                       \
-    (NM_MAJOR_VERSION > (major) ||                                                                  \
-     (NM_MAJOR_VERSION == (major) && NM_MINOR_VERSION > (minor)) ||                                 \
-     (NM_MAJOR_VERSION == (major) && NM_MINOR_VERSION == (minor) && NM_MICRO_VERSION >= (micro)))
-
-#define NM_ENCODE_VERSION(major, minor, micro) ((major) << 16 | (minor) << 8 | (micro))
-
-#define NM_VERSION_0_9_8  (NM_ENCODE_VERSION(0, 9, 8))
-#define NM_VERSION_0_9_10 (NM_ENCODE_VERSION(0, 9, 10))
-#define NM_VERSION_1_0    (NM_ENCODE_VERSION(1, 0, 0))
-#define NM_VERSION_1_2    (NM_ENCODE_VERSION(1, 2, 0))
-#define NM_VERSION_1_4    (NM_ENCODE_VERSION(1, 4, 0))
-#define NM_VERSION_1_6    (NM_ENCODE_VERSION(1, 6, 0))
-#define NM_VERSION_1_8    (NM_ENCODE_VERSION(1, 8, 0))
-#define NM_VERSION_1_10   (NM_ENCODE_VERSION(1, 10, 0))
-#define NM_VERSION_1_12   (NM_ENCODE_VERSION(1, 12, 0))
-#define NM_VERSION_1_14   (NM_ENCODE_VERSION(1, 14, 0))
-#define NM_VERSION_1_16   (NM_ENCODE_VERSION(1, 16, 0))
-#define NM_VERSION_1_18   (NM_ENCODE_VERSION(1, 18, 0))
-#define NM_VERSION_1_20   (NM_ENCODE_VERSION(1, 20, 0))
-#define NM_VERSION_1_22   (NM_ENCODE_VERSION(1, 22, 0))
-#define NM_VERSION_1_24   (NM_ENCODE_VERSION(1, 24, 0))
-#define NM_VERSION_1_26   (NM_ENCODE_VERSION(1, 26, 0))
-#define NM_VERSION_1_28   (NM_ENCODE_VERSION(1, 28, 0))
-#define NM_VERSION_1_30   (NM_ENCODE_VERSION(1, 30, 0))
-#define NM_VERSION_1_32   (NM_ENCODE_VERSION(1, 32, 0))
-#define NM_VERSION_1_34   (NM_ENCODE_VERSION(1, 34, 0))
-#define NM_VERSION_1_36   (NM_ENCODE_VERSION(1, 36, 0))
-#define NM_VERSION_1_38   (NM_ENCODE_VERSION(1, 38, 0))
-#define NM_VERSION_1_40   (NM_ENCODE_VERSION(1, 40, 0))
-#define NM_VERSION_1_42   (NM_ENCODE_VERSION(1, 42, 0))
-#define NM_VERSION_1_44   (NM_ENCODE_VERSION(1, 44, 0))
-#define NM_VERSION_1_46   (NM_ENCODE_VERSION(1, 46, 0))
-
-/* For releases, NM_API_VERSION is equal to NM_VERSION.
- *
- * For development builds, NM_API_VERSION is the next
- * stable API after NM_VERSION. When you run a development
- * version, you are already using the future API, even if
- * it is not yet released. Hence, the currently used API
- * version is the future one.  */
-#define NM_API_VERSION                                                                                  \
-    (((NM_MINOR_VERSION % 2) == 1)                                                                      \
-        ? NM_ENCODE_VERSION (NM_MAJOR_VERSION, NM_MINOR_VERSION + 1, 0                               )  \
-        : NM_ENCODE_VERSION (NM_MAJOR_VERSION, NM_MINOR_VERSION    , ((NM_MICRO_VERSION + 1) / 2) * 2))
-
-/* deprecated. */
-#define NM_VERSION_CUR_STABLE NM_API_VERSION
-
-/* deprecated. */
-#define NM_VERSION_NEXT_STABLE NM_API_VERSION
-
-#define NM_VERSION NM_ENCODE_VERSION(NM_MAJOR_VERSION, NM_MINOR_VERSION, NM_MICRO_VERSION)
-
-#endif /* __NM_VERSION_MACROS_H__ */
diff --git a/src/libnm-core-public/nm-version-macros.h.in b/src/libnm-core-public/nm-version-macros.h.in
index 072b8ca5..7967f280 100644
--- a/src/libnm-core-public/nm-version-macros.h.in
+++ b/src/libnm-core-public/nm-version-macros.h.in
@@ -74,6 +74,7 @@
 #define NM_VERSION_1_42   (NM_ENCODE_VERSION(1, 42, 0))
 #define NM_VERSION_1_44   (NM_ENCODE_VERSION(1, 44, 0))
 #define NM_VERSION_1_46   (NM_ENCODE_VERSION(1, 46, 0))
+#define NM_VERSION_1_48   (NM_ENCODE_VERSION(1, 48, 0))
 
 /* For releases, NM_API_VERSION is equal to NM_VERSION.
  *
diff --git a/src/libnm-core-public/nm-version.h b/src/libnm-core-public/nm-version.h
index 24471129..419da2e1 100644
--- a/src/libnm-core-public/nm-version.h
+++ b/src/libnm-core-public/nm-version.h
@@ -383,6 +383,20 @@
 #define NM_AVAILABLE_IN_1_46
 #endif
 
+#if NM_VERSION_MIN_REQUIRED >= NM_VERSION_1_48
+#define NM_DEPRECATED_IN_1_48        G_DEPRECATED
+#define NM_DEPRECATED_IN_1_48_FOR(f) G_DEPRECATED_FOR(f)
+#else
+#define NM_DEPRECATED_IN_1_48
+#define NM_DEPRECATED_IN_1_48_FOR(f)
+#endif
+
+#if NM_VERSION_MAX_ALLOWED < NM_VERSION_1_48
+#define NM_AVAILABLE_IN_1_48 G_UNAVAILABLE(1, 48)
+#else
+#define NM_AVAILABLE_IN_1_48
+#endif
+
 /*
  * Synchronous API for calling D-Bus in libnm is deprecated. See
  * https://networkmanager.dev/docs/libnm/latest/usage.html#sync-api
diff --git a/src/libnm-core-public/nm-vpn-dbus-types.xml b/src/libnm-core-public/nm-vpn-dbus-types.xml
deleted file mode 100644
index 5da02420..00000000
--- a/src/libnm-core-public/nm-vpn-dbus-types.xml
+++ /dev/null
@@ -1,246 +0,0 @@
-<?xml version='1.0'?>
-<?xml-stylesheet type="text/xsl" href="http://docbook.sourceforge.net/release/xsl/current/xhtml/docbook.xsl"?>
-<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
-
-<refentry id="nm-vpn-dbus-types">
-  <refmeta>
-    <refentrytitle role="top_of_page" id="nm-vpn-dbus-types.top_of_page">VPN Plugin D-Bus API Types</refentrytitle>
-    <manvolnum>3</manvolnum>
-    <refmiscinfo>VPN Plugin D-Bus API Types</refmiscinfo>
-  </refmeta>
-  <refnamediv>
-    <refname>VPN Plugin D-Bus API Types</refname>
-    <refpurpose></refpurpose>
-  </refnamediv>
-
-  <refsect2 id="NMVpnServiceState" role="enum">
-    <title>enum NMVpnServiceState</title>
-    <indexterm zone="NMVpnServiceState">
-      <primary>NMVpnServiceState</primary>
-    </indexterm>
-    <para><para>VPN daemon states</para><para></para></para>
-    <refsect3 role="enum_members">
-      <title>Values</title>
-      <informaltable role="enum_members_table" pgwide="1" frame="none">
-        <tgroup cols="4">
-          <colspec colname="enum_members_name" colwidth="300px" />
-          <colspec colname="enum_members_value" colwidth="100px"/>
-          <colspec colname="enum_members_description" />
-          <tbody>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_VPN_SERVICE_STATE_UNKNOWN</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>0</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>The state of the VPN plugin is unknown.</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_VPN_SERVICE_STATE_INIT</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>1</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>The VPN plugin is initialized.</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_VPN_SERVICE_STATE_SHUTDOWN</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>2</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>Not used.</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_VPN_SERVICE_STATE_STARTING</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>3</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>The plugin is attempting to connect to a VPN server.</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_VPN_SERVICE_STATE_STARTED</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>4</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>The plugin has connected to a VPN server.</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_VPN_SERVICE_STATE_STOPPING</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>5</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>The plugin is disconnecting from the VPN server.</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_VPN_SERVICE_STATE_STOPPED</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>6</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>The plugin has disconnected from the VPN server.</para><para></para></entry>
-            </row>
-          </tbody>
-        </tgroup>
-      </informaltable>
-    </refsect3>
-  </refsect2>
-
-  <refsect2 id="NMVpnConnectionState" role="enum">
-    <title>enum NMVpnConnectionState</title>
-    <indexterm zone="NMVpnConnectionState">
-      <primary>NMVpnConnectionState</primary>
-    </indexterm>
-    <para><para>VPN connection states</para><para></para></para>
-    <refsect3 role="enum_members">
-      <title>Values</title>
-      <informaltable role="enum_members_table" pgwide="1" frame="none">
-        <tgroup cols="4">
-          <colspec colname="enum_members_name" colwidth="300px" />
-          <colspec colname="enum_members_value" colwidth="100px"/>
-          <colspec colname="enum_members_description" />
-          <tbody>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_VPN_CONNECTION_STATE_UNKNOWN</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>0</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>The state of the VPN connection is unknown.</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_VPN_CONNECTION_STATE_PREPARE</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>1</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>The VPN connection is preparing to connect.</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_VPN_CONNECTION_STATE_NEED_AUTH</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>2</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>The VPN connection needs authorization credentials.</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_VPN_CONNECTION_STATE_CONNECT</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>3</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>The VPN connection is being established.</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_VPN_CONNECTION_STATE_IP_CONFIG_GET</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>4</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>The VPN connection is getting an IP address.</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_VPN_CONNECTION_STATE_ACTIVATED</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>5</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>The VPN connection is active.</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_VPN_CONNECTION_STATE_FAILED</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>6</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>The VPN connection failed.</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_VPN_CONNECTION_STATE_DISCONNECTED</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>7</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>The VPN connection is disconnected.</para><para></para></entry>
-            </row>
-          </tbody>
-        </tgroup>
-      </informaltable>
-    </refsect3>
-  </refsect2>
-
-  <refsect2 id="NMVpnConnectionStateReason" role="enum">
-    <title>enum NMVpnConnectionStateReason</title>
-    <indexterm zone="NMVpnConnectionStateReason">
-      <primary>NMVpnConnectionStateReason</primary>
-    </indexterm>
-    <para><para>VPN connection state reasons</para><para></para></para>
-    <refsect3 role="enum_members">
-      <title>Values</title>
-      <informaltable role="enum_members_table" pgwide="1" frame="none">
-        <tgroup cols="4">
-          <colspec colname="enum_members_name" colwidth="300px" />
-          <colspec colname="enum_members_value" colwidth="100px"/>
-          <colspec colname="enum_members_description" />
-          <tbody>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_VPN_CONNECTION_STATE_REASON_UNKNOWN</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>0</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>The reason for the VPN connection state change is unknown.</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_VPN_CONNECTION_STATE_REASON_NONE</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>1</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>No reason was given for the VPN connection state change.</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_VPN_CONNECTION_STATE_REASON_USER_DISCONNECTED</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>2</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>The VPN connection changed state because the user disconnected it.</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_VPN_CONNECTION_STATE_REASON_DEVICE_DISCONNECTED</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>3</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>The VPN connection changed state because the device it was using was disconnected.</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_VPN_CONNECTION_STATE_REASON_SERVICE_STOPPED</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>4</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>The service providing the VPN connection was stopped.</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_VPN_CONNECTION_STATE_REASON_IP_CONFIG_INVALID</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>5</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>The IP config of the VPN connection was invalid.</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_VPN_CONNECTION_STATE_REASON_CONNECT_TIMEOUT</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>6</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>The connection attempt to the VPN service timed out.</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_VPN_CONNECTION_STATE_REASON_SERVICE_START_TIMEOUT</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>7</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>A timeout occurred while starting the service providing the VPN connection.</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_VPN_CONNECTION_STATE_REASON_SERVICE_START_FAILED</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>8</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>Starting the service starting the service providing the VPN connection failed.</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_VPN_CONNECTION_STATE_REASON_NO_SECRETS</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>9</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>Necessary secrets for the VPN connection were not provided.</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_VPN_CONNECTION_STATE_REASON_LOGIN_FAILED</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>10</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>Authentication to the VPN server failed.</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_VPN_CONNECTION_STATE_REASON_CONNECTION_REMOVED</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>11</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>The connection was deleted from settings.</para><para></para></entry>
-            </row>
-          </tbody>
-        </tgroup>
-      </informaltable>
-    </refsect3>
-  </refsect2>
-
-  <refsect2 id="NMVpnPluginFailure" role="enum">
-    <title>enum NMVpnPluginFailure</title>
-    <indexterm zone="NMVpnPluginFailure">
-      <primary>NMVpnPluginFailure</primary>
-    </indexterm>
-    <para><para>VPN plugin failure reasons</para><para></para></para>
-    <refsect3 role="enum_members">
-      <title>Values</title>
-      <informaltable role="enum_members_table" pgwide="1" frame="none">
-        <tgroup cols="4">
-          <colspec colname="enum_members_name" colwidth="300px" />
-          <colspec colname="enum_members_value" colwidth="100px"/>
-          <colspec colname="enum_members_description" />
-          <tbody>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_VPN_PLUGIN_FAILURE_LOGIN_FAILED</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>0</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>Login failed.</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_VPN_PLUGIN_FAILURE_CONNECT_FAILED</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>1</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>Connect failed.</para><para></para></entry>
-            </row>
-            <row role="constant">
-              <entry role="enum_member_name"><para>NM_VPN_PLUGIN_FAILURE_BAD_IP_CONFIG</para><para></para></entry>
-              <entry role="enum_member_value"><para>= <literal>2</literal></para><para></para></entry>
-              <entry role="enum_member_description"><para>Invalid IP configuration returned from the VPN plugin.</para><para></para></entry>
-            </row>
-          </tbody>
-        </tgroup>
-      </informaltable>
-    </refsect3>
-  </refsect2>
-
-</refentry>