about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorSebastien Bacher <seb128@ubuntu.com>2021-08-25 15:24:42 +0200
committerSebastien Bacher <seb128@ubuntu.com>2021-08-25 15:24:42 +0200
commitdbb91282fa488964fb20595f9494a9f0e4f36a58 (patch)
tree142bc942e5320b35514cdf03a5f9f47a9b89df0e /src
parent5f2ede3a2813b0e9204befdcfc67509d34be71c6 (diff)
parentcfb80376641fa49137b9996130352697e7f8b436 (diff)
Update upstream source from tag 'upstream/1.32.10'
Update to upstream version '1.32.10'
with Debian dir fcf2778b50b013ede3e7375bc1d829e984175658
Diffstat (limited to 'src')
-rw-r--r--src/core/devices/nm-acd-manager.c11
-rw-r--r--src/core/devices/nm-device-bond.c4
-rw-r--r--src/core/devices/nm-device.c248
-rw-r--r--src/core/devices/nm-device.h1
-rw-r--r--src/core/devices/wwan/nm-device-modem.c19
-rw-r--r--src/core/dhcp/nm-dhcp-nettools.c30
-rw-r--r--src/core/dhcp/nm-dhcp-options.c8
-rw-r--r--src/core/dhcp/nm-dhcp-options.h3
-rw-r--r--src/core/main.c4
-rw-r--r--src/core/nm-config-data.c81
-rw-r--r--src/core/nm-config-data.h4
-rw-r--r--src/core/nm-config.c34
-rw-r--r--src/core/nm-config.h3
-rw-r--r--src/core/nm-core-utils.c106
-rw-r--r--src/core/nm-core-utils.h4
-rw-r--r--src/core/nm-firewall-utils.c26
-rw-r--r--src/core/nm-firewalld-manager.c76
-rw-r--r--src/core/nm-firewalld-manager.h6
-rw-r--r--src/core/nm-ip4-config.c26
-rw-r--r--src/core/nm-ip6-config.c7
-rw-r--r--src/core/nm-manager.c92
-rw-r--r--src/core/nm-policy.c13
-rw-r--r--src/core/platform/nm-fake-platform.c3
-rw-r--r--src/core/platform/tests/test-common.c4
-rw-r--r--src/core/platform/tests/test-route.c104
-rw-r--r--src/core/ppp/meson.build1
-rw-r--r--src/core/settings/nm-settings-connection.c227
-rw-r--r--src/core/settings/nm-settings-connection.h2
-rw-r--r--src/core/settings/nm-settings.c63
-rwxr-xr-x[-rw-r--r--]src/core/settings/plugins/ifcfg-rh/nm-ifdown47
-rwxr-xr-x[-rw-r--r--]src/core/settings/plugins/ifcfg-rh/nm-ifup47
-rw-r--r--src/core/settings/plugins/ifcfg-rh/nms-ifcfg-rh-reader.c31
-rw-r--r--src/core/settings/plugins/ifcfg-rh/nms-ifcfg-rh-utils.c2
-rw-r--r--src/core/settings/plugins/ifcfg-rh/nms-ifcfg-rh-utils.h2
-rw-r--r--src/core/settings/plugins/ifcfg-rh/nms-ifcfg-rh-writer.c6
-rw-r--r--src/core/settings/plugins/ifcfg-rh/shvar.c136
-rw-r--r--src/core/settings/plugins/ifcfg-rh/shvar.h3
-rw-r--r--src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wifi-wpa-eap-suite-b-192-tls1
-rw-r--r--src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wifi-wpa-eap-ttls-tls1
-rw-r--r--src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-write-unknown-4.expected6
-rw-r--r--src/core/settings/plugins/ifcfg-rh/tests/test-ifcfg-rh.c53
-rw-r--r--src/core/tests/meson.build2
-rw-r--r--src/libnm-base/nm-config-base.h2
-rw-r--r--src/libnm-client-impl/libnm.ver5
-rw-r--r--src/libnm-client-impl/nm-libnm-utils.c11
-rw-r--r--src/libnm-client-impl/nm-property-infos-nmcli.xml3
-rw-r--r--src/libnm-client-impl/nm-settings-docs-gir.xml2
-rw-r--r--src/libnm-client-impl/tests/test-libnm.c54
-rw-r--r--src/libnm-core-aux-intern/nm-libnm-core-utils.c1
-rw-r--r--src/libnm-core-impl/meson.build36
-rw-r--r--src/libnm-core-impl/nm-connection.c2
-rw-r--r--src/libnm-core-impl/nm-keyfile-utils.c4
-rw-r--r--src/libnm-core-impl/nm-keyfile.c3
-rw-r--r--src/libnm-core-impl/nm-setting-bond.c37
-rw-r--r--src/libnm-core-impl/nm-setting-ip-config.c61
-rw-r--r--src/libnm-core-impl/nm-setting-ip4-config.c2
-rw-r--r--src/libnm-core-impl/nm-setting-ip6-config.c9
-rw-r--r--src/libnm-core-impl/nm-setting-wireless.c60
-rw-r--r--src/libnm-core-impl/tests/meson.build2
-rw-r--r--src/libnm-core-impl/tests/test-general.c14
-rw-r--r--src/libnm-core-intern/nm-core-internal.h5
-rw-r--r--src/libnm-core-public/nm-setting-bond.h1
-rw-r--r--src/libnm-core-public/nm-setting-ip-config.h5
-rw-r--r--src/libnm-core-public/nm-version-macros.h3
-rw-r--r--src/libnm-core-public/nm-version-macros.h.in1
-rw-r--r--src/libnm-core-public/nm-version.h6
-rw-r--r--src/libnm-glib-aux/nm-dedup-multi.h46
-rw-r--r--src/libnm-glib-aux/nm-errno.c14
-rw-r--r--src/libnm-glib-aux/nm-io-utils.c64
-rw-r--r--src/libnm-glib-aux/nm-io-utils.h2
-rw-r--r--src/libnm-glib-aux/nm-keyfile-aux.c118
-rw-r--r--src/libnm-glib-aux/nm-keyfile-aux.h6
-rw-r--r--src/libnm-glib-aux/nm-macros-internal.h8
-rw-r--r--src/libnm-glib-aux/nm-random-utils.c297
-rw-r--r--src/libnm-glib-aux/nm-shared-utils.c102
-rw-r--r--src/libnm-glib-aux/nm-shared-utils.h47
-rw-r--r--src/libnm-glib-aux/nm-str-buf.h7
-rw-r--r--src/libnm-glib-aux/tests/test-shared-general.c44
-rw-r--r--src/libnm-platform/nm-linux-platform.c1
-rw-r--r--src/libnm-platform/nm-platform.c62
-rw-r--r--src/libnm-platform/nm-platform.h8
-rw-r--r--src/libnm-platform/nmp-netns.c10
-rw-r--r--src/libnm-platform/nmp-object.h15
-rw-r--r--src/libnm-std-aux/nm-std-aux.h16
-rw-r--r--src/libnm-systemd-shared/sd-adapt-shared/nm-sd-adapt-shared.h7
-rw-r--r--src/libnmc-setting/nm-meta-setting-desc.c30
-rw-r--r--src/libnmc-setting/settings-docs-input.xml2
-rw-r--r--src/libnmc-setting/settings-docs.h6
-rw-r--r--src/libnmc-setting/settings-docs.h.in6
-rw-r--r--src/libnmc-setting/tests/meson.build1
-rw-r--r--src/n-dhcp4/src/n-dhcp4-c-lease.c44
-rw-r--r--src/n-dhcp4/src/n-dhcp4.h3
-rw-r--r--src/nm-cloud-setup/main.c14
-rw-r--r--src/nm-cloud-setup/meson.build1
-rw-r--r--src/nm-cloud-setup/nm-cloud-setup-utils.c14
-rw-r--r--src/nm-cloud-setup/nm-cloud-setup-utils.h2
-rw-r--r--src/nm-cloud-setup/nm-cloud-setup.service.in1
-rw-r--r--src/nm-cloud-setup/nmcs-provider-aliyun.c511
-rw-r--r--src/nm-cloud-setup/nmcs-provider-aliyun.h28
-rw-r--r--src/nm-cloud-setup/nmcs-provider-azure.c10
-rw-r--r--src/nm-cloud-setup/nmcs-provider-ec2.c16
-rw-r--r--src/nm-cloud-setup/nmcs-provider.h2
-rw-r--r--src/nm-cloud-setup/tests/meson.build1
-rw-r--r--src/nm-dispatcher/meson.build1
-rw-r--r--src/nm-dispatcher/tests/meson.build1
-rw-r--r--src/nm-initrd-generator/meson.build2
-rw-r--r--src/nm-initrd-generator/nm-initrd-generator.c8
-rw-r--r--src/nm-initrd-generator/nm-initrd-generator.h3
-rw-r--r--src/nm-initrd-generator/nmi-cmdline-reader.c151
-rw-r--r--src/nm-initrd-generator/tests/test-cmdline-reader.c289
-rw-r--r--src/nm-online/meson.build1
-rw-r--r--src/nmcli/common.c12
-rw-r--r--src/nmcli/generate-docs-nm-settings-nmcli.xml8
-rw-r--r--src/nmcli/generate-docs-nm-settings-nmcli.xml.in8
-rw-r--r--src/nmcli/meson.build2
-rw-r--r--src/nmcli/utils.h2
-rw-r--r--src/tests/client/test-client.check-on-disk/test_003.expected996
-rw-r--r--src/tests/client/test-client.check-on-disk/test_004.expected2676
118 files changed, 5282 insertions, 2320 deletions
diff --git a/src/core/devices/nm-acd-manager.c b/src/core/devices/nm-acd-manager.c
index 995abacd..145947bb 100644
--- a/src/core/devices/nm-acd-manager.c
+++ b/src/core/devices/nm-acd-manager.c
@@ -188,6 +188,7 @@ acd_event(int fd, GIOCondition condition, gpointer data)
         char          to_string_buffer[ACD_EVENT_TO_STRING_BUF_SIZE];
         gs_free char *hwaddr_str         = NULL;
         gboolean      check_probing_done = FALSE;
+        char          buf[ETH_ALEN * 3];
 
         switch (event->event) {
         case N_ACD_EVENT_READY:
@@ -202,8 +203,9 @@ acd_event(int fd, GIOCondition condition, gpointer data)
                           nm_platform_link_get_name(NM_PLATFORM_GET, self->ifindex),
                           acd_error_to_string(r));
                 } else {
-                    _LOGD("announcing address %s",
-                          _nm_utils_inet4_ntop(info->address, address_str));
+                    _LOGD("announcing address %s (hw-addr %s)",
+                          _nm_utils_inet4_ntop(info->address, address_str),
+                          _nm_utils_hwaddr_ntoa(self->hwaddr, ETH_ALEN, TRUE, buf, sizeof(buf)));
                 }
             }
             check_probing_done = TRUE;
@@ -394,6 +396,7 @@ nm_acd_manager_announce_addresses(NMAcdManager *self)
     int            r;
     int            fd;
     gboolean       success = TRUE;
+    char           buf[ETH_ALEN * 3];
 
     r = acd_init(self);
     if (r) {
@@ -428,7 +431,9 @@ nm_acd_manager_announce_addresses(NMAcdManager *self)
                       acd_error_to_string(r));
                 success = FALSE;
             } else
-                _LOGD("announcing address %s", _nm_utils_inet4_ntop(info->address, sbuf));
+                _LOGD("announcing address %s (hw-addr %s)",
+                      _nm_utils_inet4_ntop(info->address, sbuf),
+                      _nm_utils_hwaddr_ntoa(self->hwaddr, ETH_ALEN, TRUE, buf, sizeof(buf)));
         }
     }
 
diff --git a/src/core/devices/nm-device-bond.c b/src/core/devices/nm-device-bond.c
index 3b3b8fcd..b208e2c0 100644
--- a/src/core/devices/nm-device-bond.c
+++ b/src/core/devices/nm-device-bond.c
@@ -34,7 +34,7 @@
         NM_SETTING_BOND_OPTION_PACKETS_PER_SLAVE, NM_SETTING_BOND_OPTION_PRIMARY_RESELECT, \
         NM_SETTING_BOND_OPTION_RESEND_IGMP, NM_SETTING_BOND_OPTION_TLB_DYNAMIC_LB,         \
         NM_SETTING_BOND_OPTION_USE_CARRIER, NM_SETTING_BOND_OPTION_XMIT_HASH_POLICY,       \
-        NM_SETTING_BOND_OPTION_NUM_GRAT_ARP
+        NM_SETTING_BOND_OPTION_NUM_GRAT_ARP, NM_SETTING_BOND_OPTION_PEER_NOTIF_DELAY
 
 #define OPTIONS_REAPPLY_SUBSET                                                            \
     NM_SETTING_BOND_OPTION_MIIMON, NM_SETTING_BOND_OPTION_UPDELAY,                        \
@@ -46,7 +46,7 @@
         NM_SETTING_BOND_OPTION_MIN_LINKS, NM_SETTING_BOND_OPTION_PACKETS_PER_SLAVE,       \
         NM_SETTING_BOND_OPTION_PRIMARY_RESELECT, NM_SETTING_BOND_OPTION_RESEND_IGMP,      \
         NM_SETTING_BOND_OPTION_USE_CARRIER, NM_SETTING_BOND_OPTION_XMIT_HASH_POLICY,      \
-        NM_SETTING_BOND_OPTION_NUM_GRAT_ARP
+        NM_SETTING_BOND_OPTION_NUM_GRAT_ARP, NM_SETTING_BOND_OPTION_PEER_NOTIF_DELAY
 
 #define OPTIONS_REAPPLY_FULL                                     \
     OPTIONS_REAPPLY_SUBSET, NM_SETTING_BOND_OPTION_ACTIVE_SLAVE, \
diff --git a/src/core/devices/nm-device.c b/src/core/devices/nm-device.c
index 1c70ecb3..50386d00 100644
--- a/src/core/devices/nm-device.c
+++ b/src/core/devices/nm-device.c
@@ -499,8 +499,18 @@ typedef struct _NMDevicePrivate {
 
     NMDeviceStageState stage1_sriov_state : 3;
 
+    bool ip_config_started : 1;
+
     char *current_stable_id;
 
+    union {
+        struct {
+            GSource *ip_req_timeout_source_6;
+            GSource *ip_req_timeout_source_4;
+        };
+        GSource *ip_req_timeout_source_x[2];
+    };
+
     /* Proxy Configuration */
     NMProxyConfig *    proxy_config;
     NMPacrunnerConfId *pacrunner_conf_id;
@@ -766,6 +776,7 @@ static void sriov_op_cb(GError *error, gpointer user_data);
 
 static void device_ifindex_changed_cb(NMManager *manager, NMDevice *device_changed, NMDevice *self);
 static gboolean device_link_changed(NMDevice *self);
+static void     check_ip_state(NMDevice *self, gboolean may_fail, gboolean full_state_update);
 
 /*****************************************************************************/
 
@@ -1364,6 +1375,40 @@ out:
     return timeout;
 }
 
+static guint32
+_prop_get_ipvx_required_timeout(NMDevice *self, int addr_family)
+{
+    NMConnection *     connection;
+    NMSettingIPConfig *s_ip;
+    int                timeout;
+
+    nm_assert(NM_IS_DEVICE(self));
+    nm_assert_addr_family(addr_family);
+
+    connection = nm_device_get_applied_connection(self);
+    if (!connection)
+        return 0;
+
+    s_ip = nm_connection_get_setting_ip_config(connection, addr_family);
+    if (!s_ip)
+        return 0;
+
+    timeout = nm_setting_ip_config_get_required_timeout(s_ip);
+    nm_assert(timeout >= -1);
+
+    if (timeout > -1)
+        return (guint32) timeout;
+
+    return nm_config_data_get_connection_default_int64(
+        NM_CONFIG_GET_DATA,
+        NM_IS_IPv4(addr_family) ? NM_CON_DEFAULT("ipv4.required-timeout")
+                                : NM_CON_DEFAULT("ipv6.required-timeout"),
+        self,
+        0,
+        G_MAXINT32,
+        0);
+}
+
 /**
  * _prop_get_ipvx_dhcp_iaid:
  * @self: the #NMDevice
@@ -2787,14 +2832,72 @@ _add_capabilities(NMDevice *self, NMDeviceCapabilities capabilities)
 
 /*****************************************************************************/
 
+static gboolean
+ip_required_timeout_x(NMDevice *self, int addr_family)
+{
+    NMDevicePrivate *priv = NM_DEVICE_GET_PRIVATE(self);
+
+    _LOGD(LOGD_CORE,
+          "required-timeout expired for IPv%c",
+          nm_utils_addr_family_to_char(addr_family));
+    nm_clear_g_source_inst(&priv->ip_req_timeout_source_x[NM_IS_IPv4(addr_family)]);
+    check_ip_state(self, FALSE, TRUE);
+    return G_SOURCE_CONTINUE;
+}
+
+static gboolean
+ip_required_timeout_4(gpointer data)
+{
+    return ip_required_timeout_x(data, AF_INET);
+}
+
+static gboolean
+ip_required_timeout_6(gpointer data)
+{
+    return ip_required_timeout_x(data, AF_INET6);
+}
+
 static void
 _set_ip_state(NMDevice *self, int addr_family, NMDeviceIPState new_state)
 {
     NMDevicePrivate *priv    = NM_DEVICE_GET_PRIVATE(self);
     const int        IS_IPv4 = NM_IS_IPv4(addr_family);
+    guint            timeout_msec;
+    int              v4;
 
     nm_assert_addr_family(addr_family);
 
+    if (new_state == NM_DEVICE_IP_STATE_CONF && !priv->ip_config_started) {
+        /* Start the required-timeout timers when one of IPv4/IPv6
+         * enters the CONF state. This means that if there is no carrier and
+         * ipv4.method=auto,ipv6.method=manual, the timeout for IPv4 will
+         * start as soon as connection is activated, even if DHCPv4 did not
+         * start yet.
+         */
+        priv->ip_config_started = TRUE;
+
+        for (v4 = 1; v4 >= 0; v4--) {
+            char buf[32];
+
+            nm_assert(!priv->ip_req_timeout_source_x[v4]);
+            if ((timeout_msec = _prop_get_ipvx_required_timeout(self, v4 ? AF_INET : AF_INET6))) {
+                _LOGD(LOGD_CORE,
+                      "required-timeout in %s msec for IPv%c",
+                      timeout_msec == G_MAXINT32 ? "∞" : nm_sprintf_buf(buf, "%u", timeout_msec),
+                      v4 ? '4' : '6');
+
+                if (timeout_msec == G_MAXINT32) {
+                    priv->ip_req_timeout_source_x[v4] = g_source_ref(nm_g_source_sentinel_get(0));
+                } else {
+                    priv->ip_req_timeout_source_x[v4] =
+                        nm_g_timeout_add_source(timeout_msec,
+                                                v4 ? ip_required_timeout_4 : ip_required_timeout_6,
+                                                self);
+                }
+            }
+        }
+    }
+
     if (priv->ip_state_x[IS_IPv4] == new_state)
         return;
 
@@ -4671,10 +4774,6 @@ nm_device_master_enslave_slave(NMDevice *self, NMDevice *slave, NMConnection *co
      */
     nm_device_update_hw_address(self);
 
-    /* Send ARP announcements if did not yet and have addresses. */
-    if (priv->ip_state_4 == NM_DEVICE_IP_STATE_DONE && !priv->acd.announcing)
-        nm_device_arp_announce(self);
-
     /* Restart IP configuration if we're waiting for slaves.  Do this
      * after updating the hardware address as IP config may need the
      * new address.
@@ -5003,6 +5102,10 @@ nm_device_set_carrier(NMDevice *self, gboolean carrier)
             nm_device_remove_pending_action(self, NM_PENDING_ACTION_CARRIER_WAIT, FALSE);
             _carrier_wait_check_queued_act_request(self);
         }
+
+        /* Send ARP announcements if did not yet and have carrier. */
+        if (priv->ip_state_4 == NM_DEVICE_IP_STATE_DONE && !priv->acd.announcing)
+            nm_device_arp_announce(self);
     } else {
         if (priv->carrier_wait_id)
             nm_device_add_pending_action(self, NM_PENDING_ACTION_CARRIER_WAIT, FALSE);
@@ -6576,6 +6679,7 @@ check_ip_state(NMDevice *self, gboolean may_fail, gboolean full_state_update)
     gboolean           ip4_disabled = FALSE, ip6_disabled = FALSE;
     NMSettingIPConfig *s_ip4, *s_ip6;
     NMDeviceState      state;
+    int                IS_IPv4;
 
     if (full_state_update && nm_device_get_state(self) != NM_DEVICE_STATE_IP_CONFIG)
         return;
@@ -6605,6 +6709,13 @@ check_ip_state(NMDevice *self, gboolean may_fail, gboolean full_state_update)
         return;
     }
 
+    for (IS_IPv4 = 1; IS_IPv4 >= 0; IS_IPv4--) {
+        if (priv->ip_state_x[IS_IPv4] == NM_DEVICE_IP_STATE_CONF
+            && priv->ip_req_timeout_source_x[IS_IPv4]) {
+            return;
+        }
+    }
+
     if ((priv->ip_state_4 == NM_DEVICE_IP_STATE_FAIL
          || (ip4_disabled && priv->ip_state_4 == NM_DEVICE_IP_STATE_DONE))
         && (priv->ip_state_6 == NM_DEVICE_IP_STATE_FAIL
@@ -7128,6 +7239,16 @@ _get_maybe_ipv6_disabled(NMDevice *self)
     return (nm_platform_sysctl_get_int32(platform, NMP_SYSCTL_PATHID_ABSOLUTE(path), 0) == 0);
 }
 
+/*
+ * nm_device_generate_connection:
+ *
+ * Generates a connection from an existing interface.
+ *
+ * If the device doesn't have an IP configuration and it's not a port or a
+ * controller, then no connection gets generated and the function returns
+ * %NULL. In such case, @maybe_later is set to %TRUE if a connection can be
+ * generated later when an IP address is assigned to the interface.
+ */
 NMConnection *
 nm_device_generate_connection(NMDevice *self,
                               NMDevice *master,
@@ -7384,6 +7505,8 @@ check_connection_compatible(NMDevice *self, NMConnection *connection, GError **e
     gs_free char *        conn_iface = NULL;
     NMDeviceClass *       klass;
     NMSettingMatch *      s_match;
+    const GSList *        specs;
+    gboolean              has_match = FALSE;
 
     klass = NM_DEVICE_GET_CLASS(self);
     if (klass->connection_type_check_compatible) {
@@ -7460,6 +7583,15 @@ check_connection_compatible(NMDevice *self, NMConnection *connection, GError **e
         }
     }
 
+    specs =
+        nm_config_data_get_device_allowed_connections_specs(NM_CONFIG_GET_DATA, self, &has_match);
+    if (has_match && !nm_utils_connection_match_spec_list(connection, specs, FALSE)) {
+        nm_utils_error_set_literal(error,
+                                   NM_UTILS_ERROR_CONNECTION_AVAILABLE_DISALLOWED,
+                                   "device configuration doesn't allow this connection");
+        return FALSE;
+    }
+
     return TRUE;
 }
 
@@ -7526,7 +7658,7 @@ nm_device_check_slave_connection_compatible(NMDevice *self, NMConnection *slave)
  *
  * Returns: %TRUE if the device is capable of assuming connections, %FALSE if not
  */
-static gboolean
+gboolean
 nm_device_can_assume_connections(NMDevice *self)
 {
     return !!NM_DEVICE_GET_CLASS(self)->update_connection;
@@ -9857,6 +9989,7 @@ dhcp6_start_with_link_ready(NMDevice *self, NMConnection *connection)
     gboolean                    iaid_explicit;
     NMSettingConnection *       s_con;
     const NMPlatformIP6Address *ll_addr = NULL;
+    int                         ip_ifindex;
 
     g_return_val_if_fail(connection, FALSE);
 
@@ -9876,7 +10009,13 @@ dhcp6_start_with_link_ready(NMDevice *self, NMConnection *connection)
         return FALSE;
     }
 
-    pllink = nm_platform_link_get(nm_device_get_platform(self), nm_device_get_ip_ifindex(self));
+    ip_ifindex = nm_device_get_ip_ifindex(self);
+    if (ip_ifindex <= 0) {
+        _LOGD(LOGD_DHCP6, "can't start DHCPv6: interface is gone");
+        return FALSE;
+    }
+
+    pllink = nm_platform_link_get(nm_device_get_platform(self), ip_ifindex);
     if (pllink)
         hwaddr = nmp_link_address_get_as_bytes(&pllink->l_address);
 
@@ -9887,7 +10026,7 @@ dhcp6_start_with_link_ready(NMDevice *self, NMConnection *connection)
         nm_dhcp_manager_get(),
         nm_device_get_multi_index(self),
         nm_device_get_ip_iface(self),
-        nm_device_get_ip_ifindex(self),
+        ip_ifindex,
         &ll_addr->address,
         nm_connection_get_uuid(connection),
         nm_device_get_route_table(self, AF_INET6),
@@ -9997,7 +10136,9 @@ nm_device_request_ip6_prefixes(NMDevice *self, int needed_prefixes)
         _LOGD(LOGD_IP6, "ipv6-pd: asking DHCPv6 for %d prefixes", needed_prefixes);
         nm_device_dhcp6_renew(self, FALSE);
     } else {
-        _LOGI(LOGD_IP6, "ipv6-pd: device doesn't use DHCPv6, can't request prefixes");
+        priv->dhcp6.mode = NM_NDISC_DHCP_LEVEL_OTHERCONF;
+        _LOGD(LOGD_DEVICE | LOGD_DHCP6, "ipv6-pd: starting DHCPv6 to request a prefix");
+        dhcp6_start(self, FALSE);
     }
 }
 
@@ -10541,10 +10682,30 @@ _commit_mtu(NMDevice *self, const NMIP4Config *config)
         }
     }
 
+#define _IP6_MTU_SYS()                                                                         \
+    ({                                                                                         \
+        if (!ip6_mtu_sysctl.initialized) {                                                     \
+            ip6_mtu_sysctl.value       = nm_device_sysctl_ip_conf_get_int_checked(self,        \
+                                                                            AF_INET6,    \
+                                                                            "mtu",       \
+                                                                            10,          \
+                                                                            0,           \
+                                                                            G_MAXUINT32, \
+                                                                            0);          \
+            ip6_mtu_sysctl.initialized = TRUE;                                                 \
+        }                                                                                      \
+        ip6_mtu_sysctl.value;                                                                  \
+    })
+
     if (mtu_desired && NM_DEVICE_GET_CLASS(self)->mtu_force_set && !priv->mtu_force_set_done) {
         priv->mtu_force_set_done = TRUE;
-
         if (mtu_desired == mtu_plat) {
+            if (!priv->mtu_initial && !priv->ip6_mtu_initial) {
+                /* before touching any of the MTU parameters, record the
+                 * original setting to restore on deactivation. */
+                priv->mtu_initial     = mtu_plat;
+                priv->ip6_mtu_initial = _IP6_MTU_SYS();
+            }
             mtu_plat--;
             if (NM_DEVICE_GET_CLASS(self)->set_platform_mtu(self, mtu_desired - 1)) {
                 _LOGD(LOGD_DEVICE, "mtu: force-set MTU to %u", mtu_desired - 1);
@@ -10563,20 +10724,6 @@ _commit_mtu(NMDevice *self, const NMIP4Config *config)
           ip6_mtu == ip6_mtu_orig ? "" : nm_sprintf_buf(sbuf2, " (was %u)", (guint) ip6_mtu_orig),
           ifindex);
 
-#define _IP6_MTU_SYS()                                                                         \
-    ({                                                                                         \
-        if (!ip6_mtu_sysctl.initialized) {                                                     \
-            ip6_mtu_sysctl.value       = nm_device_sysctl_ip_conf_get_int_checked(self,        \
-                                                                            AF_INET6,    \
-                                                                            "mtu",       \
-                                                                            10,          \
-                                                                            0,           \
-                                                                            G_MAXUINT32, \
-                                                                            0);          \
-            ip6_mtu_sysctl.initialized = TRUE;                                                 \
-        }                                                                                      \
-        ip6_mtu_sysctl.value;                                                                  \
-    })
     if ((mtu_desired && mtu_desired != mtu_plat) || (ip6_mtu && ip6_mtu != _IP6_MTU_SYS())) {
         gboolean anticipated_failure = FALSE;
 
@@ -11805,11 +11952,12 @@ activate_stage5_ip_config_result_x(NMDevice *self, int addr_family)
     const char *     method;
     int              ip_ifindex;
     int              errsv;
-    gboolean         do_announce = FALSE;
 
     req = nm_device_get_act_request(self);
     g_assert(req);
 
+    nm_clear_g_source_inst(&priv->ip_req_timeout_source_x[IS_IPv4]);
+
     /* Interface must be IFF_UP before IP config can be applied */
     ip_ifindex = nm_device_get_ip_ifindex(self);
     g_return_if_fail(ip_ifindex);
@@ -11931,31 +12079,13 @@ activate_stage5_ip_config_result_x(NMDevice *self, int addr_family)
         }
     }
 
-    if (IS_IPv4) {
-        /* Send ARP announcements */
-
-        if (nm_device_is_master(self)) {
-            CList *    iter;
-            SlaveInfo *info;
-
-            /* Skip announcement if there are no device enslaved, for two reasons:
-             * 1) the master has a temporary MAC address until the first slave comes
-             * 2) announcements are going to be dropped anyway without slaves
-             */
-            do_announce = FALSE;
-
-            c_list_for_each (iter, &priv->slaves) {
-                info = c_list_entry(iter, SlaveInfo, lst_slave);
-                if (info->slave_is_enslaved) {
-                    do_announce = TRUE;
-                    break;
-                }
-            }
-        } else
-            do_announce = TRUE;
-
-        if (do_announce)
-            nm_device_arp_announce(self);
+    if (IS_IPv4 && priv->carrier) {
+        /* We send ARP announcements only when the link gets carrier,
+         * otherwise the announcements would be lost. Furthermore, for
+         * controllers having carrier implies that there is at least one
+         * port and therefore the MAC address is the correct one.
+         */
+        nm_device_arp_announce(self);
     }
 
     if (IS_IPv4) {
@@ -13697,18 +13827,24 @@ void
 nm_device_replace_vpn6_config(NMDevice *self, NMIP6Config *old, NMIP6Config *config)
 {
     NMDevicePrivate *priv = NM_DEVICE_GET_PRIVATE(self);
+    NMDeviceState    state;
 
     nm_assert(!old || NM_IS_IP6_CONFIG(old));
+    nm_assert(!old || nm_ip6_config_get_ifindex(old) > 0);
+    nm_assert(!old || nm_device_get_ip_ifindex(self) == 0
+              || nm_device_get_ip_ifindex(self) == nm_ip6_config_get_ifindex(old));
     nm_assert(!config || NM_IS_IP6_CONFIG(config));
-    nm_assert(!old || nm_ip6_config_get_ifindex(old) == nm_device_get_ip_ifindex(self));
-    nm_assert(!config || nm_ip6_config_get_ifindex(config) == nm_device_get_ip_ifindex(self));
+    nm_assert(!config || nm_ip6_config_get_ifindex(config) > 0);
+    nm_assert(!config || nm_device_get_ip_ifindex(self) == nm_ip6_config_get_ifindex(config));
 
     if (!_replace_vpn_config_in_list(&priv->vpn_configs_6, (GObject *) old, (GObject *) config))
         return;
 
-    /* NULL to use existing configs */
-    if (!ip_config_merge_and_apply(self, AF_INET6, TRUE))
-        _LOGW(LOGD_IP6, "failed to set VPN routes for device");
+    state = nm_device_get_state(self);
+    if (state >= NM_DEVICE_STATE_IP_CONFIG && state <= NM_DEVICE_STATE_ACTIVATED) {
+        if (!ip_config_merge_and_apply(self, AF_INET6, TRUE))
+            _LOGW(LOGD_IP6, "failed to set VPN routes for device");
+    }
 }
 
 NMIP6Config *
@@ -15777,6 +15913,10 @@ _cleanup_generic_pre(NMDevice *self, CleanupType cleanup_type)
 
     _cleanup_ip_pre(self, AF_INET, cleanup_type);
     _cleanup_ip_pre(self, AF_INET6, cleanup_type);
+
+    priv->ip_config_started = FALSE;
+    nm_clear_g_source_inst(&priv->ip_req_timeout_source_4);
+    nm_clear_g_source_inst(&priv->ip_req_timeout_source_6);
 }
 
 static void
diff --git a/src/core/devices/nm-device.h b/src/core/devices/nm-device.h
index 53211c6f..f59b6fa8 100644
--- a/src/core/devices/nm-device.h
+++ b/src/core/devices/nm-device.h
@@ -527,6 +527,7 @@ nm_device_check_connection_compatible(NMDevice *device, NMConnection *connection
 
 gboolean nm_device_check_slave_connection_compatible(NMDevice *device, NMConnection *connection);
 
+gboolean nm_device_can_assume_connections(NMDevice *self);
 gboolean nm_device_unmanage_on_quit(NMDevice *self);
 
 gboolean nm_device_spec_match_list(NMDevice *device, const GSList *specs);
diff --git a/src/core/devices/wwan/nm-device-modem.c b/src/core/devices/wwan/nm-device-modem.c
index a8d2a161..4d892e6f 100644
--- a/src/core/devices/wwan/nm-device-modem.c
+++ b/src/core/devices/wwan/nm-device-modem.c
@@ -193,15 +193,20 @@ modem_ip4_config_result(NMModem *modem, NMIP4Config *config, GError *error, gpoi
     NMDeviceModem *self   = NM_DEVICE_MODEM(user_data);
     NMDevice *     device = NM_DEVICE(self);
 
-    g_return_if_fail(nm_device_activate_ip4_state_in_conf(device) == TRUE);
+    if (!nm_device_activate_ip4_state_in_conf(device)) {
+        _LOGD(LOGD_MB | LOGD_IP4,
+              "retrieving IPv4 configuration while no longer in state IPv4 conf");
+        return;
+    }
 
     if (error) {
         _LOGW(LOGD_MB | LOGD_IP4, "retrieving IPv4 configuration failed: %s", error->message);
         nm_device_ip_method_failed(device, AF_INET, NM_DEVICE_STATE_REASON_IP_CONFIG_UNAVAILABLE);
-    } else {
-        nm_device_set_dev2_ip_config(device, AF_INET, NM_IP_CONFIG_CAST(config));
-        nm_device_activate_schedule_ip_config_result(device, AF_INET, NULL);
+        return;
     }
+
+    nm_device_set_dev2_ip_config(device, AF_INET, NM_IP_CONFIG_CAST(config));
+    nm_device_activate_schedule_ip_config_result(device, AF_INET, NULL);
 }
 
 static void
@@ -218,7 +223,11 @@ modem_ip6_config_result(NMModem *    modem,
     gs_unref_object NMIP6Config *ignored    = NULL;
     gboolean                     got_config = !!config;
 
-    g_return_if_fail(nm_device_activate_ip6_state_in_conf(device) == TRUE);
+    if (!nm_device_activate_ip6_state_in_conf(device)) {
+        _LOGD(LOGD_MB | LOGD_IP6,
+              "retrieving IPv6 configuration while no longer in state IPv6 conf");
+        return;
+    }
 
     if (error) {
         _LOGW(LOGD_MB | LOGD_IP6, "retrieving IPv6 configuration failed: %s", error->message);
diff --git a/src/core/dhcp/nm-dhcp-nettools.c b/src/core/dhcp/nm-dhcp-nettools.c
index fe71f587..4bb6c833 100644
--- a/src/core/dhcp/nm-dhcp-nettools.c
+++ b/src/core/dhcp/nm-dhcp-nettools.c
@@ -694,12 +694,40 @@ lease_to_ip4_config(NMDedupMultiIndex *multi_idx,
 
         /* https://tools.ietf.org/html/rfc2132#section-8.1 */
 
-        v_str = nm_utils_buf_utf8safe_escape((char *) l_data, l_data_len, 0, &to_free);
+        v_str = nm_utils_buf_utf8safe_escape((char *) l_data,
+                                             l_data_len,
+                                             NM_UTILS_STR_UTF8_SAFE_FLAG_ESCAPE_CTRL,
+                                             &to_free);
 
         nm_dhcp_option_add_option(options, AF_INET, NM_DHCP_OPTION_DHCP4_NIS_DOMAIN, v_str ?: "");
         nm_ip4_config_set_nis_domain(ip4_config, v_str ?: "");
     }
 
+    r = n_dhcp4_client_lease_get_file(lease, &v_str);
+    if (r == 0) {
+        gs_free char *to_free = NULL;
+
+        v_str = nm_utils_buf_utf8safe_escape(v_str,
+                                             -1,
+                                             NM_UTILS_STR_UTF8_SAFE_FLAG_ESCAPE_CTRL,
+                                             &to_free);
+        nm_dhcp_option_add_option(options, AF_INET, NM_DHCP_OPTION_DHCP4_NM_FILENAME, v_str ?: "");
+    }
+
+    r = _client_lease_query(lease, NM_DHCP_OPTION_DHCP4_BOOTFILE_NAME, &l_data, &l_data_len);
+    if (r == 0 && nm_dhcp_lease_data_parse_cstr(l_data, l_data_len, &l_data_len)) {
+        gs_free char *to_free = NULL;
+
+        v_str = nm_utils_buf_utf8safe_escape((char *) l_data,
+                                             l_data_len,
+                                             NM_UTILS_STR_UTF8_SAFE_FLAG_ESCAPE_CTRL,
+                                             &to_free);
+        nm_dhcp_option_add_option(options,
+                                  AF_INET,
+                                  NM_DHCP_OPTION_DHCP4_BOOTFILE_NAME,
+                                  v_str ?: "");
+    }
+
     lease_parse_address_list(lease, ip4_config, NM_DHCP_OPTION_DHCP4_NIS_SERVERS, options, &sbuf);
 
     lease_parse_address_list(lease,
diff --git a/src/core/dhcp/nm-dhcp-options.c b/src/core/dhcp/nm-dhcp-options.c
index 8f0d7408..011f23e4 100644
--- a/src/core/dhcp/nm-dhcp-options.c
+++ b/src/core/dhcp/nm-dhcp-options.c
@@ -169,6 +169,7 @@ const NMDhcpOption _nm_dhcp_option_dhcp4_options[] = {
     REQ(NM_DHCP_OPTION_DHCP4_NM_IP_ADDRESS, "ip_address", FALSE),
     REQ(NM_DHCP_OPTION_DHCP4_NM_EXPIRY, "expiry", FALSE),
     REQ(NM_DHCP_OPTION_DHCP4_NM_NEXT_SERVER, "next_server", FALSE),
+    REQ(NM_DHCP_OPTION_DHCP4_NM_FILENAME, "filename", FALSE),
 };
 
 static const NMDhcpOption *const _sorted_options_4[G_N_ELEMENTS(_nm_dhcp_option_dhcp4_options)] = {
@@ -184,7 +185,7 @@ static const NMDhcpOption *const _sorted_options_4[G_N_ELEMENTS(_nm_dhcp_option_
     A(98),  A(99),  A(100), A(101), A(102), A(103), A(104), A(105), A(106), A(107), A(108), A(109),
     A(110), A(111), A(112), A(113), A(114), A(115), A(116), A(117), A(118), A(119), A(120), A(121),
     A(122), A(123), A(124), A(125), A(126), A(127), A(128), A(129), A(130), A(131), A(132), A(133),
-    A(134), A(15),  A(135), A(136), A(16),  A(137), A(138), A(139), A(140), A(141),
+    A(134), A(15),  A(135), A(136), A(16),  A(137), A(138), A(139), A(140), A(141), A(142),
 #undef A
 };
 
@@ -404,7 +405,10 @@ nm_dhcp_option_add_option_utf8safe_escape(GHashTable *  options,
     gs_free char *to_free = NULL;
     const char *  escaped;
 
-    escaped = nm_utils_buf_utf8safe_escape((char *) data, n_data, 0, &to_free);
+    escaped = nm_utils_buf_utf8safe_escape((char *) data,
+                                           n_data,
+                                           NM_UTILS_STR_UTF8_SAFE_FLAG_ESCAPE_CTRL,
+                                           &to_free);
     nm_dhcp_option_add_option(options, addr_family, option, escaped ?: "");
 }
 
diff --git a/src/core/dhcp/nm-dhcp-options.h b/src/core/dhcp/nm-dhcp-options.h
index 585f1187..8ed2039d 100644
--- a/src/core/dhcp/nm-dhcp-options.h
+++ b/src/core/dhcp/nm-dhcp-options.h
@@ -153,6 +153,7 @@ typedef enum {
     NM_DHCP_OPTION_DHCP4_NM_IP_ADDRESS  = 1024,
     NM_DHCP_OPTION_DHCP4_NM_EXPIRY      = 1025,
     NM_DHCP_OPTION_DHCP4_NM_NEXT_SERVER = 1026,
+    NM_DHCP_OPTION_DHCP4_NM_FILENAME    = 1027, /* 'file' DHCP header */
 } NMDhcpOptionDhcp4Options;
 
 typedef enum {
@@ -185,7 +186,7 @@ typedef struct {
     bool        include;
 } NMDhcpOption;
 
-extern const NMDhcpOption _nm_dhcp_option_dhcp4_options[142];
+extern const NMDhcpOption _nm_dhcp_option_dhcp4_options[143];
 extern const NMDhcpOption _nm_dhcp_option_dhcp6_options[16];
 
 static inline const char *
diff --git a/src/core/main.c b/src/core/main.c
index cfcdb860..3cb5c07f 100644
--- a/src/core/main.c
+++ b/src/core/main.c
@@ -304,14 +304,14 @@ main(int argc, char *argv[])
     const char *const *     warnings;
     int                     errsv;
 
+    _nm_utils_is_manager_process = TRUE;
+
     /* Known to cause a possible deadlock upon GDBus initialization:
      * https://bugzilla.gnome.org/show_bug.cgi?id=674885 */
     g_type_ensure(G_TYPE_SOCKET);
     g_type_ensure(G_TYPE_DBUS_CONNECTION);
     g_type_ensure(NM_TYPE_DBUS_MANAGER);
 
-    _nm_utils_is_manager_process = TRUE;
-
     main_loop = g_main_loop_new(NULL, FALSE);
 
     /* we determine a first-start (contrary to a restart during the same boot)
diff --git a/src/core/nm-config-data.c b/src/core/nm-config-data.c
index e127ea23..0cbff027 100644
--- a/src/core/nm-config-data.c
+++ b/src/core/nm-config-data.c
@@ -26,6 +26,15 @@ typedef struct {
         gboolean has;
         GSList * spec;
     } match_device;
+    union {
+        struct {
+            GSList * allowed_connections;
+            gboolean allowed_connections_has;
+        } device;
+    };
+    gboolean is_device;
+
+    /* List of key/value pairs in the section, sorted by key */
     gsize                    lookup_len;
     const NMUtilsNamedValue *lookup_idx;
 } MatchSectionInfo;
@@ -1436,13 +1445,13 @@ _match_section_infos_lookup(const MatchSectionInfo *match_section_infos,
             match = TRUE;
 
         if (match) {
-            *out_value = value;
+            NM_SET_OUT(out_value, value);
             return match_section_infos;
         }
     }
 
 out:
-    *out_value = NULL;
+    NM_SET_OUT(out_value, NULL);
     return NULL;
 }
 
@@ -1538,6 +1547,37 @@ nm_config_data_get_device_config_int64(const NMConfigData *self,
     return _nm_utils_ascii_str_to_int64(value, base, min, max, val_invalid);
 }
 
+const GSList *
+nm_config_data_get_device_allowed_connections_specs(const NMConfigData *self,
+                                                    NMDevice *          device,
+                                                    gboolean *          has_match)
+{
+    const NMConfigDataPrivate *priv;
+    const MatchSectionInfo *   connection_info;
+    const GSList *             ret = NULL;
+
+    g_return_val_if_fail(self, NULL);
+
+    priv = NM_CONFIG_DATA_GET_PRIVATE(self);
+
+    connection_info = _match_section_infos_lookup(&priv->device_infos[0],
+                                                  priv->keyfile,
+                                                  NM_CONFIG_KEYFILE_KEY_DEVICE_ALLOWED_CONNECTIONS,
+                                                  device,
+                                                  NULL,
+                                                  NULL,
+                                                  NULL);
+
+    if (connection_info) {
+        nm_assert(connection_info->device.allowed_connections_has);
+        ret = connection_info->device.allowed_connections;
+        NM_SET_OUT(has_match, TRUE);
+    } else
+        NM_SET_OUT(has_match, FALSE);
+
+    return ret;
+}
+
 const char *
 nm_config_data_get_connection_default(const NMConfigData *self,
                                       const char *        property,
@@ -1610,7 +1650,10 @@ _match_section_info_get_str(const MatchSectionInfo *m, GKeyFile *keyfile, const
 }
 
 static void
-_match_section_info_init(MatchSectionInfo *connection_info, GKeyFile *keyfile, char *group)
+_match_section_info_init(MatchSectionInfo *connection_info,
+                         GKeyFile *        keyfile,
+                         char *            group,
+                         gboolean          is_device)
 {
     char **            keys = NULL;
     gsize              n_keys;
@@ -1629,6 +1672,14 @@ _match_section_info_init(MatchSectionInfo *connection_info, GKeyFile *keyfile, c
     connection_info->stop_match =
         nm_config_keyfile_get_boolean(keyfile, group, NM_CONFIG_KEYFILE_KEY_STOP_MATCH, FALSE);
 
+    if (is_device) {
+        connection_info->device.allowed_connections =
+            nm_config_get_match_spec(keyfile,
+                                     group,
+                                     NM_CONFIG_KEYFILE_KEY_DEVICE_ALLOWED_CONNECTIONS,
+                                     &connection_info->device.allowed_connections_has);
+    }
+
     keys = g_key_file_get_keys(keyfile, group, &n_keys, NULL);
     nm_utils_strv_sort(keys, n_keys);
 
@@ -1680,9 +1731,13 @@ _match_section_infos_free(MatchSectionInfo *match_section_infos)
 
     if (!match_section_infos)
         return;
+
     for (m = match_section_infos; m->group_name; m++) {
         g_free(m->group_name);
         g_slist_free_full(m->match_device.spec, g_free);
+        if (m->is_device) {
+            g_slist_free_full(m->device.allowed_connections, g_free);
+        }
         for (i = 0; i < m->lookup_len; i++) {
             g_free(m->lookup_idx[i].name_mutable);
             g_free(m->lookup_idx[i].value_str_mutable);
@@ -1693,12 +1748,16 @@ _match_section_infos_free(MatchSectionInfo *match_section_infos)
 }
 
 static MatchSectionInfo *
-_match_section_infos_construct(GKeyFile *keyfile, const char *prefix)
+_match_section_infos_construct(GKeyFile *keyfile, gboolean is_device)
 {
     char **           groups;
     gsize             i, j, ngroups;
     char *            connection_tag      = NULL;
     MatchSectionInfo *match_section_infos = NULL;
+    const char *      prefix;
+
+    prefix =
+        is_device ? NM_CONFIG_KEYFILE_GROUPPREFIX_DEVICE : NM_CONFIG_KEYFILE_GROUPPREFIX_CONNECTION;
 
     /* get the list of existing [connection.\+]/[device.\+] sections.
      *
@@ -1730,13 +1789,17 @@ _match_section_infos_construct(GKeyFile *keyfile, const char *prefix)
     }
 
     match_section_infos = g_new0(MatchSectionInfo, ngroups + 1 + (connection_tag ? 1 : 0));
+    match_section_infos->is_device = is_device;
     for (i = 0; i < ngroups; i++) {
         /* pass ownership of @group on... */
-        _match_section_info_init(&match_section_infos[i], keyfile, groups[ngroups - i - 1]);
+        _match_section_info_init(&match_section_infos[i],
+                                 keyfile,
+                                 groups[ngroups - i - 1],
+                                 is_device);
     }
     if (connection_tag) {
         /* pass ownership of @connection_tag on... */
-        _match_section_info_init(&match_section_infos[i], keyfile, connection_tag);
+        _match_section_info_init(&match_section_infos[i], keyfile, connection_tag, is_device);
     }
     g_free(groups);
 
@@ -1950,10 +2013,8 @@ constructed(GObject *object)
 
     priv->keyfile = _merge_keyfiles(priv->keyfile_user, priv->keyfile_intern);
 
-    priv->connection_infos =
-        _match_section_infos_construct(priv->keyfile, NM_CONFIG_KEYFILE_GROUPPREFIX_CONNECTION);
-    priv->device_infos =
-        _match_section_infos_construct(priv->keyfile, NM_CONFIG_KEYFILE_GROUPPREFIX_DEVICE);
+    priv->connection_infos = _match_section_infos_construct(priv->keyfile, FALSE);
+    priv->device_infos     = _match_section_infos_construct(priv->keyfile, TRUE);
 
     priv->connectivity.enabled =
         nm_config_keyfile_get_boolean(priv->keyfile,
diff --git a/src/core/nm-config-data.h b/src/core/nm-config-data.h
index 42d69a8b..fa58d869 100644
--- a/src/core/nm-config-data.h
+++ b/src/core/nm-config-data.h
@@ -243,6 +243,10 @@ gint64   nm_config_data_get_device_config_int64(const NMConfigData *self,
                                                 gint64              val_no_match,
                                                 gint64              val_invalid);
 
+const GSList *nm_config_data_get_device_allowed_connections_specs(const NMConfigData *self,
+                                                                  NMDevice *          device,
+                                                                  gboolean *          has_match);
+
 char **  nm_config_data_get_groups(const NMConfigData *self);
 char **  nm_config_data_get_keys(const NMConfigData *self, const char *group);
 gboolean nm_config_data_is_intern_atomic_group(const NMConfigData *self, const char *group);
diff --git a/src/core/nm-config.c b/src/core/nm-config.c
index fdc450a0..817368d1 100644
--- a/src/core/nm-config.c
+++ b/src/core/nm-config.c
@@ -796,6 +796,7 @@ static gboolean
 _setting_is_device_spec(const char *group, const char *key)
 {
 #define _IS(group_v, key_v) (nm_streq(group, "" group_v "") && nm_streq(key, "" key_v ""))
+
     return _IS(NM_CONFIG_KEYFILE_GROUP_MAIN, NM_CONFIG_KEYFILE_KEY_MAIN_NO_AUTO_DEFAULT)
            || _IS(NM_CONFIG_KEYFILE_GROUP_MAIN, NM_CONFIG_KEYFILE_KEY_MAIN_IGNORE_CARRIER)
            || _IS(NM_CONFIG_KEYFILE_GROUP_MAIN, NM_CONFIG_KEYFILE_KEY_MAIN_ASSUME_IPV6LL_ONLY)
@@ -807,6 +808,13 @@ _setting_is_device_spec(const char *group, const char *key)
 }
 
 static gboolean
+_setting_is_connection_spec(const char *group, const char *key)
+{
+    return NM_STR_HAS_PREFIX(group, NM_CONFIG_KEYFILE_GROUPPREFIX_DEVICE)
+           && nm_streq(key, NM_CONFIG_KEYFILE_KEY_DEVICE_ALLOWED_CONNECTIONS);
+}
+
+static gboolean
 _setting_is_string_list(const char *group, const char *key)
 {
     return _IS(NM_CONFIG_KEYFILE_GROUP_MAIN, NM_CONFIG_KEYFILE_KEY_MAIN_PLUGINS)
@@ -878,6 +886,8 @@ static const ConfigGroup config_groups[] = {
                              NM_CONFIG_KEYFILE_KEY_DEVICE_IGNORE_CARRIER,
                              NM_CONFIG_KEYFILE_KEY_DEVICE_MANAGED,
                              NM_CONFIG_KEYFILE_KEY_DEVICE_SRIOV_NUM_VFS,
+                             NM_CONFIG_KEYFILE_KEY_DEVICE_KEEP_CONFIGURATION,
+                             NM_CONFIG_KEYFILE_KEY_DEVICE_ALLOWED_CONNECTIONS,
                              NM_CONFIG_KEYFILE_KEY_DEVICE_WIFI_BACKEND,
                              NM_CONFIG_KEYFILE_KEY_DEVICE_WIFI_SCAN_RAND_MAC_ADDRESS,
                              NM_CONFIG_KEYFILE_KEY_DEVICE_WIFI_SCAN_GENERATE_MAC_ADDRESS_MASK,
@@ -1059,7 +1069,8 @@ read_config(GKeyFile *  keyfile,
 
                 is_string_list = _setting_is_string_list(group, base_key);
 
-                if (is_string_list || _setting_is_device_spec(group, base_key)) {
+                if (is_string_list || _setting_is_device_spec(group, base_key)
+                    || _setting_is_connection_spec(group, base_key)) {
                     gs_unref_ptrarray  GPtrArray *new = g_ptr_array_new_with_free_func(g_free);
                     char **            iter_val;
                     gs_strfreev char **old_val = NULL;
@@ -2343,8 +2354,9 @@ _nm_config_state_set(NMConfig *self, gboolean allow_persist, gboolean force_pers
     "route-metric-default-aspired"
 #define DEVICE_RUN_STATE_KEYFILE_KEY_DEVICE_ROUTE_METRIC_DEFAULT_EFFECTIVE \
     "route-metric-default-effective"
-#define DEVICE_RUN_STATE_KEYFILE_KEY_DEVICE_ROOT_PATH   "root-path"
-#define DEVICE_RUN_STATE_KEYFILE_KEY_DEVICE_NEXT_SERVER "next-server"
+#define DEVICE_RUN_STATE_KEYFILE_KEY_DEVICE_ROOT_PATH     "root-path"
+#define DEVICE_RUN_STATE_KEYFILE_KEY_DEVICE_NEXT_SERVER   "next-server"
+#define DEVICE_RUN_STATE_KEYFILE_KEY_DEVICE_DHCP_BOOTFILE "dhcp-bootfile"
 
 static NM_UTILS_LOOKUP_STR_DEFINE(
     _device_state_managed_type_to_str,
@@ -2565,7 +2577,8 @@ nm_config_device_state_write(int                            ifindex,
                              guint32                        route_metric_default_aspired,
                              guint32                        route_metric_default_effective,
                              const char *                   next_server,
-                             const char *                   root_path)
+                             const char *                   root_path,
+                             const char *                   dhcp_bootfile)
 {
     char    path[NM_STRLEN(NM_CONFIG_DEVICE_STATE_DIR "/") + DEVICE_STATE_FILENAME_LEN_MAX + 1];
     GError *local                      = NULL;
@@ -2632,6 +2645,12 @@ nm_config_device_state_write(int                            ifindex,
                               DEVICE_RUN_STATE_KEYFILE_KEY_DEVICE_ROOT_PATH,
                               root_path);
     }
+    if (dhcp_bootfile) {
+        g_key_file_set_string(kf,
+                              DEVICE_RUN_STATE_KEYFILE_GROUP_DEVICE,
+                              DEVICE_RUN_STATE_KEYFILE_KEY_DEVICE_DHCP_BOOTFILE,
+                              dhcp_bootfile);
+    }
 
     if (!g_key_file_save_to_file(kf, path, &local)) {
         _LOGW("device-state: write #%d (%s) failed: %s", ifindex, path, local->message);
@@ -2639,7 +2658,9 @@ nm_config_device_state_write(int                            ifindex,
         return FALSE;
     }
     _LOGT("device-state: write #%d (%s); managed=%s%s%s%s%s%s%s, "
-          "route-metric-default=%" G_GUINT32_FORMAT "-%" G_GUINT32_FORMAT "%s%s%s%s%s%s",
+          "route-metric-default=%" G_GUINT32_FORMAT "-%" G_GUINT32_FORMAT "%s%s%s"
+          "%s%s%s"
+          "%s%s%s",
           ifindex,
           path,
           _device_state_managed_type_to_str(managed),
@@ -2648,7 +2669,8 @@ nm_config_device_state_write(int                            ifindex,
           route_metric_default_aspired,
           route_metric_default_effective,
           NM_PRINT_FMT_QUOTED(next_server, ", next-server=", next_server, "", ""),
-          NM_PRINT_FMT_QUOTED(root_path, ", root-path=", root_path, "", ""));
+          NM_PRINT_FMT_QUOTED(root_path, ", root-path=", root_path, "", ""),
+          NM_PRINT_FMT_QUOTED(dhcp_bootfile, ", dhcp-bootfile=", dhcp_bootfile, "", ""));
     return TRUE;
 }
 
diff --git a/src/core/nm-config.h b/src/core/nm-config.h
index 7f1c0c4c..8279f4d2 100644
--- a/src/core/nm-config.h
+++ b/src/core/nm-config.h
@@ -185,7 +185,8 @@ gboolean                 nm_config_device_state_write(int
                                                       guint32                        route_metric_default_aspired,
                                                       guint32                        route_metric_default_effective,
                                                       const char *                   next_server,
-                                                      const char *                   root_path);
+                                                      const char *                   root_path,
+                                                      const char *                   dhcp_bootfile);
 
 void nm_config_device_state_prune_stale(GHashTable *preserve_ifindexes,
                                         NMPlatform *preserve_in_platform);
diff --git a/src/core/nm-core-utils.c b/src/core/nm-core-utils.c
index 41d22565..8fdc7379 100644
--- a/src/core/nm-core-utils.c
+++ b/src/core/nm-core-utils.c
@@ -1484,6 +1484,112 @@ nm_match_spec_device(const GSList *specs,
     return _match_result(has_except, has_not_except, has_match, has_match_except);
 }
 
+typedef struct {
+    const char *uuid;
+    const char *id;
+    const char *origin;
+} MatchConnectionData;
+
+static gboolean
+match_connection_eval(const char *spec_str, const MatchConnectionData *match_data)
+{
+    if (spec_str[0] == '*' && spec_str[1] == '\0')
+        return TRUE;
+
+    if (_MATCH_CHECK(spec_str, "id:"))
+        return nm_streq0(spec_str, match_data->id);
+
+    if (_MATCH_CHECK(spec_str, "uuid:"))
+        return nm_streq0(spec_str, match_data->uuid);
+
+    if (_MATCH_CHECK(spec_str, "origin:"))
+        return nm_streq0(spec_str, match_data->origin);
+
+    return FALSE;
+}
+
+static NMMatchSpecMatchType
+match_spec_connection(const GSList *specs, const char *id, const char *uuid, const char *origin)
+{
+    const GSList *            iter;
+    gboolean                  has_match        = FALSE;
+    gboolean                  has_match_except = FALSE;
+    gboolean                  has_except       = FALSE;
+    gboolean                  has_not_except   = FALSE;
+    const char *              spec_str;
+    const MatchConnectionData match_data = {
+        .id     = nm_str_not_empty(id),
+        .uuid   = nm_str_not_empty(uuid),
+        .origin = nm_str_not_empty(origin),
+    };
+
+    if (!specs)
+        return NM_MATCH_SPEC_NO_MATCH;
+
+    for (iter = specs; iter; iter = iter->next) {
+        gboolean except;
+
+        spec_str = iter->data;
+
+        if (!spec_str || !*spec_str)
+            continue;
+
+        spec_str = match_except(spec_str, &except);
+
+        if (except)
+            has_except = TRUE;
+        else
+            has_not_except = TRUE;
+
+        if ((except && has_match_except) || (!except && has_match)) {
+            /* evaluating the match does not give new information. Skip it. */
+            continue;
+        }
+
+        if (!match_connection_eval(spec_str, &match_data))
+            continue;
+
+        if (except)
+            has_match_except = TRUE;
+        else
+            has_match = TRUE;
+    }
+
+    return _match_result(has_except, has_not_except, has_match, has_match_except);
+}
+
+int
+nm_utils_connection_match_spec_list(NMConnection *connection,
+                                    const GSList *specs,
+                                    int           no_match_value)
+{
+    NMMatchSpecMatchType m;
+    NMSettingUser *      s_user;
+    const char *         origin = NULL;
+
+    if (!specs)
+        return no_match_value;
+
+    s_user = _nm_connection_get_setting(connection, NM_TYPE_SETTING_USER);
+    if (s_user)
+        origin = nm_setting_user_get_data(s_user, NM_USER_TAG_ORIGIN);
+
+    m = match_spec_connection(specs,
+                              nm_connection_get_id(connection),
+                              nm_connection_get_uuid(connection),
+                              origin);
+    switch (m) {
+    case NM_MATCH_SPEC_MATCH:
+        return TRUE;
+    case NM_MATCH_SPEC_NEG_MATCH:
+        return FALSE;
+    case NM_MATCH_SPEC_NO_MATCH:
+        return no_match_value;
+    }
+    nm_assert_not_reached();
+    return no_match_value;
+}
+
 static gboolean
 match_config_eval(const char *str, const char *tag, guint cur_nm_version)
 {
diff --git a/src/core/nm-core-utils.h b/src/core/nm-core-utils.h
index bcb182b8..76c340d1 100644
--- a/src/core/nm-core-utils.h
+++ b/src/core/nm-core-utils.h
@@ -211,6 +211,10 @@ gboolean nm_utils_kernel_cmdline_match_check(const char *const *proc_cmdline,
                                              guint              num_patterns,
                                              GError **          error);
 
+int nm_utils_connection_match_spec_list(NMConnection *connection,
+                                        const GSList *specs,
+                                        int           no_match_value);
+
 /*****************************************************************************/
 
 gboolean nm_utils_connection_has_default_route(NMConnection *connection,
diff --git a/src/core/nm-firewall-utils.c b/src/core/nm-firewall-utils.c
index 3f225156..a2446553 100644
--- a/src/core/nm-firewall-utils.c
+++ b/src/core/nm-firewall-utils.c
@@ -613,17 +613,17 @@ _fw_nft_set(gboolean add, const char *ip_iface, in_addr_t addr, guint8 plen)
 
 #define _append(p_strbuf, fmt, ...) nm_str_buf_append_printf((p_strbuf), "" fmt "\n", ##__VA_ARGS__)
 
-    _append(&strbuf, "add table inet %s", table_name);
-    _append(&strbuf, "%s table inet %s", add ? "flush" : "delete", table_name);
+    _append(&strbuf, "add table ip %s", table_name);
+    _append(&strbuf, "%s table ip %s", add ? "flush" : "delete", table_name);
 
     if (add) {
         _append(&strbuf,
-                "add chain inet %s nat_postrouting {"
+                "add chain ip %s nat_postrouting {"
                 " type nat hook postrouting priority 100; policy accept; "
                 "};",
                 table_name);
         _append(&strbuf,
-                "add rule inet %s nat_postrouting ip saddr %s ip daddr != %s masquerade;",
+                "add rule ip %s nat_postrouting ip saddr %s ip daddr != %s masquerade;",
                 table_name,
                 str_subnet,
                 str_subnet);
@@ -634,41 +634,41 @@ _fw_nft_set(gboolean add, const char *ip_iface, in_addr_t addr, guint8 plen)
          */
         /*
         _append(&strbuf,
-                "add chain inet %s filter_input {"
+                "add chain ip %s filter_input {"
                 " type filter hook input priority 0; policy accept; "
                 "};",
                 table_name);
-        _append(&strbuf, "add rule inet %s filter_input tcp dport { 67, 53 } accept;", table_name);
-        _append(&strbuf, "add rule inet %s filter_input udp dport { 67, 53 } accept;", table_name);
+        _append(&strbuf, "add rule ip %s filter_input tcp dport { 67, 53 } accept;", table_name);
+        _append(&strbuf, "add rule ip %s filter_input udp dport { 67, 53 } accept;", table_name);
         */
 
         _append(&strbuf,
-                "add chain inet %s filter_forward {"
+                "add chain ip %s filter_forward {"
                 " type filter hook forward priority 0; policy accept; "
                 "};",
                 table_name);
         _append(&strbuf,
-                "add rule inet %s filter_forward ip daddr %s oifname \"%s\" "
+                "add rule ip %s filter_forward ip daddr %s oifname \"%s\" "
                 " ct state { established, related } accept;",
                 table_name,
                 str_subnet,
                 ip_iface);
         _append(&strbuf,
-                "add rule inet %s filter_forward ip saddr %s iifname \"%s\" accept;",
+                "add rule ip %s filter_forward ip saddr %s iifname \"%s\" accept;",
                 table_name,
                 str_subnet,
                 ip_iface);
         _append(&strbuf,
-                "add rule inet %s filter_forward iifname \"%s\" oifname \"%s\" accept;",
+                "add rule ip %s filter_forward iifname \"%s\" oifname \"%s\" accept;",
                 table_name,
                 ip_iface,
                 ip_iface);
         _append(&strbuf,
-                "add rule inet %s filter_forward iifname \"%s\" reject;",
+                "add rule ip %s filter_forward iifname \"%s\" reject;",
                 table_name,
                 ip_iface);
         _append(&strbuf,
-                "add rule inet %s filter_forward oifname \"%s\" reject;",
+                "add rule ip %s filter_forward oifname \"%s\" reject;",
                 table_name,
                 ip_iface);
     }
diff --git a/src/core/nm-firewalld-manager.c b/src/core/nm-firewalld-manager.c
index c562d978..7866894a 100644
--- a/src/core/nm-firewalld-manager.c
+++ b/src/core/nm-firewalld-manager.c
@@ -15,6 +15,7 @@
 
 #define FIREWALL_DBUS_SERVICE        "org.fedoraproject.FirewallD1"
 #define FIREWALL_DBUS_PATH           "/org/fedoraproject/FirewallD1"
+#define FIREWALL_DBUS_INTERFACE      "org.fedoraproject.FirewallD1"
 #define FIREWALL_DBUS_INTERFACE_ZONE "org.fedoraproject.FirewallD1.zone"
 
 /*****************************************************************************/
@@ -30,10 +31,12 @@ typedef struct {
 
     CList pending_calls;
 
+    char *name_owner;
+
+    guint reloaded_id;
     guint name_owner_changed_id;
 
     bool dbus_inited : 1;
-    bool running : 1;
 } NMFirewalldManagerPrivate;
 
 struct _NMFirewalldManager {
@@ -105,7 +108,7 @@ _ops_type_to_string(OpsType ops_type)
 }
 
 #define _NMLOG_DOMAIN      LOGD_FIREWALL
-#define _NMLOG_PREFIX_NAME "firewall"
+#define _NMLOG_PREFIX_NAME "firewalld"
 #define _NMLOG(level, call_id, ...)                                                 \
     G_STMT_START                                                                    \
     {                                                                               \
@@ -146,6 +149,14 @@ _ops_type_to_string(OpsType ops_type)
 
 /*****************************************************************************/
 
+static void
+_signal_emit_state_changed(NMFirewalldManager *self, NMFirewalldManagerStateChangedType signal_type)
+{
+    g_signal_emit(self, signals[STATE_CHANGED], 0, (int) signal_type);
+}
+
+/*****************************************************************************/
+
 static gboolean
 _get_running(NMFirewalldManagerPrivate *priv)
 {
@@ -154,7 +165,7 @@ _get_running(NMFirewalldManagerPrivate *priv)
      * service is indeed running. That is the time when we queue the
      * requests, and they will be started once the get-name-owner call
      * returns. */
-    return priv->running || (priv->dbus_connection && !priv->dbus_inited);
+    return priv->name_owner || (priv->dbus_connection && !priv->dbus_inited);
 }
 
 gboolean
@@ -315,7 +326,7 @@ _handle_dbus_start(NMFirewalldManager *self, NMFirewalldManagerCallId *call_id)
     GVariant *                 arg;
 
     nm_assert(call_id);
-    nm_assert(priv->running);
+    nm_assert(priv->name_owner);
     nm_assert(!call_id->is_idle);
     nm_assert(c_list_contains(&priv->pending_calls, &call_id->lst));
 
@@ -341,7 +352,7 @@ _handle_dbus_start(NMFirewalldManager *self, NMFirewalldManagerCallId *call_id)
     call_id->dbus.cancellable = g_cancellable_new();
 
     g_dbus_connection_call(priv->dbus_connection,
-                           FIREWALL_DBUS_SERVICE,
+                           priv->name_owner,
                            FIREWALL_DBUS_PATH,
                            FIREWALL_DBUS_INTERFACE_ZONE,
                            dbus_method,
@@ -378,10 +389,10 @@ _start_request(NMFirewalldManager *                self,
           iface,
           NM_PRINT_FMT_QUOTED(zone, "\"", zone, "\"", "default"),
           call_id->is_idle ? " (not running, simulate success)"
-                           : (!priv->running ? " (waiting to initialize)" : ""));
+                           : (!priv->name_owner ? " (waiting to initialize)" : ""));
 
     if (!call_id->is_idle) {
-        if (priv->running)
+        if (priv->name_owner)
             _handle_dbus_start(self, call_id);
         if (!call_id->callback) {
             /* if the user did not provide a callback, the call_id is useless.
@@ -463,6 +474,7 @@ name_owner_changed(NMFirewalldManager *self, const char *owner)
     gboolean                                       was_running;
     gboolean                                       now_running;
     gboolean                                       just_initied;
+    gboolean                                       name_owner_changed;
 
     owner = nm_str_not_empty(owner);
 
@@ -474,8 +486,8 @@ name_owner_changed(NMFirewalldManager *self, const char *owner)
     was_running  = _get_running(priv);
     just_initied = !priv->dbus_inited;
 
-    priv->dbus_inited = TRUE;
-    priv->running     = !!owner;
+    priv->dbus_inited  = TRUE;
+    name_owner_changed = nm_utils_strdup_reset(&priv->name_owner, owner);
 
     now_running = _get_running(priv);
 
@@ -495,7 +507,7 @@ name_owner_changed(NMFirewalldManager *self, const char *owner)
             nm_assert(!call_id->is_idle);
             nm_assert(call_id->dbus.arg);
 
-            if (priv->running) {
+            if (priv->name_owner) {
                 _LOGD(call_id, "initalizing: make D-Bus call");
                 _handle_dbus_start(self, call_id);
             } else {
@@ -511,8 +523,30 @@ name_owner_changed(NMFirewalldManager *self, const char *owner)
         }
     }
 
-    if (was_running != now_running)
-        g_signal_emit(self, signals[STATE_CHANGED], 0, FALSE);
+    if (just_initied)
+        _signal_emit_state_changed(self, NM_FIREWALLD_MANAGER_STATE_CHANGED_TYPE_INITIALIZED);
+    else if (was_running != now_running || name_owner_changed)
+        _signal_emit_state_changed(self,
+                                   NM_FIREWALLD_MANAGER_STATE_CHANGED_TYPE_NAME_OWNER_CHANGED);
+}
+
+static void
+reloaded_cb(GDBusConnection *connection,
+            const char *     sender_name,
+            const char *     object_path,
+            const char *     interface_name,
+            const char *     signal_name,
+            GVariant *       parameters,
+            gpointer         user_data)
+{
+    NMFirewalldManager *       self = user_data;
+    NMFirewalldManagerPrivate *priv = NM_FIREWALLD_MANAGER_GET_PRIVATE(self);
+
+    if (!nm_streq0(sender_name, priv->name_owner))
+        return;
+
+    _LOGT(NULL, "reloaded signal received");
+    _signal_emit_state_changed(self, NM_FIREWALLD_MANAGER_STATE_CHANGED_TYPE_RELOADED);
 }
 
 static void
@@ -541,7 +575,7 @@ get_name_owner_cb(const char *name_owner, GError *error, gpointer user_data)
     NMFirewalldManager *       self;
     NMFirewalldManagerPrivate *priv;
 
-    if (!name_owner && g_error_matches(error, G_IO_ERROR, G_IO_ERROR_CANCELLED))
+    if (nm_utils_error_is_cancelled(error))
         return;
 
     self = user_data;
@@ -568,6 +602,17 @@ nm_firewalld_manager_init(NMFirewalldManager *self)
         return;
     }
 
+    priv->reloaded_id = g_dbus_connection_signal_subscribe(priv->dbus_connection,
+                                                           FIREWALL_DBUS_SERVICE,
+                                                           FIREWALL_DBUS_INTERFACE,
+                                                           "Reloaded",
+                                                           FIREWALL_DBUS_PATH,
+                                                           NULL,
+                                                           G_DBUS_SIGNAL_FLAGS_NONE,
+                                                           reloaded_cb,
+                                                           self,
+                                                           NULL);
+
     priv->name_owner_changed_id =
         nm_dbus_connection_signal_subscribe_name_owner_changed(priv->dbus_connection,
                                                                FIREWALL_DBUS_SERVICE,
@@ -594,6 +639,7 @@ dispose(GObject *object)
      * we don't expect pending operations at this point. */
     nm_assert(c_list_is_empty(&priv->pending_calls));
 
+    nm_clear_g_dbus_connection_signal(priv->dbus_connection, &priv->reloaded_id);
     nm_clear_g_dbus_connection_signal(priv->dbus_connection, &priv->name_owner_changed_id);
 
     nm_clear_g_cancellable(&priv->get_name_owner_cancellable);
@@ -616,8 +662,8 @@ nm_firewalld_manager_class_init(NMFirewalldManagerClass *klass)
                                           0,
                                           NULL,
                                           NULL,
-                                          g_cclosure_marshal_VOID__BOOLEAN,
+                                          g_cclosure_marshal_VOID__INT,
                                           G_TYPE_NONE,
                                           1,
-                                          G_TYPE_BOOLEAN /* initialized_now */);
+                                          G_TYPE_INT /* signal-type */);
 }
diff --git a/src/core/nm-firewalld-manager.h b/src/core/nm-firewalld-manager.h
index febb9bac..1f76beba 100644
--- a/src/core/nm-firewalld-manager.h
+++ b/src/core/nm-firewalld-manager.h
@@ -19,6 +19,12 @@
 
 #define NM_FIREWALLD_MANAGER_STATE_CHANGED "state-changed"
 
+typedef enum {
+    NM_FIREWALLD_MANAGER_STATE_CHANGED_TYPE_INITIALIZED,
+    NM_FIREWALLD_MANAGER_STATE_CHANGED_TYPE_NAME_OWNER_CHANGED,
+    NM_FIREWALLD_MANAGER_STATE_CHANGED_TYPE_RELOADED,
+} NMFirewalldManagerStateChangedType;
+
 typedef struct _NMFirewalldManagerCallId NMFirewalldManagerCallId;
 
 typedef struct _NMFirewalldManager      NMFirewalldManager;
diff --git a/src/core/nm-ip4-config.c b/src/core/nm-ip4-config.c
index 47f0ee3a..90531d02 100644
--- a/src/core/nm-ip4-config.c
+++ b/src/core/nm-ip4-config.c
@@ -163,6 +163,11 @@ _nm_ip_config_add_obj(NMDedupMultiIndex *          multi_idx,
                     obj_new_stackinit.ip_route.rt_source = obj_old->ip_route.rt_source;
                     modified                             = TRUE;
                 }
+                if (!obj_new->ip_route.is_external && obj_old->ip_route.is_external) {
+                    obj_new = nmp_object_stackinit_obj(&obj_new_stackinit, obj_new);
+                    obj_new_stackinit.ip_route.is_external = FALSE;
+                    modified                               = TRUE;
+                }
                 break;
             default:
                 nm_assert_not_reached();
@@ -507,22 +512,6 @@ _notify_routes(NMIP4Config *self)
 
 /*****************************************************************************/
 
-static int
-sort_captured_addresses(const CList *lst_a, const CList *lst_b, gconstpointer user_data)
-{
-    const NMPlatformIP4Address *addr_a =
-        NMP_OBJECT_CAST_IP4_ADDRESS(c_list_entry(lst_a, NMDedupMultiEntry, lst_entries)->obj);
-    const NMPlatformIP4Address *addr_b =
-        NMP_OBJECT_CAST_IP4_ADDRESS(c_list_entry(lst_b, NMDedupMultiEntry, lst_entries)->obj);
-
-    nm_assert(addr_a);
-    nm_assert(addr_b);
-
-    /* Primary addresses first */
-    return NM_FLAGS_HAS(addr_a->n_ifa_flags, IFA_F_SECONDARY)
-           - NM_FLAGS_HAS(addr_b->n_ifa_flags, IFA_F_SECONDARY);
-}
-
 NMIP4Config *
 nm_ip4_config_clone(const NMIP4Config *self)
 {
@@ -554,7 +543,7 @@ nm_ip4_config_capture(NMDedupMultiIndex *multi_idx, NMPlatform *platform, int if
 
     head_entry = nm_platform_lookup_object(platform, NMP_OBJECT_TYPE_IP4_ADDRESS, ifindex);
     if (head_entry) {
-        nmp_cache_iter_for_each (&iter, head_entry, &plobj) {
+        nmp_cache_iter_for_each_reverse (&iter, head_entry, &plobj) {
             if (!_nm_ip_config_add_obj(priv->multi_idx,
                                        &priv->idx_ip4_addresses_,
                                        ifindex,
@@ -566,9 +555,6 @@ nm_ip4_config_capture(NMDedupMultiIndex *multi_idx, NMPlatform *platform, int if
                                        NULL))
                 nm_assert_not_reached();
         }
-        head_entry = nm_ip4_config_lookup_addresses(self);
-        nm_assert(head_entry);
-        nm_dedup_multi_head_entry_sort(head_entry, sort_captured_addresses, NULL);
         _notify_addresses(self);
     }
 
diff --git a/src/core/nm-ip6-config.c b/src/core/nm-ip6-config.c
index d2ecf175..65e84737 100644
--- a/src/core/nm-ip6-config.c
+++ b/src/core/nm-ip6-config.c
@@ -316,7 +316,7 @@ nm_ip6_config_capture(NMDedupMultiIndex *       multi_idx,
 
     head_entry = nm_platform_lookup_object(platform, NMP_OBJECT_TYPE_IP6_ADDRESS, ifindex);
     if (head_entry) {
-        nmp_cache_iter_for_each (&iter, head_entry, &plobj) {
+        nmp_cache_iter_for_each_reverse (&iter, head_entry, &plobj) {
             if (!_nm_ip_config_add_obj(priv->multi_idx,
                                        &priv->idx_ip6_addresses_,
                                        ifindex,
@@ -328,11 +328,6 @@ nm_ip6_config_capture(NMDedupMultiIndex *       multi_idx,
                                        NULL))
                 nm_assert_not_reached();
         }
-        head_entry = nm_ip6_config_lookup_addresses(self);
-        nm_assert(head_entry);
-        nm_dedup_multi_head_entry_sort(head_entry,
-                                       sort_captured_addresses,
-                                       GINT_TO_POINTER(use_temporary));
         _notify_addresses(self);
     }
 
diff --git a/src/core/nm-manager.c b/src/core/nm-manager.c
index b66f7fbb..d859c1ea 100644
--- a/src/core/nm-manager.c
+++ b/src/core/nm-manager.c
@@ -2595,6 +2595,12 @@ get_existing_connection(NMManager *self, NMDevice *device, gboolean *out_generat
 
     nm_device_capture_initial_config(device);
 
+    if (!nm_device_can_assume_connections(device)) {
+        nm_device_assume_state_reset(device);
+        _LOG2D(LOGD_DEVICE, device, "assume: device cannot assume connection");
+        return NULL;
+    }
+
     if (ifindex) {
         int master_ifindex = nm_platform_link_get_master(priv->platform, ifindex);
 
@@ -2626,39 +2632,47 @@ get_existing_connection(NMManager *self, NMDevice *device, gboolean *out_generat
         }
     }
 
-    /* The core of the API is nm_device_generate_connection() function and
-     * update_connection() virtual method and the convenient connection_type
-     * class attribute. Subclasses supporting the new API must have
-     * update_connection() implemented, otherwise nm_device_generate_connection()
-     * returns NULL.
-     */
-    connection = nm_device_generate_connection(device, master, &maybe_later, &gen_error);
-    if (!connection) {
-        if (maybe_later) {
-            /* The device can generate a connection, but it failed for now.
-             * Give it a chance to match a connection from the state file. */
-            only_by_uuid = TRUE;
-        } else {
-            nm_device_assume_state_reset(device);
-            _LOG2D(LOGD_DEVICE,
-                   device,
-                   "assume: cannot generate connection: %s",
-                   gen_error->message);
-            return NULL;
+    if (nm_config_data_get_device_config_boolean(NM_CONFIG_GET_DATA,
+                                                 NM_CONFIG_KEYFILE_KEY_DEVICE_KEEP_CONFIGURATION,
+                                                 device,
+                                                 TRUE,
+                                                 TRUE)) {
+        /* The core of the API is nm_device_generate_connection() function, based on
+         * update_connection() virtual method and the @connection_type_supported
+         * class attribute. Devices that support assuming existing connections must
+         * have update_connection() implemented, otherwise
+         * nm_device_generate_connection() returns NULL. */
+        connection = nm_device_generate_connection(device, master, &maybe_later, &gen_error);
+        if (!connection) {
+            if (maybe_later) {
+                /* The device can potentially assume connections, but at this
+                 * time we can't generate a connection because no address is
+                 * configured. Allow the device to assume a connection indicated
+                 * in the state file by UUID. */
+                only_by_uuid = TRUE;
+            } else {
+                nm_device_assume_state_reset(device);
+                _LOG2D(LOGD_DEVICE,
+                       device,
+                       "assume: cannot generate connection: %s",
+                       gen_error->message);
+                return NULL;
+            }
         }
+    } else {
+        connection   = NULL;
+        only_by_uuid = TRUE;
+        g_set_error(&gen_error,
+                    NM_DEVICE_ERROR,
+                    NM_DEVICE_ERROR_FAILED,
+                    "device %s has 'keep-configuration=no'",
+                    nm_device_get_iface(device));
     }
 
     nm_device_assume_state_get(device, &assume_state_guess_assume, &assume_state_connection_uuid);
 
-    /* Now we need to compare the generated connection to each configured
-     * connection. The comparison function is the heart of the connection
-     * assumption implementation and it must compare the connections very
-     * carefully to sort out various corner cases. Also, the comparison is
-     * not entirely symmetric.
-     *
-     * When no configured connection matches the generated connection, we keep
-     * the generated connection instead.
-     */
+    /* If the device state file indicates a connection that was active before NM
+     * restarted, perform basic sanity checks on it. */
     if (assume_state_connection_uuid
         && (connection_checked =
                 nm_settings_get_connection_by_uuid(priv->settings, assume_state_connection_uuid))
@@ -2692,8 +2706,9 @@ get_existing_connection(NMManager *self, NMDevice *device, gboolean *out_generat
         gs_free NMSettingsConnection **sett_conns = NULL;
         guint                          len, i, j;
 
-        /* the state file doesn't indicate a connection UUID to assume. Search the
-         * persistent connections for a matching candidate. */
+        /* @assume_state_guess_assume=TRUE means this is the first start of NM
+         * and the state file contains no UUID. Search persistent connections
+         * for a matching candidate. */
         sett_conns = nm_manager_get_activatable_connections(self, FALSE, FALSE, &len);
         if (len > 0) {
             for (i = 0, j = 0; i < len; i++) {
@@ -2766,6 +2781,8 @@ get_existing_connection(NMManager *self, NMDevice *device, gboolean *out_generat
         return matched;
     }
 
+    /* When no configured connection matches the generated connection, we keep
+     * the generated connection instead. */
     _LOG2D(LOGD_DEVICE,
            device,
            "assume: generated connection '%s' (%s)",
@@ -6803,8 +6820,9 @@ nm_manager_write_device_state(NMManager *self, NMDevice *device, int *out_ifinde
     guint32                        route_metric_default_effective;
     NMTernary                      nm_owned;
     NMDhcpConfig *                 dhcp_config;
-    const char *                   next_server = NULL;
-    const char *                   root_path   = NULL;
+    const char *                   next_server   = NULL;
+    const char *                   root_path     = NULL;
+    const char *                   dhcp_bootfile = NULL;
 
     NM_SET_OUT(out_ifindex, 0);
 
@@ -6848,8 +6866,11 @@ nm_manager_write_device_state(NMManager *self, NMDevice *device, int *out_ifinde
 
     dhcp_config = nm_device_get_dhcp_config(device, AF_INET);
     if (dhcp_config) {
-        root_path   = nm_dhcp_config_get_option(dhcp_config, "root_path");
-        next_server = nm_dhcp_config_get_option(dhcp_config, "next_server");
+        root_path     = nm_dhcp_config_get_option(dhcp_config, "root_path");
+        next_server   = nm_dhcp_config_get_option(dhcp_config, "next_server");
+        dhcp_bootfile = nm_dhcp_config_get_option(dhcp_config, "filename");
+        if (!dhcp_bootfile)
+            dhcp_bootfile = nm_dhcp_config_get_option(dhcp_config, "bootfile_name");
     }
 
     if (!nm_config_device_state_write(ifindex,
@@ -6860,7 +6881,8 @@ nm_manager_write_device_state(NMManager *self, NMDevice *device, int *out_ifinde
                                       route_metric_default_aspired,
                                       route_metric_default_effective,
                                       next_server,
-                                      root_path))
+                                      root_path,
+                                      dhcp_bootfile))
         return FALSE;
 
     NM_SET_OUT(out_ifindex, ifindex);
diff --git a/src/core/nm-policy.c b/src/core/nm-policy.c
index e4914acf..e147e504 100644
--- a/src/core/nm-policy.c
+++ b/src/core/nm-policy.c
@@ -2519,14 +2519,15 @@ connection_added(NMSettings *settings, NMSettingsConnection *connection, gpointe
 }
 
 static void
-firewall_state_changed(NMFirewalldManager *manager, gboolean initialized_now, gpointer user_data)
+firewall_state_changed(NMFirewalldManager *manager, int signal_type_i, gpointer user_data)
 {
-    NMPolicy *       self = (NMPolicy *) user_data;
-    NMPolicyPrivate *priv = NM_POLICY_GET_PRIVATE(self);
-    const CList *    tmp_lst;
-    NMDevice *       device;
+    const NMFirewalldManagerStateChangedType signal_type = signal_type_i;
+    NMPolicy *                               self        = user_data;
+    NMPolicyPrivate *                        priv        = NM_POLICY_GET_PRIVATE(self);
+    const CList *                            tmp_lst;
+    NMDevice *                               device;
 
-    if (initialized_now) {
+    if (signal_type == NM_FIREWALLD_MANAGER_STATE_CHANGED_TYPE_INITIALIZED) {
         /* the firewall manager was initializing, but all requests
          * so fare were queued and are already sent. No need to
          * re-update the firewall zone of the devices. */
diff --git a/src/core/platform/nm-fake-platform.c b/src/core/platform/nm-fake-platform.c
index 0108b581..b773df9a 100644
--- a/src/core/platform/nm-fake-platform.c
+++ b/src/core/platform/nm-fake-platform.c
@@ -1117,6 +1117,9 @@ ip_route_add(NMPlatform *             platform,
                                                 : NMP_OBJECT_TYPE_IP6_ROUTE,
                          (const NMPlatformObject *) route);
     r = NMP_OBJECT_CAST_IP_ROUTE(obj);
+
+    r->is_external = TRUE;
+
     nm_platform_ip_route_normalize(addr_family, r);
 
     switch (addr_family) {
diff --git a/src/core/platform/tests/test-common.c b/src/core/platform/tests/test-common.c
index f9a141bc..2fc9e836 100644
--- a/src/core/platform/tests/test-common.c
+++ b/src/core/platform/tests/test-common.c
@@ -1427,6 +1427,10 @@ nmtstp_link_bridge_normalize_jiffies_time(const NMPlatformLnkBridge *requested,
                                           const NMPlatformLnkBridge *kernel,
                                           NMPlatformLnkBridge *      dst)
 {
+    g_assert(requested);
+    g_assert(dst);
+    g_assert(kernel);
+
     if (dst != requested)
         *dst = *requested;
 
diff --git a/src/core/platform/tests/test-route.c b/src/core/platform/tests/test-route.c
index 2b9b2f8f..4b1db7fa 100644
--- a/src/core/platform/tests/test-route.c
+++ b/src/core/platform/tests/test-route.c
@@ -332,30 +332,33 @@ test_ip4_route(void)
     /* Test route listing */
     routes = nmtstp_ip4_route_get_all(NM_PLATFORM_GET, ifindex);
     memset(rts, 0, sizeof(rts));
-    rts[0].rt_source = nmp_utils_ip_config_source_round_trip_rtprot(NM_IP_CONFIG_SOURCE_USER);
-    rts[0].network   = gateway;
-    rts[0].plen      = 32;
-    rts[0].ifindex   = ifindex;
-    rts[0].gateway   = INADDR_ANY;
-    rts[0].metric    = metric;
-    rts[0].mss       = mss;
-    rts[0].scope_inv = nm_platform_route_scope_inv(RT_SCOPE_LINK);
-    rts[1].rt_source = nmp_utils_ip_config_source_round_trip_rtprot(NM_IP_CONFIG_SOURCE_USER);
-    rts[1].network   = network;
-    rts[1].plen      = plen;
-    rts[1].ifindex   = ifindex;
-    rts[1].gateway   = gateway;
-    rts[1].metric    = metric;
-    rts[1].mss       = mss;
-    rts[1].scope_inv = nm_platform_route_scope_inv(RT_SCOPE_UNIVERSE);
-    rts[2].rt_source = nmp_utils_ip_config_source_round_trip_rtprot(NM_IP_CONFIG_SOURCE_USER);
-    rts[2].network   = 0;
-    rts[2].plen      = 0;
-    rts[2].ifindex   = ifindex;
-    rts[2].gateway   = gateway;
-    rts[2].metric    = metric;
-    rts[2].mss       = mss;
-    rts[2].scope_inv = nm_platform_route_scope_inv(RT_SCOPE_UNIVERSE);
+    rts[0].rt_source   = nmp_utils_ip_config_source_round_trip_rtprot(NM_IP_CONFIG_SOURCE_USER);
+    rts[0].network     = gateway;
+    rts[0].plen        = 32;
+    rts[0].ifindex     = ifindex;
+    rts[0].gateway     = INADDR_ANY;
+    rts[0].metric      = metric;
+    rts[0].mss         = mss;
+    rts[0].is_external = TRUE;
+    rts[0].scope_inv   = nm_platform_route_scope_inv(RT_SCOPE_LINK);
+    rts[1].rt_source   = nmp_utils_ip_config_source_round_trip_rtprot(NM_IP_CONFIG_SOURCE_USER);
+    rts[1].network     = network;
+    rts[1].plen        = plen;
+    rts[1].ifindex     = ifindex;
+    rts[1].gateway     = gateway;
+    rts[1].metric      = metric;
+    rts[1].mss         = mss;
+    rts[1].scope_inv   = nm_platform_route_scope_inv(RT_SCOPE_UNIVERSE);
+    rts[1].is_external = TRUE;
+    rts[2].rt_source   = nmp_utils_ip_config_source_round_trip_rtprot(NM_IP_CONFIG_SOURCE_USER);
+    rts[2].network     = 0;
+    rts[2].plen        = 0;
+    rts[2].ifindex     = ifindex;
+    rts[2].gateway     = gateway;
+    rts[2].metric      = metric;
+    rts[2].mss         = mss;
+    rts[2].scope_inv   = nm_platform_route_scope_inv(RT_SCOPE_UNIVERSE);
+    rts[2].is_external = TRUE;
     g_assert_cmpint(routes->len, ==, 3);
     nmtst_platform_ip4_routes_equal_aptr((const NMPObject *const *) routes->pdata,
                                          rts,
@@ -489,30 +492,33 @@ test_ip6_route(void)
     /* Test route listing */
     routes = nmtstp_ip6_route_get_all(NM_PLATFORM_GET, ifindex);
     memset(rts, 0, sizeof(rts));
-    rts[0].rt_source = nmp_utils_ip_config_source_round_trip_rtprot(NM_IP_CONFIG_SOURCE_USER);
-    rts[0].network   = gateway;
-    rts[0].plen      = 128;
-    rts[0].ifindex   = ifindex;
-    rts[0].gateway   = in6addr_any;
-    rts[0].pref_src  = in6addr_any;
-    rts[0].metric    = metric;
-    rts[0].mss       = mss;
-    rts[1].rt_source = nmp_utils_ip_config_source_round_trip_rtprot(NM_IP_CONFIG_SOURCE_USER);
-    rts[1].network   = network;
-    rts[1].plen      = plen;
-    rts[1].ifindex   = ifindex;
-    rts[1].gateway   = gateway;
-    rts[1].pref_src  = pref_src;
-    rts[1].metric    = metric;
-    rts[1].mss       = mss;
-    rts[2].rt_source = nmp_utils_ip_config_source_round_trip_rtprot(NM_IP_CONFIG_SOURCE_USER);
-    rts[2].network   = in6addr_any;
-    rts[2].plen      = 0;
-    rts[2].ifindex   = ifindex;
-    rts[2].gateway   = gateway;
-    rts[2].pref_src  = in6addr_any;
-    rts[2].metric    = metric;
-    rts[2].mss       = mss;
+    rts[0].rt_source   = nmp_utils_ip_config_source_round_trip_rtprot(NM_IP_CONFIG_SOURCE_USER);
+    rts[0].network     = gateway;
+    rts[0].plen        = 128;
+    rts[0].ifindex     = ifindex;
+    rts[0].gateway     = in6addr_any;
+    rts[0].pref_src    = in6addr_any;
+    rts[0].metric      = metric;
+    rts[0].mss         = mss;
+    rts[0].is_external = TRUE;
+    rts[1].rt_source   = nmp_utils_ip_config_source_round_trip_rtprot(NM_IP_CONFIG_SOURCE_USER);
+    rts[1].network     = network;
+    rts[1].plen        = plen;
+    rts[1].ifindex     = ifindex;
+    rts[1].gateway     = gateway;
+    rts[1].pref_src    = pref_src;
+    rts[1].metric      = metric;
+    rts[1].mss         = mss;
+    rts[1].is_external = TRUE;
+    rts[2].rt_source   = nmp_utils_ip_config_source_round_trip_rtprot(NM_IP_CONFIG_SOURCE_USER);
+    rts[2].network     = in6addr_any;
+    rts[2].plen        = 0;
+    rts[2].ifindex     = ifindex;
+    rts[2].gateway     = gateway;
+    rts[2].pref_src    = in6addr_any;
+    rts[2].metric      = metric;
+    rts[2].mss         = mss;
+    rts[2].is_external = TRUE;
     g_assert_cmpint(routes->len, ==, 3);
     nmtst_platform_ip6_routes_equal_aptr((const NMPObject *const *) routes->pdata,
                                          rts,
@@ -709,6 +715,7 @@ test_ip4_route_options(gconstpointer test_data)
     for (i = 0; i < rts_n; i++) {
         rts_cmp[i] = rts_add[i];
         nm_platform_ip_route_normalize(AF_INET, NM_PLATFORM_IP_ROUTE_CAST(&rts_cmp[i]));
+        rts_cmp[i].is_external = TRUE;
     }
 
     routes = nmtstp_ip4_route_get_all(NM_PLATFORM_GET, IFINDEX);
@@ -880,6 +887,7 @@ test_ip6_route_options(gconstpointer test_data)
     for (i = 0; i < rts_n; i++) {
         rts_cmp[i] = rts_add[i];
         nm_platform_ip_route_normalize(AF_INET6, NM_PLATFORM_IP_ROUTE_CAST(&rts_cmp[i]));
+        rts_cmp[i].is_external = TRUE;
     }
 
     routes = nmtstp_ip6_route_get_all(NM_PLATFORM_GET, IFINDEX);
diff --git a/src/core/ppp/meson.build b/src/core/ppp/meson.build
index ffeb0eba..9ee46113 100644
--- a/src/core/ppp/meson.build
+++ b/src/core/ppp/meson.build
@@ -14,6 +14,7 @@ nm_pppd_plugin = shared_module(
   ],
   link_with: [
     libnm_core_impl,
+    libnm_log_null,
     libnm_glib_aux,
     libnm_std_aux,
     libc_siphash,
diff --git a/src/core/settings/nm-settings-connection.c b/src/core/settings/nm-settings-connection.c
index 641f3297..36ef6acb 100644
--- a/src/core/settings/nm-settings-connection.c
+++ b/src/core/settings/nm-settings-connection.c
@@ -11,6 +11,7 @@
 #include "c-list/src/c-list.h"
 
 #include "libnm-glib-aux/nm-keyfile-aux.h"
+#include "libnm-glib-aux/nm-c-list.h"
 #include "libnm-core-aux-intern/nm-common-macros.h"
 #include "nm-config.h"
 #include "nm-config-data.h"
@@ -30,6 +31,8 @@
 #define AUTOCONNECT_RETRIES_FOREVER     -1
 #define AUTOCONNECT_RESET_RETRIES_TIMER 300
 
+#define SEEN_BSSIDS_MAX 30
+
 #define _NM_SETTINGS_UPDATE2_FLAG_ALL_PERSIST_MODES                          \
     ((NMSettingsUpdate2Flags) (NM_SETTINGS_UPDATE2_FLAG_TO_DISK              \
                                | NM_SETTINGS_UPDATE2_FLAG_IN_MEMORY          \
@@ -59,6 +62,56 @@ nm_settings_connections_array_to_connections(NMSettingsConnection *const *connec
 
 /*****************************************************************************/
 
+typedef struct {
+    char  bssid[sizeof(NMEtherAddr) * 3];
+    CList seen_bssids_lst;
+} SeenBssidEntry;
+
+static inline SeenBssidEntry *
+_seen_bssid_entry_init_stale(SeenBssidEntry *entry, const NMEtherAddr *bssid_bin)
+{
+    _nm_utils_hwaddr_ntoa(bssid_bin, sizeof(NMEtherAddr), TRUE, entry->bssid, sizeof(entry->bssid));
+    return entry;
+}
+
+static inline SeenBssidEntry *
+_seen_bssid_entry_new_stale_bin(const NMEtherAddr *bssid_bin)
+{
+    return _seen_bssid_entry_init_stale(g_slice_new(SeenBssidEntry), bssid_bin);
+}
+
+static inline SeenBssidEntry *
+_seen_bssid_entry_new_stale_copy(const SeenBssidEntry *src)
+{
+    SeenBssidEntry *entry;
+
+    entry = g_slice_new(SeenBssidEntry);
+    memcpy(entry->bssid, src->bssid, sizeof(entry->bssid));
+    return entry;
+}
+
+static void
+_seen_bssid_entry_free(gpointer data)
+{
+    SeenBssidEntry *entry = data;
+
+    c_list_unlink_stale(&entry->seen_bssids_lst);
+    nm_g_slice_free(entry);
+}
+
+/*****************************************************************************/
+
+static GHashTable *
+_seen_bssids_hash_new(void)
+{
+    return g_hash_table_new_full(nm_str_hash,
+                                 g_str_equal,
+                                 (GDestroyNotify) _seen_bssid_entry_free,
+                                 NULL);
+}
+
+/*****************************************************************************/
+
 NM_GOBJECT_PROPERTIES_DEFINE(NMSettingsConnection, PROP_UNSAVED, PROP_FLAGS, PROP_FILENAME, );
 
 enum { UPDATED_INTERNAL, FLAGS_CHANGED, LAST_SIGNAL };
@@ -99,7 +152,8 @@ typedef struct _NMSettingsConnectionPrivate {
      */
     GVariant *agent_secrets;
 
-    GHashTable *seen_bssids; /* Up-to-date BSSIDs that's been seen for the connection */
+    CList       seen_bssids_lst_head;
+    GHashTable *seen_bssids_hash;
 
     guint64 timestamp; /* Up-to-date timestamp of connection use */
 
@@ -167,7 +221,9 @@ static const GDBusSignalInfo             signal_info_updated;
 static const GDBusSignalInfo             signal_info_removed;
 static const NMDBusInterfaceInfoExtended interface_info_settings_connection;
 
-static void update_agent_secrets_cache(NMSettingsConnection *self, NMConnection *new);
+static void  update_agent_secrets_cache(NMSettingsConnection *self, NMConnection *new);
+static guint _get_seen_bssids(NMSettingsConnection *self,
+                              const char *          strv_buf[static(SEEN_BSSIDS_MAX + 1)]);
 
 /*****************************************************************************/
 
@@ -246,14 +302,6 @@ nm_settings_connection_still_valid(NMSettingsConnection *self)
 
 /*****************************************************************************/
 
-static GHashTable *
-_seen_bssids_hash_new(void)
-{
-    return g_hash_table_new_full(nm_str_hash, g_str_equal, g_free, NULL);
-}
-
-/*****************************************************************************/
-
 static void
 _getsettings_cached_clear(NMSettingsConnectionPrivate *priv)
 {
@@ -1300,8 +1348,8 @@ get_settings_auth_cb(NMSettingsConnection * self,
                      GError *               error,
                      gpointer               data)
 {
-    gs_free const char **            seen_bssids = NULL;
-    NMConnectionSerializationOptions options     = {};
+    const char *                     seen_bssids_strv[SEEN_BSSIDS_MAX + 1];
+    NMConnectionSerializationOptions options = {};
 
     if (error) {
         g_dbus_method_invocation_return_gerror(context, error);
@@ -1321,8 +1369,8 @@ get_settings_auth_cb(NMSettingsConnection * self,
      * from the same reason as timestamp. Thus we put it here to GetSettings()
      * return settings too.
      */
-    seen_bssids         = nm_settings_connection_get_seen_bssids(self);
-    options.seen_bssids = seen_bssids;
+    _get_seen_bssids(self, seen_bssids_strv);
+    options.seen_bssids = seen_bssids_strv;
 
     /* Secrets should *never* be returned by the GetSettings method, they
      * get returned by the GetSecrets method which can be better
@@ -2304,68 +2352,66 @@ _nm_settings_connection_register_kf_dbs(NMSettingsConnection *self,
 
     if (priv->kf_db_seen_bssids != kf_db_seen_bssids) {
         gs_strfreev char **tmp_strv = NULL;
-        gsize              i, len;
+        gsize              len;
+        gsize              i;
+        guint              result_len;
 
         nm_key_file_db_unref(priv->kf_db_seen_bssids);
         priv->kf_db_seen_bssids = nm_key_file_db_ref(kf_db_seen_bssids);
 
         tmp_strv = nm_key_file_db_get_string_list(priv->kf_db_seen_bssids, connection_uuid, &len);
 
-        nm_clear_pointer(&priv->seen_bssids, g_hash_table_unref);
+        if (priv->seen_bssids_hash)
+            g_hash_table_remove_all(priv->seen_bssids_hash);
 
-        if (len > 0) {
-            _LOGT("read %zu seen-bssids from keyfile database \"%s\"",
-                  len,
-                  nm_key_file_db_get_filename(priv->kf_db_seen_bssids));
-            priv->seen_bssids = _seen_bssids_hash_new();
-            for (i = len; i > 0;)
-                g_hash_table_add(priv->seen_bssids, g_steal_pointer(&tmp_strv[--i]));
-            nm_clear_g_free(&tmp_strv);
-        } else {
-            NMSettingWireless *s_wifi;
+        for (result_len = 0, i = 0; i < len; i++) {
+            NMEtherAddr     addr_bin;
+            SeenBssidEntry *entry;
 
-            _LOGT("no seen-bssids from keyfile database \"%s\"",
-                  nm_key_file_db_get_filename(priv->kf_db_seen_bssids));
+            nm_assert(result_len == nm_g_hash_table_size(priv->seen_bssids_hash));
+            if (result_len >= SEEN_BSSIDS_MAX)
+                break;
 
-            /* If this connection didn't have an entry in the seen-bssids database,
-             * maybe this is the first time we've read it in, so populate the
-             * seen-bssids list from the deprecated seen-bssids property of the
-             * wifi setting.
-             */
-            s_wifi =
-                nm_connection_get_setting_wireless(nm_settings_connection_get_connection(self));
-            if (s_wifi) {
-                len = nm_setting_wireless_get_num_seen_bssids(s_wifi);
-                if (len > 0) {
-                    priv->seen_bssids = _seen_bssids_hash_new();
-                    for (i = 0; i < len; i++) {
-                        const char *bssid = nm_setting_wireless_get_seen_bssid(s_wifi, i);
-
-                        g_hash_table_add(priv->seen_bssids, g_strdup(bssid));
-                    }
-                }
+            if (!_nm_utils_hwaddr_aton_exact(tmp_strv[i], &addr_bin, sizeof(addr_bin)))
+                continue;
+
+            if (!priv->seen_bssids_hash)
+                priv->seen_bssids_hash = _seen_bssids_hash_new();
+
+            entry = _seen_bssid_entry_new_stale_bin(&addr_bin);
+            if (!g_hash_table_insert(priv->seen_bssids_hash, entry, entry)) {
+                /* duplicate detected! The @entry key was freed by g_hash_table_insert(). */
+                continue;
             }
+            c_list_link_tail(&priv->seen_bssids_lst_head, &entry->seen_bssids_lst);
+            result_len++;
         }
+        if (result_len > 0) {
+            _LOGT("read %u seen-bssids from keyfile database \"%s\"",
+                  result_len,
+                  nm_key_file_db_get_filename(priv->kf_db_seen_bssids));
+        } else
+            nm_clear_pointer(&priv->seen_bssids_hash, g_hash_table_destroy);
+
+        nm_assert(nm_g_hash_table_size(priv->seen_bssids_hash) == result_len);
+        nm_assert(result_len <= SEEN_BSSIDS_MAX);
     }
 }
 
-/**
- * nm_settings_connection_get_seen_bssids:
- * @self: the #NMSettingsConnection
- *
- * Returns current list of seen BSSIDs for the connection.
- *
- * Returns: (transfer container) list of seen BSSIDs (in the standard hex-digits-and-colons notation).
- * The caller is responsible for freeing the list, but not the content.
- **/
-const char **
-nm_settings_connection_get_seen_bssids(NMSettingsConnection *self)
+static guint
+_get_seen_bssids(NMSettingsConnection *self, const char *strv_buf[static(SEEN_BSSIDS_MAX + 1)])
 {
-    g_return_val_if_fail(NM_IS_SETTINGS_CONNECTION(self), NULL);
+    NMSettingsConnectionPrivate *priv = NM_SETTINGS_CONNECTION_GET_PRIVATE(self);
+    SeenBssidEntry *             entry;
+    guint                        i;
 
-    return nm_utils_strdict_get_keys(NM_SETTINGS_CONNECTION_GET_PRIVATE(self)->seen_bssids,
-                                     TRUE,
-                                     NULL);
+    i = 0;
+    c_list_for_each_entry (entry, &priv->seen_bssids_lst_head, seen_bssids_lst) {
+        nm_assert(i <= SEEN_BSSIDS_MAX);
+        strv_buf[i++] = entry->bssid;
+    }
+    strv_buf[i] = NULL;
+    return i;
 }
 
 /**
@@ -2379,14 +2425,17 @@ gboolean
 nm_settings_connection_has_seen_bssid(NMSettingsConnection *self, const char *bssid)
 {
     NMSettingsConnectionPrivate *priv;
+    NMEtherAddr                  addr_bin;
 
     g_return_val_if_fail(NM_IS_SETTINGS_CONNECTION(self), FALSE);
     g_return_val_if_fail(bssid, FALSE);
+    nm_assert(_nm_utils_hwaddr_aton_exact(bssid, &addr_bin, sizeof(addr_bin)));
 
     priv = NM_SETTINGS_CONNECTION_GET_PRIVATE(self);
 
-    return priv->seen_bssids
-           && g_hash_table_contains(NM_SETTINGS_CONNECTION_GET_PRIVATE(self)->seen_bssids, bssid);
+    return priv->seen_bssids_hash
+           && g_hash_table_contains(NM_SETTINGS_CONNECTION_GET_PRIVATE(self)->seen_bssids_hash,
+                                    bssid);
 }
 
 /**
@@ -2401,15 +2450,47 @@ void
 nm_settings_connection_add_seen_bssid(NMSettingsConnection *self, const char *seen_bssid)
 {
     NMSettingsConnectionPrivate *priv = NM_SETTINGS_CONNECTION_GET_PRIVATE(self);
-    gs_free const char **        strv = NULL;
+    const char *                 seen_bssids_strv[SEEN_BSSIDS_MAX + 1];
+    NMEtherAddr                  addr_bin;
     const char *                 connection_uuid;
+    SeenBssidEntry               entry_stack;
+    SeenBssidEntry *             entry;
+    guint                        i;
+
+    g_return_if_fail(seen_bssid);
 
-    g_return_if_fail(seen_bssid != NULL);
+    if (!_nm_utils_hwaddr_aton_exact(seen_bssid, &addr_bin, sizeof(addr_bin)))
+        g_return_if_reached();
 
-    if (!priv->seen_bssids)
-        priv->seen_bssids = _seen_bssids_hash_new();
+    _seen_bssid_entry_init_stale(&entry_stack, &addr_bin);
 
-    g_hash_table_add(priv->seen_bssids, g_strdup(seen_bssid));
+    if (!priv->seen_bssids_hash) {
+        priv->seen_bssids_hash = _seen_bssids_hash_new();
+        entry                  = NULL;
+    } else
+        entry = g_hash_table_lookup(priv->seen_bssids_hash, &entry_stack);
+
+    if (entry) {
+        if (!nm_c_list_move_front(&priv->seen_bssids_lst_head, &entry->seen_bssids_lst)) {
+            /* no change. */
+            return;
+        }
+    } else {
+        entry = _seen_bssid_entry_new_stale_copy(&entry_stack);
+        c_list_link_front(&priv->seen_bssids_lst_head, &entry->seen_bssids_lst);
+        if (!g_hash_table_add(priv->seen_bssids_hash, entry))
+            nm_assert_not_reached();
+
+        if (g_hash_table_size(priv->seen_bssids_hash) > SEEN_BSSIDS_MAX) {
+            g_hash_table_remove(
+                priv->seen_bssids_hash,
+                c_list_last_entry(&priv->seen_bssids_lst_head, SeenBssidEntry, seen_bssids_lst));
+        }
+    }
+
+    nm_assert(g_hash_table_size(priv->seen_bssids_hash) <= SEEN_BSSIDS_MAX);
+    nm_assert(g_hash_table_size(priv->seen_bssids_hash)
+              == c_list_length(&priv->seen_bssids_lst_head));
 
     if (!priv->kf_db_seen_bssids)
         return;
@@ -2418,12 +2499,8 @@ nm_settings_connection_add_seen_bssid(NMSettingsConnection *self, const char *se
     if (!connection_uuid)
         return;
 
-    strv = nm_utils_strdict_get_keys(priv->seen_bssids, TRUE, NULL);
-
-    nm_key_file_db_set_string_list(priv->kf_db_seen_bssids,
-                                   connection_uuid,
-                                   strv ?: NM_PTRARRAY_EMPTY(const char *),
-                                   -1);
+    i = _get_seen_bssids(self, seen_bssids_strv);
+    nm_key_file_db_set_string_list(priv->kf_db_seen_bssids, connection_uuid, seen_bssids_strv, i);
 }
 
 /*****************************************************************************/
@@ -2634,7 +2711,7 @@ nm_settings_connection_init(NMSettingsConnection *self)
     self->_priv = priv;
 
     c_list_init(&self->_connections_lst);
-
+    c_list_init(&priv->seen_bssids_lst_head);
     c_list_init(&priv->call_ids_lst_head);
     c_list_init(&priv->auth_lst_head);
 
@@ -2672,7 +2749,7 @@ dispose(GObject *object)
 
     nm_clear_pointer(&priv->agent_secrets, g_variant_unref);
 
-    nm_clear_pointer(&priv->seen_bssids, g_hash_table_destroy);
+    nm_clear_pointer(&priv->seen_bssids_hash, g_hash_table_destroy);
 
     g_clear_object(&priv->agent_mgr);
 
diff --git a/src/core/settings/nm-settings-connection.h b/src/core/settings/nm-settings-connection.h
index 83a6a7f6..fa3dbcfb 100644
--- a/src/core/settings/nm-settings-connection.h
+++ b/src/core/settings/nm-settings-connection.h
@@ -340,8 +340,6 @@ gboolean nm_settings_connection_get_timestamp(NMSettingsConnection *self, guint6
 
 void nm_settings_connection_update_timestamp(NMSettingsConnection *self, guint64 timestamp);
 
-const char **nm_settings_connection_get_seen_bssids(NMSettingsConnection *self);
-
 gboolean nm_settings_connection_has_seen_bssid(NMSettingsConnection *self, const char *bssid);
 
 void nm_settings_connection_add_seen_bssid(NMSettingsConnection *self, const char *seen_bssid);
diff --git a/src/core/settings/nm-settings.c b/src/core/settings/nm-settings.c
index c876ea14..f9f98de7 100644
--- a/src/core/settings/nm-settings.c
+++ b/src/core/settings/nm-settings.c
@@ -388,6 +388,9 @@ typedef struct {
     guint kf_db_flush_idle_id_timestamps;
     guint kf_db_flush_idle_id_seen_bssids;
 
+    bool kf_db_pruned_timestamps;
+    bool kf_db_pruned_seen_bssid;
+
     bool started : 1;
 
     /* Whether NMSettingsConnections changed in a way that affects the comparison
@@ -495,6 +498,8 @@ _startup_complete_check_is_ready(NMSettings *          self,
     conn = nm_settings_connection_get_connection(sett_conn);
 
     nm_manager_for_each_device (priv->manager, device, tmp_lst) {
+        gs_free_error GError *error = NULL;
+
         if (!nm_device_is_real(device))
             continue;
 
@@ -505,7 +510,13 @@ _startup_complete_check_is_ready(NMSettings *          self,
             continue;
         }
 
-        if (!nm_device_check_connection_compatible(device, conn, NULL))
+        /* Check that device is compatible with the device. We are also happy
+         * with a device compatible but for which the connection is disallowed
+         * by NM configuration. */
+        if (!nm_device_check_connection_compatible(device, conn, &error)
+            && !g_error_matches(error,
+                                NM_UTILS_ERROR,
+                                NM_UTILS_ERROR_CONNECTION_AVAILABLE_DISALLOWED))
             continue;
 
         return TRUE;
@@ -3684,6 +3695,41 @@ again:
 
 /*****************************************************************************/
 
+static gboolean
+_kf_db_prune_predicate(const char *uuid, gpointer user_data)
+{
+    return !!nm_settings_get_connection_by_uuid(user_data, uuid);
+}
+
+static void
+_kf_db_to_file(NMSettings *self, gboolean is_timestamps, gboolean force_write)
+{
+    NMSettingsPrivate *priv = NM_SETTINGS_GET_PRIVATE(self);
+    NMKeyFileDB *      kf_db;
+    bool *             p_kf_db_pruned;
+
+    if (is_timestamps) {
+        kf_db          = priv->kf_db_timestamps;
+        p_kf_db_pruned = &priv->kf_db_pruned_timestamps;
+    } else {
+        kf_db          = priv->kf_db_seen_bssids;
+        p_kf_db_pruned = &priv->kf_db_pruned_seen_bssid;
+    }
+
+    if (!*p_kf_db_pruned) {
+        /* we only prune the DB once, because afterwards every
+         * add/remove of an connection will lead to a direct update. */
+        *p_kf_db_pruned = TRUE;
+        nm_key_file_db_prune(kf_db, _kf_db_prune_predicate, self);
+
+        /* once we also go over the directory, and see whether we
+         * have any left over temporary files to delete. */
+        nm_key_file_db_prune_tmp_files(kf_db);
+    }
+
+    nm_key_file_db_to_file(kf_db, force_write);
+}
+
 G_GNUC_PRINTF(4, 5)
 static void
 _kf_db_log_fcn(NMKeyFileDB *kf_db, int syslog_level, gpointer user_data, const char *fmt, ...)
@@ -3732,7 +3778,7 @@ _kf_db_got_dirty_flush(NMSettings *self, gboolean is_timestamps)
     }
 
     if (nm_key_file_db_is_dirty(kf_db))
-        nm_key_file_db_to_file(kf_db, FALSE);
+        _kf_db_to_file(self, is_timestamps, FALSE);
     else {
         _LOGT("[%s-keyfile]: skip saving changes to \"%s\"",
               prefix,
@@ -3785,15 +3831,10 @@ _kf_db_got_dirty_fcn(NMKeyFileDB *kf_db, gpointer user_data)
 void
 nm_settings_kf_db_write(NMSettings *self)
 {
-    NMSettingsPrivate *priv;
-
     g_return_if_fail(NM_IS_SETTINGS(self));
 
-    priv = NM_SETTINGS_GET_PRIVATE(self);
-    if (priv->kf_db_timestamps)
-        nm_key_file_db_to_file(priv->kf_db_timestamps, TRUE);
-    if (priv->kf_db_seen_bssids)
-        nm_key_file_db_to_file(priv->kf_db_seen_bssids, TRUE);
+    _kf_db_to_file(self, TRUE, TRUE);
+    _kf_db_to_file(self, FALSE, TRUE);
 }
 
 /*****************************************************************************/
@@ -4031,8 +4072,8 @@ finalize(GObject *object)
 
     nm_clear_g_source(&priv->kf_db_flush_idle_id_timestamps);
     nm_clear_g_source(&priv->kf_db_flush_idle_id_seen_bssids);
-    nm_key_file_db_to_file(priv->kf_db_timestamps, FALSE);
-    nm_key_file_db_to_file(priv->kf_db_seen_bssids, FALSE);
+    _kf_db_to_file(self, TRUE, FALSE);
+    _kf_db_to_file(self, FALSE, FALSE);
     nm_key_file_db_destroy(priv->kf_db_timestamps);
     nm_key_file_db_destroy(priv->kf_db_seen_bssids);
 
diff --git a/src/core/settings/plugins/ifcfg-rh/nm-ifdown b/src/core/settings/plugins/ifcfg-rh/nm-ifdown
index e7bd73ae..3b05ef1c 100644..100755
--- a/src/core/settings/plugins/ifcfg-rh/nm-ifdown
+++ b/src/core/settings/plugins/ifcfg-rh/nm-ifdown
@@ -1,3 +1,44 @@
-#!/bin/sh
-nmcli connection load "/etc/sysconfig/network-scripts/ifcfg-$1" &&
-exec nmcli connection down filename "/etc/sysconfig/network-scripts/ifcfg-$1"
+#!/bin/bash
+
+CONFIG="$1"
+
+if [ -z "${CONFIG}" ] ; then
+    echo $"Usage: ifdown <device name>" >&2
+    exit 1
+fi
+
+usage_and_fail() {
+    cat <<EOF >&2
+$1!
+
+See all profiles with \`nmcli connection\`.
+Reload files from disk with \`nmcli connection reload\`
+Deactivate the desired profile with \`nmcli connection down \"\$NAME\"\`
+EOF
+    exit 1
+}
+
+OLD_IFS="$IFS"
+
+re='^/etc/sysconfig/network-scripts/ifcfg-[^/]+$'
+for f in "/etc/sysconfig/network-scripts/ifcfg-$CONFIG" "/etc/sysconfig/network-scripts/$CONFIG" ; do
+    [[ "$f" =~ $re ]] || continue
+    [ -f "$f" ] || continue
+
+    nmcli connection load "$f" \
+    && nmcli connection down filename "$f" \
+    && exit 0
+
+    usage_and_fail "Failure to deactivate file \"$CONFIG\""
+done
+
+IFS=$'\n '
+APATHS=( $(nmcli -g GENERAL.DBUS-PATH connection show --active "$CONFIG" 2>/dev/null) )
+IFS="$OLD_IFS"
+if [ "${#APATHS[@]}" -eq 1 ] ; then
+    nmcli connection down apath "${APATHS[0]}" \
+    && exit 0
+    usage_and_fail "Failure to deactivate profile \"$CONFIG\" (apath ${APATHS[@]})"
+fi
+
+usage_and_fail "No suitable profile \"$CONFIG\" found"
diff --git a/src/core/settings/plugins/ifcfg-rh/nm-ifup b/src/core/settings/plugins/ifcfg-rh/nm-ifup
index 96637a92..6b32fe1b 100644..100755
--- a/src/core/settings/plugins/ifcfg-rh/nm-ifup
+++ b/src/core/settings/plugins/ifcfg-rh/nm-ifup
@@ -1,3 +1,44 @@
-#!/bin/sh
-nmcli connection load "/etc/sysconfig/network-scripts/ifcfg-$1" &&
-exec nmcli connection up filename "/etc/sysconfig/network-scripts/ifcfg-$1"
+#!/bin/bash
+
+CONFIG="$1"
+
+if [ -z "${CONFIG}" ] ; then
+    echo $"Usage: ifup <device name>" >&2
+    exit 1
+fi
+
+usage_and_fail() {
+    cat <<EOF >&2
+$1!
+
+See all profiles with \`nmcli connection\`.
+Reload files from disk with \`nmcli connection reload\`
+Activate the desired profile with \`nmcli connection up \"\$NAME\"\`
+EOF
+    exit 1
+}
+
+OLD_IFS="$IFS"
+
+re='^/etc/sysconfig/network-scripts/ifcfg-[^/]+$'
+for f in "/etc/sysconfig/network-scripts/ifcfg-$CONFIG" "/etc/sysconfig/network-scripts/$CONFIG" ; do
+    [[ "$f" =~ $re ]] || continue
+    [ -f "$f" ] || continue
+
+    nmcli connection load "$f" \
+    && nmcli connection up filename "$f" \
+    && exit 0
+
+    usage_and_fail "Failure to activate file \"$CONFIG\""
+done
+
+IFS=$'\n '
+UUIDS=( $(nmcli -g connection.uuid connection show "$CONFIG" 2>/dev/null) )
+IFS="$OLD_IFS"
+if [ "${#UUIDS[@]}" -eq 1 ] ; then
+    nmcli connection up uuid "${UUIDS[0]}" \
+    && exit 0
+    usage_and_fail "Failure to activate profile \"$CONFIG\" (uuid ${UUIDS[0]})"
+fi
+
+usage_and_fail "No suitable profile \"$CONFIG\" found"
diff --git a/src/core/settings/plugins/ifcfg-rh/nms-ifcfg-rh-reader.c b/src/core/settings/plugins/ifcfg-rh/nms-ifcfg-rh-reader.c
index 24d67003..03b347f9 100644
--- a/src/core/settings/plugins/ifcfg-rh/nms-ifcfg-rh-reader.c
+++ b/src/core/settings/plugins/ifcfg-rh/nms-ifcfg-rh-reader.c
@@ -1895,6 +1895,8 @@ make_ip4_setting(shvarFile *ifcfg,
                  svGetValueBoolean(ifcfg, "DHCP_SEND_HOSTNAME", TRUE),
                  NM_SETTING_IP_CONFIG_DHCP_TIMEOUT,
                  (int) svGetValueInt64(ifcfg, "IPV4_DHCP_TIMEOUT", 10, 0, G_MAXINT32, 0),
+                 NM_SETTING_IP_CONFIG_REQUIRED_TIMEOUT,
+                 (int) svGetValueInt64(ifcfg, "IPV4_REQUIRED_TIMEOUT", 10, 0, G_MAXINT32, -1),
                  NULL);
 
     nm_clear_g_free(&value);
@@ -1985,7 +1987,11 @@ make_ip4_setting(shvarFile *ifcfg,
                 } else if (nm_utils_ipaddr_is_valid(AF_INET6, v)) {
                     /* Ignore IPv6 addresses */
                 } else {
-                    PARSE_WARNING("invalid DNS server address %s", v);
+                    g_set_error(error,
+                                NM_SETTINGS_ERROR,
+                                NM_SETTINGS_ERROR_INVALID_CONNECTION,
+                                "Invalid DNS server address '%s'",
+                                v);
                     return NULL;
                 }
             }
@@ -2152,6 +2158,8 @@ read_aliases(NMSettingIPConfig *s_ip4, gboolean read_defroute, const char *filen
                 continue;
             }
 
+            svWarnInvalid(parsed, "alias", _NMLOG_DOMAIN);
+
             device = svGetValueStr(parsed, "DEVICE", &device_value);
             if (!device) {
                 PARSE_WARNING("alias file '%s' has no DEVICE", full_path);
@@ -2403,6 +2411,8 @@ make_ip6_setting(shvarFile *ifcfg, shvarFile *network_ifcfg, gboolean routes_rea
                  svGetValueBoolean(ifcfg, "DHCPV6_SEND_HOSTNAME", TRUE),
                  NM_SETTING_IP_CONFIG_DHCP_TIMEOUT,
                  (int) svGetValueInt64(ifcfg, "IPV6_DHCP_TIMEOUT", 10, 0, G_MAXINT32, 0),
+                 NM_SETTING_IP_CONFIG_REQUIRED_TIMEOUT,
+                 (int) svGetValueInt64(ifcfg, "IPV6_REQUIRED_TIMEOUT", 10, 0, G_MAXINT32, -1),
                  NM_SETTING_IP6_CONFIG_RA_TIMEOUT,
                  (int) svGetValueInt64(ifcfg, "IPV6_RA_TIMEOUT", 10, 0, G_MAXINT32, 0),
                  NULL);
@@ -2504,7 +2514,11 @@ make_ip6_setting(shvarFile *ifcfg, shvarFile *network_ifcfg, gboolean routes_rea
         } else if (nm_utils_ipaddr_is_valid(AF_INET, v)) {
             /* Ignore IPv4 addresses */
         } else {
-            PARSE_WARNING("invalid DNS server address %s", v);
+            g_set_error(error,
+                        NM_SETTINGS_ERROR,
+                        NM_SETTINGS_ERROR_INVALID_CONNECTION,
+                        "Invalid DNS server address '%s'",
+                        v);
             return NULL;
         }
     }
@@ -6298,6 +6312,7 @@ connection_from_file_full(const char *filename,
     NMSetting *                   s_ip4;
     NMSetting *                   s_ip6;
     const char *                  ifcfg_name       = NULL;
+    gs_free char *                s_tmp            = NULL;
     gboolean                      has_ip4_defroute = FALSE;
     gboolean                      has_complex_routes_v4;
     gboolean                      has_complex_routes_v6;
@@ -6325,8 +6340,6 @@ connection_from_file_full(const char *filename,
     if (!main_ifcfg)
         return NULL;
 
-    network_ifcfg = svOpenFile(network_file, NULL);
-
     if (!svGetValueBoolean(main_ifcfg, "NM_CONTROLLED", TRUE)) {
         connection = create_unhandled_connection(filename, main_ifcfg, "unmanaged", out_unhandled);
         if (!connection) {
@@ -6340,6 +6353,16 @@ connection_from_file_full(const char *filename,
         return g_steal_pointer(&connection);
     }
 
+    if (NM_IN_STRSET(svGetValueStr(main_ifcfg, "DEVICE", &s_tmp), "lo")) {
+        /* "lo" is not handled by NetworkManager and we ignore it. */
+    } else
+        svWarnInvalid(main_ifcfg, "ifcfg", _NMLOG_DOMAIN);
+    nm_clear_g_free(&s_tmp);
+
+    network_ifcfg = svOpenFile(network_file, NULL);
+    /* we don't call svWarnInvalid(network_ifcfg), because we will load this file for
+     * every profile. So we would get a large number of duplicate warnings. */
+
     /* iBFT is handled by nm-initrd-generator during boot. */
     bootproto = svGetValueStr_cp(main_ifcfg, "BOOTPROTO");
     if (bootproto && !g_ascii_strcasecmp(bootproto, "ibft")) {
diff --git a/src/core/settings/plugins/ifcfg-rh/nms-ifcfg-rh-utils.c b/src/core/settings/plugins/ifcfg-rh/nms-ifcfg-rh-utils.c
index 6f6035e1..febfc120 100644
--- a/src/core/settings/plugins/ifcfg-rh/nms-ifcfg-rh-utils.c
+++ b/src/core/settings/plugins/ifcfg-rh/nms-ifcfg-rh-utils.c
@@ -958,6 +958,7 @@ const NMSIfcfgKeyTypeInfo nms_ifcfg_well_known_keys[] = {
     _KEY_TYPE("IPV4_DHCP_TIMEOUT", NMS_IFCFG_KEY_TYPE_IS_PLAIN),
     _KEY_TYPE("IPV4_DNS_PRIORITY", NMS_IFCFG_KEY_TYPE_IS_PLAIN),
     _KEY_TYPE("IPV4_FAILURE_FATAL", NMS_IFCFG_KEY_TYPE_IS_PLAIN),
+    _KEY_TYPE("IPV4_REQUIRED_TIMEOUT", NMS_IFCFG_KEY_TYPE_IS_PLAIN),
     _KEY_TYPE("IPV4_ROUTE_METRIC", NMS_IFCFG_KEY_TYPE_IS_PLAIN),
     _KEY_TYPE("IPV4_ROUTE_TABLE", NMS_IFCFG_KEY_TYPE_IS_PLAIN),
     _KEY_TYPE("IPV6ADDR", NMS_IFCFG_KEY_TYPE_IS_PLAIN),
@@ -980,6 +981,7 @@ const NMSIfcfgKeyTypeInfo nms_ifcfg_well_known_keys[] = {
     _KEY_TYPE("IPV6_PRIVACY", NMS_IFCFG_KEY_TYPE_IS_PLAIN),
     _KEY_TYPE("IPV6_PRIVACY_PREFER_PUBLIC_IP", NMS_IFCFG_KEY_TYPE_IS_PLAIN),
     _KEY_TYPE("IPV6_RA_TIMEOUT", NMS_IFCFG_KEY_TYPE_IS_PLAIN),
+    _KEY_TYPE("IPV6_REQUIRED_TIMEOUT", NMS_IFCFG_KEY_TYPE_IS_PLAIN),
     _KEY_TYPE("IPV6_RES_OPTIONS", NMS_IFCFG_KEY_TYPE_IS_PLAIN),
     _KEY_TYPE("IPV6_ROUTE_METRIC", NMS_IFCFG_KEY_TYPE_IS_PLAIN),
     _KEY_TYPE("IPV6_ROUTE_TABLE", NMS_IFCFG_KEY_TYPE_IS_PLAIN),
diff --git a/src/core/settings/plugins/ifcfg-rh/nms-ifcfg-rh-utils.h b/src/core/settings/plugins/ifcfg-rh/nms-ifcfg-rh-utils.h
index b61ce80a..b7751ec9 100644
--- a/src/core/settings/plugins/ifcfg-rh/nms-ifcfg-rh-utils.h
+++ b/src/core/settings/plugins/ifcfg-rh/nms-ifcfg-rh-utils.h
@@ -33,7 +33,7 @@ typedef struct {
     NMSIfcfgKeyTypeFlags key_flags;
 } NMSIfcfgKeyTypeInfo;
 
-extern const NMSIfcfgKeyTypeInfo nms_ifcfg_well_known_keys[249];
+extern const NMSIfcfgKeyTypeInfo nms_ifcfg_well_known_keys[251];
 
 const NMSIfcfgKeyTypeInfo *nms_ifcfg_well_known_key_find_info(const char *key, gssize *out_idx);
 
diff --git a/src/core/settings/plugins/ifcfg-rh/nms-ifcfg-rh-writer.c b/src/core/settings/plugins/ifcfg-rh/nms-ifcfg-rh-writer.c
index 1c5bbbb4..ef85b6bf 100644
--- a/src/core/settings/plugins/ifcfg-rh/nms-ifcfg-rh-writer.c
+++ b/src/core/settings/plugins/ifcfg-rh/nms-ifcfg-rh-writer.c
@@ -2840,6 +2840,9 @@ write_ip4_setting(NMConnection *connection,
     timeout = nm_setting_ip_config_get_dhcp_timeout(s_ip4);
     svSetValueInt64_cond(ifcfg, "IPV4_DHCP_TIMEOUT", timeout != 0, timeout);
 
+    timeout = nm_setting_ip_config_get_required_timeout(s_ip4);
+    svSetValueInt64_cond(ifcfg, "IPV4_REQUIRED_TIMEOUT", timeout != -1, timeout);
+
     svSetValueBoolean(ifcfg, "IPV4_FAILURE_FATAL", !nm_setting_ip_config_get_may_fail(s_ip4));
 
     route_metric = nm_setting_ip_config_get_route_metric(s_ip4);
@@ -3037,6 +3040,9 @@ write_ip6_setting(NMConnection *connection,
     timeout = nm_setting_ip_config_get_dhcp_timeout(s_ip6);
     svSetValueInt64_cond(ifcfg, "IPV6_DHCP_TIMEOUT", timeout != 0, timeout);
 
+    timeout = nm_setting_ip_config_get_required_timeout(s_ip6);
+    svSetValueInt64_cond(ifcfg, "IPV6_REQUIRED_TIMEOUT", timeout != -1, timeout);
+
     flags = nm_setting_ip_config_get_dhcp_hostname_flags(s_ip6);
     svSetValueInt64_cond(ifcfg,
                          "DHCPV6_HOSTNAME_FLAGS",
diff --git a/src/core/settings/plugins/ifcfg-rh/shvar.c b/src/core/settings/plugins/ifcfg-rh/shvar.c
index 80644b64..d82efb3c 100644
--- a/src/core/settings/plugins/ifcfg-rh/shvar.c
+++ b/src/core/settings/plugins/ifcfg-rh/shvar.c
@@ -172,7 +172,7 @@ _escape_ansic(const char *source)
             n_alloc += 2;
             break;
         default:
-            if ((*p < ' ') || (*p >= 0177))
+            if (!nm_ascii_is_regular(*p))
                 n_alloc += 4;
             else
                 n_alloc += 1;
@@ -221,7 +221,7 @@ _escape_ansic(const char *source)
             *q++ = *p;
             break;
         default:
-            if ((*p < ' ') || (*p >= 0177)) {
+            if (!nm_ascii_is_regular(*p)) {
                 *q++ = '\\';
                 *q++ = '0' + (((*p) >> 6) & 07);
                 *q++ = '0' + (((*p) >> 3) & 07);
@@ -255,20 +255,37 @@ svEscape(const char *s, char **to_free)
     gsize    slen;
     gsize    i;
     gsize    j;
+    gboolean all_ascii = TRUE;
 
     for (slen = 0; s[slen]; slen++) {
         if (_char_req_escape(s[slen]))
             mangle++;
         else if (_char_req_quotes(s[slen]))
             requires_quotes = TRUE;
-        else if (s[slen] < ' ') {
-            /* if the string contains newline we can only express it using ANSI C quotation
-             * (as we don't support line continuation).
-             * Additionally, ANSI control characters look odd with regular quotation, so handle
-             * them too. */
-            return (*to_free = _escape_ansic(s));
+        else if (!nm_ascii_is_regular(s[slen])) {
+            if (nm_ascii_is_ctrl_or_del(s[slen])) {
+                /* if the string contains newline we can only express it using ANSI C quotation
+                 * (as we don't support line continuation).
+                 * Additionally, ANSI control characters look odd with regular quotation, so handle
+                 * them too. */
+                return (*to_free = _escape_ansic(s));
+            }
+            all_ascii       = FALSE;
+            requires_quotes = TRUE;
         }
     }
+
+    if (!all_ascii && !g_utf8_validate(s, -1, NULL)) {
+        /* The string is not valid ASCII/UTF-8. We can escape that via
+         * _escape_ansic(), however the reader might have a problem to
+         * do something sensible with the blob later.
+         *
+         * This is really a bug of the caller, which should not present us with
+         * non-text in the first place. But at this place, we cannot handle the
+         * error better, so just escape it. */
+        return (*to_free = _escape_ansic(s));
+    }
+
     if (!mangle && !requires_quotes) {
         *to_free = NULL;
         return s;
@@ -372,6 +389,12 @@ _strbuf_init(NMStrBuf *str, const char *value, gsize i)
 const char *
 svUnescape(const char *value, char **to_free)
 {
+    return svUnescape_full(value, to_free, TRUE);
+}
+
+const char *
+svUnescape_full(const char *value, char **to_free, gboolean check_utf8)
+{
     NMStrBuf str                      = NM_STR_BUF_INIT(0, FALSE);
     int      looks_like_old_svescaped = -1;
     gsize    i;
@@ -646,6 +669,8 @@ out_value:
     }
 
     if (str.allocated > 0) {
+        if (check_utf8 && !nm_str_buf_utf8_validate(&str))
+            goto out_error;
         if (str.len == 0 || nm_str_buf_get_str_unsafe(&str)[0] == '\0') {
             nm_str_buf_destroy(&str);
             *to_free = NULL;
@@ -656,6 +681,11 @@ out_value:
         }
     }
 
+    if (check_utf8 && !g_utf8_validate(value, i, NULL)) {
+        *to_free = NULL;
+        return NULL;
+    }
+
     if (value[i] != '\0') {
         *to_free = g_strndup(value, i);
         return *to_free;
@@ -1120,9 +1150,8 @@ _svGetValue(shvarFile *s, const char *key, char **to_free)
     if (line && line->line) {
         v = svUnescape(line->line, to_free);
         if (!v) {
-            /* a wrongly quoted value is treated like the empty string.
-             * See also svWriteFile(), which handles unparsable values
-             * that way. */
+            /* a wrongly quoted value or non-UTF-8 is treated like the empty string.
+             * See also svWriteFile(), which handles unparsable values that way. */
             nm_assert(!*to_free);
             return "";
         }
@@ -1495,6 +1524,91 @@ svUnsetValue(shvarFile *s, const char *key)
 
 /*****************************************************************************/
 
+void
+svWarnInvalid(shvarFile *s, const char *file_type, NMLogDomain log_domain)
+{
+    shvarLine *line;
+    gsize      n;
+
+    if (!nm_logging_enabled(LOGL_WARN, log_domain))
+        return;
+
+    n = 0;
+    c_list_for_each_entry (line, &s->lst_head, lst) {
+        gs_free char *s_tmp = NULL;
+
+        n++;
+
+        if (!line->key) {
+            const char *str;
+
+            nm_assert(line->line);
+            str = nm_str_skip_leading_spaces(line->line);
+            if (!NM_IN_SET(str[0], '\0', '#')) {
+                nm_log_warn(log_domain,
+                            "ifcfg-rh: %s,%s:%zu: invalid line ignored",
+                            file_type,
+                            s->fileName,
+                            n);
+            }
+            continue;
+        }
+
+        if (g_hash_table_lookup(s->lst_idx, line) != line) {
+            nm_log_warn(
+                log_domain,
+                "ifcfg-rh: %s,%s:%zu: key %s is duplicated and the early occurrence ignored",
+                file_type,
+                s->fileName,
+                n,
+                line->key);
+            continue;
+        }
+
+        if (!line->line) {
+            /* the line is deleted via svUnsetValue(). Ignore. */
+            continue;
+        }
+
+        if (!svUnescape(line->line, &s_tmp)) {
+            if (!svUnescape_full(line->line, &s_tmp, FALSE)) {
+                nm_log_warn(log_domain,
+                            "ifcfg-rh: %s,%s:%zu: key %s is badly quoted and is treated as \"\"",
+                            file_type,
+                            s->fileName,
+                            n,
+                            line->key);
+            } else {
+                nm_log_warn(log_domain,
+                            "ifcfg-rh: %s,%s:%zu: key %s does not contain valid UTF-8 and is "
+                            "treated as \"\"",
+                            file_type,
+                            s->fileName,
+                            n,
+                            line->key);
+            }
+            continue;
+        }
+
+        /* TODO: we read different shell scripts, and whether a key is recognized
+         * depends on the type. For example, alias files only accept a subset of
+         * known keys.
+         *
+         * Basically, depending on the @file_type, different keys are valid. */
+        if (!nms_ifcfg_rh_utils_is_well_known_key(line->key)) {
+            nm_log_dbg(log_domain,
+                       "ifcfg-rh: %s,%s:%zu: key %s is unknown and ignored",
+                       file_type,
+                       s->fileName,
+                       n,
+                       line->key);
+            continue;
+        }
+    }
+}
+
+/*****************************************************************************/
+
 /* Write the current contents iff modified.  Returns FALSE on error
  * and TRUE on success.  Do not write if no values have been modified.
  * The mode argument is only used if creating the file, not if
diff --git a/src/core/settings/plugins/ifcfg-rh/shvar.h b/src/core/settings/plugins/ifcfg-rh/shvar.h
index 6965d873..cf91642f 100644
--- a/src/core/settings/plugins/ifcfg-rh/shvar.h
+++ b/src/core/settings/plugins/ifcfg-rh/shvar.h
@@ -107,6 +107,7 @@ void svCloseFile(shvarFile *s);
 
 const char *svEscape(const char *s, char **to_free);
 const char *svUnescape(const char *s, char **to_free);
+const char *svUnescape_full(const char *value, char **to_free, gboolean check_utf8);
 
 static inline void
 _nm_auto_shvar_file_close(shvarFile **p_s)
@@ -120,4 +121,6 @@ _nm_auto_shvar_file_close(shvarFile **p_s)
 }
 #define nm_auto_shvar_file_close nm_auto(_nm_auto_shvar_file_close)
 
+void svWarnInvalid(shvarFile *s, const char *file_type, NMLogDomain log_domain);
+
 #endif /* _SHVAR_H */
diff --git a/src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wifi-wpa-eap-suite-b-192-tls b/src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wifi-wpa-eap-suite-b-192-tls
index 9a74bb4d..a21c301c 100644
--- a/src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wifi-wpa-eap-suite-b-192-tls
+++ b/src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wifi-wpa-eap-suite-b-192-tls
@@ -3,7 +3,6 @@ DEVICE=eth2
 HWADDR=00:16:41:11:22:33
 BOOTPROTO=dhcp
 ONBOOT=yes
-ONBOOT=yes
 USERCTL=yes
 IPV6INIT=no
 NM_CONTROLLED=yes
diff --git a/src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wifi-wpa-eap-ttls-tls b/src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wifi-wpa-eap-ttls-tls
index 42ed1d68..bb63d5e8 100644
--- a/src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wifi-wpa-eap-ttls-tls
+++ b/src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wifi-wpa-eap-ttls-tls
@@ -4,7 +4,6 @@ DEVICE=eth2
 HWADDR=00:16:41:11:22:33
 BOOTPROTO=dhcp
 ONBOOT=yes
-ONBOOT=yes
 USERCTL=yes
 IPV6INIT=no
 NM_CONTROLLED=yes
diff --git a/src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-write-unknown-4.expected b/src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-write-unknown-4.expected
index 040ddc9d..92c03b12 100644
--- a/src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-write-unknown-4.expected
+++ b/src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-write-unknown-4.expected
@@ -13,8 +13,10 @@
 #L2
 
 METRIC1=''
-METRIC2=$'\U0x'
-METRIC3=$'x\U0'
+METRIC2=
+#NM: METRIC2=$'\U0x'
+METRIC3=
+#NM: METRIC3=$'x\U0'
 
 #L4
 IPADDR=set-by-test1
diff --git a/src/core/settings/plugins/ifcfg-rh/tests/test-ifcfg-rh.c b/src/core/settings/plugins/ifcfg-rh/tests/test-ifcfg-rh.c
index 6193b952..d9829f84 100644
--- a/src/core/settings/plugins/ifcfg-rh/tests/test-ifcfg-rh.c
+++ b/src/core/settings/plugins/ifcfg-rh/tests/test-ifcfg-rh.c
@@ -188,8 +188,8 @@ _assert_expected_content(NMConnection *connection, const char *filename, const c
         if (G_UNLIKELY(rewrite == 0)) {
             rewrite = (g_getenv("NMTST_IFCFG_RH_UPDATE_EXPECTED")
                        || nm_streq0(g_getenv("NM_TEST_REGENERATE"), "1"))
-                          ? -1
-                          : 1;
+                          ? 1
+                          : -1;
             if (!g_atomic_int_compare_and_exchange(&rewrite_static, 0, rewrite))
                 g_assert_not_reached();
         }
@@ -738,10 +738,13 @@ test_read_variables_corner_cases(void)
     const char *         mac;
     char                 expected_mac_address[ETH_ALEN] = {0x00, 0x16, 0x41, 0x11, 0x22, 0x33};
 
+    NMTST_EXPECT_NM_WARN("*key NAME is badly quoted and is treated as \"\"*");
+    NMTST_EXPECT_NM_WARN("*key ZONE is badly quoted and is treated as \"\"*");
     connection = _connection_from_file(TEST_IFCFG_DIR "/ifcfg-test-variables-corner-cases-1",
                                        NULL,
                                        TYPE_ETHERNET,
                                        NULL);
+    g_test_assert_expected_messages();
 
     /* ===== CONNECTION SETTING ===== */
     s_con = nm_connection_get_setting_connection(connection);
@@ -830,10 +833,12 @@ test_read_unrecognized(void)
     gs_free char *       unhandled_spec     = NULL;
     guint64              expected_timestamp = 0;
 
+    NMTST_EXPECT_NM_WARN("*key NAME is badly quoted and is treated as \"\"*");
     connection = _connection_from_file(TEST_IFCFG_DIR "/ifcfg-test-unrecognized",
                                        NULL,
                                        NULL,
                                        &unhandled_spec);
+    g_test_assert_expected_messages();
     g_assert_cmpstr(unhandled_spec, ==, "unrecognized:mac:00:11:22:33");
 
     /* ===== CONNECTION SETTING ===== */
@@ -1004,10 +1009,12 @@ test_read_wired_dhcp(void)
     char                 expected_mac_address[ETH_ALEN] = {0x00, 0x11, 0x22, 0x33, 0x44, 0xee};
     const char *         mac;
 
+    NMTST_EXPECT_NM_WARN("*key IPV6INIT is duplicated and the early occurrence ignored*");
     connection = _connection_from_file(TEST_IFCFG_DIR "/ifcfg-test-wired-dhcp",
                                        NULL,
                                        TYPE_ETHERNET,
                                        &unmanaged);
+    g_test_assert_expected_messages();
     g_assert(unmanaged == NULL);
 
     /* ===== CONNECTION SETTING ===== */
@@ -3583,10 +3590,12 @@ test_read_wifi_wpa_eap_tls(void)
     char *             unmanaged                 = NULL;
     const char *       expected_privkey_password = "test1";
 
+    NMTST_EXPECT_NM_WARN("*key ONBOOT is duplicated and the early occurrence ignored*");
     connection = _connection_from_file(TEST_IFCFG_DIR "/ifcfg-test-wifi-wpa-eap-tls",
                                        NULL,
                                        TYPE_ETHERNET,
                                        &unmanaged);
+    g_test_assert_expected_messages();
     g_assert(!unmanaged);
 
     /* ===== WIRELESS SETTING ===== */
@@ -3791,10 +3800,12 @@ test_read_wifi_wep_eap_ttls_chap(void)
     NMSetting8021x *           s_8021x;
     char *                     unmanaged = NULL;
 
+    NMTST_EXPECT_NM_WARN("*key ONBOOT is duplicated and the early occurrence ignored*");
     connection = _connection_from_file(TEST_IFCFG_DIR "/ifcfg-test-wifi-wep-eap-ttls-chap",
                                        NULL,
                                        TYPE_WIRELESS,
                                        &unmanaged);
+    g_test_assert_expected_messages();
     g_assert(!unmanaged);
 
     /* ===== WIRELESS SETTING ===== */
@@ -10476,7 +10487,7 @@ _svUnescape(const char *str, char **to_free)
         str = (str_free = g_strdup(str));
     }
 
-    s = svUnescape(str, to_free);
+    s = svUnescape_full(str, to_free, FALSE);
     if (*to_free) {
         g_assert(s == *to_free);
         g_assert(s[0]);
@@ -10484,6 +10495,37 @@ _svUnescape(const char *str, char **to_free)
         g_assert(s == NULL || (!s[0] && (s < str || s > strchr(str, '\0')))
                  || (s[0] && s >= str && s <= strchr(str, '\0')));
     }
+
+    {
+        const char *  s2;
+        gs_free char *to_free2 = NULL;
+
+        gboolean is_utf8 = s && g_utf8_validate(s, -1, NULL);
+
+        s2 = svUnescape_full(str, &to_free2, TRUE);
+        if (NM_IN_STRSET(str, "$'\\U0x'", "$'\\x0'", "$'\\008'", "$'\\08'")) {
+            g_assert_cmpstr(s2, ==, NULL);
+            g_assert(!to_free2);
+            g_assert_cmpstr(s, ==, "");
+            g_assert(!*to_free);
+        } else if (NM_IN_STRSET(str, "$'x\\U0'")) {
+            g_assert_cmpstr(s2, ==, NULL);
+            g_assert(!to_free2);
+            g_assert_cmpstr(s, ==, "x");
+            g_assert(*to_free == s);
+        } else if (!is_utf8) {
+            g_assert(!s2);
+            g_assert(!to_free2);
+        } else if (!to_free2) {
+            g_assert_cmpstr(s, ==, s2);
+            g_assert(s == s2);
+        } else {
+            g_assert_cmpstr(s, ==, s2);
+            g_assert(s != s2);
+            g_assert(s2 == to_free2);
+        }
+    }
+
     return s;
 }
 
@@ -10665,6 +10707,9 @@ test_svUnescape(void)
         V1("\"\\'\"''", "\\'"),
         V0("\"b\\~b\" ", "b\\~b"),
         V1("\"b\\~b\"x", "b\\~bx"),
+
+        V0("$'x\\U0'", "x"),
+        V0("$'\\U0x'", ""),
     };
     const UnescapeTestData data_ansi[] = {
         /* strings inside $''. They cannot be compared directly, but must
@@ -10851,7 +10896,7 @@ test_write_unknown(gconstpointer test_data)
         _svGetValue_check(sv, "METRIC", NULL);
         _svGetValue_check(sv, "METRIC1", "");
         _svGetValue_check(sv, "METRIC2", "");
-        _svGetValue_check(sv, "METRIC3", "x");
+        _svGetValue_check(sv, "METRIC3", "");
 
         _svGetValue_check(sv, "IPADDR", "set-by-test1");
         _svGetValue_check(sv, "IPADDR2", "set-by-test2");
diff --git a/src/core/tests/meson.build b/src/core/tests/meson.build
index 316f20cc..99fa0ae9 100644
--- a/src/core/tests/meson.build
+++ b/src/core/tests/meson.build
@@ -44,7 +44,9 @@ exe = executable(
   link_with: [
     libnm_systemd_shared,
     libnm_systemd_core,
+    libnm_glib_aux,
     libnm_log_null,
+    libnm_std_aux,
     libc_siphash,
   ],
 )
diff --git a/src/libnm-base/nm-config-base.h b/src/libnm-base/nm-config-base.h
index 7a23875a..c413e867 100644
--- a/src/libnm-base/nm-config-base.h
+++ b/src/libnm-base/nm-config-base.h
@@ -62,6 +62,8 @@
 #define NM_CONFIG_KEYFILE_KEY_DEVICE_MANAGED                    "managed"
 #define NM_CONFIG_KEYFILE_KEY_DEVICE_IGNORE_CARRIER             "ignore-carrier"
 #define NM_CONFIG_KEYFILE_KEY_DEVICE_SRIOV_NUM_VFS              "sriov-num-vfs"
+#define NM_CONFIG_KEYFILE_KEY_DEVICE_KEEP_CONFIGURATION         "keep-configuration"
+#define NM_CONFIG_KEYFILE_KEY_DEVICE_ALLOWED_CONNECTIONS        "allowed-connections"
 #define NM_CONFIG_KEYFILE_KEY_DEVICE_WIFI_BACKEND               "wifi.backend"
 #define NM_CONFIG_KEYFILE_KEY_DEVICE_WIFI_SCAN_RAND_MAC_ADDRESS "wifi.scan-rand-mac-address"
 #define NM_CONFIG_KEYFILE_KEY_DEVICE_WIFI_SCAN_GENERATE_MAC_ADDRESS_MASK \
diff --git a/src/libnm-client-impl/libnm.ver b/src/libnm-client-impl/libnm.ver
index 65d52b1a..89a99af8 100644
--- a/src/libnm-client-impl/libnm.ver
+++ b/src/libnm-client-impl/libnm.ver
@@ -1793,3 +1793,8 @@ global:
 	nm_setting_match_new;
 	nm_setting_wired_get_accept_all_mac_addresses;
 } libnm_1_30_0;
+
+libnm_1_32_4 {
+global:
+	nm_setting_ip_config_get_required_timeout;
+} libnm_1_32_0;
diff --git a/src/libnm-client-impl/nm-libnm-utils.c b/src/libnm-client-impl/nm-libnm-utils.c
index 3cc88ef4..671466cf 100644
--- a/src/libnm-client-impl/nm-libnm-utils.c
+++ b/src/libnm-client-impl/nm-libnm-utils.c
@@ -160,14 +160,17 @@ _fixup_string(const char *       desc,
         p  = q + 1;
     }
 
-    /* replace '_', ',', ASCII control characters and parentheses, with space. */
+    /* replace '_', ',', ASCII control characters and everything inside parentheses, with space. */
     for (p = desc_full; p[0]; p++) {
         if (*p == '(')
             in_paren = TRUE;
-        if (NM_IN_SET(*p, '_', ',') || *p < ' ' || in_paren)
-            *p = ' ';
-        if (*p == ')')
+        else if (*p == ')')
             in_paren = FALSE;
+        else if (NM_IN_SET(*p, '_', ',') || nm_ascii_is_ctrl_or_del(*p) || in_paren) {
+            /* pass */
+        } else
+            continue;
+        *p = ' ';
     }
 
     /* Attempt to shorten ID by ignoring certain phrases */
diff --git a/src/libnm-client-impl/nm-property-infos-nmcli.xml b/src/libnm-client-impl/nm-property-infos-nmcli.xml
index 49f2e220..b771b74c 100644
--- a/src/libnm-client-impl/nm-property-infos-nmcli.xml
+++ b/src/libnm-client-impl/nm-property-infos-nmcli.xml
@@ -34,10 +34,11 @@
 <setting name="ip-tunnel">
 </setting>
 <setting name="ipv4">
-<property name="addresses" variable="addresses" format="a comma separated list of addresses" values="" default="" example="" description="A list of IPv4 addresses and their prefix length. Multiple addresses can be separated by comma. For example &quot;192.168.1.5/24, 10.1.0.5/24&quot;." />
+<property name="addresses" variable="addresses" format="a comma separated list of addresses" values="" default="" example="" description="A list of IPv4 addresses and their prefix length. Multiple addresses can be separated by comma. For example &quot;192.168.1.5/24, 10.1.0.5/24&quot;. The addresses are listed in increasing priority, meaning the last address will be the primary address." />
 <property name="routes" variable="routes" format="a comma separated list of routes" values="" default="" example="" description="A list of IPv4 destination addresses, prefix length, optional IPv4 next hop addresses, optional route metric, optional attribute. The valid syntax is: &quot;ip[/prefix] [next-hop] [metric] [attribute=val]...[,ip[/prefix]...]&quot;. For example &quot;192.0.2.0/24 10.1.1.1 77, 198.51.100.0/24&quot;." />
 </setting>
 <setting name="ipv6">
+<property name="addresses" variable="addresses" format="a comma separated list of addresses" values="" default="" example="" description="A list of IPv6 addresses and their prefix length. Multiple addresses can be separated by comma. For example &quot;2001:db8:85a3::8a2e:370:7334/64, 2001:db8:85a3::5/64&quot;. The addresses are listed in increasing priority, meaning the last address will be the primary address." />
 </setting>
 <setting name="macsec">
 </setting>
diff --git a/src/libnm-client-impl/nm-settings-docs-gir.xml b/src/libnm-client-impl/nm-settings-docs-gir.xml
index 5f8a1d9f..cbbae7b6 100644
--- a/src/libnm-client-impl/nm-settings-docs-gir.xml
+++ b/src/libnm-client-impl/nm-settings-docs-gir.xml
@@ -214,6 +214,7 @@
     <property name="may-fail" name_upper="MAY_FAIL" type="boolean" default="TRUE" description="If TRUE, allow overall network configuration to proceed even if the configuration specified by this property times out.  Note that at least one IP configuration must succeed or overall network configuration will still fail.  For example, in IPv6-only networks, setting this property to TRUE on the NMSettingIP4Config allows the overall network configuration to succeed if IPv4 configuration fails but IPv6 configuration completes successfully." />
     <property name="method" name_upper="METHOD" type="string" description='IP configuration method. NMSettingIP4Config and NMSettingIP6Config both support "disabled", "auto", "manual", and "link-local". See the subclass-specific documentation for other values. In general, for the "auto" method, properties such as "dns" and "routes" specify information that is added on to the information returned from automatic configuration.  The "ignore-auto-routes" and "ignore-auto-dns" properties modify this behavior. For methods that imply no upstream network, such as "shared" or "link-local", these properties must be empty. For IPv4 method "shared", the IP subnet can be configured by adding one manual IPv4 address or otherwise 10.42.x.0/24 is chosen. Note that the shared method must be configured on the interface which shares the internet to a subnet, not on the uplink which is shared.' />
     <property name="never-default" name_upper="NEVER_DEFAULT" type="boolean" default="FALSE" description="If TRUE, this connection will never be the default connection for this IP type, meaning it will never be assigned the default route by NetworkManager." />
+    <property name="required-timeout" name_upper="REQUIRED_TIMEOUT" type="int32" default="-1" description='The minimum time interval in milliseconds for which dynamic IP configuration should be tried before the connection succeeds. This property is useful for example if both IPv4 and IPv6 are enabled and are allowed to fail. Normally the connection succeeds as soon as one of the two address families completes; by setting a required timeout for e.g. IPv4, one can ensure that even if IP6 succeeds earlier than IPv4, NetworkManager waits some time for IPv4 before the connection becomes active. Note that if "may-fail" is FALSE for the same address family, this property has no effect as NetworkManager needs to wait for the full DHCP timeout. A zero value means that no required timeout is present, -1 means the default value (either configuration ipvx.required-timeout override or zero).' />
     <property name="route-metric" name_upper="ROUTE_METRIC" type="int64" default="-1" description="The default metric for routes that don't explicitly specify a metric. The default value -1 means that the metric is chosen automatically based on the device type. The metric applies to dynamic routes, manual (static) routes that don't have an explicit metric setting, address prefix routes, and the default route. Note that for IPv6, the kernel accepts zero (0) but coerces it to 1024 (user default). Hence, setting this property to zero effectively mean setting it to 1024. For IPv4, zero is a regular value for the metric." />
     <property name="route-table" name_upper="ROUTE_TABLE" type="uint32" default="0" description="Enable policy routing (source routing) and set the routing table used when adding routes. This affects all routes, including device-routes, IPv4LL, DHCP, SLAAC, default-routes and static routes. But note that static routes can individually overwrite the setting by explicitly specifying a non-zero routing table. If the table setting is left at zero, it is eligible to be overwritten via global configuration. If the property is zero even after applying the global configuration value, policy routing is disabled for the address family of this connection. Policy routing disabled means that NetworkManager will add all routes to the main table (except static routes that explicitly configure a different table). Additionally, NetworkManager will not delete any extraneous routes from tables except the main table. This is to preserve backward compatibility for users who manage routing tables outside of NetworkManager." />
     <property name="routes" name_upper="ROUTES" type="array of array of uint32" description="Array of IP routes." />
@@ -241,6 +242,7 @@
     <property name="method" name_upper="METHOD" type="string" description='IP configuration method. NMSettingIP4Config and NMSettingIP6Config both support "disabled", "auto", "manual", and "link-local". See the subclass-specific documentation for other values. In general, for the "auto" method, properties such as "dns" and "routes" specify information that is added on to the information returned from automatic configuration.  The "ignore-auto-routes" and "ignore-auto-dns" properties modify this behavior. For methods that imply no upstream network, such as "shared" or "link-local", these properties must be empty. For IPv4 method "shared", the IP subnet can be configured by adding one manual IPv4 address or otherwise 10.42.x.0/24 is chosen. Note that the shared method must be configured on the interface which shares the internet to a subnet, not on the uplink which is shared.' />
     <property name="never-default" name_upper="NEVER_DEFAULT" type="boolean" default="FALSE" description="If TRUE, this connection will never be the default connection for this IP type, meaning it will never be assigned the default route by NetworkManager." />
     <property name="ra-timeout" name_upper="RA_TIMEOUT" type="int32" default="0" description="A timeout for waiting Router Advertisements in seconds. If zero (the default), a globally configured default is used. If still unspecified, the timeout depends on the sysctl settings of the device. Set to 2147483647 (MAXINT32) for infinity." />
+    <property name="required-timeout" name_upper="REQUIRED_TIMEOUT" type="int32" default="-1" description='The minimum time interval in milliseconds for which dynamic IP configuration should be tried before the connection succeeds. This property is useful for example if both IPv4 and IPv6 are enabled and are allowed to fail. Normally the connection succeeds as soon as one of the two address families completes; by setting a required timeout for e.g. IPv4, one can ensure that even if IP6 succeeds earlier than IPv4, NetworkManager waits some time for IPv4 before the connection becomes active. Note that if "may-fail" is FALSE for the same address family, this property has no effect as NetworkManager needs to wait for the full DHCP timeout. A zero value means that no required timeout is present, -1 means the default value (either configuration ipvx.required-timeout override or zero).' />
     <property name="route-metric" name_upper="ROUTE_METRIC" type="int64" default="-1" description="The default metric for routes that don't explicitly specify a metric. The default value -1 means that the metric is chosen automatically based on the device type. The metric applies to dynamic routes, manual (static) routes that don't have an explicit metric setting, address prefix routes, and the default route. Note that for IPv6, the kernel accepts zero (0) but coerces it to 1024 (user default). Hence, setting this property to zero effectively mean setting it to 1024. For IPv4, zero is a regular value for the metric." />
     <property name="route-table" name_upper="ROUTE_TABLE" type="uint32" default="0" description="Enable policy routing (source routing) and set the routing table used when adding routes. This affects all routes, including device-routes, IPv4LL, DHCP, SLAAC, default-routes and static routes. But note that static routes can individually overwrite the setting by explicitly specifying a non-zero routing table. If the table setting is left at zero, it is eligible to be overwritten via global configuration. If the property is zero even after applying the global configuration value, policy routing is disabled for the address family of this connection. Policy routing disabled means that NetworkManager will add all routes to the main table (except static routes that explicitly configure a different table). Additionally, NetworkManager will not delete any extraneous routes from tables except the main table. This is to preserve backward compatibility for users who manage routing tables outside of NetworkManager." />
     <property name="routes" name_upper="ROUTES" type="array of legacy IPv6 route struct" description="Array of IP routes." />
diff --git a/src/libnm-client-impl/tests/test-libnm.c b/src/libnm-client-impl/tests/test-libnm.c
index 6cb8076e..e470c63e 100644
--- a/src/libnm-client-impl/tests/test-libnm.c
+++ b/src/libnm-client-impl/tests/test-libnm.c
@@ -219,7 +219,7 @@ test_fixup_vendor_string(void)
         T_DATA("Memorex", "Memorex"),
         T_DATA("Micrel-Kendin", "Micrel-Kendin"),
         T_DATA("Microchip Technology, Inc.", "Microchip"),
-        T_DATA("Microcomputer Systems (M) Son", "Microcomputer"),
+        T_DATA("Microcomputer Systems (M) Son", "Microcomputer Son"),
         T_DATA("Microsoft Corp.", "Microsoft"),
         T_DATA("Microsoft Corporation", "Microsoft"),
         T_DATA("Micro-Star International Co., Ltd. [MSI]", "MSI"),
@@ -594,11 +594,11 @@ test_fixup_product_string(void)
         T_DATA("82599 Ethernet Controller Virtual Function", "82599 Virtual Function"),
         T_DATA("82599 Virtual Function", "82599 Virtual Function"),
         T_DATA("82801BA/BAM/CA/CAM Ethernet Controller", "82801BA/BAM/CA/CAM"),
-        T_DATA("82801CAM (ICH3) PRO/100 VE Ethernet Controller", "82801CAM"),
-        T_DATA("82801CAM (ICH3) PRO/100 VE (LOM) Ethernet Controller", "82801CAM"),
-        T_DATA("82801CAM (ICH3) PRO/100 VM Ethernet Controller", "82801CAM"),
-        T_DATA("82801CAM (ICH3) PRO/100 VM (KM) Ethernet Controller", "82801CAM"),
-        T_DATA("82801CAM (ICH3) PRO/100 VM (LOM) Ethernet Controller", "82801CAM"),
+        T_DATA("82801CAM (ICH3) PRO/100 VE Ethernet Controller", "82801CAM PRO/100 VE"),
+        T_DATA("82801CAM (ICH3) PRO/100 VE (LOM) Ethernet Controller", "82801CAM PRO/100 VE"),
+        T_DATA("82801CAM (ICH3) PRO/100 VM Ethernet Controller", "82801CAM PRO/100 VM"),
+        T_DATA("82801CAM (ICH3) PRO/100 VM (KM) Ethernet Controller", "82801CAM PRO/100 VM"),
+        T_DATA("82801CAM (ICH3) PRO/100 VM (LOM) Ethernet Controller", "82801CAM PRO/100 VM"),
         T_DATA("82801DB PRO/100 VE (CNR) Ethernet Controller", "82801DB PRO/100 VE"),
         T_DATA("82801DB PRO/100 VE (LOM) Ethernet Controller", "82801DB PRO/100 VE"),
         T_DATA("82801DB PRO/100 VE (MOB) Ethernet Controller", "82801DB PRO/100 VE"),
@@ -1009,25 +1009,25 @@ test_fixup_product_string(void)
         T_DATA("Ethernet Adapter", NULL),
         T_DATA("Ethernet adapter [U2L 100P-Y1]", "U2L 100P-Y1"),
         T_DATA("Ethernet Adaptive Virtual Function", "Adaptive Virtual Function"),
-        T_DATA("Ethernet Connection (2) I218-LM", NULL),
-        T_DATA("Ethernet Connection (2) I218-V", NULL),
-        T_DATA("Ethernet Connection (2) I219-LM", NULL),
-        T_DATA("Ethernet Connection (2) I219-V", NULL),
-        T_DATA("Ethernet Connection (3) I218-LM", NULL),
-        T_DATA("Ethernet Connection (3) I218-V", NULL),
-        T_DATA("Ethernet Connection (3) I219-LM", NULL),
-        T_DATA("Ethernet Connection (4) I219-LM", NULL),
-        T_DATA("Ethernet Connection (4) I219-V", NULL),
-        T_DATA("Ethernet Connection (5) I219-LM", NULL),
-        T_DATA("Ethernet Connection (5) I219-V", NULL),
-        T_DATA("Ethernet Connection (6) I219-LM", NULL),
-        T_DATA("Ethernet Connection (6) I219-V", NULL),
-        T_DATA("Ethernet Connection (7) I219-LM", NULL),
-        T_DATA("Ethernet Connection (7) I219-V", NULL),
-        T_DATA("Ethernet Connection (8) I219-LM", NULL),
-        T_DATA("Ethernet Connection (8) I219-V", NULL),
-        T_DATA("Ethernet Connection (9) I219-LM", NULL),
-        T_DATA("Ethernet Connection (9) I219-V", NULL),
+        T_DATA("Ethernet Connection (2) I218-LM", "I218-LM"),
+        T_DATA("Ethernet Connection (2 I218-V", NULL),
+        T_DATA("Ethernet Connection (2 I219-LM", NULL),
+        T_DATA("Ethernet Connection (2 I219-V", NULL),
+        T_DATA("Ethernet Connection (3) I218-LM", "I218-LM"),
+        T_DATA("Ethernet Connection (3) I218-V", "I218-V"),
+        T_DATA("Ethernet Connection (3 I219-LM", NULL),
+        T_DATA("Ethernet Connection (4 I219-LM", NULL),
+        T_DATA("Ethernet Connection (4 I219-V", NULL),
+        T_DATA("Ethernet Connection (5 I219-LM", NULL),
+        T_DATA("Ethernet Connection (5 I219-V", NULL),
+        T_DATA("Ethernet Connection (6 I219-LM", NULL),
+        T_DATA("Ethernet Connection (6 I219-V", NULL),
+        T_DATA("Ethernet Connection (7 I219-LM", NULL),
+        T_DATA("Ethernet Connection (7 I219-V", NULL),
+        T_DATA("Ethernet Connection (8 I219-LM", NULL),
+        T_DATA("Ethernet Connection (8 I219-V", NULL),
+        T_DATA("Ethernet Connection (9 I219-LM", NULL),
+        T_DATA("Ethernet Connection (9 I219-V", NULL),
         T_DATA("Ethernet Connection I217-LM", "I217-LM"),
         T_DATA("Ethernet Connection I217-V", "I217-V"),
         T_DATA("Ethernet Connection I218-LM", "I218-LM"),
@@ -2160,12 +2160,12 @@ test_fixup_product_string(void)
                "WLM-20U2/GN-1080"),
         T_DATA("WLP-UC-AG300 Wireless LAN Adapter", "WLP-UC-AG300"),
         T_DATA("WM168g 802.11bg Wireless Adapter [Intersil ISL3886]", "WM168g"),
-        T_DATA("WN111(v2) RangeMax Next Wireless [Atheros AR9170+AR9101]", "WN111"),
+        T_DATA("WN111(v2) RangeMax Next Wireless [Atheros AR9170+AR9101]", "WN111 RangeMax Next"),
         T_DATA("WNA1000M 802.11bgn [Realtek RTL8188CUS]", "WNA1000M"),
         T_DATA("WNA1000Mv2 802.11bgn [Realtek RTL8188CUS?]", "WNA1000Mv2"),
         T_DATA("WNA1000 Wireless-N 150 [Atheros AR9170+AR9101]", "WNA1000 150"),
         T_DATA("WNA1100 Wireless-N 150 [Atheros AR9271]", "WNA1100 150"),
-        T_DATA("WNA3100M(v1) Wireless-N 300 [Realtek RTL8192CU]", "WNA3100M"),
+        T_DATA("WNA3100M(v1) Wireless-N 300 [Realtek RTL8192CU]", "WNA3100M 300"),
         T_DATA("WNDA3100v1 802.11abgn [Atheros AR9170+AR9104]", "WNDA3100v1"),
         T_DATA("WNDA3200 802.11abgn Wireless Adapter [Atheros AR7010+AR9280]", "WNDA3200"),
         T_DATA("WNDA4100 802.11abgn 3x3:3 [Ralink RT3573]", "WNDA4100"),
diff --git a/src/libnm-core-aux-intern/nm-libnm-core-utils.c b/src/libnm-core-aux-intern/nm-libnm-core-utils.c
index 78daac44..e53f840a 100644
--- a/src/libnm-core-aux-intern/nm-libnm-core-utils.c
+++ b/src/libnm-core-aux-intern/nm-libnm-core-utils.c
@@ -25,6 +25,7 @@ _nm_setting_bond_remove_options_miimon(NMSettingBond *s_bond)
     nm_setting_bond_remove_option(s_bond, NM_SETTING_BOND_OPTION_MIIMON);
     nm_setting_bond_remove_option(s_bond, NM_SETTING_BOND_OPTION_UPDELAY);
     nm_setting_bond_remove_option(s_bond, NM_SETTING_BOND_OPTION_DOWNDELAY);
+    nm_setting_bond_remove_option(s_bond, NM_SETTING_BOND_OPTION_PEER_NOTIF_DELAY);
 }
 
 void
diff --git a/src/libnm-core-impl/meson.build b/src/libnm-core-impl/meson.build
index 2b769616..f175ea3b 100644
--- a/src/libnm-core-impl/meson.build
+++ b/src/libnm-core-impl/meson.build
@@ -2,23 +2,27 @@
 
 libnm_core_impl_inc = include_directories('.')
 
-libnm_crypto_nss = static_library(
-  'nm-crypto-nss',
-  sources: 'nm-crypto-nss.c',
-  dependencies: [
-    libnm_core_public_dep,
-    crypto_nss_dep,
-  ],
-)
+if crypto_nss_dep.found()
+  libnm_crypto_nss = static_library(
+    'nm-crypto-nss',
+    sources: 'nm-crypto-nss.c',
+    dependencies: [
+      libnm_core_public_dep,
+      crypto_nss_dep,
+    ],
+  )
+endif
 
-libnm_crypto_gnutls = static_library(
-  'nm-crypto-gnutls',
-  sources: 'nm-crypto-gnutls.c',
-  dependencies: [
-    libnm_core_public_dep,
-    crypto_gnutls_dep,
-  ],
-)
+if crypto_gnutls_dep.found()
+  libnm_crypto_gnutls = static_library(
+    'nm-crypto-gnutls',
+    sources: 'nm-crypto-gnutls.c',
+    dependencies: [
+      libnm_core_public_dep,
+      crypto_gnutls_dep,
+    ],
+  )
+endif
 
 if crypto == 'nss'
   libnm_crypto = libnm_crypto_nss
diff --git a/src/libnm-core-impl/nm-connection.c b/src/libnm-core-impl/nm-connection.c
index ed864db8..4ac7b322 100644
--- a/src/libnm-core-impl/nm-connection.c
+++ b/src/libnm-core-impl/nm-connection.c
@@ -649,7 +649,7 @@ nm_connection_replace_settings_from_connection(NMConnection *connection,
 {
     NMConnectionPrivate *priv;
     NMConnectionPrivate *new_priv;
-    gboolean             changed;
+    gboolean             changed = FALSE;
     int                  i;
 
     g_return_if_fail(NM_IS_CONNECTION(connection));
diff --git a/src/libnm-core-impl/nm-keyfile-utils.c b/src/libnm-core-impl/nm-keyfile-utils.c
index 88f9c4f9..f8c2f387 100644
--- a/src/libnm-core-impl/nm-keyfile-utils.c
+++ b/src/libnm-core-impl/nm-keyfile-utils.c
@@ -531,7 +531,7 @@ _keyfile_key_encode(const char *name, char **out_to_free)
             if (ch == '\0')
                 return name;
 
-            if (ch < 0x20 || ch >= 127 || NM_IN_SET(ch, '=', '[', ']')
+            if (!nm_ascii_is_regular(ch) || NM_IN_SET(ch, '=', '[', ']')
                 || (ch == '\\' && g_ascii_isxdigit(name[i + 1]) && g_ascii_isxdigit(name[i + 2]))
                 || (ch == ' ' && name[i + 1] == '\0'))
                 break;
@@ -557,7 +557,7 @@ _keyfile_key_encode(const char *name, char **out_to_free)
         if (ch == '\0')
             break;
 
-        if (ch < 0x20 || ch >= 127 || NM_IN_SET(ch, '=', '[', ']')
+        if (!nm_ascii_is_regular(ch) || NM_IN_SET(ch, '=', '[', ']')
             || (ch == '\\' && g_ascii_isxdigit(name[i + 1]) && g_ascii_isxdigit(name[i + 2]))
             || (ch == ' ' && name[i + 1] == '\0')) {
             nm_str_buf_append_c(&str, '\\');
diff --git a/src/libnm-core-impl/nm-keyfile.c b/src/libnm-core-impl/nm-keyfile.c
index 88aa0d46..c6c4a2eb 100644
--- a/src/libnm-core-impl/nm-keyfile.c
+++ b/src/libnm-core-impl/nm-keyfile.c
@@ -2781,6 +2781,9 @@ static const ParseInfoSetting *const parse_infos[_NM_META_SETTING_TYPE_NUM] = {
                                 .parser = mac_address_parser_ETHER_cloned, ),
             PARSE_INFO_PROPERTY(NM_SETTING_WIRELESS_MAC_ADDRESS,
                                 .parser = mac_address_parser_ETHER, ),
+            PARSE_INFO_PROPERTY(NM_SETTING_WIRELESS_SEEN_BSSIDS,
+                                .parser_skip = TRUE,
+                                .writer_skip = TRUE, ),
             PARSE_INFO_PROPERTY(NM_SETTING_WIRELESS_SSID,
                                 .parser = ssid_parser,
                                 .writer = ssid_writer, ), ), ),
diff --git a/src/libnm-core-impl/nm-setting-bond.c b/src/libnm-core-impl/nm-setting-bond.c
index 93baa9d6..252adc73 100644
--- a/src/libnm-core-impl/nm-setting-bond.c
+++ b/src/libnm-core-impl/nm-setting-bond.c
@@ -90,6 +90,7 @@ static const char *const valid_options_lst[] = {
     NM_SETTING_BOND_OPTION_PACKETS_PER_SLAVE,
     NM_SETTING_BOND_OPTION_TLB_DYNAMIC_LB,
     NM_SETTING_BOND_OPTION_LP_INTERVAL,
+    NM_SETTING_BOND_OPTION_PEER_NOTIF_DELAY,
     NULL,
 };
 
@@ -207,6 +208,7 @@ static NM_UTILS_STRING_TABLE_LOOKUP_STRUCT_DEFINE(
     {NM_SETTING_BOND_OPTION_NUM_GRAT_ARP, {"1", NM_BOND_OPTION_TYPE_INT, 0, 255}},
     {NM_SETTING_BOND_OPTION_NUM_UNSOL_NA, {"1", NM_BOND_OPTION_TYPE_INT, 0, 255}},
     {NM_SETTING_BOND_OPTION_PACKETS_PER_SLAVE, {"1", NM_BOND_OPTION_TYPE_INT, 0, 65535}},
+    {NM_SETTING_BOND_OPTION_PEER_NOTIF_DELAY, {"0", NM_BOND_OPTION_TYPE_INT, 0, G_MAXINT}},
     {NM_SETTING_BOND_OPTION_PRIMARY, {"", NM_BOND_OPTION_TYPE_IFNAME}},
     {NM_SETTING_BOND_OPTION_PRIMARY_RESELECT,
      {"always", NM_BOND_OPTION_TYPE_BOTH, 0, 2, _option_default_strv_primary_reselect}},
@@ -782,6 +784,7 @@ verify(NMSetting *setting, NMConnection *connection, GError **error)
     int                      arp_interval;
     int                      num_grat_arp;
     int                      num_unsol_na;
+    int                      peer_notif_delay;
     const char *             mode_str;
     const char *             arp_ip_target = NULL;
     const char *             lacp_rate;
@@ -810,6 +813,8 @@ verify(NMSetting *setting, NMConnection *connection, GError **error)
     arp_interval = _atoi(_bond_get_option_or_default(self, NM_SETTING_BOND_OPTION_ARP_INTERVAL));
     num_grat_arp = _atoi(_bond_get_option_or_default(self, NM_SETTING_BOND_OPTION_NUM_GRAT_ARP));
     num_unsol_na = _atoi(_bond_get_option_or_default(self, NM_SETTING_BOND_OPTION_NUM_UNSOL_NA));
+    peer_notif_delay =
+        _atoi(_bond_get_option_or_default(self, NM_SETTING_BOND_OPTION_PEER_NOTIF_DELAY));
 
     /* Option restrictions:
      *
@@ -818,6 +823,8 @@ verify(NMSetting *setting, NMConnection *connection, GError **error)
      * arp_validate does not work with [ BOND_MODE_8023AD, BOND_MODE_TLB, BOND_MODE_ALB ]
      * downdelay needs miimon
      * updelay needs miimon
+     * peer_notif_delay needs miimon enabled
+     * peer_notif_delay must be a miimon multiple
      * primary needs [ active-backup, tlb, alb ]
      */
 
@@ -926,6 +933,36 @@ verify(NMSetting *setting, NMConnection *connection, GError **error)
         }
     }
 
+    if (peer_notif_delay) {
+        if (miimon == 0) {
+            g_set_error(error,
+                        NM_CONNECTION_ERROR,
+                        NM_CONNECTION_ERROR_INVALID_PROPERTY,
+                        _("'%s' option requires '%s' option to be enabled"),
+                        NM_SETTING_BOND_OPTION_PEER_NOTIF_DELAY,
+                        NM_SETTING_BOND_OPTION_MIIMON);
+            g_prefix_error(error, "%s.%s: ", NM_SETTING_BOND_SETTING_NAME, NM_SETTING_BOND_OPTIONS);
+            return FALSE;
+        }
+
+        /* The code disables miimon when arp is set, so they never occur together.
+         * But this occurs after this verification, so this check can occur in
+         * an invalid state, when both arp and miimon are enabled. To assure not
+         * dealing with an invalid state, this arp_interval == 0 condition,
+         * that is implicit, was made explicit.
+         */
+        if ((peer_notif_delay % miimon) && (arp_interval == 0)) {
+            g_set_error(error,
+                        NM_CONNECTION_ERROR,
+                        NM_CONNECTION_ERROR_INVALID_PROPERTY,
+                        _("'%s' option needs to be a value multiple of '%s' value"),
+                        NM_SETTING_BOND_OPTION_PEER_NOTIF_DELAY,
+                        NM_SETTING_BOND_OPTION_MIIMON);
+            g_prefix_error(error, "%s.%s: ", NM_SETTING_BOND_SETTING_NAME, NM_SETTING_BOND_OPTIONS);
+            return FALSE;
+        }
+    }
+
     /* arp_ip_target can only be used with arp_interval, and must
      * contain a comma-separated list of IPv4 addresses.
      */
diff --git a/src/libnm-core-impl/nm-setting-ip-config.c b/src/libnm-core-impl/nm-setting-ip-config.c
index 59ab5ca2..f37e9d35 100644
--- a/src/libnm-core-impl/nm-setting-ip-config.c
+++ b/src/libnm-core-impl/nm-setting-ip-config.c
@@ -3905,6 +3905,7 @@ NM_GOBJECT_PROPERTIES_DEFINE(NMSettingIPConfig,
                              PROP_MAY_FAIL,
                              PROP_DAD_TIMEOUT,
                              PROP_DHCP_TIMEOUT,
+                             PROP_REQUIRED_TIMEOUT,
                              PROP_DHCP_IAID,
                              PROP_DHCP_REJECT_SERVERS, );
 
@@ -3925,6 +3926,7 @@ typedef struct {
     int        dns_priority;
     int        dad_timeout;
     int        dhcp_timeout;
+    int        required_timeout;
     guint32    route_table;
     bool       ignore_auto_routes : 1;
     bool       ignore_auto_dns : 1;
@@ -5206,6 +5208,25 @@ nm_setting_ip_config_get_dhcp_timeout(NMSettingIPConfig *setting)
 }
 
 /**
+ * nm_setting_ip_config_get_required_timeout:
+ * @setting: the #NMSettingIPConfig
+ *
+ * Returns the value contained in the #NMSettingIPConfig:required-timeout
+ * property.
+ *
+ * Returns: the required timeout for the address family
+ *
+ * Since: 1.34, 1.32.4
+ **/
+int
+nm_setting_ip_config_get_required_timeout(NMSettingIPConfig *setting)
+{
+    g_return_val_if_fail(NM_IS_SETTING_IP_CONFIG(setting), -1);
+
+    return NM_SETTING_IP_CONFIG_GET_PRIVATE(setting)->required_timeout;
+}
+
+/**
  * nm_setting_ip_config_get_dhcp_iaid:
  * @setting: the #NMSettingIPConfig
  *
@@ -5908,6 +5929,9 @@ get_property(GObject *object, guint prop_id, GValue *value, GParamSpec *pspec)
     case PROP_DHCP_TIMEOUT:
         g_value_set_int(value, nm_setting_ip_config_get_dhcp_timeout(setting));
         break;
+    case PROP_REQUIRED_TIMEOUT:
+        g_value_set_int(value, nm_setting_ip_config_get_required_timeout(setting));
+        break;
     case PROP_DHCP_IAID:
         g_value_set_string(value, nm_setting_ip_config_get_dhcp_iaid(setting));
         break;
@@ -6018,7 +6042,11 @@ set_property(GObject *object, guint prop_id, const GValue *value, GParamSpec *ps
     case PROP_DHCP_TIMEOUT:
         priv->dhcp_timeout = g_value_get_int(value);
         break;
+    case PROP_REQUIRED_TIMEOUT:
+        priv->required_timeout = g_value_get_int(value);
+        break;
     case PROP_DHCP_IAID:
+        g_free(priv->dhcp_iaid);
         priv->dhcp_iaid = g_value_dup_string(value);
         break;
     case PROP_DHCP_HOSTNAME_FLAGS:
@@ -6048,6 +6076,7 @@ nm_setting_ip_config_init(NMSettingIPConfig *setting)
     priv->dhcp_send_hostname = TRUE;
     priv->may_fail           = TRUE;
     priv->dad_timeout        = -1;
+    priv->required_timeout   = -1;
 }
 
 static void
@@ -6483,6 +6512,38 @@ nm_setting_ip_config_class_init(NMSettingIPConfigClass *klass)
         G_PARAM_READWRITE | NM_SETTING_PARAM_FUZZY_IGNORE | G_PARAM_STATIC_STRINGS);
 
     /**
+     * NMSettingIPConfig:required-timeout:
+     *
+     * The minimum time interval in milliseconds for which dynamic IP configuration
+     * should be tried before the connection succeeds.
+     *
+     * This property is useful for example if both IPv4 and IPv6 are enabled and
+     * are allowed to fail. Normally the connection succeeds as soon as one of
+     * the two address families completes; by setting a required timeout for
+     * e.g. IPv4, one can ensure that even if IP6 succeeds earlier than IPv4,
+     * NetworkManager waits some time for IPv4 before the connection becomes
+     * active.
+     *
+     * Note that if #NMSettingIPConfig:may-fail is FALSE for the same address
+     * family, this property has no effect as NetworkManager needs to wait for
+     * the full DHCP timeout.
+     *
+     * A zero value means that no required timeout is present, -1 means the
+     * default value (either configuration ipvx.required-timeout override or
+     * zero).
+     *
+     * Since: 1.34, 1.32.4
+     **/
+    obj_properties[PROP_REQUIRED_TIMEOUT] = g_param_spec_int(
+        NM_SETTING_IP_CONFIG_REQUIRED_TIMEOUT,
+        "",
+        "",
+        -1,
+        G_MAXINT32,
+        -1,
+        G_PARAM_READWRITE | NM_SETTING_PARAM_FUZZY_IGNORE | G_PARAM_STATIC_STRINGS);
+
+    /**
      * NMSettingIPConfig:dhcp-iaid:
      *
      * A string containing the "Identity Association Identifier" (IAID) used
diff --git a/src/libnm-core-impl/nm-setting-ip4-config.c b/src/libnm-core-impl/nm-setting-ip4-config.c
index 15bae0cd..b3a18bca 100644
--- a/src/libnm-core-impl/nm-setting-ip4-config.c
+++ b/src/libnm-core-impl/nm-setting-ip4-config.c
@@ -967,6 +967,8 @@ nm_setting_ip4_config_class_init(NMSettingIP4ConfigClass *klass)
      * format: a comma separated list of addresses
      * description: A list of IPv4 addresses and their prefix length. Multiple addresses
      * can be separated by comma. For example "192.168.1.5/24, 10.1.0.5/24".
+     * The addresses are listed in increasing priority, meaning the last address will
+     * be the primary address.
      * ---end---
      */
     _nm_properties_override_gobj(
diff --git a/src/libnm-core-impl/nm-setting-ip6-config.c b/src/libnm-core-impl/nm-setting-ip6-config.c
index f6d59a46..ee72de57 100644
--- a/src/libnm-core-impl/nm-setting-ip6-config.c
+++ b/src/libnm-core-impl/nm-setting-ip6-config.c
@@ -1030,6 +1030,15 @@ nm_setting_ip6_config_class_init(NMSettingIP6ConfigClass *klass)
      *   that subnet.
      * ---end---
      */
+    /* ---nmcli---
+     * property: addresses
+     * format: a comma separated list of addresses
+     * description: A list of IPv6 addresses and their prefix length. Multiple addresses
+     * can be separated by comma. For example "2001:db8:85a3::8a2e:370:7334/64, 2001:db8:85a3::5/64".
+     * The addresses are listed in increasing priority, meaning the last address will
+     * be the primary address.
+     * ---end---
+     */
     _nm_properties_override_gobj(
         properties_override,
         g_object_class_find_property(G_OBJECT_CLASS(setting_class), NM_SETTING_IP_CONFIG_ADDRESSES),
diff --git a/src/libnm-core-impl/nm-setting-wireless.c b/src/libnm-core-impl/nm-setting-wireless.c
index 11111696..5bdedf9b 100644
--- a/src/libnm-core-impl/nm-setting-wireless.c
+++ b/src/libnm-core-impl/nm-setting-wireless.c
@@ -750,19 +750,54 @@ _to_dbus_fcn_seen_bssids(const NMSettInfoSetting *               sett_info,
                          NMConnectionSerializationFlags          flags,
                          const NMConnectionSerializationOptions *options)
 {
+    if (options && options->seen_bssids)
+        return options->seen_bssids[0] ? g_variant_new_strv(options->seen_bssids, -1) : NULL;
+
+    /* The seen-bssid property is special. It cannot be converted to D-Bus
+     * like regular properties, only via the "options".
+     *
+     * This basically means, that only the daemon can provide seen-bssids as GVariant,
+     * while when a client converts the property to GVariant, it gets lost.
+     *
+     * This has the odd effect, that when the client converts the setting to GVariant
+     * and back, the seen-bssids gets lost. That is kinda desired here, because the to_dbus_fcn()
+     * and from_dbus_fcn() have the meaning of how a setting gets transferred via D-Bus,
+     * and not necessarily a loss-less conversion into another format and back. And when
+     * transferring via D-Bus, then the option makes only sense when sending it from
+     * the daemon to the client, not otherwise. */
+    return NULL;
+}
+
+static gboolean
+_from_dbus_fcn_seen_bssids(NMSetting *         setting,
+                           GVariant *          connection_dict,
+                           const char *        property,
+                           GVariant *          value,
+                           NMSettingParseFlags parse_flags,
+                           GError **           error)
+{
     NMSettingWirelessPrivate *priv;
+    gs_free const char **     s = NULL;
+    gsize                     len;
+    gsize                     i;
 
-    if (options && options->seen_bssids) {
-        return options->seen_bssids[0] ? g_variant_new_strv(options->seen_bssids, -1) : NULL;
+    if (_nm_utils_is_manager_process) {
+        /* in the manager process, we don't accept seen-bssid from the client.
+         * Do nothing.  */
+        return TRUE;
     }
 
     priv = NM_SETTING_WIRELESS_GET_PRIVATE(setting);
 
-    if (!priv->seen_bssids || priv->seen_bssids->len == 0)
-        return NULL;
+    nm_clear_pointer(&priv->seen_bssids, g_ptr_array_unref);
 
-    return g_variant_new_strv((const char *const *) priv->seen_bssids->pdata,
-                              priv->seen_bssids->len);
+    s = g_variant_get_strv(value, &len);
+    if (len > 0) {
+        priv->seen_bssids = g_ptr_array_new_full(len, g_free);
+        for (i = 0; i < len; i++)
+            g_ptr_array_add(priv->seen_bssids, g_strdup(s[i]));
+    }
+    return TRUE;
 }
 
 /**
@@ -1075,12 +1110,18 @@ compare_property(const NMSettInfoSetting *sett_info,
                  NMSetting *              set_b,
                  NMSettingCompareFlags    flags)
 {
-    if (nm_streq(sett_info->property_infos[property_idx].name,
-                 NM_SETTING_WIRELESS_CLONED_MAC_ADDRESS)) {
+    if (sett_info->property_infos[property_idx].param_spec
+        == obj_properties[PROP_CLONED_MAC_ADDRESS]) {
         return !set_b
                || nm_streq0(NM_SETTING_WIRELESS_GET_PRIVATE(set_a)->cloned_mac_address,
                             NM_SETTING_WIRELESS_GET_PRIVATE(set_b)->cloned_mac_address);
     }
+    if (sett_info->property_infos[property_idx].param_spec == obj_properties[PROP_SEEN_BSSIDS]) {
+        return !set_b
+               || (nm_strv_ptrarray_cmp(NM_SETTING_WIRELESS_GET_PRIVATE(set_a)->seen_bssids,
+                                        NM_SETTING_WIRELESS_GET_PRIVATE(set_b)->seen_bssids)
+                   == 0);
+    }
 
     return NM_SETTING_CLASS(nm_setting_wireless_parent_class)
         ->compare_property(sett_info, property_idx, con_a, set_a, con_b, set_b, flags);
@@ -1744,7 +1785,8 @@ nm_setting_wireless_class_init(NMSettingWirelessClass *klass)
         properties_override,
         obj_properties[PROP_SEEN_BSSIDS],
         NM_SETT_INFO_PROPERT_TYPE_DBUS(G_VARIANT_TYPE_STRING_ARRAY,
-                                       .to_dbus_fcn = _to_dbus_fcn_seen_bssids, ));
+                                       .to_dbus_fcn   = _to_dbus_fcn_seen_bssids,
+                                       .from_dbus_fcn = _from_dbus_fcn_seen_bssids, ));
 
     /**
      * NMSettingWireless:mtu:
diff --git a/src/libnm-core-impl/tests/meson.build b/src/libnm-core-impl/tests/meson.build
index ca1d1c1a..988c60db 100644
--- a/src/libnm-core-impl/tests/meson.build
+++ b/src/libnm-core-impl/tests/meson.build
@@ -32,8 +32,8 @@ foreach test_unit: test_units
       libnm_core_impl,
       libnm_crypto,
       libnm_base,
-      libnm_log_null,
       libnm_systemd_shared,
+      libnm_log_null,
       libnm_glib_aux,
       libnm_std_aux,
       libc_siphash,
diff --git a/src/libnm-core-impl/tests/test-general.c b/src/libnm-core-impl/tests/test-general.c
index f9cc5e54..57864948 100644
--- a/src/libnm-core-impl/tests/test-general.c
+++ b/src/libnm-core-impl/tests/test-general.c
@@ -3868,6 +3868,7 @@ test_connection_diff_a_only(void)
              {NM_SETTING_IP_CONFIG_NEVER_DEFAULT, NM_SETTING_DIFF_RESULT_IN_A},
              {NM_SETTING_IP_CONFIG_MAY_FAIL, NM_SETTING_DIFF_RESULT_IN_A},
              {NM_SETTING_IP_CONFIG_DAD_TIMEOUT, NM_SETTING_DIFF_RESULT_IN_A},
+             {NM_SETTING_IP_CONFIG_REQUIRED_TIMEOUT, NM_SETTING_DIFF_RESULT_IN_A},
              {NM_SETTING_IP_CONFIG_DNS_PRIORITY, NM_SETTING_DIFF_RESULT_IN_A},
              {NM_SETTING_IP_CONFIG_DHCP_IAID, NM_SETTING_DIFF_RESULT_IN_A},
              {NM_SETTING_IP4_CONFIG_DHCP_VENDOR_CLASS_IDENTIFIER, NM_SETTING_DIFF_RESULT_IN_A},
@@ -9136,6 +9137,12 @@ _do_test_utils_str_utf8safe(const char *            str,
     ((nmtst_get_rand_bool()) ? NM_UTILS_STR_UTF8_SAFE_FLAG_NONE \
                              : NM_UTILS_STR_UTF8_SAFE_FLAG_SECRET)
 
+    if (expected && strlen(expected) == str_len && memcmp(str, expected, str_len) == 0) {
+        g_error("Test error: pass expected as NULL (instead of \"%s\", if the escaping will "
+                "produce no difference.",
+                expected);
+    }
+
     buf_safe = nm_utils_buf_utf8safe_escape(str, str_len, flags | RND_FLAG, &str_free_1);
 
     str_safe = nm_utils_str_utf8safe_escape(str, flags | RND_FLAG, &str_free_2);
@@ -9272,6 +9279,13 @@ test_utils_str_utf8safe(void)
     do_test_utils_str_utf8safe_unescape("\n\\012", "\n\012");
     do_test_utils_str_utf8safe_unescape("\n\\.", "\n.");
     do_test_utils_str_utf8safe_unescape("\\n\\.3\\r", "\n.3\r");
+
+    do_test_utils_str_utf8safe("ab∞c", NULL, NM_UTILS_STR_UTF8_SAFE_FLAG_ESCAPE_CTRL);
+    do_test_utils_str_utf8safe("ab\ab∞c", "ab\\007b∞c", NM_UTILS_STR_UTF8_SAFE_FLAG_ESCAPE_CTRL);
+    do_test_utils_str_utf8safe("ab\ab∞c",
+                               "ab\\007b\\342\\210\\236c",
+                               NM_UTILS_STR_UTF8_SAFE_FLAG_ESCAPE_CTRL
+                                   | NM_UTILS_STR_UTF8_SAFE_FLAG_ESCAPE_NON_ASCII);
 }
 
 /*****************************************************************************/
diff --git a/src/libnm-core-intern/nm-core-internal.h b/src/libnm-core-intern/nm-core-internal.h
index 2ef25209..b1f084ed 100644
--- a/src/libnm-core-intern/nm-core-internal.h
+++ b/src/libnm-core-intern/nm-core-internal.h
@@ -60,6 +60,7 @@
 #include "nm-setting-team-port.h"
 #include "nm-setting-team.h"
 #include "nm-setting-tun.h"
+#include "nm-setting-user.h"
 #include "nm-setting-veth.h"
 #include "nm-setting-vlan.h"
 #include "nm-setting-vpn.h"
@@ -79,6 +80,10 @@
 #include "nm-vpn-editor-plugin.h"
 #include "libnm-core-aux-intern/nm-libnm-core-utils.h"
 
+#define NM_USER_TAG_ORIGIN "org.freedesktop.NetworkManager.origin"
+
+/*****************************************************************************/
+
 /* NM_SETTING_COMPARE_FLAG_INFERRABLE: check whether a device-generated
  * connection can be replaced by a already-defined connection. This flag only
  * takes into account properties marked with the %NM_SETTING_PARAM_INFERRABLE
diff --git a/src/libnm-core-public/nm-setting-bond.h b/src/libnm-core-public/nm-setting-bond.h
index 8314c10e..c869e4c8 100644
--- a/src/libnm-core-public/nm-setting-bond.h
+++ b/src/libnm-core-public/nm-setting-bond.h
@@ -56,6 +56,7 @@ G_BEGIN_DECLS
 #define NM_SETTING_BOND_OPTION_PACKETS_PER_SLAVE "packets_per_slave"
 #define NM_SETTING_BOND_OPTION_TLB_DYNAMIC_LB    "tlb_dynamic_lb"
 #define NM_SETTING_BOND_OPTION_LP_INTERVAL       "lp_interval"
+#define NM_SETTING_BOND_OPTION_PEER_NOTIF_DELAY  "peer_notif_delay"
 
 typedef struct _NMSettingBondClass NMSettingBondClass;
 
diff --git a/src/libnm-core-public/nm-setting-ip-config.h b/src/libnm-core-public/nm-setting-ip-config.h
index de15dd54..9a745cb2 100644
--- a/src/libnm-core-public/nm-setting-ip-config.h
+++ b/src/libnm-core-public/nm-setting-ip-config.h
@@ -303,7 +303,7 @@ char *nm_ip_routing_rule_to_string(const NMIPRoutingRule *      self,
 #define NM_SETTING_IP_CONFIG(obj) \
     (G_TYPE_CHECK_INSTANCE_CAST((obj), NM_TYPE_SETTING_IP_CONFIG, NMSettingIPConfig))
 #define NM_SETTING_IP_CONFIG_CLASS(klass) \
-    (G_TYPE_CHECK_CLASS_CAST((klass), NM_TYPE_SETTING_IPCONFIG, NMSettingIPConfigClass))
+    (G_TYPE_CHECK_CLASS_CAST((klass), NM_TYPE_SETTING_IP_CONFIG, NMSettingIPConfigClass))
 #define NM_IS_SETTING_IP_CONFIG(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), NM_TYPE_SETTING_IP_CONFIG))
 #define NM_IS_SETTING_IP_CONFIG_CLASS(klass) \
     (G_TYPE_CHECK_CLASS_TYPE((klass), NM_TYPE_SETTING_IP_CONFIG))
@@ -331,6 +331,7 @@ char *nm_ip_routing_rule_to_string(const NMIPRoutingRule *      self,
 #define NM_SETTING_IP_CONFIG_MAY_FAIL            "may-fail"
 #define NM_SETTING_IP_CONFIG_DAD_TIMEOUT         "dad-timeout"
 #define NM_SETTING_IP_CONFIG_DHCP_TIMEOUT        "dhcp-timeout"
+#define NM_SETTING_IP_CONFIG_REQUIRED_TIMEOUT    "required-timeout"
 #define NM_SETTING_IP_CONFIG_DHCP_IAID           "dhcp-iaid"
 #define NM_SETTING_IP_CONFIG_DHCP_REJECT_SERVERS "dhcp-reject-servers"
 
@@ -473,6 +474,8 @@ NM_AVAILABLE_IN_1_2
 int nm_setting_ip_config_get_dad_timeout(NMSettingIPConfig *setting);
 NM_AVAILABLE_IN_1_2
 int nm_setting_ip_config_get_dhcp_timeout(NMSettingIPConfig *setting);
+NM_AVAILABLE_IN_1_32_4
+int nm_setting_ip_config_get_required_timeout(NMSettingIPConfig *setting);
 NM_AVAILABLE_IN_1_22
 const char *nm_setting_ip_config_get_dhcp_iaid(NMSettingIPConfig *setting);
 
diff --git a/src/libnm-core-public/nm-version-macros.h b/src/libnm-core-public/nm-version-macros.h
index fcfbe6c6..f787188c 100644
--- a/src/libnm-core-public/nm-version-macros.h
+++ b/src/libnm-core-public/nm-version-macros.h
@@ -30,7 +30,7 @@
  * Evaluates to the micro version number of NetworkManager which this source
  * compiled against.
  */
-#define NM_MICRO_VERSION (2)
+#define NM_MICRO_VERSION (10)
 
 /**
  * NM_CHECK_VERSION:
@@ -68,6 +68,7 @@
 #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_32_4 (NM_ENCODE_VERSION (1, 32, 4))
 
 /* For releases, NM_API_VERSION is equal to NM_VERSION.
  *
diff --git a/src/libnm-core-public/nm-version-macros.h.in b/src/libnm-core-public/nm-version-macros.h.in
index 58e877df..35e89287 100644
--- a/src/libnm-core-public/nm-version-macros.h.in
+++ b/src/libnm-core-public/nm-version-macros.h.in
@@ -68,6 +68,7 @@
 #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_32_4 (NM_ENCODE_VERSION (1, 32, 4))
 
 /* 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 516870d1..10ceb581 100644
--- a/src/libnm-core-public/nm-version.h
+++ b/src/libnm-core-public/nm-version.h
@@ -285,6 +285,12 @@
     #define NM_AVAILABLE_IN_1_32
 #endif
 
+#if NM_VERSION_MAX_ALLOWED < NM_VERSION_1_32_4
+    #define NM_AVAILABLE_IN_1_32_4 G_UNAVAILABLE(1, 32.4)
+#else
+    #define NM_AVAILABLE_IN_1_32_4
+#endif
+
 /*
  * Synchronous API for calling D-Bus in libnm is deprecated. See
  * https://developer.gnome.org/libnm/stable/usage.html#sync-api
diff --git a/src/libnm-glib-aux/nm-dedup-multi.h b/src/libnm-glib-aux/nm-dedup-multi.h
index 9a995ec5..fb1cb863 100644
--- a/src/libnm-glib-aux/nm-dedup-multi.h
+++ b/src/libnm-glib-aux/nm-dedup-multi.h
@@ -309,8 +309,11 @@ guint nm_dedup_multi_index_dirty_remove_idx(NMDedupMultiIndex *  self,
 /*****************************************************************************/
 
 typedef struct _NMDedupMultiIter {
-    const CList *            _head;
-    const CList *            _next;
+    const CList *_head;
+    union {
+        const CList *_next;
+        const CList *_prev;
+    };
     const NMDedupMultiEntry *current;
 } NMDedupMultiIter;
 
@@ -329,13 +332,30 @@ nm_dedup_multi_iter_init(NMDedupMultiIter *iter, const NMDedupMultiHeadEntry *he
     iter->current = NULL;
 }
 
+static inline void
+nm_dedup_multi_iter_init_reverse(NMDedupMultiIter *iter, const NMDedupMultiHeadEntry *head)
+{
+    g_return_if_fail(iter);
+
+    if (head && !c_list_is_empty(&head->lst_entries_head)) {
+        iter->_head = &head->lst_entries_head;
+        iter->_prev = head->lst_entries_head.prev;
+    } else {
+        iter->_head = NULL;
+        iter->_prev = NULL;
+    }
+    iter->current = NULL;
+}
+
 static inline gboolean
 nm_dedup_multi_iter_next(NMDedupMultiIter *iter)
 {
     g_return_val_if_fail(iter, FALSE);
 
-    if (!iter->_next)
+    if (!iter->_next) {
+        iter->current = NULL;
         return FALSE;
+    }
 
     /* we always look ahead for the next. This way, the user
      * may delete the current entry (but no other entries). */
@@ -347,6 +367,26 @@ nm_dedup_multi_iter_next(NMDedupMultiIter *iter)
     return TRUE;
 }
 
+static inline gboolean
+nm_dedup_multi_iter_prev(NMDedupMultiIter *iter)
+{
+    g_return_val_if_fail(iter, FALSE);
+
+    if (!iter->_prev) {
+        iter->current = NULL;
+        return FALSE;
+    }
+
+    /* we always look ahead for the prev. This way, the user
+     * may delete the current entry (but no other entries). */
+    iter->current = c_list_entry(iter->_prev, NMDedupMultiEntry, lst_entries);
+    if (iter->_prev->prev == iter->_head)
+        iter->_prev = NULL;
+    else
+        iter->_prev = iter->_prev->prev;
+    return TRUE;
+}
+
 #define nm_dedup_multi_iter_for_each(iter, head_entry) \
     for (nm_dedup_multi_iter_init((iter), (head_entry)); nm_dedup_multi_iter_next((iter));)
 
diff --git a/src/libnm-glib-aux/nm-errno.c b/src/libnm-glib-aux/nm-errno.c
index 283173e3..0426a21d 100644
--- a/src/libnm-glib-aux/nm-errno.c
+++ b/src/libnm-glib-aux/nm-errno.c
@@ -7,8 +7,6 @@
 
 #include "nm-errno.h"
 
-#include <pthread.h>
-
 /*****************************************************************************/
 
 static NM_UTILS_LOOKUP_STR_DEFINE(
@@ -162,19 +160,9 @@ nm_strerror_native(int errsv)
 
     buf = buf_static;
     if (G_UNLIKELY(!buf)) {
-        int           errno_saved = errno;
-        pthread_key_t key;
-
         buf        = g_malloc(NM_STRERROR_BUFSIZE);
         buf_static = buf;
-
-        if (pthread_key_create(&key, g_free) != 0 || pthread_setspecific(key, buf) != 0) {
-            /* Failure. We will leak the buffer when the thread exits.
-             *
-             * Nothing we can do about it really. For Debug builds we fail with an assertion. */
-            nm_assert_not_reached();
-        }
-        errno = errno_saved;
+        nm_utils_thread_local_register_destroy(buf, g_free);
     }
 
     return nm_strerror_native_r(errsv, buf, NM_STRERROR_BUFSIZE);
diff --git a/src/libnm-glib-aux/nm-io-utils.c b/src/libnm-glib-aux/nm-io-utils.c
index 894c8726..87478a2d 100644
--- a/src/libnm-glib-aux/nm-io-utils.c
+++ b/src/libnm-glib-aux/nm-io-utils.c
@@ -564,3 +564,67 @@ nm_g_subprocess_terminate_in_background(GSubprocess *subprocess, int timeout_mse
                                                    NULL),
                            main_context);
 }
+
+/*****************************************************************************/
+
+char **
+nm_utils_find_mkstemp_files(const char *dirname, const char *filename)
+{
+    static const char letters[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
+    DIR *             dir;
+    struct dirent *   entry;
+    GPtrArray *       arr = NULL;
+    gsize             l;
+
+    /* We write files with g_file_set_contents() and nm_utils_file_set_contents().
+     * These create temporary files using g_mkstemp_full(), with a random .XXXXXX suffix.
+     *
+     * If NetworkManager crashes while writing the file, then those temporary files are
+     * left over. We might want to find and delete such files.
+     *
+     * Beware: only delete such files if you are in full control about which files are
+     * supposed to be in the directory. For example, NetworkManager controls
+     * /var/lib/NetworkManager/timestamps files, and it thus takes the right to delete
+     * all files /var/lib/NetworkManager/timestamps.XXXXXX. That may not be appropriate
+     * in other cases! */
+
+    if (!dirname || !filename || !filename[0])
+        return NULL;
+
+    dir = opendir(dirname);
+    if (!dir)
+        return NULL;
+
+    l = strlen(filename);
+
+    while ((entry = readdir(dir))) {
+        const char *f = entry->d_name;
+        guint       i;
+
+        if (strncmp(f, filename, l) != 0)
+            goto next;
+        if (f[l] != '.')
+            goto next;
+        for (i = 1; i <= 6; i++) {
+            /* @letters is also what g_mkstemp_full() does! */
+            if (!memchr(letters, f[l + i], G_N_ELEMENTS(letters)))
+                goto next;
+        }
+        if (f[l + 7] != '\0')
+            goto next;
+
+        if (!arr)
+            arr = g_ptr_array_new();
+
+        g_ptr_array_add(arr, g_strdup(f));
+next:;
+    }
+
+    closedir(dir);
+
+    if (!arr)
+        return NULL;
+
+    g_ptr_array_add(arr, NULL);
+    return (char **) g_ptr_array_free(arr, FALSE);
+}
diff --git a/src/libnm-glib-aux/nm-io-utils.h b/src/libnm-glib-aux/nm-io-utils.h
index 98e63ac0..31ff6d05 100644
--- a/src/libnm-glib-aux/nm-io-utils.h
+++ b/src/libnm-glib-aux/nm-io-utils.h
@@ -58,4 +58,6 @@ int nm_utils_file_stat(const char *filename, struct stat *out_st);
 
 void nm_g_subprocess_terminate_in_background(GSubprocess *subprocess, int timeout_msec_before_kill);
 
+char **nm_utils_find_mkstemp_files(const char *dirname, const char *filename);
+
 #endif /* __NM_IO_UTILS_H__ */
diff --git a/src/libnm-glib-aux/nm-keyfile-aux.c b/src/libnm-glib-aux/nm-keyfile-aux.c
index 75abe538..9cda1cf7 100644
--- a/src/libnm-glib-aux/nm-keyfile-aux.c
+++ b/src/libnm-glib-aux/nm-keyfile-aux.c
@@ -27,6 +27,8 @@ struct _NMKeyFileDB {
     bool dirty : 1;
     bool destroyed : 1;
 
+    bool groups_pruned : 1;
+
     char filename[];
 };
 
@@ -62,6 +64,16 @@ _IS_KEY_FILE_DB(NMKeyFileDB *self, gboolean require_is_started, gboolean allow_d
     return TRUE;
 }
 
+static GKeyFile *
+_key_file_new(void)
+{
+    GKeyFile *kf;
+
+    kf = g_key_file_new();
+    g_key_file_set_list_separator(kf, ',');
+    return kf;
+}
+
 /*****************************************************************************/
 
 NMKeyFileDB *
@@ -86,8 +98,7 @@ nm_key_file_db_new(const char *           filename,
     self->log_fcn       = log_fcn;
     self->got_dirty_fcn = got_dirty_fcn;
     self->user_data     = user_data;
-    self->kf            = g_key_file_new();
-    g_key_file_set_list_separator(self->kf, ',');
+    self->kf            = _key_file_new();
     memcpy(self->filename, filename, l_filename + 1);
     self->group_name = &self->filename[l_filename + 1];
     memcpy((char *) self->group_name, group_name, l_group + 1);
@@ -371,3 +382,106 @@ nm_key_file_db_to_file(NMKeyFileDB *self, gboolean force)
     } else
         _LOGD("write keyfile: \"%s\"", self->filename);
 }
+
+/*****************************************************************************/
+
+void
+nm_key_file_db_prune_tmp_files(NMKeyFileDB *self)
+{
+    gs_free char *     n_file   = NULL;
+    gs_free char *     n_dir    = NULL;
+    gs_strfreev char **tmpfiles = NULL;
+    gsize              i;
+
+    n_file = g_path_get_basename(self->filename);
+    n_dir  = g_path_get_dirname(self->filename);
+
+    tmpfiles = nm_utils_find_mkstemp_files(n_dir, n_file);
+    if (!tmpfiles)
+        return;
+
+    for (i = 0; tmpfiles[i]; i++) {
+        const char *  tmpfile   = tmpfiles[i];
+        gs_free char *full_file = NULL;
+        int           r;
+
+        full_file = g_strdup_printf("%s/%s", n_dir, tmpfile);
+
+        r = unlink(full_file);
+        if (r != 0) {
+            int errsv = errno;
+
+            if (errsv != ENOENT) {
+                _LOGD("prune left over temp file %s failed: %s",
+                      full_file,
+                      nm_strerror_native(errsv));
+            }
+            continue;
+        }
+
+        _LOGD("prune left over temp file %s", full_file);
+    }
+}
+
+/*****************************************************************************/
+
+void
+nm_key_file_db_prune(NMKeyFileDB *self,
+                     gboolean (*predicate)(const char *key, gpointer user_data),
+                     gpointer user_data)
+{
+    gs_strfreev char **   keys                 = NULL;
+    nm_auto_unref_keyfile GKeyFile *kf_to_free = NULL;
+    GKeyFile *                      kf_src     = NULL;
+    GKeyFile *                      kf_dst     = NULL;
+    guint                           k;
+
+    g_return_if_fail(_IS_KEY_FILE_DB(self, TRUE, FALSE));
+    nm_assert(predicate);
+
+    _LOGD("prune keyfile of old entries: \"%s\"", self->filename);
+
+    if (!self->groups_pruned) {
+        /* When we prune the first time, we swap the GKeyfile instance.
+         * The instance loaded from disk might have unrelated groups and
+         * comments. Let's get rid of them by creating a new instance.
+         *
+         * Otherwise, we know that self->kf only contains good keys,
+         * and at most we need to remove some of them. */
+        kf_to_free          = g_steal_pointer(&self->kf);
+        self->kf            = _key_file_new();
+        kf_src              = kf_to_free;
+        self->groups_pruned = TRUE;
+        self->dirty         = TRUE;
+    } else
+        kf_src = self->kf;
+    kf_dst = self->kf;
+
+    keys = g_key_file_get_keys(kf_src, self->group_name, NULL, NULL);
+    if (keys) {
+        for (k = 0; keys[k]; k++) {
+            const char *key = keys[k];
+            gboolean    keep;
+
+            keep = predicate(key, user_data);
+
+            if (!keep) {
+                if (kf_dst == kf_src) {
+                    g_key_file_remove_key(kf_dst, self->group_name, key, NULL);
+                    self->dirty = TRUE;
+                }
+                continue;
+            }
+
+            if (kf_dst != kf_src) {
+                gs_free char *value = NULL;
+
+                value = g_key_file_get_value(kf_src, self->group_name, key, NULL);
+                if (value)
+                    g_key_file_set_value(kf_dst, self->group_name, key, value);
+                else
+                    self->dirty = TRUE;
+            }
+        }
+    }
+}
diff --git a/src/libnm-glib-aux/nm-keyfile-aux.h b/src/libnm-glib-aux/nm-keyfile-aux.h
index 72d2f418..e756c57a 100644
--- a/src/libnm-glib-aux/nm-keyfile-aux.h
+++ b/src/libnm-glib-aux/nm-keyfile-aux.h
@@ -50,6 +50,12 @@ void nm_key_file_db_set_string_list(NMKeyFileDB *      self,
 
 void nm_key_file_db_to_file(NMKeyFileDB *self, gboolean force);
 
+void nm_key_file_db_prune_tmp_files(NMKeyFileDB *self);
+
+void nm_key_file_db_prune(NMKeyFileDB *self,
+                          gboolean (*predicate)(const char *key, gpointer user_data),
+                          gpointer user_data);
+
 /*****************************************************************************/
 
 #endif /* __NM_KEYFILE_AUX_H__ */
diff --git a/src/libnm-glib-aux/nm-macros-internal.h b/src/libnm-glib-aux/nm-macros-internal.h
index 39197ecf..f2d81e1c 100644
--- a/src/libnm-glib-aux/nm-macros-internal.h
+++ b/src/libnm-glib-aux/nm-macros-internal.h
@@ -121,14 +121,6 @@ _nm_auto_free_gstring(GString **str)
 }
 #define nm_auto_free_gstring nm_auto(_nm_auto_free_gstring)
 
-static inline void
-_nm_auto_protect_errno(const int *p_saved_errno)
-{
-    errno = *p_saved_errno;
-}
-#define NM_AUTO_PROTECT_ERRNO(errsv_saved) \
-    nm_auto(_nm_auto_protect_errno) _nm_unused const int errsv_saved = (errno)
-
 NM_AUTO_DEFINE_FCN0(GSource *, _nm_auto_unref_gsource, g_source_unref);
 #define nm_auto_unref_gsource nm_auto(_nm_auto_unref_gsource)
 
diff --git a/src/libnm-glib-aux/nm-random-utils.c b/src/libnm-glib-aux/nm-random-utils.c
index 56b99d5e..b055bc3f 100644
--- a/src/libnm-glib-aux/nm-random-utils.c
+++ b/src/libnm-glib-aux/nm-random-utils.c
@@ -8,6 +8,8 @@
 #include "nm-random-utils.h"
 
 #include <fcntl.h>
+#include <sys/auxv.h>
+#include <sys/syscall.h>
 
 #if USE_SYS_RANDOM_H
     #include <sys/random.h>
@@ -16,9 +18,185 @@
 #endif
 
 #include "nm-shared-utils.h"
+#include "nm-time-utils.h"
 
 /*****************************************************************************/
 
+#if !defined(SYS_getrandom) && defined(__NR_getrandom)
+    #define SYS_getrandom __NR_getrandom
+#endif
+
+#ifndef GRND_NONBLOCK
+    #define GRND_NONBLOCK 0x01
+#endif
+
+#ifndef GRND_INSECURE
+    #define GRND_INSECURE 0x04
+#endif
+
+#if !HAVE_GETRANDOM && defined(SYS_getrandom)
+static int
+getrandom(void *buf, size_t buflen, unsigned flags)
+{
+    return syscall(SYS_getrandom, buf, buflen, flags);
+}
+    #undef HAVE_GETRANDOM
+    #define HAVE_GETRANDOM 1
+#endif
+
+/*****************************************************************************/
+
+typedef struct _nm_packed {
+    uintptr_t heap_ptr;
+    uintptr_t stack_ptr;
+    gint64    now_bootime;
+    gint64    now_real;
+    pid_t     pid;
+    pid_t     ppid;
+    pid_t     tid;
+    guint32   grand[16];
+    guint8    auxval[16];
+    guint8    getrandom_buf[20];
+} BadRandSeed;
+
+typedef struct _nm_packed {
+    guint64 counter;
+    union {
+        guint8 full[NM_UTILS_CHECKSUM_LENGTH_SHA256];
+        struct {
+            guint8 half_1[NM_UTILS_CHECKSUM_LENGTH_SHA256 / 2];
+            guint8 half_2[NM_UTILS_CHECKSUM_LENGTH_SHA256 / 2];
+        };
+    } sha_digest;
+    union {
+        guint8  u8[NM_UTILS_CHECKSUM_LENGTH_SHA256 / 2];
+        guint32 u32[((NM_UTILS_CHECKSUM_LENGTH_SHA256 / 2) + 3) / 4];
+    } rand_vals;
+    GRand *rand;
+} BadRandState;
+
+static void
+_bad_random_init_seed(BadRandSeed *seed)
+{
+    const guint8 *p_at_random;
+    int           seed_idx;
+    GRand *       rand;
+
+    /* g_rand_new() reads /dev/urandom, but we already noticed that
+     * /dev/urandom fails to give us good randomness (which is why
+     * we hit the "bad randomness" code path). So this may not be as
+     * good as we wish, but let's hope that it it does something smart
+     * to give some extra entropy... */
+    rand = g_rand_new();
+
+    /* Get some seed material from a GRand. */
+    for (seed_idx = 0; seed_idx < (int) G_N_ELEMENTS(seed->grand); seed_idx++)
+        seed->grand[seed_idx] = g_rand_int(rand);
+
+    /* Add an address from the heap and stack, maybe ASLR helps a bit? */
+    seed->heap_ptr  = (uintptr_t) ((gpointer) rand);
+    seed->stack_ptr = (uintptr_t) ((gpointer) &rand);
+
+    g_rand_free(rand);
+
+    /* Add the per-process, random number. */
+    p_at_random = ((gpointer) getauxval(AT_RANDOM));
+    if (p_at_random) {
+        G_STATIC_ASSERT(sizeof(seed->auxval) == 16);
+        memcpy(&seed->auxval, p_at_random, 16);
+    }
+
+#if HAVE_GETRANDOM
+    {
+        ssize_t r;
+
+        /* This is likely to fail, because we already failed a moment earlier. Still, give
+         * it a try. */
+        r = getrandom(seed->getrandom_buf,
+                      sizeof(seed->getrandom_buf),
+                      GRND_INSECURE | GRND_NONBLOCK);
+        (void) r;
+    }
+#endif
+
+    seed->now_bootime = nm_utils_clock_gettime_nsec(CLOCK_BOOTTIME);
+    seed->now_real    = g_get_real_time();
+    seed->pid         = getpid();
+    seed->ppid        = getppid();
+    seed->tid         = nm_utils_gettid();
+}
+
+static void
+_bad_random_bytes(guint8 *buf, gsize n)
+{
+    nm_auto_free_checksum GChecksum *sum = g_checksum_new(G_CHECKSUM_SHA256);
+
+    nm_assert(n > 0);
+
+    /* We are in the fallback code path, where getrandom() (and /dev/urandom) failed
+     * to give us good randomness. Try our best.
+     *
+     * Our ability to get entropy for the CPRNG is very limited and thus the overall
+     * result will not be good randomness. See _bad_random_init_seed().
+     *
+     * Once we have some seed material, we combine GRand (which is not a cryptographically
+     * secure PRNG) with some iterative sha256 hashing. It would be nice if we had
+     * easy access to chacha20, but it's probably more cumbersome to fork those
+     * implementations than hack a bad CPRNG by using sha256 hashing. After all, this
+     * is fallback code to get *some* randomness. And with the inability to get a good
+     * seed, the CPRNG is not going to give us truly good randomness. */
+
+    {
+        static BadRandState gl_state;
+        static GRand *      gl_rand;
+        static GMutex       gl_mutex;
+        NM_G_MUTEX_LOCKED(&gl_mutex);
+
+        if (G_UNLIKELY(!gl_rand)) {
+            union {
+                BadRandSeed d_seed;
+                guint32     d_u32[(sizeof(BadRandSeed) + 3) / 4];
+            } data = {
+                .d_u32 = {0},
+            };
+
+            _bad_random_init_seed(&data.d_seed);
+
+            gl_rand = g_rand_new_with_seed_array(data.d_u32, G_N_ELEMENTS(data.d_u32));
+
+            g_checksum_update(sum, (const guchar *) &data, sizeof(data));
+            nm_utils_checksum_get_digest(sum, gl_state.sha_digest.full);
+        }
+
+        while (TRUE) {
+            int i;
+
+            gl_state.counter++;
+            for (i = 0; i < G_N_ELEMENTS(gl_state.rand_vals.u32); i++)
+                gl_state.rand_vals.u32[i] = g_rand_int(gl_rand);
+            g_checksum_reset(sum);
+            g_checksum_update(sum, (const guchar *) &gl_state, sizeof(gl_state));
+            nm_utils_checksum_get_digest(sum, gl_state.sha_digest.full);
+
+            /* gl_state.sha_digest.full and gl_state.rand_vals contain now our
+             * random values, but they are also the state for the next iteration.
+             * We must not directly expose that state to the caller, so XOR the values.
+             *
+             * That means, per iteration we can generate 16 bytes of randomness. That
+             * is for example required to generate a random UUID. */
+            for (i = 0; i < (int) (NM_UTILS_CHECKSUM_LENGTH_SHA256 / 2); i++) {
+                nm_assert(n > 0);
+                buf[0] = gl_state.sha_digest.half_1[i] ^ gl_state.sha_digest.half_2[i]
+                         ^ gl_state.rand_vals.u8[i];
+                buf++;
+                n--;
+                if (n == 0)
+                    return;
+            }
+        }
+    }
+}
+
 /**
  * nm_utils_random_bytes:
  * @p: the buffer to fill
@@ -46,9 +224,7 @@ nm_utils_random_bytes(void *p, size_t n)
     int      fd;
     int      r;
     gboolean has_high_quality = TRUE;
-    gboolean urandom_success;
-    guint8 * buf           = p;
-    gboolean avoid_urandom = FALSE;
+    guint8 * buf              = p;
 
     g_return_val_if_fail(p, FALSE);
     g_return_val_if_fail(n > 0, FALSE);
@@ -58,91 +234,66 @@ nm_utils_random_bytes(void *p, size_t n)
         static gboolean have_syscall = TRUE;
 
         if (have_syscall) {
-            r = getrandom(buf, n, GRND_NONBLOCK);
-            if (r > 0) {
-                if ((size_t) r == n)
+            ssize_t r2;
+            int     errsv;
+
+            r2 = getrandom(buf, n, GRND_NONBLOCK);
+            if (r2 >= 0) {
+                if ((size_t) r2 == n)
                     return TRUE;
 
                 /* no or partial read. There is not enough entropy.
-                 * Fill the rest reading from urandom, and remember that
-                 * some bits are not high quality. */
-                nm_assert(r < n);
-                buf += r;
-                n -= r;
-                has_high_quality = FALSE;
+                 * Fill the rest reading with the fallback code and remember
+                 * that some bits are not high quality. */
+                nm_assert((size_t) r2 < n);
+                buf += r2;
+                n -= r2;
 
                 /* At this point, we don't want to read /dev/urandom, because
                  * the entropy pool is low (early boot?), and asking for more
                  * entropy causes kernel messages to be logged.
                  *
-                 * We use our fallback via GRand. Note that g_rand_new() also
-                 * tries to seed itself with data from /dev/urandom, but since
-                 * we reuse the instance, it shouldn't matter. */
-                avoid_urandom = TRUE;
+                 * Note that we fall back to _bad_random_bytes(), which (among others) seeds
+                 * itself with g_rand_new(). That also will read /dev/urandom, but as
+                 * we do that only once, we don't care. But in general, we are here in
+                 * a situation where we want to avoid reading /dev/urandom too much. */
+                goto out_bad_random;
+            }
+            errsv = errno;
+            if (errsv == ENOSYS) {
+                /* no support for getrandom(). We don't know whether
+                 * we /dev/urandom will give us good quality. Assume yes. */
+                have_syscall = FALSE;
+            } else if (errsv == EAGAIN) {
+                /* No entropy. We avoid reading /dev/urandom. */
+                goto out_bad_random;
             } else {
-                if (errno == ENOSYS) {
-                    /* no support for getrandom(). We don't know whether
-                     * we urandom will give us good quality. Assume yes. */
-                    have_syscall = FALSE;
-                } else {
-                    /* unknown error. We'll read urandom below, but we don't have
-                     * high-quality randomness. */
-                    has_high_quality = FALSE;
-                }
+                /* Unknown error, likely no entropy. We'll read /dev/urandom below, but we don't
+                 * have high-quality randomness. */
+                has_high_quality = FALSE;
             }
         }
     }
 #endif
 
-    urandom_success = FALSE;
-    if (!avoid_urandom) {
 fd_open:
-        fd = open("/dev/urandom", O_RDONLY | O_CLOEXEC | O_NOCTTY);
-        if (fd < 0) {
-            r = errno;
-            if (r == EINTR)
-                goto fd_open;
-        } else {
-            r = nm_utils_fd_read_loop_exact(fd, buf, n, TRUE);
-            nm_close(fd);
-            if (r >= 0)
-                urandom_success = TRUE;
-        }
-    }
-
-    if (!urandom_success) {
-        static _nm_thread_local GRand *rand = NULL;
-        gsize                          i;
-        int                            j;
-
-        /* we failed to fill the bytes reading from urandom.
-         * Fill the bits using GRand pseudo random numbers.
-         *
-         * We don't have good quality.
-         */
-        has_high_quality = FALSE;
-
-        if (G_UNLIKELY(!rand))
-            rand = g_rand_new();
-
-        nm_assert(n > 0);
-        i = 0;
-        for (;;) {
-            const union {
-                guint32 v32;
-                guint8  v8[4];
-            } v = {
-                .v32 = g_rand_int(rand),
-            };
-
-            for (j = 0; j < 4;) {
-                buf[i++] = v.v8[j++];
-                if (i >= n)
-                    goto done;
-            }
-        }
-done:;
+    fd = open("/dev/urandom", O_RDONLY | O_CLOEXEC | O_NOCTTY);
+    if (fd < 0) {
+        if (errno == EINTR)
+            goto fd_open;
+        goto out_bad_random;
     }
+    r = nm_utils_fd_read_loop_exact(fd, buf, n, TRUE);
+    nm_close(fd);
+    if (r >= 0)
+        return has_high_quality;
 
-    return has_high_quality;
+out_bad_random:
+    /* we failed to fill the bytes reading from /dev/urandom.
+     * Fill the bits using our pseudo random numbers.
+     *
+     * We don't have good quality.
+     */
+    _bad_random_bytes(buf, n);
+    return FALSE;
 }
diff --git a/src/libnm-glib-aux/nm-shared-utils.c b/src/libnm-glib-aux/nm-shared-utils.c
index e42e0fe5..81852aea 100644
--- a/src/libnm-glib-aux/nm-shared-utils.c
+++ b/src/libnm-glib-aux/nm-shared-utils.c
@@ -15,7 +15,9 @@
 #include <glib-unix.h>
 #include <net/if.h>
 #include <net/ethernet.h>
+#include <pthread.h>
 
+#include "c-list/src/c-list.h"
 #include "nm-errno.h"
 #include "nm-str-buf.h"
 
@@ -2990,13 +2992,13 @@ nm_utils_buf_utf8safe_escape(gconstpointer           buf,
     if (g_utf8_validate(str, buflen, &p) && nul_terminated) {
         /* note that g_utf8_validate() does not allow NUL character inside @str. Good.
          * We can treat @str like a NUL terminated string. */
-        if (!NM_STRCHAR_ANY(
-                str,
-                ch,
-                (ch == '\\'
-                 || (NM_FLAGS_HAS(flags, NM_UTILS_STR_UTF8_SAFE_FLAG_ESCAPE_CTRL) && ch < ' ')
-                 || (NM_FLAGS_HAS(flags, NM_UTILS_STR_UTF8_SAFE_FLAG_ESCAPE_NON_ASCII)
-                     && ((guchar) ch) >= 127))))
+        if (!NM_STRCHAR_ANY(str,
+                            ch,
+                            (ch == '\\'
+                             || (NM_FLAGS_HAS(flags, NM_UTILS_STR_UTF8_SAFE_FLAG_ESCAPE_CTRL)
+                                 && nm_ascii_is_ctrl_or_del(ch))
+                             || (NM_FLAGS_HAS(flags, NM_UTILS_STR_UTF8_SAFE_FLAG_ESCAPE_NON_ASCII)
+                                 && nm_ascii_is_non_ascii(ch)))))
             return str;
     }
 
@@ -3013,9 +3015,10 @@ nm_utils_buf_utf8safe_escape(gconstpointer           buf,
             nm_assert(ch);
             if (ch == '\\')
                 nm_str_buf_append_c(&strbuf, '\\', '\\');
-            else if ((NM_FLAGS_HAS(flags, NM_UTILS_STR_UTF8_SAFE_FLAG_ESCAPE_CTRL) && ch < ' ')
+            else if ((NM_FLAGS_HAS(flags, NM_UTILS_STR_UTF8_SAFE_FLAG_ESCAPE_CTRL)
+                      && nm_ascii_is_ctrl_or_del(ch))
                      || (NM_FLAGS_HAS(flags, NM_UTILS_STR_UTF8_SAFE_FLAG_ESCAPE_NON_ASCII)
-                         && ((guchar) ch) >= 127))
+                         && nm_ascii_is_non_ascii(ch)))
                 _str_buf_append_c_escape_octal(&strbuf, ch);
             else
                 nm_str_buf_append_c(&strbuf, ch);
@@ -4932,14 +4935,14 @@ _nm_g_source_sentinel_get_init(GSource **p_source)
     };
     GSource *source;
 
-again:
     source = g_source_new((GSourceFuncs *) &source_funcs, sizeof(GSource));
     g_source_set_priority(source, G_PRIORITY_DEFAULT_IDLE);
     g_source_set_name(source, "nm_g_source_sentinel");
 
     if (!g_atomic_pointer_compare_and_exchange(p_source, NULL, source)) {
         g_source_unref(source);
-        goto again;
+        source = g_atomic_pointer_get(p_source);
+        nm_assert(source);
     }
 
     return source;
@@ -6357,3 +6360,80 @@ nm_utils_get_process_exit_status_desc(int status)
     else
         return g_strdup_printf("exited with unknown status 0x%x", status);
 }
+
+/*****************************************************************************/
+
+typedef struct {
+    CList          lst;
+    gpointer       tls_data;
+    GDestroyNotify destroy_notify;
+} TlsRegData;
+
+static pthread_key_t _tls_reg_key;
+
+static void
+_tls_reg_destroy(gpointer data)
+{
+    CList *     lst_head = data;
+    TlsRegData *entry;
+
+    if (!lst_head)
+        return;
+
+    /* For no strong reason are we destroying the elements in reverse
+     * order than they were added. It seems a bit more sensible (but shouldn't
+     * matter nor should you rely on that). */
+    while ((entry = c_list_last_entry(lst_head, TlsRegData, lst))) {
+        c_list_unlink_stale(&entry->lst);
+        entry->destroy_notify(entry->tls_data);
+        nm_g_slice_free(entry);
+    }
+
+    nm_g_slice_free(lst_head);
+}
+
+static void
+_tls_reg_make_key(void)
+{
+    if (pthread_key_create(&_tls_reg_key, _tls_reg_destroy) != 0)
+        g_return_if_reached();
+}
+
+/**
+ * nm_utils_thread_local_register_destroy:
+ * @tls_data: the thread local storage data that should be destroyed when the thread
+ *   exits. This pointer will be "owned" by the current thread. There is no way
+ *   to un-register the destruction.
+ * @destroy_notify: the free function that will be called when the thread exits.
+ *
+ * If _nm_tread_local storage is heap allocated it requires freeing the pointer
+ * when the thread exits. Use this function to register the pointer to be
+ * released.
+ *
+ * This function does not change errno.
+ */
+void
+nm_utils_thread_local_register_destroy(gpointer tls_data, GDestroyNotify destroy_notify)
+{
+    NM_AUTO_PROTECT_ERRNO(errsv);
+    static pthread_once_t key_once = PTHREAD_ONCE_INIT;
+    CList *               lst_head;
+    TlsRegData *          entry;
+
+    nm_assert(destroy_notify);
+
+    if (pthread_once(&key_once, _tls_reg_make_key) != 0)
+        g_return_if_reached();
+
+    if ((lst_head = pthread_getspecific(_tls_reg_key)) == NULL) {
+        lst_head = g_slice_new(CList);
+        c_list_init(lst_head);
+        if (pthread_setspecific(_tls_reg_key, lst_head) != 0)
+            g_return_if_reached();
+    }
+
+    entry                 = g_slice_new(TlsRegData);
+    entry->tls_data       = tls_data;
+    entry->destroy_notify = destroy_notify;
+    c_list_link_tail(lst_head, &entry->lst);
+}
diff --git a/src/libnm-glib-aux/nm-shared-utils.h b/src/libnm-glib-aux/nm-shared-utils.h
index f5b1d00c..dcf37cd3 100644
--- a/src/libnm-glib-aux/nm-shared-utils.h
+++ b/src/libnm-glib-aux/nm-shared-utils.h
@@ -1258,6 +1258,7 @@ typedef enum {
     NM_UTILS_ERROR_CONNECTION_AVAILABLE_INCOMPATIBLE,
     NM_UTILS_ERROR_CONNECTION_AVAILABLE_UNMANAGED_DEVICE,
     NM_UTILS_ERROR_CONNECTION_AVAILABLE_TEMPORARY,
+    NM_UTILS_ERROR_CONNECTION_AVAILABLE_DISALLOWED,
 
     NM_UTILS_ERROR_SETTING_MISSING,
 
@@ -1446,10 +1447,14 @@ GType nm_g_type_find_implementing_class_for_property(GType gtype, const char *pn
 typedef enum {
     NM_UTILS_STR_UTF8_SAFE_FLAG_NONE = 0,
 
-    /* This flag only has an effect during escaping. */
+    /* This flag only has an effect during escaping.
+     *
+     * It will backslash escape ascii characters according to nm_ascii_is_ctrl_or_del(). */
     NM_UTILS_STR_UTF8_SAFE_FLAG_ESCAPE_CTRL = 0x0001,
 
-    /* This flag only has an effect during escaping. */
+    /* This flag only has an effect during escaping.
+     *
+     * It will backslash escape ascii characters according to nm_ascii_is_non_ascii(). */
     NM_UTILS_STR_UTF8_SAFE_FLAG_ESCAPE_NON_ASCII = 0x0002,
 
     /* This flag only has an effect during escaping to ensure we
@@ -2438,6 +2443,40 @@ nm_hexchar(int x, gboolean upper_case)
     return upper_case ? _nm_hexchar_table_upper[x & 15] : _nm_hexchar_table_lower[x & 15];
 }
 
+static inline gboolean
+nm_ascii_is_ctrl(char ch)
+{
+    /* 0 to ' '-1 is the C0 range.
+     *
+     * Other ranges may also be considered control characters, but NOT
+     * CONSIDERED by this function. For example:
+     *   - DEL (127) is also a control character.
+     *   - SP (' ', 0x20) is also considered a control character.
+     *   - DEL+1 (0x80) to 0x9F is C1 range.
+     *   - NBSP (0xA0) and SHY (0xAD) are ISO 8859 special characters
+     */
+    return ((guchar) ch) < ' ';
+}
+
+static inline gboolean
+nm_ascii_is_ctrl_or_del(char ch)
+{
+    return ((guchar) ch) < ' ' || ch == 127;
+}
+
+static inline gboolean
+nm_ascii_is_non_ascii(char ch)
+{
+    return ((guchar) ch) > 127;
+}
+
+static inline gboolean
+nm_ascii_is_regular(char ch)
+{
+    /* same as(!nm_ascii_is_ctrl_or_del(ch) && !nm_ascii_is_non_ascii(ch)) */
+    return ch >= ' ' && ch < 127;
+}
+
 char *nm_utils_bin2hexstr_full(gconstpointer addr,
                                gsize         length,
                                char          delimiter,
@@ -2949,4 +2988,8 @@ void nm_crypto_md5_hash(const guint8 *salt,
 
 char *nm_utils_get_process_exit_status_desc(int status);
 
+/*****************************************************************************/
+
+void nm_utils_thread_local_register_destroy(gpointer tls_data, GDestroyNotify destroy_notify);
+
 #endif /* __NM_SHARED_UTILS_H__ */
diff --git a/src/libnm-glib-aux/nm-str-buf.h b/src/libnm-glib-aux/nm-str-buf.h
index b43b206f..7a7f580c 100644
--- a/src/libnm-glib-aux/nm-str-buf.h
+++ b/src/libnm-glib-aux/nm-str-buf.h
@@ -504,4 +504,11 @@ nm_str_buf_destroy(NMStrBuf *strbuf)
 
 #define nm_auto_str_buf nm_auto(nm_str_buf_destroy)
 
+static inline gboolean
+nm_str_buf_utf8_validate(NMStrBuf *strbuf)
+{
+    _nm_str_buf_assert(strbuf);
+    return strbuf->_priv_len == 0 || g_utf8_validate(strbuf->_priv_str, strbuf->_priv_len, NULL);
+}
+
 #endif /* __NM_STR_BUF_H__ */
diff --git a/src/libnm-glib-aux/tests/test-shared-general.c b/src/libnm-glib-aux/tests/test-shared-general.c
index 6c7ab488..4a7b6790 100644
--- a/src/libnm-glib-aux/tests/test-shared-general.c
+++ b/src/libnm-glib-aux/tests/test-shared-general.c
@@ -1345,6 +1345,49 @@ test_nm_g_source_sentinel(void)
 
 /*****************************************************************************/
 
+static void
+test_nm_ascii(void)
+{
+    int i;
+
+    for (i = 0; i < 256; i++) {
+        const char ch = i;
+        gboolean   is_space;
+
+        if (ch == 127) {
+            g_assert(nm_ascii_is_ctrl_or_del(ch));
+            g_assert(!nm_ascii_is_ctrl(ch));
+        } else
+            g_assert(nm_ascii_is_ctrl_or_del(ch) == nm_ascii_is_ctrl(ch));
+        g_assert(nm_ascii_is_ctrl_or_del(ch) == g_ascii_iscntrl(ch));
+
+        g_assert(nm_ascii_is_non_ascii(ch) == (i >= 128));
+
+        g_assert(!nm_ascii_is_ctrl_or_del(ch) || !nm_ascii_is_non_ascii(ch));
+
+        g_assert((nm_ascii_is_ctrl_or_del(ch) || nm_ascii_is_regular(ch))
+                 != nm_ascii_is_non_ascii(ch));
+
+        g_assert(nm_ascii_is_regular(ch)
+                 == (!nm_ascii_is_ctrl_or_del(ch) && !nm_ascii_is_non_ascii(ch)));
+
+        is_space = g_ascii_isspace(ch);
+        if (NM_IN_SET(ch, '\t', '\n', '\f', '\r')) {
+            /* hack is-space, so that the check below works to check for regular ASCII characters. */
+            g_assert(!nm_ascii_is_regular(ch));
+            g_assert(is_space);
+            is_space = FALSE;
+        }
+        g_assert(nm_ascii_is_regular(ch)
+                 == (g_ascii_isalnum(ch) || g_ascii_isalpha(ch) || g_ascii_isdigit(ch)
+                     || g_ascii_isgraph(ch) || g_ascii_islower(ch) || g_ascii_isprint(ch)
+                     || g_ascii_ispunct(ch) || is_space || g_ascii_isupper(ch)
+                     || g_ascii_isxdigit(ch)));
+    }
+}
+
+/*****************************************************************************/
+
 NMTST_DEFINE();
 
 int
@@ -1376,6 +1419,7 @@ main(int argc, char **argv)
     g_test_add_func("/general/test_strv_dup_packed", test_strv_dup_packed);
     g_test_add_func("/general/test_utils_hashtable_cmp", test_utils_hashtable_cmp);
     g_test_add_func("/general/test_nm_g_source_sentinel", test_nm_g_source_sentinel);
+    g_test_add_func("/general/test_nm_ascii", test_nm_ascii);
 
     return g_test_run();
 }
diff --git a/src/libnm-platform/nm-linux-platform.c b/src/libnm-platform/nm-linux-platform.c
index bdeae826..bcf94200 100644
--- a/src/libnm-platform/nm-linux-platform.c
+++ b/src/libnm-platform/nm-linux-platform.c
@@ -3519,6 +3519,7 @@ rta_multipath_done:;
 
     obj = nmp_object_new(is_v4 ? NMP_OBJECT_TYPE_IP4_ROUTE : NMP_OBJECT_TYPE_IP6_ROUTE, NULL);
 
+    obj->ip_route.is_external   = TRUE;
     obj->ip_route.type_coerced  = nm_platform_route_type_coerce(rtm->rtm_type);
     obj->ip_route.table_coerced = nm_platform_route_table_coerce(
         tb[RTA_TABLE] ? nla_get_u32(tb[RTA_TABLE]) : (guint32) rtm->rtm_table);
diff --git a/src/libnm-platform/nm-platform.c b/src/libnm-platform/nm-platform.c
index 089d0d42..6c0d0015 100644
--- a/src/libnm-platform/nm-platform.c
+++ b/src/libnm-platform/nm-platform.c
@@ -4489,6 +4489,20 @@ nm_platform_ip_route_sync(NMPlatform *self,
 
             conf_o = routes->pdata[i];
 
+            if (NMP_OBJECT_CAST_IP_ROUTE(conf_o)->is_external) {
+                /* This route is added externally. We don't have our own agenda to
+                 * add it, so skip. */
+                continue;
+            }
+
+            /* User space cannot add IPv6 routes with metric 0. However, kernel can, and we might track such
+             * routes in @route as they are present external. As we already skipped external routes above,
+             * we don't expect a user's choice to add such a route (it won't work anyway). */
+            nm_assert(
+                IS_IPv4
+                || nm_platform_ip6_route_get_effective_metric(NMP_OBJECT_CAST_IP6_ROUTE(conf_o))
+                       != 0);
+
 #define VTABLE_IS_DEVICE_ROUTE(vt, o)                          \
     (vt->is_ip4 ? (NMP_OBJECT_CAST_IP4_ROUTE(o)->gateway == 0) \
                 : IN6_IS_ADDR_UNSPECIFIED(&NMP_OBJECT_CAST_IP6_ROUTE(o)->gateway))
@@ -4505,7 +4519,7 @@ nm_platform_ip_route_sync(NMPlatform *self,
                 routes_idx = g_hash_table_new((GHashFunc) nmp_object_id_hash,
                                               (GEqualFunc) nmp_object_id_equal);
             }
-            if (!g_hash_table_insert(routes_idx, (gpointer) conf_o, (gpointer) conf_o)) {
+            if (!g_hash_table_add(routes_idx, (gpointer) conf_o)) {
                 _LOG3D("route-sync: skip adding duplicate route %s",
                        nmp_object_to_string(conf_o,
                                             NMP_OBJECT_TO_STRING_PUBLIC,
@@ -4514,14 +4528,6 @@ nm_platform_ip_route_sync(NMPlatform *self,
                 continue;
             }
 
-            if (!IS_IPv4
-                && nm_platform_ip6_route_get_effective_metric(NMP_OBJECT_CAST_IP6_ROUTE(conf_o))
-                       == 0) {
-                /* User space cannot add routes with metric 0. However, kernel can, and we might track such
-                 * routes in @route as they are present external. Skip them silently. */
-                continue;
-            }
-
             plat_entry = nm_platform_lookup_entry(self, NMP_CACHE_ID_TYPE_OBJECT_TYPE, conf_o);
             if (plat_entry) {
                 const NMPObject *plat_o;
@@ -4684,6 +4690,24 @@ sync_route_add:
     }
 
     if (routes_prune) {
+        if (routes) {
+            for (i = 0; i < routes->len; i++) {
+                conf_o = routes->pdata[i];
+
+                if (NMP_OBJECT_CAST_IP_ROUTE(conf_o)->is_external) {
+                    /* this is only to catch the case where an external route is
+                     * both in @routes and @routes_prune list. In that case,
+                     * @routes should win and we should not remove the address. */
+                    if (!routes_idx) {
+                        routes_idx = g_hash_table_new((GHashFunc) nmp_object_id_hash,
+                                                      (GEqualFunc) nmp_object_id_equal);
+                    }
+                    g_hash_table_add(routes_idx, (gpointer) conf_o);
+                    continue;
+                }
+            }
+        }
+
         for (i = 0; i < routes_prune->len; i++) {
             const NMPObject *prune_o;
 
@@ -4694,7 +4718,7 @@ sync_route_add:
                       || (!NM_IS_IPv4(addr_family)
                           && NMP_OBJECT_GET_TYPE(prune_o) == NMP_OBJECT_TYPE_IP6_ROUTE));
 
-            if (routes_idx && g_hash_table_lookup(routes_idx, prune_o))
+            if (nm_g_hash_table_lookup(routes_idx, prune_o))
                 continue;
 
             if (!nm_platform_lookup_entry(self, NMP_CACHE_ID_TYPE_OBJECT_TYPE, prune_o))
@@ -6524,6 +6548,7 @@ nm_platform_ip4_route_to_string(const NMPlatformIP4Route *route, char *buf, gsiz
         "%s"                                   /* initcwnd */
         "%s"                                   /* initrwnd */
         "%s"                                   /* mtu */
+        "%s"                                   /* is_external */
         "",
         nm_net_aux_rtnl_rtntype_n2a_maybe_buf(nm_platform_route_type_uncoerce(route->type_coerced),
                                               str_type),
@@ -6579,7 +6604,8 @@ nm_platform_ip4_route_to_string(const NMPlatformIP4Route *route, char *buf, gsiz
                                                        " mtu %s%" G_GUINT32_FORMAT,
                                                        route->lock_mtu ? "lock " : "",
                                                        route->mtu)
-                                      : "");
+                                      : "",
+        route->is_external ? " (E)" : "");
     return buf;
 }
 
@@ -6649,6 +6675,7 @@ nm_platform_ip6_route_to_string(const NMPlatformIP6Route *route, char *buf, gsiz
         "%s"                                   /* initrwnd */
         "%s"                                   /* mtu */
         "%s"                                   /* pref */
+        "%s"                                   /* is_external */
         "",
         nm_net_aux_rtnl_rtntype_n2a_maybe_buf(nm_platform_route_type_uncoerce(route->type_coerced),
                                               str_type),
@@ -6708,7 +6735,8 @@ nm_platform_ip6_route_to_string(const NMPlatformIP6Route *route, char *buf, gsiz
             str_pref,
             " pref %s",
             nm_icmpv6_router_pref_to_string(route->rt_pref, str_pref2, sizeof(str_pref2)))
-                       : "");
+                       : "",
+        route->is_external ? " (E)" : "");
 
     return buf;
 }
@@ -8005,7 +8033,8 @@ nm_platform_ip4_route_hash_update(const NMPlatformIP4Route *obj,
                                                   obj->lock_cwnd,
                                                   obj->lock_initcwnd,
                                                   obj->lock_initrwnd,
-                                                  obj->lock_mtu));
+                                                  obj->lock_mtu,
+                                                  obj->is_external));
         break;
     }
 }
@@ -8095,6 +8124,8 @@ nm_platform_ip4_route_cmp(const NMPlatformIP4Route *a,
         NM_CMP_FIELD(a, b, initcwnd);
         NM_CMP_FIELD(a, b, initrwnd);
         NM_CMP_FIELD(a, b, mtu);
+        if (cmp_type == NM_PLATFORM_IP_ROUTE_CMP_TYPE_FULL)
+            NM_CMP_FIELD_UNSAFE(a, b, is_external);
         break;
     }
     return 0;
@@ -8186,7 +8217,8 @@ nm_platform_ip6_route_hash_update(const NMPlatformIP6Route *obj,
                                                   obj->lock_cwnd,
                                                   obj->lock_initcwnd,
                                                   obj->lock_initrwnd,
-                                                  obj->lock_mtu),
+                                                  obj->lock_mtu,
+                                                  obj->is_external),
                             obj->window,
                             obj->cwnd,
                             obj->initcwnd,
@@ -8269,6 +8301,8 @@ nm_platform_ip6_route_cmp(const NMPlatformIP6Route *a,
             NM_CMP_DIRECT(_route_pref_normalize(a->rt_pref), _route_pref_normalize(b->rt_pref));
         else
             NM_CMP_FIELD(a, b, rt_pref);
+        if (cmp_type == NM_PLATFORM_IP_ROUTE_CMP_TYPE_FULL)
+            NM_CMP_FIELD_UNSAFE(a, b, is_external);
         break;
     }
     return 0;
diff --git a/src/libnm-platform/nm-platform.h b/src/libnm-platform/nm-platform.h
index e6279176..9d40cbbe 100644
--- a/src/libnm-platform/nm-platform.h
+++ b/src/libnm-platform/nm-platform.h
@@ -462,6 +462,14 @@ typedef union {
      * the "table_coerced" field is ignored (unlike for the metric). */            \
     bool table_any : 1;                                                                   \
                                                                                           \
+    /* This route is tracked as external route, that is not a route that NetworkManager
+     * actively wants to add, but a route that was added externally. In some cases, such
+     * a route should be ignored.
+     *
+     * Note that unlike most other fields here, this flag only exists inside NetworkManager
+     * and is not reflected on netlink. */   \
+    bool is_external : 1;                                                                 \
+                                                                                          \
     /* rtnh_flags
      *
      * Routes with rtm_flags RTM_F_CLONED are hidden by platform and
diff --git a/src/libnm-platform/nmp-netns.c b/src/libnm-platform/nmp-netns.c
index aea5b3b6..2b28a4cd 100644
--- a/src/libnm-platform/nmp-netns.c
+++ b/src/libnm-platform/nmp-netns.c
@@ -11,7 +11,6 @@
 #include <sys/mount.h>
 #include <sys/stat.h>
 #include <sys/types.h>
-#include <pthread.h>
 
 #include "libnm-log-core/nm-logging.h"
 
@@ -151,20 +150,13 @@ _netns_stack_get_impl(void)
 {
     gs_unref_object NMPNetns *netns = NULL;
     gs_free_error GError *error     = NULL;
-    pthread_key_t         key;
     GArray *              s;
 
     s = g_array_new(FALSE, FALSE, sizeof(NetnsInfo));
     g_array_set_clear_func(s, _netns_stack_clear_cb);
     _netns_stack = s;
 
-    /* register a destructor function to cleanup the array. If we fail
-     * to do so, we will leak NMPNetns instances (and their file descriptor) when the
-     * thread exits. */
-    if (pthread_key_create(&key, (void (*)(void *)) g_array_unref) != 0)
-        _LOGE(NULL, "failure to initialize thread-local storage");
-    else if (pthread_setspecific(key, s) != 0)
-        _LOGE(NULL, "failure to set thread-local storage");
+    nm_utils_thread_local_register_destroy(s, (GDestroyNotify) g_array_unref);
 
     /* at the bottom of the stack we must try to create a netns instance
      * that we never pop. It's the base to which we need to return. */
diff --git a/src/libnm-platform/nmp-object.h b/src/libnm-platform/nmp-object.h
index e3e101ee..021829db 100644
--- a/src/libnm-platform/nmp-object.h
+++ b/src/libnm-platform/nmp-object.h
@@ -778,6 +778,18 @@ nmp_cache_iter_next(NMDedupMultiIter *iter, const NMPObject **out_obj)
 }
 
 static inline gboolean
+nmp_cache_iter_prev(NMDedupMultiIter *iter, const NMPObject **out_obj)
+{
+    gboolean has_prev;
+
+    has_prev = nm_dedup_multi_iter_prev(iter);
+    nm_assert(!has_prev || NMP_OBJECT_IS_VALID(iter->current->obj));
+    if (out_obj)
+        *out_obj = has_prev ? iter->current->obj : NULL;
+    return has_prev;
+}
+
+static inline gboolean
 nmp_cache_iter_next_link(NMDedupMultiIter *iter, const NMPlatformLink **out_obj)
 {
     gboolean has_next;
@@ -792,6 +804,9 @@ nmp_cache_iter_next_link(NMDedupMultiIter *iter, const NMPlatformLink **out_obj)
 #define nmp_cache_iter_for_each(iter, head, obj) \
     for (nm_dedup_multi_iter_init((iter), (head)); nmp_cache_iter_next((iter), (obj));)
 
+#define nmp_cache_iter_for_each_reverse(iter, head, obj) \
+    for (nm_dedup_multi_iter_init_reverse((iter), (head)); nmp_cache_iter_prev((iter), (obj));)
+
 #define nmp_cache_iter_for_each_link(iter, head, obj) \
     for (nm_dedup_multi_iter_init((iter), (head)); nmp_cache_iter_next_link((iter), (obj));)
 
diff --git a/src/libnm-std-aux/nm-std-aux.h b/src/libnm-std-aux/nm-std-aux.h
index b153866f..17b26881 100644
--- a/src/libnm-std-aux/nm-std-aux.h
+++ b/src/libnm-std-aux/nm-std-aux.h
@@ -695,16 +695,22 @@ nm_close(int fd)
 NM_AUTO_DEFINE_FCN_VOID0(void *, _nm_auto_free_impl, free);
 #define nm_auto_free nm_auto(_nm_auto_free_impl)
 
+static inline void
+_nm_auto_protect_errno(const int *p_saved_errno)
+{
+    errno = *p_saved_errno;
+}
+#define NM_AUTO_PROTECT_ERRNO(errsv_saved) \
+    nm_auto(_nm_auto_protect_errno) _nm_unused const int errsv_saved = (errno)
+
 /*****************************************************************************/
 
 static inline void
 _nm_auto_close(int *pfd)
 {
     if (*pfd >= 0) {
-        int errsv = errno;
-
+        NM_AUTO_PROTECT_ERRNO(errsv);
         (void) nm_close(*pfd);
-        errno = errsv;
     }
 }
 #define nm_auto_close nm_auto(_nm_auto_close)
@@ -713,10 +719,8 @@ static inline void
 _nm_auto_fclose(FILE **pfd)
 {
     if (*pfd) {
-        int errsv = errno;
-
+        NM_AUTO_PROTECT_ERRNO(errsv);
         (void) fclose(*pfd);
-        errno = errsv;
     }
 }
 #define nm_auto_fclose nm_auto(_nm_auto_fclose)
diff --git a/src/libnm-systemd-shared/sd-adapt-shared/nm-sd-adapt-shared.h b/src/libnm-systemd-shared/sd-adapt-shared/nm-sd-adapt-shared.h
index 9d4669c3..2f6188dc 100644
--- a/src/libnm-systemd-shared/sd-adapt-shared/nm-sd-adapt-shared.h
+++ b/src/libnm-systemd-shared/sd-adapt-shared/nm-sd-adapt-shared.h
@@ -75,12 +75,7 @@ raw_getpid(void)
     #endif
 }
 
-static inline pid_t
-_nm_gettid(void)
-{
-    return (pid_t) syscall(SYS_gettid);
-}
-    #define gettid() _nm_gettid()
+    #define gettid() nm_utils_gettid()
 
     /* we build with C11 and thus <uchar.h> provides char32_t,char16_t. */
     #define HAVE_CHAR32_T 1
diff --git a/src/libnmc-setting/nm-meta-setting-desc.c b/src/libnmc-setting/nm-meta-setting-desc.c
index 3ac310bf..1cc5f9c1 100644
--- a/src/libnmc-setting/nm-meta-setting-desc.c
+++ b/src/libnmc-setting/nm-meta-setting-desc.c
@@ -6014,6 +6014,21 @@ static const NMMetaPropertyInfo *const property_infos_IP4_CONFIG[] = {
     PROPERTY_INFO (NM_SETTING_IP_CONFIG_MAY_FAIL, DESCRIBE_DOC_NM_SETTING_IP4_CONFIG_MAY_FAIL,
         .property_type =                &_pt_gobject_bool,
     ),
+    PROPERTY_INFO (NM_SETTING_IP_CONFIG_REQUIRED_TIMEOUT, DESCRIBE_DOC_NM_SETTING_IP4_CONFIG_REQUIRED_TIMEOUT,
+        .property_type =                &_pt_gobject_int,
+        .property_typ_data = DEFINE_PROPERTY_TYP_DATA_SUBTYPE (gobject_int,
+            .value_infos =              INT_VALUE_INFOS (
+                {
+                    .value.i64 = -1,
+                    .nick = "default",
+                },
+                {
+                    .value.i64 = G_MAXINT32,
+                    .nick = "infinity",
+                },
+            ),
+        ),
+    ),
     PROPERTY_INFO (NM_SETTING_IP_CONFIG_DAD_TIMEOUT, DESCRIBE_DOC_NM_SETTING_IP4_CONFIG_DAD_TIMEOUT,
         .property_type =                &_pt_gobject_int,
         .property_typ_data = DEFINE_PROPERTY_TYP_DATA_SUBTYPE (gobject_int,
@@ -6217,6 +6232,21 @@ static const NMMetaPropertyInfo *const property_infos_IP6_CONFIG[] = {
     PROPERTY_INFO (NM_SETTING_IP_CONFIG_MAY_FAIL, DESCRIBE_DOC_NM_SETTING_IP6_CONFIG_MAY_FAIL,
         .property_type =                &_pt_gobject_bool,
     ),
+    PROPERTY_INFO (NM_SETTING_IP_CONFIG_REQUIRED_TIMEOUT, DESCRIBE_DOC_NM_SETTING_IP6_CONFIG_REQUIRED_TIMEOUT,
+        .property_type =                &_pt_gobject_int,
+        .property_typ_data = DEFINE_PROPERTY_TYP_DATA_SUBTYPE (gobject_int,
+            .value_infos =              INT_VALUE_INFOS (
+                {
+                    .value.i64 = -1,
+                    .nick = "default",
+                },
+                {
+                    .value.i64 = G_MAXINT32,
+                    .nick = "infinity",
+                },
+            ),
+        ),
+    ),
     PROPERTY_INFO_WITH_DESC (NM_SETTING_IP6_CONFIG_IP6_PRIVACY,
         .property_type =                &_pt_gobject_enum,
         .property_typ_data = DEFINE_PROPERTY_TYP_DATA_SUBTYPE (gobject_enum,
diff --git a/src/libnmc-setting/settings-docs-input.xml b/src/libnmc-setting/settings-docs-input.xml
index 126dbfb1..b434f2fd 100644
--- a/src/libnmc-setting/settings-docs-input.xml
+++ b/src/libnmc-setting/settings-docs-input.xml
@@ -1 +1 @@
-<nm-setting-docs><setting name="connection" description="General Connection Profile Settings" name_upper="CONNECTION"><property name="auth-retries" name_upper="AUTH_RETRIES" type="int32" default="-1" description="The number of retries for the authentication. Zero means to try indefinitely; -1 means to use a global default. If the global default is not set, the authentication retries for 3 times before failing the connection. Currently, this only applies to 802-1x authentication." /><property name="autoconnect" name_upper="AUTOCONNECT" type="boolean" default="TRUE" description="Whether or not the connection should be automatically connected by NetworkManager when the resources for the connection are available. TRUE to automatically activate the connection, FALSE to require manual intervention to activate the connection. Note that autoconnect is not implemented for VPN profiles. See &quot;secondaries&quot; as an alternative to automatically connect VPN profiles." /><property name="autoconnect-priority" name_upper="AUTOCONNECT_PRIORITY" type="int32" default="0" description="The autoconnect priority. If the connection is set to autoconnect, connections with higher priority will be preferred. Defaults to 0. The higher number means higher priority." /><property name="autoconnect-retries" name_upper="AUTOCONNECT_RETRIES" type="int32" default="-1" description="The number of times a connection should be tried when autoactivating before giving up. Zero means forever, -1 means the global default (4 times if not overridden). Setting this to 1 means to try activation only once before blocking autoconnect. Note that after a timeout, NetworkManager will try to autoconnect again." /><property name="autoconnect-slaves" name_upper="AUTOCONNECT_SLAVES" type="NMSettingConnectionAutoconnectSlaves (int32)" description="Whether or not slaves of this connection should be automatically brought up when NetworkManager activates this connection. This only has a real effect for master connections. The properties &quot;autoconnect&quot;, &quot;autoconnect-priority&quot; and &quot;autoconnect-retries&quot; are unrelated to this setting. The permitted values are: 0: leave slave connections untouched, 1: activate all the slave connections with this connection, -1: default. If -1 (default) is set, global connection.autoconnect-slaves is read to determine the real value. If it is default as well, this fallbacks to 0." /><property name="gateway-ping-timeout" name_upper="GATEWAY_PING_TIMEOUT" type="uint32" default="0" description="If greater than zero, delay success of IP addressing until either the timeout is reached, or an IP gateway replies to a ping." /><property name="id" name_upper="ID" type="string" description="A human readable unique identifier for the connection, like &quot;Work Wi-Fi&quot; or &quot;T-Mobile 3G&quot;." /><property name="interface-name" name_upper="INTERFACE_NAME" type="string" description="The name of the network interface this connection is bound to. If not set, then the connection can be attached to any interface of the appropriate type (subject to restrictions imposed by other settings). For software devices this specifies the name of the created device. For connection types where interface names cannot easily be made persistent (e.g. mobile broadband or USB Ethernet), this property should not be used. Setting this property restricts the interfaces a connection can be used with, and if interface names change or are reordered the connection may be applied to the wrong interface." /><property name="lldp" name_upper="LLDP" type="int32" default="-1" description="Whether LLDP is enabled for the connection." /><property name="llmnr" name_upper="LLMNR" type="int32" default="-1" description="Whether Link-Local Multicast Name Resolution (LLMNR) is enabled for the connection. LLMNR is a protocol based on the Domain Name System (DNS) packet format that allows both IPv4 and IPv6 hosts to perform name resolution for hosts on the same local link. The permitted values are: &quot;yes&quot; (2) register hostname and resolving for the connection, &quot;no&quot; (0) disable LLMNR for the interface, &quot;resolve&quot; (1) do not register hostname but allow resolving of LLMNR host names If unspecified, &quot;default&quot; ultimately depends on the DNS plugin (which for systemd-resolved currently means &quot;yes&quot;). This feature requires a plugin which supports LLMNR. Otherwise, the setting has no effect. One such plugin is dns-systemd-resolved." /><property name="master" name_upper="MASTER" type="string" description="Interface name of the master device or UUID of the master connection." /><property name="mdns" name_upper="MDNS" type="int32" default="-1" description="Whether mDNS is enabled for the connection. The permitted values are: &quot;yes&quot; (2) register hostname and resolving for the connection, &quot;no&quot; (0) disable mDNS for the interface, &quot;resolve&quot; (1) do not register hostname but allow resolving of mDNS host names and &quot;default&quot; (-1) to allow lookup of a global default in NetworkManager.conf. If unspecified, &quot;default&quot; ultimately depends on the DNS plugin (which for systemd-resolved currently means &quot;no&quot;). This feature requires a plugin which supports mDNS. Otherwise, the setting has no effect. One such plugin is dns-systemd-resolved." /><property name="metered" name_upper="METERED" type="NMMetered (int32)" description="Whether the connection is metered. When updating this property on a currently activated connection, the change takes effect immediately." /><property name="mud-url" name_upper="MUD_URL" type="string" description="If configured, set to a Manufacturer Usage Description (MUD) URL that points to manufacturer-recommended network policies for IoT devices. It is transmitted as a DHCPv4 or DHCPv6 option. The value must be a valid URL starting with &quot;https://&quot;. The special value &quot;none&quot; is allowed to indicate that no MUD URL is used. If the per-profile value is unspecified (the default), a global connection default gets consulted. If still unspecified, the ultimate default is &quot;none&quot;." /><property name="multi-connect" name_upper="MULTI_CONNECT" type="int32" default="0" description="Specifies whether the profile can be active multiple times at a particular moment. The value is of type NMConnectionMultiConnect." /><property name="permissions" name_upper="PERMISSIONS" type="array of string" description="An array of strings defining what access a given user has to this connection.  If this is NULL or empty, all users are allowed to access this connection; otherwise users are allowed if and only if they are in this list.  When this is not empty, the connection can be active only when one of the specified users is logged into an active session.  Each entry is of the form &quot;[type]:[id]:[reserved]&quot;; for example, &quot;user:dcbw:blah&quot;. At this time only the &quot;user&quot; [type] is allowed.  Any other values are ignored and reserved for future use.  [id] is the username that this permission refers to, which may not contain the &quot;:&quot; character. Any [reserved] information present must be ignored and is reserved for future use.  All of [type], [id], and [reserved] must be valid UTF-8." /><property name="read-only" name_upper="READ_ONLY" type="boolean" default="FALSE" description="FALSE if the connection can be modified using the provided settings service's D-Bus interface with the right privileges, or TRUE if the connection is read-only and cannot be modified." /><property name="secondaries" name_upper="SECONDARIES" type="array of string" description="List of connection UUIDs that should be activated when the base connection itself is activated. Currently, only VPN connections are supported." /><property name="slave-type" name_upper="SLAVE_TYPE" type="string" description="Setting name of the device type of this slave's master connection (eg, &quot;bond&quot;), or NULL if this connection is not a slave." /><property name="stable-id" name_upper="STABLE_ID" type="string" description="This represents the identity of the connection used for various purposes. It allows to configure multiple profiles to share the identity. Also, the stable-id can contain placeholders that are substituted dynamically and deterministically depending on the context. The stable-id is used for generating IPv6 stable private addresses with ipv6.addr-gen-mode=stable-privacy. It is also used to seed the generated cloned MAC address for ethernet.cloned-mac-address=stable and wifi.cloned-mac-address=stable. It is also used as DHCP client identifier with ipv4.dhcp-client-id=stable and to derive the DHCP DUID with ipv6.dhcp-duid=stable-[llt,ll,uuid]. Note that depending on the context where it is used, other parameters are also seeded into the generation algorithm. For example, a per-host key is commonly also included, so that different systems end up generating different IDs. Or with ipv6.addr-gen-mode=stable-privacy, also the device's name is included, so that different interfaces yield different addresses. The per-host key is the identity of your machine and stored in /var/lib/NetworkManager/secret-key. The '$' character is treated special to perform dynamic substitutions at runtime. Currently, supported are &quot;${CONNECTION}&quot;, &quot;${DEVICE}&quot;, &quot;${MAC}&quot;, &quot;${BOOT}&quot;, &quot;${RANDOM}&quot;. These effectively create unique IDs per-connection, per-device, per-boot, or every time. Note that &quot;${DEVICE}&quot; corresponds to the interface name of the device and &quot;${MAC}&quot; is the permanent MAC address of the device. Any unrecognized patterns following '$' are treated verbatim, however are reserved for future use. You are thus advised to avoid '$' or escape it as &quot;$$&quot;. For example, set it to &quot;${CONNECTION}-${BOOT}-${DEVICE}&quot; to create a unique id for this connection that changes with every reboot and differs depending on the interface where the profile activates. If the value is unset, a global connection default is consulted. If the value is still unset, the default is similar to &quot;${CONNECTION}&quot; and uses a unique, fixed ID for the connection." /><property name="timestamp" name_upper="TIMESTAMP" type="uint64" default="0" description="The time, in seconds since the Unix Epoch, that the connection was last _successfully_ fully activated. NetworkManager updates the connection timestamp periodically when the connection is active to ensure that an active connection has the latest timestamp. The property is only meant for reading (changes to this property will not be preserved)." /><property name="type" name_upper="TYPE" type="string" description="Base type of the connection. For hardware-dependent connections, should contain the setting name of the hardware-type specific setting (ie, &quot;802-3-ethernet&quot; or &quot;802-11-wireless&quot; or &quot;bluetooth&quot;, etc), and for non-hardware dependent connections like VPN or otherwise, should contain the setting name of that setting type (ie, &quot;vpn&quot; or &quot;bridge&quot;, etc)." /><property name="uuid" name_upper="UUID" type="string" description="A universally unique identifier for the connection, for example generated with libuuid.  It should be assigned when the connection is created, and never changed as long as the connection still applies to the same network.  For example, it should not be changed when the &quot;id&quot; property or NMSettingIP4Config changes, but might need to be re-created when the Wi-Fi SSID, mobile broadband network provider, or &quot;type&quot; property changes. The UUID must be in the format &quot;2815492f-7e56-435e-b2e9-246bd7cdc664&quot; (ie, contains only hexadecimal characters and &quot;-&quot;)." /><property name="wait-device-timeout" name_upper="WAIT_DEVICE_TIMEOUT" type="int32" default="-1" description="Timeout in milliseconds to wait for device at startup. During boot, devices may take a while to be detected by the driver. This property will cause to delay NetworkManager-wait-online.service and nm-online to give the device a chance to appear. This works by waiting for the given timeout until a compatible device for the profile is available and managed. The value 0 means no wait time. The default value is -1, which currently has the same meaning as no wait time." /><property name="zone" name_upper="ZONE" type="string" description="The trust level of a the connection.  Free form case-insensitive string (for example &quot;Home&quot;, &quot;Work&quot;, &quot;Public&quot;).  NULL or unspecified zone means the connection will be placed in the default zone as defined by the firewall. When updating this property on a currently activated connection, the change takes effect immediately." /></setting><setting name="6lowpan" description="6LoWPAN Settings" name_upper="6LOWPAN"><property name="parent" name_upper="PARENT" type="string" description="If given, specifies the parent interface name or parent connection UUID from which this 6LowPAN interface should be created." /></setting><setting name="802-1x" description="IEEE 802.1x Authentication Settings" name_upper="802_1X"><property name="altsubject-matches" name_upper="ALTSUBJECT_MATCHES" type="array of string" description="List of strings to be matched against the altSubjectName of the certificate presented by the authentication server. If the list is empty, no verification of the server certificate's altSubjectName is performed." /><property name="anonymous-identity" name_upper="ANONYMOUS_IDENTITY" type="string" description="Anonymous identity string for EAP authentication methods.  Used as the unencrypted identity with EAP types that support different tunneled identity like EAP-TTLS." /><property name="auth-timeout" name_upper="AUTH_TIMEOUT" type="int32" default="0" description="A timeout for the authentication. Zero means the global default; if the global default is not set, the authentication timeout is 25 seconds." /><property name="ca-cert" name_upper="CA_CERT" type="byte array" description="Contains the CA certificate if used by the EAP method specified in the &quot;eap&quot; property. Certificate data is specified using a &quot;scheme&quot;; three are currently supported: blob, path and pkcs#11 URL. When using the blob scheme this property should be set to the certificate's DER encoded data. When using the path scheme, this property should be set to the full UTF-8 encoded path of the certificate, prefixed with the string &quot;file://&quot; and ending with a terminating NUL byte. This property can be unset even if the EAP method supports CA certificates, but this allows man-in-the-middle attacks and is NOT recommended. Note that enabling NMSetting8021x:system-ca-certs will override this setting to use the built-in path, if the built-in path is not a directory." /><property name="ca-cert-password" name_upper="CA_CERT_PASSWORD" type="string" description="The password used to access the CA certificate stored in &quot;ca-cert&quot; property. Only makes sense if the certificate is stored on a PKCS#11 token that requires a login." /><property name="ca-cert-password-flags" name_upper="CA_CERT_PASSWORD_FLAGS" type="NMSettingSecretFlags (uint32)" description="Flags indicating how to handle the &quot;ca-cert-password&quot; property." /><property name="ca-path" name_upper="CA_PATH" type="string" description="UTF-8 encoded path to a directory containing PEM or DER formatted certificates to be added to the verification chain in addition to the certificate specified in the &quot;ca-cert&quot; property. If NMSetting8021x:system-ca-certs is enabled and the built-in CA path is an existing directory, then this setting is ignored." /><property name="client-cert" name_upper="CLIENT_CERT" type="byte array" description="Contains the client certificate if used by the EAP method specified in the &quot;eap&quot; property. Certificate data is specified using a &quot;scheme&quot;; two are currently supported: blob and path. When using the blob scheme (which is backwards compatible with NM 0.7.x) this property should be set to the certificate's DER encoded data. When using the path scheme, this property should be set to the full UTF-8 encoded path of the certificate, prefixed with the string &quot;file://&quot; and ending with a terminating NUL byte." /><property name="client-cert-password" name_upper="CLIENT_CERT_PASSWORD" type="string" description="The password used to access the client certificate stored in &quot;client-cert&quot; property. Only makes sense if the certificate is stored on a PKCS#11 token that requires a login." /><property name="client-cert-password-flags" name_upper="CLIENT_CERT_PASSWORD_FLAGS" type="NMSettingSecretFlags (uint32)" description="Flags indicating how to handle the &quot;client-cert-password&quot; property." /><property name="domain-match" name_upper="DOMAIN_MATCH" type="string" description="Constraint for server domain name. If set, this list of FQDNs is used as a match requirement for dNSName element(s) of the certificate presented by the authentication server.  If a matching dNSName is found, this constraint is met.  If no dNSName values are present, this constraint is matched against SubjectName CN using the same comparison. Multiple valid FQDNs can be passed as a &quot;;&quot; delimited list." /><property name="domain-suffix-match" name_upper="DOMAIN_SUFFIX_MATCH" type="string" description="Constraint for server domain name. If set, this FQDN is used as a suffix match requirement for dNSName element(s) of the certificate presented by the authentication server.  If a matching dNSName is found, this constraint is met.  If no dNSName values are present, this constraint is matched against SubjectName CN using same suffix match comparison. Since version 1.24, multiple valid FQDNs can be passed as a &quot;;&quot; delimited list." /><property name="eap" name_upper="EAP" type="array of string" description="The allowed EAP method to be used when authenticating to the network with 802.1x.  Valid methods are: &quot;leap&quot;, &quot;md5&quot;, &quot;tls&quot;, &quot;peap&quot;, &quot;ttls&quot;, &quot;pwd&quot;, and &quot;fast&quot;.  Each method requires different configuration using the properties of this setting; refer to wpa_supplicant documentation for the allowed combinations." /><property name="identity" name_upper="IDENTITY" type="string" description="Identity string for EAP authentication methods.  Often the user's user or login name." /><property name="optional" name_upper="OPTIONAL" type="boolean" default="FALSE" description="Whether the 802.1X authentication is optional. If TRUE, the activation will continue even after a timeout or an authentication failure. Setting the property to TRUE is currently allowed only for Ethernet connections. If set to FALSE, the activation can continue only after a successful authentication." /><property name="pac-file" name_upper="PAC_FILE" type="string" description="UTF-8 encoded file path containing PAC for EAP-FAST." /><property name="password" name_upper="PASSWORD" type="string" description="UTF-8 encoded password used for EAP authentication methods. If both the &quot;password&quot; property and the &quot;password-raw&quot; property are specified, &quot;password&quot; is preferred." /><property name="password-flags" name_upper="PASSWORD_FLAGS" type="NMSettingSecretFlags (uint32)" description="Flags indicating how to handle the &quot;password&quot; property." /><property name="password-raw" name_upper="PASSWORD_RAW" type="byte array" description="Password used for EAP authentication methods, given as a byte array to allow passwords in other encodings than UTF-8 to be used. If both the &quot;password&quot; property and the &quot;password-raw&quot; property are specified, &quot;password&quot; is preferred." /><property name="password-raw-flags" name_upper="PASSWORD_RAW_FLAGS" type="NMSettingSecretFlags (uint32)" description="Flags indicating how to handle the &quot;password-raw&quot; property." /><property name="phase1-auth-flags" name_upper="PHASE1_AUTH_FLAGS" type="uint32" default="0" description="Specifies authentication flags to use in &quot;phase 1&quot; outer authentication using NMSetting8021xAuthFlags options. The individual TLS versions can be explicitly disabled. If a certain TLS disable flag is not set, it is up to the supplicant to allow or forbid it. The TLS options map to tls_disable_tlsv1_x settings. See the wpa_supplicant documentation for more details." /><property name="phase1-fast-provisioning" name_upper="PHASE1_FAST_PROVISIONING" type="string" description="Enables or disables in-line provisioning of EAP-FAST credentials when FAST is specified as the EAP method in the &quot;eap&quot; property. Recognized values are &quot;0&quot; (disabled), &quot;1&quot; (allow unauthenticated provisioning), &quot;2&quot; (allow authenticated provisioning), and &quot;3&quot; (allow both authenticated and unauthenticated provisioning).  See the wpa_supplicant documentation for more details." /><property name="phase1-peaplabel" name_upper="PHASE1_PEAPLABEL" type="string" description="Forces use of the new PEAP label during key derivation.  Some RADIUS servers may require forcing the new PEAP label to interoperate with PEAPv1.  Set to &quot;1&quot; to force use of the new PEAP label.  See the wpa_supplicant documentation for more details." /><property name="phase1-peapver" name_upper="PHASE1_PEAPVER" type="string" description="Forces which PEAP version is used when PEAP is set as the EAP method in the &quot;eap&quot; property.  When unset, the version reported by the server will be used.  Sometimes when using older RADIUS servers, it is necessary to force the client to use a particular PEAP version.  To do so, this property may be set to &quot;0&quot; or &quot;1&quot; to force that specific PEAP version." /><property name="phase2-altsubject-matches" name_upper="PHASE2_ALTSUBJECT_MATCHES" type="array of string" description="List of strings to be matched against the altSubjectName of the certificate presented by the authentication server during the inner &quot;phase 2&quot; authentication. If the list is empty, no verification of the server certificate's altSubjectName is performed." /><property name="phase2-auth" name_upper="PHASE2_AUTH" type="string" description="Specifies the allowed &quot;phase 2&quot; inner authentication method when an EAP method that uses an inner TLS tunnel is specified in the &quot;eap&quot; property.  For TTLS this property selects one of the supported non-EAP inner methods: &quot;pap&quot;, &quot;chap&quot;, &quot;mschap&quot;, &quot;mschapv2&quot; while &quot;phase2-autheap&quot; selects an EAP inner method.  For PEAP this selects an inner EAP method, one of: &quot;gtc&quot;, &quot;otp&quot;, &quot;md5&quot; and &quot;tls&quot;. Each &quot;phase 2&quot; inner method requires specific parameters for successful authentication; see the wpa_supplicant documentation for more details. Both &quot;phase2-auth&quot; and &quot;phase2-autheap&quot; cannot be specified." /><property name="phase2-autheap" name_upper="PHASE2_AUTHEAP" type="string" description="Specifies the allowed &quot;phase 2&quot; inner EAP-based authentication method when TTLS is specified in the &quot;eap&quot; property.  Recognized EAP-based &quot;phase 2&quot; methods are &quot;md5&quot;, &quot;mschapv2&quot;, &quot;otp&quot;, &quot;gtc&quot;, and &quot;tls&quot;. Each &quot;phase 2&quot; inner method requires specific parameters for successful authentication; see the wpa_supplicant documentation for more details." /><property name="phase2-ca-cert" name_upper="PHASE2_CA_CERT" type="byte array" description="Contains the &quot;phase 2&quot; CA certificate if used by the EAP method specified in the &quot;phase2-auth&quot; or &quot;phase2-autheap&quot; properties. Certificate data is specified using a &quot;scheme&quot;; three are currently supported: blob, path and pkcs#11 URL. When using the blob scheme this property should be set to the certificate's DER encoded data. When using the path scheme, this property should be set to the full UTF-8 encoded path of the certificate, prefixed with the string &quot;file://&quot; and ending with a terminating NUL byte. This property can be unset even if the EAP method supports CA certificates, but this allows man-in-the-middle attacks and is NOT recommended. Note that enabling NMSetting8021x:system-ca-certs will override this setting to use the built-in path, if the built-in path is not a directory." /><property name="phase2-ca-cert-password" name_upper="PHASE2_CA_CERT_PASSWORD" type="string" description="The password used to access the &quot;phase2&quot; CA certificate stored in &quot;phase2-ca-cert&quot; property. Only makes sense if the certificate is stored on a PKCS#11 token that requires a login." /><property name="phase2-ca-cert-password-flags" name_upper="PHASE2_CA_CERT_PASSWORD_FLAGS" type="NMSettingSecretFlags (uint32)" description="Flags indicating how to handle the &quot;phase2-ca-cert-password&quot; property." /><property name="phase2-ca-path" name_upper="PHASE2_CA_PATH" type="string" description="UTF-8 encoded path to a directory containing PEM or DER formatted certificates to be added to the verification chain in addition to the certificate specified in the &quot;phase2-ca-cert&quot; property. If NMSetting8021x:system-ca-certs is enabled and the built-in CA path is an existing directory, then this setting is ignored." /><property name="phase2-client-cert" name_upper="PHASE2_CLIENT_CERT" type="byte array" description="Contains the &quot;phase 2&quot; client certificate if used by the EAP method specified in the &quot;phase2-auth&quot; or &quot;phase2-autheap&quot; properties. Certificate data is specified using a &quot;scheme&quot;; two are currently supported: blob and path. When using the blob scheme (which is backwards compatible with NM 0.7.x) this property should be set to the certificate's DER encoded data. When using the path scheme, this property should be set to the full UTF-8 encoded path of the certificate, prefixed with the string &quot;file://&quot; and ending with a terminating NUL byte. This property can be unset even if the EAP method supports CA certificates, but this allows man-in-the-middle attacks and is NOT recommended." /><property name="phase2-client-cert-password" name_upper="PHASE2_CLIENT_CERT_PASSWORD" type="string" description="The password used to access the &quot;phase2&quot; client certificate stored in &quot;phase2-client-cert&quot; property. Only makes sense if the certificate is stored on a PKCS#11 token that requires a login." /><property name="phase2-client-cert-password-flags" name_upper="PHASE2_CLIENT_CERT_PASSWORD_FLAGS" type="NMSettingSecretFlags (uint32)" description="Flags indicating how to handle the &quot;phase2-client-cert-password&quot; property." /><property name="phase2-domain-match" name_upper="PHASE2_DOMAIN_MATCH" type="string" description="Constraint for server domain name. If set, this list of FQDNs is used as a match requirement for dNSName element(s) of the certificate presented by the authentication server during the inner &quot;phase 2&quot; authentication. If a matching dNSName is found, this constraint is met.  If no dNSName values are present, this constraint is matched against SubjectName CN using the same comparison. Multiple valid FQDNs can be passed as a &quot;;&quot; delimited list." /><property name="phase2-domain-suffix-match" name_upper="PHASE2_DOMAIN_SUFFIX_MATCH" type="string" description="Constraint for server domain name. If set, this FQDN is used as a suffix match requirement for dNSName element(s) of the certificate presented by the authentication server during the inner &quot;phase 2&quot; authentication.  If a matching dNSName is found, this constraint is met.  If no dNSName values are present, this constraint is matched against SubjectName CN using same suffix match comparison. Since version 1.24, multiple valid FQDNs can be passed as a &quot;;&quot; delimited list." /><property name="phase2-private-key" name_upper="PHASE2_PRIVATE_KEY" type="byte array" description="Contains the &quot;phase 2&quot; inner private key when the &quot;phase2-auth&quot; or &quot;phase2-autheap&quot; property is set to &quot;tls&quot;. Key data is specified using a &quot;scheme&quot;; two are currently supported: blob and path. When using the blob scheme and private keys, this property should be set to the key's encrypted PEM encoded data. When using private keys with the path scheme, this property should be set to the full UTF-8 encoded path of the key, prefixed with the string &quot;file://&quot; and ending with a terminating NUL byte. When using PKCS#12 format private keys and the blob scheme, this property should be set to the PKCS#12 data and the &quot;phase2-private-key-password&quot; property must be set to password used to decrypt the PKCS#12 certificate and key. When using PKCS#12 files and the path scheme, this property should be set to the full UTF-8 encoded path of the key, prefixed with the string &quot;file://&quot; and ending with a terminating NUL byte, and as with the blob scheme the &quot;phase2-private-key-password&quot; property must be set to the password used to decode the PKCS#12 private key and certificate." /><property name="phase2-private-key-password" name_upper="PHASE2_PRIVATE_KEY_PASSWORD" type="string" description="The password used to decrypt the &quot;phase 2&quot; private key specified in the &quot;phase2-private-key&quot; property when the private key either uses the path scheme, or is a PKCS#12 format key." /><property name="phase2-private-key-password-flags" name_upper="PHASE2_PRIVATE_KEY_PASSWORD_FLAGS" type="NMSettingSecretFlags (uint32)" description="Flags indicating how to handle the &quot;phase2-private-key-password&quot; property." /><property name="phase2-subject-match" name_upper="PHASE2_SUBJECT_MATCH" type="string" description="Substring to be matched against the subject of the certificate presented by the authentication server during the inner &quot;phase 2&quot; authentication. When unset, no verification of the authentication server certificate's subject is performed.  This property provides little security, if any, and its use is deprecated in favor of NMSetting8021x:phase2-domain-suffix-match." /><property name="pin" name_upper="PIN" type="string" description="PIN used for EAP authentication methods." /><property name="pin-flags" name_upper="PIN_FLAGS" type="NMSettingSecretFlags (uint32)" description="Flags indicating how to handle the &quot;pin&quot; property." /><property name="private-key" name_upper="PRIVATE_KEY" type="byte array" description="Contains the private key when the &quot;eap&quot; property is set to &quot;tls&quot;. Key data is specified using a &quot;scheme&quot;; two are currently supported: blob and path. When using the blob scheme and private keys, this property should be set to the key's encrypted PEM encoded data. When using private keys with the path scheme, this property should be set to the full UTF-8 encoded path of the key, prefixed with the string &quot;file://&quot; and ending with a terminating NUL byte. When using PKCS#12 format private keys and the blob scheme, this property should be set to the PKCS#12 data and the &quot;private-key-password&quot; property must be set to password used to decrypt the PKCS#12 certificate and key. When using PKCS#12 files and the path scheme, this property should be set to the full UTF-8 encoded path of the key, prefixed with the string &quot;file://&quot; and ending with a terminating NUL byte, and as with the blob scheme the &quot;private-key-password&quot; property must be set to the password used to decode the PKCS#12 private key and certificate. WARNING: &quot;private-key&quot; is not a &quot;secret&quot; property, and thus unencrypted private key data using the BLOB scheme may be readable by unprivileged users.  Private keys should always be encrypted with a private key password to prevent unauthorized access to unencrypted private key data." /><property name="private-key-password" name_upper="PRIVATE_KEY_PASSWORD" type="string" description="The password used to decrypt the private key specified in the &quot;private-key&quot; property when the private key either uses the path scheme, or if the private key is a PKCS#12 format key." /><property name="private-key-password-flags" name_upper="PRIVATE_KEY_PASSWORD_FLAGS" type="NMSettingSecretFlags (uint32)" description="Flags indicating how to handle the &quot;private-key-password&quot; property." /><property name="subject-match" name_upper="SUBJECT_MATCH" type="string" description="Substring to be matched against the subject of the certificate presented by the authentication server. When unset, no verification of the authentication server certificate's subject is performed.  This property provides little security, if any, and its use is deprecated in favor of NMSetting8021x:domain-suffix-match." /><property name="system-ca-certs" name_upper="SYSTEM_CA_CERTS" type="boolean" default="FALSE" description="When TRUE, overrides the &quot;ca-path&quot; and &quot;phase2-ca-path&quot; properties using the system CA directory specified at configure time with the --system-ca-path switch.  The certificates in this directory are added to the verification chain in addition to any certificates specified by the &quot;ca-cert&quot; and &quot;phase2-ca-cert&quot; properties. If the path provided with --system-ca-path is rather a file name (bundle of trusted CA certificates), it overrides &quot;ca-cert&quot; and &quot;phase2-ca-cert&quot; properties instead (sets ca_cert/ca_cert2 options for wpa_supplicant)." /></setting><setting name="adsl" description="ADSL Settings" name_upper="ADSL"><property name="encapsulation" name_upper="ENCAPSULATION" type="string" description="Encapsulation of ADSL connection.  Can be &quot;vcmux&quot; or &quot;llc&quot;." /><property name="password" name_upper="PASSWORD" type="string" description="Password used to authenticate with the ADSL service." /><property name="password-flags" name_upper="PASSWORD_FLAGS" type="NMSettingSecretFlags (uint32)" description="Flags indicating how to handle the &quot;password&quot; property." /><property name="protocol" name_upper="PROTOCOL" type="string" description="ADSL connection protocol.  Can be &quot;pppoa&quot;, &quot;pppoe&quot; or &quot;ipoatm&quot;." /><property name="username" name_upper="USERNAME" type="string" description="Username used to authenticate with the ADSL service." /><property name="vci" name_upper="VCI" type="uint32" default="0" description="VCI of ADSL connection" /><property name="vpi" name_upper="VPI" type="uint32" default="0" description="VPI of ADSL connection" /></setting><setting name="bluetooth" description="Bluetooth Settings" name_upper="BLUETOOTH"><property name="bdaddr" name_upper="BDADDR" type="byte array" description="The Bluetooth address of the device." /><property name="type" name_upper="TYPE" type="string" description="Either &quot;dun&quot; for Dial-Up Networking connections or &quot;panu&quot; for Personal Area Networking connections to devices supporting the NAP profile." /></setting><setting name="bond" description="Bonding Settings" name_upper="BOND"><property name="options" name_upper="OPTIONS" type="dict of string to string" default="{'mode': 'balance-rr'}" description="Dictionary of key/value pairs of bonding options.  Both keys and values must be strings. Option names must contain only alphanumeric characters (ie, [a-zA-Z0-9])." /></setting><setting name="bridge" description="Bridging Settings" name_upper="BRIDGE"><property name="ageing-time" name_upper="AGEING_TIME" type="uint32" default="300" description="The Ethernet MAC address aging time, in seconds." /><property name="forward-delay" name_upper="FORWARD_DELAY" type="uint32" default="15" description="The Spanning Tree Protocol (STP) forwarding delay, in seconds." /><property name="group-address" name_upper="GROUP_ADDRESS" type="byte array" description="If specified, The MAC address of the multicast group this bridge uses for STP. The address must be a link-local address in standard Ethernet MAC address format, ie an address of the form 01:80:C2:00:00:0X, with X in [0, 4..F]. If not specified the default value is 01:80:C2:00:00:00." /><property name="group-forward-mask" name_upper="GROUP_FORWARD_MASK" type="uint32" default="0" description="A mask of group addresses to forward. Usually, group addresses in the range from 01:80:C2:00:00:00 to 01:80:C2:00:00:0F are not forwarded according to standards. This property is a mask of 16 bits, each corresponding to a group address in that range that must be forwarded. The mask can't have bits 0, 1 or 2 set because they are used for STP, MAC pause frames and LACP." /><property name="hello-time" name_upper="HELLO_TIME" type="uint32" default="2" description="The Spanning Tree Protocol (STP) hello time, in seconds." /><property name="mac-address" name_upper="MAC_ADDRESS" type="byte array" description="If specified, the MAC address of bridge. When creating a new bridge, this MAC address will be set. If this field is left unspecified, the &quot;ethernet.cloned-mac-address&quot; is referred instead to generate the initial MAC address. Note that setting &quot;ethernet.cloned-mac-address&quot; anyway overwrites the MAC address of the bridge later while activating the bridge. Hence, this property is deprecated. Deprecated: 1" /><property name="max-age" name_upper="MAX_AGE" type="uint32" default="20" description="The Spanning Tree Protocol (STP) maximum message age, in seconds." /><property name="multicast-hash-max" name_upper="MULTICAST_HASH_MAX" type="uint32" default="4096" description="Set maximum size of multicast hash table (value must be a power of 2)." /><property name="multicast-last-member-count" name_upper="MULTICAST_LAST_MEMBER_COUNT" type="uint32" default="2" description="Set the number of queries the bridge will send before stopping forwarding a multicast group after a &quot;leave&quot; message has been received." /><property name="multicast-last-member-interval" name_upper="MULTICAST_LAST_MEMBER_INTERVAL" type="uint64" default="100" description="Set interval (in deciseconds) between queries to find remaining members of a group, after a &quot;leave&quot; message is received." /><property name="multicast-membership-interval" name_upper="MULTICAST_MEMBERSHIP_INTERVAL" type="uint64" default="26000" description="Set delay (in deciseconds) after which the bridge will leave a group, if no membership reports for this group are received." /><property name="multicast-querier" name_upper="MULTICAST_QUERIER" type="boolean" default="FALSE" description="Enable or disable sending of multicast queries by the bridge. If not specified the option is disabled." /><property name="multicast-querier-interval" name_upper="MULTICAST_QUERIER_INTERVAL" type="uint64" default="25500" description="If no queries are seen after this delay (in deciseconds) has passed, the bridge will start to send its own queries." /><property name="multicast-query-interval" name_upper="MULTICAST_QUERY_INTERVAL" type="uint64" default="12500" description="Interval (in deciseconds) between queries sent by the bridge after the end of the startup phase." /><property name="multicast-query-response-interval" name_upper="MULTICAST_QUERY_RESPONSE_INTERVAL" type="uint64" default="1000" description="Set the Max Response Time/Max Response Delay (in deciseconds) for IGMP/MLD queries sent by the bridge." /><property name="multicast-query-use-ifaddr" name_upper="MULTICAST_QUERY_USE_IFADDR" type="boolean" default="FALSE" description="If enabled the bridge's own IP address is used as the source address for IGMP queries otherwise the default of 0.0.0.0 is used." /><property name="multicast-router" name_upper="MULTICAST_ROUTER" type="string" description="Sets bridge's multicast router. Multicast-snooping must be enabled for this option to work. Supported values are: 'auto', 'disabled', 'enabled' to which kernel assigns the numbers 1, 0, and 2, respectively. If not specified the default value is 'auto' (1)." /><property name="multicast-snooping" name_upper="MULTICAST_SNOOPING" type="boolean" default="TRUE" description="Controls whether IGMP snooping is enabled for this bridge. Note that if snooping was automatically disabled due to hash collisions, the system may refuse to enable the feature until the collisions are resolved." /><property name="multicast-startup-query-count" name_upper="MULTICAST_STARTUP_QUERY_COUNT" type="uint32" default="2" description="Set the number of IGMP queries to send during startup phase." /><property name="multicast-startup-query-interval" name_upper="MULTICAST_STARTUP_QUERY_INTERVAL" type="uint64" default="3125" description="Sets the time (in deciseconds) between queries sent out at startup to determine membership information." /><property name="priority" name_upper="PRIORITY" type="uint32" default="32768" description="Sets the Spanning Tree Protocol (STP) priority for this bridge.  Lower values are &quot;better&quot;; the lowest priority bridge will be elected the root bridge." /><property name="stp" name_upper="STP" type="boolean" default="TRUE" description="Controls whether Spanning Tree Protocol (STP) is enabled for this bridge." /><property name="vlan-default-pvid" name_upper="VLAN_DEFAULT_PVID" type="uint32" default="1" description="The default PVID for the ports of the bridge, that is the VLAN id assigned to incoming untagged frames." /><property name="vlan-filtering" name_upper="VLAN_FILTERING" type="boolean" default="FALSE" description="Control whether VLAN filtering is enabled on the bridge." /><property name="vlan-protocol" name_upper="VLAN_PROTOCOL" type="string" description="If specified, the protocol used for VLAN filtering. Supported values are: '802.1Q', '802.1ad'. If not specified the default value is '802.1Q'." /><property name="vlan-stats-enabled" name_upper="VLAN_STATS_ENABLED" type="boolean" default="FALSE" description="Controls whether per-VLAN stats accounting is enabled." /><property name="vlans" name_upper="VLANS" type="array of vardict" description="Array of bridge VLAN objects. In addition to the VLANs specified here, the bridge will also have the default-pvid VLAN configured  by the bridge.vlan-default-pvid property. In nmcli the VLAN list can be specified with the following syntax: $vid [pvid] [untagged] [, $vid [pvid] [untagged]]... where $vid is either a single id between 1 and 4094 or a range, represented as a couple of ids separated by a dash." /></setting><setting name="bridge-port" description="Bridge Port Settings" name_upper="BRIDGE_PORT"><property name="hairpin-mode" name_upper="HAIRPIN_MODE" type="boolean" default="FALSE" description="Enables or disables &quot;hairpin mode&quot; for the port, which allows frames to be sent back out through the port the frame was received on." /><property name="path-cost" name_upper="PATH_COST" type="uint32" default="100" description="The Spanning Tree Protocol (STP) port cost for destinations via this port." /><property name="priority" name_upper="PRIORITY" type="uint32" default="32" description="The Spanning Tree Protocol (STP) priority of this bridge port." /><property name="vlans" name_upper="VLANS" type="array of vardict" description="Array of bridge VLAN objects. In addition to the VLANs specified here, the port will also have the default-pvid VLAN configured on the bridge by the bridge.vlan-default-pvid property. In nmcli the VLAN list can be specified with the following syntax: $vid [pvid] [untagged] [, $vid [pvid] [untagged]]... where $vid is either a single id between 1 and 4094 or a range, represented as a couple of ids separated by a dash." /></setting><setting name="cdma" description="CDMA-based Mobile Broadband Settings" name_upper="CDMA"><property name="mtu" name_upper="MTU" type="uint32" default="0" description="If non-zero, only transmit packets of the specified size or smaller, breaking larger packets up into multiple frames." /><property name="number" name_upper="NUMBER" type="string" description="The number to dial to establish the connection to the CDMA-based mobile broadband network, if any.  If not specified, the default number (#777) is used when required." /><property name="password" name_upper="PASSWORD" type="string" description="The password used to authenticate with the network, if required.  Many providers do not require a password, or accept any password.  But if a password is required, it is specified here." /><property name="password-flags" name_upper="PASSWORD_FLAGS" type="NMSettingSecretFlags (uint32)" description="Flags indicating how to handle the &quot;password&quot; property." /><property name="username" name_upper="USERNAME" type="string" description="The username used to authenticate with the network, if required.  Many providers do not require a username, or accept any username.  But if a username is required, it is specified here." /></setting><setting name="dcb" description="Data Center Bridging Settings" name_upper="DCB"><property name="app-fcoe-flags" name_upper="APP_FCOE_FLAGS" type="NMSettingDcbFlags (uint32)" description="Specifies the NMSettingDcbFlags for the DCB FCoE application.  Flags may be any combination of NM_SETTING_DCB_FLAG_ENABLE (0x1), NM_SETTING_DCB_FLAG_ADVERTISE (0x2), and NM_SETTING_DCB_FLAG_WILLING (0x4)." /><property name="app-fcoe-mode" name_upper="APP_FCOE_MODE" type="string" default="&quot;fabric&quot;" description="The FCoE controller mode; either &quot;fabric&quot; (default) or &quot;vn2vn&quot;." /><property name="app-fcoe-priority" name_upper="APP_FCOE_PRIORITY" type="int32" default="-1" description="The highest User Priority (0 - 7) which FCoE frames should use, or -1 for default priority.  Only used when the &quot;app-fcoe-flags&quot; property includes the NM_SETTING_DCB_FLAG_ENABLE (0x1) flag." /><property name="app-fip-flags" name_upper="APP_FIP_FLAGS" type="NMSettingDcbFlags (uint32)" description="Specifies the NMSettingDcbFlags for the DCB FIP application.  Flags may be any combination of NM_SETTING_DCB_FLAG_ENABLE (0x1), NM_SETTING_DCB_FLAG_ADVERTISE (0x2), and NM_SETTING_DCB_FLAG_WILLING (0x4)." /><property name="app-fip-priority" name_upper="APP_FIP_PRIORITY" type="int32" default="-1" description="The highest User Priority (0 - 7) which FIP frames should use, or -1 for default priority.  Only used when the &quot;app-fip-flags&quot; property includes the NM_SETTING_DCB_FLAG_ENABLE (0x1) flag." /><property name="app-iscsi-flags" name_upper="APP_ISCSI_FLAGS" type="NMSettingDcbFlags (uint32)" description="Specifies the NMSettingDcbFlags for the DCB iSCSI application.  Flags may be any combination of NM_SETTING_DCB_FLAG_ENABLE (0x1), NM_SETTING_DCB_FLAG_ADVERTISE (0x2), and NM_SETTING_DCB_FLAG_WILLING (0x4)." /><property name="app-iscsi-priority" name_upper="APP_ISCSI_PRIORITY" type="int32" default="-1" description="The highest User Priority (0 - 7) which iSCSI frames should use, or -1 for default priority. Only used when the &quot;app-iscsi-flags&quot; property includes the NM_SETTING_DCB_FLAG_ENABLE (0x1) flag." /><property name="priority-bandwidth" name_upper="PRIORITY_BANDWIDTH" type="array of uint32" description="An array of 8 uint values, where the array index corresponds to the User Priority (0 - 7) and the value indicates the percentage of bandwidth of the priority's assigned group that the priority may use.  The sum of all percentages for priorities which belong to the same group must total 100 percents." /><property name="priority-flow-control" name_upper="PRIORITY_FLOW_CONTROL" type="array of uint32" description="An array of 8 boolean values, where the array index corresponds to the User Priority (0 - 7) and the value indicates whether or not the corresponding priority should transmit priority pause." /><property name="priority-flow-control-flags" name_upper="PRIORITY_FLOW_CONTROL_FLAGS" type="NMSettingDcbFlags (uint32)" description="Specifies the NMSettingDcbFlags for DCB Priority Flow Control (PFC). Flags may be any combination of NM_SETTING_DCB_FLAG_ENABLE (0x1), NM_SETTING_DCB_FLAG_ADVERTISE (0x2), and NM_SETTING_DCB_FLAG_WILLING (0x4)." /><property name="priority-group-bandwidth" name_upper="PRIORITY_GROUP_BANDWIDTH" type="array of uint32" description="An array of 8 uint values, where the array index corresponds to the Priority Group ID (0 - 7) and the value indicates the percentage of link bandwidth allocated to that group.  Allowed values are 0 - 100, and the sum of all values must total 100 percents." /><property name="priority-group-flags" name_upper="PRIORITY_GROUP_FLAGS" type="NMSettingDcbFlags (uint32)" description="Specifies the NMSettingDcbFlags for DCB Priority Groups.  Flags may be any combination of NM_SETTING_DCB_FLAG_ENABLE (0x1), NM_SETTING_DCB_FLAG_ADVERTISE (0x2), and NM_SETTING_DCB_FLAG_WILLING (0x4)." /><property name="priority-group-id" name_upper="PRIORITY_GROUP_ID" type="array of uint32" description="An array of 8 uint values, where the array index corresponds to the User Priority (0 - 7) and the value indicates the Priority Group ID.  Allowed Priority Group ID values are 0 - 7 or 15 for the unrestricted group." /><property name="priority-strict-bandwidth" name_upper="PRIORITY_STRICT_BANDWIDTH" type="array of uint32" description="An array of 8 boolean values, where the array index corresponds to the User Priority (0 - 7) and the value indicates whether or not the priority may use all of the bandwidth allocated to its assigned group." /><property name="priority-traffic-class" name_upper="PRIORITY_TRAFFIC_CLASS" type="array of uint32" description="An array of 8 uint values, where the array index corresponds to the User Priority (0 - 7) and the value indicates the traffic class (0 - 7) to which the priority is mapped." /></setting><setting name="dummy" description="Dummy Link Settings" name_upper="DUMMY" /><setting name="ethtool" description="Ethtool Ethernet Settings" name_upper="ETHTOOL" /><setting name="generic" description="Generic Link Settings" name_upper="GENERIC" /><setting name="gsm" description="GSM-based Mobile Broadband Settings" name_upper="GSM"><property name="apn" name_upper="APN" type="string" description="The GPRS Access Point Name specifying the APN used when establishing a data session with the GSM-based network.  The APN often determines how the user will be billed for their network usage and whether the user has access to the Internet or just a provider-specific walled-garden, so it is important to use the correct APN for the user's mobile broadband plan. The APN may only be composed of the characters a-z, 0-9, ., and - per GSM 03.60 Section 14.9." /><property name="auto-config" name_upper="AUTO_CONFIG" type="boolean" default="FALSE" description="When TRUE, the settings such as APN, username, or password will default to values that match the network the modem will register to in the Mobile Broadband Provider database." /><property name="device-id" name_upper="DEVICE_ID" type="string" description="The device unique identifier (as given by the WWAN management service) which this connection applies to.  If given, the connection will only apply to the specified device." /><property name="home-only" name_upper="HOME_ONLY" type="boolean" default="FALSE" description="When TRUE, only connections to the home network will be allowed. Connections to roaming networks will not be made." /><property name="mtu" name_upper="MTU" type="uint32" default="0" description="If non-zero, only transmit packets of the specified size or smaller, breaking larger packets up into multiple frames." /><property name="network-id" name_upper="NETWORK_ID" type="string" description="The Network ID (GSM LAI format, ie MCC-MNC) to force specific network registration.  If the Network ID is specified, NetworkManager will attempt to force the device to register only on the specified network. This can be used to ensure that the device does not roam when direct roaming control of the device is not otherwise possible." /><property name="number" name_upper="NUMBER" type="string" description="Legacy setting that used to help establishing PPP data sessions for GSM-based modems. Deprecated: 1" /><property name="password" name_upper="PASSWORD" type="string" description="The password used to authenticate with the network, if required.  Many providers do not require a password, or accept any password.  But if a password is required, it is specified here." /><property name="password-flags" name_upper="PASSWORD_FLAGS" type="NMSettingSecretFlags (uint32)" description="Flags indicating how to handle the &quot;password&quot; property." /><property name="pin" name_upper="PIN" type="string" description="If the SIM is locked with a PIN it must be unlocked before any other operations are requested.  Specify the PIN here to allow operation of the device." /><property name="pin-flags" name_upper="PIN_FLAGS" type="NMSettingSecretFlags (uint32)" description="Flags indicating how to handle the &quot;pin&quot; property." /><property name="sim-id" name_upper="SIM_ID" type="string" description="The SIM card unique identifier (as given by the WWAN management service) which this connection applies to.  If given, the connection will apply to any device also allowed by &quot;device-id&quot; which contains a SIM card matching the given identifier." /><property name="sim-operator-id" name_upper="SIM_OPERATOR_ID" type="string" description="A MCC/MNC string like &quot;310260&quot; or &quot;21601&quot; identifying the specific mobile network operator which this connection applies to.  If given, the connection will apply to any device also allowed by &quot;device-id&quot; and &quot;sim-id&quot; which contains a SIM card provisioned by the given operator." /><property name="username" name_upper="USERNAME" type="string" description="The username used to authenticate with the network, if required.  Many providers do not require a username, or accept any username.  But if a username is required, it is specified here." /></setting><setting name="infiniband" description="Infiniband Settings" name_upper="INFINIBAND"><property name="mac-address" name_upper="MAC_ADDRESS" type="byte array" description="If specified, this connection will only apply to the IPoIB device whose permanent MAC address matches. This property does not change the MAC address of the device (i.e. MAC spoofing)." /><property name="mtu" name_upper="MTU" type="uint32" default="0" description="If non-zero, only transmit packets of the specified size or smaller, breaking larger packets up into multiple frames." /><property name="p-key" name_upper="P_KEY" type="int32" default="-1" description="The InfiniBand P_Key to use for this device. A value of -1 means to use the default P_Key (aka &quot;the P_Key at index 0&quot;). Otherwise, it is a 16-bit unsigned integer, whose high bit is set if it is a &quot;full membership&quot; P_Key." /><property name="parent" name_upper="PARENT" type="string" description="The interface name of the parent device of this device. Normally NULL, but if the &quot;p_key&quot; property is set, then you must specify the base device by setting either this property or &quot;mac-address&quot;." /><property name="transport-mode" name_upper="TRANSPORT_MODE" type="string" description="The IP-over-InfiniBand transport mode. Either &quot;datagram&quot; or &quot;connected&quot;." /></setting><setting name="ipv4" description="IPv4 Settings" name_upper="IP4_CONFIG"><property name="addresses" name_upper="ADDRESSES" type="a comma separated list of addresses" description="A list of IPv4 addresses and their prefix length. Multiple addresses can be separated by comma. For example &quot;192.168.1.5/24, 10.1.0.5/24&quot;." /><property name="dad-timeout" name_upper="DAD_TIMEOUT" type="int32" default="-1" description="Timeout in milliseconds used to check for the presence of duplicate IP addresses on the network.  If an address conflict is detected, the activation will fail.  A zero value means that no duplicate address detection is performed, -1 means the default value (either configuration ipvx.dad-timeout override or zero).  A value greater than zero is a timeout in milliseconds. The property is currently implemented only for IPv4." /><property name="dhcp-client-id" name_upper="DHCP_CLIENT_ID" type="string" description="A string sent to the DHCP server to identify the local machine which the DHCP server may use to customize the DHCP lease and options. When the property is a hex string ('aa:bb:cc') it is interpreted as a binary client ID, in which case the first byte is assumed to be the 'type' field as per RFC 2132 section 9.14 and the remaining bytes may be an hardware address (e.g. '01:xx:xx:xx:xx:xx:xx' where 1 is the Ethernet ARP type and the rest is a MAC address). If the property is not a hex string it is considered as a non-hardware-address client ID and the 'type' field is set to 0. The special values &quot;mac&quot; and &quot;perm-mac&quot; are supported, which use the current or permanent MAC address of the device to generate a client identifier with type ethernet (01). Currently, these options only work for ethernet type of links. The special value &quot;ipv6-duid&quot; uses the DUID from &quot;ipv6.dhcp-duid&quot; property as an RFC4361-compliant client identifier. As IAID it uses &quot;ipv4.dhcp-iaid&quot; and falls back to &quot;ipv6.dhcp-iaid&quot; if unset. The special value &quot;duid&quot; generates a RFC4361-compliant client identifier based on &quot;ipv4.dhcp-iaid&quot; and uses a DUID generated by hashing /etc/machine-id. The special value &quot;stable&quot; is supported to generate a type 0 client identifier based on the stable-id (see connection.stable-id) and a per-host key. If you set the stable-id, you may want to include the &quot;${DEVICE}&quot; or &quot;${MAC}&quot; specifier to get a per-device key. If unset, a globally configured default is used. If still unset, the default depends on the DHCP plugin." /><property name="dhcp-fqdn" name_upper="DHCP_FQDN" type="string" description="If the &quot;dhcp-send-hostname&quot; property is TRUE, then the specified FQDN will be sent to the DHCP server when acquiring a lease. This property and &quot;dhcp-hostname&quot; are mutually exclusive and cannot be set at the same time." /><property name="dhcp-hostname" name_upper="DHCP_HOSTNAME" type="string" description="If the &quot;dhcp-send-hostname&quot; property is TRUE, then the specified name will be sent to the DHCP server when acquiring a lease. This property and &quot;dhcp-fqdn&quot; are mutually exclusive and cannot be set at the same time." /><property name="dhcp-hostname-flags" name_upper="DHCP_HOSTNAME_FLAGS" type="uint32" default="0" description="Flags for the DHCP hostname and FQDN. Currently, this property only includes flags to control the FQDN flags set in the DHCP FQDN option. Supported FQDN flags are NM_DHCP_HOSTNAME_FLAG_FQDN_SERV_UPDATE (0x1), NM_DHCP_HOSTNAME_FLAG_FQDN_ENCODED (0x2) and NM_DHCP_HOSTNAME_FLAG_FQDN_NO_UPDATE (0x4).  When no FQDN flag is set and NM_DHCP_HOSTNAME_FLAG_FQDN_CLEAR_FLAGS (0x8) is set, the DHCP FQDN option will contain no flag. Otherwise, if no FQDN flag is set and NM_DHCP_HOSTNAME_FLAG_FQDN_CLEAR_FLAGS (0x8) is not set, the standard FQDN flags are set in the request: NM_DHCP_HOSTNAME_FLAG_FQDN_SERV_UPDATE (0x1), NM_DHCP_HOSTNAME_FLAG_FQDN_ENCODED (0x2) for IPv4 and NM_DHCP_HOSTNAME_FLAG_FQDN_SERV_UPDATE (0x1) for IPv6. When this property is set to the default value NM_DHCP_HOSTNAME_FLAG_NONE (0x0), a global default is looked up in NetworkManager configuration. If that value is unset or also NM_DHCP_HOSTNAME_FLAG_NONE (0x0), then the standard FQDN flags described above are sent in the DHCP requests." /><property name="dhcp-iaid" name_upper="DHCP_IAID" type="string" description="A string containing the &quot;Identity Association Identifier&quot; (IAID) used by the DHCP client. The property is a 32-bit decimal value or a special value among &quot;mac&quot;, &quot;perm-mac&quot;, &quot;ifname&quot; and &quot;stable&quot;. When set to &quot;mac&quot; (or &quot;perm-mac&quot;), the last 4 bytes of the current (or permanent) MAC address are used as IAID. When set to &quot;ifname&quot;, the IAID is computed by hashing the interface name. The special value &quot;stable&quot; can be used to generate an IAID based on the stable-id (see connection.stable-id), a per-host key and the interface name. When the property is unset, the value from global configuration is used; if no global default is set then the IAID is assumed to be &quot;ifname&quot;. Note that at the moment this property is ignored for IPv6 by dhclient, which always derives the IAID from the MAC address." /><property name="dhcp-reject-servers" name_upper="DHCP_REJECT_SERVERS" type="array of string" description="Array of servers from which DHCP offers must be rejected. This property is useful to avoid getting a lease from misconfigured or rogue servers. For DHCPv4, each element must be an IPv4 address, optionally followed by a slash and a prefix length (e.g. &quot;192.168.122.0/24&quot;). This property is currently not implemented for DHCPv6." /><property name="dhcp-send-hostname" name_upper="DHCP_SEND_HOSTNAME" type="boolean" default="TRUE" description="If TRUE, a hostname is sent to the DHCP server when acquiring a lease. Some DHCP servers use this hostname to update DNS databases, essentially providing a static hostname for the computer.  If the &quot;dhcp-hostname&quot; property is NULL and this property is TRUE, the current persistent hostname of the computer is sent." /><property name="dhcp-timeout" name_upper="DHCP_TIMEOUT" type="int32" default="0" description="A timeout for a DHCP transaction in seconds. If zero (the default), a globally configured default is used. If still unspecified, a device specific timeout is used (usually 45 seconds). Set to 2147483647 (MAXINT32) for infinity." /><property name="dhcp-vendor-class-identifier" name_upper="DHCP_VENDOR_CLASS_IDENTIFIER" type="string" description="The Vendor Class Identifier DHCP option (60). Special characters in the data string may be escaped using C-style escapes, nevertheless this property cannot contain nul bytes. If the per-profile value is unspecified (the default), a global connection default gets consulted. If still unspecified, the DHCP option is not sent to the server. Since 1.28" /><property name="dns" name_upper="DNS" type="array of uint32" description="Array of IP addresses of DNS servers." /><property name="dns-options" name_upper="DNS_OPTIONS" type="array of string" description="Array of DNS options as described in man 5 resolv.conf. NULL means that the options are unset and left at the default. In this case NetworkManager will use default options. This is distinct from an empty list of properties. The currently supported options are &quot;attempts&quot;, &quot;debug&quot;, &quot;edns0&quot;, &quot;inet6&quot;, &quot;ip6-bytestring&quot;, &quot;ip6-dotint&quot;, &quot;ndots&quot;, &quot;no-check-names&quot;, &quot;no-ip6-dotint&quot;, &quot;no-reload&quot;, &quot;no-tld-query&quot;, &quot;rotate&quot;, &quot;single-request&quot;, &quot;single-request-reopen&quot;, &quot;timeout&quot;, &quot;trust-ad&quot;, &quot;use-vc&quot;. The &quot;trust-ad&quot; setting is only honored if the profile contributes name servers to resolv.conf, and if all contributing profiles have &quot;trust-ad&quot; enabled. When using a caching DNS plugin (dnsmasq or systemd-resolved in NetworkManager.conf) then &quot;edns0&quot; and &quot;trust-ad&quot; are automatically added." /><property name="dns-priority" name_upper="DNS_PRIORITY" type="int32" default="0" description="DNS servers priority. The relative priority for DNS servers specified by this setting.  A lower numerical value is better (higher priority). Negative values have the special effect of excluding other configurations with a greater numerical priority value; so in presence of at least one negative priority, only DNS servers from connections with the lowest priority value will be used. To avoid all DNS leaks, set the priority of the profile that should be used to the most negative value of all active connections profiles. Zero selects a globally configured default value. If the latter is missing or zero too, it defaults to 50 for VPNs (including WireGuard) and 100 for other connections. Note that the priority is to order DNS settings for multiple active connections.  It does not disambiguate multiple DNS servers within the same connection profile. When multiple devices have configurations with the same priority, VPNs will be considered first, then devices with the best (lowest metric) default route and then all other devices. When using dns=default, servers with higher priority will be on top of resolv.conf. To prioritize a given server over another one within the same connection, just specify them in the desired order. Note that commonly the resolver tries name servers in /etc/resolv.conf in the order listed, proceeding with the next server in the list on failure. See for example the &quot;rotate&quot; option of the dns-options setting. If there are any negative DNS priorities, then only name servers from the devices with that lowest priority will be considered. When using a DNS resolver that supports Conditional Forwarding or Split DNS (with dns=dnsmasq or dns=systemd-resolved settings), each connection is used to query domains in its search list. The search domains determine which name servers to ask, and the DNS priority is used to prioritize name servers based on the domain.  Queries for domains not present in any search list are routed through connections having the '~.' special wildcard domain, which is added automatically to connections with the default route (or can be added manually).  When multiple connections specify the same domain, the one with the best priority (lowest numerical value) wins.  If a sub domain is configured on another interface it will be accepted regardless the priority, unless parent domain on the other interface has a negative priority, which causes the sub domain to be shadowed. With Split DNS one can avoid undesired DNS leaks by properly configuring DNS priorities and the search domains, so that only name servers of the desired interface are configured." /><property name="dns-search" name_upper="DNS_SEARCH" type="array of string" description="Array of DNS search domains. Domains starting with a tilde ('~') are considered 'routing' domains and are used only to decide the interface over which a query must be forwarded; they are not used to complete unqualified host names. When using a DNS plugin that supports Conditional Forwarding or Split DNS, then the search domains specify which name servers to query. This makes the behavior different from running with plain /etc/resolv.conf. For more information see also the dns-priority setting." /><property name="gateway" name_upper="GATEWAY" type="string" description="The gateway associated with this configuration. This is only meaningful if &quot;addresses&quot; is also set. The gateway's main purpose is to control the next hop of the standard default route on the device. Hence, the gateway property conflicts with &quot;never-default&quot; and will be automatically dropped if the IP configuration is set to never-default. As an alternative to set the gateway, configure a static default route with /0 as prefix length." /><property name="ignore-auto-dns" name_upper="IGNORE_AUTO_DNS" type="boolean" default="FALSE" description="When &quot;method&quot; is set to &quot;auto&quot; and this property to TRUE, automatically configured name servers and search domains are ignored and only name servers and search domains specified in the &quot;dns&quot; and &quot;dns-search&quot; properties, if any, are used." /><property name="ignore-auto-routes" name_upper="IGNORE_AUTO_ROUTES" type="boolean" default="FALSE" description="When &quot;method&quot; is set to &quot;auto&quot; and this property to TRUE, automatically configured routes are ignored and only routes specified in the &quot;routes&quot; property, if any, are used." /><property name="may-fail" name_upper="MAY_FAIL" type="boolean" default="TRUE" description="If TRUE, allow overall network configuration to proceed even if the configuration specified by this property times out.  Note that at least one IP configuration must succeed or overall network configuration will still fail.  For example, in IPv6-only networks, setting this property to TRUE on the NMSettingIP4Config allows the overall network configuration to succeed if IPv4 configuration fails but IPv6 configuration completes successfully." /><property name="method" name_upper="METHOD" type="string" description="IP configuration method. NMSettingIP4Config and NMSettingIP6Config both support &quot;disabled&quot;, &quot;auto&quot;, &quot;manual&quot;, and &quot;link-local&quot;. See the subclass-specific documentation for other values. In general, for the &quot;auto&quot; method, properties such as &quot;dns&quot; and &quot;routes&quot; specify information that is added on to the information returned from automatic configuration.  The &quot;ignore-auto-routes&quot; and &quot;ignore-auto-dns&quot; properties modify this behavior. For methods that imply no upstream network, such as &quot;shared&quot; or &quot;link-local&quot;, these properties must be empty. For IPv4 method &quot;shared&quot;, the IP subnet can be configured by adding one manual IPv4 address or otherwise 10.42.x.0/24 is chosen. Note that the shared method must be configured on the interface which shares the internet to a subnet, not on the uplink which is shared." /><property name="never-default" name_upper="NEVER_DEFAULT" type="boolean" default="FALSE" description="If TRUE, this connection will never be the default connection for this IP type, meaning it will never be assigned the default route by NetworkManager." /><property name="route-metric" name_upper="ROUTE_METRIC" type="int64" default="-1" description="The default metric for routes that don't explicitly specify a metric. The default value -1 means that the metric is chosen automatically based on the device type. The metric applies to dynamic routes, manual (static) routes that don't have an explicit metric setting, address prefix routes, and the default route. Note that for IPv6, the kernel accepts zero (0) but coerces it to 1024 (user default). Hence, setting this property to zero effectively mean setting it to 1024. For IPv4, zero is a regular value for the metric." /><property name="route-table" name_upper="ROUTE_TABLE" type="uint32" default="0" description="Enable policy routing (source routing) and set the routing table used when adding routes. This affects all routes, including device-routes, IPv4LL, DHCP, SLAAC, default-routes and static routes. But note that static routes can individually overwrite the setting by explicitly specifying a non-zero routing table. If the table setting is left at zero, it is eligible to be overwritten via global configuration. If the property is zero even after applying the global configuration value, policy routing is disabled for the address family of this connection. Policy routing disabled means that NetworkManager will add all routes to the main table (except static routes that explicitly configure a different table). Additionally, NetworkManager will not delete any extraneous routes from tables except the main table. This is to preserve backward compatibility for users who manage routing tables outside of NetworkManager." /><property name="routes" name_upper="ROUTES" type="a comma separated list of routes" description="A list of IPv4 destination addresses, prefix length, optional IPv4 next hop addresses, optional route metric, optional attribute. The valid syntax is: &quot;ip[/prefix] [next-hop] [metric] [attribute=val]...[,ip[/prefix]...]&quot;. For example &quot;192.0.2.0/24 10.1.1.1 77, 198.51.100.0/24&quot;." /></setting><setting name="ipv6" description="IPv6 Settings" name_upper="IP6_CONFIG"><property name="addr-gen-mode" name_upper="ADDR_GEN_MODE" type="int32" default="1" description="Configure method for creating the address for use with RFC4862 IPv6 Stateless Address Autoconfiguration. The permitted values are: NM_SETTING_IP6_CONFIG_ADDR_GEN_MODE_EUI64 (0) or NM_SETTING_IP6_CONFIG_ADDR_GEN_MODE_STABLE_PRIVACY (1). If the property is set to EUI64, the addresses will be generated using the interface tokens derived from hardware address. This makes the host part of the address to stay constant, making it possible to track host's presence when it changes networks. The address changes when the interface hardware is replaced. The value of stable-privacy enables use of cryptographically secure hash of a secret host-specific key along with the connection's stable-id and the network address as specified by RFC7217. This makes it impossible to use the address track host's presence, and makes the address stable when the network interface hardware is replaced. On D-Bus, the absence of an addr-gen-mode setting equals enabling stable-privacy. For keyfile plugin, the absence of the setting on disk means EUI64 so that the property doesn't change on upgrade from older versions. Note that this setting is distinct from the Privacy Extensions as configured by &quot;ip6-privacy&quot; property and it does not affect the temporary addresses configured with this option." /><property name="addresses" name_upper="ADDRESSES" type="array of legacy IPv6 address struct" description="Array of IP addresses." /><property name="dad-timeout" name_upper="DAD_TIMEOUT" type="int32" default="-1" description="Timeout in milliseconds used to check for the presence of duplicate IP addresses on the network.  If an address conflict is detected, the activation will fail.  A zero value means that no duplicate address detection is performed, -1 means the default value (either configuration ipvx.dad-timeout override or zero).  A value greater than zero is a timeout in milliseconds. The property is currently implemented only for IPv4." /><property name="dhcp-duid" name_upper="DHCP_DUID" type="string" description="A string containing the DHCPv6 Unique Identifier (DUID) used by the dhcp client to identify itself to DHCPv6 servers (RFC 3315). The DUID is carried in the Client Identifier option. If the property is a hex string ('aa:bb:cc') it is interpreted as a binary DUID and filled as an opaque value in the Client Identifier option. The special value &quot;lease&quot; will retrieve the DUID previously used from the lease file belonging to the connection. If no DUID is found and &quot;dhclient&quot; is the configured dhcp client, the DUID is searched in the system-wide dhclient lease file. If still no DUID is found, or another dhcp client is used, a global and permanent DUID-UUID (RFC 6355) will be generated based on the machine-id. The special values &quot;llt&quot; and &quot;ll&quot; will generate a DUID of type LLT or LL (see RFC 3315) based on the current MAC address of the device. In order to try providing a stable DUID-LLT, the time field will contain a constant timestamp that is used globally (for all profiles) and persisted to disk. The special values &quot;stable-llt&quot;, &quot;stable-ll&quot; and &quot;stable-uuid&quot; will generate a DUID of the corresponding type, derived from the connection's stable-id and a per-host unique key. You may want to include the &quot;${DEVICE}&quot; or &quot;${MAC}&quot; specifier in the stable-id, in case this profile gets activated on multiple devices. So, the link-layer address of &quot;stable-ll&quot; and &quot;stable-llt&quot; will be a generated address derived from the stable id. The DUID-LLT time value in the &quot;stable-llt&quot; option will be picked among a static timespan of three years (the upper bound of the interval is the same constant timestamp used in &quot;llt&quot;). When the property is unset, the global value provided for &quot;ipv6.dhcp-duid&quot; is used. If no global value is provided, the default &quot;lease&quot; value is assumed." /><property name="dhcp-hostname" name_upper="DHCP_HOSTNAME" type="string" description="If the &quot;dhcp-send-hostname&quot; property is TRUE, then the specified name will be sent to the DHCP server when acquiring a lease. This property and &quot;dhcp-fqdn&quot; are mutually exclusive and cannot be set at the same time." /><property name="dhcp-hostname-flags" name_upper="DHCP_HOSTNAME_FLAGS" type="uint32" default="0" description="Flags for the DHCP hostname and FQDN. Currently, this property only includes flags to control the FQDN flags set in the DHCP FQDN option. Supported FQDN flags are NM_DHCP_HOSTNAME_FLAG_FQDN_SERV_UPDATE (0x1), NM_DHCP_HOSTNAME_FLAG_FQDN_ENCODED (0x2) and NM_DHCP_HOSTNAME_FLAG_FQDN_NO_UPDATE (0x4).  When no FQDN flag is set and NM_DHCP_HOSTNAME_FLAG_FQDN_CLEAR_FLAGS (0x8) is set, the DHCP FQDN option will contain no flag. Otherwise, if no FQDN flag is set and NM_DHCP_HOSTNAME_FLAG_FQDN_CLEAR_FLAGS (0x8) is not set, the standard FQDN flags are set in the request: NM_DHCP_HOSTNAME_FLAG_FQDN_SERV_UPDATE (0x1), NM_DHCP_HOSTNAME_FLAG_FQDN_ENCODED (0x2) for IPv4 and NM_DHCP_HOSTNAME_FLAG_FQDN_SERV_UPDATE (0x1) for IPv6. When this property is set to the default value NM_DHCP_HOSTNAME_FLAG_NONE (0x0), a global default is looked up in NetworkManager configuration. If that value is unset or also NM_DHCP_HOSTNAME_FLAG_NONE (0x0), then the standard FQDN flags described above are sent in the DHCP requests." /><property name="dhcp-iaid" name_upper="DHCP_IAID" type="string" description="A string containing the &quot;Identity Association Identifier&quot; (IAID) used by the DHCP client. The property is a 32-bit decimal value or a special value among &quot;mac&quot;, &quot;perm-mac&quot;, &quot;ifname&quot; and &quot;stable&quot;. When set to &quot;mac&quot; (or &quot;perm-mac&quot;), the last 4 bytes of the current (or permanent) MAC address are used as IAID. When set to &quot;ifname&quot;, the IAID is computed by hashing the interface name. The special value &quot;stable&quot; can be used to generate an IAID based on the stable-id (see connection.stable-id), a per-host key and the interface name. When the property is unset, the value from global configuration is used; if no global default is set then the IAID is assumed to be &quot;ifname&quot;. Note that at the moment this property is ignored for IPv6 by dhclient, which always derives the IAID from the MAC address." /><property name="dhcp-reject-servers" name_upper="DHCP_REJECT_SERVERS" type="array of string" description="Array of servers from which DHCP offers must be rejected. This property is useful to avoid getting a lease from misconfigured or rogue servers. For DHCPv4, each element must be an IPv4 address, optionally followed by a slash and a prefix length (e.g. &quot;192.168.122.0/24&quot;). This property is currently not implemented for DHCPv6." /><property name="dhcp-send-hostname" name_upper="DHCP_SEND_HOSTNAME" type="boolean" default="TRUE" description="If TRUE, a hostname is sent to the DHCP server when acquiring a lease. Some DHCP servers use this hostname to update DNS databases, essentially providing a static hostname for the computer.  If the &quot;dhcp-hostname&quot; property is NULL and this property is TRUE, the current persistent hostname of the computer is sent." /><property name="dhcp-timeout" name_upper="DHCP_TIMEOUT" type="int32" default="0" description="A timeout for a DHCP transaction in seconds. If zero (the default), a globally configured default is used. If still unspecified, a device specific timeout is used (usually 45 seconds). Set to 2147483647 (MAXINT32) for infinity." /><property name="dns" name_upper="DNS" type="array of byte array" description="Array of IP addresses of DNS servers." /><property name="dns-options" name_upper="DNS_OPTIONS" type="array of string" description="Array of DNS options as described in man 5 resolv.conf. NULL means that the options are unset and left at the default. In this case NetworkManager will use default options. This is distinct from an empty list of properties. The currently supported options are &quot;attempts&quot;, &quot;debug&quot;, &quot;edns0&quot;, &quot;inet6&quot;, &quot;ip6-bytestring&quot;, &quot;ip6-dotint&quot;, &quot;ndots&quot;, &quot;no-check-names&quot;, &quot;no-ip6-dotint&quot;, &quot;no-reload&quot;, &quot;no-tld-query&quot;, &quot;rotate&quot;, &quot;single-request&quot;, &quot;single-request-reopen&quot;, &quot;timeout&quot;, &quot;trust-ad&quot;, &quot;use-vc&quot;. The &quot;trust-ad&quot; setting is only honored if the profile contributes name servers to resolv.conf, and if all contributing profiles have &quot;trust-ad&quot; enabled. When using a caching DNS plugin (dnsmasq or systemd-resolved in NetworkManager.conf) then &quot;edns0&quot; and &quot;trust-ad&quot; are automatically added." /><property name="dns-priority" name_upper="DNS_PRIORITY" type="int32" default="0" description="DNS servers priority. The relative priority for DNS servers specified by this setting.  A lower numerical value is better (higher priority). Negative values have the special effect of excluding other configurations with a greater numerical priority value; so in presence of at least one negative priority, only DNS servers from connections with the lowest priority value will be used. To avoid all DNS leaks, set the priority of the profile that should be used to the most negative value of all active connections profiles. Zero selects a globally configured default value. If the latter is missing or zero too, it defaults to 50 for VPNs (including WireGuard) and 100 for other connections. Note that the priority is to order DNS settings for multiple active connections.  It does not disambiguate multiple DNS servers within the same connection profile. When multiple devices have configurations with the same priority, VPNs will be considered first, then devices with the best (lowest metric) default route and then all other devices. When using dns=default, servers with higher priority will be on top of resolv.conf. To prioritize a given server over another one within the same connection, just specify them in the desired order. Note that commonly the resolver tries name servers in /etc/resolv.conf in the order listed, proceeding with the next server in the list on failure. See for example the &quot;rotate&quot; option of the dns-options setting. If there are any negative DNS priorities, then only name servers from the devices with that lowest priority will be considered. When using a DNS resolver that supports Conditional Forwarding or Split DNS (with dns=dnsmasq or dns=systemd-resolved settings), each connection is used to query domains in its search list. The search domains determine which name servers to ask, and the DNS priority is used to prioritize name servers based on the domain.  Queries for domains not present in any search list are routed through connections having the '~.' special wildcard domain, which is added automatically to connections with the default route (or can be added manually).  When multiple connections specify the same domain, the one with the best priority (lowest numerical value) wins.  If a sub domain is configured on another interface it will be accepted regardless the priority, unless parent domain on the other interface has a negative priority, which causes the sub domain to be shadowed. With Split DNS one can avoid undesired DNS leaks by properly configuring DNS priorities and the search domains, so that only name servers of the desired interface are configured." /><property name="dns-search" name_upper="DNS_SEARCH" type="array of string" description="Array of DNS search domains. Domains starting with a tilde ('~') are considered 'routing' domains and are used only to decide the interface over which a query must be forwarded; they are not used to complete unqualified host names. When using a DNS plugin that supports Conditional Forwarding or Split DNS, then the search domains specify which name servers to query. This makes the behavior different from running with plain /etc/resolv.conf. For more information see also the dns-priority setting." /><property name="gateway" name_upper="GATEWAY" type="string" description="The gateway associated with this configuration. This is only meaningful if &quot;addresses&quot; is also set. The gateway's main purpose is to control the next hop of the standard default route on the device. Hence, the gateway property conflicts with &quot;never-default&quot; and will be automatically dropped if the IP configuration is set to never-default. As an alternative to set the gateway, configure a static default route with /0 as prefix length." /><property name="ignore-auto-dns" name_upper="IGNORE_AUTO_DNS" type="boolean" default="FALSE" description="When &quot;method&quot; is set to &quot;auto&quot; and this property to TRUE, automatically configured name servers and search domains are ignored and only name servers and search domains specified in the &quot;dns&quot; and &quot;dns-search&quot; properties, if any, are used." /><property name="ignore-auto-routes" name_upper="IGNORE_AUTO_ROUTES" type="boolean" default="FALSE" description="When &quot;method&quot; is set to &quot;auto&quot; and this property to TRUE, automatically configured routes are ignored and only routes specified in the &quot;routes&quot; property, if any, are used." /><property name="ip6-privacy" name_upper="IP6_PRIVACY" type="NMSettingIP6ConfigPrivacy (int32)" description="Configure IPv6 Privacy Extensions for SLAAC, described in RFC4941.  If enabled, it makes the kernel generate a temporary IPv6 address in addition to the public one generated from MAC address via modified EUI-64.  This enhances privacy, but could cause problems in some applications, on the other hand.  The permitted values are: -1: unknown, 0: disabled, 1: enabled (prefer public address), 2: enabled (prefer temporary addresses). Having a per-connection setting set to &quot;-1&quot; (unknown) means fallback to global configuration &quot;ipv6.ip6-privacy&quot;. If also global configuration is unspecified or set to &quot;-1&quot;, fallback to read &quot;/proc/sys/net/ipv6/conf/default/use_tempaddr&quot;. Note that this setting is distinct from the Stable Privacy addresses that can be enabled with the &quot;addr-gen-mode&quot; property's &quot;stable-privacy&quot; setting as another way of avoiding host tracking with IPv6 addresses." /><property name="may-fail" name_upper="MAY_FAIL" type="boolean" default="TRUE" description="If TRUE, allow overall network configuration to proceed even if the configuration specified by this property times out.  Note that at least one IP configuration must succeed or overall network configuration will still fail.  For example, in IPv6-only networks, setting this property to TRUE on the NMSettingIP4Config allows the overall network configuration to succeed if IPv4 configuration fails but IPv6 configuration completes successfully." /><property name="method" name_upper="METHOD" type="string" description="IP configuration method. NMSettingIP4Config and NMSettingIP6Config both support &quot;disabled&quot;, &quot;auto&quot;, &quot;manual&quot;, and &quot;link-local&quot;. See the subclass-specific documentation for other values. In general, for the &quot;auto&quot; method, properties such as &quot;dns&quot; and &quot;routes&quot; specify information that is added on to the information returned from automatic configuration.  The &quot;ignore-auto-routes&quot; and &quot;ignore-auto-dns&quot; properties modify this behavior. For methods that imply no upstream network, such as &quot;shared&quot; or &quot;link-local&quot;, these properties must be empty. For IPv4 method &quot;shared&quot;, the IP subnet can be configured by adding one manual IPv4 address or otherwise 10.42.x.0/24 is chosen. Note that the shared method must be configured on the interface which shares the internet to a subnet, not on the uplink which is shared." /><property name="never-default" name_upper="NEVER_DEFAULT" type="boolean" default="FALSE" description="If TRUE, this connection will never be the default connection for this IP type, meaning it will never be assigned the default route by NetworkManager." /><property name="ra-timeout" name_upper="RA_TIMEOUT" type="int32" default="0" description="A timeout for waiting Router Advertisements in seconds. If zero (the default), a globally configured default is used. If still unspecified, the timeout depends on the sysctl settings of the device. Set to 2147483647 (MAXINT32) for infinity." /><property name="route-metric" name_upper="ROUTE_METRIC" type="int64" default="-1" description="The default metric for routes that don't explicitly specify a metric. The default value -1 means that the metric is chosen automatically based on the device type. The metric applies to dynamic routes, manual (static) routes that don't have an explicit metric setting, address prefix routes, and the default route. Note that for IPv6, the kernel accepts zero (0) but coerces it to 1024 (user default). Hence, setting this property to zero effectively mean setting it to 1024. For IPv4, zero is a regular value for the metric." /><property name="route-table" name_upper="ROUTE_TABLE" type="uint32" default="0" description="Enable policy routing (source routing) and set the routing table used when adding routes. This affects all routes, including device-routes, IPv4LL, DHCP, SLAAC, default-routes and static routes. But note that static routes can individually overwrite the setting by explicitly specifying a non-zero routing table. If the table setting is left at zero, it is eligible to be overwritten via global configuration. If the property is zero even after applying the global configuration value, policy routing is disabled for the address family of this connection. Policy routing disabled means that NetworkManager will add all routes to the main table (except static routes that explicitly configure a different table). Additionally, NetworkManager will not delete any extraneous routes from tables except the main table. This is to preserve backward compatibility for users who manage routing tables outside of NetworkManager." /><property name="routes" name_upper="ROUTES" type="array of legacy IPv6 route struct" description="Array of IP routes." /><property name="token" name_upper="TOKEN" type="string" description="Configure the token for draft-chown-6man-tokenised-ipv6-identifiers-02 IPv6 tokenized interface identifiers. Useful with eui64 addr-gen-mode." /></setting><setting name="ip-tunnel" description="IP Tunneling Settings" name_upper="IP_TUNNEL"><property name="encapsulation-limit" name_upper="ENCAPSULATION_LIMIT" type="uint32" default="0" description="How many additional levels of encapsulation are permitted to be prepended to packets. This property applies only to IPv6 tunnels." /><property name="flags" name_upper="FLAGS" type="uint32" default="0" description="Tunnel flags. Currently, the following values are supported: NM_IP_TUNNEL_FLAG_IP6_IGN_ENCAP_LIMIT (0x1), NM_IP_TUNNEL_FLAG_IP6_USE_ORIG_TCLASS (0x2), NM_IP_TUNNEL_FLAG_IP6_USE_ORIG_FLOWLABEL (0x4), NM_IP_TUNNEL_FLAG_IP6_MIP6_DEV (0x8), NM_IP_TUNNEL_FLAG_IP6_RCV_DSCP_COPY (0x10), NM_IP_TUNNEL_FLAG_IP6_USE_ORIG_FWMARK (0x20). They are valid only for IPv6 tunnels." /><property name="flow-label" name_upper="FLOW_LABEL" type="uint32" default="0" description="The flow label to assign to tunnel packets. This property applies only to IPv6 tunnels." /><property name="input-key" name_upper="INPUT_KEY" type="string" description="The key used for tunnel input packets; the property is valid only for certain tunnel modes (GRE, IP6GRE). If empty, no key is used." /><property name="local" name_upper="LOCAL" type="string" description="The local endpoint of the tunnel; the value can be empty, otherwise it must contain an IPv4 or IPv6 address." /><property name="mode" name_upper="MODE" type="uint32" default="0" description="The tunneling mode, for example NM_IP_TUNNEL_MODE_IPIP (1) or NM_IP_TUNNEL_MODE_GRE (2)." /><property name="mtu" name_upper="MTU" type="uint32" default="0" description="If non-zero, only transmit packets of the specified size or smaller, breaking larger packets up into multiple fragments." /><property name="output-key" name_upper="OUTPUT_KEY" type="string" description="The key used for tunnel output packets; the property is valid only for certain tunnel modes (GRE, IP6GRE). If empty, no key is used." /><property name="parent" name_upper="PARENT" type="string" description="If given, specifies the parent interface name or parent connection UUID the new device will be bound to so that tunneled packets will only be routed via that interface." /><property name="path-mtu-discovery" name_upper="PATH_MTU_DISCOVERY" type="boolean" default="TRUE" description="Whether to enable Path MTU Discovery on this tunnel." /><property name="remote" name_upper="REMOTE" type="string" description="The remote endpoint of the tunnel; the value must contain an IPv4 or IPv6 address." /><property name="tos" name_upper="TOS" type="uint32" default="0" description="The type of service (IPv4) or traffic class (IPv6) field to be set on tunneled packets." /><property name="ttl" name_upper="TTL" type="uint32" default="0" description="The TTL to assign to tunneled packets. 0 is a special value meaning that packets inherit the TTL value." /></setting><setting name="macsec" description="MACSec Settings" name_upper="MACSEC"><property name="encrypt" name_upper="ENCRYPT" type="boolean" default="TRUE" description="Whether the transmitted traffic must be encrypted." /><property name="mka-cak" name_upper="MKA_CAK" type="string" description="The pre-shared CAK (Connectivity Association Key) for MACsec Key Agreement." /><property name="mka-cak-flags" name_upper="MKA_CAK_FLAGS" type="NMSettingSecretFlags (uint32)" description="Flags indicating how to handle the &quot;mka-cak&quot; property." /><property name="mka-ckn" name_upper="MKA_CKN" type="string" description="The pre-shared CKN (Connectivity-association Key Name) for MACsec Key Agreement." /><property name="mode" name_upper="MODE" type="int32" default="0" description="Specifies how the CAK (Connectivity Association Key) for MKA (MACsec Key Agreement) is obtained." /><property name="parent" name_upper="PARENT" type="string" description="If given, specifies the parent interface name or parent connection UUID from which this MACSEC interface should be created.  If this property is not specified, the connection must contain an &quot;802-3-ethernet&quot; setting with a &quot;mac-address&quot; property." /><property name="port" name_upper="PORT" type="int32" default="1" description="The port component of the SCI (Secure Channel Identifier), between 1 and 65534." /><property name="send-sci" name_upper="SEND_SCI" type="boolean" default="TRUE" description="Specifies whether the SCI (Secure Channel Identifier) is included in every packet." /><property name="validation" name_upper="VALIDATION" type="int32" default="2" description="Specifies the validation mode for incoming frames." /></setting><setting name="macvlan" description="MAC VLAN Settings" name_upper="MACVLAN"><property name="mode" name_upper="MODE" type="uint32" default="0" description="The macvlan mode, which specifies the communication mechanism between multiple macvlans on the same lower device." /><property name="parent" name_upper="PARENT" type="string" description="If given, specifies the parent interface name or parent connection UUID from which this MAC-VLAN interface should be created.  If this property is not specified, the connection must contain an &quot;802-3-ethernet&quot; setting with a &quot;mac-address&quot; property." /><property name="promiscuous" name_upper="PROMISCUOUS" type="boolean" default="TRUE" description="Whether the interface should be put in promiscuous mode." /><property name="tap" name_upper="TAP" type="boolean" default="FALSE" description="Whether the interface should be a MACVTAP." /></setting><setting name="match" description="Match settings" name_upper="MATCH"><property name="driver" name_upper="DRIVER" type="array of string" description="A list of driver names to match. Each element is a shell wildcard pattern. See NMSettingMatch:interface-name for how special characters '|', '&amp;', '!' and '\\' are used for optional and mandatory matches and inverting the pattern." /><property name="interface-name" name_upper="INTERFACE_NAME" type="array of string" description="A list of interface names to match. Each element is a shell wildcard pattern. An element can be prefixed with a pipe symbol (|) or an ampersand (&amp;). The former means that the element is optional and the latter means that it is mandatory. If there are any optional elements, than the match evaluates to true if at least one of the optional element matches (logical OR). If there are any mandatory elements, then they all must match (logical AND). By default, an element is optional. This means that an element &quot;foo&quot; behaves the same as &quot;|foo&quot;. An element can also be inverted with exclamation mark (!) between the pipe symbol (or the ampersand) and before the pattern. Note that &quot;!foo&quot; is a shortcut for the mandatory match &quot;&amp;!foo&quot;. Finally, a backslash can be used at the beginning of the element (after the optional special characters) to escape the start of the pattern. For example, &quot;&amp;\\!a&quot; is an mandatory match for literally &quot;!a&quot;." /><property name="kernel-command-line" name_upper="KERNEL_COMMAND_LINE" type="array of string" description="A list of kernel command line arguments to match. This may be used to check whether a specific kernel command line option is set (or unset, if prefixed with the exclamation mark). The argument must either be a single word, or an assignment (i.e. two words, joined by &quot;=&quot;). In the former case the kernel command line is searched for the word appearing as is, or as left hand side of an assignment. In the latter case, the exact assignment is looked for with right and left hand side matching. Wildcard patterns are not supported. See NMSettingMatch:interface-name for how special characters '|', '&amp;', '!' and '\\' are used for optional and mandatory matches and inverting the match." /><property name="path" name_upper="PATH" type="array of string" description="A list of paths to match against the ID_PATH udev property of devices. ID_PATH represents the topological persistent path of a device. It typically contains a subsystem string (pci, usb, platform, etc.) and a subsystem-specific identifier. For PCI devices the path has the form &quot;pci-$domain:$bus:$device.$function&quot;, where each variable is an hexadecimal value; for example &quot;pci-0000:0a:00.0&quot;. The path of a device can be obtained with &quot;udevadm info /sys/class/net/$dev | grep ID_PATH=&quot; or by looking at the &quot;path&quot; property exported by NetworkManager (&quot;nmcli -f general.path device show $dev&quot;). Each element of the list is a shell wildcard pattern. See NMSettingMatch:interface-name for how special characters '|', '&amp;', '!' and '\\' are used for optional and mandatory matches and inverting the pattern." /></setting><setting name="802-11-olpc-mesh" description="OLPC Wireless Mesh Settings" name_upper="OLPC_MESH"><property name="channel" name_upper="CHANNEL" type="uint32" default="0" description="Channel on which the mesh network to join is located." /><property name="dhcp-anycast-address" name_upper="DHCP_ANYCAST_ADDRESS" type="byte array" description="Anycast DHCP MAC address used when requesting an IP address via DHCP. The specific anycast address used determines which DHCP server class answers the request. This is currently only implemented by dhclient DHCP plugin." /><property name="ssid" name_upper="SSID" type="byte array" description="SSID of the mesh network to join." /></setting><setting name="ovs-bridge" description="OvsBridge Link Settings" name_upper="OVS_BRIDGE"><property name="datapath-type" name_upper="DATAPATH_TYPE" type="string" description="The data path type. One of &quot;system&quot;, &quot;netdev&quot; or empty." /><property name="fail-mode" name_upper="FAIL_MODE" type="string" description="The bridge failure mode. One of &quot;secure&quot;, &quot;standalone&quot; or empty." /><property name="mcast-snooping-enable" name_upper="MCAST_SNOOPING_ENABLE" type="boolean" default="FALSE" description="Enable or disable multicast snooping." /><property name="rstp-enable" name_upper="RSTP_ENABLE" type="boolean" default="FALSE" description="Enable or disable RSTP." /><property name="stp-enable" name_upper="STP_ENABLE" type="boolean" default="FALSE" description="Enable or disable STP." /></setting><setting name="ovs-dpdk" description="OvsDpdk Link Settings" name_upper="OVS_DPDK"><property name="devargs" name_upper="DEVARGS" type="string" description="Open vSwitch DPDK device arguments." /></setting><setting name="ovs-interface" description="Open vSwitch Interface Settings" name_upper="OVS_INTERFACE"><property name="type" name_upper="TYPE" type="string" description="The interface type. Either &quot;internal&quot;, &quot;system&quot;, &quot;patch&quot;, &quot;dpdk&quot;, or empty." /></setting><setting name="ovs-patch" description="OvsPatch Link Settings" name_upper="OVS_PATCH"><property name="peer" name_upper="PEER" type="string" description="Specifies the name of the interface for the other side of the patch. The patch on the other side must also set this interface as peer." /></setting><setting name="ovs-port" description="OvsPort Link Settings" name_upper="OVS_PORT"><property name="bond-downdelay" name_upper="BOND_DOWNDELAY" type="uint32" default="0" description="The time port must be inactive in order to be considered down." /><property name="bond-mode" name_upper="BOND_MODE" type="string" description="Bonding mode. One of &quot;active-backup&quot;, &quot;balance-slb&quot;, or &quot;balance-tcp&quot;." /><property name="bond-updelay" name_upper="BOND_UPDELAY" type="uint32" default="0" description="The time port must be active before it starts forwarding traffic." /><property name="lacp" name_upper="LACP" type="string" description="LACP mode. One of &quot;active&quot;, &quot;off&quot;, or &quot;passive&quot;." /><property name="tag" name_upper="TAG" type="uint32" default="0" description="The VLAN tag in the range 0-4095." /><property name="vlan-mode" name_upper="VLAN_MODE" type="string" description="The VLAN mode. One of &quot;access&quot;, &quot;native-tagged&quot;, &quot;native-untagged&quot;, &quot;trunk&quot; or unset." /></setting><setting name="ppp" description="Point-to-Point Protocol Settings" name_upper="PPP"><property name="baud" name_upper="BAUD" type="uint32" default="0" description="If non-zero, instruct pppd to set the serial port to the specified baudrate.  This value should normally be left as 0 to automatically choose the speed." /><property name="crtscts" name_upper="CRTSCTS" type="boolean" default="FALSE" description="If TRUE, specify that pppd should set the serial port to use hardware flow control with RTS and CTS signals.  This value should normally be set to FALSE." /><property name="lcp-echo-failure" name_upper="LCP_ECHO_FAILURE" type="uint32" default="0" description="If non-zero, instruct pppd to presume the connection to the peer has failed if the specified number of LCP echo-requests go unanswered by the peer.  The &quot;lcp-echo-interval&quot; property must also be set to a non-zero value if this property is used." /><property name="lcp-echo-interval" name_upper="LCP_ECHO_INTERVAL" type="uint32" default="0" description="If non-zero, instruct pppd to send an LCP echo-request frame to the peer every n seconds (where n is the specified value).  Note that some PPP peers will respond to echo requests and some will not, and it is not possible to autodetect this." /><property name="mppe-stateful" name_upper="MPPE_STATEFUL" type="boolean" default="FALSE" description="If TRUE, stateful MPPE is used.  See pppd documentation for more information on stateful MPPE." /><property name="mru" name_upper="MRU" type="uint32" default="0" description="If non-zero, instruct pppd to request that the peer send packets no larger than the specified size.  If non-zero, the MRU should be between 128 and 16384." /><property name="mtu" name_upper="MTU" type="uint32" default="0" description="If non-zero, instruct pppd to send packets no larger than the specified size." /><property name="no-vj-comp" name_upper="NO_VJ_COMP" type="boolean" default="FALSE" description="If TRUE, Van Jacobsen TCP header compression will not be requested." /><property name="noauth" name_upper="NOAUTH" type="boolean" default="TRUE" description="If TRUE, do not require the other side (usually the PPP server) to authenticate itself to the client.  If FALSE, require authentication from the remote side.  In almost all cases, this should be TRUE." /><property name="nobsdcomp" name_upper="NOBSDCOMP" type="boolean" default="FALSE" description="If TRUE, BSD compression will not be requested." /><property name="nodeflate" name_upper="NODEFLATE" type="boolean" default="FALSE" description="If TRUE, &quot;deflate&quot; compression will not be requested." /><property name="refuse-chap" name_upper="REFUSE_CHAP" type="boolean" default="FALSE" description="If TRUE, the CHAP authentication method will not be used." /><property name="refuse-eap" name_upper="REFUSE_EAP" type="boolean" default="FALSE" description="If TRUE, the EAP authentication method will not be used." /><property name="refuse-mschap" name_upper="REFUSE_MSCHAP" type="boolean" default="FALSE" description="If TRUE, the MSCHAP authentication method will not be used." /><property name="refuse-mschapv2" name_upper="REFUSE_MSCHAPV2" type="boolean" default="FALSE" description="If TRUE, the MSCHAPv2 authentication method will not be used." /><property name="refuse-pap" name_upper="REFUSE_PAP" type="boolean" default="FALSE" description="If TRUE, the PAP authentication method will not be used." /><property name="require-mppe" name_upper="REQUIRE_MPPE" type="boolean" default="FALSE" description="If TRUE, MPPE (Microsoft Point-to-Point Encryption) will be required for the PPP session.  If either 64-bit or 128-bit MPPE is not available the session will fail.  Note that MPPE is not used on mobile broadband connections." /><property name="require-mppe-128" name_upper="REQUIRE_MPPE_128" type="boolean" default="FALSE" description="If TRUE, 128-bit MPPE (Microsoft Point-to-Point Encryption) will be required for the PPP session, and the &quot;require-mppe&quot; property must also be set to TRUE.  If 128-bit MPPE is not available the session will fail." /></setting><setting name="pppoe" description="PPP-over-Ethernet Settings" name_upper="PPPOE"><property name="parent" name_upper="PARENT" type="string" description="If given, specifies the parent interface name on which this PPPoE connection should be created.  If this property is not specified, the connection is activated on the interface specified in &quot;interface-name&quot; of NMSettingConnection." /><property name="password" name_upper="PASSWORD" type="string" description="Password used to authenticate with the PPPoE service." /><property name="password-flags" name_upper="PASSWORD_FLAGS" type="NMSettingSecretFlags (uint32)" description="Flags indicating how to handle the &quot;password&quot; property." /><property name="service" name_upper="SERVICE" type="string" description="If specified, instruct PPPoE to only initiate sessions with access concentrators that provide the specified service.  For most providers, this should be left blank.  It is only required if there are multiple access concentrators or a specific service is known to be required." /><property name="username" name_upper="USERNAME" type="string" description="Username used to authenticate with the PPPoE service." /></setting><setting name="proxy" description="WWW Proxy Settings" name_upper="PROXY"><property name="browser-only" name_upper="BROWSER_ONLY" type="boolean" default="FALSE" description="Whether the proxy configuration is for browser only." /><property name="method" name_upper="METHOD" type="int32" default="0" description="Method for proxy configuration, Default is NM_SETTING_PROXY_METHOD_NONE (0)" /><property name="pac-script" name_upper="PAC_SCRIPT" type="string" description="PAC script for the connection." /><property name="pac-url" name_upper="PAC_URL" type="string" description="PAC URL for obtaining PAC file." /></setting><setting name="serial" description="Serial Link Settings" name_upper="SERIAL"><property name="baud" name_upper="BAUD" type="uint32" default="57600" description="Speed to use for communication over the serial port.  Note that this value usually has no effect for mobile broadband modems as they generally ignore speed settings and use the highest available speed." /><property name="bits" name_upper="BITS" type="uint32" default="8" description="Byte-width of the serial communication. The 8 in &quot;8n1&quot; for example." /><property name="parity" name_upper="PARITY" type="NMSettingSerialParity (byte)" description="Parity setting of the serial port." /><property name="send-delay" name_upper="SEND_DELAY" type="uint64" default="0" description="Time to delay between each byte sent to the modem, in microseconds." /><property name="stopbits" name_upper="STOPBITS" type="uint32" default="1" description="Number of stop bits for communication on the serial port.  Either 1 or 2. The 1 in &quot;8n1&quot; for example." /></setting><setting name="sriov" description="SR-IOV settings" name_upper="SRIOV"><property name="autoprobe-drivers" name_upper="AUTOPROBE_DRIVERS" type="NMTernary (int32)" description="Whether to autoprobe virtual functions by a compatible driver. If set to NM_TERNARY_TRUE (1), the kernel will try to bind VFs to a compatible driver and if this succeeds a new network interface will be instantiated for each VF. If set to NM_TERNARY_FALSE (0), VFs will not be claimed and no network interfaces will be created for them. When set to NM_TERNARY_DEFAULT (-1), the global default is used; in case the global default is unspecified it is assumed to be NM_TERNARY_TRUE (1)." /><property name="total-vfs" name_upper="TOTAL_VFS" type="uint32" default="0" description="The total number of virtual functions to create. Note that when the sriov setting is present NetworkManager enforces the number of virtual functions on the interface (also when it is zero) during activation and resets it upon deactivation. To prevent any changes to SR-IOV parameters don't add a sriov setting to the connection." /><property name="vfs" name_upper="VFS" type="array of vardict" description="Array of virtual function descriptors. Each VF descriptor is a dictionary mapping attribute names to GVariant values. The 'index' entry is mandatory for each VF. When represented as string a VF is in the form: &quot;INDEX [ATTR=VALUE[ ATTR=VALUE]...]&quot;. for example: &quot;2 mac=00:11:22:33:44:55 spoof-check=true&quot;. Multiple VFs can be specified using a comma as separator. Currently, the following attributes are supported: mac, spoof-check, trust, min-tx-rate, max-tx-rate, vlans. The &quot;vlans&quot; attribute is represented as a semicolon-separated list of VLAN descriptors, where each descriptor has the form &quot;ID[.PRIORITY[.PROTO]]&quot;. PROTO can be either 'q' for 802.1Q (the default) or 'ad' for 802.1ad." /></setting><setting name="tc" description="Linux Traffic Control Settings" name_upper="TC_CONFIG"><property name="qdiscs" name_upper="QDISCS" type="array of vardict" description="Array of TC queueing disciplines. When the &quot;tc&quot; setting is present, qdiscs from this property are applied upon activation. If the property is empty, all qdiscs are removed and the device will only have the default qdisc assigned by kernel according to the &quot;net.core.default_qdisc&quot; sysctl. If the &quot;tc&quot; setting is not present, NetworkManager doesn't touch the qdiscs present on the interface." /><property name="tfilters" name_upper="TFILTERS" type="array of vardict" description="Array of TC traffic filters. When the &quot;tc&quot; setting is present, filters from this property are applied upon activation. If the property is empty, NetworkManager removes all the filters. If the &quot;tc&quot; setting is not present, NetworkManager doesn't touch the filters present on the interface." /></setting><setting name="team" description="Teaming Settings" name_upper="TEAM"><property name="config" name_upper="CONFIG" type="string" description="The JSON configuration for the team network interface.  The property should contain raw JSON configuration data suitable for teamd, because the value is passed directly to teamd. If not specified, the default configuration is used.  See man teamd.conf for the format details." /><property name="link-watchers" name_upper="LINK_WATCHERS" type="array of vardict" description="Link watchers configuration for the connection: each link watcher is defined by a dictionary, whose keys depend upon the selected link watcher. Available link watchers are 'ethtool', 'nsna_ping' and 'arp_ping' and it is specified in the dictionary with the key 'name'. Available keys are:   ethtool: 'delay-up', 'delay-down', 'init-wait'; nsna_ping: 'init-wait', 'interval', 'missed-max', 'target-host'; arp_ping: all the ones in nsna_ping and 'source-host', 'validate-active', 'validate-inactive', 'send-always'. See teamd.conf man for more details." /><property name="mcast-rejoin-count" name_upper="MCAST_REJOIN_COUNT" type="int32" default="-1" description="Corresponds to the teamd mcast_rejoin.count." /><property name="mcast-rejoin-interval" name_upper="MCAST_REJOIN_INTERVAL" type="int32" default="-1" description="Corresponds to the teamd mcast_rejoin.interval." /><property name="notify-peers-count" name_upper="NOTIFY_PEERS_COUNT" type="int32" default="-1" description="Corresponds to the teamd notify_peers.count." /><property name="notify-peers-interval" name_upper="NOTIFY_PEERS_INTERVAL" type="int32" default="-1" description="Corresponds to the teamd notify_peers.interval." /><property name="runner" name_upper="RUNNER" type="string" description="Corresponds to the teamd runner.name. Permitted values are: &quot;roundrobin&quot;, &quot;broadcast&quot;, &quot;activebackup&quot;, &quot;loadbalance&quot;, &quot;lacp&quot;, &quot;random&quot;." /><property name="runner-active" name_upper="RUNNER_ACTIVE" type="boolean" default="TRUE" description="Corresponds to the teamd runner.active." /><property name="runner-agg-select-policy" name_upper="RUNNER_AGG_SELECT_POLICY" type="string" description="Corresponds to the teamd runner.agg_select_policy." /><property name="runner-fast-rate" name_upper="RUNNER_FAST_RATE" type="boolean" default="FALSE" description="Corresponds to the teamd runner.fast_rate." /><property name="runner-hwaddr-policy" name_upper="RUNNER_HWADDR_POLICY" type="string" description="Corresponds to the teamd runner.hwaddr_policy." /><property name="runner-min-ports" name_upper="RUNNER_MIN_PORTS" type="int32" default="-1" description="Corresponds to the teamd runner.min_ports." /><property name="runner-sys-prio" name_upper="RUNNER_SYS_PRIO" type="int32" default="-1" description="Corresponds to the teamd runner.sys_prio." /><property name="runner-tx-balancer" name_upper="RUNNER_TX_BALANCER" type="string" description="Corresponds to the teamd runner.tx_balancer.name." /><property name="runner-tx-balancer-interval" name_upper="RUNNER_TX_BALANCER_INTERVAL" type="int32" default="-1" description="Corresponds to the teamd runner.tx_balancer.interval." /><property name="runner-tx-hash" name_upper="RUNNER_TX_HASH" type="array of string" description="Corresponds to the teamd runner.tx_hash." /></setting><setting name="team-port" description="Team Port Settings" name_upper="TEAM_PORT"><property name="config" name_upper="CONFIG" type="string" description="The JSON configuration for the team port. The property should contain raw JSON configuration data suitable for teamd, because the value is passed directly to teamd. If not specified, the default configuration is used. See man teamd.conf for the format details." /><property name="lacp-key" name_upper="LACP_KEY" type="int32" default="-1" description="Corresponds to the teamd ports.PORTIFNAME.lacp_key." /><property name="lacp-prio" name_upper="LACP_PRIO" type="int32" default="-1" description="Corresponds to the teamd ports.PORTIFNAME.lacp_prio." /><property name="link-watchers" name_upper="LINK_WATCHERS" type="array of vardict" description="Link watchers configuration for the connection: each link watcher is defined by a dictionary, whose keys depend upon the selected link watcher. Available link watchers are 'ethtool', 'nsna_ping' and 'arp_ping' and it is specified in the dictionary with the key 'name'. Available keys are:   ethtool: 'delay-up', 'delay-down', 'init-wait'; nsna_ping: 'init-wait', 'interval', 'missed-max', 'target-host'; arp_ping: all the ones in nsna_ping and 'source-host', 'validate-active', 'validate-inactive', 'send-always'. See teamd.conf man for more details." /><property name="prio" name_upper="PRIO" type="int32" default="0" description="Corresponds to the teamd ports.PORTIFNAME.prio." /><property name="queue-id" name_upper="QUEUE_ID" type="int32" default="-1" description="Corresponds to the teamd ports.PORTIFNAME.queue_id. When set to -1 means the parameter is skipped from the json config." /><property name="sticky" name_upper="STICKY" type="boolean" default="FALSE" description="Corresponds to the teamd ports.PORTIFNAME.sticky." /></setting><setting name="tun" description="Tunnel Settings" name_upper="TUN"><property name="group" name_upper="GROUP" type="string" description="The group ID which will own the device. If set to NULL everyone will be able to use the device." /><property name="mode" name_upper="MODE" type="uint32" default="1" description="The operating mode of the virtual device. Allowed values are NM_SETTING_TUN_MODE_TUN (1) to create a layer 3 device and NM_SETTING_TUN_MODE_TAP (2) to create an Ethernet-like layer 2 one." /><property name="multi-queue" name_upper="MULTI_QUEUE" type="boolean" default="FALSE" description="If the property is set to TRUE, the interface will support multiple file descriptors (queues) to parallelize packet sending or receiving. Otherwise, the interface will only support a single queue." /><property name="owner" name_upper="OWNER" type="string" description="The user ID which will own the device. If set to NULL everyone will be able to use the device." /><property name="pi" name_upper="PI" type="boolean" default="FALSE" description="If TRUE the interface will prepend a 4 byte header describing the physical interface to the packets." /><property name="vnet-hdr" name_upper="VNET_HDR" type="boolean" default="FALSE" description="If TRUE the IFF_VNET_HDR the tunnel packets will include a virtio network header." /></setting><setting name="user" description="General User Profile Settings" name_upper="USER"><property name="data" name_upper="DATA" type="dict of string to string" default="{}" description="A dictionary of key/value pairs with user data. This data is ignored by NetworkManager and can be used at the users discretion. The keys only support a strict ascii format, but the values can be arbitrary UTF8 strings up to a certain length." /></setting><setting name="vlan" description="VLAN Settings" name_upper="VLAN"><property name="egress-priority-map" name_upper="EGRESS_PRIORITY_MAP" type="array of string" description="For outgoing packets, a list of mappings from Linux SKB priorities to 802.1p priorities.  The mapping is given in the format &quot;from:to&quot; where both &quot;from&quot; and &quot;to&quot; are unsigned integers, ie &quot;7:3&quot;." /><property name="flags" name_upper="FLAGS" type="NMVlanFlags (uint32)" description="One or more flags which control the behavior and features of the VLAN interface.  Flags include NM_VLAN_FLAG_REORDER_HEADERS (0x1) (reordering of output packet headers), NM_VLAN_FLAG_GVRP (0x2) (use of the GVRP protocol), and NM_VLAN_FLAG_LOOSE_BINDING (0x4) (loose binding of the interface to its master device's operating state). NM_VLAN_FLAG_MVRP (0x8) (use of the MVRP protocol). The default value of this property is NM_VLAN_FLAG_REORDER_HEADERS, but it used to be 0. To preserve backward compatibility, the default-value in the D-Bus API continues to be 0 and a missing property on D-Bus is still considered as 0." /><property name="id" name_upper="ID" type="uint32" default="0" description="The VLAN identifier that the interface created by this connection should be assigned. The valid range is from 0 to 4094, without the reserved id 4095." /><property name="ingress-priority-map" name_upper="INGRESS_PRIORITY_MAP" type="array of string" description="For incoming packets, a list of mappings from 802.1p priorities to Linux SKB priorities.  The mapping is given in the format &quot;from:to&quot; where both &quot;from&quot; and &quot;to&quot; are unsigned integers, ie &quot;7:3&quot;." /><property name="parent" name_upper="PARENT" type="string" description="If given, specifies the parent interface name or parent connection UUID from which this VLAN interface should be created.  If this property is not specified, the connection must contain an &quot;802-3-ethernet&quot; setting with a &quot;mac-address&quot; property." /></setting><setting name="vpn" description="VPN Settings" name_upper="VPN"><property name="data" name_upper="DATA" type="dict of string to string" default="{}" description="Dictionary of key/value pairs of VPN plugin specific data.  Both keys and values must be strings." /><property name="persistent" name_upper="PERSISTENT" type="boolean" default="FALSE" description="If the VPN service supports persistence, and this property is TRUE, the VPN will attempt to stay connected across link changes and outages, until explicitly disconnected." /><property name="secrets" name_upper="SECRETS" type="dict of string to string" default="{}" description="Dictionary of key/value pairs of VPN plugin specific secrets like passwords or private keys.  Both keys and values must be strings." /><property name="service-type" name_upper="SERVICE_TYPE" type="string" description="D-Bus service name of the VPN plugin that this setting uses to connect to its network.  i.e. org.freedesktop.NetworkManager.vpnc for the vpnc plugin." /><property name="timeout" name_upper="TIMEOUT" type="uint32" default="0" description="Timeout for the VPN service to establish the connection. Some services may take quite a long time to connect. Value of 0 means a default timeout, which is 60 seconds (unless overridden by vpn.timeout in configuration file). Values greater than zero mean timeout in seconds." /><property name="user-name" name_upper="USER_NAME" type="string" description="If the VPN connection requires a user name for authentication, that name should be provided here.  If the connection is available to more than one user, and the VPN requires each user to supply a different name, then leave this property empty.  If this property is empty, NetworkManager will automatically supply the username of the user which requested the VPN connection." /></setting><setting name="vrf" description="VRF settings" name_upper="VRF"><property name="table" name_upper="TABLE" type="uint32" default="0" description="The routing table for this VRF." /></setting><setting name="vxlan" description="VXLAN Settings" name_upper="VXLAN"><property name="ageing" name_upper="AGEING" type="uint32" default="300" description="Specifies the lifetime in seconds of FDB entries learnt by the kernel." /><property name="destination-port" name_upper="DESTINATION_PORT" type="uint32" default="8472" description="Specifies the UDP destination port to communicate to the remote VXLAN tunnel endpoint." /><property name="id" name_upper="ID" type="uint32" default="0" description="Specifies the VXLAN Network Identifier (or VXLAN Segment Identifier) to use." /><property name="l2-miss" name_upper="L2_MISS" type="boolean" default="FALSE" description="Specifies whether netlink LL ADDR miss notifications are generated." /><property name="l3-miss" name_upper="L3_MISS" type="boolean" default="FALSE" description="Specifies whether netlink IP ADDR miss notifications are generated." /><property name="learning" name_upper="LEARNING" type="boolean" default="TRUE" description="Specifies whether unknown source link layer addresses and IP addresses are entered into the VXLAN device forwarding database." /><property name="limit" name_upper="LIMIT" type="uint32" default="0" description="Specifies the maximum number of FDB entries. A value of zero means that the kernel will store unlimited entries." /><property name="local" name_upper="LOCAL" type="string" description="If given, specifies the source IP address to use in outgoing packets." /><property name="parent" name_upper="PARENT" type="string" description="If given, specifies the parent interface name or parent connection UUID." /><property name="proxy" name_upper="PROXY" type="boolean" default="FALSE" description="Specifies whether ARP proxy is turned on." /><property name="remote" name_upper="REMOTE" type="string" description="Specifies the unicast destination IP address to use in outgoing packets when the destination link layer address is not known in the VXLAN device forwarding database, or the multicast IP address to join." /><property name="rsc" name_upper="RSC" type="boolean" default="FALSE" description="Specifies whether route short circuit is turned on." /><property name="source-port-max" name_upper="SOURCE_PORT_MAX" type="uint32" default="0" description="Specifies the maximum UDP source port to communicate to the remote VXLAN tunnel endpoint." /><property name="source-port-min" name_upper="SOURCE_PORT_MIN" type="uint32" default="0" description="Specifies the minimum UDP source port to communicate to the remote VXLAN tunnel endpoint." /><property name="tos" name_upper="TOS" type="uint32" default="0" description="Specifies the TOS value to use in outgoing packets." /><property name="ttl" name_upper="TTL" type="uint32" default="0" description="Specifies the time-to-live value to use in outgoing packets." /></setting><setting name="wifi-p2p" description="Wi-Fi P2P Settings" name_upper="WIFI_P2P"><property name="peer" name_upper="PEER" type="string" description="The P2P device that should be connected to. Currently, this is the only way to create or join a group." /><property name="wfd-ies" name_upper="WFD_IES" type="byte array" description="The Wi-Fi Display (WFD) Information Elements (IEs) to set. Wi-Fi Display requires a protocol specific information element to be set in certain Wi-Fi frames. These can be specified here for the purpose of establishing a connection. This setting is only useful when implementing a Wi-Fi Display client." /><property name="wps-method" name_upper="WPS_METHOD" type="uint32" default="0" description="Flags indicating which mode of WPS is to be used. There's little point in changing the default setting as NetworkManager will automatically determine the best method to use." /></setting><setting name="wimax" description="WiMax Settings" name_upper="WIMAX"><property name="mac-address" name_upper="MAC_ADDRESS" type="byte array" description="If specified, this connection will only apply to the WiMAX device whose MAC address matches. This property does not change the MAC address of the device (known as MAC spoofing). Deprecated: 1" /><property name="network-name" name_upper="NETWORK_NAME" type="string" description="Network Service Provider (NSP) name of the WiMAX network this connection should use. Deprecated: 1" /></setting><setting name="802-3-ethernet" description="Wired Ethernet Settings" name_upper="WIRED"><property name="accept-all-mac-addresses" name_upper="ACCEPT_ALL_MAC_ADDRESSES" type="NMTernary (int32)" description="When TRUE, setup the interface to accept packets for all MAC addresses. This is enabling the kernel interface flag IFF_PROMISC. When FALSE, the interface will only accept the packets with the interface destination mac address or broadcast." /><property name="auto-negotiate" name_upper="AUTO_NEGOTIATE" type="boolean" default="FALSE" description="When TRUE, enforce auto-negotiation of speed and duplex mode. If &quot;speed&quot; and &quot;duplex&quot; properties are both specified, only that single mode will be advertised and accepted during the link auto-negotiation process: this works only for BASE-T 802.3 specifications and is useful for enforcing gigabits modes, as in these cases link negotiation is mandatory. When FALSE, &quot;speed&quot; and &quot;duplex&quot; properties should be both set or link configuration will be skipped." /><property name="cloned-mac-address" name_upper="CLONED_MAC_ADDRESS" type="byte array" description="If specified, request that the device use this MAC address instead. This is known as MAC cloning or spoofing. Beside explicitly specifying a MAC address, the special values &quot;preserve&quot;, &quot;permanent&quot;, &quot;random&quot; and &quot;stable&quot; are supported. &quot;preserve&quot; means not to touch the MAC address on activation. &quot;permanent&quot; means to use the permanent hardware address if the device has one (otherwise this is treated as &quot;preserve&quot;). &quot;random&quot; creates a random MAC address on each connect. &quot;stable&quot; creates a hashed MAC address based on connection.stable-id and a machine dependent key. If unspecified, the value can be overwritten via global defaults, see manual of NetworkManager.conf. If still unspecified, it defaults to &quot;preserve&quot; (older versions of NetworkManager may use a different default value). On D-Bus, this field is expressed as &quot;assigned-mac-address&quot; or the deprecated &quot;cloned-mac-address&quot;." /><property name="duplex" name_upper="DUPLEX" type="string" description="When a value is set, either &quot;half&quot; or &quot;full&quot;, configures the device to use the specified duplex mode. If &quot;auto-negotiate&quot; is &quot;yes&quot; the specified duplex mode will be the only one advertised during link negotiation: this works only for BASE-T 802.3 specifications and is useful for enforcing gigabits modes, as in these cases link negotiation is mandatory. If the value is unset (the default), the link configuration will be either skipped (if &quot;auto-negotiate&quot; is &quot;no&quot;, the default) or will be auto-negotiated (if &quot;auto-negotiate&quot; is &quot;yes&quot;) and the local device will advertise all the supported duplex modes. Must be set together with the &quot;speed&quot; property if specified. Before specifying a duplex mode be sure your device supports it." /><property name="generate-mac-address-mask" name_upper="GENERATE_MAC_ADDRESS_MASK" type="string" description="With &quot;cloned-mac-address&quot; setting &quot;random&quot; or &quot;stable&quot;, by default all bits of the MAC address are scrambled and a locally-administered, unicast MAC address is created. This property allows to specify that certain bits are fixed. Note that the least significant bit of the first MAC address will always be unset to create a unicast MAC address. If the property is NULL, it is eligible to be overwritten by a default connection setting. If the value is still NULL or an empty string, the default is to create a locally-administered, unicast MAC address. If the value contains one MAC address, this address is used as mask. The set bits of the mask are to be filled with the current MAC address of the device, while the unset bits are subject to randomization. Setting &quot;FE:FF:FF:00:00:00&quot; means to preserve the OUI of the current MAC address and only randomize the lower 3 bytes using the &quot;random&quot; or &quot;stable&quot; algorithm. If the value contains one additional MAC address after the mask, this address is used instead of the current MAC address to fill the bits that shall not be randomized. For example, a value of &quot;FE:FF:FF:00:00:00 68:F7:28:00:00:00&quot; will set the OUI of the MAC address to 68:F7:28, while the lower bits are randomized. A value of &quot;02:00:00:00:00:00 00:00:00:00:00:00&quot; will create a fully scrambled globally-administered, burned-in MAC address. If the value contains more than one additional MAC addresses, one of them is chosen randomly. For example, &quot;02:00:00:00:00:00 00:00:00:00:00:00 02:00:00:00:00:00&quot; will create a fully scrambled MAC address, randomly locally or globally administered." /><property name="mac-address" name_upper="MAC_ADDRESS" type="byte array" description="If specified, this connection will only apply to the Ethernet device whose permanent MAC address matches. This property does not change the MAC address of the device (i.e. MAC spoofing)." /><property name="mac-address-blacklist" name_upper="MAC_ADDRESS_BLACKLIST" type="array of string" description="If specified, this connection will never apply to the Ethernet device whose permanent MAC address matches an address in the list.  Each MAC address is in the standard hex-digits-and-colons notation (00:11:22:33:44:55)." /><property name="mtu" name_upper="MTU" type="uint32" default="0" description="If non-zero, only transmit packets of the specified size or smaller, breaking larger packets up into multiple Ethernet frames." /><property name="port" name_upper="PORT" type="string" description="Specific port type to use if the device supports multiple attachment methods.  One of &quot;tp&quot; (Twisted Pair), &quot;aui&quot; (Attachment Unit Interface), &quot;bnc&quot; (Thin Ethernet) or &quot;mii&quot; (Media Independent Interface). If the device supports only one port type, this setting is ignored." /><property name="s390-nettype" name_upper="S390_NETTYPE" type="string" description="s390 network device type; one of &quot;qeth&quot;, &quot;lcs&quot;, or &quot;ctc&quot;, representing the different types of virtual network devices available on s390 systems." /><property name="s390-options" name_upper="S390_OPTIONS" type="dict of string to string" default="{}" description="Dictionary of key/value pairs of s390-specific device options.  Both keys and values must be strings.  Allowed keys include &quot;portno&quot;, &quot;layer2&quot;, &quot;portname&quot;, &quot;protocol&quot;, among others.  Key names must contain only alphanumeric characters (ie, [a-zA-Z0-9])." /><property name="s390-subchannels" name_upper="S390_SUBCHANNELS" type="array of string" description="Identifies specific subchannels that this network device uses for communication with z/VM or s390 host.  Like the &quot;mac-address&quot; property for non-z/VM devices, this property can be used to ensure this connection only applies to the network device that uses these subchannels.  The list should contain exactly 3 strings, and each string may only be composed of hexadecimal characters and the period (.) character." /><property name="speed" name_upper="SPEED" type="uint32" default="0" description="When a value greater than 0 is set, configures the device to use the specified speed. If &quot;auto-negotiate&quot; is &quot;yes&quot; the specified speed will be the only one advertised during link negotiation: this works only for BASE-T 802.3 specifications and is useful for enforcing gigabit speeds, as in this case link negotiation is mandatory. If the value is unset (0, the default), the link configuration will be either skipped (if &quot;auto-negotiate&quot; is &quot;no&quot;, the default) or will be auto-negotiated (if &quot;auto-negotiate&quot; is &quot;yes&quot;) and the local device will advertise all the supported speeds. In Mbit/s, ie 100 == 100Mbit/s. Must be set together with the &quot;duplex&quot; property when non-zero. Before specifying a speed value be sure your device supports it." /><property name="wake-on-lan" name_upper="WAKE_ON_LAN" type="uint32" default="1" description="The NMSettingWiredWakeOnLan options to enable. Not all devices support all options. May be any combination of NM_SETTING_WIRED_WAKE_ON_LAN_PHY (0x2), NM_SETTING_WIRED_WAKE_ON_LAN_UNICAST (0x4), NM_SETTING_WIRED_WAKE_ON_LAN_MULTICAST (0x8), NM_SETTING_WIRED_WAKE_ON_LAN_BROADCAST (0x10), NM_SETTING_WIRED_WAKE_ON_LAN_ARP (0x20), NM_SETTING_WIRED_WAKE_ON_LAN_MAGIC (0x40) or the special values NM_SETTING_WIRED_WAKE_ON_LAN_DEFAULT (0x1) (to use global settings) and NM_SETTING_WIRED_WAKE_ON_LAN_IGNORE (0x8000) (to disable management of Wake-on-LAN in NetworkManager)." /><property name="wake-on-lan-password" name_upper="WAKE_ON_LAN_PASSWORD" type="string" description="If specified, the password used with magic-packet-based Wake-on-LAN, represented as an Ethernet MAC address.  If NULL, no password will be required." /></setting><setting name="wireguard" description="WireGuard Settings" name_upper="WIREGUARD"><property name="fwmark" name_upper="FWMARK" type="uint32" default="0" description="The use of fwmark is optional and is by default off. Setting it to 0 disables it. Otherwise, it is a 32-bit fwmark for outgoing packets. Note that &quot;ip4-auto-default-route&quot; or &quot;ip6-auto-default-route&quot; enabled, implies to automatically choose a fwmark." /><property name="ip4-auto-default-route" name_upper="IP4_AUTO_DEFAULT_ROUTE" type="NMTernary (int32)" description="Whether to enable special handling of the IPv4 default route. If enabled, the IPv4 default route from wireguard.peer-routes will be placed to a dedicated routing-table and two policy routing rules will be added. The fwmark number is also used as routing-table for the default-route, and if fwmark is zero, an unused fwmark/table is chosen automatically. This corresponds to what wg-quick does with Table=auto and what WireGuard calls &quot;Improved Rule-based Routing&quot;. Note that for this automatism to work, you usually don't want to set ipv4.gateway, because that will result in a conflicting default route. Leaving this at the default will enable this option automatically if ipv4.never-default is not set and there are any peers that use a default-route as allowed-ips." /><property name="ip6-auto-default-route" name_upper="IP6_AUTO_DEFAULT_ROUTE" type="NMTernary (int32)" description="Like ip4-auto-default-route, but for the IPv6 default route." /><property name="listen-port" name_upper="LISTEN_PORT" type="uint32" default="0" description="The listen-port. If listen-port is not specified, the port will be chosen randomly when the interface comes up." /><property name="mtu" name_upper="MTU" type="uint32" default="0" description="If non-zero, only transmit packets of the specified size or smaller, breaking larger packets up into multiple fragments. If zero a default MTU is used. Note that contrary to wg-quick's MTU setting, this does not take into account the current routes at the time of activation." /><property name="peer-routes" name_upper="PEER_ROUTES" type="boolean" default="TRUE" description="Whether to automatically add routes for the AllowedIPs ranges of the peers. If TRUE (the default), NetworkManager will automatically add routes in the routing tables according to ipv4.route-table and ipv6.route-table. Usually you want this automatism enabled. If FALSE, no such routes are added automatically. In this case, the user may want to configure static routes in ipv4.routes and ipv6.routes, respectively. Note that if the peer's AllowedIPs is &quot;0.0.0.0/0&quot; or &quot;::/0&quot; and the profile's ipv4.never-default or ipv6.never-default setting is enabled, the peer route for this peer won't be added automatically." /><property name="private-key" name_upper="PRIVATE_KEY" type="string" description="The 256 bit private-key in base64 encoding." /><property name="private-key-flags" name_upper="PRIVATE_KEY_FLAGS" type="NMSettingSecretFlags (uint32)" description="Flags indicating how to handle the &quot;private-key&quot; property." /></setting><setting name="802-11-wireless" description="Wi-Fi Settings" name_upper="WIRELESS"><property name="ap-isolation" name_upper="AP_ISOLATION" type="NMTernary (int32)" description="Configures AP isolation, which prevents communication between wireless devices connected to this AP. This property can be set to a value different from NM_TERNARY_DEFAULT (-1) only when the interface is configured in AP mode. If set to NM_TERNARY_TRUE (1), devices are not able to communicate with each other. This increases security because it protects devices against attacks from other clients in the network. At the same time, it prevents devices to access resources on the same wireless networks as file shares, printers, etc. If set to NM_TERNARY_FALSE (0), devices can talk to each other. When set to NM_TERNARY_DEFAULT (-1), the global default is used; in case the global default is unspecified it is assumed to be NM_TERNARY_FALSE (0)." /><property name="band" name_upper="BAND" type="string" description="802.11 frequency band of the network.  One of &quot;a&quot; for 5GHz 802.11a or &quot;bg&quot; for 2.4GHz 802.11.  This will lock associations to the Wi-Fi network to the specific band, i.e. if &quot;a&quot; is specified, the device will not associate with the same network in the 2.4GHz band even if the network's settings are compatible.  This setting depends on specific driver capability and may not work with all drivers." /><property name="bssid" name_upper="BSSID" type="byte array" description="If specified, directs the device to only associate with the given access point.  This capability is highly driver dependent and not supported by all devices.  Note: this property does not control the BSSID used when creating an Ad-Hoc network and is unlikely to in the future." /><property name="channel" name_upper="CHANNEL" type="uint32" default="0" description="Wireless channel to use for the Wi-Fi connection.  The device will only join (or create for Ad-Hoc networks) a Wi-Fi network on the specified channel.  Because channel numbers overlap between bands, this property also requires the &quot;band&quot; property to be set." /><property name="cloned-mac-address" name_upper="CLONED_MAC_ADDRESS" type="byte array" description="If specified, request that the device use this MAC address instead. This is known as MAC cloning or spoofing. Beside explicitly specifying a MAC address, the special values &quot;preserve&quot;, &quot;permanent&quot;, &quot;random&quot; and &quot;stable&quot; are supported. &quot;preserve&quot; means not to touch the MAC address on activation. &quot;permanent&quot; means to use the permanent hardware address of the device. &quot;random&quot; creates a random MAC address on each connect. &quot;stable&quot; creates a hashed MAC address based on connection.stable-id and a machine dependent key. If unspecified, the value can be overwritten via global defaults, see manual of NetworkManager.conf. If still unspecified, it defaults to &quot;preserve&quot; (older versions of NetworkManager may use a different default value). On D-Bus, this field is expressed as &quot;assigned-mac-address&quot; or the deprecated &quot;cloned-mac-address&quot;." /><property name="generate-mac-address-mask" name_upper="GENERATE_MAC_ADDRESS_MASK" type="string" description="With &quot;cloned-mac-address&quot; setting &quot;random&quot; or &quot;stable&quot;, by default all bits of the MAC address are scrambled and a locally-administered, unicast MAC address is created. This property allows to specify that certain bits are fixed. Note that the least significant bit of the first MAC address will always be unset to create a unicast MAC address. If the property is NULL, it is eligible to be overwritten by a default connection setting. If the value is still NULL or an empty string, the default is to create a locally-administered, unicast MAC address. If the value contains one MAC address, this address is used as mask. The set bits of the mask are to be filled with the current MAC address of the device, while the unset bits are subject to randomization. Setting &quot;FE:FF:FF:00:00:00&quot; means to preserve the OUI of the current MAC address and only randomize the lower 3 bytes using the &quot;random&quot; or &quot;stable&quot; algorithm. If the value contains one additional MAC address after the mask, this address is used instead of the current MAC address to fill the bits that shall not be randomized. For example, a value of &quot;FE:FF:FF:00:00:00 68:F7:28:00:00:00&quot; will set the OUI of the MAC address to 68:F7:28, while the lower bits are randomized. A value of &quot;02:00:00:00:00:00 00:00:00:00:00:00&quot; will create a fully scrambled globally-administered, burned-in MAC address. If the value contains more than one additional MAC addresses, one of them is chosen randomly. For example, &quot;02:00:00:00:00:00 00:00:00:00:00:00 02:00:00:00:00:00&quot; will create a fully scrambled MAC address, randomly locally or globally administered." /><property name="hidden" name_upper="HIDDEN" type="boolean" default="FALSE" description="If TRUE, indicates that the network is a non-broadcasting network that hides its SSID. This works both in infrastructure and AP mode. In infrastructure mode, various workarounds are used for a more reliable discovery of hidden networks, such as probe-scanning the SSID.  However, these workarounds expose inherent insecurities with hidden SSID networks, and thus hidden SSID networks should be used with caution. In AP mode, the created network does not broadcast its SSID. Note that marking the network as hidden may be a privacy issue for you (in infrastructure mode) or client stations (in AP mode), as the explicit probe-scans are distinctly recognizable on the air." /><property name="mac-address" name_upper="MAC_ADDRESS" type="byte array" description="If specified, this connection will only apply to the Wi-Fi device whose permanent MAC address matches. This property does not change the MAC address of the device (i.e. MAC spoofing)." /><property name="mac-address-blacklist" name_upper="MAC_ADDRESS_BLACKLIST" type="array of string" description="A list of permanent MAC addresses of Wi-Fi devices to which this connection should never apply.  Each MAC address should be given in the standard hex-digits-and-colons notation (eg &quot;00:11:22:33:44:55&quot;)." /><property name="mac-address-randomization" name_upper="MAC_ADDRESS_RANDOMIZATION" type="uint32" default="0" description="One of NM_SETTING_MAC_RANDOMIZATION_DEFAULT (0) (never randomize unless the user has set a global default to randomize and the supplicant supports randomization),  NM_SETTING_MAC_RANDOMIZATION_NEVER (1) (never randomize the MAC address), or NM_SETTING_MAC_RANDOMIZATION_ALWAYS (2) (always randomize the MAC address). This property is deprecated for 'cloned-mac-address'. Deprecated: 1" /><property name="mode" name_upper="MODE" type="string" description="Wi-Fi network mode; one of &quot;infrastructure&quot;, &quot;mesh&quot;, &quot;adhoc&quot; or &quot;ap&quot;.  If blank, infrastructure is assumed." /><property name="mtu" name_upper="MTU" type="uint32" default="0" description="If non-zero, only transmit packets of the specified size or smaller, breaking larger packets up into multiple Ethernet frames." /><property name="powersave" name_upper="POWERSAVE" type="uint32" default="0" description="One of NM_SETTING_WIRELESS_POWERSAVE_DISABLE (2) (disable Wi-Fi power saving), NM_SETTING_WIRELESS_POWERSAVE_ENABLE (3) (enable Wi-Fi power saving), NM_SETTING_WIRELESS_POWERSAVE_IGNORE (1) (don't touch currently configure setting) or NM_SETTING_WIRELESS_POWERSAVE_DEFAULT (0) (use the globally configured value). All other values are reserved." /><property name="rate" name_upper="RATE" type="uint32" default="0" description="If non-zero, directs the device to only use the specified bitrate for communication with the access point.  Units are in Kb/s, ie 5500 = 5.5 Mbit/s.  This property is highly driver dependent and not all devices support setting a static bitrate." /><property name="seen-bssids" name_upper="SEEN_BSSIDS" type="array of string" description="A list of BSSIDs (each BSSID formatted as a MAC address like &quot;00:11:22:33:44:55&quot;) that have been detected as part of the Wi-Fi network.  NetworkManager internally tracks previously seen BSSIDs. The property is only meant for reading and reflects the BSSID list of NetworkManager. The changes you make to this property will not be preserved." /><property name="ssid" name_upper="SSID" type="byte array" description="SSID of the Wi-Fi network. Must be specified." /><property name="tx-power" name_upper="TX_POWER" type="uint32" default="0" description="If non-zero, directs the device to use the specified transmit power. Units are dBm.  This property is highly driver dependent and not all devices support setting a static transmit power." /><property name="wake-on-wlan" name_upper="WAKE_ON_WLAN" type="uint32" default="1" description="The NMSettingWirelessWakeOnWLan options to enable. Not all devices support all options. May be any combination of NM_SETTING_WIRELESS_WAKE_ON_WLAN_ANY (0x2), NM_SETTING_WIRELESS_WAKE_ON_WLAN_DISCONNECT (0x4), NM_SETTING_WIRELESS_WAKE_ON_WLAN_MAGIC (0x8), NM_SETTING_WIRELESS_WAKE_ON_WLAN_GTK_REKEY_FAILURE (0x10), NM_SETTING_WIRELESS_WAKE_ON_WLAN_EAP_IDENTITY_REQUEST (0x20), NM_SETTING_WIRELESS_WAKE_ON_WLAN_4WAY_HANDSHAKE (0x40), NM_SETTING_WIRELESS_WAKE_ON_WLAN_RFKILL_RELEASE (0x80), NM_SETTING_WIRELESS_WAKE_ON_WLAN_TCP (0x100) or the special values NM_SETTING_WIRELESS_WAKE_ON_WLAN_DEFAULT (0x1) (to use global settings) and NM_SETTING_WIRELESS_WAKE_ON_WLAN_IGNORE (0x8000) (to disable management of Wake-on-LAN in NetworkManager)." /></setting><setting name="802-11-wireless-security" description="Wi-Fi Security Settings" name_upper="WIRELESS_SECURITY"><property name="auth-alg" name_upper="AUTH_ALG" type="string" description="When WEP is used (ie, key-mgmt = &quot;none&quot; or &quot;ieee8021x&quot;) indicate the 802.11 authentication algorithm required by the AP here.  One of &quot;open&quot; for Open System, &quot;shared&quot; for Shared Key, or &quot;leap&quot; for Cisco LEAP.  When using Cisco LEAP (ie, key-mgmt = &quot;ieee8021x&quot; and auth-alg = &quot;leap&quot;) the &quot;leap-username&quot; and &quot;leap-password&quot; properties must be specified." /><property name="fils" name_upper="FILS" type="int32" default="0" description="Indicates whether Fast Initial Link Setup (802.11ai) must be enabled for the connection.  One of NM_SETTING_WIRELESS_SECURITY_FILS_DEFAULT (0) (use global default value), NM_SETTING_WIRELESS_SECURITY_FILS_DISABLE (1) (disable FILS), NM_SETTING_WIRELESS_SECURITY_FILS_OPTIONAL (2) (enable FILS if the supplicant and the access point support it) or NM_SETTING_WIRELESS_SECURITY_FILS_REQUIRED (3) (enable FILS and fail if not supported).  When set to NM_SETTING_WIRELESS_SECURITY_FILS_DEFAULT (0) and no global default is set, FILS will be optionally enabled." /><property name="group" name_upper="GROUP" type="array of string" description="A list of group/broadcast encryption algorithms which prevents connections to Wi-Fi networks that do not utilize one of the algorithms in the list.  For maximum compatibility leave this property empty.  Each list element may be one of &quot;wep40&quot;, &quot;wep104&quot;, &quot;tkip&quot;, or &quot;ccmp&quot;." /><property name="key-mgmt" name_upper="KEY_MGMT" type="string" description="Key management used for the connection. One of &quot;none&quot; (WEP or no password protection), &quot;ieee8021x&quot; (Dynamic WEP), &quot;owe&quot; (Opportunistic Wireless Encryption), &quot;wpa-psk&quot; (WPA2 + WPA3 personal), &quot;sae&quot; (WPA3 personal only), &quot;wpa-eap&quot; (WPA2 + WPA3 enterprise) or &quot;wpa-eap-suite-b-192&quot; (WPA3 enterprise only). This property must be set for any Wi-Fi connection that uses security." /><property name="leap-password" name_upper="LEAP_PASSWORD" type="string" description="The login password for legacy LEAP connections (ie, key-mgmt = &quot;ieee8021x&quot; and auth-alg = &quot;leap&quot;)." /><property name="leap-password-flags" name_upper="LEAP_PASSWORD_FLAGS" type="NMSettingSecretFlags (uint32)" description="Flags indicating how to handle the &quot;leap-password&quot; property." /><property name="leap-username" name_upper="LEAP_USERNAME" type="string" description="The login username for legacy LEAP connections (ie, key-mgmt = &quot;ieee8021x&quot; and auth-alg = &quot;leap&quot;)." /><property name="pairwise" name_upper="PAIRWISE" type="array of string" description="A list of pairwise encryption algorithms which prevents connections to Wi-Fi networks that do not utilize one of the algorithms in the list. For maximum compatibility leave this property empty.  Each list element may be one of &quot;tkip&quot; or &quot;ccmp&quot;." /><property name="pmf" name_upper="PMF" type="int32" default="0" description="Indicates whether Protected Management Frames (802.11w) must be enabled for the connection.  One of NM_SETTING_WIRELESS_SECURITY_PMF_DEFAULT (0) (use global default value), NM_SETTING_WIRELESS_SECURITY_PMF_DISABLE (1) (disable PMF), NM_SETTING_WIRELESS_SECURITY_PMF_OPTIONAL (2) (enable PMF if the supplicant and the access point support it) or NM_SETTING_WIRELESS_SECURITY_PMF_REQUIRED (3) (enable PMF and fail if not supported).  When set to NM_SETTING_WIRELESS_SECURITY_PMF_DEFAULT (0) and no global default is set, PMF will be optionally enabled." /><property name="proto" name_upper="PROTO" type="array of string" description="List of strings specifying the allowed WPA protocol versions to use. Each element may be one &quot;wpa&quot; (allow WPA) or &quot;rsn&quot; (allow WPA2/RSN).  If not specified, both WPA and RSN connections are allowed." /><property name="psk" name_upper="PSK" type="string" description="Pre-Shared-Key for WPA networks. For WPA-PSK, it's either an ASCII passphrase of 8 to 63 characters that is (as specified in the 802.11i standard) hashed to derive the actual key, or the key in form of 64 hexadecimal character. The WPA3-Personal networks use a passphrase of any length for SAE authentication." /><property name="psk-flags" name_upper="PSK_FLAGS" type="NMSettingSecretFlags (uint32)" description="Flags indicating how to handle the &quot;psk&quot; property." /><property name="wep-key-flags" name_upper="WEP_KEY_FLAGS" type="NMSettingSecretFlags (uint32)" description="Flags indicating how to handle the &quot;wep-key0&quot;, &quot;wep-key1&quot;, &quot;wep-key2&quot;, and &quot;wep-key3&quot; properties." /><property name="wep-key-type" name_upper="WEP_KEY_TYPE" type="NMWepKeyType (uint32)" description="Controls the interpretation of WEP keys.  Allowed values are NM_WEP_KEY_TYPE_KEY (1), in which case the key is either a 10- or 26-character hexadecimal string, or a 5- or 13-character ASCII password; or NM_WEP_KEY_TYPE_PASSPHRASE (2), in which case the passphrase is provided as a string and will be hashed using the de-facto MD5 method to derive the actual WEP key." /><property name="wep-key0" name_upper="WEP_KEY0" type="string" description="Index 0 WEP key.  This is the WEP key used in most networks.  See the &quot;wep-key-type&quot; property for a description of how this key is interpreted." /><property name="wep-key1" name_upper="WEP_KEY1" type="string" description="Index 1 WEP key.  This WEP index is not used by most networks.  See the &quot;wep-key-type&quot; property for a description of how this key is interpreted." /><property name="wep-key2" name_upper="WEP_KEY2" type="string" description="Index 2 WEP key.  This WEP index is not used by most networks.  See the &quot;wep-key-type&quot; property for a description of how this key is interpreted." /><property name="wep-key3" name_upper="WEP_KEY3" type="string" description="Index 3 WEP key.  This WEP index is not used by most networks.  See the &quot;wep-key-type&quot; property for a description of how this key is interpreted." /><property name="wep-tx-keyidx" name_upper="WEP_TX_KEYIDX" type="uint32" default="0" description="When static WEP is used (ie, key-mgmt = &quot;none&quot;) and a non-default WEP key index is used by the AP, put that WEP key index here.  Valid values are 0 (default key) through 3.  Note that some consumer access points (like the Linksys WRT54G) number the keys 1 - 4." /><property name="wps-method" name_upper="WPS_METHOD" type="uint32" default="0" description="Flags indicating which mode of WPS is to be used if any. There's little point in changing the default setting as NetworkManager will automatically determine whether it's feasible to start WPS enrollment from the Access Point capabilities. WPS can be disabled by setting this property to a value of 1." /></setting><setting name="wpan" description="IEEE 802.15.4 (WPAN) MAC Settings" name_upper="WPAN"><property name="channel" name_upper="CHANNEL" type="int32" default="-1" description="IEEE 802.15.4 channel. A positive integer or -1, meaning &quot;do not set, use whatever the device is already set to&quot;." /><property name="mac-address" name_upper="MAC_ADDRESS" type="string" description="If specified, this connection will only apply to the IEEE 802.15.4 (WPAN) MAC layer device whose permanent MAC address matches." /><property name="page" name_upper="PAGE" type="int32" default="-1" description="IEEE 802.15.4 channel page. A positive integer or -1, meaning &quot;do not set, use whatever the device is already set to&quot;." /><property name="pan-id" name_upper="PAN_ID" type="uint32" default="65535" description="IEEE 802.15.4 Personal Area Network (PAN) identifier." /><property name="short-address" name_upper="SHORT_ADDRESS" type="uint32" default="65535" description="Short IEEE 802.15.4 address to be used within a restricted environment." /></setting><setting name="hostname" description="Hostname settings" name_upper="HOSTNAME"><property name="from-dhcp" name_upper="FROM_DHCP" type="NMTernary (int32)" description="Whether the system hostname can be determined from DHCP on this connection. When set to NM_TERNARY_DEFAULT (-1), the value from global configuration is used. If the property doesn't have a value in the global configuration, NetworkManager assumes the value to be NM_TERNARY_TRUE (1)." /><property name="from-dns-lookup" name_upper="FROM_DNS_LOOKUP" type="NMTernary (int32)" description="Whether the system hostname can be determined from reverse DNS lookup of addresses on this device. When set to NM_TERNARY_DEFAULT (-1), the value from global configuration is used. If the property doesn't have a value in the global configuration, NetworkManager assumes the value to be NM_TERNARY_TRUE (1)." /><property name="only-from-default" name_upper="ONLY_FROM_DEFAULT" type="NMTernary (int32)" description="If set to NM_TERNARY_TRUE (1), NetworkManager attempts to get the hostname via DHCPv4/DHCPv6 or reverse DNS lookup on this device only when the device has the default route for the given address family (IPv4/IPv6). If set to NM_TERNARY_FALSE (0), the hostname can be set from this device even if it doesn't have the default route. When set to NM_TERNARY_DEFAULT (-1), the value from global configuration is used. If the property doesn't have a value in the global configuration, NetworkManager assumes the value to be NM_TERNARY_FALSE (0)." /><property name="priority" name_upper="PRIORITY" type="int32" default="0" description="The relative priority of this connection to determine the system hostname. A lower numerical value is better (higher priority).  A connection with higher priority is considered before connections with lower priority. If the value is zero, it can be overridden by a global value from NetworkManager configuration. If the property doesn't have a value in the global configuration, the value is assumed to be 100. Negative values have the special effect of excluding other connections with a greater numerical priority value; so in presence of at least one negative priority, only connections with the lowest priority value will be used to determine the hostname." /></setting><setting name="ovs-external-ids" description="OVS External IDs Settings" name_upper="OVS_EXTERNAL_IDS"><property name="data" name_upper="DATA" type="dict of string to string" default="{}" description="A dictionary of key/value pairs with exernal-ids for OVS." /></setting><setting name="veth" description="Veth Settings" name_upper="VETH"><property name="peer" name_upper="PEER" type="string" description="This property specifies the peer interface name of the veth. This property is mandatory." /></setting></nm-setting-docs>
\ No newline at end of file
+<nm-setting-docs><setting name="connection" description="General Connection Profile Settings" name_upper="CONNECTION"><property name="auth-retries" name_upper="AUTH_RETRIES" type="int32" default="-1" description="The number of retries for the authentication. Zero means to try indefinitely; -1 means to use a global default. If the global default is not set, the authentication retries for 3 times before failing the connection. Currently, this only applies to 802-1x authentication." /><property name="autoconnect" name_upper="AUTOCONNECT" type="boolean" default="TRUE" description="Whether or not the connection should be automatically connected by NetworkManager when the resources for the connection are available. TRUE to automatically activate the connection, FALSE to require manual intervention to activate the connection. Note that autoconnect is not implemented for VPN profiles. See &quot;secondaries&quot; as an alternative to automatically connect VPN profiles." /><property name="autoconnect-priority" name_upper="AUTOCONNECT_PRIORITY" type="int32" default="0" description="The autoconnect priority. If the connection is set to autoconnect, connections with higher priority will be preferred. Defaults to 0. The higher number means higher priority." /><property name="autoconnect-retries" name_upper="AUTOCONNECT_RETRIES" type="int32" default="-1" description="The number of times a connection should be tried when autoactivating before giving up. Zero means forever, -1 means the global default (4 times if not overridden). Setting this to 1 means to try activation only once before blocking autoconnect. Note that after a timeout, NetworkManager will try to autoconnect again." /><property name="autoconnect-slaves" name_upper="AUTOCONNECT_SLAVES" type="NMSettingConnectionAutoconnectSlaves (int32)" description="Whether or not slaves of this connection should be automatically brought up when NetworkManager activates this connection. This only has a real effect for master connections. The properties &quot;autoconnect&quot;, &quot;autoconnect-priority&quot; and &quot;autoconnect-retries&quot; are unrelated to this setting. The permitted values are: 0: leave slave connections untouched, 1: activate all the slave connections with this connection, -1: default. If -1 (default) is set, global connection.autoconnect-slaves is read to determine the real value. If it is default as well, this fallbacks to 0." /><property name="gateway-ping-timeout" name_upper="GATEWAY_PING_TIMEOUT" type="uint32" default="0" description="If greater than zero, delay success of IP addressing until either the timeout is reached, or an IP gateway replies to a ping." /><property name="id" name_upper="ID" type="string" description="A human readable unique identifier for the connection, like &quot;Work Wi-Fi&quot; or &quot;T-Mobile 3G&quot;." /><property name="interface-name" name_upper="INTERFACE_NAME" type="string" description="The name of the network interface this connection is bound to. If not set, then the connection can be attached to any interface of the appropriate type (subject to restrictions imposed by other settings). For software devices this specifies the name of the created device. For connection types where interface names cannot easily be made persistent (e.g. mobile broadband or USB Ethernet), this property should not be used. Setting this property restricts the interfaces a connection can be used with, and if interface names change or are reordered the connection may be applied to the wrong interface." /><property name="lldp" name_upper="LLDP" type="int32" default="-1" description="Whether LLDP is enabled for the connection." /><property name="llmnr" name_upper="LLMNR" type="int32" default="-1" description="Whether Link-Local Multicast Name Resolution (LLMNR) is enabled for the connection. LLMNR is a protocol based on the Domain Name System (DNS) packet format that allows both IPv4 and IPv6 hosts to perform name resolution for hosts on the same local link. The permitted values are: &quot;yes&quot; (2) register hostname and resolving for the connection, &quot;no&quot; (0) disable LLMNR for the interface, &quot;resolve&quot; (1) do not register hostname but allow resolving of LLMNR host names If unspecified, &quot;default&quot; ultimately depends on the DNS plugin (which for systemd-resolved currently means &quot;yes&quot;). This feature requires a plugin which supports LLMNR. Otherwise, the setting has no effect. One such plugin is dns-systemd-resolved." /><property name="master" name_upper="MASTER" type="string" description="Interface name of the master device or UUID of the master connection." /><property name="mdns" name_upper="MDNS" type="int32" default="-1" description="Whether mDNS is enabled for the connection. The permitted values are: &quot;yes&quot; (2) register hostname and resolving for the connection, &quot;no&quot; (0) disable mDNS for the interface, &quot;resolve&quot; (1) do not register hostname but allow resolving of mDNS host names and &quot;default&quot; (-1) to allow lookup of a global default in NetworkManager.conf. If unspecified, &quot;default&quot; ultimately depends on the DNS plugin (which for systemd-resolved currently means &quot;no&quot;). This feature requires a plugin which supports mDNS. Otherwise, the setting has no effect. One such plugin is dns-systemd-resolved." /><property name="metered" name_upper="METERED" type="NMMetered (int32)" description="Whether the connection is metered. When updating this property on a currently activated connection, the change takes effect immediately." /><property name="mud-url" name_upper="MUD_URL" type="string" description="If configured, set to a Manufacturer Usage Description (MUD) URL that points to manufacturer-recommended network policies for IoT devices. It is transmitted as a DHCPv4 or DHCPv6 option. The value must be a valid URL starting with &quot;https://&quot;. The special value &quot;none&quot; is allowed to indicate that no MUD URL is used. If the per-profile value is unspecified (the default), a global connection default gets consulted. If still unspecified, the ultimate default is &quot;none&quot;." /><property name="multi-connect" name_upper="MULTI_CONNECT" type="int32" default="0" description="Specifies whether the profile can be active multiple times at a particular moment. The value is of type NMConnectionMultiConnect." /><property name="permissions" name_upper="PERMISSIONS" type="array of string" description="An array of strings defining what access a given user has to this connection.  If this is NULL or empty, all users are allowed to access this connection; otherwise users are allowed if and only if they are in this list.  When this is not empty, the connection can be active only when one of the specified users is logged into an active session.  Each entry is of the form &quot;[type]:[id]:[reserved]&quot;; for example, &quot;user:dcbw:blah&quot;. At this time only the &quot;user&quot; [type] is allowed.  Any other values are ignored and reserved for future use.  [id] is the username that this permission refers to, which may not contain the &quot;:&quot; character. Any [reserved] information present must be ignored and is reserved for future use.  All of [type], [id], and [reserved] must be valid UTF-8." /><property name="read-only" name_upper="READ_ONLY" type="boolean" default="FALSE" description="FALSE if the connection can be modified using the provided settings service's D-Bus interface with the right privileges, or TRUE if the connection is read-only and cannot be modified." /><property name="secondaries" name_upper="SECONDARIES" type="array of string" description="List of connection UUIDs that should be activated when the base connection itself is activated. Currently, only VPN connections are supported." /><property name="slave-type" name_upper="SLAVE_TYPE" type="string" description="Setting name of the device type of this slave's master connection (eg, &quot;bond&quot;), or NULL if this connection is not a slave." /><property name="stable-id" name_upper="STABLE_ID" type="string" description="This represents the identity of the connection used for various purposes. It allows to configure multiple profiles to share the identity. Also, the stable-id can contain placeholders that are substituted dynamically and deterministically depending on the context. The stable-id is used for generating IPv6 stable private addresses with ipv6.addr-gen-mode=stable-privacy. It is also used to seed the generated cloned MAC address for ethernet.cloned-mac-address=stable and wifi.cloned-mac-address=stable. It is also used as DHCP client identifier with ipv4.dhcp-client-id=stable and to derive the DHCP DUID with ipv6.dhcp-duid=stable-[llt,ll,uuid]. Note that depending on the context where it is used, other parameters are also seeded into the generation algorithm. For example, a per-host key is commonly also included, so that different systems end up generating different IDs. Or with ipv6.addr-gen-mode=stable-privacy, also the device's name is included, so that different interfaces yield different addresses. The per-host key is the identity of your machine and stored in /var/lib/NetworkManager/secret-key. The '$' character is treated special to perform dynamic substitutions at runtime. Currently, supported are &quot;${CONNECTION}&quot;, &quot;${DEVICE}&quot;, &quot;${MAC}&quot;, &quot;${BOOT}&quot;, &quot;${RANDOM}&quot;. These effectively create unique IDs per-connection, per-device, per-boot, or every time. Note that &quot;${DEVICE}&quot; corresponds to the interface name of the device and &quot;${MAC}&quot; is the permanent MAC address of the device. Any unrecognized patterns following '$' are treated verbatim, however are reserved for future use. You are thus advised to avoid '$' or escape it as &quot;$$&quot;. For example, set it to &quot;${CONNECTION}-${BOOT}-${DEVICE}&quot; to create a unique id for this connection that changes with every reboot and differs depending on the interface where the profile activates. If the value is unset, a global connection default is consulted. If the value is still unset, the default is similar to &quot;${CONNECTION}&quot; and uses a unique, fixed ID for the connection." /><property name="timestamp" name_upper="TIMESTAMP" type="uint64" default="0" description="The time, in seconds since the Unix Epoch, that the connection was last _successfully_ fully activated. NetworkManager updates the connection timestamp periodically when the connection is active to ensure that an active connection has the latest timestamp. The property is only meant for reading (changes to this property will not be preserved)." /><property name="type" name_upper="TYPE" type="string" description="Base type of the connection. For hardware-dependent connections, should contain the setting name of the hardware-type specific setting (ie, &quot;802-3-ethernet&quot; or &quot;802-11-wireless&quot; or &quot;bluetooth&quot;, etc), and for non-hardware dependent connections like VPN or otherwise, should contain the setting name of that setting type (ie, &quot;vpn&quot; or &quot;bridge&quot;, etc)." /><property name="uuid" name_upper="UUID" type="string" description="A universally unique identifier for the connection, for example generated with libuuid.  It should be assigned when the connection is created, and never changed as long as the connection still applies to the same network.  For example, it should not be changed when the &quot;id&quot; property or NMSettingIP4Config changes, but might need to be re-created when the Wi-Fi SSID, mobile broadband network provider, or &quot;type&quot; property changes. The UUID must be in the format &quot;2815492f-7e56-435e-b2e9-246bd7cdc664&quot; (ie, contains only hexadecimal characters and &quot;-&quot;)." /><property name="wait-device-timeout" name_upper="WAIT_DEVICE_TIMEOUT" type="int32" default="-1" description="Timeout in milliseconds to wait for device at startup. During boot, devices may take a while to be detected by the driver. This property will cause to delay NetworkManager-wait-online.service and nm-online to give the device a chance to appear. This works by waiting for the given timeout until a compatible device for the profile is available and managed. The value 0 means no wait time. The default value is -1, which currently has the same meaning as no wait time." /><property name="zone" name_upper="ZONE" type="string" description="The trust level of a the connection.  Free form case-insensitive string (for example &quot;Home&quot;, &quot;Work&quot;, &quot;Public&quot;).  NULL or unspecified zone means the connection will be placed in the default zone as defined by the firewall. When updating this property on a currently activated connection, the change takes effect immediately." /></setting><setting name="6lowpan" description="6LoWPAN Settings" name_upper="6LOWPAN"><property name="parent" name_upper="PARENT" type="string" description="If given, specifies the parent interface name or parent connection UUID from which this 6LowPAN interface should be created." /></setting><setting name="802-1x" description="IEEE 802.1x Authentication Settings" name_upper="802_1X"><property name="altsubject-matches" name_upper="ALTSUBJECT_MATCHES" type="array of string" description="List of strings to be matched against the altSubjectName of the certificate presented by the authentication server. If the list is empty, no verification of the server certificate's altSubjectName is performed." /><property name="anonymous-identity" name_upper="ANONYMOUS_IDENTITY" type="string" description="Anonymous identity string for EAP authentication methods.  Used as the unencrypted identity with EAP types that support different tunneled identity like EAP-TTLS." /><property name="auth-timeout" name_upper="AUTH_TIMEOUT" type="int32" default="0" description="A timeout for the authentication. Zero means the global default; if the global default is not set, the authentication timeout is 25 seconds." /><property name="ca-cert" name_upper="CA_CERT" type="byte array" description="Contains the CA certificate if used by the EAP method specified in the &quot;eap&quot; property. Certificate data is specified using a &quot;scheme&quot;; three are currently supported: blob, path and pkcs#11 URL. When using the blob scheme this property should be set to the certificate's DER encoded data. When using the path scheme, this property should be set to the full UTF-8 encoded path of the certificate, prefixed with the string &quot;file://&quot; and ending with a terminating NUL byte. This property can be unset even if the EAP method supports CA certificates, but this allows man-in-the-middle attacks and is NOT recommended. Note that enabling NMSetting8021x:system-ca-certs will override this setting to use the built-in path, if the built-in path is not a directory." /><property name="ca-cert-password" name_upper="CA_CERT_PASSWORD" type="string" description="The password used to access the CA certificate stored in &quot;ca-cert&quot; property. Only makes sense if the certificate is stored on a PKCS#11 token that requires a login." /><property name="ca-cert-password-flags" name_upper="CA_CERT_PASSWORD_FLAGS" type="NMSettingSecretFlags (uint32)" description="Flags indicating how to handle the &quot;ca-cert-password&quot; property." /><property name="ca-path" name_upper="CA_PATH" type="string" description="UTF-8 encoded path to a directory containing PEM or DER formatted certificates to be added to the verification chain in addition to the certificate specified in the &quot;ca-cert&quot; property. If NMSetting8021x:system-ca-certs is enabled and the built-in CA path is an existing directory, then this setting is ignored." /><property name="client-cert" name_upper="CLIENT_CERT" type="byte array" description="Contains the client certificate if used by the EAP method specified in the &quot;eap&quot; property. Certificate data is specified using a &quot;scheme&quot;; two are currently supported: blob and path. When using the blob scheme (which is backwards compatible with NM 0.7.x) this property should be set to the certificate's DER encoded data. When using the path scheme, this property should be set to the full UTF-8 encoded path of the certificate, prefixed with the string &quot;file://&quot; and ending with a terminating NUL byte." /><property name="client-cert-password" name_upper="CLIENT_CERT_PASSWORD" type="string" description="The password used to access the client certificate stored in &quot;client-cert&quot; property. Only makes sense if the certificate is stored on a PKCS#11 token that requires a login." /><property name="client-cert-password-flags" name_upper="CLIENT_CERT_PASSWORD_FLAGS" type="NMSettingSecretFlags (uint32)" description="Flags indicating how to handle the &quot;client-cert-password&quot; property." /><property name="domain-match" name_upper="DOMAIN_MATCH" type="string" description="Constraint for server domain name. If set, this list of FQDNs is used as a match requirement for dNSName element(s) of the certificate presented by the authentication server.  If a matching dNSName is found, this constraint is met.  If no dNSName values are present, this constraint is matched against SubjectName CN using the same comparison. Multiple valid FQDNs can be passed as a &quot;;&quot; delimited list." /><property name="domain-suffix-match" name_upper="DOMAIN_SUFFIX_MATCH" type="string" description="Constraint for server domain name. If set, this FQDN is used as a suffix match requirement for dNSName element(s) of the certificate presented by the authentication server.  If a matching dNSName is found, this constraint is met.  If no dNSName values are present, this constraint is matched against SubjectName CN using same suffix match comparison. Since version 1.24, multiple valid FQDNs can be passed as a &quot;;&quot; delimited list." /><property name="eap" name_upper="EAP" type="array of string" description="The allowed EAP method to be used when authenticating to the network with 802.1x.  Valid methods are: &quot;leap&quot;, &quot;md5&quot;, &quot;tls&quot;, &quot;peap&quot;, &quot;ttls&quot;, &quot;pwd&quot;, and &quot;fast&quot;.  Each method requires different configuration using the properties of this setting; refer to wpa_supplicant documentation for the allowed combinations." /><property name="identity" name_upper="IDENTITY" type="string" description="Identity string for EAP authentication methods.  Often the user's user or login name." /><property name="optional" name_upper="OPTIONAL" type="boolean" default="FALSE" description="Whether the 802.1X authentication is optional. If TRUE, the activation will continue even after a timeout or an authentication failure. Setting the property to TRUE is currently allowed only for Ethernet connections. If set to FALSE, the activation can continue only after a successful authentication." /><property name="pac-file" name_upper="PAC_FILE" type="string" description="UTF-8 encoded file path containing PAC for EAP-FAST." /><property name="password" name_upper="PASSWORD" type="string" description="UTF-8 encoded password used for EAP authentication methods. If both the &quot;password&quot; property and the &quot;password-raw&quot; property are specified, &quot;password&quot; is preferred." /><property name="password-flags" name_upper="PASSWORD_FLAGS" type="NMSettingSecretFlags (uint32)" description="Flags indicating how to handle the &quot;password&quot; property." /><property name="password-raw" name_upper="PASSWORD_RAW" type="byte array" description="Password used for EAP authentication methods, given as a byte array to allow passwords in other encodings than UTF-8 to be used. If both the &quot;password&quot; property and the &quot;password-raw&quot; property are specified, &quot;password&quot; is preferred." /><property name="password-raw-flags" name_upper="PASSWORD_RAW_FLAGS" type="NMSettingSecretFlags (uint32)" description="Flags indicating how to handle the &quot;password-raw&quot; property." /><property name="phase1-auth-flags" name_upper="PHASE1_AUTH_FLAGS" type="uint32" default="0" description="Specifies authentication flags to use in &quot;phase 1&quot; outer authentication using NMSetting8021xAuthFlags options. The individual TLS versions can be explicitly disabled. If a certain TLS disable flag is not set, it is up to the supplicant to allow or forbid it. The TLS options map to tls_disable_tlsv1_x settings. See the wpa_supplicant documentation for more details." /><property name="phase1-fast-provisioning" name_upper="PHASE1_FAST_PROVISIONING" type="string" description="Enables or disables in-line provisioning of EAP-FAST credentials when FAST is specified as the EAP method in the &quot;eap&quot; property. Recognized values are &quot;0&quot; (disabled), &quot;1&quot; (allow unauthenticated provisioning), &quot;2&quot; (allow authenticated provisioning), and &quot;3&quot; (allow both authenticated and unauthenticated provisioning).  See the wpa_supplicant documentation for more details." /><property name="phase1-peaplabel" name_upper="PHASE1_PEAPLABEL" type="string" description="Forces use of the new PEAP label during key derivation.  Some RADIUS servers may require forcing the new PEAP label to interoperate with PEAPv1.  Set to &quot;1&quot; to force use of the new PEAP label.  See the wpa_supplicant documentation for more details." /><property name="phase1-peapver" name_upper="PHASE1_PEAPVER" type="string" description="Forces which PEAP version is used when PEAP is set as the EAP method in the &quot;eap&quot; property.  When unset, the version reported by the server will be used.  Sometimes when using older RADIUS servers, it is necessary to force the client to use a particular PEAP version.  To do so, this property may be set to &quot;0&quot; or &quot;1&quot; to force that specific PEAP version." /><property name="phase2-altsubject-matches" name_upper="PHASE2_ALTSUBJECT_MATCHES" type="array of string" description="List of strings to be matched against the altSubjectName of the certificate presented by the authentication server during the inner &quot;phase 2&quot; authentication. If the list is empty, no verification of the server certificate's altSubjectName is performed." /><property name="phase2-auth" name_upper="PHASE2_AUTH" type="string" description="Specifies the allowed &quot;phase 2&quot; inner authentication method when an EAP method that uses an inner TLS tunnel is specified in the &quot;eap&quot; property.  For TTLS this property selects one of the supported non-EAP inner methods: &quot;pap&quot;, &quot;chap&quot;, &quot;mschap&quot;, &quot;mschapv2&quot; while &quot;phase2-autheap&quot; selects an EAP inner method.  For PEAP this selects an inner EAP method, one of: &quot;gtc&quot;, &quot;otp&quot;, &quot;md5&quot; and &quot;tls&quot;. Each &quot;phase 2&quot; inner method requires specific parameters for successful authentication; see the wpa_supplicant documentation for more details. Both &quot;phase2-auth&quot; and &quot;phase2-autheap&quot; cannot be specified." /><property name="phase2-autheap" name_upper="PHASE2_AUTHEAP" type="string" description="Specifies the allowed &quot;phase 2&quot; inner EAP-based authentication method when TTLS is specified in the &quot;eap&quot; property.  Recognized EAP-based &quot;phase 2&quot; methods are &quot;md5&quot;, &quot;mschapv2&quot;, &quot;otp&quot;, &quot;gtc&quot;, and &quot;tls&quot;. Each &quot;phase 2&quot; inner method requires specific parameters for successful authentication; see the wpa_supplicant documentation for more details." /><property name="phase2-ca-cert" name_upper="PHASE2_CA_CERT" type="byte array" description="Contains the &quot;phase 2&quot; CA certificate if used by the EAP method specified in the &quot;phase2-auth&quot; or &quot;phase2-autheap&quot; properties. Certificate data is specified using a &quot;scheme&quot;; three are currently supported: blob, path and pkcs#11 URL. When using the blob scheme this property should be set to the certificate's DER encoded data. When using the path scheme, this property should be set to the full UTF-8 encoded path of the certificate, prefixed with the string &quot;file://&quot; and ending with a terminating NUL byte. This property can be unset even if the EAP method supports CA certificates, but this allows man-in-the-middle attacks and is NOT recommended. Note that enabling NMSetting8021x:system-ca-certs will override this setting to use the built-in path, if the built-in path is not a directory." /><property name="phase2-ca-cert-password" name_upper="PHASE2_CA_CERT_PASSWORD" type="string" description="The password used to access the &quot;phase2&quot; CA certificate stored in &quot;phase2-ca-cert&quot; property. Only makes sense if the certificate is stored on a PKCS#11 token that requires a login." /><property name="phase2-ca-cert-password-flags" name_upper="PHASE2_CA_CERT_PASSWORD_FLAGS" type="NMSettingSecretFlags (uint32)" description="Flags indicating how to handle the &quot;phase2-ca-cert-password&quot; property." /><property name="phase2-ca-path" name_upper="PHASE2_CA_PATH" type="string" description="UTF-8 encoded path to a directory containing PEM or DER formatted certificates to be added to the verification chain in addition to the certificate specified in the &quot;phase2-ca-cert&quot; property. If NMSetting8021x:system-ca-certs is enabled and the built-in CA path is an existing directory, then this setting is ignored." /><property name="phase2-client-cert" name_upper="PHASE2_CLIENT_CERT" type="byte array" description="Contains the &quot;phase 2&quot; client certificate if used by the EAP method specified in the &quot;phase2-auth&quot; or &quot;phase2-autheap&quot; properties. Certificate data is specified using a &quot;scheme&quot;; two are currently supported: blob and path. When using the blob scheme (which is backwards compatible with NM 0.7.x) this property should be set to the certificate's DER encoded data. When using the path scheme, this property should be set to the full UTF-8 encoded path of the certificate, prefixed with the string &quot;file://&quot; and ending with a terminating NUL byte. This property can be unset even if the EAP method supports CA certificates, but this allows man-in-the-middle attacks and is NOT recommended." /><property name="phase2-client-cert-password" name_upper="PHASE2_CLIENT_CERT_PASSWORD" type="string" description="The password used to access the &quot;phase2&quot; client certificate stored in &quot;phase2-client-cert&quot; property. Only makes sense if the certificate is stored on a PKCS#11 token that requires a login." /><property name="phase2-client-cert-password-flags" name_upper="PHASE2_CLIENT_CERT_PASSWORD_FLAGS" type="NMSettingSecretFlags (uint32)" description="Flags indicating how to handle the &quot;phase2-client-cert-password&quot; property." /><property name="phase2-domain-match" name_upper="PHASE2_DOMAIN_MATCH" type="string" description="Constraint for server domain name. If set, this list of FQDNs is used as a match requirement for dNSName element(s) of the certificate presented by the authentication server during the inner &quot;phase 2&quot; authentication. If a matching dNSName is found, this constraint is met.  If no dNSName values are present, this constraint is matched against SubjectName CN using the same comparison. Multiple valid FQDNs can be passed as a &quot;;&quot; delimited list." /><property name="phase2-domain-suffix-match" name_upper="PHASE2_DOMAIN_SUFFIX_MATCH" type="string" description="Constraint for server domain name. If set, this FQDN is used as a suffix match requirement for dNSName element(s) of the certificate presented by the authentication server during the inner &quot;phase 2&quot; authentication.  If a matching dNSName is found, this constraint is met.  If no dNSName values are present, this constraint is matched against SubjectName CN using same suffix match comparison. Since version 1.24, multiple valid FQDNs can be passed as a &quot;;&quot; delimited list." /><property name="phase2-private-key" name_upper="PHASE2_PRIVATE_KEY" type="byte array" description="Contains the &quot;phase 2&quot; inner private key when the &quot;phase2-auth&quot; or &quot;phase2-autheap&quot; property is set to &quot;tls&quot;. Key data is specified using a &quot;scheme&quot;; two are currently supported: blob and path. When using the blob scheme and private keys, this property should be set to the key's encrypted PEM encoded data. When using private keys with the path scheme, this property should be set to the full UTF-8 encoded path of the key, prefixed with the string &quot;file://&quot; and ending with a terminating NUL byte. When using PKCS#12 format private keys and the blob scheme, this property should be set to the PKCS#12 data and the &quot;phase2-private-key-password&quot; property must be set to password used to decrypt the PKCS#12 certificate and key. When using PKCS#12 files and the path scheme, this property should be set to the full UTF-8 encoded path of the key, prefixed with the string &quot;file://&quot; and ending with a terminating NUL byte, and as with the blob scheme the &quot;phase2-private-key-password&quot; property must be set to the password used to decode the PKCS#12 private key and certificate." /><property name="phase2-private-key-password" name_upper="PHASE2_PRIVATE_KEY_PASSWORD" type="string" description="The password used to decrypt the &quot;phase 2&quot; private key specified in the &quot;phase2-private-key&quot; property when the private key either uses the path scheme, or is a PKCS#12 format key." /><property name="phase2-private-key-password-flags" name_upper="PHASE2_PRIVATE_KEY_PASSWORD_FLAGS" type="NMSettingSecretFlags (uint32)" description="Flags indicating how to handle the &quot;phase2-private-key-password&quot; property." /><property name="phase2-subject-match" name_upper="PHASE2_SUBJECT_MATCH" type="string" description="Substring to be matched against the subject of the certificate presented by the authentication server during the inner &quot;phase 2&quot; authentication. When unset, no verification of the authentication server certificate's subject is performed.  This property provides little security, if any, and its use is deprecated in favor of NMSetting8021x:phase2-domain-suffix-match." /><property name="pin" name_upper="PIN" type="string" description="PIN used for EAP authentication methods." /><property name="pin-flags" name_upper="PIN_FLAGS" type="NMSettingSecretFlags (uint32)" description="Flags indicating how to handle the &quot;pin&quot; property." /><property name="private-key" name_upper="PRIVATE_KEY" type="byte array" description="Contains the private key when the &quot;eap&quot; property is set to &quot;tls&quot;. Key data is specified using a &quot;scheme&quot;; two are currently supported: blob and path. When using the blob scheme and private keys, this property should be set to the key's encrypted PEM encoded data. When using private keys with the path scheme, this property should be set to the full UTF-8 encoded path of the key, prefixed with the string &quot;file://&quot; and ending with a terminating NUL byte. When using PKCS#12 format private keys and the blob scheme, this property should be set to the PKCS#12 data and the &quot;private-key-password&quot; property must be set to password used to decrypt the PKCS#12 certificate and key. When using PKCS#12 files and the path scheme, this property should be set to the full UTF-8 encoded path of the key, prefixed with the string &quot;file://&quot; and ending with a terminating NUL byte, and as with the blob scheme the &quot;private-key-password&quot; property must be set to the password used to decode the PKCS#12 private key and certificate. WARNING: &quot;private-key&quot; is not a &quot;secret&quot; property, and thus unencrypted private key data using the BLOB scheme may be readable by unprivileged users.  Private keys should always be encrypted with a private key password to prevent unauthorized access to unencrypted private key data." /><property name="private-key-password" name_upper="PRIVATE_KEY_PASSWORD" type="string" description="The password used to decrypt the private key specified in the &quot;private-key&quot; property when the private key either uses the path scheme, or if the private key is a PKCS#12 format key." /><property name="private-key-password-flags" name_upper="PRIVATE_KEY_PASSWORD_FLAGS" type="NMSettingSecretFlags (uint32)" description="Flags indicating how to handle the &quot;private-key-password&quot; property." /><property name="subject-match" name_upper="SUBJECT_MATCH" type="string" description="Substring to be matched against the subject of the certificate presented by the authentication server. When unset, no verification of the authentication server certificate's subject is performed.  This property provides little security, if any, and its use is deprecated in favor of NMSetting8021x:domain-suffix-match." /><property name="system-ca-certs" name_upper="SYSTEM_CA_CERTS" type="boolean" default="FALSE" description="When TRUE, overrides the &quot;ca-path&quot; and &quot;phase2-ca-path&quot; properties using the system CA directory specified at configure time with the --system-ca-path switch.  The certificates in this directory are added to the verification chain in addition to any certificates specified by the &quot;ca-cert&quot; and &quot;phase2-ca-cert&quot; properties. If the path provided with --system-ca-path is rather a file name (bundle of trusted CA certificates), it overrides &quot;ca-cert&quot; and &quot;phase2-ca-cert&quot; properties instead (sets ca_cert/ca_cert2 options for wpa_supplicant)." /></setting><setting name="adsl" description="ADSL Settings" name_upper="ADSL"><property name="encapsulation" name_upper="ENCAPSULATION" type="string" description="Encapsulation of ADSL connection.  Can be &quot;vcmux&quot; or &quot;llc&quot;." /><property name="password" name_upper="PASSWORD" type="string" description="Password used to authenticate with the ADSL service." /><property name="password-flags" name_upper="PASSWORD_FLAGS" type="NMSettingSecretFlags (uint32)" description="Flags indicating how to handle the &quot;password&quot; property." /><property name="protocol" name_upper="PROTOCOL" type="string" description="ADSL connection protocol.  Can be &quot;pppoa&quot;, &quot;pppoe&quot; or &quot;ipoatm&quot;." /><property name="username" name_upper="USERNAME" type="string" description="Username used to authenticate with the ADSL service." /><property name="vci" name_upper="VCI" type="uint32" default="0" description="VCI of ADSL connection" /><property name="vpi" name_upper="VPI" type="uint32" default="0" description="VPI of ADSL connection" /></setting><setting name="bluetooth" description="Bluetooth Settings" name_upper="BLUETOOTH"><property name="bdaddr" name_upper="BDADDR" type="byte array" description="The Bluetooth address of the device." /><property name="type" name_upper="TYPE" type="string" description="Either &quot;dun&quot; for Dial-Up Networking connections or &quot;panu&quot; for Personal Area Networking connections to devices supporting the NAP profile." /></setting><setting name="bond" description="Bonding Settings" name_upper="BOND"><property name="options" name_upper="OPTIONS" type="dict of string to string" default="{'mode': 'balance-rr'}" description="Dictionary of key/value pairs of bonding options.  Both keys and values must be strings. Option names must contain only alphanumeric characters (ie, [a-zA-Z0-9])." /></setting><setting name="bridge" description="Bridging Settings" name_upper="BRIDGE"><property name="ageing-time" name_upper="AGEING_TIME" type="uint32" default="300" description="The Ethernet MAC address aging time, in seconds." /><property name="forward-delay" name_upper="FORWARD_DELAY" type="uint32" default="15" description="The Spanning Tree Protocol (STP) forwarding delay, in seconds." /><property name="group-address" name_upper="GROUP_ADDRESS" type="byte array" description="If specified, The MAC address of the multicast group this bridge uses for STP. The address must be a link-local address in standard Ethernet MAC address format, ie an address of the form 01:80:C2:00:00:0X, with X in [0, 4..F]. If not specified the default value is 01:80:C2:00:00:00." /><property name="group-forward-mask" name_upper="GROUP_FORWARD_MASK" type="uint32" default="0" description="A mask of group addresses to forward. Usually, group addresses in the range from 01:80:C2:00:00:00 to 01:80:C2:00:00:0F are not forwarded according to standards. This property is a mask of 16 bits, each corresponding to a group address in that range that must be forwarded. The mask can't have bits 0, 1 or 2 set because they are used for STP, MAC pause frames and LACP." /><property name="hello-time" name_upper="HELLO_TIME" type="uint32" default="2" description="The Spanning Tree Protocol (STP) hello time, in seconds." /><property name="mac-address" name_upper="MAC_ADDRESS" type="byte array" description="If specified, the MAC address of bridge. When creating a new bridge, this MAC address will be set. If this field is left unspecified, the &quot;ethernet.cloned-mac-address&quot; is referred instead to generate the initial MAC address. Note that setting &quot;ethernet.cloned-mac-address&quot; anyway overwrites the MAC address of the bridge later while activating the bridge. Hence, this property is deprecated. Deprecated: 1" /><property name="max-age" name_upper="MAX_AGE" type="uint32" default="20" description="The Spanning Tree Protocol (STP) maximum message age, in seconds." /><property name="multicast-hash-max" name_upper="MULTICAST_HASH_MAX" type="uint32" default="4096" description="Set maximum size of multicast hash table (value must be a power of 2)." /><property name="multicast-last-member-count" name_upper="MULTICAST_LAST_MEMBER_COUNT" type="uint32" default="2" description="Set the number of queries the bridge will send before stopping forwarding a multicast group after a &quot;leave&quot; message has been received." /><property name="multicast-last-member-interval" name_upper="MULTICAST_LAST_MEMBER_INTERVAL" type="uint64" default="100" description="Set interval (in deciseconds) between queries to find remaining members of a group, after a &quot;leave&quot; message is received." /><property name="multicast-membership-interval" name_upper="MULTICAST_MEMBERSHIP_INTERVAL" type="uint64" default="26000" description="Set delay (in deciseconds) after which the bridge will leave a group, if no membership reports for this group are received." /><property name="multicast-querier" name_upper="MULTICAST_QUERIER" type="boolean" default="FALSE" description="Enable or disable sending of multicast queries by the bridge. If not specified the option is disabled." /><property name="multicast-querier-interval" name_upper="MULTICAST_QUERIER_INTERVAL" type="uint64" default="25500" description="If no queries are seen after this delay (in deciseconds) has passed, the bridge will start to send its own queries." /><property name="multicast-query-interval" name_upper="MULTICAST_QUERY_INTERVAL" type="uint64" default="12500" description="Interval (in deciseconds) between queries sent by the bridge after the end of the startup phase." /><property name="multicast-query-response-interval" name_upper="MULTICAST_QUERY_RESPONSE_INTERVAL" type="uint64" default="1000" description="Set the Max Response Time/Max Response Delay (in deciseconds) for IGMP/MLD queries sent by the bridge." /><property name="multicast-query-use-ifaddr" name_upper="MULTICAST_QUERY_USE_IFADDR" type="boolean" default="FALSE" description="If enabled the bridge's own IP address is used as the source address for IGMP queries otherwise the default of 0.0.0.0 is used." /><property name="multicast-router" name_upper="MULTICAST_ROUTER" type="string" description="Sets bridge's multicast router. Multicast-snooping must be enabled for this option to work. Supported values are: 'auto', 'disabled', 'enabled' to which kernel assigns the numbers 1, 0, and 2, respectively. If not specified the default value is 'auto' (1)." /><property name="multicast-snooping" name_upper="MULTICAST_SNOOPING" type="boolean" default="TRUE" description="Controls whether IGMP snooping is enabled for this bridge. Note that if snooping was automatically disabled due to hash collisions, the system may refuse to enable the feature until the collisions are resolved." /><property name="multicast-startup-query-count" name_upper="MULTICAST_STARTUP_QUERY_COUNT" type="uint32" default="2" description="Set the number of IGMP queries to send during startup phase." /><property name="multicast-startup-query-interval" name_upper="MULTICAST_STARTUP_QUERY_INTERVAL" type="uint64" default="3125" description="Sets the time (in deciseconds) between queries sent out at startup to determine membership information." /><property name="priority" name_upper="PRIORITY" type="uint32" default="32768" description="Sets the Spanning Tree Protocol (STP) priority for this bridge.  Lower values are &quot;better&quot;; the lowest priority bridge will be elected the root bridge." /><property name="stp" name_upper="STP" type="boolean" default="TRUE" description="Controls whether Spanning Tree Protocol (STP) is enabled for this bridge." /><property name="vlan-default-pvid" name_upper="VLAN_DEFAULT_PVID" type="uint32" default="1" description="The default PVID for the ports of the bridge, that is the VLAN id assigned to incoming untagged frames." /><property name="vlan-filtering" name_upper="VLAN_FILTERING" type="boolean" default="FALSE" description="Control whether VLAN filtering is enabled on the bridge." /><property name="vlan-protocol" name_upper="VLAN_PROTOCOL" type="string" description="If specified, the protocol used for VLAN filtering. Supported values are: '802.1Q', '802.1ad'. If not specified the default value is '802.1Q'." /><property name="vlan-stats-enabled" name_upper="VLAN_STATS_ENABLED" type="boolean" default="FALSE" description="Controls whether per-VLAN stats accounting is enabled." /><property name="vlans" name_upper="VLANS" type="array of vardict" description="Array of bridge VLAN objects. In addition to the VLANs specified here, the bridge will also have the default-pvid VLAN configured  by the bridge.vlan-default-pvid property. In nmcli the VLAN list can be specified with the following syntax: $vid [pvid] [untagged] [, $vid [pvid] [untagged]]... where $vid is either a single id between 1 and 4094 or a range, represented as a couple of ids separated by a dash." /></setting><setting name="bridge-port" description="Bridge Port Settings" name_upper="BRIDGE_PORT"><property name="hairpin-mode" name_upper="HAIRPIN_MODE" type="boolean" default="FALSE" description="Enables or disables &quot;hairpin mode&quot; for the port, which allows frames to be sent back out through the port the frame was received on." /><property name="path-cost" name_upper="PATH_COST" type="uint32" default="100" description="The Spanning Tree Protocol (STP) port cost for destinations via this port." /><property name="priority" name_upper="PRIORITY" type="uint32" default="32" description="The Spanning Tree Protocol (STP) priority of this bridge port." /><property name="vlans" name_upper="VLANS" type="array of vardict" description="Array of bridge VLAN objects. In addition to the VLANs specified here, the port will also have the default-pvid VLAN configured on the bridge by the bridge.vlan-default-pvid property. In nmcli the VLAN list can be specified with the following syntax: $vid [pvid] [untagged] [, $vid [pvid] [untagged]]... where $vid is either a single id between 1 and 4094 or a range, represented as a couple of ids separated by a dash." /></setting><setting name="cdma" description="CDMA-based Mobile Broadband Settings" name_upper="CDMA"><property name="mtu" name_upper="MTU" type="uint32" default="0" description="If non-zero, only transmit packets of the specified size or smaller, breaking larger packets up into multiple frames." /><property name="number" name_upper="NUMBER" type="string" description="The number to dial to establish the connection to the CDMA-based mobile broadband network, if any.  If not specified, the default number (#777) is used when required." /><property name="password" name_upper="PASSWORD" type="string" description="The password used to authenticate with the network, if required.  Many providers do not require a password, or accept any password.  But if a password is required, it is specified here." /><property name="password-flags" name_upper="PASSWORD_FLAGS" type="NMSettingSecretFlags (uint32)" description="Flags indicating how to handle the &quot;password&quot; property." /><property name="username" name_upper="USERNAME" type="string" description="The username used to authenticate with the network, if required.  Many providers do not require a username, or accept any username.  But if a username is required, it is specified here." /></setting><setting name="dcb" description="Data Center Bridging Settings" name_upper="DCB"><property name="app-fcoe-flags" name_upper="APP_FCOE_FLAGS" type="NMSettingDcbFlags (uint32)" description="Specifies the NMSettingDcbFlags for the DCB FCoE application.  Flags may be any combination of NM_SETTING_DCB_FLAG_ENABLE (0x1), NM_SETTING_DCB_FLAG_ADVERTISE (0x2), and NM_SETTING_DCB_FLAG_WILLING (0x4)." /><property name="app-fcoe-mode" name_upper="APP_FCOE_MODE" type="string" default="&quot;fabric&quot;" description="The FCoE controller mode; either &quot;fabric&quot; (default) or &quot;vn2vn&quot;." /><property name="app-fcoe-priority" name_upper="APP_FCOE_PRIORITY" type="int32" default="-1" description="The highest User Priority (0 - 7) which FCoE frames should use, or -1 for default priority.  Only used when the &quot;app-fcoe-flags&quot; property includes the NM_SETTING_DCB_FLAG_ENABLE (0x1) flag." /><property name="app-fip-flags" name_upper="APP_FIP_FLAGS" type="NMSettingDcbFlags (uint32)" description="Specifies the NMSettingDcbFlags for the DCB FIP application.  Flags may be any combination of NM_SETTING_DCB_FLAG_ENABLE (0x1), NM_SETTING_DCB_FLAG_ADVERTISE (0x2), and NM_SETTING_DCB_FLAG_WILLING (0x4)." /><property name="app-fip-priority" name_upper="APP_FIP_PRIORITY" type="int32" default="-1" description="The highest User Priority (0 - 7) which FIP frames should use, or -1 for default priority.  Only used when the &quot;app-fip-flags&quot; property includes the NM_SETTING_DCB_FLAG_ENABLE (0x1) flag." /><property name="app-iscsi-flags" name_upper="APP_ISCSI_FLAGS" type="NMSettingDcbFlags (uint32)" description="Specifies the NMSettingDcbFlags for the DCB iSCSI application.  Flags may be any combination of NM_SETTING_DCB_FLAG_ENABLE (0x1), NM_SETTING_DCB_FLAG_ADVERTISE (0x2), and NM_SETTING_DCB_FLAG_WILLING (0x4)." /><property name="app-iscsi-priority" name_upper="APP_ISCSI_PRIORITY" type="int32" default="-1" description="The highest User Priority (0 - 7) which iSCSI frames should use, or -1 for default priority. Only used when the &quot;app-iscsi-flags&quot; property includes the NM_SETTING_DCB_FLAG_ENABLE (0x1) flag." /><property name="priority-bandwidth" name_upper="PRIORITY_BANDWIDTH" type="array of uint32" description="An array of 8 uint values, where the array index corresponds to the User Priority (0 - 7) and the value indicates the percentage of bandwidth of the priority's assigned group that the priority may use.  The sum of all percentages for priorities which belong to the same group must total 100 percents." /><property name="priority-flow-control" name_upper="PRIORITY_FLOW_CONTROL" type="array of uint32" description="An array of 8 boolean values, where the array index corresponds to the User Priority (0 - 7) and the value indicates whether or not the corresponding priority should transmit priority pause." /><property name="priority-flow-control-flags" name_upper="PRIORITY_FLOW_CONTROL_FLAGS" type="NMSettingDcbFlags (uint32)" description="Specifies the NMSettingDcbFlags for DCB Priority Flow Control (PFC). Flags may be any combination of NM_SETTING_DCB_FLAG_ENABLE (0x1), NM_SETTING_DCB_FLAG_ADVERTISE (0x2), and NM_SETTING_DCB_FLAG_WILLING (0x4)." /><property name="priority-group-bandwidth" name_upper="PRIORITY_GROUP_BANDWIDTH" type="array of uint32" description="An array of 8 uint values, where the array index corresponds to the Priority Group ID (0 - 7) and the value indicates the percentage of link bandwidth allocated to that group.  Allowed values are 0 - 100, and the sum of all values must total 100 percents." /><property name="priority-group-flags" name_upper="PRIORITY_GROUP_FLAGS" type="NMSettingDcbFlags (uint32)" description="Specifies the NMSettingDcbFlags for DCB Priority Groups.  Flags may be any combination of NM_SETTING_DCB_FLAG_ENABLE (0x1), NM_SETTING_DCB_FLAG_ADVERTISE (0x2), and NM_SETTING_DCB_FLAG_WILLING (0x4)." /><property name="priority-group-id" name_upper="PRIORITY_GROUP_ID" type="array of uint32" description="An array of 8 uint values, where the array index corresponds to the User Priority (0 - 7) and the value indicates the Priority Group ID.  Allowed Priority Group ID values are 0 - 7 or 15 for the unrestricted group." /><property name="priority-strict-bandwidth" name_upper="PRIORITY_STRICT_BANDWIDTH" type="array of uint32" description="An array of 8 boolean values, where the array index corresponds to the User Priority (0 - 7) and the value indicates whether or not the priority may use all of the bandwidth allocated to its assigned group." /><property name="priority-traffic-class" name_upper="PRIORITY_TRAFFIC_CLASS" type="array of uint32" description="An array of 8 uint values, where the array index corresponds to the User Priority (0 - 7) and the value indicates the traffic class (0 - 7) to which the priority is mapped." /></setting><setting name="dummy" description="Dummy Link Settings" name_upper="DUMMY" /><setting name="ethtool" description="Ethtool Ethernet Settings" name_upper="ETHTOOL" /><setting name="generic" description="Generic Link Settings" name_upper="GENERIC" /><setting name="gsm" description="GSM-based Mobile Broadband Settings" name_upper="GSM"><property name="apn" name_upper="APN" type="string" description="The GPRS Access Point Name specifying the APN used when establishing a data session with the GSM-based network.  The APN often determines how the user will be billed for their network usage and whether the user has access to the Internet or just a provider-specific walled-garden, so it is important to use the correct APN for the user's mobile broadband plan. The APN may only be composed of the characters a-z, 0-9, ., and - per GSM 03.60 Section 14.9." /><property name="auto-config" name_upper="AUTO_CONFIG" type="boolean" default="FALSE" description="When TRUE, the settings such as APN, username, or password will default to values that match the network the modem will register to in the Mobile Broadband Provider database." /><property name="device-id" name_upper="DEVICE_ID" type="string" description="The device unique identifier (as given by the WWAN management service) which this connection applies to.  If given, the connection will only apply to the specified device." /><property name="home-only" name_upper="HOME_ONLY" type="boolean" default="FALSE" description="When TRUE, only connections to the home network will be allowed. Connections to roaming networks will not be made." /><property name="mtu" name_upper="MTU" type="uint32" default="0" description="If non-zero, only transmit packets of the specified size or smaller, breaking larger packets up into multiple frames." /><property name="network-id" name_upper="NETWORK_ID" type="string" description="The Network ID (GSM LAI format, ie MCC-MNC) to force specific network registration.  If the Network ID is specified, NetworkManager will attempt to force the device to register only on the specified network. This can be used to ensure that the device does not roam when direct roaming control of the device is not otherwise possible." /><property name="number" name_upper="NUMBER" type="string" description="Legacy setting that used to help establishing PPP data sessions for GSM-based modems. Deprecated: 1" /><property name="password" name_upper="PASSWORD" type="string" description="The password used to authenticate with the network, if required.  Many providers do not require a password, or accept any password.  But if a password is required, it is specified here." /><property name="password-flags" name_upper="PASSWORD_FLAGS" type="NMSettingSecretFlags (uint32)" description="Flags indicating how to handle the &quot;password&quot; property." /><property name="pin" name_upper="PIN" type="string" description="If the SIM is locked with a PIN it must be unlocked before any other operations are requested.  Specify the PIN here to allow operation of the device." /><property name="pin-flags" name_upper="PIN_FLAGS" type="NMSettingSecretFlags (uint32)" description="Flags indicating how to handle the &quot;pin&quot; property." /><property name="sim-id" name_upper="SIM_ID" type="string" description="The SIM card unique identifier (as given by the WWAN management service) which this connection applies to.  If given, the connection will apply to any device also allowed by &quot;device-id&quot; which contains a SIM card matching the given identifier." /><property name="sim-operator-id" name_upper="SIM_OPERATOR_ID" type="string" description="A MCC/MNC string like &quot;310260&quot; or &quot;21601&quot; identifying the specific mobile network operator which this connection applies to.  If given, the connection will apply to any device also allowed by &quot;device-id&quot; and &quot;sim-id&quot; which contains a SIM card provisioned by the given operator." /><property name="username" name_upper="USERNAME" type="string" description="The username used to authenticate with the network, if required.  Many providers do not require a username, or accept any username.  But if a username is required, it is specified here." /></setting><setting name="infiniband" description="Infiniband Settings" name_upper="INFINIBAND"><property name="mac-address" name_upper="MAC_ADDRESS" type="byte array" description="If specified, this connection will only apply to the IPoIB device whose permanent MAC address matches. This property does not change the MAC address of the device (i.e. MAC spoofing)." /><property name="mtu" name_upper="MTU" type="uint32" default="0" description="If non-zero, only transmit packets of the specified size or smaller, breaking larger packets up into multiple frames." /><property name="p-key" name_upper="P_KEY" type="int32" default="-1" description="The InfiniBand P_Key to use for this device. A value of -1 means to use the default P_Key (aka &quot;the P_Key at index 0&quot;). Otherwise, it is a 16-bit unsigned integer, whose high bit is set if it is a &quot;full membership&quot; P_Key." /><property name="parent" name_upper="PARENT" type="string" description="The interface name of the parent device of this device. Normally NULL, but if the &quot;p_key&quot; property is set, then you must specify the base device by setting either this property or &quot;mac-address&quot;." /><property name="transport-mode" name_upper="TRANSPORT_MODE" type="string" description="The IP-over-InfiniBand transport mode. Either &quot;datagram&quot; or &quot;connected&quot;." /></setting><setting name="ipv4" description="IPv4 Settings" name_upper="IP4_CONFIG"><property name="addresses" name_upper="ADDRESSES" type="a comma separated list of addresses" description="A list of IPv4 addresses and their prefix length. Multiple addresses can be separated by comma. For example &quot;192.168.1.5/24, 10.1.0.5/24&quot;. The addresses are listed in increasing priority, meaning the last address will be the primary address." /><property name="dad-timeout" name_upper="DAD_TIMEOUT" type="int32" default="-1" description="Timeout in milliseconds used to check for the presence of duplicate IP addresses on the network.  If an address conflict is detected, the activation will fail.  A zero value means that no duplicate address detection is performed, -1 means the default value (either configuration ipvx.dad-timeout override or zero).  A value greater than zero is a timeout in milliseconds. The property is currently implemented only for IPv4." /><property name="dhcp-client-id" name_upper="DHCP_CLIENT_ID" type="string" description="A string sent to the DHCP server to identify the local machine which the DHCP server may use to customize the DHCP lease and options. When the property is a hex string ('aa:bb:cc') it is interpreted as a binary client ID, in which case the first byte is assumed to be the 'type' field as per RFC 2132 section 9.14 and the remaining bytes may be an hardware address (e.g. '01:xx:xx:xx:xx:xx:xx' where 1 is the Ethernet ARP type and the rest is a MAC address). If the property is not a hex string it is considered as a non-hardware-address client ID and the 'type' field is set to 0. The special values &quot;mac&quot; and &quot;perm-mac&quot; are supported, which use the current or permanent MAC address of the device to generate a client identifier with type ethernet (01). Currently, these options only work for ethernet type of links. The special value &quot;ipv6-duid&quot; uses the DUID from &quot;ipv6.dhcp-duid&quot; property as an RFC4361-compliant client identifier. As IAID it uses &quot;ipv4.dhcp-iaid&quot; and falls back to &quot;ipv6.dhcp-iaid&quot; if unset. The special value &quot;duid&quot; generates a RFC4361-compliant client identifier based on &quot;ipv4.dhcp-iaid&quot; and uses a DUID generated by hashing /etc/machine-id. The special value &quot;stable&quot; is supported to generate a type 0 client identifier based on the stable-id (see connection.stable-id) and a per-host key. If you set the stable-id, you may want to include the &quot;${DEVICE}&quot; or &quot;${MAC}&quot; specifier to get a per-device key. If unset, a globally configured default is used. If still unset, the default depends on the DHCP plugin." /><property name="dhcp-fqdn" name_upper="DHCP_FQDN" type="string" description="If the &quot;dhcp-send-hostname&quot; property is TRUE, then the specified FQDN will be sent to the DHCP server when acquiring a lease. This property and &quot;dhcp-hostname&quot; are mutually exclusive and cannot be set at the same time." /><property name="dhcp-hostname" name_upper="DHCP_HOSTNAME" type="string" description="If the &quot;dhcp-send-hostname&quot; property is TRUE, then the specified name will be sent to the DHCP server when acquiring a lease. This property and &quot;dhcp-fqdn&quot; are mutually exclusive and cannot be set at the same time." /><property name="dhcp-hostname-flags" name_upper="DHCP_HOSTNAME_FLAGS" type="uint32" default="0" description="Flags for the DHCP hostname and FQDN. Currently, this property only includes flags to control the FQDN flags set in the DHCP FQDN option. Supported FQDN flags are NM_DHCP_HOSTNAME_FLAG_FQDN_SERV_UPDATE (0x1), NM_DHCP_HOSTNAME_FLAG_FQDN_ENCODED (0x2) and NM_DHCP_HOSTNAME_FLAG_FQDN_NO_UPDATE (0x4).  When no FQDN flag is set and NM_DHCP_HOSTNAME_FLAG_FQDN_CLEAR_FLAGS (0x8) is set, the DHCP FQDN option will contain no flag. Otherwise, if no FQDN flag is set and NM_DHCP_HOSTNAME_FLAG_FQDN_CLEAR_FLAGS (0x8) is not set, the standard FQDN flags are set in the request: NM_DHCP_HOSTNAME_FLAG_FQDN_SERV_UPDATE (0x1), NM_DHCP_HOSTNAME_FLAG_FQDN_ENCODED (0x2) for IPv4 and NM_DHCP_HOSTNAME_FLAG_FQDN_SERV_UPDATE (0x1) for IPv6. When this property is set to the default value NM_DHCP_HOSTNAME_FLAG_NONE (0x0), a global default is looked up in NetworkManager configuration. If that value is unset or also NM_DHCP_HOSTNAME_FLAG_NONE (0x0), then the standard FQDN flags described above are sent in the DHCP requests." /><property name="dhcp-iaid" name_upper="DHCP_IAID" type="string" description="A string containing the &quot;Identity Association Identifier&quot; (IAID) used by the DHCP client. The property is a 32-bit decimal value or a special value among &quot;mac&quot;, &quot;perm-mac&quot;, &quot;ifname&quot; and &quot;stable&quot;. When set to &quot;mac&quot; (or &quot;perm-mac&quot;), the last 4 bytes of the current (or permanent) MAC address are used as IAID. When set to &quot;ifname&quot;, the IAID is computed by hashing the interface name. The special value &quot;stable&quot; can be used to generate an IAID based on the stable-id (see connection.stable-id), a per-host key and the interface name. When the property is unset, the value from global configuration is used; if no global default is set then the IAID is assumed to be &quot;ifname&quot;. Note that at the moment this property is ignored for IPv6 by dhclient, which always derives the IAID from the MAC address." /><property name="dhcp-reject-servers" name_upper="DHCP_REJECT_SERVERS" type="array of string" description="Array of servers from which DHCP offers must be rejected. This property is useful to avoid getting a lease from misconfigured or rogue servers. For DHCPv4, each element must be an IPv4 address, optionally followed by a slash and a prefix length (e.g. &quot;192.168.122.0/24&quot;). This property is currently not implemented for DHCPv6." /><property name="dhcp-send-hostname" name_upper="DHCP_SEND_HOSTNAME" type="boolean" default="TRUE" description="If TRUE, a hostname is sent to the DHCP server when acquiring a lease. Some DHCP servers use this hostname to update DNS databases, essentially providing a static hostname for the computer.  If the &quot;dhcp-hostname&quot; property is NULL and this property is TRUE, the current persistent hostname of the computer is sent." /><property name="dhcp-timeout" name_upper="DHCP_TIMEOUT" type="int32" default="0" description="A timeout for a DHCP transaction in seconds. If zero (the default), a globally configured default is used. If still unspecified, a device specific timeout is used (usually 45 seconds). Set to 2147483647 (MAXINT32) for infinity." /><property name="dhcp-vendor-class-identifier" name_upper="DHCP_VENDOR_CLASS_IDENTIFIER" type="string" description="The Vendor Class Identifier DHCP option (60). Special characters in the data string may be escaped using C-style escapes, nevertheless this property cannot contain nul bytes. If the per-profile value is unspecified (the default), a global connection default gets consulted. If still unspecified, the DHCP option is not sent to the server. Since 1.28" /><property name="dns" name_upper="DNS" type="array of uint32" description="Array of IP addresses of DNS servers." /><property name="dns-options" name_upper="DNS_OPTIONS" type="array of string" description="Array of DNS options as described in man 5 resolv.conf. NULL means that the options are unset and left at the default. In this case NetworkManager will use default options. This is distinct from an empty list of properties. The currently supported options are &quot;attempts&quot;, &quot;debug&quot;, &quot;edns0&quot;, &quot;inet6&quot;, &quot;ip6-bytestring&quot;, &quot;ip6-dotint&quot;, &quot;ndots&quot;, &quot;no-check-names&quot;, &quot;no-ip6-dotint&quot;, &quot;no-reload&quot;, &quot;no-tld-query&quot;, &quot;rotate&quot;, &quot;single-request&quot;, &quot;single-request-reopen&quot;, &quot;timeout&quot;, &quot;trust-ad&quot;, &quot;use-vc&quot;. The &quot;trust-ad&quot; setting is only honored if the profile contributes name servers to resolv.conf, and if all contributing profiles have &quot;trust-ad&quot; enabled. When using a caching DNS plugin (dnsmasq or systemd-resolved in NetworkManager.conf) then &quot;edns0&quot; and &quot;trust-ad&quot; are automatically added." /><property name="dns-priority" name_upper="DNS_PRIORITY" type="int32" default="0" description="DNS servers priority. The relative priority for DNS servers specified by this setting.  A lower numerical value is better (higher priority). Negative values have the special effect of excluding other configurations with a greater numerical priority value; so in presence of at least one negative priority, only DNS servers from connections with the lowest priority value will be used. To avoid all DNS leaks, set the priority of the profile that should be used to the most negative value of all active connections profiles. Zero selects a globally configured default value. If the latter is missing or zero too, it defaults to 50 for VPNs (including WireGuard) and 100 for other connections. Note that the priority is to order DNS settings for multiple active connections.  It does not disambiguate multiple DNS servers within the same connection profile. When multiple devices have configurations with the same priority, VPNs will be considered first, then devices with the best (lowest metric) default route and then all other devices. When using dns=default, servers with higher priority will be on top of resolv.conf. To prioritize a given server over another one within the same connection, just specify them in the desired order. Note that commonly the resolver tries name servers in /etc/resolv.conf in the order listed, proceeding with the next server in the list on failure. See for example the &quot;rotate&quot; option of the dns-options setting. If there are any negative DNS priorities, then only name servers from the devices with that lowest priority will be considered. When using a DNS resolver that supports Conditional Forwarding or Split DNS (with dns=dnsmasq or dns=systemd-resolved settings), each connection is used to query domains in its search list. The search domains determine which name servers to ask, and the DNS priority is used to prioritize name servers based on the domain.  Queries for domains not present in any search list are routed through connections having the '~.' special wildcard domain, which is added automatically to connections with the default route (or can be added manually).  When multiple connections specify the same domain, the one with the best priority (lowest numerical value) wins.  If a sub domain is configured on another interface it will be accepted regardless the priority, unless parent domain on the other interface has a negative priority, which causes the sub domain to be shadowed. With Split DNS one can avoid undesired DNS leaks by properly configuring DNS priorities and the search domains, so that only name servers of the desired interface are configured." /><property name="dns-search" name_upper="DNS_SEARCH" type="array of string" description="Array of DNS search domains. Domains starting with a tilde ('~') are considered 'routing' domains and are used only to decide the interface over which a query must be forwarded; they are not used to complete unqualified host names. When using a DNS plugin that supports Conditional Forwarding or Split DNS, then the search domains specify which name servers to query. This makes the behavior different from running with plain /etc/resolv.conf. For more information see also the dns-priority setting." /><property name="gateway" name_upper="GATEWAY" type="string" description="The gateway associated with this configuration. This is only meaningful if &quot;addresses&quot; is also set. The gateway's main purpose is to control the next hop of the standard default route on the device. Hence, the gateway property conflicts with &quot;never-default&quot; and will be automatically dropped if the IP configuration is set to never-default. As an alternative to set the gateway, configure a static default route with /0 as prefix length." /><property name="ignore-auto-dns" name_upper="IGNORE_AUTO_DNS" type="boolean" default="FALSE" description="When &quot;method&quot; is set to &quot;auto&quot; and this property to TRUE, automatically configured name servers and search domains are ignored and only name servers and search domains specified in the &quot;dns&quot; and &quot;dns-search&quot; properties, if any, are used." /><property name="ignore-auto-routes" name_upper="IGNORE_AUTO_ROUTES" type="boolean" default="FALSE" description="When &quot;method&quot; is set to &quot;auto&quot; and this property to TRUE, automatically configured routes are ignored and only routes specified in the &quot;routes&quot; property, if any, are used." /><property name="may-fail" name_upper="MAY_FAIL" type="boolean" default="TRUE" description="If TRUE, allow overall network configuration to proceed even if the configuration specified by this property times out.  Note that at least one IP configuration must succeed or overall network configuration will still fail.  For example, in IPv6-only networks, setting this property to TRUE on the NMSettingIP4Config allows the overall network configuration to succeed if IPv4 configuration fails but IPv6 configuration completes successfully." /><property name="method" name_upper="METHOD" type="string" description="IP configuration method. NMSettingIP4Config and NMSettingIP6Config both support &quot;disabled&quot;, &quot;auto&quot;, &quot;manual&quot;, and &quot;link-local&quot;. See the subclass-specific documentation for other values. In general, for the &quot;auto&quot; method, properties such as &quot;dns&quot; and &quot;routes&quot; specify information that is added on to the information returned from automatic configuration.  The &quot;ignore-auto-routes&quot; and &quot;ignore-auto-dns&quot; properties modify this behavior. For methods that imply no upstream network, such as &quot;shared&quot; or &quot;link-local&quot;, these properties must be empty. For IPv4 method &quot;shared&quot;, the IP subnet can be configured by adding one manual IPv4 address or otherwise 10.42.x.0/24 is chosen. Note that the shared method must be configured on the interface which shares the internet to a subnet, not on the uplink which is shared." /><property name="never-default" name_upper="NEVER_DEFAULT" type="boolean" default="FALSE" description="If TRUE, this connection will never be the default connection for this IP type, meaning it will never be assigned the default route by NetworkManager." /><property name="required-timeout" name_upper="REQUIRED_TIMEOUT" type="int32" default="-1" description="The minimum time interval in milliseconds for which dynamic IP configuration should be tried before the connection succeeds. This property is useful for example if both IPv4 and IPv6 are enabled and are allowed to fail. Normally the connection succeeds as soon as one of the two address families completes; by setting a required timeout for e.g. IPv4, one can ensure that even if IP6 succeeds earlier than IPv4, NetworkManager waits some time for IPv4 before the connection becomes active. Note that if &quot;may-fail&quot; is FALSE for the same address family, this property has no effect as NetworkManager needs to wait for the full DHCP timeout. A zero value means that no required timeout is present, -1 means the default value (either configuration ipvx.required-timeout override or zero)." /><property name="route-metric" name_upper="ROUTE_METRIC" type="int64" default="-1" description="The default metric for routes that don't explicitly specify a metric. The default value -1 means that the metric is chosen automatically based on the device type. The metric applies to dynamic routes, manual (static) routes that don't have an explicit metric setting, address prefix routes, and the default route. Note that for IPv6, the kernel accepts zero (0) but coerces it to 1024 (user default). Hence, setting this property to zero effectively mean setting it to 1024. For IPv4, zero is a regular value for the metric." /><property name="route-table" name_upper="ROUTE_TABLE" type="uint32" default="0" description="Enable policy routing (source routing) and set the routing table used when adding routes. This affects all routes, including device-routes, IPv4LL, DHCP, SLAAC, default-routes and static routes. But note that static routes can individually overwrite the setting by explicitly specifying a non-zero routing table. If the table setting is left at zero, it is eligible to be overwritten via global configuration. If the property is zero even after applying the global configuration value, policy routing is disabled for the address family of this connection. Policy routing disabled means that NetworkManager will add all routes to the main table (except static routes that explicitly configure a different table). Additionally, NetworkManager will not delete any extraneous routes from tables except the main table. This is to preserve backward compatibility for users who manage routing tables outside of NetworkManager." /><property name="routes" name_upper="ROUTES" type="a comma separated list of routes" description="A list of IPv4 destination addresses, prefix length, optional IPv4 next hop addresses, optional route metric, optional attribute. The valid syntax is: &quot;ip[/prefix] [next-hop] [metric] [attribute=val]...[,ip[/prefix]...]&quot;. For example &quot;192.0.2.0/24 10.1.1.1 77, 198.51.100.0/24&quot;." /></setting><setting name="ipv6" description="IPv6 Settings" name_upper="IP6_CONFIG"><property name="addr-gen-mode" name_upper="ADDR_GEN_MODE" type="int32" default="1" description="Configure method for creating the address for use with RFC4862 IPv6 Stateless Address Autoconfiguration. The permitted values are: NM_SETTING_IP6_CONFIG_ADDR_GEN_MODE_EUI64 (0) or NM_SETTING_IP6_CONFIG_ADDR_GEN_MODE_STABLE_PRIVACY (1). If the property is set to EUI64, the addresses will be generated using the interface tokens derived from hardware address. This makes the host part of the address to stay constant, making it possible to track host's presence when it changes networks. The address changes when the interface hardware is replaced. The value of stable-privacy enables use of cryptographically secure hash of a secret host-specific key along with the connection's stable-id and the network address as specified by RFC7217. This makes it impossible to use the address track host's presence, and makes the address stable when the network interface hardware is replaced. On D-Bus, the absence of an addr-gen-mode setting equals enabling stable-privacy. For keyfile plugin, the absence of the setting on disk means EUI64 so that the property doesn't change on upgrade from older versions. Note that this setting is distinct from the Privacy Extensions as configured by &quot;ip6-privacy&quot; property and it does not affect the temporary addresses configured with this option." /><property name="addresses" name_upper="ADDRESSES" type="a comma separated list of addresses" description="A list of IPv6 addresses and their prefix length. Multiple addresses can be separated by comma. For example &quot;2001:db8:85a3::8a2e:370:7334/64, 2001:db8:85a3::5/64&quot;. The addresses are listed in increasing priority, meaning the last address will be the primary address." /><property name="dad-timeout" name_upper="DAD_TIMEOUT" type="int32" default="-1" description="Timeout in milliseconds used to check for the presence of duplicate IP addresses on the network.  If an address conflict is detected, the activation will fail.  A zero value means that no duplicate address detection is performed, -1 means the default value (either configuration ipvx.dad-timeout override or zero).  A value greater than zero is a timeout in milliseconds. The property is currently implemented only for IPv4." /><property name="dhcp-duid" name_upper="DHCP_DUID" type="string" description="A string containing the DHCPv6 Unique Identifier (DUID) used by the dhcp client to identify itself to DHCPv6 servers (RFC 3315). The DUID is carried in the Client Identifier option. If the property is a hex string ('aa:bb:cc') it is interpreted as a binary DUID and filled as an opaque value in the Client Identifier option. The special value &quot;lease&quot; will retrieve the DUID previously used from the lease file belonging to the connection. If no DUID is found and &quot;dhclient&quot; is the configured dhcp client, the DUID is searched in the system-wide dhclient lease file. If still no DUID is found, or another dhcp client is used, a global and permanent DUID-UUID (RFC 6355) will be generated based on the machine-id. The special values &quot;llt&quot; and &quot;ll&quot; will generate a DUID of type LLT or LL (see RFC 3315) based on the current MAC address of the device. In order to try providing a stable DUID-LLT, the time field will contain a constant timestamp that is used globally (for all profiles) and persisted to disk. The special values &quot;stable-llt&quot;, &quot;stable-ll&quot; and &quot;stable-uuid&quot; will generate a DUID of the corresponding type, derived from the connection's stable-id and a per-host unique key. You may want to include the &quot;${DEVICE}&quot; or &quot;${MAC}&quot; specifier in the stable-id, in case this profile gets activated on multiple devices. So, the link-layer address of &quot;stable-ll&quot; and &quot;stable-llt&quot; will be a generated address derived from the stable id. The DUID-LLT time value in the &quot;stable-llt&quot; option will be picked among a static timespan of three years (the upper bound of the interval is the same constant timestamp used in &quot;llt&quot;). When the property is unset, the global value provided for &quot;ipv6.dhcp-duid&quot; is used. If no global value is provided, the default &quot;lease&quot; value is assumed." /><property name="dhcp-hostname" name_upper="DHCP_HOSTNAME" type="string" description="If the &quot;dhcp-send-hostname&quot; property is TRUE, then the specified name will be sent to the DHCP server when acquiring a lease. This property and &quot;dhcp-fqdn&quot; are mutually exclusive and cannot be set at the same time." /><property name="dhcp-hostname-flags" name_upper="DHCP_HOSTNAME_FLAGS" type="uint32" default="0" description="Flags for the DHCP hostname and FQDN. Currently, this property only includes flags to control the FQDN flags set in the DHCP FQDN option. Supported FQDN flags are NM_DHCP_HOSTNAME_FLAG_FQDN_SERV_UPDATE (0x1), NM_DHCP_HOSTNAME_FLAG_FQDN_ENCODED (0x2) and NM_DHCP_HOSTNAME_FLAG_FQDN_NO_UPDATE (0x4).  When no FQDN flag is set and NM_DHCP_HOSTNAME_FLAG_FQDN_CLEAR_FLAGS (0x8) is set, the DHCP FQDN option will contain no flag. Otherwise, if no FQDN flag is set and NM_DHCP_HOSTNAME_FLAG_FQDN_CLEAR_FLAGS (0x8) is not set, the standard FQDN flags are set in the request: NM_DHCP_HOSTNAME_FLAG_FQDN_SERV_UPDATE (0x1), NM_DHCP_HOSTNAME_FLAG_FQDN_ENCODED (0x2) for IPv4 and NM_DHCP_HOSTNAME_FLAG_FQDN_SERV_UPDATE (0x1) for IPv6. When this property is set to the default value NM_DHCP_HOSTNAME_FLAG_NONE (0x0), a global default is looked up in NetworkManager configuration. If that value is unset or also NM_DHCP_HOSTNAME_FLAG_NONE (0x0), then the standard FQDN flags described above are sent in the DHCP requests." /><property name="dhcp-iaid" name_upper="DHCP_IAID" type="string" description="A string containing the &quot;Identity Association Identifier&quot; (IAID) used by the DHCP client. The property is a 32-bit decimal value or a special value among &quot;mac&quot;, &quot;perm-mac&quot;, &quot;ifname&quot; and &quot;stable&quot;. When set to &quot;mac&quot; (or &quot;perm-mac&quot;), the last 4 bytes of the current (or permanent) MAC address are used as IAID. When set to &quot;ifname&quot;, the IAID is computed by hashing the interface name. The special value &quot;stable&quot; can be used to generate an IAID based on the stable-id (see connection.stable-id), a per-host key and the interface name. When the property is unset, the value from global configuration is used; if no global default is set then the IAID is assumed to be &quot;ifname&quot;. Note that at the moment this property is ignored for IPv6 by dhclient, which always derives the IAID from the MAC address." /><property name="dhcp-reject-servers" name_upper="DHCP_REJECT_SERVERS" type="array of string" description="Array of servers from which DHCP offers must be rejected. This property is useful to avoid getting a lease from misconfigured or rogue servers. For DHCPv4, each element must be an IPv4 address, optionally followed by a slash and a prefix length (e.g. &quot;192.168.122.0/24&quot;). This property is currently not implemented for DHCPv6." /><property name="dhcp-send-hostname" name_upper="DHCP_SEND_HOSTNAME" type="boolean" default="TRUE" description="If TRUE, a hostname is sent to the DHCP server when acquiring a lease. Some DHCP servers use this hostname to update DNS databases, essentially providing a static hostname for the computer.  If the &quot;dhcp-hostname&quot; property is NULL and this property is TRUE, the current persistent hostname of the computer is sent." /><property name="dhcp-timeout" name_upper="DHCP_TIMEOUT" type="int32" default="0" description="A timeout for a DHCP transaction in seconds. If zero (the default), a globally configured default is used. If still unspecified, a device specific timeout is used (usually 45 seconds). Set to 2147483647 (MAXINT32) for infinity." /><property name="dns" name_upper="DNS" type="array of byte array" description="Array of IP addresses of DNS servers." /><property name="dns-options" name_upper="DNS_OPTIONS" type="array of string" description="Array of DNS options as described in man 5 resolv.conf. NULL means that the options are unset and left at the default. In this case NetworkManager will use default options. This is distinct from an empty list of properties. The currently supported options are &quot;attempts&quot;, &quot;debug&quot;, &quot;edns0&quot;, &quot;inet6&quot;, &quot;ip6-bytestring&quot;, &quot;ip6-dotint&quot;, &quot;ndots&quot;, &quot;no-check-names&quot;, &quot;no-ip6-dotint&quot;, &quot;no-reload&quot;, &quot;no-tld-query&quot;, &quot;rotate&quot;, &quot;single-request&quot;, &quot;single-request-reopen&quot;, &quot;timeout&quot;, &quot;trust-ad&quot;, &quot;use-vc&quot;. The &quot;trust-ad&quot; setting is only honored if the profile contributes name servers to resolv.conf, and if all contributing profiles have &quot;trust-ad&quot; enabled. When using a caching DNS plugin (dnsmasq or systemd-resolved in NetworkManager.conf) then &quot;edns0&quot; and &quot;trust-ad&quot; are automatically added." /><property name="dns-priority" name_upper="DNS_PRIORITY" type="int32" default="0" description="DNS servers priority. The relative priority for DNS servers specified by this setting.  A lower numerical value is better (higher priority). Negative values have the special effect of excluding other configurations with a greater numerical priority value; so in presence of at least one negative priority, only DNS servers from connections with the lowest priority value will be used. To avoid all DNS leaks, set the priority of the profile that should be used to the most negative value of all active connections profiles. Zero selects a globally configured default value. If the latter is missing or zero too, it defaults to 50 for VPNs (including WireGuard) and 100 for other connections. Note that the priority is to order DNS settings for multiple active connections.  It does not disambiguate multiple DNS servers within the same connection profile. When multiple devices have configurations with the same priority, VPNs will be considered first, then devices with the best (lowest metric) default route and then all other devices. When using dns=default, servers with higher priority will be on top of resolv.conf. To prioritize a given server over another one within the same connection, just specify them in the desired order. Note that commonly the resolver tries name servers in /etc/resolv.conf in the order listed, proceeding with the next server in the list on failure. See for example the &quot;rotate&quot; option of the dns-options setting. If there are any negative DNS priorities, then only name servers from the devices with that lowest priority will be considered. When using a DNS resolver that supports Conditional Forwarding or Split DNS (with dns=dnsmasq or dns=systemd-resolved settings), each connection is used to query domains in its search list. The search domains determine which name servers to ask, and the DNS priority is used to prioritize name servers based on the domain.  Queries for domains not present in any search list are routed through connections having the '~.' special wildcard domain, which is added automatically to connections with the default route (or can be added manually).  When multiple connections specify the same domain, the one with the best priority (lowest numerical value) wins.  If a sub domain is configured on another interface it will be accepted regardless the priority, unless parent domain on the other interface has a negative priority, which causes the sub domain to be shadowed. With Split DNS one can avoid undesired DNS leaks by properly configuring DNS priorities and the search domains, so that only name servers of the desired interface are configured." /><property name="dns-search" name_upper="DNS_SEARCH" type="array of string" description="Array of DNS search domains. Domains starting with a tilde ('~') are considered 'routing' domains and are used only to decide the interface over which a query must be forwarded; they are not used to complete unqualified host names. When using a DNS plugin that supports Conditional Forwarding or Split DNS, then the search domains specify which name servers to query. This makes the behavior different from running with plain /etc/resolv.conf. For more information see also the dns-priority setting." /><property name="gateway" name_upper="GATEWAY" type="string" description="The gateway associated with this configuration. This is only meaningful if &quot;addresses&quot; is also set. The gateway's main purpose is to control the next hop of the standard default route on the device. Hence, the gateway property conflicts with &quot;never-default&quot; and will be automatically dropped if the IP configuration is set to never-default. As an alternative to set the gateway, configure a static default route with /0 as prefix length." /><property name="ignore-auto-dns" name_upper="IGNORE_AUTO_DNS" type="boolean" default="FALSE" description="When &quot;method&quot; is set to &quot;auto&quot; and this property to TRUE, automatically configured name servers and search domains are ignored and only name servers and search domains specified in the &quot;dns&quot; and &quot;dns-search&quot; properties, if any, are used." /><property name="ignore-auto-routes" name_upper="IGNORE_AUTO_ROUTES" type="boolean" default="FALSE" description="When &quot;method&quot; is set to &quot;auto&quot; and this property to TRUE, automatically configured routes are ignored and only routes specified in the &quot;routes&quot; property, if any, are used." /><property name="ip6-privacy" name_upper="IP6_PRIVACY" type="NMSettingIP6ConfigPrivacy (int32)" description="Configure IPv6 Privacy Extensions for SLAAC, described in RFC4941.  If enabled, it makes the kernel generate a temporary IPv6 address in addition to the public one generated from MAC address via modified EUI-64.  This enhances privacy, but could cause problems in some applications, on the other hand.  The permitted values are: -1: unknown, 0: disabled, 1: enabled (prefer public address), 2: enabled (prefer temporary addresses). Having a per-connection setting set to &quot;-1&quot; (unknown) means fallback to global configuration &quot;ipv6.ip6-privacy&quot;. If also global configuration is unspecified or set to &quot;-1&quot;, fallback to read &quot;/proc/sys/net/ipv6/conf/default/use_tempaddr&quot;. Note that this setting is distinct from the Stable Privacy addresses that can be enabled with the &quot;addr-gen-mode&quot; property's &quot;stable-privacy&quot; setting as another way of avoiding host tracking with IPv6 addresses." /><property name="may-fail" name_upper="MAY_FAIL" type="boolean" default="TRUE" description="If TRUE, allow overall network configuration to proceed even if the configuration specified by this property times out.  Note that at least one IP configuration must succeed or overall network configuration will still fail.  For example, in IPv6-only networks, setting this property to TRUE on the NMSettingIP4Config allows the overall network configuration to succeed if IPv4 configuration fails but IPv6 configuration completes successfully." /><property name="method" name_upper="METHOD" type="string" description="IP configuration method. NMSettingIP4Config and NMSettingIP6Config both support &quot;disabled&quot;, &quot;auto&quot;, &quot;manual&quot;, and &quot;link-local&quot;. See the subclass-specific documentation for other values. In general, for the &quot;auto&quot; method, properties such as &quot;dns&quot; and &quot;routes&quot; specify information that is added on to the information returned from automatic configuration.  The &quot;ignore-auto-routes&quot; and &quot;ignore-auto-dns&quot; properties modify this behavior. For methods that imply no upstream network, such as &quot;shared&quot; or &quot;link-local&quot;, these properties must be empty. For IPv4 method &quot;shared&quot;, the IP subnet can be configured by adding one manual IPv4 address or otherwise 10.42.x.0/24 is chosen. Note that the shared method must be configured on the interface which shares the internet to a subnet, not on the uplink which is shared." /><property name="never-default" name_upper="NEVER_DEFAULT" type="boolean" default="FALSE" description="If TRUE, this connection will never be the default connection for this IP type, meaning it will never be assigned the default route by NetworkManager." /><property name="ra-timeout" name_upper="RA_TIMEOUT" type="int32" default="0" description="A timeout for waiting Router Advertisements in seconds. If zero (the default), a globally configured default is used. If still unspecified, the timeout depends on the sysctl settings of the device. Set to 2147483647 (MAXINT32) for infinity." /><property name="required-timeout" name_upper="REQUIRED_TIMEOUT" type="int32" default="-1" description="The minimum time interval in milliseconds for which dynamic IP configuration should be tried before the connection succeeds. This property is useful for example if both IPv4 and IPv6 are enabled and are allowed to fail. Normally the connection succeeds as soon as one of the two address families completes; by setting a required timeout for e.g. IPv4, one can ensure that even if IP6 succeeds earlier than IPv4, NetworkManager waits some time for IPv4 before the connection becomes active. Note that if &quot;may-fail&quot; is FALSE for the same address family, this property has no effect as NetworkManager needs to wait for the full DHCP timeout. A zero value means that no required timeout is present, -1 means the default value (either configuration ipvx.required-timeout override or zero)." /><property name="route-metric" name_upper="ROUTE_METRIC" type="int64" default="-1" description="The default metric for routes that don't explicitly specify a metric. The default value -1 means that the metric is chosen automatically based on the device type. The metric applies to dynamic routes, manual (static) routes that don't have an explicit metric setting, address prefix routes, and the default route. Note that for IPv6, the kernel accepts zero (0) but coerces it to 1024 (user default). Hence, setting this property to zero effectively mean setting it to 1024. For IPv4, zero is a regular value for the metric." /><property name="route-table" name_upper="ROUTE_TABLE" type="uint32" default="0" description="Enable policy routing (source routing) and set the routing table used when adding routes. This affects all routes, including device-routes, IPv4LL, DHCP, SLAAC, default-routes and static routes. But note that static routes can individually overwrite the setting by explicitly specifying a non-zero routing table. If the table setting is left at zero, it is eligible to be overwritten via global configuration. If the property is zero even after applying the global configuration value, policy routing is disabled for the address family of this connection. Policy routing disabled means that NetworkManager will add all routes to the main table (except static routes that explicitly configure a different table). Additionally, NetworkManager will not delete any extraneous routes from tables except the main table. This is to preserve backward compatibility for users who manage routing tables outside of NetworkManager." /><property name="routes" name_upper="ROUTES" type="array of legacy IPv6 route struct" description="Array of IP routes." /><property name="token" name_upper="TOKEN" type="string" description="Configure the token for draft-chown-6man-tokenised-ipv6-identifiers-02 IPv6 tokenized interface identifiers. Useful with eui64 addr-gen-mode." /></setting><setting name="ip-tunnel" description="IP Tunneling Settings" name_upper="IP_TUNNEL"><property name="encapsulation-limit" name_upper="ENCAPSULATION_LIMIT" type="uint32" default="0" description="How many additional levels of encapsulation are permitted to be prepended to packets. This property applies only to IPv6 tunnels." /><property name="flags" name_upper="FLAGS" type="uint32" default="0" description="Tunnel flags. Currently, the following values are supported: NM_IP_TUNNEL_FLAG_IP6_IGN_ENCAP_LIMIT (0x1), NM_IP_TUNNEL_FLAG_IP6_USE_ORIG_TCLASS (0x2), NM_IP_TUNNEL_FLAG_IP6_USE_ORIG_FLOWLABEL (0x4), NM_IP_TUNNEL_FLAG_IP6_MIP6_DEV (0x8), NM_IP_TUNNEL_FLAG_IP6_RCV_DSCP_COPY (0x10), NM_IP_TUNNEL_FLAG_IP6_USE_ORIG_FWMARK (0x20). They are valid only for IPv6 tunnels." /><property name="flow-label" name_upper="FLOW_LABEL" type="uint32" default="0" description="The flow label to assign to tunnel packets. This property applies only to IPv6 tunnels." /><property name="input-key" name_upper="INPUT_KEY" type="string" description="The key used for tunnel input packets; the property is valid only for certain tunnel modes (GRE, IP6GRE). If empty, no key is used." /><property name="local" name_upper="LOCAL" type="string" description="The local endpoint of the tunnel; the value can be empty, otherwise it must contain an IPv4 or IPv6 address." /><property name="mode" name_upper="MODE" type="uint32" default="0" description="The tunneling mode, for example NM_IP_TUNNEL_MODE_IPIP (1) or NM_IP_TUNNEL_MODE_GRE (2)." /><property name="mtu" name_upper="MTU" type="uint32" default="0" description="If non-zero, only transmit packets of the specified size or smaller, breaking larger packets up into multiple fragments." /><property name="output-key" name_upper="OUTPUT_KEY" type="string" description="The key used for tunnel output packets; the property is valid only for certain tunnel modes (GRE, IP6GRE). If empty, no key is used." /><property name="parent" name_upper="PARENT" type="string" description="If given, specifies the parent interface name or parent connection UUID the new device will be bound to so that tunneled packets will only be routed via that interface." /><property name="path-mtu-discovery" name_upper="PATH_MTU_DISCOVERY" type="boolean" default="TRUE" description="Whether to enable Path MTU Discovery on this tunnel." /><property name="remote" name_upper="REMOTE" type="string" description="The remote endpoint of the tunnel; the value must contain an IPv4 or IPv6 address." /><property name="tos" name_upper="TOS" type="uint32" default="0" description="The type of service (IPv4) or traffic class (IPv6) field to be set on tunneled packets." /><property name="ttl" name_upper="TTL" type="uint32" default="0" description="The TTL to assign to tunneled packets. 0 is a special value meaning that packets inherit the TTL value." /></setting><setting name="macsec" description="MACSec Settings" name_upper="MACSEC"><property name="encrypt" name_upper="ENCRYPT" type="boolean" default="TRUE" description="Whether the transmitted traffic must be encrypted." /><property name="mka-cak" name_upper="MKA_CAK" type="string" description="The pre-shared CAK (Connectivity Association Key) for MACsec Key Agreement." /><property name="mka-cak-flags" name_upper="MKA_CAK_FLAGS" type="NMSettingSecretFlags (uint32)" description="Flags indicating how to handle the &quot;mka-cak&quot; property." /><property name="mka-ckn" name_upper="MKA_CKN" type="string" description="The pre-shared CKN (Connectivity-association Key Name) for MACsec Key Agreement." /><property name="mode" name_upper="MODE" type="int32" default="0" description="Specifies how the CAK (Connectivity Association Key) for MKA (MACsec Key Agreement) is obtained." /><property name="parent" name_upper="PARENT" type="string" description="If given, specifies the parent interface name or parent connection UUID from which this MACSEC interface should be created.  If this property is not specified, the connection must contain an &quot;802-3-ethernet&quot; setting with a &quot;mac-address&quot; property." /><property name="port" name_upper="PORT" type="int32" default="1" description="The port component of the SCI (Secure Channel Identifier), between 1 and 65534." /><property name="send-sci" name_upper="SEND_SCI" type="boolean" default="TRUE" description="Specifies whether the SCI (Secure Channel Identifier) is included in every packet." /><property name="validation" name_upper="VALIDATION" type="int32" default="2" description="Specifies the validation mode for incoming frames." /></setting><setting name="macvlan" description="MAC VLAN Settings" name_upper="MACVLAN"><property name="mode" name_upper="MODE" type="uint32" default="0" description="The macvlan mode, which specifies the communication mechanism between multiple macvlans on the same lower device." /><property name="parent" name_upper="PARENT" type="string" description="If given, specifies the parent interface name or parent connection UUID from which this MAC-VLAN interface should be created.  If this property is not specified, the connection must contain an &quot;802-3-ethernet&quot; setting with a &quot;mac-address&quot; property." /><property name="promiscuous" name_upper="PROMISCUOUS" type="boolean" default="TRUE" description="Whether the interface should be put in promiscuous mode." /><property name="tap" name_upper="TAP" type="boolean" default="FALSE" description="Whether the interface should be a MACVTAP." /></setting><setting name="match" description="Match settings" name_upper="MATCH"><property name="driver" name_upper="DRIVER" type="array of string" description="A list of driver names to match. Each element is a shell wildcard pattern. See NMSettingMatch:interface-name for how special characters '|', '&amp;', '!' and '\\' are used for optional and mandatory matches and inverting the pattern." /><property name="interface-name" name_upper="INTERFACE_NAME" type="array of string" description="A list of interface names to match. Each element is a shell wildcard pattern. An element can be prefixed with a pipe symbol (|) or an ampersand (&amp;). The former means that the element is optional and the latter means that it is mandatory. If there are any optional elements, than the match evaluates to true if at least one of the optional element matches (logical OR). If there are any mandatory elements, then they all must match (logical AND). By default, an element is optional. This means that an element &quot;foo&quot; behaves the same as &quot;|foo&quot;. An element can also be inverted with exclamation mark (!) between the pipe symbol (or the ampersand) and before the pattern. Note that &quot;!foo&quot; is a shortcut for the mandatory match &quot;&amp;!foo&quot;. Finally, a backslash can be used at the beginning of the element (after the optional special characters) to escape the start of the pattern. For example, &quot;&amp;\\!a&quot; is an mandatory match for literally &quot;!a&quot;." /><property name="kernel-command-line" name_upper="KERNEL_COMMAND_LINE" type="array of string" description="A list of kernel command line arguments to match. This may be used to check whether a specific kernel command line option is set (or unset, if prefixed with the exclamation mark). The argument must either be a single word, or an assignment (i.e. two words, joined by &quot;=&quot;). In the former case the kernel command line is searched for the word appearing as is, or as left hand side of an assignment. In the latter case, the exact assignment is looked for with right and left hand side matching. Wildcard patterns are not supported. See NMSettingMatch:interface-name for how special characters '|', '&amp;', '!' and '\\' are used for optional and mandatory matches and inverting the match." /><property name="path" name_upper="PATH" type="array of string" description="A list of paths to match against the ID_PATH udev property of devices. ID_PATH represents the topological persistent path of a device. It typically contains a subsystem string (pci, usb, platform, etc.) and a subsystem-specific identifier. For PCI devices the path has the form &quot;pci-$domain:$bus:$device.$function&quot;, where each variable is an hexadecimal value; for example &quot;pci-0000:0a:00.0&quot;. The path of a device can be obtained with &quot;udevadm info /sys/class/net/$dev | grep ID_PATH=&quot; or by looking at the &quot;path&quot; property exported by NetworkManager (&quot;nmcli -f general.path device show $dev&quot;). Each element of the list is a shell wildcard pattern. See NMSettingMatch:interface-name for how special characters '|', '&amp;', '!' and '\\' are used for optional and mandatory matches and inverting the pattern." /></setting><setting name="802-11-olpc-mesh" description="OLPC Wireless Mesh Settings" name_upper="OLPC_MESH"><property name="channel" name_upper="CHANNEL" type="uint32" default="0" description="Channel on which the mesh network to join is located." /><property name="dhcp-anycast-address" name_upper="DHCP_ANYCAST_ADDRESS" type="byte array" description="Anycast DHCP MAC address used when requesting an IP address via DHCP. The specific anycast address used determines which DHCP server class answers the request. This is currently only implemented by dhclient DHCP plugin." /><property name="ssid" name_upper="SSID" type="byte array" description="SSID of the mesh network to join." /></setting><setting name="ovs-bridge" description="OvsBridge Link Settings" name_upper="OVS_BRIDGE"><property name="datapath-type" name_upper="DATAPATH_TYPE" type="string" description="The data path type. One of &quot;system&quot;, &quot;netdev&quot; or empty." /><property name="fail-mode" name_upper="FAIL_MODE" type="string" description="The bridge failure mode. One of &quot;secure&quot;, &quot;standalone&quot; or empty." /><property name="mcast-snooping-enable" name_upper="MCAST_SNOOPING_ENABLE" type="boolean" default="FALSE" description="Enable or disable multicast snooping." /><property name="rstp-enable" name_upper="RSTP_ENABLE" type="boolean" default="FALSE" description="Enable or disable RSTP." /><property name="stp-enable" name_upper="STP_ENABLE" type="boolean" default="FALSE" description="Enable or disable STP." /></setting><setting name="ovs-dpdk" description="OvsDpdk Link Settings" name_upper="OVS_DPDK"><property name="devargs" name_upper="DEVARGS" type="string" description="Open vSwitch DPDK device arguments." /></setting><setting name="ovs-interface" description="Open vSwitch Interface Settings" name_upper="OVS_INTERFACE"><property name="type" name_upper="TYPE" type="string" description="The interface type. Either &quot;internal&quot;, &quot;system&quot;, &quot;patch&quot;, &quot;dpdk&quot;, or empty." /></setting><setting name="ovs-patch" description="OvsPatch Link Settings" name_upper="OVS_PATCH"><property name="peer" name_upper="PEER" type="string" description="Specifies the name of the interface for the other side of the patch. The patch on the other side must also set this interface as peer." /></setting><setting name="ovs-port" description="OvsPort Link Settings" name_upper="OVS_PORT"><property name="bond-downdelay" name_upper="BOND_DOWNDELAY" type="uint32" default="0" description="The time port must be inactive in order to be considered down." /><property name="bond-mode" name_upper="BOND_MODE" type="string" description="Bonding mode. One of &quot;active-backup&quot;, &quot;balance-slb&quot;, or &quot;balance-tcp&quot;." /><property name="bond-updelay" name_upper="BOND_UPDELAY" type="uint32" default="0" description="The time port must be active before it starts forwarding traffic." /><property name="lacp" name_upper="LACP" type="string" description="LACP mode. One of &quot;active&quot;, &quot;off&quot;, or &quot;passive&quot;." /><property name="tag" name_upper="TAG" type="uint32" default="0" description="The VLAN tag in the range 0-4095." /><property name="vlan-mode" name_upper="VLAN_MODE" type="string" description="The VLAN mode. One of &quot;access&quot;, &quot;native-tagged&quot;, &quot;native-untagged&quot;, &quot;trunk&quot; or unset." /></setting><setting name="ppp" description="Point-to-Point Protocol Settings" name_upper="PPP"><property name="baud" name_upper="BAUD" type="uint32" default="0" description="If non-zero, instruct pppd to set the serial port to the specified baudrate.  This value should normally be left as 0 to automatically choose the speed." /><property name="crtscts" name_upper="CRTSCTS" type="boolean" default="FALSE" description="If TRUE, specify that pppd should set the serial port to use hardware flow control with RTS and CTS signals.  This value should normally be set to FALSE." /><property name="lcp-echo-failure" name_upper="LCP_ECHO_FAILURE" type="uint32" default="0" description="If non-zero, instruct pppd to presume the connection to the peer has failed if the specified number of LCP echo-requests go unanswered by the peer.  The &quot;lcp-echo-interval&quot; property must also be set to a non-zero value if this property is used." /><property name="lcp-echo-interval" name_upper="LCP_ECHO_INTERVAL" type="uint32" default="0" description="If non-zero, instruct pppd to send an LCP echo-request frame to the peer every n seconds (where n is the specified value).  Note that some PPP peers will respond to echo requests and some will not, and it is not possible to autodetect this." /><property name="mppe-stateful" name_upper="MPPE_STATEFUL" type="boolean" default="FALSE" description="If TRUE, stateful MPPE is used.  See pppd documentation for more information on stateful MPPE." /><property name="mru" name_upper="MRU" type="uint32" default="0" description="If non-zero, instruct pppd to request that the peer send packets no larger than the specified size.  If non-zero, the MRU should be between 128 and 16384." /><property name="mtu" name_upper="MTU" type="uint32" default="0" description="If non-zero, instruct pppd to send packets no larger than the specified size." /><property name="no-vj-comp" name_upper="NO_VJ_COMP" type="boolean" default="FALSE" description="If TRUE, Van Jacobsen TCP header compression will not be requested." /><property name="noauth" name_upper="NOAUTH" type="boolean" default="TRUE" description="If TRUE, do not require the other side (usually the PPP server) to authenticate itself to the client.  If FALSE, require authentication from the remote side.  In almost all cases, this should be TRUE." /><property name="nobsdcomp" name_upper="NOBSDCOMP" type="boolean" default="FALSE" description="If TRUE, BSD compression will not be requested." /><property name="nodeflate" name_upper="NODEFLATE" type="boolean" default="FALSE" description="If TRUE, &quot;deflate&quot; compression will not be requested." /><property name="refuse-chap" name_upper="REFUSE_CHAP" type="boolean" default="FALSE" description="If TRUE, the CHAP authentication method will not be used." /><property name="refuse-eap" name_upper="REFUSE_EAP" type="boolean" default="FALSE" description="If TRUE, the EAP authentication method will not be used." /><property name="refuse-mschap" name_upper="REFUSE_MSCHAP" type="boolean" default="FALSE" description="If TRUE, the MSCHAP authentication method will not be used." /><property name="refuse-mschapv2" name_upper="REFUSE_MSCHAPV2" type="boolean" default="FALSE" description="If TRUE, the MSCHAPv2 authentication method will not be used." /><property name="refuse-pap" name_upper="REFUSE_PAP" type="boolean" default="FALSE" description="If TRUE, the PAP authentication method will not be used." /><property name="require-mppe" name_upper="REQUIRE_MPPE" type="boolean" default="FALSE" description="If TRUE, MPPE (Microsoft Point-to-Point Encryption) will be required for the PPP session.  If either 64-bit or 128-bit MPPE is not available the session will fail.  Note that MPPE is not used on mobile broadband connections." /><property name="require-mppe-128" name_upper="REQUIRE_MPPE_128" type="boolean" default="FALSE" description="If TRUE, 128-bit MPPE (Microsoft Point-to-Point Encryption) will be required for the PPP session, and the &quot;require-mppe&quot; property must also be set to TRUE.  If 128-bit MPPE is not available the session will fail." /></setting><setting name="pppoe" description="PPP-over-Ethernet Settings" name_upper="PPPOE"><property name="parent" name_upper="PARENT" type="string" description="If given, specifies the parent interface name on which this PPPoE connection should be created.  If this property is not specified, the connection is activated on the interface specified in &quot;interface-name&quot; of NMSettingConnection." /><property name="password" name_upper="PASSWORD" type="string" description="Password used to authenticate with the PPPoE service." /><property name="password-flags" name_upper="PASSWORD_FLAGS" type="NMSettingSecretFlags (uint32)" description="Flags indicating how to handle the &quot;password&quot; property." /><property name="service" name_upper="SERVICE" type="string" description="If specified, instruct PPPoE to only initiate sessions with access concentrators that provide the specified service.  For most providers, this should be left blank.  It is only required if there are multiple access concentrators or a specific service is known to be required." /><property name="username" name_upper="USERNAME" type="string" description="Username used to authenticate with the PPPoE service." /></setting><setting name="proxy" description="WWW Proxy Settings" name_upper="PROXY"><property name="browser-only" name_upper="BROWSER_ONLY" type="boolean" default="FALSE" description="Whether the proxy configuration is for browser only." /><property name="method" name_upper="METHOD" type="int32" default="0" description="Method for proxy configuration, Default is NM_SETTING_PROXY_METHOD_NONE (0)" /><property name="pac-script" name_upper="PAC_SCRIPT" type="string" description="PAC script for the connection." /><property name="pac-url" name_upper="PAC_URL" type="string" description="PAC URL for obtaining PAC file." /></setting><setting name="serial" description="Serial Link Settings" name_upper="SERIAL"><property name="baud" name_upper="BAUD" type="uint32" default="57600" description="Speed to use for communication over the serial port.  Note that this value usually has no effect for mobile broadband modems as they generally ignore speed settings and use the highest available speed." /><property name="bits" name_upper="BITS" type="uint32" default="8" description="Byte-width of the serial communication. The 8 in &quot;8n1&quot; for example." /><property name="parity" name_upper="PARITY" type="NMSettingSerialParity (byte)" description="Parity setting of the serial port." /><property name="send-delay" name_upper="SEND_DELAY" type="uint64" default="0" description="Time to delay between each byte sent to the modem, in microseconds." /><property name="stopbits" name_upper="STOPBITS" type="uint32" default="1" description="Number of stop bits for communication on the serial port.  Either 1 or 2. The 1 in &quot;8n1&quot; for example." /></setting><setting name="sriov" description="SR-IOV settings" name_upper="SRIOV"><property name="autoprobe-drivers" name_upper="AUTOPROBE_DRIVERS" type="NMTernary (int32)" description="Whether to autoprobe virtual functions by a compatible driver. If set to NM_TERNARY_TRUE (1), the kernel will try to bind VFs to a compatible driver and if this succeeds a new network interface will be instantiated for each VF. If set to NM_TERNARY_FALSE (0), VFs will not be claimed and no network interfaces will be created for them. When set to NM_TERNARY_DEFAULT (-1), the global default is used; in case the global default is unspecified it is assumed to be NM_TERNARY_TRUE (1)." /><property name="total-vfs" name_upper="TOTAL_VFS" type="uint32" default="0" description="The total number of virtual functions to create. Note that when the sriov setting is present NetworkManager enforces the number of virtual functions on the interface (also when it is zero) during activation and resets it upon deactivation. To prevent any changes to SR-IOV parameters don't add a sriov setting to the connection." /><property name="vfs" name_upper="VFS" type="array of vardict" description="Array of virtual function descriptors. Each VF descriptor is a dictionary mapping attribute names to GVariant values. The 'index' entry is mandatory for each VF. When represented as string a VF is in the form: &quot;INDEX [ATTR=VALUE[ ATTR=VALUE]...]&quot;. for example: &quot;2 mac=00:11:22:33:44:55 spoof-check=true&quot;. Multiple VFs can be specified using a comma as separator. Currently, the following attributes are supported: mac, spoof-check, trust, min-tx-rate, max-tx-rate, vlans. The &quot;vlans&quot; attribute is represented as a semicolon-separated list of VLAN descriptors, where each descriptor has the form &quot;ID[.PRIORITY[.PROTO]]&quot;. PROTO can be either 'q' for 802.1Q (the default) or 'ad' for 802.1ad." /></setting><setting name="tc" description="Linux Traffic Control Settings" name_upper="TC_CONFIG"><property name="qdiscs" name_upper="QDISCS" type="array of vardict" description="Array of TC queueing disciplines. When the &quot;tc&quot; setting is present, qdiscs from this property are applied upon activation. If the property is empty, all qdiscs are removed and the device will only have the default qdisc assigned by kernel according to the &quot;net.core.default_qdisc&quot; sysctl. If the &quot;tc&quot; setting is not present, NetworkManager doesn't touch the qdiscs present on the interface." /><property name="tfilters" name_upper="TFILTERS" type="array of vardict" description="Array of TC traffic filters. When the &quot;tc&quot; setting is present, filters from this property are applied upon activation. If the property is empty, NetworkManager removes all the filters. If the &quot;tc&quot; setting is not present, NetworkManager doesn't touch the filters present on the interface." /></setting><setting name="team" description="Teaming Settings" name_upper="TEAM"><property name="config" name_upper="CONFIG" type="string" description="The JSON configuration for the team network interface.  The property should contain raw JSON configuration data suitable for teamd, because the value is passed directly to teamd. If not specified, the default configuration is used.  See man teamd.conf for the format details." /><property name="link-watchers" name_upper="LINK_WATCHERS" type="array of vardict" description="Link watchers configuration for the connection: each link watcher is defined by a dictionary, whose keys depend upon the selected link watcher. Available link watchers are 'ethtool', 'nsna_ping' and 'arp_ping' and it is specified in the dictionary with the key 'name'. Available keys are:   ethtool: 'delay-up', 'delay-down', 'init-wait'; nsna_ping: 'init-wait', 'interval', 'missed-max', 'target-host'; arp_ping: all the ones in nsna_ping and 'source-host', 'validate-active', 'validate-inactive', 'send-always'. See teamd.conf man for more details." /><property name="mcast-rejoin-count" name_upper="MCAST_REJOIN_COUNT" type="int32" default="-1" description="Corresponds to the teamd mcast_rejoin.count." /><property name="mcast-rejoin-interval" name_upper="MCAST_REJOIN_INTERVAL" type="int32" default="-1" description="Corresponds to the teamd mcast_rejoin.interval." /><property name="notify-peers-count" name_upper="NOTIFY_PEERS_COUNT" type="int32" default="-1" description="Corresponds to the teamd notify_peers.count." /><property name="notify-peers-interval" name_upper="NOTIFY_PEERS_INTERVAL" type="int32" default="-1" description="Corresponds to the teamd notify_peers.interval." /><property name="runner" name_upper="RUNNER" type="string" description="Corresponds to the teamd runner.name. Permitted values are: &quot;roundrobin&quot;, &quot;broadcast&quot;, &quot;activebackup&quot;, &quot;loadbalance&quot;, &quot;lacp&quot;, &quot;random&quot;." /><property name="runner-active" name_upper="RUNNER_ACTIVE" type="boolean" default="TRUE" description="Corresponds to the teamd runner.active." /><property name="runner-agg-select-policy" name_upper="RUNNER_AGG_SELECT_POLICY" type="string" description="Corresponds to the teamd runner.agg_select_policy." /><property name="runner-fast-rate" name_upper="RUNNER_FAST_RATE" type="boolean" default="FALSE" description="Corresponds to the teamd runner.fast_rate." /><property name="runner-hwaddr-policy" name_upper="RUNNER_HWADDR_POLICY" type="string" description="Corresponds to the teamd runner.hwaddr_policy." /><property name="runner-min-ports" name_upper="RUNNER_MIN_PORTS" type="int32" default="-1" description="Corresponds to the teamd runner.min_ports." /><property name="runner-sys-prio" name_upper="RUNNER_SYS_PRIO" type="int32" default="-1" description="Corresponds to the teamd runner.sys_prio." /><property name="runner-tx-balancer" name_upper="RUNNER_TX_BALANCER" type="string" description="Corresponds to the teamd runner.tx_balancer.name." /><property name="runner-tx-balancer-interval" name_upper="RUNNER_TX_BALANCER_INTERVAL" type="int32" default="-1" description="Corresponds to the teamd runner.tx_balancer.interval." /><property name="runner-tx-hash" name_upper="RUNNER_TX_HASH" type="array of string" description="Corresponds to the teamd runner.tx_hash." /></setting><setting name="team-port" description="Team Port Settings" name_upper="TEAM_PORT"><property name="config" name_upper="CONFIG" type="string" description="The JSON configuration for the team port. The property should contain raw JSON configuration data suitable for teamd, because the value is passed directly to teamd. If not specified, the default configuration is used. See man teamd.conf for the format details." /><property name="lacp-key" name_upper="LACP_KEY" type="int32" default="-1" description="Corresponds to the teamd ports.PORTIFNAME.lacp_key." /><property name="lacp-prio" name_upper="LACP_PRIO" type="int32" default="-1" description="Corresponds to the teamd ports.PORTIFNAME.lacp_prio." /><property name="link-watchers" name_upper="LINK_WATCHERS" type="array of vardict" description="Link watchers configuration for the connection: each link watcher is defined by a dictionary, whose keys depend upon the selected link watcher. Available link watchers are 'ethtool', 'nsna_ping' and 'arp_ping' and it is specified in the dictionary with the key 'name'. Available keys are:   ethtool: 'delay-up', 'delay-down', 'init-wait'; nsna_ping: 'init-wait', 'interval', 'missed-max', 'target-host'; arp_ping: all the ones in nsna_ping and 'source-host', 'validate-active', 'validate-inactive', 'send-always'. See teamd.conf man for more details." /><property name="prio" name_upper="PRIO" type="int32" default="0" description="Corresponds to the teamd ports.PORTIFNAME.prio." /><property name="queue-id" name_upper="QUEUE_ID" type="int32" default="-1" description="Corresponds to the teamd ports.PORTIFNAME.queue_id. When set to -1 means the parameter is skipped from the json config." /><property name="sticky" name_upper="STICKY" type="boolean" default="FALSE" description="Corresponds to the teamd ports.PORTIFNAME.sticky." /></setting><setting name="tun" description="Tunnel Settings" name_upper="TUN"><property name="group" name_upper="GROUP" type="string" description="The group ID which will own the device. If set to NULL everyone will be able to use the device." /><property name="mode" name_upper="MODE" type="uint32" default="1" description="The operating mode of the virtual device. Allowed values are NM_SETTING_TUN_MODE_TUN (1) to create a layer 3 device and NM_SETTING_TUN_MODE_TAP (2) to create an Ethernet-like layer 2 one." /><property name="multi-queue" name_upper="MULTI_QUEUE" type="boolean" default="FALSE" description="If the property is set to TRUE, the interface will support multiple file descriptors (queues) to parallelize packet sending or receiving. Otherwise, the interface will only support a single queue." /><property name="owner" name_upper="OWNER" type="string" description="The user ID which will own the device. If set to NULL everyone will be able to use the device." /><property name="pi" name_upper="PI" type="boolean" default="FALSE" description="If TRUE the interface will prepend a 4 byte header describing the physical interface to the packets." /><property name="vnet-hdr" name_upper="VNET_HDR" type="boolean" default="FALSE" description="If TRUE the IFF_VNET_HDR the tunnel packets will include a virtio network header." /></setting><setting name="user" description="General User Profile Settings" name_upper="USER"><property name="data" name_upper="DATA" type="dict of string to string" default="{}" description="A dictionary of key/value pairs with user data. This data is ignored by NetworkManager and can be used at the users discretion. The keys only support a strict ascii format, but the values can be arbitrary UTF8 strings up to a certain length." /></setting><setting name="vlan" description="VLAN Settings" name_upper="VLAN"><property name="egress-priority-map" name_upper="EGRESS_PRIORITY_MAP" type="array of string" description="For outgoing packets, a list of mappings from Linux SKB priorities to 802.1p priorities.  The mapping is given in the format &quot;from:to&quot; where both &quot;from&quot; and &quot;to&quot; are unsigned integers, ie &quot;7:3&quot;." /><property name="flags" name_upper="FLAGS" type="NMVlanFlags (uint32)" description="One or more flags which control the behavior and features of the VLAN interface.  Flags include NM_VLAN_FLAG_REORDER_HEADERS (0x1) (reordering of output packet headers), NM_VLAN_FLAG_GVRP (0x2) (use of the GVRP protocol), and NM_VLAN_FLAG_LOOSE_BINDING (0x4) (loose binding of the interface to its master device's operating state). NM_VLAN_FLAG_MVRP (0x8) (use of the MVRP protocol). The default value of this property is NM_VLAN_FLAG_REORDER_HEADERS, but it used to be 0. To preserve backward compatibility, the default-value in the D-Bus API continues to be 0 and a missing property on D-Bus is still considered as 0." /><property name="id" name_upper="ID" type="uint32" default="0" description="The VLAN identifier that the interface created by this connection should be assigned. The valid range is from 0 to 4094, without the reserved id 4095." /><property name="ingress-priority-map" name_upper="INGRESS_PRIORITY_MAP" type="array of string" description="For incoming packets, a list of mappings from 802.1p priorities to Linux SKB priorities.  The mapping is given in the format &quot;from:to&quot; where both &quot;from&quot; and &quot;to&quot; are unsigned integers, ie &quot;7:3&quot;." /><property name="parent" name_upper="PARENT" type="string" description="If given, specifies the parent interface name or parent connection UUID from which this VLAN interface should be created.  If this property is not specified, the connection must contain an &quot;802-3-ethernet&quot; setting with a &quot;mac-address&quot; property." /></setting><setting name="vpn" description="VPN Settings" name_upper="VPN"><property name="data" name_upper="DATA" type="dict of string to string" default="{}" description="Dictionary of key/value pairs of VPN plugin specific data.  Both keys and values must be strings." /><property name="persistent" name_upper="PERSISTENT" type="boolean" default="FALSE" description="If the VPN service supports persistence, and this property is TRUE, the VPN will attempt to stay connected across link changes and outages, until explicitly disconnected." /><property name="secrets" name_upper="SECRETS" type="dict of string to string" default="{}" description="Dictionary of key/value pairs of VPN plugin specific secrets like passwords or private keys.  Both keys and values must be strings." /><property name="service-type" name_upper="SERVICE_TYPE" type="string" description="D-Bus service name of the VPN plugin that this setting uses to connect to its network.  i.e. org.freedesktop.NetworkManager.vpnc for the vpnc plugin." /><property name="timeout" name_upper="TIMEOUT" type="uint32" default="0" description="Timeout for the VPN service to establish the connection. Some services may take quite a long time to connect. Value of 0 means a default timeout, which is 60 seconds (unless overridden by vpn.timeout in configuration file). Values greater than zero mean timeout in seconds." /><property name="user-name" name_upper="USER_NAME" type="string" description="If the VPN connection requires a user name for authentication, that name should be provided here.  If the connection is available to more than one user, and the VPN requires each user to supply a different name, then leave this property empty.  If this property is empty, NetworkManager will automatically supply the username of the user which requested the VPN connection." /></setting><setting name="vrf" description="VRF settings" name_upper="VRF"><property name="table" name_upper="TABLE" type="uint32" default="0" description="The routing table for this VRF." /></setting><setting name="vxlan" description="VXLAN Settings" name_upper="VXLAN"><property name="ageing" name_upper="AGEING" type="uint32" default="300" description="Specifies the lifetime in seconds of FDB entries learnt by the kernel." /><property name="destination-port" name_upper="DESTINATION_PORT" type="uint32" default="8472" description="Specifies the UDP destination port to communicate to the remote VXLAN tunnel endpoint." /><property name="id" name_upper="ID" type="uint32" default="0" description="Specifies the VXLAN Network Identifier (or VXLAN Segment Identifier) to use." /><property name="l2-miss" name_upper="L2_MISS" type="boolean" default="FALSE" description="Specifies whether netlink LL ADDR miss notifications are generated." /><property name="l3-miss" name_upper="L3_MISS" type="boolean" default="FALSE" description="Specifies whether netlink IP ADDR miss notifications are generated." /><property name="learning" name_upper="LEARNING" type="boolean" default="TRUE" description="Specifies whether unknown source link layer addresses and IP addresses are entered into the VXLAN device forwarding database." /><property name="limit" name_upper="LIMIT" type="uint32" default="0" description="Specifies the maximum number of FDB entries. A value of zero means that the kernel will store unlimited entries." /><property name="local" name_upper="LOCAL" type="string" description="If given, specifies the source IP address to use in outgoing packets." /><property name="parent" name_upper="PARENT" type="string" description="If given, specifies the parent interface name or parent connection UUID." /><property name="proxy" name_upper="PROXY" type="boolean" default="FALSE" description="Specifies whether ARP proxy is turned on." /><property name="remote" name_upper="REMOTE" type="string" description="Specifies the unicast destination IP address to use in outgoing packets when the destination link layer address is not known in the VXLAN device forwarding database, or the multicast IP address to join." /><property name="rsc" name_upper="RSC" type="boolean" default="FALSE" description="Specifies whether route short circuit is turned on." /><property name="source-port-max" name_upper="SOURCE_PORT_MAX" type="uint32" default="0" description="Specifies the maximum UDP source port to communicate to the remote VXLAN tunnel endpoint." /><property name="source-port-min" name_upper="SOURCE_PORT_MIN" type="uint32" default="0" description="Specifies the minimum UDP source port to communicate to the remote VXLAN tunnel endpoint." /><property name="tos" name_upper="TOS" type="uint32" default="0" description="Specifies the TOS value to use in outgoing packets." /><property name="ttl" name_upper="TTL" type="uint32" default="0" description="Specifies the time-to-live value to use in outgoing packets." /></setting><setting name="wifi-p2p" description="Wi-Fi P2P Settings" name_upper="WIFI_P2P"><property name="peer" name_upper="PEER" type="string" description="The P2P device that should be connected to. Currently, this is the only way to create or join a group." /><property name="wfd-ies" name_upper="WFD_IES" type="byte array" description="The Wi-Fi Display (WFD) Information Elements (IEs) to set. Wi-Fi Display requires a protocol specific information element to be set in certain Wi-Fi frames. These can be specified here for the purpose of establishing a connection. This setting is only useful when implementing a Wi-Fi Display client." /><property name="wps-method" name_upper="WPS_METHOD" type="uint32" default="0" description="Flags indicating which mode of WPS is to be used. There's little point in changing the default setting as NetworkManager will automatically determine the best method to use." /></setting><setting name="wimax" description="WiMax Settings" name_upper="WIMAX"><property name="mac-address" name_upper="MAC_ADDRESS" type="byte array" description="If specified, this connection will only apply to the WiMAX device whose MAC address matches. This property does not change the MAC address of the device (known as MAC spoofing). Deprecated: 1" /><property name="network-name" name_upper="NETWORK_NAME" type="string" description="Network Service Provider (NSP) name of the WiMAX network this connection should use. Deprecated: 1" /></setting><setting name="802-3-ethernet" description="Wired Ethernet Settings" name_upper="WIRED"><property name="accept-all-mac-addresses" name_upper="ACCEPT_ALL_MAC_ADDRESSES" type="NMTernary (int32)" description="When TRUE, setup the interface to accept packets for all MAC addresses. This is enabling the kernel interface flag IFF_PROMISC. When FALSE, the interface will only accept the packets with the interface destination mac address or broadcast." /><property name="auto-negotiate" name_upper="AUTO_NEGOTIATE" type="boolean" default="FALSE" description="When TRUE, enforce auto-negotiation of speed and duplex mode. If &quot;speed&quot; and &quot;duplex&quot; properties are both specified, only that single mode will be advertised and accepted during the link auto-negotiation process: this works only for BASE-T 802.3 specifications and is useful for enforcing gigabits modes, as in these cases link negotiation is mandatory. When FALSE, &quot;speed&quot; and &quot;duplex&quot; properties should be both set or link configuration will be skipped." /><property name="cloned-mac-address" name_upper="CLONED_MAC_ADDRESS" type="byte array" description="If specified, request that the device use this MAC address instead. This is known as MAC cloning or spoofing. Beside explicitly specifying a MAC address, the special values &quot;preserve&quot;, &quot;permanent&quot;, &quot;random&quot; and &quot;stable&quot; are supported. &quot;preserve&quot; means not to touch the MAC address on activation. &quot;permanent&quot; means to use the permanent hardware address if the device has one (otherwise this is treated as &quot;preserve&quot;). &quot;random&quot; creates a random MAC address on each connect. &quot;stable&quot; creates a hashed MAC address based on connection.stable-id and a machine dependent key. If unspecified, the value can be overwritten via global defaults, see manual of NetworkManager.conf. If still unspecified, it defaults to &quot;preserve&quot; (older versions of NetworkManager may use a different default value). On D-Bus, this field is expressed as &quot;assigned-mac-address&quot; or the deprecated &quot;cloned-mac-address&quot;." /><property name="duplex" name_upper="DUPLEX" type="string" description="When a value is set, either &quot;half&quot; or &quot;full&quot;, configures the device to use the specified duplex mode. If &quot;auto-negotiate&quot; is &quot;yes&quot; the specified duplex mode will be the only one advertised during link negotiation: this works only for BASE-T 802.3 specifications and is useful for enforcing gigabits modes, as in these cases link negotiation is mandatory. If the value is unset (the default), the link configuration will be either skipped (if &quot;auto-negotiate&quot; is &quot;no&quot;, the default) or will be auto-negotiated (if &quot;auto-negotiate&quot; is &quot;yes&quot;) and the local device will advertise all the supported duplex modes. Must be set together with the &quot;speed&quot; property if specified. Before specifying a duplex mode be sure your device supports it." /><property name="generate-mac-address-mask" name_upper="GENERATE_MAC_ADDRESS_MASK" type="string" description="With &quot;cloned-mac-address&quot; setting &quot;random&quot; or &quot;stable&quot;, by default all bits of the MAC address are scrambled and a locally-administered, unicast MAC address is created. This property allows to specify that certain bits are fixed. Note that the least significant bit of the first MAC address will always be unset to create a unicast MAC address. If the property is NULL, it is eligible to be overwritten by a default connection setting. If the value is still NULL or an empty string, the default is to create a locally-administered, unicast MAC address. If the value contains one MAC address, this address is used as mask. The set bits of the mask are to be filled with the current MAC address of the device, while the unset bits are subject to randomization. Setting &quot;FE:FF:FF:00:00:00&quot; means to preserve the OUI of the current MAC address and only randomize the lower 3 bytes using the &quot;random&quot; or &quot;stable&quot; algorithm. If the value contains one additional MAC address after the mask, this address is used instead of the current MAC address to fill the bits that shall not be randomized. For example, a value of &quot;FE:FF:FF:00:00:00 68:F7:28:00:00:00&quot; will set the OUI of the MAC address to 68:F7:28, while the lower bits are randomized. A value of &quot;02:00:00:00:00:00 00:00:00:00:00:00&quot; will create a fully scrambled globally-administered, burned-in MAC address. If the value contains more than one additional MAC addresses, one of them is chosen randomly. For example, &quot;02:00:00:00:00:00 00:00:00:00:00:00 02:00:00:00:00:00&quot; will create a fully scrambled MAC address, randomly locally or globally administered." /><property name="mac-address" name_upper="MAC_ADDRESS" type="byte array" description="If specified, this connection will only apply to the Ethernet device whose permanent MAC address matches. This property does not change the MAC address of the device (i.e. MAC spoofing)." /><property name="mac-address-blacklist" name_upper="MAC_ADDRESS_BLACKLIST" type="array of string" description="If specified, this connection will never apply to the Ethernet device whose permanent MAC address matches an address in the list.  Each MAC address is in the standard hex-digits-and-colons notation (00:11:22:33:44:55)." /><property name="mtu" name_upper="MTU" type="uint32" default="0" description="If non-zero, only transmit packets of the specified size or smaller, breaking larger packets up into multiple Ethernet frames." /><property name="port" name_upper="PORT" type="string" description="Specific port type to use if the device supports multiple attachment methods.  One of &quot;tp&quot; (Twisted Pair), &quot;aui&quot; (Attachment Unit Interface), &quot;bnc&quot; (Thin Ethernet) or &quot;mii&quot; (Media Independent Interface). If the device supports only one port type, this setting is ignored." /><property name="s390-nettype" name_upper="S390_NETTYPE" type="string" description="s390 network device type; one of &quot;qeth&quot;, &quot;lcs&quot;, or &quot;ctc&quot;, representing the different types of virtual network devices available on s390 systems." /><property name="s390-options" name_upper="S390_OPTIONS" type="dict of string to string" default="{}" description="Dictionary of key/value pairs of s390-specific device options.  Both keys and values must be strings.  Allowed keys include &quot;portno&quot;, &quot;layer2&quot;, &quot;portname&quot;, &quot;protocol&quot;, among others.  Key names must contain only alphanumeric characters (ie, [a-zA-Z0-9])." /><property name="s390-subchannels" name_upper="S390_SUBCHANNELS" type="array of string" description="Identifies specific subchannels that this network device uses for communication with z/VM or s390 host.  Like the &quot;mac-address&quot; property for non-z/VM devices, this property can be used to ensure this connection only applies to the network device that uses these subchannels.  The list should contain exactly 3 strings, and each string may only be composed of hexadecimal characters and the period (.) character." /><property name="speed" name_upper="SPEED" type="uint32" default="0" description="When a value greater than 0 is set, configures the device to use the specified speed. If &quot;auto-negotiate&quot; is &quot;yes&quot; the specified speed will be the only one advertised during link negotiation: this works only for BASE-T 802.3 specifications and is useful for enforcing gigabit speeds, as in this case link negotiation is mandatory. If the value is unset (0, the default), the link configuration will be either skipped (if &quot;auto-negotiate&quot; is &quot;no&quot;, the default) or will be auto-negotiated (if &quot;auto-negotiate&quot; is &quot;yes&quot;) and the local device will advertise all the supported speeds. In Mbit/s, ie 100 == 100Mbit/s. Must be set together with the &quot;duplex&quot; property when non-zero. Before specifying a speed value be sure your device supports it." /><property name="wake-on-lan" name_upper="WAKE_ON_LAN" type="uint32" default="1" description="The NMSettingWiredWakeOnLan options to enable. Not all devices support all options. May be any combination of NM_SETTING_WIRED_WAKE_ON_LAN_PHY (0x2), NM_SETTING_WIRED_WAKE_ON_LAN_UNICAST (0x4), NM_SETTING_WIRED_WAKE_ON_LAN_MULTICAST (0x8), NM_SETTING_WIRED_WAKE_ON_LAN_BROADCAST (0x10), NM_SETTING_WIRED_WAKE_ON_LAN_ARP (0x20), NM_SETTING_WIRED_WAKE_ON_LAN_MAGIC (0x40) or the special values NM_SETTING_WIRED_WAKE_ON_LAN_DEFAULT (0x1) (to use global settings) and NM_SETTING_WIRED_WAKE_ON_LAN_IGNORE (0x8000) (to disable management of Wake-on-LAN in NetworkManager)." /><property name="wake-on-lan-password" name_upper="WAKE_ON_LAN_PASSWORD" type="string" description="If specified, the password used with magic-packet-based Wake-on-LAN, represented as an Ethernet MAC address.  If NULL, no password will be required." /></setting><setting name="wireguard" description="WireGuard Settings" name_upper="WIREGUARD"><property name="fwmark" name_upper="FWMARK" type="uint32" default="0" description="The use of fwmark is optional and is by default off. Setting it to 0 disables it. Otherwise, it is a 32-bit fwmark for outgoing packets. Note that &quot;ip4-auto-default-route&quot; or &quot;ip6-auto-default-route&quot; enabled, implies to automatically choose a fwmark." /><property name="ip4-auto-default-route" name_upper="IP4_AUTO_DEFAULT_ROUTE" type="NMTernary (int32)" description="Whether to enable special handling of the IPv4 default route. If enabled, the IPv4 default route from wireguard.peer-routes will be placed to a dedicated routing-table and two policy routing rules will be added. The fwmark number is also used as routing-table for the default-route, and if fwmark is zero, an unused fwmark/table is chosen automatically. This corresponds to what wg-quick does with Table=auto and what WireGuard calls &quot;Improved Rule-based Routing&quot;. Note that for this automatism to work, you usually don't want to set ipv4.gateway, because that will result in a conflicting default route. Leaving this at the default will enable this option automatically if ipv4.never-default is not set and there are any peers that use a default-route as allowed-ips." /><property name="ip6-auto-default-route" name_upper="IP6_AUTO_DEFAULT_ROUTE" type="NMTernary (int32)" description="Like ip4-auto-default-route, but for the IPv6 default route." /><property name="listen-port" name_upper="LISTEN_PORT" type="uint32" default="0" description="The listen-port. If listen-port is not specified, the port will be chosen randomly when the interface comes up." /><property name="mtu" name_upper="MTU" type="uint32" default="0" description="If non-zero, only transmit packets of the specified size or smaller, breaking larger packets up into multiple fragments. If zero a default MTU is used. Note that contrary to wg-quick's MTU setting, this does not take into account the current routes at the time of activation." /><property name="peer-routes" name_upper="PEER_ROUTES" type="boolean" default="TRUE" description="Whether to automatically add routes for the AllowedIPs ranges of the peers. If TRUE (the default), NetworkManager will automatically add routes in the routing tables according to ipv4.route-table and ipv6.route-table. Usually you want this automatism enabled. If FALSE, no such routes are added automatically. In this case, the user may want to configure static routes in ipv4.routes and ipv6.routes, respectively. Note that if the peer's AllowedIPs is &quot;0.0.0.0/0&quot; or &quot;::/0&quot; and the profile's ipv4.never-default or ipv6.never-default setting is enabled, the peer route for this peer won't be added automatically." /><property name="private-key" name_upper="PRIVATE_KEY" type="string" description="The 256 bit private-key in base64 encoding." /><property name="private-key-flags" name_upper="PRIVATE_KEY_FLAGS" type="NMSettingSecretFlags (uint32)" description="Flags indicating how to handle the &quot;private-key&quot; property." /></setting><setting name="802-11-wireless" description="Wi-Fi Settings" name_upper="WIRELESS"><property name="ap-isolation" name_upper="AP_ISOLATION" type="NMTernary (int32)" description="Configures AP isolation, which prevents communication between wireless devices connected to this AP. This property can be set to a value different from NM_TERNARY_DEFAULT (-1) only when the interface is configured in AP mode. If set to NM_TERNARY_TRUE (1), devices are not able to communicate with each other. This increases security because it protects devices against attacks from other clients in the network. At the same time, it prevents devices to access resources on the same wireless networks as file shares, printers, etc. If set to NM_TERNARY_FALSE (0), devices can talk to each other. When set to NM_TERNARY_DEFAULT (-1), the global default is used; in case the global default is unspecified it is assumed to be NM_TERNARY_FALSE (0)." /><property name="band" name_upper="BAND" type="string" description="802.11 frequency band of the network.  One of &quot;a&quot; for 5GHz 802.11a or &quot;bg&quot; for 2.4GHz 802.11.  This will lock associations to the Wi-Fi network to the specific band, i.e. if &quot;a&quot; is specified, the device will not associate with the same network in the 2.4GHz band even if the network's settings are compatible.  This setting depends on specific driver capability and may not work with all drivers." /><property name="bssid" name_upper="BSSID" type="byte array" description="If specified, directs the device to only associate with the given access point.  This capability is highly driver dependent and not supported by all devices.  Note: this property does not control the BSSID used when creating an Ad-Hoc network and is unlikely to in the future." /><property name="channel" name_upper="CHANNEL" type="uint32" default="0" description="Wireless channel to use for the Wi-Fi connection.  The device will only join (or create for Ad-Hoc networks) a Wi-Fi network on the specified channel.  Because channel numbers overlap between bands, this property also requires the &quot;band&quot; property to be set." /><property name="cloned-mac-address" name_upper="CLONED_MAC_ADDRESS" type="byte array" description="If specified, request that the device use this MAC address instead. This is known as MAC cloning or spoofing. Beside explicitly specifying a MAC address, the special values &quot;preserve&quot;, &quot;permanent&quot;, &quot;random&quot; and &quot;stable&quot; are supported. &quot;preserve&quot; means not to touch the MAC address on activation. &quot;permanent&quot; means to use the permanent hardware address of the device. &quot;random&quot; creates a random MAC address on each connect. &quot;stable&quot; creates a hashed MAC address based on connection.stable-id and a machine dependent key. If unspecified, the value can be overwritten via global defaults, see manual of NetworkManager.conf. If still unspecified, it defaults to &quot;preserve&quot; (older versions of NetworkManager may use a different default value). On D-Bus, this field is expressed as &quot;assigned-mac-address&quot; or the deprecated &quot;cloned-mac-address&quot;." /><property name="generate-mac-address-mask" name_upper="GENERATE_MAC_ADDRESS_MASK" type="string" description="With &quot;cloned-mac-address&quot; setting &quot;random&quot; or &quot;stable&quot;, by default all bits of the MAC address are scrambled and a locally-administered, unicast MAC address is created. This property allows to specify that certain bits are fixed. Note that the least significant bit of the first MAC address will always be unset to create a unicast MAC address. If the property is NULL, it is eligible to be overwritten by a default connection setting. If the value is still NULL or an empty string, the default is to create a locally-administered, unicast MAC address. If the value contains one MAC address, this address is used as mask. The set bits of the mask are to be filled with the current MAC address of the device, while the unset bits are subject to randomization. Setting &quot;FE:FF:FF:00:00:00&quot; means to preserve the OUI of the current MAC address and only randomize the lower 3 bytes using the &quot;random&quot; or &quot;stable&quot; algorithm. If the value contains one additional MAC address after the mask, this address is used instead of the current MAC address to fill the bits that shall not be randomized. For example, a value of &quot;FE:FF:FF:00:00:00 68:F7:28:00:00:00&quot; will set the OUI of the MAC address to 68:F7:28, while the lower bits are randomized. A value of &quot;02:00:00:00:00:00 00:00:00:00:00:00&quot; will create a fully scrambled globally-administered, burned-in MAC address. If the value contains more than one additional MAC addresses, one of them is chosen randomly. For example, &quot;02:00:00:00:00:00 00:00:00:00:00:00 02:00:00:00:00:00&quot; will create a fully scrambled MAC address, randomly locally or globally administered." /><property name="hidden" name_upper="HIDDEN" type="boolean" default="FALSE" description="If TRUE, indicates that the network is a non-broadcasting network that hides its SSID. This works both in infrastructure and AP mode. In infrastructure mode, various workarounds are used for a more reliable discovery of hidden networks, such as probe-scanning the SSID.  However, these workarounds expose inherent insecurities with hidden SSID networks, and thus hidden SSID networks should be used with caution. In AP mode, the created network does not broadcast its SSID. Note that marking the network as hidden may be a privacy issue for you (in infrastructure mode) or client stations (in AP mode), as the explicit probe-scans are distinctly recognizable on the air." /><property name="mac-address" name_upper="MAC_ADDRESS" type="byte array" description="If specified, this connection will only apply to the Wi-Fi device whose permanent MAC address matches. This property does not change the MAC address of the device (i.e. MAC spoofing)." /><property name="mac-address-blacklist" name_upper="MAC_ADDRESS_BLACKLIST" type="array of string" description="A list of permanent MAC addresses of Wi-Fi devices to which this connection should never apply.  Each MAC address should be given in the standard hex-digits-and-colons notation (eg &quot;00:11:22:33:44:55&quot;)." /><property name="mac-address-randomization" name_upper="MAC_ADDRESS_RANDOMIZATION" type="uint32" default="0" description="One of NM_SETTING_MAC_RANDOMIZATION_DEFAULT (0) (never randomize unless the user has set a global default to randomize and the supplicant supports randomization),  NM_SETTING_MAC_RANDOMIZATION_NEVER (1) (never randomize the MAC address), or NM_SETTING_MAC_RANDOMIZATION_ALWAYS (2) (always randomize the MAC address). This property is deprecated for 'cloned-mac-address'. Deprecated: 1" /><property name="mode" name_upper="MODE" type="string" description="Wi-Fi network mode; one of &quot;infrastructure&quot;, &quot;mesh&quot;, &quot;adhoc&quot; or &quot;ap&quot;.  If blank, infrastructure is assumed." /><property name="mtu" name_upper="MTU" type="uint32" default="0" description="If non-zero, only transmit packets of the specified size or smaller, breaking larger packets up into multiple Ethernet frames." /><property name="powersave" name_upper="POWERSAVE" type="uint32" default="0" description="One of NM_SETTING_WIRELESS_POWERSAVE_DISABLE (2) (disable Wi-Fi power saving), NM_SETTING_WIRELESS_POWERSAVE_ENABLE (3) (enable Wi-Fi power saving), NM_SETTING_WIRELESS_POWERSAVE_IGNORE (1) (don't touch currently configure setting) or NM_SETTING_WIRELESS_POWERSAVE_DEFAULT (0) (use the globally configured value). All other values are reserved." /><property name="rate" name_upper="RATE" type="uint32" default="0" description="If non-zero, directs the device to only use the specified bitrate for communication with the access point.  Units are in Kb/s, ie 5500 = 5.5 Mbit/s.  This property is highly driver dependent and not all devices support setting a static bitrate." /><property name="seen-bssids" name_upper="SEEN_BSSIDS" type="array of string" description="A list of BSSIDs (each BSSID formatted as a MAC address like &quot;00:11:22:33:44:55&quot;) that have been detected as part of the Wi-Fi network.  NetworkManager internally tracks previously seen BSSIDs. The property is only meant for reading and reflects the BSSID list of NetworkManager. The changes you make to this property will not be preserved." /><property name="ssid" name_upper="SSID" type="byte array" description="SSID of the Wi-Fi network. Must be specified." /><property name="tx-power" name_upper="TX_POWER" type="uint32" default="0" description="If non-zero, directs the device to use the specified transmit power. Units are dBm.  This property is highly driver dependent and not all devices support setting a static transmit power." /><property name="wake-on-wlan" name_upper="WAKE_ON_WLAN" type="uint32" default="1" description="The NMSettingWirelessWakeOnWLan options to enable. Not all devices support all options. May be any combination of NM_SETTING_WIRELESS_WAKE_ON_WLAN_ANY (0x2), NM_SETTING_WIRELESS_WAKE_ON_WLAN_DISCONNECT (0x4), NM_SETTING_WIRELESS_WAKE_ON_WLAN_MAGIC (0x8), NM_SETTING_WIRELESS_WAKE_ON_WLAN_GTK_REKEY_FAILURE (0x10), NM_SETTING_WIRELESS_WAKE_ON_WLAN_EAP_IDENTITY_REQUEST (0x20), NM_SETTING_WIRELESS_WAKE_ON_WLAN_4WAY_HANDSHAKE (0x40), NM_SETTING_WIRELESS_WAKE_ON_WLAN_RFKILL_RELEASE (0x80), NM_SETTING_WIRELESS_WAKE_ON_WLAN_TCP (0x100) or the special values NM_SETTING_WIRELESS_WAKE_ON_WLAN_DEFAULT (0x1) (to use global settings) and NM_SETTING_WIRELESS_WAKE_ON_WLAN_IGNORE (0x8000) (to disable management of Wake-on-LAN in NetworkManager)." /></setting><setting name="802-11-wireless-security" description="Wi-Fi Security Settings" name_upper="WIRELESS_SECURITY"><property name="auth-alg" name_upper="AUTH_ALG" type="string" description="When WEP is used (ie, key-mgmt = &quot;none&quot; or &quot;ieee8021x&quot;) indicate the 802.11 authentication algorithm required by the AP here.  One of &quot;open&quot; for Open System, &quot;shared&quot; for Shared Key, or &quot;leap&quot; for Cisco LEAP.  When using Cisco LEAP (ie, key-mgmt = &quot;ieee8021x&quot; and auth-alg = &quot;leap&quot;) the &quot;leap-username&quot; and &quot;leap-password&quot; properties must be specified." /><property name="fils" name_upper="FILS" type="int32" default="0" description="Indicates whether Fast Initial Link Setup (802.11ai) must be enabled for the connection.  One of NM_SETTING_WIRELESS_SECURITY_FILS_DEFAULT (0) (use global default value), NM_SETTING_WIRELESS_SECURITY_FILS_DISABLE (1) (disable FILS), NM_SETTING_WIRELESS_SECURITY_FILS_OPTIONAL (2) (enable FILS if the supplicant and the access point support it) or NM_SETTING_WIRELESS_SECURITY_FILS_REQUIRED (3) (enable FILS and fail if not supported).  When set to NM_SETTING_WIRELESS_SECURITY_FILS_DEFAULT (0) and no global default is set, FILS will be optionally enabled." /><property name="group" name_upper="GROUP" type="array of string" description="A list of group/broadcast encryption algorithms which prevents connections to Wi-Fi networks that do not utilize one of the algorithms in the list.  For maximum compatibility leave this property empty.  Each list element may be one of &quot;wep40&quot;, &quot;wep104&quot;, &quot;tkip&quot;, or &quot;ccmp&quot;." /><property name="key-mgmt" name_upper="KEY_MGMT" type="string" description="Key management used for the connection. One of &quot;none&quot; (WEP or no password protection), &quot;ieee8021x&quot; (Dynamic WEP), &quot;owe&quot; (Opportunistic Wireless Encryption), &quot;wpa-psk&quot; (WPA2 + WPA3 personal), &quot;sae&quot; (WPA3 personal only), &quot;wpa-eap&quot; (WPA2 + WPA3 enterprise) or &quot;wpa-eap-suite-b-192&quot; (WPA3 enterprise only). This property must be set for any Wi-Fi connection that uses security." /><property name="leap-password" name_upper="LEAP_PASSWORD" type="string" description="The login password for legacy LEAP connections (ie, key-mgmt = &quot;ieee8021x&quot; and auth-alg = &quot;leap&quot;)." /><property name="leap-password-flags" name_upper="LEAP_PASSWORD_FLAGS" type="NMSettingSecretFlags (uint32)" description="Flags indicating how to handle the &quot;leap-password&quot; property." /><property name="leap-username" name_upper="LEAP_USERNAME" type="string" description="The login username for legacy LEAP connections (ie, key-mgmt = &quot;ieee8021x&quot; and auth-alg = &quot;leap&quot;)." /><property name="pairwise" name_upper="PAIRWISE" type="array of string" description="A list of pairwise encryption algorithms which prevents connections to Wi-Fi networks that do not utilize one of the algorithms in the list. For maximum compatibility leave this property empty.  Each list element may be one of &quot;tkip&quot; or &quot;ccmp&quot;." /><property name="pmf" name_upper="PMF" type="int32" default="0" description="Indicates whether Protected Management Frames (802.11w) must be enabled for the connection.  One of NM_SETTING_WIRELESS_SECURITY_PMF_DEFAULT (0) (use global default value), NM_SETTING_WIRELESS_SECURITY_PMF_DISABLE (1) (disable PMF), NM_SETTING_WIRELESS_SECURITY_PMF_OPTIONAL (2) (enable PMF if the supplicant and the access point support it) or NM_SETTING_WIRELESS_SECURITY_PMF_REQUIRED (3) (enable PMF and fail if not supported).  When set to NM_SETTING_WIRELESS_SECURITY_PMF_DEFAULT (0) and no global default is set, PMF will be optionally enabled." /><property name="proto" name_upper="PROTO" type="array of string" description="List of strings specifying the allowed WPA protocol versions to use. Each element may be one &quot;wpa&quot; (allow WPA) or &quot;rsn&quot; (allow WPA2/RSN).  If not specified, both WPA and RSN connections are allowed." /><property name="psk" name_upper="PSK" type="string" description="Pre-Shared-Key for WPA networks. For WPA-PSK, it's either an ASCII passphrase of 8 to 63 characters that is (as specified in the 802.11i standard) hashed to derive the actual key, or the key in form of 64 hexadecimal character. The WPA3-Personal networks use a passphrase of any length for SAE authentication." /><property name="psk-flags" name_upper="PSK_FLAGS" type="NMSettingSecretFlags (uint32)" description="Flags indicating how to handle the &quot;psk&quot; property." /><property name="wep-key-flags" name_upper="WEP_KEY_FLAGS" type="NMSettingSecretFlags (uint32)" description="Flags indicating how to handle the &quot;wep-key0&quot;, &quot;wep-key1&quot;, &quot;wep-key2&quot;, and &quot;wep-key3&quot; properties." /><property name="wep-key-type" name_upper="WEP_KEY_TYPE" type="NMWepKeyType (uint32)" description="Controls the interpretation of WEP keys.  Allowed values are NM_WEP_KEY_TYPE_KEY (1), in which case the key is either a 10- or 26-character hexadecimal string, or a 5- or 13-character ASCII password; or NM_WEP_KEY_TYPE_PASSPHRASE (2), in which case the passphrase is provided as a string and will be hashed using the de-facto MD5 method to derive the actual WEP key." /><property name="wep-key0" name_upper="WEP_KEY0" type="string" description="Index 0 WEP key.  This is the WEP key used in most networks.  See the &quot;wep-key-type&quot; property for a description of how this key is interpreted." /><property name="wep-key1" name_upper="WEP_KEY1" type="string" description="Index 1 WEP key.  This WEP index is not used by most networks.  See the &quot;wep-key-type&quot; property for a description of how this key is interpreted." /><property name="wep-key2" name_upper="WEP_KEY2" type="string" description="Index 2 WEP key.  This WEP index is not used by most networks.  See the &quot;wep-key-type&quot; property for a description of how this key is interpreted." /><property name="wep-key3" name_upper="WEP_KEY3" type="string" description="Index 3 WEP key.  This WEP index is not used by most networks.  See the &quot;wep-key-type&quot; property for a description of how this key is interpreted." /><property name="wep-tx-keyidx" name_upper="WEP_TX_KEYIDX" type="uint32" default="0" description="When static WEP is used (ie, key-mgmt = &quot;none&quot;) and a non-default WEP key index is used by the AP, put that WEP key index here.  Valid values are 0 (default key) through 3.  Note that some consumer access points (like the Linksys WRT54G) number the keys 1 - 4." /><property name="wps-method" name_upper="WPS_METHOD" type="uint32" default="0" description="Flags indicating which mode of WPS is to be used if any. There's little point in changing the default setting as NetworkManager will automatically determine whether it's feasible to start WPS enrollment from the Access Point capabilities. WPS can be disabled by setting this property to a value of 1." /></setting><setting name="wpan" description="IEEE 802.15.4 (WPAN) MAC Settings" name_upper="WPAN"><property name="channel" name_upper="CHANNEL" type="int32" default="-1" description="IEEE 802.15.4 channel. A positive integer or -1, meaning &quot;do not set, use whatever the device is already set to&quot;." /><property name="mac-address" name_upper="MAC_ADDRESS" type="string" description="If specified, this connection will only apply to the IEEE 802.15.4 (WPAN) MAC layer device whose permanent MAC address matches." /><property name="page" name_upper="PAGE" type="int32" default="-1" description="IEEE 802.15.4 channel page. A positive integer or -1, meaning &quot;do not set, use whatever the device is already set to&quot;." /><property name="pan-id" name_upper="PAN_ID" type="uint32" default="65535" description="IEEE 802.15.4 Personal Area Network (PAN) identifier." /><property name="short-address" name_upper="SHORT_ADDRESS" type="uint32" default="65535" description="Short IEEE 802.15.4 address to be used within a restricted environment." /></setting><setting name="hostname" description="Hostname settings" name_upper="HOSTNAME"><property name="from-dhcp" name_upper="FROM_DHCP" type="NMTernary (int32)" description="Whether the system hostname can be determined from DHCP on this connection. When set to NM_TERNARY_DEFAULT (-1), the value from global configuration is used. If the property doesn't have a value in the global configuration, NetworkManager assumes the value to be NM_TERNARY_TRUE (1)." /><property name="from-dns-lookup" name_upper="FROM_DNS_LOOKUP" type="NMTernary (int32)" description="Whether the system hostname can be determined from reverse DNS lookup of addresses on this device. When set to NM_TERNARY_DEFAULT (-1), the value from global configuration is used. If the property doesn't have a value in the global configuration, NetworkManager assumes the value to be NM_TERNARY_TRUE (1)." /><property name="only-from-default" name_upper="ONLY_FROM_DEFAULT" type="NMTernary (int32)" description="If set to NM_TERNARY_TRUE (1), NetworkManager attempts to get the hostname via DHCPv4/DHCPv6 or reverse DNS lookup on this device only when the device has the default route for the given address family (IPv4/IPv6). If set to NM_TERNARY_FALSE (0), the hostname can be set from this device even if it doesn't have the default route. When set to NM_TERNARY_DEFAULT (-1), the value from global configuration is used. If the property doesn't have a value in the global configuration, NetworkManager assumes the value to be NM_TERNARY_FALSE (0)." /><property name="priority" name_upper="PRIORITY" type="int32" default="0" description="The relative priority of this connection to determine the system hostname. A lower numerical value is better (higher priority).  A connection with higher priority is considered before connections with lower priority. If the value is zero, it can be overridden by a global value from NetworkManager configuration. If the property doesn't have a value in the global configuration, the value is assumed to be 100. Negative values have the special effect of excluding other connections with a greater numerical priority value; so in presence of at least one negative priority, only connections with the lowest priority value will be used to determine the hostname." /></setting><setting name="ovs-external-ids" description="OVS External IDs Settings" name_upper="OVS_EXTERNAL_IDS"><property name="data" name_upper="DATA" type="dict of string to string" default="{}" description="A dictionary of key/value pairs with exernal-ids for OVS." /></setting><setting name="veth" description="Veth Settings" name_upper="VETH"><property name="peer" name_upper="PEER" type="string" description="This property specifies the peer interface name of the veth. This property is mandatory." /></setting></nm-setting-docs>
\ No newline at end of file
diff --git a/src/libnmc-setting/settings-docs.h b/src/libnmc-setting/settings-docs.h
index da4f6b4c..12625d44 100644
--- a/src/libnmc-setting/settings-docs.h
+++ b/src/libnmc-setting/settings-docs.h
@@ -226,7 +226,7 @@
 #define DESCRIBE_DOC_NM_SETTING_IP_TUNNEL_REMOTE N_("The remote endpoint of the tunnel; the value must contain an IPv4 or IPv6 address.")
 #define DESCRIBE_DOC_NM_SETTING_IP_TUNNEL_TOS N_("The type of service (IPv4) or traffic class (IPv6) field to be set on tunneled packets.")
 #define DESCRIBE_DOC_NM_SETTING_IP_TUNNEL_TTL N_("The TTL to assign to tunneled packets. 0 is a special value meaning that packets inherit the TTL value.")
-#define DESCRIBE_DOC_NM_SETTING_IP4_CONFIG_ADDRESSES N_("A list of IPv4 addresses and their prefix length. Multiple addresses can be separated by comma. For example \"192.168.1.5/24, 10.1.0.5/24\".")
+#define DESCRIBE_DOC_NM_SETTING_IP4_CONFIG_ADDRESSES N_("A list of IPv4 addresses and their prefix length. Multiple addresses can be separated by comma. For example \"192.168.1.5/24, 10.1.0.5/24\". The addresses are listed in increasing priority, meaning the last address will be the primary address.")
 #define DESCRIBE_DOC_NM_SETTING_IP4_CONFIG_DAD_TIMEOUT N_("Timeout in milliseconds used to check for the presence of duplicate IP addresses on the network.  If an address conflict is detected, the activation will fail.  A zero value means that no duplicate address detection is performed, -1 means the default value (either configuration ipvx.dad-timeout override or zero).  A value greater than zero is a timeout in milliseconds. The property is currently implemented only for IPv4.")
 #define DESCRIBE_DOC_NM_SETTING_IP4_CONFIG_DHCP_CLIENT_ID N_("A string sent to the DHCP server to identify the local machine which the DHCP server may use to customize the DHCP lease and options. When the property is a hex string ('aa:bb:cc') it is interpreted as a binary client ID, in which case the first byte is assumed to be the 'type' field as per RFC 2132 section 9.14 and the remaining bytes may be an hardware address (e.g. '01:xx:xx:xx:xx:xx:xx' where 1 is the Ethernet ARP type and the rest is a MAC address). If the property is not a hex string it is considered as a non-hardware-address client ID and the 'type' field is set to 0. The special values \"mac\" and \"perm-mac\" are supported, which use the current or permanent MAC address of the device to generate a client identifier with type ethernet (01). Currently, these options only work for ethernet type of links. The special value \"ipv6-duid\" uses the DUID from \"ipv6.dhcp-duid\" property as an RFC4361-compliant client identifier. As IAID it uses \"ipv4.dhcp-iaid\" and falls back to \"ipv6.dhcp-iaid\" if unset. The special value \"duid\" generates a RFC4361-compliant client identifier based on \"ipv4.dhcp-iaid\" and uses a DUID generated by hashing /etc/machine-id. The special value \"stable\" is supported to generate a type 0 client identifier based on the stable-id (see connection.stable-id) and a per-host key. If you set the stable-id, you may want to include the \"${DEVICE}\" or \"${MAC}\" specifier to get a per-device key. If unset, a globally configured default is used. If still unset, the default depends on the DHCP plugin.")
 #define DESCRIBE_DOC_NM_SETTING_IP4_CONFIG_DHCP_FQDN N_("If the \"dhcp-send-hostname\" property is TRUE, then the specified FQDN will be sent to the DHCP server when acquiring a lease. This property and \"dhcp-hostname\" are mutually exclusive and cannot be set at the same time.")
@@ -247,11 +247,12 @@
 #define DESCRIBE_DOC_NM_SETTING_IP4_CONFIG_MAY_FAIL N_("If TRUE, allow overall network configuration to proceed even if the configuration specified by this property times out.  Note that at least one IP configuration must succeed or overall network configuration will still fail.  For example, in IPv6-only networks, setting this property to TRUE on the NMSettingIP4Config allows the overall network configuration to succeed if IPv4 configuration fails but IPv6 configuration completes successfully.")
 #define DESCRIBE_DOC_NM_SETTING_IP4_CONFIG_METHOD N_("IP configuration method. NMSettingIP4Config and NMSettingIP6Config both support \"disabled\", \"auto\", \"manual\", and \"link-local\". See the subclass-specific documentation for other values. In general, for the \"auto\" method, properties such as \"dns\" and \"routes\" specify information that is added on to the information returned from automatic configuration.  The \"ignore-auto-routes\" and \"ignore-auto-dns\" properties modify this behavior. For methods that imply no upstream network, such as \"shared\" or \"link-local\", these properties must be empty. For IPv4 method \"shared\", the IP subnet can be configured by adding one manual IPv4 address or otherwise 10.42.x.0/24 is chosen. Note that the shared method must be configured on the interface which shares the internet to a subnet, not on the uplink which is shared.")
 #define DESCRIBE_DOC_NM_SETTING_IP4_CONFIG_NEVER_DEFAULT N_("If TRUE, this connection will never be the default connection for this IP type, meaning it will never be assigned the default route by NetworkManager.")
+#define DESCRIBE_DOC_NM_SETTING_IP4_CONFIG_REQUIRED_TIMEOUT N_("The minimum time interval in milliseconds for which dynamic IP configuration should be tried before the connection succeeds. This property is useful for example if both IPv4 and IPv6 are enabled and are allowed to fail. Normally the connection succeeds as soon as one of the two address families completes; by setting a required timeout for e.g. IPv4, one can ensure that even if IP6 succeeds earlier than IPv4, NetworkManager waits some time for IPv4 before the connection becomes active. Note that if \"may-fail\" is FALSE for the same address family, this property has no effect as NetworkManager needs to wait for the full DHCP timeout. A zero value means that no required timeout is present, -1 means the default value (either configuration ipvx.required-timeout override or zero).")
 #define DESCRIBE_DOC_NM_SETTING_IP4_CONFIG_ROUTE_METRIC N_("The default metric for routes that don't explicitly specify a metric. The default value -1 means that the metric is chosen automatically based on the device type. The metric applies to dynamic routes, manual (static) routes that don't have an explicit metric setting, address prefix routes, and the default route. Note that for IPv6, the kernel accepts zero (0) but coerces it to 1024 (user default). Hence, setting this property to zero effectively mean setting it to 1024. For IPv4, zero is a regular value for the metric.")
 #define DESCRIBE_DOC_NM_SETTING_IP4_CONFIG_ROUTE_TABLE N_("Enable policy routing (source routing) and set the routing table used when adding routes. This affects all routes, including device-routes, IPv4LL, DHCP, SLAAC, default-routes and static routes. But note that static routes can individually overwrite the setting by explicitly specifying a non-zero routing table. If the table setting is left at zero, it is eligible to be overwritten via global configuration. If the property is zero even after applying the global configuration value, policy routing is disabled for the address family of this connection. Policy routing disabled means that NetworkManager will add all routes to the main table (except static routes that explicitly configure a different table). Additionally, NetworkManager will not delete any extraneous routes from tables except the main table. This is to preserve backward compatibility for users who manage routing tables outside of NetworkManager.")
 #define DESCRIBE_DOC_NM_SETTING_IP4_CONFIG_ROUTES N_("A list of IPv4 destination addresses, prefix length, optional IPv4 next hop addresses, optional route metric, optional attribute. The valid syntax is: \"ip[/prefix] [next-hop] [metric] [attribute=val]...[,ip[/prefix]...]\". For example \"192.0.2.0/24 10.1.1.1 77, 198.51.100.0/24\".")
 #define DESCRIBE_DOC_NM_SETTING_IP6_CONFIG_ADDR_GEN_MODE N_("Configure method for creating the address for use with RFC4862 IPv6 Stateless Address Autoconfiguration. The permitted values are: NM_SETTING_IP6_CONFIG_ADDR_GEN_MODE_EUI64 (0) or NM_SETTING_IP6_CONFIG_ADDR_GEN_MODE_STABLE_PRIVACY (1). If the property is set to EUI64, the addresses will be generated using the interface tokens derived from hardware address. This makes the host part of the address to stay constant, making it possible to track host's presence when it changes networks. The address changes when the interface hardware is replaced. The value of stable-privacy enables use of cryptographically secure hash of a secret host-specific key along with the connection's stable-id and the network address as specified by RFC7217. This makes it impossible to use the address track host's presence, and makes the address stable when the network interface hardware is replaced. On D-Bus, the absence of an addr-gen-mode setting equals enabling stable-privacy. For keyfile plugin, the absence of the setting on disk means EUI64 so that the property doesn't change on upgrade from older versions. Note that this setting is distinct from the Privacy Extensions as configured by \"ip6-privacy\" property and it does not affect the temporary addresses configured with this option.")
-#define DESCRIBE_DOC_NM_SETTING_IP6_CONFIG_ADDRESSES N_("Array of IP addresses.")
+#define DESCRIBE_DOC_NM_SETTING_IP6_CONFIG_ADDRESSES N_("A list of IPv6 addresses and their prefix length. Multiple addresses can be separated by comma. For example \"2001:db8:85a3::8a2e:370:7334/64, 2001:db8:85a3::5/64\". The addresses are listed in increasing priority, meaning the last address will be the primary address.")
 #define DESCRIBE_DOC_NM_SETTING_IP6_CONFIG_DAD_TIMEOUT N_("Timeout in milliseconds used to check for the presence of duplicate IP addresses on the network.  If an address conflict is detected, the activation will fail.  A zero value means that no duplicate address detection is performed, -1 means the default value (either configuration ipvx.dad-timeout override or zero).  A value greater than zero is a timeout in milliseconds. The property is currently implemented only for IPv4.")
 #define DESCRIBE_DOC_NM_SETTING_IP6_CONFIG_DHCP_DUID N_("A string containing the DHCPv6 Unique Identifier (DUID) used by the dhcp client to identify itself to DHCPv6 servers (RFC 3315). The DUID is carried in the Client Identifier option. If the property is a hex string ('aa:bb:cc') it is interpreted as a binary DUID and filled as an opaque value in the Client Identifier option. The special value \"lease\" will retrieve the DUID previously used from the lease file belonging to the connection. If no DUID is found and \"dhclient\" is the configured dhcp client, the DUID is searched in the system-wide dhclient lease file. If still no DUID is found, or another dhcp client is used, a global and permanent DUID-UUID (RFC 6355) will be generated based on the machine-id. The special values \"llt\" and \"ll\" will generate a DUID of type LLT or LL (see RFC 3315) based on the current MAC address of the device. In order to try providing a stable DUID-LLT, the time field will contain a constant timestamp that is used globally (for all profiles) and persisted to disk. The special values \"stable-llt\", \"stable-ll\" and \"stable-uuid\" will generate a DUID of the corresponding type, derived from the connection's stable-id and a per-host unique key. You may want to include the \"${DEVICE}\" or \"${MAC}\" specifier in the stable-id, in case this profile gets activated on multiple devices. So, the link-layer address of \"stable-ll\" and \"stable-llt\" will be a generated address derived from the stable id. The DUID-LLT time value in the \"stable-llt\" option will be picked among a static timespan of three years (the upper bound of the interval is the same constant timestamp used in \"llt\"). When the property is unset, the global value provided for \"ipv6.dhcp-duid\" is used. If no global value is provided, the default \"lease\" value is assumed.")
 #define DESCRIBE_DOC_NM_SETTING_IP6_CONFIG_DHCP_HOSTNAME N_("If the \"dhcp-send-hostname\" property is TRUE, then the specified name will be sent to the DHCP server when acquiring a lease. This property and \"dhcp-fqdn\" are mutually exclusive and cannot be set at the same time.")
@@ -272,6 +273,7 @@
 #define DESCRIBE_DOC_NM_SETTING_IP6_CONFIG_METHOD N_("IP configuration method. NMSettingIP4Config and NMSettingIP6Config both support \"disabled\", \"auto\", \"manual\", and \"link-local\". See the subclass-specific documentation for other values. In general, for the \"auto\" method, properties such as \"dns\" and \"routes\" specify information that is added on to the information returned from automatic configuration.  The \"ignore-auto-routes\" and \"ignore-auto-dns\" properties modify this behavior. For methods that imply no upstream network, such as \"shared\" or \"link-local\", these properties must be empty. For IPv4 method \"shared\", the IP subnet can be configured by adding one manual IPv4 address or otherwise 10.42.x.0/24 is chosen. Note that the shared method must be configured on the interface which shares the internet to a subnet, not on the uplink which is shared.")
 #define DESCRIBE_DOC_NM_SETTING_IP6_CONFIG_NEVER_DEFAULT N_("If TRUE, this connection will never be the default connection for this IP type, meaning it will never be assigned the default route by NetworkManager.")
 #define DESCRIBE_DOC_NM_SETTING_IP6_CONFIG_RA_TIMEOUT N_("A timeout for waiting Router Advertisements in seconds. If zero (the default), a globally configured default is used. If still unspecified, the timeout depends on the sysctl settings of the device. Set to 2147483647 (MAXINT32) for infinity.")
+#define DESCRIBE_DOC_NM_SETTING_IP6_CONFIG_REQUIRED_TIMEOUT N_("The minimum time interval in milliseconds for which dynamic IP configuration should be tried before the connection succeeds. This property is useful for example if both IPv4 and IPv6 are enabled and are allowed to fail. Normally the connection succeeds as soon as one of the two address families completes; by setting a required timeout for e.g. IPv4, one can ensure that even if IP6 succeeds earlier than IPv4, NetworkManager waits some time for IPv4 before the connection becomes active. Note that if \"may-fail\" is FALSE for the same address family, this property has no effect as NetworkManager needs to wait for the full DHCP timeout. A zero value means that no required timeout is present, -1 means the default value (either configuration ipvx.required-timeout override or zero).")
 #define DESCRIBE_DOC_NM_SETTING_IP6_CONFIG_ROUTE_METRIC N_("The default metric for routes that don't explicitly specify a metric. The default value -1 means that the metric is chosen automatically based on the device type. The metric applies to dynamic routes, manual (static) routes that don't have an explicit metric setting, address prefix routes, and the default route. Note that for IPv6, the kernel accepts zero (0) but coerces it to 1024 (user default). Hence, setting this property to zero effectively mean setting it to 1024. For IPv4, zero is a regular value for the metric.")
 #define DESCRIBE_DOC_NM_SETTING_IP6_CONFIG_ROUTE_TABLE N_("Enable policy routing (source routing) and set the routing table used when adding routes. This affects all routes, including device-routes, IPv4LL, DHCP, SLAAC, default-routes and static routes. But note that static routes can individually overwrite the setting by explicitly specifying a non-zero routing table. If the table setting is left at zero, it is eligible to be overwritten via global configuration. If the property is zero even after applying the global configuration value, policy routing is disabled for the address family of this connection. Policy routing disabled means that NetworkManager will add all routes to the main table (except static routes that explicitly configure a different table). Additionally, NetworkManager will not delete any extraneous routes from tables except the main table. This is to preserve backward compatibility for users who manage routing tables outside of NetworkManager.")
 #define DESCRIBE_DOC_NM_SETTING_IP6_CONFIG_ROUTES N_("Array of IP routes.")
diff --git a/src/libnmc-setting/settings-docs.h.in b/src/libnmc-setting/settings-docs.h.in
index da4f6b4c..12625d44 100644
--- a/src/libnmc-setting/settings-docs.h.in
+++ b/src/libnmc-setting/settings-docs.h.in
@@ -226,7 +226,7 @@
 #define DESCRIBE_DOC_NM_SETTING_IP_TUNNEL_REMOTE N_("The remote endpoint of the tunnel; the value must contain an IPv4 or IPv6 address.")
 #define DESCRIBE_DOC_NM_SETTING_IP_TUNNEL_TOS N_("The type of service (IPv4) or traffic class (IPv6) field to be set on tunneled packets.")
 #define DESCRIBE_DOC_NM_SETTING_IP_TUNNEL_TTL N_("The TTL to assign to tunneled packets. 0 is a special value meaning that packets inherit the TTL value.")
-#define DESCRIBE_DOC_NM_SETTING_IP4_CONFIG_ADDRESSES N_("A list of IPv4 addresses and their prefix length. Multiple addresses can be separated by comma. For example \"192.168.1.5/24, 10.1.0.5/24\".")
+#define DESCRIBE_DOC_NM_SETTING_IP4_CONFIG_ADDRESSES N_("A list of IPv4 addresses and their prefix length. Multiple addresses can be separated by comma. For example \"192.168.1.5/24, 10.1.0.5/24\". The addresses are listed in increasing priority, meaning the last address will be the primary address.")
 #define DESCRIBE_DOC_NM_SETTING_IP4_CONFIG_DAD_TIMEOUT N_("Timeout in milliseconds used to check for the presence of duplicate IP addresses on the network.  If an address conflict is detected, the activation will fail.  A zero value means that no duplicate address detection is performed, -1 means the default value (either configuration ipvx.dad-timeout override or zero).  A value greater than zero is a timeout in milliseconds. The property is currently implemented only for IPv4.")
 #define DESCRIBE_DOC_NM_SETTING_IP4_CONFIG_DHCP_CLIENT_ID N_("A string sent to the DHCP server to identify the local machine which the DHCP server may use to customize the DHCP lease and options. When the property is a hex string ('aa:bb:cc') it is interpreted as a binary client ID, in which case the first byte is assumed to be the 'type' field as per RFC 2132 section 9.14 and the remaining bytes may be an hardware address (e.g. '01:xx:xx:xx:xx:xx:xx' where 1 is the Ethernet ARP type and the rest is a MAC address). If the property is not a hex string it is considered as a non-hardware-address client ID and the 'type' field is set to 0. The special values \"mac\" and \"perm-mac\" are supported, which use the current or permanent MAC address of the device to generate a client identifier with type ethernet (01). Currently, these options only work for ethernet type of links. The special value \"ipv6-duid\" uses the DUID from \"ipv6.dhcp-duid\" property as an RFC4361-compliant client identifier. As IAID it uses \"ipv4.dhcp-iaid\" and falls back to \"ipv6.dhcp-iaid\" if unset. The special value \"duid\" generates a RFC4361-compliant client identifier based on \"ipv4.dhcp-iaid\" and uses a DUID generated by hashing /etc/machine-id. The special value \"stable\" is supported to generate a type 0 client identifier based on the stable-id (see connection.stable-id) and a per-host key. If you set the stable-id, you may want to include the \"${DEVICE}\" or \"${MAC}\" specifier to get a per-device key. If unset, a globally configured default is used. If still unset, the default depends on the DHCP plugin.")
 #define DESCRIBE_DOC_NM_SETTING_IP4_CONFIG_DHCP_FQDN N_("If the \"dhcp-send-hostname\" property is TRUE, then the specified FQDN will be sent to the DHCP server when acquiring a lease. This property and \"dhcp-hostname\" are mutually exclusive and cannot be set at the same time.")
@@ -247,11 +247,12 @@
 #define DESCRIBE_DOC_NM_SETTING_IP4_CONFIG_MAY_FAIL N_("If TRUE, allow overall network configuration to proceed even if the configuration specified by this property times out.  Note that at least one IP configuration must succeed or overall network configuration will still fail.  For example, in IPv6-only networks, setting this property to TRUE on the NMSettingIP4Config allows the overall network configuration to succeed if IPv4 configuration fails but IPv6 configuration completes successfully.")
 #define DESCRIBE_DOC_NM_SETTING_IP4_CONFIG_METHOD N_("IP configuration method. NMSettingIP4Config and NMSettingIP6Config both support \"disabled\", \"auto\", \"manual\", and \"link-local\". See the subclass-specific documentation for other values. In general, for the \"auto\" method, properties such as \"dns\" and \"routes\" specify information that is added on to the information returned from automatic configuration.  The \"ignore-auto-routes\" and \"ignore-auto-dns\" properties modify this behavior. For methods that imply no upstream network, such as \"shared\" or \"link-local\", these properties must be empty. For IPv4 method \"shared\", the IP subnet can be configured by adding one manual IPv4 address or otherwise 10.42.x.0/24 is chosen. Note that the shared method must be configured on the interface which shares the internet to a subnet, not on the uplink which is shared.")
 #define DESCRIBE_DOC_NM_SETTING_IP4_CONFIG_NEVER_DEFAULT N_("If TRUE, this connection will never be the default connection for this IP type, meaning it will never be assigned the default route by NetworkManager.")
+#define DESCRIBE_DOC_NM_SETTING_IP4_CONFIG_REQUIRED_TIMEOUT N_("The minimum time interval in milliseconds for which dynamic IP configuration should be tried before the connection succeeds. This property is useful for example if both IPv4 and IPv6 are enabled and are allowed to fail. Normally the connection succeeds as soon as one of the two address families completes; by setting a required timeout for e.g. IPv4, one can ensure that even if IP6 succeeds earlier than IPv4, NetworkManager waits some time for IPv4 before the connection becomes active. Note that if \"may-fail\" is FALSE for the same address family, this property has no effect as NetworkManager needs to wait for the full DHCP timeout. A zero value means that no required timeout is present, -1 means the default value (either configuration ipvx.required-timeout override or zero).")
 #define DESCRIBE_DOC_NM_SETTING_IP4_CONFIG_ROUTE_METRIC N_("The default metric for routes that don't explicitly specify a metric. The default value -1 means that the metric is chosen automatically based on the device type. The metric applies to dynamic routes, manual (static) routes that don't have an explicit metric setting, address prefix routes, and the default route. Note that for IPv6, the kernel accepts zero (0) but coerces it to 1024 (user default). Hence, setting this property to zero effectively mean setting it to 1024. For IPv4, zero is a regular value for the metric.")
 #define DESCRIBE_DOC_NM_SETTING_IP4_CONFIG_ROUTE_TABLE N_("Enable policy routing (source routing) and set the routing table used when adding routes. This affects all routes, including device-routes, IPv4LL, DHCP, SLAAC, default-routes and static routes. But note that static routes can individually overwrite the setting by explicitly specifying a non-zero routing table. If the table setting is left at zero, it is eligible to be overwritten via global configuration. If the property is zero even after applying the global configuration value, policy routing is disabled for the address family of this connection. Policy routing disabled means that NetworkManager will add all routes to the main table (except static routes that explicitly configure a different table). Additionally, NetworkManager will not delete any extraneous routes from tables except the main table. This is to preserve backward compatibility for users who manage routing tables outside of NetworkManager.")
 #define DESCRIBE_DOC_NM_SETTING_IP4_CONFIG_ROUTES N_("A list of IPv4 destination addresses, prefix length, optional IPv4 next hop addresses, optional route metric, optional attribute. The valid syntax is: \"ip[/prefix] [next-hop] [metric] [attribute=val]...[,ip[/prefix]...]\". For example \"192.0.2.0/24 10.1.1.1 77, 198.51.100.0/24\".")
 #define DESCRIBE_DOC_NM_SETTING_IP6_CONFIG_ADDR_GEN_MODE N_("Configure method for creating the address for use with RFC4862 IPv6 Stateless Address Autoconfiguration. The permitted values are: NM_SETTING_IP6_CONFIG_ADDR_GEN_MODE_EUI64 (0) or NM_SETTING_IP6_CONFIG_ADDR_GEN_MODE_STABLE_PRIVACY (1). If the property is set to EUI64, the addresses will be generated using the interface tokens derived from hardware address. This makes the host part of the address to stay constant, making it possible to track host's presence when it changes networks. The address changes when the interface hardware is replaced. The value of stable-privacy enables use of cryptographically secure hash of a secret host-specific key along with the connection's stable-id and the network address as specified by RFC7217. This makes it impossible to use the address track host's presence, and makes the address stable when the network interface hardware is replaced. On D-Bus, the absence of an addr-gen-mode setting equals enabling stable-privacy. For keyfile plugin, the absence of the setting on disk means EUI64 so that the property doesn't change on upgrade from older versions. Note that this setting is distinct from the Privacy Extensions as configured by \"ip6-privacy\" property and it does not affect the temporary addresses configured with this option.")
-#define DESCRIBE_DOC_NM_SETTING_IP6_CONFIG_ADDRESSES N_("Array of IP addresses.")
+#define DESCRIBE_DOC_NM_SETTING_IP6_CONFIG_ADDRESSES N_("A list of IPv6 addresses and their prefix length. Multiple addresses can be separated by comma. For example \"2001:db8:85a3::8a2e:370:7334/64, 2001:db8:85a3::5/64\". The addresses are listed in increasing priority, meaning the last address will be the primary address.")
 #define DESCRIBE_DOC_NM_SETTING_IP6_CONFIG_DAD_TIMEOUT N_("Timeout in milliseconds used to check for the presence of duplicate IP addresses on the network.  If an address conflict is detected, the activation will fail.  A zero value means that no duplicate address detection is performed, -1 means the default value (either configuration ipvx.dad-timeout override or zero).  A value greater than zero is a timeout in milliseconds. The property is currently implemented only for IPv4.")
 #define DESCRIBE_DOC_NM_SETTING_IP6_CONFIG_DHCP_DUID N_("A string containing the DHCPv6 Unique Identifier (DUID) used by the dhcp client to identify itself to DHCPv6 servers (RFC 3315). The DUID is carried in the Client Identifier option. If the property is a hex string ('aa:bb:cc') it is interpreted as a binary DUID and filled as an opaque value in the Client Identifier option. The special value \"lease\" will retrieve the DUID previously used from the lease file belonging to the connection. If no DUID is found and \"dhclient\" is the configured dhcp client, the DUID is searched in the system-wide dhclient lease file. If still no DUID is found, or another dhcp client is used, a global and permanent DUID-UUID (RFC 6355) will be generated based on the machine-id. The special values \"llt\" and \"ll\" will generate a DUID of type LLT or LL (see RFC 3315) based on the current MAC address of the device. In order to try providing a stable DUID-LLT, the time field will contain a constant timestamp that is used globally (for all profiles) and persisted to disk. The special values \"stable-llt\", \"stable-ll\" and \"stable-uuid\" will generate a DUID of the corresponding type, derived from the connection's stable-id and a per-host unique key. You may want to include the \"${DEVICE}\" or \"${MAC}\" specifier in the stable-id, in case this profile gets activated on multiple devices. So, the link-layer address of \"stable-ll\" and \"stable-llt\" will be a generated address derived from the stable id. The DUID-LLT time value in the \"stable-llt\" option will be picked among a static timespan of three years (the upper bound of the interval is the same constant timestamp used in \"llt\"). When the property is unset, the global value provided for \"ipv6.dhcp-duid\" is used. If no global value is provided, the default \"lease\" value is assumed.")
 #define DESCRIBE_DOC_NM_SETTING_IP6_CONFIG_DHCP_HOSTNAME N_("If the \"dhcp-send-hostname\" property is TRUE, then the specified name will be sent to the DHCP server when acquiring a lease. This property and \"dhcp-fqdn\" are mutually exclusive and cannot be set at the same time.")
@@ -272,6 +273,7 @@
 #define DESCRIBE_DOC_NM_SETTING_IP6_CONFIG_METHOD N_("IP configuration method. NMSettingIP4Config and NMSettingIP6Config both support \"disabled\", \"auto\", \"manual\", and \"link-local\". See the subclass-specific documentation for other values. In general, for the \"auto\" method, properties such as \"dns\" and \"routes\" specify information that is added on to the information returned from automatic configuration.  The \"ignore-auto-routes\" and \"ignore-auto-dns\" properties modify this behavior. For methods that imply no upstream network, such as \"shared\" or \"link-local\", these properties must be empty. For IPv4 method \"shared\", the IP subnet can be configured by adding one manual IPv4 address or otherwise 10.42.x.0/24 is chosen. Note that the shared method must be configured on the interface which shares the internet to a subnet, not on the uplink which is shared.")
 #define DESCRIBE_DOC_NM_SETTING_IP6_CONFIG_NEVER_DEFAULT N_("If TRUE, this connection will never be the default connection for this IP type, meaning it will never be assigned the default route by NetworkManager.")
 #define DESCRIBE_DOC_NM_SETTING_IP6_CONFIG_RA_TIMEOUT N_("A timeout for waiting Router Advertisements in seconds. If zero (the default), a globally configured default is used. If still unspecified, the timeout depends on the sysctl settings of the device. Set to 2147483647 (MAXINT32) for infinity.")
+#define DESCRIBE_DOC_NM_SETTING_IP6_CONFIG_REQUIRED_TIMEOUT N_("The minimum time interval in milliseconds for which dynamic IP configuration should be tried before the connection succeeds. This property is useful for example if both IPv4 and IPv6 are enabled and are allowed to fail. Normally the connection succeeds as soon as one of the two address families completes; by setting a required timeout for e.g. IPv4, one can ensure that even if IP6 succeeds earlier than IPv4, NetworkManager waits some time for IPv4 before the connection becomes active. Note that if \"may-fail\" is FALSE for the same address family, this property has no effect as NetworkManager needs to wait for the full DHCP timeout. A zero value means that no required timeout is present, -1 means the default value (either configuration ipvx.required-timeout override or zero).")
 #define DESCRIBE_DOC_NM_SETTING_IP6_CONFIG_ROUTE_METRIC N_("The default metric for routes that don't explicitly specify a metric. The default value -1 means that the metric is chosen automatically based on the device type. The metric applies to dynamic routes, manual (static) routes that don't have an explicit metric setting, address prefix routes, and the default route. Note that for IPv6, the kernel accepts zero (0) but coerces it to 1024 (user default). Hence, setting this property to zero effectively mean setting it to 1024. For IPv4, zero is a regular value for the metric.")
 #define DESCRIBE_DOC_NM_SETTING_IP6_CONFIG_ROUTE_TABLE N_("Enable policy routing (source routing) and set the routing table used when adding routes. This affects all routes, including device-routes, IPv4LL, DHCP, SLAAC, default-routes and static routes. But note that static routes can individually overwrite the setting by explicitly specifying a non-zero routing table. If the table setting is left at zero, it is eligible to be overwritten via global configuration. If the property is zero even after applying the global configuration value, policy routing is disabled for the address family of this connection. Policy routing disabled means that NetworkManager will add all routes to the main table (except static routes that explicitly configure a different table). Additionally, NetworkManager will not delete any extraneous routes from tables except the main table. This is to preserve backward compatibility for users who manage routing tables outside of NetworkManager.")
 #define DESCRIBE_DOC_NM_SETTING_IP6_CONFIG_ROUTES N_("Array of IP routes.")
diff --git a/src/libnmc-setting/tests/meson.build b/src/libnmc-setting/tests/meson.build
index 6c71f286..0ce39a94 100644
--- a/src/libnmc-setting/tests/meson.build
+++ b/src/libnmc-setting/tests/meson.build
@@ -13,6 +13,7 @@ exe = executable(
     libnm_core_aux_extern,
     libnm_core_aux_intern,
     libnm_base,
+    libnm_log_null,
     libnm_glib_aux,
     libnm_std_aux,
     libc_siphash,
diff --git a/src/n-dhcp4/src/n-dhcp4-c-lease.c b/src/n-dhcp4/src/n-dhcp4-c-lease.c
index 515814d4..bae2f674 100644
--- a/src/n-dhcp4/src/n-dhcp4-c-lease.c
+++ b/src/n-dhcp4/src/n-dhcp4-c-lease.c
@@ -249,9 +249,11 @@ _c_public_ void n_dhcp4_client_lease_get_lifetime(NDhcp4ClientLease *lease, uint
  * Gets the address contained in the server-identifier DHCP option, in network
  * byte order.
  *
- * Return: 0 on success, negative error code on failure.
+ * Return: 0 on success,
+ *         N_DHCP4_E_UNSET if the lease doesn't contain a server-identifier, or
+ *         N_DCHP4_E_INTERNAL if the server-identifier is not valid.
  */
-_c_public_ int n_dhcp4_client_lease_get_server_identifier (NDhcp4ClientLease *lease, struct in_addr *addr) {
+_c_public_ int n_dhcp4_client_lease_get_server_identifier(NDhcp4ClientLease *lease, struct in_addr *addr) {
         uint8_t *data;
         size_t n_data;
         int r;
@@ -260,7 +262,7 @@ _c_public_ int n_dhcp4_client_lease_get_server_identifier (NDhcp4ClientLease *le
         if (r)
                 return r;
         if (n_data < sizeof(struct in_addr))
-                return N_DHCP4_E_MALFORMED;
+                return N_DHCP4_E_INTERNAL;
 
         memcpy(addr, data, sizeof(struct in_addr));
 
@@ -268,6 +270,42 @@ _c_public_ int n_dhcp4_client_lease_get_server_identifier (NDhcp4ClientLease *le
 }
 
 /**
+ * n_dhcp4_client_lease_get_file() - query the lease for the boot file name
+ * @lease:                      the lease to operate on
+ * @file:                       return argument for the file name
+ *
+ * Query the lease for the boot file name from the DHCP header. The file name
+ * is returned as a NULL-terminated string.
+ *
+ * Return: 0 on success,
+ *         N_DHCP4_E_UNSET if the lease does not contain a file name, or
+ *         N_DCHP4_E_INTERNAL if the file name is invalid.
+ */
+_c_public_ int n_dhcp4_client_lease_get_file(NDhcp4ClientLease *lease, const char **file) {
+        NDhcp4Message *message;
+
+        if (lease->message->options[N_DHCP4_OPTION_OVERLOAD].size > 0
+            && ((*lease->message->options[N_DHCP4_OPTION_OVERLOAD].value) & N_DHCP4_OVERLOAD_FILE)) {
+            /* The field is overloaded to contain other options */
+            return N_DHCP4_E_UNSET;
+        }
+
+        message = &lease->message->message;
+
+        if (message->file[0] == '\0')
+            return N_DHCP4_E_UNSET;
+
+        if (!memchr(message->file, '\0', sizeof(message->file))) {
+            /* The field is NULL-terminated (RFC 2131 section 2) */
+            return N_DHCP4_E_INTERNAL;
+        }
+
+        *file = (const char *) message->file;
+
+        return 0;
+}
+
+/**
  * n_dhcp4_client_lease_query() - query the lease for an option
  * @lease:                      the lease to operate on
  * @option:                     the DHCP4 option code
diff --git a/src/n-dhcp4/src/n-dhcp4.h b/src/n-dhcp4/src/n-dhcp4.h
index 435c5600..8493a487 100644
--- a/src/n-dhcp4/src/n-dhcp4.h
+++ b/src/n-dhcp4/src/n-dhcp4.h
@@ -171,7 +171,8 @@ void n_dhcp4_client_lease_get_siaddr(NDhcp4ClientLease *lease, struct in_addr *s
 void n_dhcp4_client_lease_get_basetime(NDhcp4ClientLease *lease, uint64_t *ns_basetimep);
 void n_dhcp4_client_lease_get_lifetime(NDhcp4ClientLease *lease, uint64_t *ns_lifetimep);
 int n_dhcp4_client_lease_query(NDhcp4ClientLease *lease, uint8_t option, uint8_t **datap, size_t *n_datap);
-int n_dhcp4_client_lease_get_server_identifier (NDhcp4ClientLease *lease, struct in_addr *addr);
+int n_dhcp4_client_lease_get_server_identifier(NDhcp4ClientLease *lease, struct in_addr *addr);
+int n_dhcp4_client_lease_get_file(NDhcp4ClientLease *lease, const char **file);
 
 int n_dhcp4_client_lease_select(NDhcp4ClientLease *lease);
 int n_dhcp4_client_lease_accept(NDhcp4ClientLease *lease);
diff --git a/src/nm-cloud-setup/main.c b/src/nm-cloud-setup/main.c
index 0667532b..8dc67851 100644
--- a/src/nm-cloud-setup/main.c
+++ b/src/nm-cloud-setup/main.c
@@ -8,6 +8,7 @@
 #include "nmcs-provider-ec2.h"
 #include "nmcs-provider-gcp.h"
 #include "nmcs-provider-azure.h"
+#include "nmcs-provider-aliyun.h"
 #include "libnm-core-aux-intern/nm-libnm-core-utils.h"
 
 /*****************************************************************************/
@@ -85,6 +86,7 @@ _provider_detect(GCancellable *sigterm_cancellable)
         NMCS_TYPE_PROVIDER_EC2,
         NMCS_TYPE_PROVIDER_GCP,
         NMCS_TYPE_PROVIDER_AZURE,
+        NMCS_TYPE_PROVIDER_ALIYUN,
     };
     int    i;
     gulong cancellable_signal_id;
@@ -338,11 +340,13 @@ _nmc_mangle_connection(NMDevice *                            device,
             if (entry)
                 g_ptr_array_add(addrs_new, entry);
         }
-
-        gateway = nm_utils_ip4_address_clear_host_address(config_data->cidr_addr,
-                                                          config_data->cidr_prefix);
-        ((guint8 *) &gateway)[3] += 1;
-
+        if (config_data->has_gateway && config_data->gateway) {
+            gateway = config_data->gateway;
+        } else {
+            gateway = nm_utils_ip4_address_clear_host_address(config_data->cidr_addr,
+                                                              config_data->cidr_prefix);
+            ((guint8 *) &gateway)[3] += 1;
+        }
         rt_metric = 10;
         rt_table  = 30400 + config_data->iface_idx;
 
diff --git a/src/nm-cloud-setup/meson.build b/src/nm-cloud-setup/meson.build
index 624a1043..ea4ad113 100644
--- a/src/nm-cloud-setup/meson.build
+++ b/src/nm-cloud-setup/meson.build
@@ -29,6 +29,7 @@ libnm_cloud_setup_core = static_library(
     'nmcs-provider-ec2.c',
     'nmcs-provider-gcp.c',
     'nmcs-provider-azure.c',
+    'nmcs-provider-aliyun.c',
     'nmcs-provider.c',
   ),
   dependencies: [
diff --git a/src/nm-cloud-setup/nm-cloud-setup-utils.c b/src/nm-cloud-setup/nm-cloud-setup-utils.c
index 1cb14a83..ed36b4dd 100644
--- a/src/nm-cloud-setup/nm-cloud-setup-utils.c
+++ b/src/nm-cloud-setup/nm-cloud-setup-utils.c
@@ -665,6 +665,20 @@ nmcs_utils_uri_build_concat_v(const char *base, const char **components, gsize n
     return nm_str_buf_finalize(&strbuf, NULL);
 }
 
+const char *
+nmcs_utils_uri_complete_interned(const char *uri)
+{
+    gs_free char *s = NULL;
+
+    if (nm_str_is_empty(uri))
+        return NULL;
+    if (NM_STR_HAS_PREFIX(uri, "http://") || NM_STR_HAS_PREFIX(uri, "https://") || strchr(uri, '/'))
+        return g_intern_string(uri);
+
+    s = g_strconcat("http://", uri, NULL);
+    return g_intern_string(s);
+}
+
 /*****************************************************************************/
 
 gboolean
diff --git a/src/nm-cloud-setup/nm-cloud-setup-utils.h b/src/nm-cloud-setup/nm-cloud-setup-utils.h
index d8631701..3ca7298f 100644
--- a/src/nm-cloud-setup/nm-cloud-setup-utils.h
+++ b/src/nm-cloud-setup/nm-cloud-setup-utils.h
@@ -121,6 +121,8 @@ char *nmcs_utils_uri_build_concat_v(const char *base, const char **components, g
 #define nmcs_utils_uri_build_concat(base, ...) \
     nmcs_utils_uri_build_concat_v(base, ((const char *[]){__VA_ARGS__}), NM_NARG(__VA_ARGS__))
 
+const char *nmcs_utils_uri_complete_interned(const char *uri);
+
 /*****************************************************************************/
 
 gboolean nmcs_setting_ip_replace_ipv4_addresses(NMSettingIPConfig *s_ip,
diff --git a/src/nm-cloud-setup/nm-cloud-setup.service.in b/src/nm-cloud-setup/nm-cloud-setup.service.in
index 809f707d..f4b0e263 100644
--- a/src/nm-cloud-setup/nm-cloud-setup.service.in
+++ b/src/nm-cloud-setup/nm-cloud-setup.service.in
@@ -18,6 +18,7 @@ ExecStart=@libexecdir@/nm-cloud-setup
 #Environment=NM_CLOUD_SETUP_EC2=yes
 #Environment=NM_CLOUD_SETUP_GCP=yes
 #Environment=NM_CLOUD_SETUP_AZURE=yes
+#Environment=NM_CLOUD_SETUP_ALIYUN=yes
 
 CapabilityBoundingSet=
 LockPersonality=yes
diff --git a/src/nm-cloud-setup/nmcs-provider-aliyun.c b/src/nm-cloud-setup/nmcs-provider-aliyun.c
new file mode 100644
index 00000000..01a4af0f
--- /dev/null
+++ b/src/nm-cloud-setup/nmcs-provider-aliyun.c
@@ -0,0 +1,511 @@
+/* SPDX-License-Identifier: LGPL-2.1-or-later */
+
+#include "libnm-client-aux-extern/nm-default-client.h"
+
+#include "nmcs-provider-aliyun.h"
+
+#include <arpa/inet.h>
+
+#include "nm-cloud-setup-utils.h"
+
+/*****************************************************************************/
+
+#define HTTP_TIMEOUT_MS 3000
+
+#define NM_ALIYUN_HOST              "100.100.100.200"
+#define NM_ALIYUN_BASE              "http://" NM_ALIYUN_HOST
+#define NM_ALIYUN_API_VERSION       "2016-01-01"
+#define NM_ALIYUN_METADATA_URL_BASE /* $NM_ALIYUN_BASE/$NM_ALIYUN_API_VERSION */ \
+    "/meta-data/network/interfaces/macs/"
+
+static const char *
+_aliyun_base(void)
+{
+    static const char *base_cached = NULL;
+    const char *       base;
+
+again:
+    base = g_atomic_pointer_get(&base_cached);
+    if (G_UNLIKELY(!base)) {
+        /* The base URI can be set via environment variable.
+         * This is mainly for testing, it's not usually supposed to be configured.
+         * Consider this private API! */
+        base = g_getenv(NMCS_ENV_VARIABLE("NM_CLOUD_SETUP_ALIYUN_HOST"));
+
+        if (!g_atomic_pointer_compare_and_exchange(&base_cached, NULL, base))
+            goto again;
+    }
+    base = nmcs_utils_uri_complete_interned(base) ?: ("" NM_ALIYUN_BASE);
+    return base;
+}
+
+#define _aliyun_uri_concat(...) nmcs_utils_uri_build_concat(_aliyun_base(), __VA_ARGS__)
+#define _aliyun_uri_interfaces(...) \
+    _aliyun_uri_concat(NM_ALIYUN_API_VERSION, NM_ALIYUN_METADATA_URL_BASE, ##__VA_ARGS__)
+
+/*****************************************************************************/
+
+struct _NMCSProviderAliyun {
+    NMCSProvider parent;
+};
+
+struct _NMCSProviderAliyunClass {
+    NMCSProviderClass parent;
+};
+
+G_DEFINE_TYPE(NMCSProviderAliyun, nmcs_provider_aliyun, NMCS_TYPE_PROVIDER);
+
+/*****************************************************************************/
+
+static void
+filter_chars(char *str, const char *chars)
+{
+    gsize i;
+    gsize j;
+
+    for (i = 0, j = 0; str[i]; i++) {
+        if (!strchr(chars, str[i]))
+            str[j++] = str[i];
+    }
+    str[j] = '\0';
+}
+
+static void
+_detect_get_meta_data_done_cb(GObject *source, GAsyncResult *result, gpointer user_data)
+{
+    gs_unref_object GTask *task     = user_data;
+    gs_free_error GError *get_error = NULL;
+    gs_free_error GError *error     = NULL;
+
+    nm_http_client_poll_get_finish(NM_HTTP_CLIENT(source), result, NULL, NULL, &get_error);
+
+    if (nm_utils_error_is_cancelled(get_error)) {
+        g_task_return_error(task, g_steal_pointer(&get_error));
+        return;
+    }
+
+    if (get_error) {
+        nm_utils_error_set(&error,
+                           NM_UTILS_ERROR_UNKNOWN,
+                           "failure to get ALIYUN metadata: %s",
+                           get_error->message);
+        g_task_return_error(task, g_steal_pointer(&error));
+        return;
+    }
+
+    g_task_return_boolean(task, TRUE);
+}
+
+static void
+detect(NMCSProvider *provider, GTask *task)
+{
+    NMHttpClient *http_client;
+    gs_free char *uri = NULL;
+
+    http_client = nmcs_provider_get_http_client(provider);
+
+    nm_http_client_poll_get(http_client,
+                            (uri = _aliyun_uri_concat(NM_ALIYUN_API_VERSION "/meta-data/")),
+                            HTTP_TIMEOUT_MS,
+                            256 * 1024,
+                            7000,
+                            1000,
+                            NULL,
+                            g_task_get_cancellable(task),
+                            NULL,
+                            NULL,
+                            _detect_get_meta_data_done_cb,
+                            task);
+}
+
+/*****************************************************************************/
+
+typedef enum {
+    GET_CONFIG_FETCH_DONE_TYPE_SUBNET_VPC_CIDR_BLOCK,
+    GET_CONFIG_FETCH_DONE_TYPE_PRIVATE_IPV4S,
+    GET_CONFIG_FETCH_DONE_TYPE_NETMASK,
+    GET_CONFIG_FETCH_DONE_TYPE_GATEWAY,
+} GetConfigFetchDoneType;
+
+static void
+_get_config_fetch_done_cb(NMHttpClient *         http_client,
+                          GAsyncResult *         result,
+                          gpointer               user_data,
+                          GetConfigFetchDoneType fetch_type)
+{
+    NMCSProviderGetConfigTaskData *get_config_data;
+    const char *                   hwaddr = NULL;
+    gs_unref_bytes GBytes *response       = NULL;
+    gs_free_error GError *          error = NULL;
+    NMCSProviderGetConfigIfaceData *config_iface_data;
+    in_addr_t                       tmp_addr;
+    int                             tmp_prefix;
+    in_addr_t                       netmask_bin;
+    in_addr_t                       gateway_bin;
+    gs_free const char **           s_addrs = NULL;
+    gsize                           i;
+    gsize                           len;
+
+    nm_utils_user_data_unpack(user_data, &get_config_data, &hwaddr);
+
+    nm_http_client_poll_get_finish(http_client, result, NULL, &response, &error);
+
+    if (nm_utils_error_is_cancelled(error))
+        return;
+
+    if (error)
+        goto out;
+
+    config_iface_data = g_hash_table_lookup(get_config_data->result_dict, hwaddr);
+
+    switch (fetch_type) {
+    case GET_CONFIG_FETCH_DONE_TYPE_PRIVATE_IPV4S:
+
+        s_addrs = nm_utils_strsplit_set_full(g_bytes_get_data(response, NULL),
+                                             ",",
+                                             NM_UTILS_STRSPLIT_SET_FLAGS_STRSTRIP);
+        len     = NM_PTRARRAY_LEN(s_addrs);
+        nm_assert(!config_iface_data->has_ipv4s);
+        nm_assert(!config_iface_data->ipv4s_arr);
+        config_iface_data->has_ipv4s = TRUE;
+        config_iface_data->ipv4s_len = 0;
+        if (len > 0) {
+            config_iface_data->ipv4s_arr = g_new(in_addr_t, len);
+            for (i = 0; i < len; i++) {
+                filter_chars((char *) s_addrs[i], "[]\"");
+                if (nm_utils_parse_inaddr_bin(AF_INET, s_addrs[i], NULL, &tmp_addr)) {
+                    config_iface_data->ipv4s_arr[config_iface_data->ipv4s_len++] = tmp_addr;
+                }
+            }
+        }
+        break;
+
+    case GET_CONFIG_FETCH_DONE_TYPE_SUBNET_VPC_CIDR_BLOCK:
+
+        if (nm_utils_parse_inaddr_prefix_bin(AF_INET,
+                                             g_bytes_get_data(response, NULL),
+                                             NULL,
+                                             &tmp_addr,
+                                             &tmp_prefix)) {
+            nm_assert(!config_iface_data->has_cidr);
+            config_iface_data->has_cidr  = TRUE;
+            config_iface_data->cidr_addr = tmp_addr;
+        }
+        break;
+
+    case GET_CONFIG_FETCH_DONE_TYPE_NETMASK:
+
+        if (nm_utils_parse_inaddr_bin(AF_INET,
+                                      g_bytes_get_data(response, NULL),
+                                      NULL,
+                                      &netmask_bin)) {
+            config_iface_data->cidr_prefix = nm_utils_ip4_netmask_to_prefix(netmask_bin);
+        };
+        break;
+
+    case GET_CONFIG_FETCH_DONE_TYPE_GATEWAY:
+
+        if (nm_utils_parse_inaddr_bin(AF_INET,
+                                      g_bytes_get_data(response, NULL),
+                                      NULL,
+                                      &gateway_bin)) {
+            config_iface_data->has_gateway = TRUE;
+            config_iface_data->gateway     = gateway_bin;
+        };
+        break;
+    }
+
+out:
+    get_config_data->n_pending--;
+    _nmcs_provider_get_config_task_maybe_return(get_config_data, g_steal_pointer(&error));
+}
+
+static void
+_get_config_fetch_done_cb_vpc_cidr_block(GObject *source, GAsyncResult *result, gpointer user_data)
+{
+    _get_config_fetch_done_cb(NM_HTTP_CLIENT(source),
+                              result,
+                              user_data,
+                              GET_CONFIG_FETCH_DONE_TYPE_SUBNET_VPC_CIDR_BLOCK);
+}
+
+static void
+_get_config_fetch_done_cb_private_ipv4s(GObject *source, GAsyncResult *result, gpointer user_data)
+{
+    _get_config_fetch_done_cb(NM_HTTP_CLIENT(source),
+                              result,
+                              user_data,
+                              GET_CONFIG_FETCH_DONE_TYPE_PRIVATE_IPV4S);
+}
+
+static void
+_get_config_fetch_done_cb_netmask(GObject *source, GAsyncResult *result, gpointer user_data)
+{
+    _get_config_fetch_done_cb(NM_HTTP_CLIENT(source),
+                              result,
+                              user_data,
+                              GET_CONFIG_FETCH_DONE_TYPE_NETMASK);
+}
+
+static void
+_get_config_fetch_done_cb_gateway(GObject *source, GAsyncResult *result, gpointer user_data)
+{
+    _get_config_fetch_done_cb(NM_HTTP_CLIENT(source),
+                              result,
+                              user_data,
+                              GET_CONFIG_FETCH_DONE_TYPE_GATEWAY);
+}
+
+typedef struct {
+    gssize iface_idx;
+    char   path[0];
+} GetConfigMetadataMac;
+
+static void
+_get_config_metadata_ready_cb(GObject *source, GAsyncResult *result, gpointer user_data)
+{
+    NMCSProviderGetConfigTaskData *get_config_data;
+    gs_unref_hashtable GHashTable *response_parsed = NULL;
+    gs_free_error GError *error                    = NULL;
+    GetConfigMetadataMac *v_mac_data;
+    const char *          v_hwaddr;
+    GHashTableIter        h_iter;
+    NMHttpClient *        http_client;
+
+    nm_http_client_poll_get_finish(NM_HTTP_CLIENT(source), result, NULL, NULL, &error);
+
+    if (nm_utils_error_is_cancelled(error))
+        return;
+
+    get_config_data = user_data;
+
+    response_parsed                     = g_steal_pointer(&get_config_data->extra_data);
+    get_config_data->extra_data_destroy = NULL;
+
+    /* We ignore errors. Only if we got no response at all, it's a problem.
+     * Otherwise, we proceed with whatever we could fetch. */
+    if (!response_parsed) {
+        _nmcs_provider_get_config_task_maybe_return(
+            get_config_data,
+            nm_utils_error_new(NM_UTILS_ERROR_UNKNOWN, "meta data for interfaces not found"));
+        return;
+    }
+
+    http_client = nmcs_provider_get_http_client(g_task_get_source_object(get_config_data->task));
+
+    g_hash_table_iter_init(&h_iter, response_parsed);
+    while (g_hash_table_iter_next(&h_iter, (gpointer *) &v_hwaddr, (gpointer *) &v_mac_data)) {
+        NMCSProviderGetConfigIfaceData *config_iface_data;
+        gs_free char *                  uri1 = NULL;
+        gs_free char *                  uri2 = NULL;
+        gs_free char *                  uri3 = NULL;
+        gs_free char *                  uri4 = NULL;
+        const char *                    hwaddr;
+
+        if (!g_hash_table_lookup_extended(get_config_data->result_dict,
+                                          v_hwaddr,
+                                          (gpointer *) &hwaddr,
+                                          (gpointer *) &config_iface_data)) {
+            if (!get_config_data->any) {
+                _LOGD("get-config: skip fetching meta data for %s (%s)",
+                      v_hwaddr,
+                      v_mac_data->path);
+                continue;
+            }
+            config_iface_data = nmcs_provider_get_config_iface_data_new(FALSE);
+            g_hash_table_insert(get_config_data->result_dict,
+                                (char *) (hwaddr = g_strdup(v_hwaddr)),
+                                config_iface_data);
+        }
+
+        nm_assert(config_iface_data->iface_idx == -1);
+
+        config_iface_data->iface_idx = v_mac_data->iface_idx;
+
+        _LOGD("get-config: start fetching meta data for #%" G_GSSIZE_FORMAT ", %s (%s)",
+              config_iface_data->iface_idx,
+              hwaddr,
+              v_mac_data->path);
+
+        get_config_data->n_pending++;
+        nm_http_client_poll_get(
+            http_client,
+            (uri1 = _aliyun_uri_interfaces(v_mac_data->path,
+                                           NM_STR_HAS_SUFFIX(v_mac_data->path, "/") ? "" : "/",
+                                           "vpc-cidr-block")),
+            HTTP_TIMEOUT_MS,
+            512 * 1024,
+            10000,
+            1000,
+            NULL,
+            get_config_data->intern_cancellable,
+            NULL,
+            NULL,
+            _get_config_fetch_done_cb_vpc_cidr_block,
+            nm_utils_user_data_pack(get_config_data, hwaddr));
+
+        get_config_data->n_pending++;
+        nm_http_client_poll_get(
+            http_client,
+            (uri2 = _aliyun_uri_interfaces(v_mac_data->path,
+                                           NM_STR_HAS_SUFFIX(v_mac_data->path, "/") ? "" : "/",
+                                           "private-ipv4s")),
+            HTTP_TIMEOUT_MS,
+            512 * 1024,
+            10000,
+            1000,
+            NULL,
+            get_config_data->intern_cancellable,
+            NULL,
+            NULL,
+            _get_config_fetch_done_cb_private_ipv4s,
+            nm_utils_user_data_pack(get_config_data, hwaddr));
+
+        get_config_data->n_pending++;
+        nm_http_client_poll_get(
+            http_client,
+            (uri3 = _aliyun_uri_interfaces(v_mac_data->path,
+                                           NM_STR_HAS_SUFFIX(v_mac_data->path, "/") ? "" : "/",
+                                           "netmask")),
+            HTTP_TIMEOUT_MS,
+            512 * 1024,
+            10000,
+            1000,
+            NULL,
+            get_config_data->intern_cancellable,
+            NULL,
+            NULL,
+            _get_config_fetch_done_cb_netmask,
+            nm_utils_user_data_pack(get_config_data, hwaddr));
+
+        get_config_data->n_pending++;
+        nm_http_client_poll_get(
+            http_client,
+            (uri4 = _aliyun_uri_interfaces(v_mac_data->path,
+                                           NM_STR_HAS_SUFFIX(v_mac_data->path, "/") ? "" : "/",
+                                           "gateway")),
+            HTTP_TIMEOUT_MS,
+            512 * 1024,
+            10000,
+            1000,
+            NULL,
+            get_config_data->intern_cancellable,
+            NULL,
+            NULL,
+            _get_config_fetch_done_cb_gateway,
+            nm_utils_user_data_pack(get_config_data, hwaddr));
+    }
+
+    _nmcs_provider_get_config_task_maybe_return(get_config_data, NULL);
+}
+
+static gboolean
+_get_config_metadata_ready_check(long     response_code,
+                                 GBytes * response,
+                                 gpointer check_user_data,
+                                 GError **error)
+{
+    NMCSProviderGetConfigTaskData *get_config_data = check_user_data;
+    gs_unref_hashtable GHashTable *response_parsed = NULL;
+    const guint8 *                 r_data;
+    const char *                   cur_line;
+    gsize                          r_len;
+    gsize                          cur_line_len;
+    GHashTableIter                 h_iter;
+    gboolean                       has_all;
+    const char *                   c_hwaddr;
+    gssize                         iface_idx_counter = 0;
+
+    if (response_code != 200 || !response) {
+        /* we wait longer. */
+        return FALSE;
+    }
+
+    r_data = g_bytes_get_data(response, &r_len);
+    /* NMHttpClient guarantees that there is a trailing NUL after the data. */
+    nm_assert(r_data[r_len] == 0);
+
+    while (nm_utils_parse_next_line((const char **) &r_data, &r_len, &cur_line, &cur_line_len)) {
+        GetConfigMetadataMac *mac_data;
+        char *                hwaddr;
+
+        if (cur_line_len == 0)
+            continue;
+
+        /* Truncate the string. It's safe to do, because we own @response an it has an
+         * extra NUL character after the buffer. */
+        ((char *) cur_line)[cur_line_len] = '\0';
+
+        hwaddr = nmcs_utils_hwaddr_normalize(
+            cur_line,
+            cur_line[cur_line_len - 1u] == '/' ? (gssize) (cur_line_len - 1u) : -1);
+        if (!hwaddr)
+            continue;
+
+        if (!response_parsed)
+            response_parsed = g_hash_table_new_full(nm_str_hash, g_str_equal, g_free, g_free);
+
+        mac_data            = g_malloc(sizeof(GetConfigMetadataMac) + 1u + cur_line_len);
+        mac_data->iface_idx = iface_idx_counter++;
+        memcpy(mac_data->path, cur_line, cur_line_len + 1u);
+
+        /* here we will ignore duplicate responses. */
+        g_hash_table_insert(response_parsed, hwaddr, mac_data);
+    }
+
+    has_all = TRUE;
+    g_hash_table_iter_init(&h_iter, get_config_data->result_dict);
+    while (g_hash_table_iter_next(&h_iter, (gpointer *) &c_hwaddr, NULL)) {
+        if (!response_parsed || !g_hash_table_contains(response_parsed, c_hwaddr)) {
+            has_all = FALSE;
+            break;
+        }
+    }
+
+    nm_clear_pointer(&get_config_data->extra_data, g_hash_table_unref);
+    if (response_parsed) {
+        get_config_data->extra_data         = g_steal_pointer(&response_parsed);
+        get_config_data->extra_data_destroy = (GDestroyNotify) g_hash_table_unref;
+    }
+    return has_all;
+}
+
+static void
+get_config(NMCSProvider *provider, NMCSProviderGetConfigTaskData *get_config_data)
+{
+    gs_free char *uri = NULL;
+
+    /* First we fetch the "macs/". If the caller requested some particular
+     * MAC addresses, then we poll until we see them. They might not yet be
+     * around from the start...
+     */
+    nm_http_client_poll_get(nmcs_provider_get_http_client(provider),
+                            (uri = _aliyun_uri_interfaces()),
+                            HTTP_TIMEOUT_MS,
+                            256 * 1024,
+                            15000,
+                            1000,
+                            NULL,
+                            get_config_data->intern_cancellable,
+                            _get_config_metadata_ready_check,
+                            get_config_data,
+                            _get_config_metadata_ready_cb,
+                            get_config_data);
+}
+
+/*****************************************************************************/
+
+static void
+nmcs_provider_aliyun_init(NMCSProviderAliyun *self)
+{}
+
+static void
+nmcs_provider_aliyun_class_init(NMCSProviderAliyunClass *klass)
+{
+    NMCSProviderClass *provider_class = NMCS_PROVIDER_CLASS(klass);
+
+    provider_class->_name                 = "aliyun";
+    provider_class->_env_provider_enabled = NMCS_ENV_VARIABLE("NM_CLOUD_SETUP_ALIYUN");
+    provider_class->detect                = detect;
+    provider_class->get_config            = get_config;
+}
diff --git a/src/nm-cloud-setup/nmcs-provider-aliyun.h b/src/nm-cloud-setup/nmcs-provider-aliyun.h
new file mode 100644
index 00000000..6e733a11
--- /dev/null
+++ b/src/nm-cloud-setup/nmcs-provider-aliyun.h
@@ -0,0 +1,28 @@
+/* SPDX-License-Identifier: LGPL-2.1-or-later */
+
+#ifndef __NMCS_PROVIDER_ALIYUN_H__
+#define __NMCS_PROVIDER_ALIYUN_H__
+
+#include "nmcs-provider.h"
+
+/*****************************************************************************/
+
+typedef struct _NMCSProviderAliyun      NMCSProviderAliyun;
+typedef struct _NMCSProviderAliyunClass NMCSProviderAliyunClass;
+
+#define NMCS_TYPE_PROVIDER_ALIYUN (nmcs_provider_aliyun_get_type())
+#define NMCS_PROVIDER_ALIYUN(obj) \
+    (G_TYPE_CHECK_INSTANCE_CAST((obj), NMCS_TYPE_PROVIDER_ALIYUN, NMCSProviderAliyun))
+#define NMCS_PROVIDER_ALIYUN_CLASS(klass) \
+    (G_TYPE_CHECK_CLASS_CAST((klass), NMCS_TYPE_PROVIDER_ALIYUN, NMCSProviderAliyunClass))
+#define NMCS_IS_PROVIDER_ALIYUN(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), NMCS_TYPE_PROVIDER_ALIYUN))
+#define NMCS_IS_PROVIDER_ALIYUN_CLASS(klass) \
+    (G_TYPE_CHECK_CLASS_TYPE((klass), NMCS_TYPE_PROVIDER_ALIYUN))
+#define NMCS_PROVIDER_ALIYUN_GET_CLASS(obj) \
+    (G_TYPE_INSTANCE_GET_CLASS((obj), NMCS_TYPE_PROVIDER_ALIYUN, NMCSProviderAliyunClass))
+
+GType nmcs_provider_aliyun_get_type(void);
+
+/*****************************************************************************/
+
+#endif /* __NMCS_PROVIDER_ALIYUN_H__ */
diff --git a/src/nm-cloud-setup/nmcs-provider-azure.c b/src/nm-cloud-setup/nmcs-provider-azure.c
index 9ced8c45..69785d64 100644
--- a/src/nm-cloud-setup/nmcs-provider-azure.c
+++ b/src/nm-cloud-setup/nmcs-provider-azure.c
@@ -41,10 +41,8 @@ _detect_get_meta_data_done_cb(GObject *source, GAsyncResult *result, gpointer us
     gs_unref_object GTask *task     = user_data;
     gs_free_error GError *get_error = NULL;
     gs_free_error GError *error     = NULL;
-    gboolean              success;
 
-    success =
-        nm_http_client_poll_get_finish(NM_HTTP_CLIENT(source), result, NULL, NULL, &get_error);
+    nm_http_client_poll_get_finish(NM_HTTP_CLIENT(source), result, NULL, NULL, &get_error);
 
     if (nm_utils_error_is_cancelled(get_error)) {
         g_task_return_error(task, g_steal_pointer(&get_error));
@@ -60,12 +58,6 @@ _detect_get_meta_data_done_cb(GObject *source, GAsyncResult *result, gpointer us
         return;
     }
 
-    if (!success) {
-        nm_utils_error_set(&error, NM_UTILS_ERROR_UNKNOWN, "failure to detect azure metadata");
-        g_task_return_error(task, g_steal_pointer(&error));
-        return;
-    }
-
     g_task_return_boolean(task, TRUE);
 }
 
diff --git a/src/nm-cloud-setup/nmcs-provider-ec2.c b/src/nm-cloud-setup/nmcs-provider-ec2.c
index 14b0b740..6f83238d 100644
--- a/src/nm-cloud-setup/nmcs-provider-ec2.c
+++ b/src/nm-cloud-setup/nmcs-provider-ec2.c
@@ -29,21 +29,7 @@ again:
          * This is mainly for testing, it's not usually supposed to be configured.
          * Consider this private API! */
         base = g_getenv(NMCS_ENV_VARIABLE("NM_CLOUD_SETUP_EC2_HOST"));
-
-        if (base && base[0] && !strchr(base, '/')) {
-            if (NM_STR_HAS_PREFIX(base, "http://") || NM_STR_HAS_PREFIX(base, "https://"))
-                base = g_intern_string(base);
-            else {
-                gs_free char *s = NULL;
-
-                s    = g_strconcat("http://", base, NULL);
-                base = g_intern_string(s);
-            }
-        }
-        if (!base)
-            base = NM_EC2_BASE;
-
-        nm_assert(!NM_STR_HAS_SUFFIX(base, "/"));
+        base = nmcs_utils_uri_complete_interned(base) ?: ("" NM_EC2_BASE);
 
         if (!g_atomic_pointer_compare_and_exchange(&base_cached, NULL, base))
             goto again;
diff --git a/src/nm-cloud-setup/nmcs-provider.h b/src/nm-cloud-setup/nmcs-provider.h
index 3b0c2529..13212b8e 100644
--- a/src/nm-cloud-setup/nmcs-provider.h
+++ b/src/nm-cloud-setup/nmcs-provider.h
@@ -19,9 +19,11 @@ typedef struct {
     gssize iface_idx;
 
     in_addr_t cidr_addr;
+    in_addr_t gateway;
     guint8    cidr_prefix;
     bool      has_ipv4s : 1;
     bool      has_cidr : 1;
+    bool      has_gateway : 1;
 
     NMIPRoute **iproutes_arr;
     gsize       iproutes_len;
diff --git a/src/nm-cloud-setup/tests/meson.build b/src/nm-cloud-setup/tests/meson.build
index 77e25c81..c6881a57 100644
--- a/src/nm-cloud-setup/tests/meson.build
+++ b/src/nm-cloud-setup/tests/meson.build
@@ -11,6 +11,7 @@ exe = executable(
   link_with: [
     libnm_cloud_setup_core,
     libnmc_base,
+    libnm_log_null,
     libnm_glib_aux,
     libnm_std_aux,
     libc_siphash,
diff --git a/src/nm-dispatcher/meson.build b/src/nm-dispatcher/meson.build
index 37ae9e82..eb3ea777 100644
--- a/src/nm-dispatcher/meson.build
+++ b/src/nm-dispatcher/meson.build
@@ -39,6 +39,7 @@ executable(
   link_with: [
     libnm_core_aux_extern,
     libnm_dispatcher_core,
+    libnm_log_null,
     libnm_glib_aux,
     libnm_std_aux,
     libc_siphash,
diff --git a/src/nm-dispatcher/tests/meson.build b/src/nm-dispatcher/tests/meson.build
index ac96ef92..deaa8819 100644
--- a/src/nm-dispatcher/tests/meson.build
+++ b/src/nm-dispatcher/tests/meson.build
@@ -13,6 +13,7 @@ exe = executable(
   c_args: introspection_extra_cflags,
   link_with: [
     libnm_dispatcher_core,
+    libnm_log_null,
     libnm_glib_aux,
     libnm_std_aux,
     libc_siphash,
diff --git a/src/nm-initrd-generator/meson.build b/src/nm-initrd-generator/meson.build
index 896ed3ec..080fe7e4 100644
--- a/src/nm-initrd-generator/meson.build
+++ b/src/nm-initrd-generator/meson.build
@@ -34,8 +34,8 @@ executable(
     libnm_platform,
     libnm_base,
     libnm_systemd_shared,
-    libnm_log_core,
     libnm_udev_aux,
+    libnm_log_core,
     libnm_glib_aux,
     libnm_std_aux,
     libc_siphash,
diff --git a/src/nm-initrd-generator/nm-initrd-generator.c b/src/nm-initrd-generator/nm-initrd-generator.c
index 490a4547..b78808b2 100644
--- a/src/nm-initrd-generator/nm-initrd-generator.c
+++ b/src/nm-initrd-generator/nm-initrd-generator.c
@@ -35,6 +35,14 @@ output_conn(gpointer key, gpointer value, gpointer user_data)
     gs_free char *                  data  = NULL;
     gs_free_error GError *error           = NULL;
     gsize                 len;
+    NMSetting *           setting;
+
+    setting = nm_setting_user_new();
+    nm_connection_add_setting(connection, setting);
+    nm_setting_user_set_data(NM_SETTING_USER(setting),
+                             NM_USER_TAG_ORIGIN,
+                             "nm-initrd-generator",
+                             NULL);
 
     if (!nm_connection_normalize(connection, NULL, NULL, &error))
         goto err_out;
diff --git a/src/nm-initrd-generator/nm-initrd-generator.h b/src/nm-initrd-generator/nm-initrd-generator.h
index 56dcfd68..2ec52a01 100644
--- a/src/nm-initrd-generator/nm-initrd-generator.h
+++ b/src/nm-initrd-generator/nm-initrd-generator.h
@@ -9,7 +9,8 @@
 #include "nm-connection.h"
 #include "nm-utils.h"
 
-#define NMI_WAIT_DEVICE_TIMEOUT_MS 60000
+#define NMI_WAIT_DEVICE_TIMEOUT_MSEC 60000
+#define NMI_IP_REQUIRED_TIMEOUT_MSEC 20000
 
 static inline int
 get_ip_address_family(const char *str, gboolean with_prefix)
diff --git a/src/nm-initrd-generator/nmi-cmdline-reader.c b/src/nm-initrd-generator/nmi-cmdline-reader.c
index 799fd5dc..5c42f83c 100644
--- a/src/nm-initrd-generator/nmi-cmdline-reader.c
+++ b/src/nm-initrd-generator/nmi-cmdline-reader.c
@@ -119,6 +119,8 @@ reader_create_connection(Reader *                 reader,
                  reader->dhcp_timeout,
                  NM_SETTING_IP4_CONFIG_DHCP_VENDOR_CLASS_IDENTIFIER,
                  reader->dhcp4_vci,
+                 NM_SETTING_IP_CONFIG_REQUIRED_TIMEOUT,
+                 NMI_IP_REQUIRED_TIMEOUT_MSEC,
                  NULL);
 
     setting = nm_setting_ip6_config_new();
@@ -401,18 +403,19 @@ reader_parse_ip(Reader *reader, const char *sysfs_dir, char *argument)
     gs_unref_hashtable GHashTable *ibft = NULL;
     const char *                   tmp;
     const char *                   tmp2;
-    const char *                   kind             = NULL;
-    const char *                   client_ip        = NULL;
-    const char *                   peer             = NULL;
-    const char *                   gateway_ip       = NULL;
-    const char *                   netmask          = NULL;
-    const char *                   client_hostname  = NULL;
-    const char *                   iface_spec       = NULL;
-    const char *                   mtu              = NULL;
-    const char *                   macaddr          = NULL;
-    int                            client_ip_family = AF_UNSPEC;
-    int                            client_ip_prefix = -1;
-    const char *                   dns[2]           = {
+    const char *                   kind                       = NULL;
+    const char *                   client_ip                  = NULL;
+    const char *                   peer                       = NULL;
+    const char *                   gateway_ip                 = NULL;
+    const char *                   netmask                    = NULL;
+    const char *                   client_hostname            = NULL;
+    const char *                   iface_spec                 = NULL;
+    const char *                   mtu                        = NULL;
+    const char *                   macaddr                    = NULL;
+    int                            client_ip_family           = AF_UNSPEC;
+    int                            client_ip_prefix           = -1;
+    gboolean                       clear_ip4_required_timeout = TRUE;
+    const char *                   dns[2]                     = {
         NULL,
         NULL,
     };
@@ -436,6 +439,7 @@ reader_parse_ip(Reader *reader, const char *sysfs_dir, char *argument)
                          "none",
                          "off",
                          "dhcp",
+                         "single-dhcp",
                          "on"
                          "any",
                          "dhcp6",
@@ -601,7 +605,7 @@ reader_parse_ip(Reader *reader, const char *sysfs_dir, char *argument)
                          NM_SETTING_IP4_CONFIG_METHOD_DISABLED,
                          NULL);
         }
-    } else if (nm_streq0(kind, "dhcp")) {
+    } else if (NM_IN_STRSET(kind, "dhcp", "single-dhcp")) {
         g_object_set(s_ip4,
                      NM_SETTING_IP_CONFIG_METHOD,
                      NM_SETTING_IP4_CONFIG_METHOD_AUTO,
@@ -679,8 +683,13 @@ reader_parse_ip(Reader *reader, const char *sysfs_dir, char *argument)
                 g_clear_error(&error);
             }
         }
+    } else {
+        clear_ip4_required_timeout = FALSE;
     }
 
+    if (clear_ip4_required_timeout)
+        g_object_set(s_ip4, NM_SETTING_IP_CONFIG_REQUIRED_TIMEOUT, -1, NULL);
+
     if (peer && *peer)
         _LOGW(LOGD_CORE, "Ignoring peer: %s (not implemented)\n", peer);
 
@@ -908,6 +917,56 @@ reader_parse_vlan(Reader *reader, char *argument)
 }
 
 static void
+reader_parse_ib_pkey(Reader *reader, char *argument)
+{
+    NMConnection *       connection;
+    NMSettingInfiniband *s_ib;
+    char *               ifname;
+    gs_free char *       parent = NULL;
+    char *               pkey;
+    gint64               pkey_int;
+
+    /* At the moment we only support ib.pkey=<parent>.<pkey>;
+     * in the future we want to possibly support other options:
+     * ib.pkey=<parent>.<pkey>:<option>:...
+     */
+    ifname = get_word(&argument, ':');
+    if (!ifname) {
+        _LOGW(LOGD_CORE, "ib.pkey= without argument");
+        return;
+    }
+
+    parent = g_strdup(ifname);
+    pkey   = strchr(parent, '.');
+    if (!pkey) {
+        _LOGW(LOGD_CORE, "No pkey found for '%s'", ifname);
+        return;
+    }
+
+    *pkey = '\0';
+    pkey++;
+
+    pkey_int = _nm_utils_ascii_str_to_int64(pkey, 16, 0, 0xFFFF, -1);
+    if (pkey_int == -1) {
+        _LOGW(LOGD_CORE, "Invalid pkey '%s'", pkey);
+        return;
+    }
+
+    connection = reader_get_connection(reader, ifname, NM_SETTING_INFINIBAND_SETTING_NAME, TRUE);
+
+    s_ib = nm_connection_get_setting_infiniband(connection);
+    g_object_set(s_ib,
+                 NM_SETTING_INFINIBAND_PARENT,
+                 parent,
+                 NM_SETTING_INFINIBAND_P_KEY,
+                 (int) pkey_int,
+                 NULL);
+
+    if (argument && *argument)
+        _LOGW(LOGD_CORE, "Ignoring extra: '%s' for ib.pkey=", argument);
+}
+
+static void
 reader_parse_rd_znet(Reader *reader, char *argument, gboolean net_ifnames)
 {
     const char *    nettype;
@@ -998,6 +1057,65 @@ reader_parse_rd_znet(Reader *reader, char *argument, gboolean net_ifnames)
 }
 
 static void
+reader_parse_ethtool(Reader *reader, char *argument)
+{
+    const char *    interface   = NULL;
+    NMConnection *  connection  = NULL;
+    NMSettingWired *s_wired     = NULL;
+    const char *    autoneg_str = NULL;
+    gboolean        autoneg     = FALSE;
+    const char *    speed_str   = NULL;
+    guint           speed       = 0;
+
+    interface = get_word(&argument, ':');
+    if (!interface) {
+        _LOGW(LOGD_CORE, "Impossible to set rd.ethtool options: invalid format");
+        return;
+    }
+
+    if (!*argument) {
+        _LOGW(LOGD_CORE, "Could not find rd.ethtool options to set");
+        return;
+    }
+
+    connection = reader_get_connection(reader, interface, NM_SETTING_WIRED_SETTING_NAME, TRUE);
+    s_wired    = nm_connection_get_setting_wired(connection);
+
+    autoneg_str = get_word(&argument, ':');
+    if (autoneg_str) {
+        autoneg = _nm_utils_ascii_str_to_bool(autoneg_str, -1);
+        if (autoneg == -1)
+            _LOGW(LOGD_CORE,
+                  "Invalid value for rd.ethtool.autoneg, rd.ethtool.autoneg was not set");
+        else
+            g_object_set(s_wired, NM_SETTING_WIRED_AUTO_NEGOTIATE, autoneg, NULL);
+    }
+    if (!*argument)
+        return;
+
+    speed_str = get_word(&argument, ':');
+    if (speed_str) {
+        speed = _nm_utils_ascii_str_to_int64(speed_str, 10, 0, G_MAXUINT32, -1);
+        if (speed == -1)
+            _LOGW(LOGD_CORE, "Invalid value for rd.ethtool.speed, rd.ethtool.speed was not set");
+        else
+            g_object_set(s_wired,
+                         NM_SETTING_WIRED_SPEED,
+                         speed,
+                         NM_SETTING_WIRED_DUPLEX,
+                         "full",
+                         NULL);
+    }
+
+    if (!*argument)
+        return;
+    else
+        _LOGW(LOGD_CORE,
+              "Invalid extra argument '%s' for rd.ethtool, this value was not set",
+              argument);
+}
+
+static void
 _normalize_conn(gpointer key, gpointer value, gpointer user_data)
 {
     NMConnection *connection = value;
@@ -1062,7 +1180,7 @@ connection_set_needed(NMConnection *connection)
 
     g_object_set(s_con,
                  NM_SETTING_CONNECTION_WAIT_DEVICE_TIMEOUT,
-                 (int) NMI_WAIT_DEVICE_TIMEOUT_MS,
+                 (int) NMI_WAIT_DEVICE_TIMEOUT_MSEC,
                  NULL);
 }
 
@@ -1151,6 +1269,8 @@ nmi_cmdline_reader_parse(const char *       sysfs_dir,
             reader_parse_master(reader, argument, NM_SETTING_TEAM_SETTING_NAME, NULL);
         else if (nm_streq(tag, "vlan"))
             reader_parse_vlan(reader, argument);
+        else if (nm_streq(tag, "ib.pkey"))
+            reader_parse_ib_pkey(reader, argument);
         else if (nm_streq(tag, "bootdev")) {
             g_free(bootdev);
             bootdev = g_strdup(argument);
@@ -1176,7 +1296,8 @@ nmi_cmdline_reader_parse(const char *       sysfs_dir,
         } else if (g_ascii_strcasecmp(tag, "BOOTIF") == 0) {
             nm_clear_g_free(&bootif_val);
             bootif_val = g_strdup(argument);
-        }
+        } else if (nm_streq(tag, "rd.ethtool"))
+            reader_parse_ethtool(reader, argument);
     }
 
     for (i = 0; i < reader->vlan_parents->len; i++) {
diff --git a/src/nm-initrd-generator/tests/test-cmdline-reader.c b/src/nm-initrd-generator/tests/test-cmdline-reader.c
index 5cb11e87..b0dcf06d 100644
--- a/src/nm-initrd-generator/tests/test-cmdline-reader.c
+++ b/src/nm-initrd-generator/tests/test-cmdline-reader.c
@@ -275,6 +275,7 @@ test_dhcp_timeout(void)
                         ==,
                         NM_SETTING_IP4_CONFIG_METHOD_AUTO);
         g_assert_cmpint(nm_setting_ip_config_get_dhcp_timeout(s_ip4), ==, data[i].timeout);
+        g_assert_cmpint(nm_setting_ip_config_get_required_timeout(s_ip4), ==, -1);
 
         s_ip6 = nm_connection_get_setting_ip6_config(connection);
         g_assert(s_ip6);
@@ -282,6 +283,7 @@ test_dhcp_timeout(void)
                         ==,
                         NM_SETTING_IP6_CONFIG_METHOD_AUTO);
         g_assert_cmpint(nm_setting_ip_config_get_dhcp_timeout(s_ip6), ==, data[i].timeout);
+        g_assert_cmpint(nm_setting_ip_config_get_required_timeout(s_ip6), ==, -1);
     }
 }
 
@@ -420,6 +422,7 @@ test_if_ip4_manual(void)
     g_assert_cmpint(nm_ip_address_get_prefix(ip_addr), ==, 24);
     g_assert_cmpstr(nm_setting_ip_config_get_gateway(s_ip4), ==, "192.0.2.1");
     g_assert_cmpstr(nm_setting_ip_config_get_dhcp_hostname(s_ip4), ==, "hostname0.example.com");
+    g_assert_cmpint(nm_setting_ip_config_get_required_timeout(s_ip4), ==, -1);
 
     s_ip6 = nm_connection_get_setting_ip6_config(connection);
     g_assert(s_ip6);
@@ -427,6 +430,7 @@ test_if_ip4_manual(void)
                     ==,
                     NM_SETTING_IP6_CONFIG_METHOD_DISABLED);
     g_assert(nm_setting_ip_config_get_may_fail(s_ip6));
+    g_assert_cmpint(nm_setting_ip_config_get_required_timeout(s_ip6), ==, -1);
 
     connection = g_hash_table_lookup(connections, "eth4");
     nmtst_assert_connection_verifies_without_normalization(connection);
@@ -702,7 +706,7 @@ test_multiple_bootdev(void)
     g_assert(s_con);
     g_assert_cmpint(nm_setting_connection_get_wait_device_timeout(s_con),
                     ==,
-                    NMI_WAIT_DEVICE_TIMEOUT_MS);
+                    NMI_WAIT_DEVICE_TIMEOUT_MSEC);
     s_ip4 = nm_connection_get_setting_ip4_config(connection);
     g_assert(s_ip4);
     g_assert_cmpstr(nm_setting_ip_config_get_method(s_ip4), ==, NM_SETTING_IP4_CONFIG_METHOD_AUTO);
@@ -744,7 +748,7 @@ test_bootdev(void)
     g_assert_cmpstr(nm_setting_connection_get_interface_name(s_con), ==, "ens3");
     g_assert_cmpint(nm_setting_connection_get_wait_device_timeout(s_con),
                     ==,
-                    NMI_WAIT_DEVICE_TIMEOUT_MS);
+                    NMI_WAIT_DEVICE_TIMEOUT_MSEC);
 
     connection = g_hash_table_lookup(connections, "vlan2");
     nmtst_assert_connection_verifies_without_normalization(connection);
@@ -1153,6 +1157,9 @@ test_bridge(void)
     g_assert_cmpint(nm_ip_route_get_metric(ip_route), ==, -1);
     g_assert(!nm_ip_route_get_next_hop(ip_route));
     g_assert_cmpint(nm_ip_route_get_prefix(ip_route), ==, 32);
+    g_assert_cmpint(nm_setting_ip_config_get_required_timeout(s_ip4),
+                    ==,
+                    NMI_IP_REQUIRED_TIMEOUT_MSEC);
 
     s_ip6 = nm_connection_get_setting_ip6_config(connection);
     g_assert(s_ip6);
@@ -1162,6 +1169,7 @@ test_bridge(void)
     g_assert(!nm_setting_ip_config_get_gateway(s_ip6));
     g_assert_cmpint(nm_setting_ip_config_get_num_routes(s_ip6), ==, 0);
     g_assert_cmpint(nm_setting_ip_config_get_dhcp_timeout(s_ip6), ==, 10);
+    g_assert_cmpint(nm_setting_ip_config_get_required_timeout(s_ip6), ==, -1);
 
     s_bridge = nm_connection_get_setting_bridge(connection);
     g_assert(s_bridge);
@@ -1902,7 +1910,38 @@ test_bootif_ip(void)
 }
 
 static void
-test_neednet(void)
+test_neednet_no_args(void)
+{
+    const char *const *ARGV                  = NM_MAKE_STRV("rd.neednet");
+    gs_unref_object NMConnection *connection = NULL;
+    NMSettingWired *              s_wired;
+    NMSettingIPConfig *           s_ip4;
+    NMSettingIPConfig *           s_ip6;
+
+    connection = _parse_con(ARGV, "default_connection");
+
+    g_assert_cmpstr(nm_connection_get_id(connection), ==, "Wired Connection");
+
+    s_wired = nm_connection_get_setting_wired(connection);
+    g_assert(s_wired);
+
+    s_ip4 = nm_connection_get_setting_ip4_config(connection);
+    g_assert(s_ip4);
+    g_assert_cmpstr(nm_setting_ip_config_get_method(s_ip4), ==, NM_SETTING_IP4_CONFIG_METHOD_AUTO);
+    g_assert(nm_setting_ip_config_get_may_fail(s_ip4));
+    g_assert_cmpint(nm_setting_ip_config_get_required_timeout(s_ip4),
+                    ==,
+                    NMI_IP_REQUIRED_TIMEOUT_MSEC);
+
+    s_ip6 = nm_connection_get_setting_ip6_config(connection);
+    g_assert(s_ip6);
+    g_assert_cmpstr(nm_setting_ip_config_get_method(s_ip6), ==, NM_SETTING_IP6_CONFIG_METHOD_AUTO);
+    g_assert(nm_setting_ip_config_get_may_fail(s_ip6));
+    g_assert_cmpint(nm_setting_ip_config_get_required_timeout(s_ip6), ==, -1);
+}
+
+static void
+test_neednet_args(void)
 {
     gs_unref_hashtable GHashTable *connections = NULL;
     const char *const *            ARGV        = NM_MAKE_STRV("rd.neednet",
@@ -1922,7 +1961,7 @@ test_neednet(void)
     g_assert_cmpstr(nm_setting_connection_get_interface_name(s_con), ==, "eno1");
     g_assert_cmpint(nm_setting_connection_get_wait_device_timeout(s_con),
                     ==,
-                    NMI_WAIT_DEVICE_TIMEOUT_MS);
+                    NMI_WAIT_DEVICE_TIMEOUT_MSEC);
 
     connection = g_hash_table_lookup(connections, "eno2");
     nmtst_assert_connection_verifies_without_normalization(connection);
@@ -1931,7 +1970,7 @@ test_neednet(void)
     g_assert_cmpstr(nm_setting_connection_get_interface_name(s_con), ==, "eno2");
     g_assert_cmpint(nm_setting_connection_get_wait_device_timeout(s_con),
                     ==,
-                    NMI_WAIT_DEVICE_TIMEOUT_MS);
+                    NMI_WAIT_DEVICE_TIMEOUT_MSEC);
 
     connection = g_hash_table_lookup(connections, "eno3");
     nmtst_assert_connection_verifies_without_normalization(connection);
@@ -1940,7 +1979,7 @@ test_neednet(void)
     g_assert_cmpstr(nm_setting_connection_get_interface_name(s_con), ==, "eno3");
     g_assert_cmpint(nm_setting_connection_get_wait_device_timeout(s_con),
                     ==,
-                    NMI_WAIT_DEVICE_TIMEOUT_MS);
+                    NMI_WAIT_DEVICE_TIMEOUT_MSEC);
 
     connection = g_hash_table_lookup(connections, "br0");
     nmtst_assert_connection_verifies_without_normalization(connection);
@@ -2176,6 +2215,40 @@ test_infiniband_mac(void)
 }
 
 static void
+test_infiniband_pkey(void)
+{
+    const char *const *const ARGV = NM_MAKE_STRV("ib.pkey=ib0.8004", "ip=ib0.8004:dhcp");
+    gs_unref_hashtable GHashTable *connections = NULL;
+    NMConnection *                 connection;
+    NMSettingInfiniband *          s_ib;
+    NMSettingIPConfig *            s_ip4;
+    NMSettingIPConfig *            s_ip6;
+
+    connections = _parse_cons(ARGV);
+    g_assert_cmpint(g_hash_table_size(connections), ==, 1);
+
+    connection = g_hash_table_lookup(connections, "ib0.8004");
+    g_assert_cmpstr(nm_connection_get_connection_type(connection),
+                    ==,
+                    NM_SETTING_INFINIBAND_SETTING_NAME);
+    g_assert_cmpstr(nm_connection_get_interface_name(connection), ==, "ib0.8004");
+
+    s_ib = nm_connection_get_setting_infiniband(connection);
+    g_assert(s_ib);
+    g_assert_cmpint(nm_setting_infiniband_get_p_key(s_ib), ==, 0x8004);
+
+    s_ip4 = nm_connection_get_setting_ip4_config(connection);
+    g_assert(s_ip4);
+    g_assert_cmpstr(nm_setting_ip_config_get_method(s_ip4), ==, NM_SETTING_IP4_CONFIG_METHOD_AUTO);
+    g_assert(!nm_setting_ip_config_get_may_fail(s_ip4));
+
+    s_ip6 = nm_connection_get_setting_ip6_config(connection);
+    g_assert(s_ip6);
+    g_assert_cmpstr(nm_setting_ip_config_get_method(s_ip6), ==, NM_SETTING_IP6_CONFIG_METHOD_AUTO);
+    g_assert(nm_setting_ip_config_get_may_fail(s_ip6));
+}
+
+static void
 test_carrier_timeout(void)
 {
     gs_unref_hashtable GHashTable *connections         = NULL;
@@ -2189,6 +2262,205 @@ test_carrier_timeout(void)
     g_assert_cmpint(carrier_timeout_sec, ==, 20);
 }
 
+/* Obs1.: this function is implemented as macro, and not as a function,
+ * to show the correct line in g_assert() debug */
+#define _ethtool_connection_check_and_get(connection)                                \
+    ({                                                                               \
+        NMSettingWired *_s_wired    = NULL;                                          \
+        NMConnection *  _connection = connection;                                    \
+                                                                                     \
+        g_assert(nm_connection_get_setting_connection(_connection));                 \
+        g_assert(nm_connection_is_type(_connection, NM_SETTING_WIRED_SETTING_NAME)); \
+        g_assert(nm_connection_get_setting_ip4_config(_connection));                 \
+        g_assert(nm_connection_get_setting_ip6_config(_connection));                 \
+        _s_wired = nm_connection_get_setting_wired(_connection);                     \
+        g_assert(NM_IS_SETTING_WIRED(_s_wired));                                     \
+                                                                                     \
+        _s_wired;                                                                    \
+    })
+
+static void
+test_rd_ethtool(void)
+{
+    const char *const *ARGV        = NULL;
+    NMConnection *     connection  = NULL;
+    GHashTable *       connections = NULL;
+    NMSettingWired *   s_wired     = NULL;
+
+    ARGV = NM_MAKE_STRV("rd.ethtool=");
+    NMTST_EXPECT_NM_WARN("cmdline-reader: Impossible to set rd.ethtool options: invalid format");
+    connections = _parse_cons(ARGV);
+    g_assert_cmpint(g_hash_table_size(connections), ==, 0);
+    g_hash_table_unref(connections);
+    g_test_assert_expected_messages();
+
+    ARGV = NM_MAKE_STRV("rd.ethtool=eth0");
+    NMTST_EXPECT_NM_WARN("cmdline-reader: Could not find rd.ethtool options to set");
+    connections = _parse_cons(ARGV);
+    g_assert_cmpint(g_hash_table_size(connections), ==, 0);
+    g_hash_table_unref(connections);
+    g_test_assert_expected_messages();
+
+    ARGV = NM_MAKE_STRV("rd.ethtool=eth0:");
+    NMTST_EXPECT_NM_WARN("cmdline-reader: Could not find rd.ethtool options to set");
+    connections = _parse_cons(ARGV);
+    g_assert_cmpint(g_hash_table_size(connections), ==, 0);
+    g_hash_table_unref(connections);
+    g_test_assert_expected_messages();
+
+    ARGV = NM_MAKE_STRV("rd.ethtool=::");
+    NMTST_EXPECT_NM_WARN("cmdline-reader: Impossible to set rd.ethtool options: invalid format");
+    connections = _parse_cons(ARGV);
+    g_assert_cmpint(g_hash_table_size(connections), ==, 0);
+    g_test_assert_expected_messages();
+    g_hash_table_unref(connections);
+
+    ARGV       = NM_MAKE_STRV("rd.ethtool=eth0:on");
+    connection = _parse_con(ARGV, "eth0");
+    s_wired    = _ethtool_connection_check_and_get(connection);
+    g_assert(nm_setting_wired_get_auto_negotiate(s_wired));
+    g_object_unref(connection);
+
+    ARGV       = NM_MAKE_STRV("rd.ethtool=eth0:off");
+    connection = _parse_con(ARGV, "eth0");
+    s_wired    = _ethtool_connection_check_and_get(connection);
+    g_assert(!nm_setting_wired_get_auto_negotiate(s_wired));
+    g_object_unref(connection);
+
+    ARGV       = NM_MAKE_STRV("rd.ethtool=eth0:true");
+    connection = _parse_con(ARGV, "eth0");
+    s_wired    = _ethtool_connection_check_and_get(connection);
+    g_assert(nm_setting_wired_get_auto_negotiate(s_wired));
+    g_object_unref(connection);
+
+    ARGV       = NM_MAKE_STRV("rd.ethtool=eth0:false");
+    connection = _parse_con(ARGV, "eth0");
+    s_wired    = _ethtool_connection_check_and_get(connection);
+    g_assert(!nm_setting_wired_get_auto_negotiate(s_wired));
+    g_object_unref(connection);
+
+    ARGV       = NM_MAKE_STRV("rd.ethtool=eth0:1");
+    connection = _parse_con(ARGV, "eth0");
+    s_wired    = _ethtool_connection_check_and_get(connection);
+    g_assert(nm_setting_wired_get_auto_negotiate(s_wired));
+    g_object_unref(connection);
+
+    ARGV       = NM_MAKE_STRV("rd.ethtool=eth0:0");
+    connection = _parse_con(ARGV, "eth0");
+    s_wired    = _ethtool_connection_check_and_get(connection);
+    g_assert(!nm_setting_wired_get_auto_negotiate(s_wired));
+    g_object_unref(connection);
+
+    ARGV = NM_MAKE_STRV("rd.ethtool=eth0:randomstring");
+    NMTST_EXPECT_NM_WARN(
+        "cmdline-reader: Invalid value for rd.ethtool.autoneg, rd.ethtool.autoneg was not set");
+    connections = _parse_cons(ARGV);
+    g_assert_cmpint(g_hash_table_size(connections), ==, 1);
+    g_test_assert_expected_messages();
+    g_hash_table_unref(connections);
+
+    ARGV        = NM_MAKE_STRV("rd.ethtool=eth0::");
+    connections = _parse_cons(ARGV);
+    g_assert_cmpint(g_hash_table_size(connections), ==, 1);
+    g_hash_table_unref(connections);
+
+    ARGV = NM_MAKE_STRV("rd.ethtool=eth0::astring");
+    NMTST_EXPECT_NM_WARN(
+        "cmdline-reader: Invalid value for rd.ethtool.speed, rd.ethtool.speed was not set");
+    connections = _parse_cons(ARGV);
+    g_assert_cmpint(g_hash_table_size(connections), ==, 1);
+    g_test_assert_expected_messages();
+    g_hash_table_unref(connections);
+
+    ARGV = NM_MAKE_STRV("rd.ethtool=eth0::1000000000000000000000000000000000000");
+    NMTST_EXPECT_NM_WARN(
+        "cmdline-reader: Invalid value for rd.ethtool.speed, rd.ethtool.speed was not set");
+    connections = _parse_cons(ARGV);
+    g_assert_cmpint(g_hash_table_size(connections), ==, 1);
+    g_test_assert_expected_messages();
+    g_hash_table_unref(connections);
+
+    ARGV = NM_MAKE_STRV("rd.ethtool=eth0::0.67");
+    NMTST_EXPECT_NM_WARN(
+        "cmdline-reader: Invalid value for rd.ethtool.speed, rd.ethtool.speed was not set");
+    connections = _parse_cons(ARGV);
+    g_assert_cmpint(g_hash_table_size(connections), ==, 1);
+    g_test_assert_expected_messages();
+    g_hash_table_unref(connections);
+
+    ARGV = NM_MAKE_STRV("rd.ethtool=eth0::-23");
+    NMTST_EXPECT_NM_WARN(
+        "cmdline-reader: Invalid value for rd.ethtool.speed, rd.ethtool.speed was not set");
+    connections = _parse_cons(ARGV);
+    g_assert_cmpint(g_hash_table_size(connections), ==, 1);
+    g_test_assert_expected_messages();
+    g_hash_table_unref(connections);
+
+    ARGV       = NM_MAKE_STRV("rd.ethtool=eth0:1:10");
+    connection = _parse_con(ARGV, "eth0");
+    s_wired    = _ethtool_connection_check_and_get(connection);
+    g_assert(nm_setting_wired_get_auto_negotiate(s_wired));
+    g_assert_cmpint(nm_setting_wired_get_speed(s_wired), ==, 10);
+    g_assert_cmpstr(nm_setting_wired_get_duplex(s_wired), ==, "full");
+    g_object_unref(connection);
+
+    ARGV       = NM_MAKE_STRV("rd.ethtool=eth0::100");
+    connection = _parse_con(ARGV, "eth0");
+    s_wired    = _ethtool_connection_check_and_get(connection);
+    g_assert(!nm_setting_wired_get_auto_negotiate(s_wired));
+    g_assert_cmpint(nm_setting_wired_get_speed(s_wired), ==, 100);
+    g_assert_cmpstr(nm_setting_wired_get_duplex(s_wired), ==, "full");
+    g_object_unref(connection);
+
+    ARGV = NM_MAKE_STRV("rd.ethtool=eth0:::bogus");
+    NMTST_EXPECT_NM_WARN(
+        "cmdline-reader: Invalid extra argument 'bogus' for rd.ethtool, this value was not set");
+    connections = _parse_cons(ARGV);
+    g_assert_cmpint(g_hash_table_size(connections), ==, 1);
+    g_test_assert_expected_messages();
+    g_hash_table_unref(connections);
+
+    ARGV = NM_MAKE_STRV("rd.ethtool=eth0::10:bogus");
+    NMTST_EXPECT_NM_WARN(
+        "cmdline-reader: Invalid extra argument 'bogus' for rd.ethtool, this value was not set");
+    connection = _parse_con(ARGV, "eth0");
+    s_wired    = _ethtool_connection_check_and_get(connection);
+    g_assert(!nm_setting_wired_get_auto_negotiate(s_wired));
+    g_assert_cmpint(nm_setting_wired_get_speed(s_wired), ==, 10);
+    g_assert_cmpstr(nm_setting_wired_get_duplex(s_wired), ==, "full");
+    g_test_assert_expected_messages();
+    g_object_unref(connection);
+
+    ARGV = NM_MAKE_STRV("rd.ethtool=eth0:on:100:bogus");
+    NMTST_EXPECT_NM_WARN(
+        "cmdline-reader: Invalid extra argument 'bogus' for rd.ethtool, this value was not set");
+    connection = _parse_con(ARGV, "eth0");
+    s_wired    = _ethtool_connection_check_and_get(connection);
+    g_assert(nm_setting_wired_get_auto_negotiate(s_wired));
+    g_assert_cmpint(nm_setting_wired_get_speed(s_wired), ==, 100);
+    g_assert_cmpstr(nm_setting_wired_get_duplex(s_wired), ==, "full");
+    g_test_assert_expected_messages();
+    g_object_unref(connection);
+
+    ARGV = NM_MAKE_STRV("rd.ethtool=eth0:on:100:bogus");
+    NMTST_EXPECT_NM_WARN(
+        "cmdline-reader: Invalid extra argument 'bogus' for rd.ethtool, this value was not set");
+    connection = _parse_con(ARGV, "eth0");
+    s_wired    = _ethtool_connection_check_and_get(connection);
+    g_assert(nm_setting_wired_get_auto_negotiate(s_wired));
+    g_assert_cmpint(nm_setting_wired_get_speed(s_wired), ==, 100);
+    g_assert_cmpstr(nm_setting_wired_get_duplex(s_wired), ==, "full");
+    g_test_assert_expected_messages();
+    g_object_unref(connection);
+
+    ARGV = NM_MAKE_STRV("rd.ethtool=:::");
+    NMTST_EXPECT_NM_WARN("cmdline-reader: Impossible to set rd.ethtool options: invalid format");
+    connections = _parse_cons(ARGV);
+    g_assert_cmpint(g_hash_table_size(connections), ==, 0);
+    g_test_assert_expected_messages();
+    g_hash_table_unref(connections);
+}
+
 NMTST_DEFINE();
 
 int
@@ -2236,11 +2508,14 @@ main(int argc, char **argv)
     g_test_add_func("/initrd/cmdline/bootif/no_ip", test_bootif_no_ip);
     g_test_add_func("/initrd/cmdline/bootif/hwtype", test_bootif_hwtype);
     g_test_add_func("/initrd/cmdline/bootif/off", test_bootif_off);
-    g_test_add_func("/initrd/cmdline/neednet", test_neednet);
+    g_test_add_func("/initrd/cmdline/neednet/no_args", test_neednet_no_args);
+    g_test_add_func("/initrd/cmdline/neednet/args", test_neednet_args);
     g_test_add_func("/initrd/cmdline/dhcp/vendor_class_id", test_dhcp_vendor_class_id);
     g_test_add_func("/initrd/cmdline/infiniband/iface", test_infiniband_iface);
     g_test_add_func("/initrd/cmdline/infiniband/mac", test_infiniband_mac);
+    g_test_add_func("/initrd/cmdline/infiniband/pkey", test_infiniband_pkey);
     g_test_add_func("/initrd/cmdline/carrier_timeout", test_carrier_timeout);
+    g_test_add_func("/initrd/cmdline/rd_ethtool", test_rd_ethtool);
 
     return g_test_run();
 }
diff --git a/src/nm-online/meson.build b/src/nm-online/meson.build
index 415bb29f..272de42c 100644
--- a/src/nm-online/meson.build
+++ b/src/nm-online/meson.build
@@ -9,6 +9,7 @@ executable(
   ],
   link_with: [
     libnm_client_aux_extern,
+    libnm_log_null,
     libnm_glib_aux,
     libnm_std_aux,
     libc_siphash,
diff --git a/src/nmcli/common.c b/src/nmcli/common.c
index 93901549..a01a2f72 100644
--- a/src/nmcli/common.c
+++ b/src/nmcli/common.c
@@ -140,6 +140,11 @@ static gconstpointer _metagen_ip4_config_get_fcn(NMC_META_GENERIC_INFO_GET_FCN_A
             return NULL;
         arrc = nm_ip_config_get_domains(cfg4);
         goto arrc_out;
+    case NMC_GENERIC_INFO_TYPE_IP4_CONFIG_SEARCHES:
+        if (!NM_FLAGS_HAS(get_flags, NM_META_ACCESSOR_GET_FLAGS_ACCEPT_STRV))
+            return NULL;
+        arrc = nm_ip_config_get_searches(cfg4);
+        goto arrc_out;
     case NMC_GENERIC_INFO_TYPE_IP4_CONFIG_WINS:
         if (!NM_FLAGS_HAS(get_flags, NM_META_ACCESSOR_GET_FLAGS_ACCEPT_STRV))
             return NULL;
@@ -171,6 +176,7 @@ const NmcMetaGenericInfo *const metagen_ip4_config[_NMC_GENERIC_INFO_TYPE_IP4_CO
     _METAGEN_IP4_CONFIG(NMC_GENERIC_INFO_TYPE_IP4_CONFIG_ROUTE, "ROUTE"),
     _METAGEN_IP4_CONFIG(NMC_GENERIC_INFO_TYPE_IP4_CONFIG_DNS, "DNS"),
     _METAGEN_IP4_CONFIG(NMC_GENERIC_INFO_TYPE_IP4_CONFIG_DOMAIN, "DOMAIN"),
+    _METAGEN_IP4_CONFIG(NMC_GENERIC_INFO_TYPE_IP4_CONFIG_SEARCHES, "SEARCHES"),
     _METAGEN_IP4_CONFIG(NMC_GENERIC_INFO_TYPE_IP4_CONFIG_WINS, "WINS"),
 };
 
@@ -227,6 +233,11 @@ static gconstpointer _metagen_ip6_config_get_fcn(NMC_META_GENERIC_INFO_GET_FCN_A
             return NULL;
         arrc = nm_ip_config_get_domains(cfg6);
         goto arrc_out;
+    case NMC_GENERIC_INFO_TYPE_IP6_CONFIG_SEARCHES:
+        if (!NM_FLAGS_HAS(get_flags, NM_META_ACCESSOR_GET_FLAGS_ACCEPT_STRV))
+            return NULL;
+        arrc = nm_ip_config_get_searches(cfg6);
+        goto arrc_out;
     default:
         break;
     }
@@ -253,6 +264,7 @@ const NmcMetaGenericInfo *const metagen_ip6_config[_NMC_GENERIC_INFO_TYPE_IP6_CO
     _METAGEN_IP6_CONFIG(NMC_GENERIC_INFO_TYPE_IP6_CONFIG_ROUTE, "ROUTE"),
     _METAGEN_IP6_CONFIG(NMC_GENERIC_INFO_TYPE_IP6_CONFIG_DNS, "DNS"),
     _METAGEN_IP6_CONFIG(NMC_GENERIC_INFO_TYPE_IP6_CONFIG_DOMAIN, "DOMAIN"),
+    _METAGEN_IP6_CONFIG(NMC_GENERIC_INFO_TYPE_IP6_CONFIG_SEARCHES, "SEARCHES"),
 };
 
 /*****************************************************************************/
diff --git a/src/nmcli/generate-docs-nm-settings-nmcli.xml b/src/nmcli/generate-docs-nm-settings-nmcli.xml
index ebfa3033..88803094 100644
--- a/src/nmcli/generate-docs-nm-settings-nmcli.xml
+++ b/src/nmcli/generate-docs-nm-settings-nmcli.xml
@@ -650,7 +650,7 @@
                   description="DNS servers priority. The relative priority for DNS servers specified by this setting.  A lower numerical value is better (higher priority). Negative values have the special effect of excluding other configurations with a greater numerical priority value; so in presence of at least one negative priority, only DNS servers from connections with the lowest priority value will be used. To avoid all DNS leaks, set the priority of the profile that should be used to the most negative value of all active connections profiles. Zero selects a globally configured default value. If the latter is missing or zero too, it defaults to 50 for VPNs (including WireGuard) and 100 for other connections. Note that the priority is to order DNS settings for multiple active connections.  It does not disambiguate multiple DNS servers within the same connection profile. When multiple devices have configurations with the same priority, VPNs will be considered first, then devices with the best (lowest metric) default route and then all other devices. When using dns=default, servers with higher priority will be on top of resolv.conf. To prioritize a given server over another one within the same connection, just specify them in the desired order. Note that commonly the resolver tries name servers in /etc/resolv.conf in the order listed, proceeding with the next server in the list on failure. See for example the &quot;rotate&quot; option of the dns-options setting. If there are any negative DNS priorities, then only name servers from the devices with that lowest priority will be considered. When using a DNS resolver that supports Conditional Forwarding or Split DNS (with dns=dnsmasq or dns=systemd-resolved settings), each connection is used to query domains in its search list. The search domains determine which name servers to ask, and the DNS priority is used to prioritize name servers based on the domain.  Queries for domains not present in any search list are routed through connections having the &apos;~.&apos; special wildcard domain, which is added automatically to connections with the default route (or can be added manually).  When multiple connections specify the same domain, the one with the best priority (lowest numerical value) wins.  If a sub domain is configured on another interface it will be accepted regardless the priority, unless parent domain on the other interface has a negative priority, which causes the sub domain to be shadowed. With Split DNS one can avoid undesired DNS leaks by properly configuring DNS priorities and the search domains, so that only name servers of the desired interface are configured." />
         <property name="addresses"
                   alias="ip4"
-                  description="A list of IPv4 addresses and their prefix length. Multiple addresses can be separated by comma. For example &quot;192.168.1.5/24, 10.1.0.5/24&quot;." />
+                  description="A list of IPv4 addresses and their prefix length. Multiple addresses can be separated by comma. For example &quot;192.168.1.5/24, 10.1.0.5/24&quot;. The addresses are listed in increasing priority, meaning the last address will be the primary address." />
         <property name="gateway"
                   alias="gw4"
                   description="The gateway associated with this configuration. This is only meaningful if &quot;addresses&quot; is also set. The gateway&apos;s main purpose is to control the next hop of the standard default route on the device. Hence, the gateway property conflicts with &quot;never-default&quot; and will be automatically dropped if the IP configuration is set to never-default. As an alternative to set the gateway, configure a static default route with /0 as prefix length." />
@@ -683,6 +683,8 @@
                   description="If TRUE, this connection will never be the default connection for this IP type, meaning it will never be assigned the default route by NetworkManager." />
         <property name="may-fail"
                   description="If TRUE, allow overall network configuration to proceed even if the configuration specified by this property times out.  Note that at least one IP configuration must succeed or overall network configuration will still fail.  For example, in IPv6-only networks, setting this property to TRUE on the NMSettingIP4Config allows the overall network configuration to succeed if IPv4 configuration fails but IPv6 configuration completes successfully." />
+        <property name="required-timeout"
+                  description="The minimum time interval in milliseconds for which dynamic IP configuration should be tried before the connection succeeds. This property is useful for example if both IPv4 and IPv6 are enabled and are allowed to fail. Normally the connection succeeds as soon as one of the two address families completes; by setting a required timeout for e.g. IPv4, one can ensure that even if IP6 succeeds earlier than IPv4, NetworkManager waits some time for IPv4 before the connection becomes active. Note that if &quot;may-fail&quot; is FALSE for the same address family, this property has no effect as NetworkManager needs to wait for the full DHCP timeout. A zero value means that no required timeout is present, -1 means the default value (either configuration ipvx.required-timeout override or zero)." />
         <property name="dad-timeout"
                   description="Timeout in milliseconds used to check for the presence of duplicate IP addresses on the network.  If an address conflict is detected, the activation will fail.  A zero value means that no duplicate address detection is performed, -1 means the default value (either configuration ipvx.dad-timeout override or zero).  A value greater than zero is a timeout in milliseconds. The property is currently implemented only for IPv4." />
         <property name="dhcp-vendor-class-identifier"
@@ -703,7 +705,7 @@
                   description="DNS servers priority. The relative priority for DNS servers specified by this setting.  A lower numerical value is better (higher priority). Negative values have the special effect of excluding other configurations with a greater numerical priority value; so in presence of at least one negative priority, only DNS servers from connections with the lowest priority value will be used. To avoid all DNS leaks, set the priority of the profile that should be used to the most negative value of all active connections profiles. Zero selects a globally configured default value. If the latter is missing or zero too, it defaults to 50 for VPNs (including WireGuard) and 100 for other connections. Note that the priority is to order DNS settings for multiple active connections.  It does not disambiguate multiple DNS servers within the same connection profile. When multiple devices have configurations with the same priority, VPNs will be considered first, then devices with the best (lowest metric) default route and then all other devices. When using dns=default, servers with higher priority will be on top of resolv.conf. To prioritize a given server over another one within the same connection, just specify them in the desired order. Note that commonly the resolver tries name servers in /etc/resolv.conf in the order listed, proceeding with the next server in the list on failure. See for example the &quot;rotate&quot; option of the dns-options setting. If there are any negative DNS priorities, then only name servers from the devices with that lowest priority will be considered. When using a DNS resolver that supports Conditional Forwarding or Split DNS (with dns=dnsmasq or dns=systemd-resolved settings), each connection is used to query domains in its search list. The search domains determine which name servers to ask, and the DNS priority is used to prioritize name servers based on the domain.  Queries for domains not present in any search list are routed through connections having the &apos;~.&apos; special wildcard domain, which is added automatically to connections with the default route (or can be added manually).  When multiple connections specify the same domain, the one with the best priority (lowest numerical value) wins.  If a sub domain is configured on another interface it will be accepted regardless the priority, unless parent domain on the other interface has a negative priority, which causes the sub domain to be shadowed. With Split DNS one can avoid undesired DNS leaks by properly configuring DNS priorities and the search domains, so that only name servers of the desired interface are configured." />
         <property name="addresses"
                   alias="ip6"
-                  description="Array of IP addresses." />
+                  description="A list of IPv6 addresses and their prefix length. Multiple addresses can be separated by comma. For example &quot;2001:db8:85a3::8a2e:370:7334/64, 2001:db8:85a3::5/64&quot;. The addresses are listed in increasing priority, meaning the last address will be the primary address." />
         <property name="gateway"
                   alias="gw6"
                   description="The gateway associated with this configuration. This is only meaningful if &quot;addresses&quot; is also set. The gateway&apos;s main purpose is to control the next hop of the standard default route on the device. Hence, the gateway property conflicts with &quot;never-default&quot; and will be automatically dropped if the IP configuration is set to never-default. As an alternative to set the gateway, configure a static default route with /0 as prefix length." />
@@ -722,6 +724,8 @@
                   description="If TRUE, this connection will never be the default connection for this IP type, meaning it will never be assigned the default route by NetworkManager." />
         <property name="may-fail"
                   description="If TRUE, allow overall network configuration to proceed even if the configuration specified by this property times out.  Note that at least one IP configuration must succeed or overall network configuration will still fail.  For example, in IPv6-only networks, setting this property to TRUE on the NMSettingIP4Config allows the overall network configuration to succeed if IPv4 configuration fails but IPv6 configuration completes successfully." />
+        <property name="required-timeout"
+                  description="The minimum time interval in milliseconds for which dynamic IP configuration should be tried before the connection succeeds. This property is useful for example if both IPv4 and IPv6 are enabled and are allowed to fail. Normally the connection succeeds as soon as one of the two address families completes; by setting a required timeout for e.g. IPv4, one can ensure that even if IP6 succeeds earlier than IPv4, NetworkManager waits some time for IPv4 before the connection becomes active. Note that if &quot;may-fail&quot; is FALSE for the same address family, this property has no effect as NetworkManager needs to wait for the full DHCP timeout. A zero value means that no required timeout is present, -1 means the default value (either configuration ipvx.required-timeout override or zero)." />
         <property name="ip6-privacy"
                   description="Configure IPv6 Privacy Extensions for SLAAC, described in RFC4941.  If enabled, it makes the kernel generate a temporary IPv6 address in addition to the public one generated from MAC address via modified EUI-64.  This enhances privacy, but could cause problems in some applications, on the other hand.  The permitted values are: -1: unknown, 0: disabled, 1: enabled (prefer public address), 2: enabled (prefer temporary addresses). Having a per-connection setting set to &quot;-1&quot; (unknown) means fallback to global configuration &quot;ipv6.ip6-privacy&quot;. If also global configuration is unspecified or set to &quot;-1&quot;, fallback to read &quot;/proc/sys/net/ipv6/conf/default/use_tempaddr&quot;. Note that this setting is distinct from the Stable Privacy addresses that can be enabled with the &quot;addr-gen-mode&quot; property&apos;s &quot;stable-privacy&quot; setting as another way of avoiding host tracking with IPv6 addresses." />
         <property name="addr-gen-mode"
diff --git a/src/nmcli/generate-docs-nm-settings-nmcli.xml.in b/src/nmcli/generate-docs-nm-settings-nmcli.xml.in
index ebfa3033..88803094 100644
--- a/src/nmcli/generate-docs-nm-settings-nmcli.xml.in
+++ b/src/nmcli/generate-docs-nm-settings-nmcli.xml.in
@@ -650,7 +650,7 @@
                   description="DNS servers priority. The relative priority for DNS servers specified by this setting.  A lower numerical value is better (higher priority). Negative values have the special effect of excluding other configurations with a greater numerical priority value; so in presence of at least one negative priority, only DNS servers from connections with the lowest priority value will be used. To avoid all DNS leaks, set the priority of the profile that should be used to the most negative value of all active connections profiles. Zero selects a globally configured default value. If the latter is missing or zero too, it defaults to 50 for VPNs (including WireGuard) and 100 for other connections. Note that the priority is to order DNS settings for multiple active connections.  It does not disambiguate multiple DNS servers within the same connection profile. When multiple devices have configurations with the same priority, VPNs will be considered first, then devices with the best (lowest metric) default route and then all other devices. When using dns=default, servers with higher priority will be on top of resolv.conf. To prioritize a given server over another one within the same connection, just specify them in the desired order. Note that commonly the resolver tries name servers in /etc/resolv.conf in the order listed, proceeding with the next server in the list on failure. See for example the &quot;rotate&quot; option of the dns-options setting. If there are any negative DNS priorities, then only name servers from the devices with that lowest priority will be considered. When using a DNS resolver that supports Conditional Forwarding or Split DNS (with dns=dnsmasq or dns=systemd-resolved settings), each connection is used to query domains in its search list. The search domains determine which name servers to ask, and the DNS priority is used to prioritize name servers based on the domain.  Queries for domains not present in any search list are routed through connections having the &apos;~.&apos; special wildcard domain, which is added automatically to connections with the default route (or can be added manually).  When multiple connections specify the same domain, the one with the best priority (lowest numerical value) wins.  If a sub domain is configured on another interface it will be accepted regardless the priority, unless parent domain on the other interface has a negative priority, which causes the sub domain to be shadowed. With Split DNS one can avoid undesired DNS leaks by properly configuring DNS priorities and the search domains, so that only name servers of the desired interface are configured." />
         <property name="addresses"
                   alias="ip4"
-                  description="A list of IPv4 addresses and their prefix length. Multiple addresses can be separated by comma. For example &quot;192.168.1.5/24, 10.1.0.5/24&quot;." />
+                  description="A list of IPv4 addresses and their prefix length. Multiple addresses can be separated by comma. For example &quot;192.168.1.5/24, 10.1.0.5/24&quot;. The addresses are listed in increasing priority, meaning the last address will be the primary address." />
         <property name="gateway"
                   alias="gw4"
                   description="The gateway associated with this configuration. This is only meaningful if &quot;addresses&quot; is also set. The gateway&apos;s main purpose is to control the next hop of the standard default route on the device. Hence, the gateway property conflicts with &quot;never-default&quot; and will be automatically dropped if the IP configuration is set to never-default. As an alternative to set the gateway, configure a static default route with /0 as prefix length." />
@@ -683,6 +683,8 @@
                   description="If TRUE, this connection will never be the default connection for this IP type, meaning it will never be assigned the default route by NetworkManager." />
         <property name="may-fail"
                   description="If TRUE, allow overall network configuration to proceed even if the configuration specified by this property times out.  Note that at least one IP configuration must succeed or overall network configuration will still fail.  For example, in IPv6-only networks, setting this property to TRUE on the NMSettingIP4Config allows the overall network configuration to succeed if IPv4 configuration fails but IPv6 configuration completes successfully." />
+        <property name="required-timeout"
+                  description="The minimum time interval in milliseconds for which dynamic IP configuration should be tried before the connection succeeds. This property is useful for example if both IPv4 and IPv6 are enabled and are allowed to fail. Normally the connection succeeds as soon as one of the two address families completes; by setting a required timeout for e.g. IPv4, one can ensure that even if IP6 succeeds earlier than IPv4, NetworkManager waits some time for IPv4 before the connection becomes active. Note that if &quot;may-fail&quot; is FALSE for the same address family, this property has no effect as NetworkManager needs to wait for the full DHCP timeout. A zero value means that no required timeout is present, -1 means the default value (either configuration ipvx.required-timeout override or zero)." />
         <property name="dad-timeout"
                   description="Timeout in milliseconds used to check for the presence of duplicate IP addresses on the network.  If an address conflict is detected, the activation will fail.  A zero value means that no duplicate address detection is performed, -1 means the default value (either configuration ipvx.dad-timeout override or zero).  A value greater than zero is a timeout in milliseconds. The property is currently implemented only for IPv4." />
         <property name="dhcp-vendor-class-identifier"
@@ -703,7 +705,7 @@
                   description="DNS servers priority. The relative priority for DNS servers specified by this setting.  A lower numerical value is better (higher priority). Negative values have the special effect of excluding other configurations with a greater numerical priority value; so in presence of at least one negative priority, only DNS servers from connections with the lowest priority value will be used. To avoid all DNS leaks, set the priority of the profile that should be used to the most negative value of all active connections profiles. Zero selects a globally configured default value. If the latter is missing or zero too, it defaults to 50 for VPNs (including WireGuard) and 100 for other connections. Note that the priority is to order DNS settings for multiple active connections.  It does not disambiguate multiple DNS servers within the same connection profile. When multiple devices have configurations with the same priority, VPNs will be considered first, then devices with the best (lowest metric) default route and then all other devices. When using dns=default, servers with higher priority will be on top of resolv.conf. To prioritize a given server over another one within the same connection, just specify them in the desired order. Note that commonly the resolver tries name servers in /etc/resolv.conf in the order listed, proceeding with the next server in the list on failure. See for example the &quot;rotate&quot; option of the dns-options setting. If there are any negative DNS priorities, then only name servers from the devices with that lowest priority will be considered. When using a DNS resolver that supports Conditional Forwarding or Split DNS (with dns=dnsmasq or dns=systemd-resolved settings), each connection is used to query domains in its search list. The search domains determine which name servers to ask, and the DNS priority is used to prioritize name servers based on the domain.  Queries for domains not present in any search list are routed through connections having the &apos;~.&apos; special wildcard domain, which is added automatically to connections with the default route (or can be added manually).  When multiple connections specify the same domain, the one with the best priority (lowest numerical value) wins.  If a sub domain is configured on another interface it will be accepted regardless the priority, unless parent domain on the other interface has a negative priority, which causes the sub domain to be shadowed. With Split DNS one can avoid undesired DNS leaks by properly configuring DNS priorities and the search domains, so that only name servers of the desired interface are configured." />
         <property name="addresses"
                   alias="ip6"
-                  description="Array of IP addresses." />
+                  description="A list of IPv6 addresses and their prefix length. Multiple addresses can be separated by comma. For example &quot;2001:db8:85a3::8a2e:370:7334/64, 2001:db8:85a3::5/64&quot;. The addresses are listed in increasing priority, meaning the last address will be the primary address." />
         <property name="gateway"
                   alias="gw6"
                   description="The gateway associated with this configuration. This is only meaningful if &quot;addresses&quot; is also set. The gateway&apos;s main purpose is to control the next hop of the standard default route on the device. Hence, the gateway property conflicts with &quot;never-default&quot; and will be automatically dropped if the IP configuration is set to never-default. As an alternative to set the gateway, configure a static default route with /0 as prefix length." />
@@ -722,6 +724,8 @@
                   description="If TRUE, this connection will never be the default connection for this IP type, meaning it will never be assigned the default route by NetworkManager." />
         <property name="may-fail"
                   description="If TRUE, allow overall network configuration to proceed even if the configuration specified by this property times out.  Note that at least one IP configuration must succeed or overall network configuration will still fail.  For example, in IPv6-only networks, setting this property to TRUE on the NMSettingIP4Config allows the overall network configuration to succeed if IPv4 configuration fails but IPv6 configuration completes successfully." />
+        <property name="required-timeout"
+                  description="The minimum time interval in milliseconds for which dynamic IP configuration should be tried before the connection succeeds. This property is useful for example if both IPv4 and IPv6 are enabled and are allowed to fail. Normally the connection succeeds as soon as one of the two address families completes; by setting a required timeout for e.g. IPv4, one can ensure that even if IP6 succeeds earlier than IPv4, NetworkManager waits some time for IPv4 before the connection becomes active. Note that if &quot;may-fail&quot; is FALSE for the same address family, this property has no effect as NetworkManager needs to wait for the full DHCP timeout. A zero value means that no required timeout is present, -1 means the default value (either configuration ipvx.required-timeout override or zero)." />
         <property name="ip6-privacy"
                   description="Configure IPv6 Privacy Extensions for SLAAC, described in RFC4941.  If enabled, it makes the kernel generate a temporary IPv6 address in addition to the public one generated from MAC address via modified EUI-64.  This enhances privacy, but could cause problems in some applications, on the other hand.  The permitted values are: -1: unknown, 0: disabled, 1: enabled (prefer public address), 2: enabled (prefer temporary addresses). Having a per-connection setting set to &quot;-1&quot; (unknown) means fallback to global configuration &quot;ipv6.ip6-privacy&quot;. If also global configuration is unspecified or set to &quot;-1&quot;, fallback to read &quot;/proc/sys/net/ipv6/conf/default/use_tempaddr&quot;. Note that this setting is distinct from the Stable Privacy addresses that can be enabled with the &quot;addr-gen-mode&quot; property&apos;s &quot;stable-privacy&quot; setting as another way of avoiding host tracking with IPv6 addresses." />
         <property name="addr-gen-mode"
diff --git a/src/nmcli/meson.build b/src/nmcli/meson.build
index e2d73534..fab7329e 100644
--- a/src/nmcli/meson.build
+++ b/src/nmcli/meson.build
@@ -35,6 +35,7 @@ executable(
     libnm_core_aux_extern,
     libnm_core_aux_intern,
     libnm_base,
+    libnm_log_null,
     libnm_glib_aux,
     libnm_std_aux,
     libc_siphash,
@@ -61,6 +62,7 @@ generate_docs_nm_settings_nmcli = executable(
     libnm_core_aux_extern,
     libnm_core_aux_intern,
     libnm_base,
+    libnm_log_null,
     libnm_glib_aux,
     libnm_std_aux,
     libc_siphash,
diff --git a/src/nmcli/utils.h b/src/nmcli/utils.h
index 1a1e7e1d..aadaab67 100644
--- a/src/nmcli/utils.h
+++ b/src/nmcli/utils.h
@@ -106,6 +106,7 @@ typedef enum {
     NMC_GENERIC_INFO_TYPE_IP4_CONFIG_ROUTE,
     NMC_GENERIC_INFO_TYPE_IP4_CONFIG_DNS,
     NMC_GENERIC_INFO_TYPE_IP4_CONFIG_DOMAIN,
+    NMC_GENERIC_INFO_TYPE_IP4_CONFIG_SEARCHES,
     NMC_GENERIC_INFO_TYPE_IP4_CONFIG_WINS,
     _NMC_GENERIC_INFO_TYPE_IP4_CONFIG_NUM,
 
@@ -114,6 +115,7 @@ typedef enum {
     NMC_GENERIC_INFO_TYPE_IP6_CONFIG_ROUTE,
     NMC_GENERIC_INFO_TYPE_IP6_CONFIG_DNS,
     NMC_GENERIC_INFO_TYPE_IP6_CONFIG_DOMAIN,
+    NMC_GENERIC_INFO_TYPE_IP6_CONFIG_SEARCHES,
     _NMC_GENERIC_INFO_TYPE_IP6_CONFIG_NUM,
 
     NMC_GENERIC_INFO_TYPE_DHCP_CONFIG_OPTION = 0,
diff --git a/src/tests/client/test-client.check-on-disk/test_003.expected b/src/tests/client/test-client.check-on-disk/test_003.expected
index c710081a..42b9b524 100644
--- a/src/tests/client/test-client.check-on-disk/test_003.expected
+++ b/src/tests/client/test-client.check-on-disk/test_003.expected
@@ -182,12 +182,12 @@ id
 path
 uuid
 <<<
-size: 4538
+size: 4644
 location: src/tests/client/test-client.py:test_003()/14
 cmd: $NMCLI con s con-gsm1
 lang: C
 returncode: 0
-stdout: 4405 bytes
+stdout: 4511 bytes
 >>>
 connection.id:                          con-gsm1
 connection.uuid:                        UUID-con-gsm1-REPLACED-REPLACED-REPL
@@ -235,6 +235,7 @@ ipv4.dhcp-fqdn:                         --
 ipv4.dhcp-hostname-flags:               0x0 (none)
 ipv4.never-default:                     no
 ipv4.may-fail:                          yes
+ipv4.required-timeout:                  -1 (default)
 ipv4.dad-timeout:                       -1 (default)
 ipv4.dhcp-vendor-class-identifier:      --
 ipv4.dhcp-reject-servers:               --
@@ -253,6 +254,7 @@ ipv6.ignore-auto-routes:                no
 ipv6.ignore-auto-dns:                   no
 ipv6.never-default:                     no
 ipv6.may-fail:                          yes
+ipv6.required-timeout:                  -1 (default)
 ipv6.ip6-privacy:                       -1 (unknown)
 ipv6.addr-gen-mode:                     stable-privacy
 ipv6.ra-timeout:                        0 (default)
@@ -288,12 +290,12 @@ proxy.pac-url:                          --
 proxy.pac-script:                       --
 
 <<<
-size: 4568
+size: 4674
 location: src/tests/client/test-client.py:test_003()/15
 cmd: $NMCLI con s con-gsm1
 lang: pl_PL.UTF-8
 returncode: 0
-stdout: 4425 bytes
+stdout: 4531 bytes
 >>>
 connection.id:                          con-gsm1
 connection.uuid:                        UUID-con-gsm1-REPLACED-REPLACED-REPL
@@ -341,6 +343,7 @@ ipv4.dhcp-fqdn:                         --
 ipv4.dhcp-hostname-flags:               0x0 (none)
 ipv4.never-default:                     nie
 ipv4.may-fail:                          tak
+ipv4.required-timeout:                  -1 (default)
 ipv4.dad-timeout:                       -1 (default)
 ipv4.dhcp-vendor-class-identifier:      --
 ipv4.dhcp-reject-servers:               --
@@ -359,6 +362,7 @@ ipv6.ignore-auto-routes:                nie
 ipv6.ignore-auto-dns:                   nie
 ipv6.never-default:                     nie
 ipv6.may-fail:                          tak
+ipv6.required-timeout:                  -1 (default)
 ipv6.ip6-privacy:                       -1 (unknown)
 ipv6.addr-gen-mode:                     stable-privacy
 ipv6.ra-timeout:                        0 (default)
@@ -394,42 +398,42 @@ proxy.pac-url:                          --
 proxy.pac-script:                       --
 
 <<<
-size: 477
+size: 483
 location: src/tests/client/test-client.py:test_003()/16
 cmd: $NMCLI -g all con s con-gsm1
 lang: C
 returncode: 0
-stdout: 338 bytes
+stdout: 344 bytes
 >>>
 connection:con-gsm1:UUID-con-gsm1-REPLACED-REPLACED-REPL::gsm::no:0:-1:0:-1:0:no:::::-1::0:unknown:default:-1:-1:-1
-ipv4:auto::: :0::::-1:0::no:no:::0:yes:::0x0:no:yes:-1::
-ipv6:auto::::0::::-1:0::no:no:no:yes:-1:stable-privacy:0:::0:yes::0x0:
+ipv4:auto::: :0::::-1:0::no:no:::0:yes:::0x0:no:yes:-1:-1::
+ipv6:auto::::0::::-1:0::no:no:no:yes:-1:-1:stable-privacy:0:::0:yes::0x0:
 serial:5:8:even:1:100
 gsm:no:::<hidden>:0:xyz.con-gsm1::<hidden>:0:no::::auto
 proxy:none:no::
 
 <<<
-size: 487
+size: 493
 location: src/tests/client/test-client.py:test_003()/17
 cmd: $NMCLI -g all con s con-gsm1
 lang: pl_PL.UTF-8
 returncode: 0
-stdout: 338 bytes
+stdout: 344 bytes
 >>>
 connection:con-gsm1:UUID-con-gsm1-REPLACED-REPLACED-REPL::gsm::no:0:-1:0:-1:0:no:::::-1::0:unknown:default:-1:-1:-1
-ipv4:auto::: :0::::-1:0::no:no:::0:yes:::0x0:no:yes:-1::
-ipv6:auto::::0::::-1:0::no:no:no:yes:-1:stable-privacy:0:::0:yes::0x0:
+ipv4:auto::: :0::::-1:0::no:no:::0:yes:::0x0:no:yes:-1:-1::
+ipv6:auto::::0::::-1:0::no:no:no:yes:-1:-1:stable-privacy:0:::0:yes::0x0:
 serial:5:8:even:1:100
 gsm:no:::<hidden>:0:xyz.con-gsm1::<hidden>:0:no::::auto
 proxy:none:no::
 
 <<<
-size: 4526
+size: 4632
 location: src/tests/client/test-client.py:test_003()/18
 cmd: $NMCLI con s con-gsm2
 lang: C
 returncode: 0
-stdout: 4393 bytes
+stdout: 4499 bytes
 >>>
 connection.id:                          con-gsm2
 connection.uuid:                        UUID-con-gsm2-REPLACED-REPLACED-REPL
@@ -477,6 +481,7 @@ ipv4.dhcp-fqdn:                         --
 ipv4.dhcp-hostname-flags:               0x0 (none)
 ipv4.never-default:                     no
 ipv4.may-fail:                          yes
+ipv4.required-timeout:                  -1 (default)
 ipv4.dad-timeout:                       -1 (default)
 ipv4.dhcp-vendor-class-identifier:      --
 ipv4.dhcp-reject-servers:               --
@@ -495,6 +500,7 @@ ipv6.ignore-auto-routes:                no
 ipv6.ignore-auto-dns:                   no
 ipv6.never-default:                     no
 ipv6.may-fail:                          yes
+ipv6.required-timeout:                  -1 (default)
 ipv6.ip6-privacy:                       -1 (unknown)
 ipv6.addr-gen-mode:                     stable-privacy
 ipv6.ra-timeout:                        0 (default)
@@ -530,12 +536,12 @@ proxy.pac-url:                          --
 proxy.pac-script:                       --
 
 <<<
-size: 4556
+size: 4662
 location: src/tests/client/test-client.py:test_003()/19
 cmd: $NMCLI con s con-gsm2
 lang: pl_PL.UTF-8
 returncode: 0
-stdout: 4413 bytes
+stdout: 4519 bytes
 >>>
 connection.id:                          con-gsm2
 connection.uuid:                        UUID-con-gsm2-REPLACED-REPLACED-REPL
@@ -583,6 +589,7 @@ ipv4.dhcp-fqdn:                         --
 ipv4.dhcp-hostname-flags:               0x0 (none)
 ipv4.never-default:                     nie
 ipv4.may-fail:                          tak
+ipv4.required-timeout:                  -1 (default)
 ipv4.dad-timeout:                       -1 (default)
 ipv4.dhcp-vendor-class-identifier:      --
 ipv4.dhcp-reject-servers:               --
@@ -601,6 +608,7 @@ ipv6.ignore-auto-routes:                nie
 ipv6.ignore-auto-dns:                   nie
 ipv6.never-default:                     nie
 ipv6.may-fail:                          tak
+ipv6.required-timeout:                  -1 (default)
 ipv6.ip6-privacy:                       -1 (unknown)
 ipv6.addr-gen-mode:                     stable-privacy
 ipv6.ra-timeout:                        0 (default)
@@ -636,42 +644,42 @@ proxy.pac-url:                          --
 proxy.pac-script:                       --
 
 <<<
-size: 465
+size: 471
 location: src/tests/client/test-client.py:test_003()/20
 cmd: $NMCLI -g all con s con-gsm2
 lang: C
 returncode: 0
-stdout: 326 bytes
+stdout: 332 bytes
 >>>
 connection:con-gsm2:UUID-con-gsm2-REPLACED-REPLACED-REPL::gsm::no:0:-1:0:-1:0:no:::::-1::0:unknown:default:-1:-1:-1
-ipv4:auto::: :0::::-1:0::no:no:::0:yes:::0x0:no:yes:-1::
-ipv6:auto::::0::::-1:0::no:no:no:yes:-1:stable-privacy:0:::0:yes::0x0:
+ipv4:auto::: :0::::-1:0::no:no:::0:yes:::0x0:no:yes:-1:-1::
+ipv6:auto::::0::::-1:0::no:no:no:yes:-1:-1:stable-privacy:0:::0:yes::0x0:
 serial:5:8:even:1:100
 gsm:no:::<hidden>:0:::<hidden>:0:no::::auto
 proxy:none:no::
 
 <<<
-size: 475
+size: 481
 location: src/tests/client/test-client.py:test_003()/21
 cmd: $NMCLI -g all con s con-gsm2
 lang: pl_PL.UTF-8
 returncode: 0
-stdout: 326 bytes
+stdout: 332 bytes
 >>>
 connection:con-gsm2:UUID-con-gsm2-REPLACED-REPLACED-REPL::gsm::no:0:-1:0:-1:0:no:::::-1::0:unknown:default:-1:-1:-1
-ipv4:auto::: :0::::-1:0::no:no:::0:yes:::0x0:no:yes:-1::
-ipv6:auto::::0::::-1:0::no:no:no:yes:-1:stable-privacy:0:::0:yes::0x0:
+ipv4:auto::: :0::::-1:0::no:no:::0:yes:::0x0:no:yes:-1:-1::
+ipv6:auto::::0::::-1:0::no:no:no:yes:-1:-1:stable-privacy:0:::0:yes::0x0:
 serial:5:8:even:1:100
 gsm:no:::<hidden>:0:::<hidden>:0:no::::auto
 proxy:none:no::
 
 <<<
-size: 4526
+size: 4632
 location: src/tests/client/test-client.py:test_003()/22
 cmd: $NMCLI con s con-gsm3
 lang: C
 returncode: 0
-stdout: 4393 bytes
+stdout: 4499 bytes
 >>>
 connection.id:                          con-gsm3
 connection.uuid:                        UUID-con-gsm3-REPLACED-REPLACED-REPL
@@ -719,6 +727,7 @@ ipv4.dhcp-fqdn:                         --
 ipv4.dhcp-hostname-flags:               0x0 (none)
 ipv4.never-default:                     no
 ipv4.may-fail:                          yes
+ipv4.required-timeout:                  -1 (default)
 ipv4.dad-timeout:                       -1 (default)
 ipv4.dhcp-vendor-class-identifier:      --
 ipv4.dhcp-reject-servers:               --
@@ -737,6 +746,7 @@ ipv6.ignore-auto-routes:                no
 ipv6.ignore-auto-dns:                   no
 ipv6.never-default:                     no
 ipv6.may-fail:                          yes
+ipv6.required-timeout:                  -1 (default)
 ipv6.ip6-privacy:                       -1 (unknown)
 ipv6.addr-gen-mode:                     stable-privacy
 ipv6.ra-timeout:                        0 (default)
@@ -772,12 +782,12 @@ proxy.pac-url:                          --
 proxy.pac-script:                       --
 
 <<<
-size: 4556
+size: 4662
 location: src/tests/client/test-client.py:test_003()/23
 cmd: $NMCLI con s con-gsm3
 lang: pl_PL.UTF-8
 returncode: 0
-stdout: 4413 bytes
+stdout: 4519 bytes
 >>>
 connection.id:                          con-gsm3
 connection.uuid:                        UUID-con-gsm3-REPLACED-REPLACED-REPL
@@ -825,6 +835,7 @@ ipv4.dhcp-fqdn:                         --
 ipv4.dhcp-hostname-flags:               0x0 (none)
 ipv4.never-default:                     nie
 ipv4.may-fail:                          tak
+ipv4.required-timeout:                  -1 (default)
 ipv4.dad-timeout:                       -1 (default)
 ipv4.dhcp-vendor-class-identifier:      --
 ipv4.dhcp-reject-servers:               --
@@ -843,6 +854,7 @@ ipv6.ignore-auto-routes:                nie
 ipv6.ignore-auto-dns:                   nie
 ipv6.never-default:                     nie
 ipv6.may-fail:                          tak
+ipv6.required-timeout:                  -1 (default)
 ipv6.ip6-privacy:                       -1 (unknown)
 ipv6.addr-gen-mode:                     stable-privacy
 ipv6.ra-timeout:                        0 (default)
@@ -878,31 +890,31 @@ proxy.pac-url:                          --
 proxy.pac-script:                       --
 
 <<<
-size: 466
+size: 472
 location: src/tests/client/test-client.py:test_003()/24
 cmd: $NMCLI -g all con s con-gsm3
 lang: C
 returncode: 0
-stdout: 327 bytes
+stdout: 333 bytes
 >>>
 connection:con-gsm3:UUID-con-gsm3-REPLACED-REPLACED-REPL::gsm::no:0:-1:0:-1:0:no:::::-1::0:unknown:default:-1:-1:-1
-ipv4:auto::: :0::::-1:0::no:no:::0:yes:::0x0:no:yes:-1::
-ipv6:auto::::0::::-1:0::no:no:no:yes:-1:stable-privacy:0:::0:yes::0x0:
+ipv4:auto::: :0::::-1:0::no:no:::0:yes:::0x0:no:yes:-1:-1::
+ipv6:auto::::0::::-1:0::no:no:no:yes:-1:-1:stable-privacy:0:::0:yes::0x0:
 serial:5:8:even:1:100
 gsm:no:::<hidden>:0: ::<hidden>:0:no::::auto
 proxy:none:no::
 
 <<<
-size: 476
+size: 482
 location: src/tests/client/test-client.py:test_003()/25
 cmd: $NMCLI -g all con s con-gsm3
 lang: pl_PL.UTF-8
 returncode: 0
-stdout: 327 bytes
+stdout: 333 bytes
 >>>
 connection:con-gsm3:UUID-con-gsm3-REPLACED-REPLACED-REPL::gsm::no:0:-1:0:-1:0:no:::::-1::0:unknown:default:-1:-1:-1
-ipv4:auto::: :0::::-1:0::no:no:::0:yes:::0x0:no:yes:-1::
-ipv6:auto::::0::::-1:0::no:no:no:yes:-1:stable-privacy:0:::0:yes::0x0:
+ipv4:auto::: :0::::-1:0::no:no:::0:yes:::0x0:no:yes:-1:-1::
+ipv6:auto::::0::::-1:0::no:no:no:yes:-1:-1:stable-privacy:0:::0:yes::0x0:
 serial:5:8:even:1:100
 gsm:no:::<hidden>:0: ::<hidden>:0:no::::auto
 proxy:none:no::
@@ -1048,12 +1060,12 @@ UUID                                  NAME
 UUID-ethernet-REPLACED-REPLACED-REPL  ethernet 
 
 <<<
-size: 4364
+size: 4470
 location: src/tests/client/test-client.py:test_003()/37
 cmd: $NMCLI -f ALL con s ethernet
 lang: C
 returncode: 0
-stdout: 4224 bytes
+stdout: 4330 bytes
 >>>
 connection.id:                          ethernet
 connection.uuid:                        UUID-ethernet-REPLACED-REPLACED-REPL
@@ -1116,6 +1128,7 @@ ipv4.dhcp-fqdn:                         --
 ipv4.dhcp-hostname-flags:               0x0 (none)
 ipv4.never-default:                     no
 ipv4.may-fail:                          yes
+ipv4.required-timeout:                  -1 (default)
 ipv4.dad-timeout:                       -1 (default)
 ipv4.dhcp-vendor-class-identifier:      --
 ipv4.dhcp-reject-servers:               --
@@ -1134,6 +1147,7 @@ ipv6.ignore-auto-routes:                no
 ipv6.ignore-auto-dns:                   no
 ipv6.never-default:                     no
 ipv6.may-fail:                          yes
+ipv6.required-timeout:                  -1 (default)
 ipv6.ip6-privacy:                       -1 (unknown)
 ipv6.addr-gen-mode:                     stable-privacy
 ipv6.ra-timeout:                        0 (default)
@@ -1150,12 +1164,12 @@ proxy.pac-url:                          --
 proxy.pac-script:                       --
 
 <<<
-size: 4392
+size: 4498
 location: src/tests/client/test-client.py:test_003()/38
 cmd: $NMCLI -f ALL con s ethernet
 lang: pl_PL.UTF-8
 returncode: 0
-stdout: 4242 bytes
+stdout: 4348 bytes
 >>>
 connection.id:                          ethernet
 connection.uuid:                        UUID-ethernet-REPLACED-REPLACED-REPL
@@ -1218,6 +1232,7 @@ ipv4.dhcp-fqdn:                         --
 ipv4.dhcp-hostname-flags:               0x0 (none)
 ipv4.never-default:                     nie
 ipv4.may-fail:                          tak
+ipv4.required-timeout:                  -1 (default)
 ipv4.dad-timeout:                       -1 (default)
 ipv4.dhcp-vendor-class-identifier:      --
 ipv4.dhcp-reject-servers:               --
@@ -1236,6 +1251,7 @@ ipv6.ignore-auto-routes:                nie
 ipv6.ignore-auto-dns:                   nie
 ipv6.never-default:                     nie
 ipv6.may-fail:                          tak
+ipv6.required-timeout:                  -1 (default)
 ipv6.ip6-privacy:                       -1 (unknown)
 ipv6.addr-gen-mode:                     stable-privacy
 ipv6.ra-timeout:                        0 (default)
@@ -1272,12 +1288,12 @@ stdout: 51 bytes
 GENERAL.STATE:                          aktywowano
 
 <<<
-size: 5066
+size: 5172
 location: src/tests/client/test-client.py:test_003()/41
 cmd: $NMCLI con s ethernet
 lang: C
 returncode: 0
-stdout: 4933 bytes
+stdout: 5039 bytes
 >>>
 connection.id:                          ethernet
 connection.uuid:                        UUID-ethernet-REPLACED-REPLACED-REPL
@@ -1340,6 +1356,7 @@ ipv4.dhcp-fqdn:                         --
 ipv4.dhcp-hostname-flags:               0x0 (none)
 ipv4.never-default:                     no
 ipv4.may-fail:                          yes
+ipv4.required-timeout:                  -1 (default)
 ipv4.dad-timeout:                       -1 (default)
 ipv4.dhcp-vendor-class-identifier:      --
 ipv4.dhcp-reject-servers:               --
@@ -1358,6 +1375,7 @@ ipv6.ignore-auto-routes:                no
 ipv6.ignore-auto-dns:                   no
 ipv6.never-default:                     no
 ipv6.may-fail:                          yes
+ipv6.required-timeout:                  -1 (default)
 ipv6.ip6-privacy:                       -1 (unknown)
 ipv6.addr-gen-mode:                     stable-privacy
 ipv6.ra-timeout:                        0 (default)
@@ -1387,12 +1405,12 @@ GENERAL.ZONE:                           --
 GENERAL.MASTER-PATH:                    --
 
 <<<
-size: 5098
+size: 5204
 location: src/tests/client/test-client.py:test_003()/42
 cmd: $NMCLI con s ethernet
 lang: pl_PL.UTF-8
 returncode: 0
-stdout: 4955 bytes
+stdout: 5061 bytes
 >>>
 connection.id:                          ethernet
 connection.uuid:                        UUID-ethernet-REPLACED-REPLACED-REPL
@@ -1455,6 +1473,7 @@ ipv4.dhcp-fqdn:                         --
 ipv4.dhcp-hostname-flags:               0x0 (none)
 ipv4.never-default:                     nie
 ipv4.may-fail:                          tak
+ipv4.required-timeout:                  -1 (default)
 ipv4.dad-timeout:                       -1 (default)
 ipv4.dhcp-vendor-class-identifier:      --
 ipv4.dhcp-reject-servers:               --
@@ -1473,6 +1492,7 @@ ipv6.ignore-auto-routes:                nie
 ipv6.ignore-auto-dns:                   nie
 ipv6.never-default:                     nie
 ipv6.may-fail:                          tak
+ipv6.required-timeout:                  -1 (default)
 ipv6.ip6-privacy:                       -1 (unknown)
 ipv6.addr-gen-mode:                     stable-privacy
 ipv6.ra-timeout:                        0 (default)
@@ -1988,12 +2008,12 @@ UUID                                  NAME
 UUID-ethernet-REPLACED-REPLACED-REPL  ethernet 
 
 <<<
-size: 4364
+size: 4470
 location: src/tests/client/test-client.py:test_003()/62
 cmd: $NMCLI -f ALL con s ethernet
 lang: C
 returncode: 0
-stdout: 4224 bytes
+stdout: 4330 bytes
 >>>
 connection.id:                          ethernet
 connection.uuid:                        UUID-ethernet-REPLACED-REPLACED-REPL
@@ -2056,6 +2076,7 @@ ipv4.dhcp-fqdn:                         --
 ipv4.dhcp-hostname-flags:               0x0 (none)
 ipv4.never-default:                     no
 ipv4.may-fail:                          yes
+ipv4.required-timeout:                  -1 (default)
 ipv4.dad-timeout:                       -1 (default)
 ipv4.dhcp-vendor-class-identifier:      --
 ipv4.dhcp-reject-servers:               --
@@ -2074,6 +2095,7 @@ ipv6.ignore-auto-routes:                no
 ipv6.ignore-auto-dns:                   no
 ipv6.never-default:                     no
 ipv6.may-fail:                          yes
+ipv6.required-timeout:                  -1 (default)
 ipv6.ip6-privacy:                       -1 (unknown)
 ipv6.addr-gen-mode:                     stable-privacy
 ipv6.ra-timeout:                        0 (default)
@@ -2090,12 +2112,12 @@ proxy.pac-url:                          --
 proxy.pac-script:                       --
 
 <<<
-size: 4392
+size: 4498
 location: src/tests/client/test-client.py:test_003()/63
 cmd: $NMCLI -f ALL con s ethernet
 lang: pl_PL.UTF-8
 returncode: 0
-stdout: 4242 bytes
+stdout: 4348 bytes
 >>>
 connection.id:                          ethernet
 connection.uuid:                        UUID-ethernet-REPLACED-REPLACED-REPL
@@ -2158,6 +2180,7 @@ ipv4.dhcp-fqdn:                         --
 ipv4.dhcp-hostname-flags:               0x0 (none)
 ipv4.never-default:                     nie
 ipv4.may-fail:                          tak
+ipv4.required-timeout:                  -1 (default)
 ipv4.dad-timeout:                       -1 (default)
 ipv4.dhcp-vendor-class-identifier:      --
 ipv4.dhcp-reject-servers:               --
@@ -2176,6 +2199,7 @@ ipv6.ignore-auto-routes:                nie
 ipv6.ignore-auto-dns:                   nie
 ipv6.never-default:                     nie
 ipv6.may-fail:                          tak
+ipv6.required-timeout:                  -1 (default)
 ipv6.ip6-privacy:                       -1 (unknown)
 ipv6.addr-gen-mode:                     stable-privacy
 ipv6.ra-timeout:                        0 (default)
@@ -2216,12 +2240,12 @@ GENERAL.STATE:                          aktywowano
 GENERAL.STATE:                          aktywowano
 
 <<<
-size: 5776
+size: 5882
 location: src/tests/client/test-client.py:test_003()/66
 cmd: $NMCLI con s ethernet
 lang: C
 returncode: 0
-stdout: 5643 bytes
+stdout: 5749 bytes
 >>>
 connection.id:                          ethernet
 connection.uuid:                        UUID-ethernet-REPLACED-REPLACED-REPL
@@ -2284,6 +2308,7 @@ ipv4.dhcp-fqdn:                         --
 ipv4.dhcp-hostname-flags:               0x0 (none)
 ipv4.never-default:                     no
 ipv4.may-fail:                          yes
+ipv4.required-timeout:                  -1 (default)
 ipv4.dad-timeout:                       -1 (default)
 ipv4.dhcp-vendor-class-identifier:      --
 ipv4.dhcp-reject-servers:               --
@@ -2302,6 +2327,7 @@ ipv6.ignore-auto-routes:                no
 ipv6.ignore-auto-dns:                   no
 ipv6.never-default:                     no
 ipv6.may-fail:                          yes
+ipv6.required-timeout:                  -1 (default)
 ipv6.ip6-privacy:                       -1 (unknown)
 ipv6.addr-gen-mode:                     stable-privacy
 ipv6.ra-timeout:                        0 (default)
@@ -2345,12 +2371,12 @@ GENERAL.ZONE:                           --
 GENERAL.MASTER-PATH:                    --
 
 <<<
-size: 5812
+size: 5918
 location: src/tests/client/test-client.py:test_003()/67
 cmd: $NMCLI con s ethernet
 lang: pl_PL.UTF-8
 returncode: 0
-stdout: 5669 bytes
+stdout: 5775 bytes
 >>>
 connection.id:                          ethernet
 connection.uuid:                        UUID-ethernet-REPLACED-REPLACED-REPL
@@ -2413,6 +2439,7 @@ ipv4.dhcp-fqdn:                         --
 ipv4.dhcp-hostname-flags:               0x0 (none)
 ipv4.never-default:                     nie
 ipv4.may-fail:                          tak
+ipv4.required-timeout:                  -1 (default)
 ipv4.dad-timeout:                       -1 (default)
 ipv4.dhcp-vendor-class-identifier:      --
 ipv4.dhcp-reject-servers:               --
@@ -2431,6 +2458,7 @@ ipv6.ignore-auto-routes:                nie
 ipv6.ignore-auto-dns:                   nie
 ipv6.never-default:                     nie
 ipv6.may-fail:                          tak
+ipv6.required-timeout:                  -1 (default)
 ipv6.ip6-privacy:                       -1 (unknown)
 ipv6.addr-gen-mode:                     stable-privacy
 ipv6.ra-timeout:                        0 (default)
@@ -2878,12 +2906,12 @@ UUID-con-gsm3-REPLACED-REPLACED-REPL  gsm
 UUID-con-xx1-REPLACED-REPLACED-REPLA  ethernet 
 
 <<<
-size: 5779
+size: 5885
 location: src/tests/client/test-client.py:test_003()/80
 cmd: $NMCLI con s ethernet
 lang: C
 returncode: 0
-stdout: 5646 bytes
+stdout: 5752 bytes
 >>>
 connection.id:                          ethernet
 connection.uuid:                        UUID-ethernet-REPLACED-REPLACED-REPL
@@ -2946,6 +2974,7 @@ ipv4.dhcp-fqdn:                         --
 ipv4.dhcp-hostname-flags:               0x0 (none)
 ipv4.never-default:                     no
 ipv4.may-fail:                          yes
+ipv4.required-timeout:                  -1 (default)
 ipv4.dad-timeout:                       -1 (default)
 ipv4.dhcp-vendor-class-identifier:      --
 ipv4.dhcp-reject-servers:               --
@@ -2964,6 +2993,7 @@ ipv6.ignore-auto-routes:                no
 ipv6.ignore-auto-dns:                   no
 ipv6.never-default:                     no
 ipv6.may-fail:                          yes
+ipv6.required-timeout:                  -1 (default)
 ipv6.ip6-privacy:                       -1 (unknown)
 ipv6.addr-gen-mode:                     stable-privacy
 ipv6.ra-timeout:                        0 (default)
@@ -3007,12 +3037,12 @@ GENERAL.ZONE:                           --
 GENERAL.MASTER-PATH:                    --
 
 <<<
-size: 5816
+size: 5922
 location: src/tests/client/test-client.py:test_003()/81
 cmd: $NMCLI con s ethernet
 lang: pl_PL.UTF-8
 returncode: 0
-stdout: 5673 bytes
+stdout: 5779 bytes
 >>>
 connection.id:                          ethernet
 connection.uuid:                        UUID-ethernet-REPLACED-REPLACED-REPL
@@ -3075,6 +3105,7 @@ ipv4.dhcp-fqdn:                         --
 ipv4.dhcp-hostname-flags:               0x0 (none)
 ipv4.never-default:                     nie
 ipv4.may-fail:                          tak
+ipv4.required-timeout:                  -1 (default)
 ipv4.dad-timeout:                       -1 (default)
 ipv4.dhcp-vendor-class-identifier:      --
 ipv4.dhcp-reject-servers:               --
@@ -3093,6 +3124,7 @@ ipv6.ignore-auto-routes:                nie
 ipv6.ignore-auto-dns:                   nie
 ipv6.never-default:                     nie
 ipv6.may-fail:                          tak
+ipv6.required-timeout:                  -1 (default)
 ipv6.ip6-privacy:                       -1 (unknown)
 ipv6.addr-gen-mode:                     stable-privacy
 ipv6.ra-timeout:                        0 (default)
@@ -3136,12 +3168,12 @@ GENERAL.ZONE:                           --
 GENERAL.MASTER-PATH:                    --
 
 <<<
-size: 5109
+size: 5215
 location: src/tests/client/test-client.py:test_003()/82
 cmd: $NMCLI c s /org/freedesktop/NetworkManager/ActiveConnection/1
 lang: C
 returncode: 0
-stdout: 4936 bytes
+stdout: 5042 bytes
 >>>
 connection.id:                          ethernet
 connection.uuid:                        UUID-ethernet-REPLACED-REPLACED-REPL
@@ -3204,6 +3236,7 @@ ipv4.dhcp-fqdn:                         --
 ipv4.dhcp-hostname-flags:               0x0 (none)
 ipv4.never-default:                     no
 ipv4.may-fail:                          yes
+ipv4.required-timeout:                  -1 (default)
 ipv4.dad-timeout:                       -1 (default)
 ipv4.dhcp-vendor-class-identifier:      --
 ipv4.dhcp-reject-servers:               --
@@ -3222,6 +3255,7 @@ ipv6.ignore-auto-routes:                no
 ipv6.ignore-auto-dns:                   no
 ipv6.never-default:                     no
 ipv6.may-fail:                          yes
+ipv6.required-timeout:                  -1 (default)
 ipv6.ip6-privacy:                       -1 (unknown)
 ipv6.addr-gen-mode:                     stable-privacy
 ipv6.ra-timeout:                        0 (default)
@@ -3251,12 +3285,12 @@ GENERAL.ZONE:                           --
 GENERAL.MASTER-PATH:                    --
 
 <<<
-size: 5142
+size: 5248
 location: src/tests/client/test-client.py:test_003()/83
 cmd: $NMCLI c s /org/freedesktop/NetworkManager/ActiveConnection/1
 lang: pl_PL.UTF-8
 returncode: 0
-stdout: 4959 bytes
+stdout: 5065 bytes
 >>>
 connection.id:                          ethernet
 connection.uuid:                        UUID-ethernet-REPLACED-REPLACED-REPL
@@ -3319,6 +3353,7 @@ ipv4.dhcp-fqdn:                         --
 ipv4.dhcp-hostname-flags:               0x0 (none)
 ipv4.never-default:                     nie
 ipv4.may-fail:                          tak
+ipv4.required-timeout:                  -1 (default)
 ipv4.dad-timeout:                       -1 (default)
 ipv4.dhcp-vendor-class-identifier:      --
 ipv4.dhcp-reject-servers:               --
@@ -3337,6 +3372,7 @@ ipv6.ignore-auto-routes:                nie
 ipv6.ignore-auto-dns:                   nie
 ipv6.never-default:                     nie
 ipv6.may-fail:                          tak
+ipv6.required-timeout:                  -1 (default)
 ipv6.ip6-privacy:                       -1 (unknown)
 ipv6.addr-gen-mode:                     stable-privacy
 ipv6.ra-timeout:                        0 (default)
@@ -3576,12 +3612,12 @@ UUID-con-gsm3-REPLACED-REPLACED-REPL  gsm
 UUID-con-xx1-REPLACED-REPLACED-REPLA  ethernet 
 
 <<<
-size: 5791
+size: 5897
 location: src/tests/client/test-client.py:test_003()/90
 cmd: $NMCLI --color yes con s ethernet
 lang: C
 returncode: 0
-stdout: 5646 bytes
+stdout: 5752 bytes
 >>>
 connection.id:                          ethernet
 connection.uuid:                        UUID-ethernet-REPLACED-REPLACED-REPL
@@ -3644,6 +3680,7 @@ ipv4.dhcp-fqdn:                         --
 ipv4.dhcp-hostname-flags:               0x0 (none)
 ipv4.never-default:                     no
 ipv4.may-fail:                          yes
+ipv4.required-timeout:                  -1 (default)
 ipv4.dad-timeout:                       -1 (default)
 ipv4.dhcp-vendor-class-identifier:      --
 ipv4.dhcp-reject-servers:               --
@@ -3662,6 +3699,7 @@ ipv6.ignore-auto-routes:                no
 ipv6.ignore-auto-dns:                   no
 ipv6.never-default:                     no
 ipv6.may-fail:                          yes
+ipv6.required-timeout:                  -1 (default)
 ipv6.ip6-privacy:                       -1 (unknown)
 ipv6.addr-gen-mode:                     stable-privacy
 ipv6.ra-timeout:                        0 (default)
@@ -3705,12 +3743,12 @@ GENERAL.ZONE:                           --
 GENERAL.MASTER-PATH:                    --
 
 <<<
-size: 5828
+size: 5934
 location: src/tests/client/test-client.py:test_003()/91
 cmd: $NMCLI --color yes con s ethernet
 lang: pl_PL.UTF-8
 returncode: 0
-stdout: 5673 bytes
+stdout: 5779 bytes
 >>>
 connection.id:                          ethernet
 connection.uuid:                        UUID-ethernet-REPLACED-REPLACED-REPL
@@ -3773,6 +3811,7 @@ ipv4.dhcp-fqdn:                         --
 ipv4.dhcp-hostname-flags:               0x0 (none)
 ipv4.never-default:                     nie
 ipv4.may-fail:                          tak
+ipv4.required-timeout:                  -1 (default)
 ipv4.dad-timeout:                       -1 (default)
 ipv4.dhcp-vendor-class-identifier:      --
 ipv4.dhcp-reject-servers:               --
@@ -3791,6 +3830,7 @@ ipv6.ignore-auto-routes:                nie
 ipv6.ignore-auto-dns:                   nie
 ipv6.never-default:                     nie
 ipv6.may-fail:                          tak
+ipv6.required-timeout:                  -1 (default)
 ipv6.ip6-privacy:                       -1 (unknown)
 ipv6.addr-gen-mode:                     stable-privacy
 ipv6.ra-timeout:                        0 (default)
@@ -3834,12 +3874,12 @@ GENERAL.ZONE:                           --
 GENERAL.MASTER-PATH:                    --
 
 <<<
-size: 5121
+size: 5227
 location: src/tests/client/test-client.py:test_003()/92
 cmd: $NMCLI --color yes c s /org/freedesktop/NetworkManager/ActiveConnection/1
 lang: C
 returncode: 0
-stdout: 4936 bytes
+stdout: 5042 bytes
 >>>
 connection.id:                          ethernet
 connection.uuid:                        UUID-ethernet-REPLACED-REPLACED-REPL
@@ -3902,6 +3942,7 @@ ipv4.dhcp-fqdn:                         --
 ipv4.dhcp-hostname-flags:               0x0 (none)
 ipv4.never-default:                     no
 ipv4.may-fail:                          yes
+ipv4.required-timeout:                  -1 (default)
 ipv4.dad-timeout:                       -1 (default)
 ipv4.dhcp-vendor-class-identifier:      --
 ipv4.dhcp-reject-servers:               --
@@ -3920,6 +3961,7 @@ ipv6.ignore-auto-routes:                no
 ipv6.ignore-auto-dns:                   no
 ipv6.never-default:                     no
 ipv6.may-fail:                          yes
+ipv6.required-timeout:                  -1 (default)
 ipv6.ip6-privacy:                       -1 (unknown)
 ipv6.addr-gen-mode:                     stable-privacy
 ipv6.ra-timeout:                        0 (default)
@@ -3949,12 +3991,12 @@ GENERAL.ZONE:                           --
 GENERAL.MASTER-PATH:                    --
 
 <<<
-size: 5154
+size: 5260
 location: src/tests/client/test-client.py:test_003()/93
 cmd: $NMCLI --color yes c s /org/freedesktop/NetworkManager/ActiveConnection/1
 lang: pl_PL.UTF-8
 returncode: 0
-stdout: 4959 bytes
+stdout: 5065 bytes
 >>>
 connection.id:                          ethernet
 connection.uuid:                        UUID-ethernet-REPLACED-REPLACED-REPL
@@ -4017,6 +4059,7 @@ ipv4.dhcp-fqdn:                         --
 ipv4.dhcp-hostname-flags:               0x0 (none)
 ipv4.never-default:                     nie
 ipv4.may-fail:                          tak
+ipv4.required-timeout:                  -1 (default)
 ipv4.dad-timeout:                       -1 (default)
 ipv4.dhcp-vendor-class-identifier:      --
 ipv4.dhcp-reject-servers:               --
@@ -4035,6 +4078,7 @@ ipv6.ignore-auto-routes:                nie
 ipv6.ignore-auto-dns:                   nie
 ipv6.never-default:                     nie
 ipv6.may-fail:                          tak
+ipv6.required-timeout:                  -1 (default)
 ipv6.ip6-privacy:                       -1 (unknown)
 ipv6.addr-gen-mode:                     stable-privacy
 ipv6.ra-timeout:                        0 (default)
@@ -4290,12 +4334,12 @@ UUID-con-gsm3-REPLACED-REPLACED-REPL  gsm
 UUID-con-xx1-REPLACED-REPLACED-REPLA  ethernet 
 
 <<<
-size: 7034
+size: 7140
 location: src/tests/client/test-client.py:test_003()/100
 cmd: $NMCLI --pretty con s ethernet
 lang: C
 returncode: 0
-stdout: 6891 bytes
+stdout: 6997 bytes
 >>>
 ===============================================================================
                      Connection profile details (ethernet)
@@ -4363,6 +4407,7 @@ ipv4.dhcp-fqdn:                         --
 ipv4.dhcp-hostname-flags:               0x0 (none)
 ipv4.never-default:                     no
 ipv4.may-fail:                          yes
+ipv4.required-timeout:                  -1 (default)
 ipv4.dad-timeout:                       -1 (default)
 ipv4.dhcp-vendor-class-identifier:      --
 ipv4.dhcp-reject-servers:               --
@@ -4382,6 +4427,7 @@ ipv6.ignore-auto-routes:                no
 ipv6.ignore-auto-dns:                   no
 ipv6.never-default:                     no
 ipv6.may-fail:                          yes
+ipv6.required-timeout:                  -1 (default)
 ipv6.ip6-privacy:                       -1 (unknown)
 ipv6.addr-gen-mode:                     stable-privacy
 ipv6.ra-timeout:                        0 (default)
@@ -4435,12 +4481,12 @@ GENERAL.MASTER-PATH:                    --
 -------------------------------------------------------------------------------
 
 <<<
-size: 7090
+size: 7196
 location: src/tests/client/test-client.py:test_003()/101
 cmd: $NMCLI --pretty con s ethernet
 lang: pl_PL.UTF-8
 returncode: 0
-stdout: 6937 bytes
+stdout: 7043 bytes
 >>>
 ===============================================================================
                     Szczegóły profilu połączenia (ethernet)
@@ -4508,6 +4554,7 @@ ipv4.dhcp-fqdn:                         --
 ipv4.dhcp-hostname-flags:               0x0 (none)
 ipv4.never-default:                     nie
 ipv4.may-fail:                          tak
+ipv4.required-timeout:                  -1 (default)
 ipv4.dad-timeout:                       -1 (default)
 ipv4.dhcp-vendor-class-identifier:      --
 ipv4.dhcp-reject-servers:               --
@@ -4527,6 +4574,7 @@ ipv6.ignore-auto-routes:                nie
 ipv6.ignore-auto-dns:                   nie
 ipv6.never-default:                     nie
 ipv6.may-fail:                          tak
+ipv6.required-timeout:                  -1 (default)
 ipv6.ip6-privacy:                       -1 (unknown)
 ipv6.addr-gen-mode:                     stable-privacy
 ipv6.ra-timeout:                        0 (default)
@@ -4580,12 +4628,12 @@ GENERAL.MASTER-PATH:                    --
 -------------------------------------------------------------------------------
 
 <<<
-size: 6051
+size: 6157
 location: src/tests/client/test-client.py:test_003()/102
 cmd: $NMCLI --pretty c s /org/freedesktop/NetworkManager/ActiveConnection/1
 lang: C
 returncode: 0
-stdout: 5868 bytes
+stdout: 5974 bytes
 >>>
 ===============================================================================
                      Connection profile details (ethernet)
@@ -4653,6 +4701,7 @@ ipv4.dhcp-fqdn:                         --
 ipv4.dhcp-hostname-flags:               0x0 (none)
 ipv4.never-default:                     no
 ipv4.may-fail:                          yes
+ipv4.required-timeout:                  -1 (default)
 ipv4.dad-timeout:                       -1 (default)
 ipv4.dhcp-vendor-class-identifier:      --
 ipv4.dhcp-reject-servers:               --
@@ -4672,6 +4721,7 @@ ipv6.ignore-auto-routes:                no
 ipv6.ignore-auto-dns:                   no
 ipv6.never-default:                     no
 ipv6.may-fail:                          yes
+ipv6.required-timeout:                  -1 (default)
 ipv6.ip6-privacy:                       -1 (unknown)
 ipv6.addr-gen-mode:                     stable-privacy
 ipv6.ra-timeout:                        0 (default)
@@ -4707,12 +4757,12 @@ GENERAL.MASTER-PATH:                    --
 -------------------------------------------------------------------------------
 
 <<<
-size: 6096
+size: 6202
 location: src/tests/client/test-client.py:test_003()/103
 cmd: $NMCLI --pretty c s /org/freedesktop/NetworkManager/ActiveConnection/1
 lang: pl_PL.UTF-8
 returncode: 0
-stdout: 5903 bytes
+stdout: 6009 bytes
 >>>
 ===============================================================================
                     Szczegóły profilu połączenia (ethernet)
@@ -4780,6 +4830,7 @@ ipv4.dhcp-fqdn:                         --
 ipv4.dhcp-hostname-flags:               0x0 (none)
 ipv4.never-default:                     nie
 ipv4.may-fail:                          tak
+ipv4.required-timeout:                  -1 (default)
 ipv4.dad-timeout:                       -1 (default)
 ipv4.dhcp-vendor-class-identifier:      --
 ipv4.dhcp-reject-servers:               --
@@ -4799,6 +4850,7 @@ ipv6.ignore-auto-routes:                nie
 ipv6.ignore-auto-dns:                   nie
 ipv6.never-default:                     nie
 ipv6.may-fail:                          tak
+ipv6.required-timeout:                  -1 (default)
 ipv6.ip6-privacy:                       -1 (unknown)
 ipv6.addr-gen-mode:                     stable-privacy
 ipv6.ra-timeout:                        0 (default)
@@ -5084,12 +5136,12 @@ UUID-con-gsm3-REPLACED-REPLACED-REPL  gsm
 UUID-con-xx1-REPLACED-REPLACED-REPLA  ethernet 
 
 <<<
-size: 7046
+size: 7152
 location: src/tests/client/test-client.py:test_003()/110
 cmd: $NMCLI --pretty --color yes con s ethernet
 lang: C
 returncode: 0
-stdout: 6891 bytes
+stdout: 6997 bytes
 >>>
 ===============================================================================
                      Connection profile details (ethernet)
@@ -5157,6 +5209,7 @@ ipv4.dhcp-fqdn:                         --
 ipv4.dhcp-hostname-flags:               0x0 (none)
 ipv4.never-default:                     no
 ipv4.may-fail:                          yes
+ipv4.required-timeout:                  -1 (default)
 ipv4.dad-timeout:                       -1 (default)
 ipv4.dhcp-vendor-class-identifier:      --
 ipv4.dhcp-reject-servers:               --
@@ -5176,6 +5229,7 @@ ipv6.ignore-auto-routes:                no
 ipv6.ignore-auto-dns:                   no
 ipv6.never-default:                     no
 ipv6.may-fail:                          yes
+ipv6.required-timeout:                  -1 (default)
 ipv6.ip6-privacy:                       -1 (unknown)
 ipv6.addr-gen-mode:                     stable-privacy
 ipv6.ra-timeout:                        0 (default)
@@ -5229,12 +5283,12 @@ GENERAL.MASTER-PATH:                    --
 -------------------------------------------------------------------------------
 
 <<<
-size: 7102
+size: 7208
 location: src/tests/client/test-client.py:test_003()/111
 cmd: $NMCLI --pretty --color yes con s ethernet
 lang: pl_PL.UTF-8
 returncode: 0
-stdout: 6937 bytes
+stdout: 7043 bytes
 >>>
 ===============================================================================
                     Szczegóły profilu połączenia (ethernet)
@@ -5302,6 +5356,7 @@ ipv4.dhcp-fqdn:                         --
 ipv4.dhcp-hostname-flags:               0x0 (none)
 ipv4.never-default:                     nie
 ipv4.may-fail:                          tak
+ipv4.required-timeout:                  -1 (default)
 ipv4.dad-timeout:                       -1 (default)
 ipv4.dhcp-vendor-class-identifier:      --
 ipv4.dhcp-reject-servers:               --
@@ -5321,6 +5376,7 @@ ipv6.ignore-auto-routes:                nie
 ipv6.ignore-auto-dns:                   nie
 ipv6.never-default:                     nie
 ipv6.may-fail:                          tak
+ipv6.required-timeout:                  -1 (default)
 ipv6.ip6-privacy:                       -1 (unknown)
 ipv6.addr-gen-mode:                     stable-privacy
 ipv6.ra-timeout:                        0 (default)
@@ -5374,12 +5430,12 @@ GENERAL.MASTER-PATH:                    --
 -------------------------------------------------------------------------------
 
 <<<
-size: 6063
+size: 6169
 location: src/tests/client/test-client.py:test_003()/112
 cmd: $NMCLI --pretty --color yes c s /org/freedesktop/NetworkManager/ActiveConnection/1
 lang: C
 returncode: 0
-stdout: 5868 bytes
+stdout: 5974 bytes
 >>>
 ===============================================================================
                      Connection profile details (ethernet)
@@ -5447,6 +5503,7 @@ ipv4.dhcp-fqdn:                         --
 ipv4.dhcp-hostname-flags:               0x0 (none)
 ipv4.never-default:                     no
 ipv4.may-fail:                          yes
+ipv4.required-timeout:                  -1 (default)
 ipv4.dad-timeout:                       -1 (default)
 ipv4.dhcp-vendor-class-identifier:      --
 ipv4.dhcp-reject-servers:               --
@@ -5466,6 +5523,7 @@ ipv6.ignore-auto-routes:                no
 ipv6.ignore-auto-dns:                   no
 ipv6.never-default:                     no
 ipv6.may-fail:                          yes
+ipv6.required-timeout:                  -1 (default)
 ipv6.ip6-privacy:                       -1 (unknown)
 ipv6.addr-gen-mode:                     stable-privacy
 ipv6.ra-timeout:                        0 (default)
@@ -5501,12 +5559,12 @@ GENERAL.MASTER-PATH:                    --
 -------------------------------------------------------------------------------
 
 <<<
-size: 6108
+size: 6214
 location: src/tests/client/test-client.py:test_003()/113
 cmd: $NMCLI --pretty --color yes c s /org/freedesktop/NetworkManager/ActiveConnection/1
 lang: pl_PL.UTF-8
 returncode: 0
-stdout: 5903 bytes
+stdout: 6009 bytes
 >>>
 ===============================================================================
                     Szczegóły profilu połączenia (ethernet)
@@ -5574,6 +5632,7 @@ ipv4.dhcp-fqdn:                         --
 ipv4.dhcp-hostname-flags:               0x0 (none)
 ipv4.never-default:                     nie
 ipv4.may-fail:                          tak
+ipv4.required-timeout:                  -1 (default)
 ipv4.dad-timeout:                       -1 (default)
 ipv4.dhcp-vendor-class-identifier:      --
 ipv4.dhcp-reject-servers:               --
@@ -5593,6 +5652,7 @@ ipv6.ignore-auto-routes:                nie
 ipv6.ignore-auto-dns:                   nie
 ipv6.never-default:                     nie
 ipv6.may-fail:                          tak
+ipv6.required-timeout:                  -1 (default)
 ipv6.ip6-privacy:                       -1 (unknown)
 ipv6.addr-gen-mode:                     stable-privacy
 ipv6.ra-timeout:                        0 (default)
@@ -5858,12 +5918,12 @@ UUID-con-gsm3-REPLACED-REPLACED-REPL:gsm
 UUID-con-xx1-REPLACED-REPLACED-REPLA:802-3-ethernet
 
 <<<
-size: 3116
+size: 3166
 location: src/tests/client/test-client.py:test_003()/120
 cmd: $NMCLI --terse con s ethernet
 lang: C
 returncode: 0
-stdout: 2974 bytes
+stdout: 3024 bytes
 >>>
 connection.id:ethernet
 connection.uuid:UUID-ethernet-REPLACED-REPLACED-REPL
@@ -5926,6 +5986,7 @@ ipv4.dhcp-fqdn:
 ipv4.dhcp-hostname-flags:0x0
 ipv4.never-default:no
 ipv4.may-fail:yes
+ipv4.required-timeout:-1
 ipv4.dad-timeout:-1
 ipv4.dhcp-vendor-class-identifier:
 ipv4.dhcp-reject-servers:
@@ -5944,6 +6005,7 @@ ipv6.ignore-auto-routes:no
 ipv6.ignore-auto-dns:no
 ipv6.never-default:no
 ipv6.may-fail:yes
+ipv6.required-timeout:-1
 ipv6.ip6-privacy:-1
 ipv6.addr-gen-mode:stable-privacy
 ipv6.ra-timeout:0
@@ -5987,12 +6049,12 @@ GENERAL.ZONE:
 GENERAL.MASTER-PATH:
 
 <<<
-size: 3126
+size: 3176
 location: src/tests/client/test-client.py:test_003()/121
 cmd: $NMCLI --terse con s ethernet
 lang: pl_PL.UTF-8
 returncode: 0
-stdout: 2974 bytes
+stdout: 3024 bytes
 >>>
 connection.id:ethernet
 connection.uuid:UUID-ethernet-REPLACED-REPLACED-REPL
@@ -6055,6 +6117,7 @@ ipv4.dhcp-fqdn:
 ipv4.dhcp-hostname-flags:0x0
 ipv4.never-default:no
 ipv4.may-fail:yes
+ipv4.required-timeout:-1
 ipv4.dad-timeout:-1
 ipv4.dhcp-vendor-class-identifier:
 ipv4.dhcp-reject-servers:
@@ -6073,6 +6136,7 @@ ipv6.ignore-auto-routes:no
 ipv6.ignore-auto-dns:no
 ipv6.never-default:no
 ipv6.may-fail:yes
+ipv6.required-timeout:-1
 ipv6.ip6-privacy:-1
 ipv6.addr-gen-mode:stable-privacy
 ipv6.ra-timeout:0
@@ -6116,12 +6180,12 @@ GENERAL.ZONE:
 GENERAL.MASTER-PATH:
 
 <<<
-size: 2766
+size: 2816
 location: src/tests/client/test-client.py:test_003()/122
 cmd: $NMCLI --terse c s /org/freedesktop/NetworkManager/ActiveConnection/1
 lang: C
 returncode: 0
-stdout: 2584 bytes
+stdout: 2634 bytes
 >>>
 connection.id:ethernet
 connection.uuid:UUID-ethernet-REPLACED-REPLACED-REPL
@@ -6184,6 +6248,7 @@ ipv4.dhcp-fqdn:
 ipv4.dhcp-hostname-flags:0x0
 ipv4.never-default:no
 ipv4.may-fail:yes
+ipv4.required-timeout:-1
 ipv4.dad-timeout:-1
 ipv4.dhcp-vendor-class-identifier:
 ipv4.dhcp-reject-servers:
@@ -6202,6 +6267,7 @@ ipv6.ignore-auto-routes:no
 ipv6.ignore-auto-dns:no
 ipv6.never-default:no
 ipv6.may-fail:yes
+ipv6.required-timeout:-1
 ipv6.ip6-privacy:-1
 ipv6.addr-gen-mode:stable-privacy
 ipv6.ra-timeout:0
@@ -6231,12 +6297,12 @@ GENERAL.ZONE:
 GENERAL.MASTER-PATH:
 
 <<<
-size: 2776
+size: 2826
 location: src/tests/client/test-client.py:test_003()/123
 cmd: $NMCLI --terse c s /org/freedesktop/NetworkManager/ActiveConnection/1
 lang: pl_PL.UTF-8
 returncode: 0
-stdout: 2584 bytes
+stdout: 2634 bytes
 >>>
 connection.id:ethernet
 connection.uuid:UUID-ethernet-REPLACED-REPLACED-REPL
@@ -6299,6 +6365,7 @@ ipv4.dhcp-fqdn:
 ipv4.dhcp-hostname-flags:0x0
 ipv4.never-default:no
 ipv4.may-fail:yes
+ipv4.required-timeout:-1
 ipv4.dad-timeout:-1
 ipv4.dhcp-vendor-class-identifier:
 ipv4.dhcp-reject-servers:
@@ -6317,6 +6384,7 @@ ipv6.ignore-auto-routes:no
 ipv6.ignore-auto-dns:no
 ipv6.never-default:no
 ipv6.may-fail:yes
+ipv6.required-timeout:-1
 ipv6.ip6-privacy:-1
 ipv6.addr-gen-mode:stable-privacy
 ipv6.ra-timeout:0
@@ -6552,12 +6620,12 @@ UUID-con-gsm3-REPLACED-REPLACED-REPL:gsm
 UUID-con-xx1-REPLACED-REPLACED-REPLA:802-3-ethernet
 
 <<<
-size: 3128
+size: 3178
 location: src/tests/client/test-client.py:test_003()/130
 cmd: $NMCLI --terse --color yes con s ethernet
 lang: C
 returncode: 0
-stdout: 2974 bytes
+stdout: 3024 bytes
 >>>
 connection.id:ethernet
 connection.uuid:UUID-ethernet-REPLACED-REPLACED-REPL
@@ -6620,6 +6688,7 @@ ipv4.dhcp-fqdn:
 ipv4.dhcp-hostname-flags:0x0
 ipv4.never-default:no
 ipv4.may-fail:yes
+ipv4.required-timeout:-1
 ipv4.dad-timeout:-1
 ipv4.dhcp-vendor-class-identifier:
 ipv4.dhcp-reject-servers:
@@ -6638,6 +6707,7 @@ ipv6.ignore-auto-routes:no
 ipv6.ignore-auto-dns:no
 ipv6.never-default:no
 ipv6.may-fail:yes
+ipv6.required-timeout:-1
 ipv6.ip6-privacy:-1
 ipv6.addr-gen-mode:stable-privacy
 ipv6.ra-timeout:0
@@ -6681,12 +6751,12 @@ GENERAL.ZONE:
 GENERAL.MASTER-PATH:
 
 <<<
-size: 3138
+size: 3188
 location: src/tests/client/test-client.py:test_003()/131
 cmd: $NMCLI --terse --color yes con s ethernet
 lang: pl_PL.UTF-8
 returncode: 0
-stdout: 2974 bytes
+stdout: 3024 bytes
 >>>
 connection.id:ethernet
 connection.uuid:UUID-ethernet-REPLACED-REPLACED-REPL
@@ -6749,6 +6819,7 @@ ipv4.dhcp-fqdn:
 ipv4.dhcp-hostname-flags:0x0
 ipv4.never-default:no
 ipv4.may-fail:yes
+ipv4.required-timeout:-1
 ipv4.dad-timeout:-1
 ipv4.dhcp-vendor-class-identifier:
 ipv4.dhcp-reject-servers:
@@ -6767,6 +6838,7 @@ ipv6.ignore-auto-routes:no
 ipv6.ignore-auto-dns:no
 ipv6.never-default:no
 ipv6.may-fail:yes
+ipv6.required-timeout:-1
 ipv6.ip6-privacy:-1
 ipv6.addr-gen-mode:stable-privacy
 ipv6.ra-timeout:0
@@ -6810,12 +6882,12 @@ GENERAL.ZONE:
 GENERAL.MASTER-PATH:
 
 <<<
-size: 2778
+size: 2828
 location: src/tests/client/test-client.py:test_003()/132
 cmd: $NMCLI --terse --color yes c s /org/freedesktop/NetworkManager/ActiveConnection/1
 lang: C
 returncode: 0
-stdout: 2584 bytes
+stdout: 2634 bytes
 >>>
 connection.id:ethernet
 connection.uuid:UUID-ethernet-REPLACED-REPLACED-REPL
@@ -6878,6 +6950,7 @@ ipv4.dhcp-fqdn:
 ipv4.dhcp-hostname-flags:0x0
 ipv4.never-default:no
 ipv4.may-fail:yes
+ipv4.required-timeout:-1
 ipv4.dad-timeout:-1
 ipv4.dhcp-vendor-class-identifier:
 ipv4.dhcp-reject-servers:
@@ -6896,6 +6969,7 @@ ipv6.ignore-auto-routes:no
 ipv6.ignore-auto-dns:no
 ipv6.never-default:no
 ipv6.may-fail:yes
+ipv6.required-timeout:-1
 ipv6.ip6-privacy:-1
 ipv6.addr-gen-mode:stable-privacy
 ipv6.ra-timeout:0
@@ -6925,12 +6999,12 @@ GENERAL.ZONE:
 GENERAL.MASTER-PATH:
 
 <<<
-size: 2788
+size: 2838
 location: src/tests/client/test-client.py:test_003()/133
 cmd: $NMCLI --terse --color yes c s /org/freedesktop/NetworkManager/ActiveConnection/1
 lang: pl_PL.UTF-8
 returncode: 0
-stdout: 2584 bytes
+stdout: 2634 bytes
 >>>
 connection.id:ethernet
 connection.uuid:UUID-ethernet-REPLACED-REPLACED-REPL
@@ -6993,6 +7067,7 @@ ipv4.dhcp-fqdn:
 ipv4.dhcp-hostname-flags:0x0
 ipv4.never-default:no
 ipv4.may-fail:yes
+ipv4.required-timeout:-1
 ipv4.dad-timeout:-1
 ipv4.dhcp-vendor-class-identifier:
 ipv4.dhcp-reject-servers:
@@ -7011,6 +7086,7 @@ ipv6.ignore-auto-routes:no
 ipv6.ignore-auto-dns:no
 ipv6.never-default:no
 ipv6.may-fail:yes
+ipv6.required-timeout:-1
 ipv6.ip6-privacy:-1
 ipv6.addr-gen-mode:stable-privacy
 ipv6.ra-timeout:0
@@ -7250,12 +7326,12 @@ UUID-con-gsm3-REPLACED-REPLACED-REPL  gsm
 UUID-con-xx1-REPLACED-REPLACED-REPLA  ethernet 
 
 <<<
-size: 3893
+size: 3965
 location: src/tests/client/test-client.py:test_003()/140
 cmd: $NMCLI --mode tabular con s ethernet
 lang: C
 returncode: 0
-stdout: 3744 bytes
+stdout: 3816 bytes
 >>>
 name        id        uuid                                  stable-id  type            interface-name  autoconnect  autoconnect-priority  autoconnect-retries  multi-connect  auth-retries  timestamp  read-only  permissions  zone  master  slave-type  autoconnect-slaves  secondaries  gateway-ping-timeout  metered  lldp     mdns          llmnr         wait-device-timeout 
 connection  ethernet  UUID-ethernet-REPLACED-REPLACED-REPL  --         802-3-ethernet  --              yes          0                     -1 (default)         0 (default)    -1            0          no         --           --    --      --          -1 (default)        --           0                     unknown  default  -1 (default)  -1 (default)  -1                  
@@ -7263,11 +7339,11 @@ connection  ethernet  UUID-ethernet-REPLACED-REPLACED-REPL  --         802-3-eth
 name            port  speed  duplex  auto-negotiate  mac-address  cloned-mac-address  generate-mac-address-mask  mac-address-blacklist  mtu   s390-subchannels  s390-nettype  s390-options  wake-on-lan  wake-on-lan-password  accept-all-mac-addresses 
 802-3-ethernet  --    0      --      no              --           --                  --                         --                     auto  --                --            --            default      --                    -1 (default)             
 
-name  method  dns  dns-search  dns-options  dns-priority  addresses  gateway  routes  route-metric  route-table  routing-rules  ignore-auto-routes  ignore-auto-dns  dhcp-client-id  dhcp-iaid  dhcp-timeout  dhcp-send-hostname  dhcp-hostname  dhcp-fqdn  dhcp-hostname-flags  never-default  may-fail  dad-timeout   dhcp-vendor-class-identifier  dhcp-reject-servers 
-ipv4  auto    --   --          --           0             --         --       --      -1            0 (unspec)   --             no                  no               --              --         0 (default)   yes                 --             --         0x0 (none)           no             yes       -1 (default)  --                            --                  
+name  method  dns  dns-search  dns-options  dns-priority  addresses  gateway  routes  route-metric  route-table  routing-rules  ignore-auto-routes  ignore-auto-dns  dhcp-client-id  dhcp-iaid  dhcp-timeout  dhcp-send-hostname  dhcp-hostname  dhcp-fqdn  dhcp-hostname-flags  never-default  may-fail  required-timeout  dad-timeout   dhcp-vendor-class-identifier  dhcp-reject-servers 
+ipv4  auto    --   --          --           0             --         --       --      -1            0 (unspec)   --             no                  no               --              --         0 (default)   yes                 --             --         0x0 (none)           no             yes       -1 (default)      -1 (default)  --                            --                  
 
-name  method  dns  dns-search  dns-options  dns-priority  addresses  gateway  routes  route-metric  route-table  routing-rules  ignore-auto-routes  ignore-auto-dns  never-default  may-fail  ip6-privacy   addr-gen-mode   ra-timeout   dhcp-duid  dhcp-iaid  dhcp-timeout  dhcp-send-hostname  dhcp-hostname  dhcp-hostname-flags  token 
-ipv6  auto    --   --          --           0             --         --       --      -1            0 (unspec)   --             no                  no               no             yes       -1 (unknown)  stable-privacy  0 (default)  --         --         0 (default)   yes                 --             0x0 (none)           --    
+name  method  dns  dns-search  dns-options  dns-priority  addresses  gateway  routes  route-metric  route-table  routing-rules  ignore-auto-routes  ignore-auto-dns  never-default  may-fail  required-timeout  ip6-privacy   addr-gen-mode   ra-timeout   dhcp-duid  dhcp-iaid  dhcp-timeout  dhcp-send-hostname  dhcp-hostname  dhcp-hostname-flags  token 
+ipv6  auto    --   --          --           0             --         --       --      -1            0 (unspec)   --             no                  no               no             yes       -1 (default)      -1 (unknown)  stable-privacy  0 (default)  --         --         0 (default)   yes                 --             0x0 (none)           --    
 
 name   method  browser-only  pac-url  pac-script 
 proxy  none    no            --       --         
@@ -7281,12 +7357,12 @@ GENERAL  ethernet  UUID-ethernet-REPLACED-REPLACED-REPL  eth0     eth0      deac
 
 
 <<<
-size: 3927
+size: 3999
 location: src/tests/client/test-client.py:test_003()/141
 cmd: $NMCLI --mode tabular con s ethernet
 lang: pl_PL.UTF-8
 returncode: 0
-stdout: 3768 bytes
+stdout: 3840 bytes
 >>>
 name        id        uuid                                  stable-id  type            interface-name  autoconnect  autoconnect-priority  autoconnect-retries  multi-connect  auth-retries  timestamp  read-only  permissions  zone  master  slave-type  autoconnect-slaves  secondaries  gateway-ping-timeout  metered   lldp     mdns          llmnr         wait-device-timeout 
 connection  ethernet  UUID-ethernet-REPLACED-REPLACED-REPL  --         802-3-ethernet  --              tak          0                     -1 (default)         0 (default)    -1            0          nie        --           --    --      --          -1 (default)        --           0                     nieznane  default  -1 (default)  -1 (default)  -1                  
@@ -7294,11 +7370,11 @@ connection  ethernet  UUID-ethernet-REPLACED-REPLACED-REPL  --         802-3-eth
 name            port  speed  duplex  auto-negotiate  mac-address  cloned-mac-address  generate-mac-address-mask  mac-address-blacklist  mtu           s390-subchannels  s390-nettype  s390-options  wake-on-lan  wake-on-lan-password  accept-all-mac-addresses 
 802-3-ethernet  --    0      --      nie             --           --                  --                         --                     automatyczne  --                --            --            default      --                    -1 (default)             
 
-name  method  dns  dns-search  dns-options  dns-priority  addresses  gateway  routes  route-metric  route-table  routing-rules  ignore-auto-routes  ignore-auto-dns  dhcp-client-id  dhcp-iaid  dhcp-timeout  dhcp-send-hostname  dhcp-hostname  dhcp-fqdn  dhcp-hostname-flags  never-default  may-fail  dad-timeout   dhcp-vendor-class-identifier  dhcp-reject-servers 
-ipv4  auto    --   --          --           0             --         --       --      -1            0 (unspec)   --             nie                 nie              --              --         0 (default)   tak                 --             --         0x0 (none)           nie            tak       -1 (default)  --                            --                  
+name  method  dns  dns-search  dns-options  dns-priority  addresses  gateway  routes  route-metric  route-table  routing-rules  ignore-auto-routes  ignore-auto-dns  dhcp-client-id  dhcp-iaid  dhcp-timeout  dhcp-send-hostname  dhcp-hostname  dhcp-fqdn  dhcp-hostname-flags  never-default  may-fail  required-timeout  dad-timeout   dhcp-vendor-class-identifier  dhcp-reject-servers 
+ipv4  auto    --   --          --           0             --         --       --      -1            0 (unspec)   --             nie                 nie              --              --         0 (default)   tak                 --             --         0x0 (none)           nie            tak       -1 (default)      -1 (default)  --                            --                  
 
-name  method  dns  dns-search  dns-options  dns-priority  addresses  gateway  routes  route-metric  route-table  routing-rules  ignore-auto-routes  ignore-auto-dns  never-default  may-fail  ip6-privacy   addr-gen-mode   ra-timeout   dhcp-duid  dhcp-iaid  dhcp-timeout  dhcp-send-hostname  dhcp-hostname  dhcp-hostname-flags  token 
-ipv6  auto    --   --          --           0             --         --       --      -1            0 (unspec)   --             nie                 nie              nie            tak       -1 (unknown)  stable-privacy  0 (default)  --         --         0 (default)   tak                 --             0x0 (none)           --    
+name  method  dns  dns-search  dns-options  dns-priority  addresses  gateway  routes  route-metric  route-table  routing-rules  ignore-auto-routes  ignore-auto-dns  never-default  may-fail  required-timeout  ip6-privacy   addr-gen-mode   ra-timeout   dhcp-duid  dhcp-iaid  dhcp-timeout  dhcp-send-hostname  dhcp-hostname  dhcp-hostname-flags  token 
+ipv6  auto    --   --          --           0             --         --       --      -1            0 (unspec)   --             nie                 nie              nie            tak       -1 (default)      -1 (unknown)  stable-privacy  0 (default)  --         --         0 (default)   tak                 --             0x0 (none)           --    
 
 name   method  browser-only  pac-url  pac-script 
 proxy  none    nie           --       --         
@@ -7312,12 +7388,12 @@ GENERAL  ethernet  UUID-ethernet-REPLACED-REPLACED-REPL  eth0     eth0      deza
 
 
 <<<
-size: 3431
+size: 3503
 location: src/tests/client/test-client.py:test_003()/142
 cmd: $NMCLI --mode tabular c s /org/freedesktop/NetworkManager/ActiveConnection/1
 lang: C
 returncode: 0
-stdout: 3242 bytes
+stdout: 3314 bytes
 >>>
 name        id        uuid                                  stable-id  type            interface-name  autoconnect  autoconnect-priority  autoconnect-retries  multi-connect  auth-retries  timestamp  read-only  permissions  zone  master  slave-type  autoconnect-slaves  secondaries  gateway-ping-timeout  metered  lldp     mdns          llmnr         wait-device-timeout 
 connection  ethernet  UUID-ethernet-REPLACED-REPLACED-REPL  --         802-3-ethernet  --              yes          0                     -1 (default)         0 (default)    -1            0          no         --           --    --      --          -1 (default)        --           0                     unknown  default  -1 (default)  -1 (default)  -1                  
@@ -7325,11 +7401,11 @@ connection  ethernet  UUID-ethernet-REPLACED-REPLACED-REPL  --         802-3-eth
 name            port  speed  duplex  auto-negotiate  mac-address  cloned-mac-address  generate-mac-address-mask  mac-address-blacklist  mtu   s390-subchannels  s390-nettype  s390-options  wake-on-lan  wake-on-lan-password  accept-all-mac-addresses 
 802-3-ethernet  --    0      --      no              --           --                  --                         --                     auto  --                --            --            default      --                    -1 (default)             
 
-name  method  dns  dns-search  dns-options  dns-priority  addresses  gateway  routes  route-metric  route-table  routing-rules  ignore-auto-routes  ignore-auto-dns  dhcp-client-id  dhcp-iaid  dhcp-timeout  dhcp-send-hostname  dhcp-hostname  dhcp-fqdn  dhcp-hostname-flags  never-default  may-fail  dad-timeout   dhcp-vendor-class-identifier  dhcp-reject-servers 
-ipv4  auto    --   --          --           0             --         --       --      -1            0 (unspec)   --             no                  no               --              --         0 (default)   yes                 --             --         0x0 (none)           no             yes       -1 (default)  --                            --                  
+name  method  dns  dns-search  dns-options  dns-priority  addresses  gateway  routes  route-metric  route-table  routing-rules  ignore-auto-routes  ignore-auto-dns  dhcp-client-id  dhcp-iaid  dhcp-timeout  dhcp-send-hostname  dhcp-hostname  dhcp-fqdn  dhcp-hostname-flags  never-default  may-fail  required-timeout  dad-timeout   dhcp-vendor-class-identifier  dhcp-reject-servers 
+ipv4  auto    --   --          --           0             --         --       --      -1            0 (unspec)   --             no                  no               --              --         0 (default)   yes                 --             --         0x0 (none)           no             yes       -1 (default)      -1 (default)  --                            --                  
 
-name  method  dns  dns-search  dns-options  dns-priority  addresses  gateway  routes  route-metric  route-table  routing-rules  ignore-auto-routes  ignore-auto-dns  never-default  may-fail  ip6-privacy   addr-gen-mode   ra-timeout   dhcp-duid  dhcp-iaid  dhcp-timeout  dhcp-send-hostname  dhcp-hostname  dhcp-hostname-flags  token 
-ipv6  auto    --   --          --           0             --         --       --      -1            0 (unspec)   --             no                  no               no             yes       -1 (unknown)  stable-privacy  0 (default)  --         --         0 (default)   yes                 --             0x0 (none)           --    
+name  method  dns  dns-search  dns-options  dns-priority  addresses  gateway  routes  route-metric  route-table  routing-rules  ignore-auto-routes  ignore-auto-dns  never-default  may-fail  required-timeout  ip6-privacy   addr-gen-mode   ra-timeout   dhcp-duid  dhcp-iaid  dhcp-timeout  dhcp-send-hostname  dhcp-hostname  dhcp-hostname-flags  token 
+ipv6  auto    --   --          --           0             --         --       --      -1            0 (unspec)   --             no                  no               no             yes       -1 (default)      -1 (unknown)  stable-privacy  0 (default)  --         --         0 (default)   yes                 --             0x0 (none)           --    
 
 name   method  browser-only  pac-url  pac-script 
 proxy  none    no            --       --         
@@ -7339,12 +7415,12 @@ GENERAL  ethernet  UUID-ethernet-REPLACED-REPLACED-REPL  eth0     eth0      deac
 
 
 <<<
-size: 3463
+size: 3535
 location: src/tests/client/test-client.py:test_003()/143
 cmd: $NMCLI --mode tabular c s /org/freedesktop/NetworkManager/ActiveConnection/1
 lang: pl_PL.UTF-8
 returncode: 0
-stdout: 3264 bytes
+stdout: 3336 bytes
 >>>
 name        id        uuid                                  stable-id  type            interface-name  autoconnect  autoconnect-priority  autoconnect-retries  multi-connect  auth-retries  timestamp  read-only  permissions  zone  master  slave-type  autoconnect-slaves  secondaries  gateway-ping-timeout  metered   lldp     mdns          llmnr         wait-device-timeout 
 connection  ethernet  UUID-ethernet-REPLACED-REPLACED-REPL  --         802-3-ethernet  --              tak          0                     -1 (default)         0 (default)    -1            0          nie        --           --    --      --          -1 (default)        --           0                     nieznane  default  -1 (default)  -1 (default)  -1                  
@@ -7352,11 +7428,11 @@ connection  ethernet  UUID-ethernet-REPLACED-REPLACED-REPL  --         802-3-eth
 name            port  speed  duplex  auto-negotiate  mac-address  cloned-mac-address  generate-mac-address-mask  mac-address-blacklist  mtu           s390-subchannels  s390-nettype  s390-options  wake-on-lan  wake-on-lan-password  accept-all-mac-addresses 
 802-3-ethernet  --    0      --      nie             --           --                  --                         --                     automatyczne  --                --            --            default      --                    -1 (default)             
 
-name  method  dns  dns-search  dns-options  dns-priority  addresses  gateway  routes  route-metric  route-table  routing-rules  ignore-auto-routes  ignore-auto-dns  dhcp-client-id  dhcp-iaid  dhcp-timeout  dhcp-send-hostname  dhcp-hostname  dhcp-fqdn  dhcp-hostname-flags  never-default  may-fail  dad-timeout   dhcp-vendor-class-identifier  dhcp-reject-servers 
-ipv4  auto    --   --          --           0             --         --       --      -1            0 (unspec)   --             nie                 nie              --              --         0 (default)   tak                 --             --         0x0 (none)           nie            tak       -1 (default)  --                            --                  
+name  method  dns  dns-search  dns-options  dns-priority  addresses  gateway  routes  route-metric  route-table  routing-rules  ignore-auto-routes  ignore-auto-dns  dhcp-client-id  dhcp-iaid  dhcp-timeout  dhcp-send-hostname  dhcp-hostname  dhcp-fqdn  dhcp-hostname-flags  never-default  may-fail  required-timeout  dad-timeout   dhcp-vendor-class-identifier  dhcp-reject-servers 
+ipv4  auto    --   --          --           0             --         --       --      -1            0 (unspec)   --             nie                 nie              --              --         0 (default)   tak                 --             --         0x0 (none)           nie            tak       -1 (default)      -1 (default)  --                            --                  
 
-name  method  dns  dns-search  dns-options  dns-priority  addresses  gateway  routes  route-metric  route-table  routing-rules  ignore-auto-routes  ignore-auto-dns  never-default  may-fail  ip6-privacy   addr-gen-mode   ra-timeout   dhcp-duid  dhcp-iaid  dhcp-timeout  dhcp-send-hostname  dhcp-hostname  dhcp-hostname-flags  token 
-ipv6  auto    --   --          --           0             --         --       --      -1            0 (unspec)   --             nie                 nie              nie            tak       -1 (unknown)  stable-privacy  0 (default)  --         --         0 (default)   tak                 --             0x0 (none)           --    
+name  method  dns  dns-search  dns-options  dns-priority  addresses  gateway  routes  route-metric  route-table  routing-rules  ignore-auto-routes  ignore-auto-dns  never-default  may-fail  required-timeout  ip6-privacy   addr-gen-mode   ra-timeout   dhcp-duid  dhcp-iaid  dhcp-timeout  dhcp-send-hostname  dhcp-hostname  dhcp-hostname-flags  token 
+ipv6  auto    --   --          --           0             --         --       --      -1            0 (unspec)   --             nie                 nie              nie            tak       -1 (default)      -1 (unknown)  stable-privacy  0 (default)  --         --         0 (default)   tak                 --             0x0 (none)           --    
 
 name   method  browser-only  pac-url  pac-script 
 proxy  none    nie           --       --         
@@ -7366,12 +7442,12 @@ GENERAL  ethernet  UUID-ethernet-REPLACED-REPLACED-REPL  eth0     eth0      deza
 
 
 <<<
-size: 3167
+size: 3207
 location: src/tests/client/test-client.py:test_003()/144
 cmd: $NMCLI --mode tabular -f all dev show eth0
 lang: C
 returncode: 0
-stdout: 3012 bytes
+stdout: 3052 bytes
 >>>
 NAME     DEVICE  TYPE      NM-TYPE           DBUS-PATH                                  VENDOR  PRODUCT  DRIVER   DRIVER-VERSION  FIRMWARE-VERSION  HWADDR             MTU  STATE            REASON               IP4-CONNECTIVITY  IP6-CONNECTIVITY  UDI                        PATH  IP-IFACE  IS-SOFTWARE  NM-MANAGED  AUTOCONNECT  FIRMWARE-MISSING  NM-PLUGIN-MISSING  PHYS-PORT-ID  CONNECTION  CON-UUID                              CON-PATH                                            METERED 
 GENERAL  eth0    ethernet  NMDeviceEthernet  /org/freedesktop/NetworkManager/Devices/1  --      --       virtual  --              --                C0:61:AE:26:4D:D7  0    100 (connected)  0 (No reason given)  0 (unknown)       0 (unknown)       /sys/devices/virtual/eth0  --    eth0      no           yes         yes          no                no                 --            ethernet    UUID-ethernet-REPLACED-REPLACED-REPL  /org/freedesktop/NetworkManager/ActiveConnection/1  unknown 
@@ -7385,14 +7461,14 @@ INTERFACE-FLAGS  yes  yes       no       no
 NAME              CARRIER  S390-SUBCHANNELS 
 WIRED-PROPERTIES  on       --               
 
-GROUP  ADDRESS           GATEWAY  ROUTE                                                                                                         DNS              DOMAIN          WINS                           
-IP4    192.168.6.238/29  --       dst = 192.168.58.133/31, nh = 192.168.50.116, mt = 3130348792 | dst = 192.168.155.50/19, nh = 192.168.127.64  192.168.213.113  sear4.foo4.bar  192.168.156.115 | 192.168.8.33 
+GROUP  ADDRESS           GATEWAY  ROUTE                                                                                                         DNS              DOMAIN          SEARCHES  WINS                           
+IP4    192.168.6.238/29  --       dst = 192.168.58.133/31, nh = 192.168.50.116, mt = 3130348792 | dst = 192.168.155.50/19, nh = 192.168.127.64  192.168.213.113  sear4.foo4.bar  --        192.168.156.115 | 192.168.8.33 
 
 GROUP  OPTION 
 DHCP4  --     
 
-GROUP  ADDRESS                                                                                          GATEWAY                      ROUTE                                                            DNS                                                                                     DOMAIN                        
-IP6    2001:a::29c0:62b9:2e01:30a/69 | 2001:a::6433:6420:34f9:3801/115 | 2001:a::8191:ed6b:8ce:b60/103  2001:a::2b50:64d1:9a91:23b4  dst = 2001:a::5ecb:f5ee:fb96:856c/100, nh = ::, mt = 4249082794  2001:a::1323:9a78:2b82:d16b | 2001:a::4e1:24e6:b8c1:91bb | 2001:a::bd96:3bed:fbd6:19c5  sear6.fo.x.y | sear6.foo4.bar 
+GROUP  ADDRESS                                                                                          GATEWAY                      ROUTE                                                            DNS                                                                                     DOMAIN                         SEARCHES 
+IP6    2001:a::29c0:62b9:2e01:30a/69 | 2001:a::6433:6420:34f9:3801/115 | 2001:a::8191:ed6b:8ce:b60/103  2001:a::2b50:64d1:9a91:23b4  dst = 2001:a::5ecb:f5ee:fb96:856c/100, nh = ::, mt = 4249082794  2001:a::1323:9a78:2b82:d16b | 2001:a::4e1:24e6:b8c1:91bb | 2001:a::bd96:3bed:fbd6:19c5  sear6.fo.x.y | sear6.foo4.bar  --       
 
 GROUP  OPTION                                                                                    
 DHCP6  dhcp-6-opt-1 = val-1 | dhcp-6-opt-5 = val-5 | dhcp-6-opt-6 = val-6 | dhcp-6-opt-8 = val-8 
@@ -7401,12 +7477,12 @@ NAME         AVAILABLE-CONNECTION-PATHS                                   AVAILA
 CONNECTIONS  /org/freedesktop/NetworkManager/Settings/Connection/{1,2,6}  5fcfd6d7-1e63-3332-8826-a7eda103792d | con-1 | UUID-con-xx1-REPLACED-REPLACED-REPLA | con-xx1 | UUID-ethernet-REPLACED-REPLACED-REPL | ethernet 
 
 <<<
-size: 3197
+size: 3237
 location: src/tests/client/test-client.py:test_003()/145
 cmd: $NMCLI --mode tabular -f all dev show eth0
 lang: pl_PL.UTF-8
 returncode: 0
-stdout: 3032 bytes
+stdout: 3072 bytes
 >>>
 NAME     DEVICE  TYPE      NM-TYPE           DBUS-PATH                                  VENDOR  PRODUCT  DRIVER   DRIVER-VERSION  FIRMWARE-VERSION  HWADDR             MTU  STATE            REASON                    IP4-CONNECTIVITY  IP6-CONNECTIVITY  UDI                        PATH  IP-IFACE  IS-SOFTWARE  NM-MANAGED  AUTOCONNECT  FIRMWARE-MISSING  NM-PLUGIN-MISSING  PHYS-PORT-ID  CONNECTION  CON-UUID                              CON-PATH                                            METERED  
 GENERAL  eth0    ethernet  NMDeviceEthernet  /org/freedesktop/NetworkManager/Devices/1  --      --       virtual  --              --                C0:61:AE:26:4D:D7  0    100 (połączono)  0 (Nie podano przyczyny)  0 (nieznane)      0 (nieznane)      /sys/devices/virtual/eth0  --    eth0      nie          tak         tak          nie               nie                --            ethernet    UUID-ethernet-REPLACED-REPLACED-REPL  /org/freedesktop/NetworkManager/ActiveConnection/1  nieznane 
@@ -7420,14 +7496,14 @@ INTERFACE-FLAGS  tak  tak       nie      nie
 NAME              CARRIER   S390-SUBCHANNELS 
 WIRED-PROPERTIES  włączone  --               
 
-GROUP  ADDRESS           GATEWAY  ROUTE                                                                                                         DNS              DOMAIN          WINS                           
-IP4    192.168.6.238/29  --       dst = 192.168.58.133/31, nh = 192.168.50.116, mt = 3130348792 | dst = 192.168.155.50/19, nh = 192.168.127.64  192.168.213.113  sear4.foo4.bar  192.168.156.115 | 192.168.8.33 
+GROUP  ADDRESS           GATEWAY  ROUTE                                                                                                         DNS              DOMAIN          SEARCHES  WINS                           
+IP4    192.168.6.238/29  --       dst = 192.168.58.133/31, nh = 192.168.50.116, mt = 3130348792 | dst = 192.168.155.50/19, nh = 192.168.127.64  192.168.213.113  sear4.foo4.bar  --        192.168.156.115 | 192.168.8.33 
 
 GROUP  OPTION 
 DHCP4  --     
 
-GROUP  ADDRESS                                                                                          GATEWAY                      ROUTE                                                            DNS                                                                                     DOMAIN                        
-IP6    2001:a::29c0:62b9:2e01:30a/69 | 2001:a::6433:6420:34f9:3801/115 | 2001:a::8191:ed6b:8ce:b60/103  2001:a::2b50:64d1:9a91:23b4  dst = 2001:a::5ecb:f5ee:fb96:856c/100, nh = ::, mt = 4249082794  2001:a::1323:9a78:2b82:d16b | 2001:a::4e1:24e6:b8c1:91bb | 2001:a::bd96:3bed:fbd6:19c5  sear6.fo.x.y | sear6.foo4.bar 
+GROUP  ADDRESS                                                                                          GATEWAY                      ROUTE                                                            DNS                                                                                     DOMAIN                         SEARCHES 
+IP6    2001:a::29c0:62b9:2e01:30a/69 | 2001:a::6433:6420:34f9:3801/115 | 2001:a::8191:ed6b:8ce:b60/103  2001:a::2b50:64d1:9a91:23b4  dst = 2001:a::5ecb:f5ee:fb96:856c/100, nh = ::, mt = 4249082794  2001:a::1323:9a78:2b82:d16b | 2001:a::4e1:24e6:b8c1:91bb | 2001:a::bd96:3bed:fbd6:19c5  sear6.fo.x.y | sear6.foo4.bar  --       
 
 GROUP  OPTION                                                                                    
 DHCP6  dhcp-6-opt-1 = val-1 | dhcp-6-opt-5 = val-5 | dhcp-6-opt-6 = val-6 | dhcp-6-opt-8 = val-8 
@@ -7502,12 +7578,12 @@ UUID-con-gsm3-REPLACED-REPLACED-REPL  gsm
 UUID-con-xx1-REPLACED-REPLACED-REPLA  ethernet 
 
 <<<
-size: 3905
+size: 3977
 location: src/tests/client/test-client.py:test_003()/150
 cmd: $NMCLI --mode tabular --color yes con s ethernet
 lang: C
 returncode: 0
-stdout: 3744 bytes
+stdout: 3816 bytes
 >>>
 name        id        uuid                                  stable-id  type            interface-name  autoconnect  autoconnect-priority  autoconnect-retries  multi-connect  auth-retries  timestamp  read-only  permissions  zone  master  slave-type  autoconnect-slaves  secondaries  gateway-ping-timeout  metered  lldp     mdns          llmnr         wait-device-timeout 
 connection  ethernet  UUID-ethernet-REPLACED-REPLACED-REPL  --         802-3-ethernet  --              yes          0                     -1 (default)         0 (default)    -1            0          no         --           --    --      --          -1 (default)        --           0                     unknown  default  -1 (default)  -1 (default)  -1                  
@@ -7515,11 +7591,11 @@ connection  ethernet  UUID-ethernet-REPLACED-REPLACED-REPL  --         802-3-eth
 name            port  speed  duplex  auto-negotiate  mac-address  cloned-mac-address  generate-mac-address-mask  mac-address-blacklist  mtu   s390-subchannels  s390-nettype  s390-options  wake-on-lan  wake-on-lan-password  accept-all-mac-addresses 
 802-3-ethernet  --    0      --      no              --           --                  --                         --                     auto  --                --            --            default      --                    -1 (default)             
 
-name  method  dns  dns-search  dns-options  dns-priority  addresses  gateway  routes  route-metric  route-table  routing-rules  ignore-auto-routes  ignore-auto-dns  dhcp-client-id  dhcp-iaid  dhcp-timeout  dhcp-send-hostname  dhcp-hostname  dhcp-fqdn  dhcp-hostname-flags  never-default  may-fail  dad-timeout   dhcp-vendor-class-identifier  dhcp-reject-servers 
-ipv4  auto    --   --          --           0             --         --       --      -1            0 (unspec)   --             no                  no               --              --         0 (default)   yes                 --             --         0x0 (none)           no             yes       -1 (default)  --                            --                  
+name  method  dns  dns-search  dns-options  dns-priority  addresses  gateway  routes  route-metric  route-table  routing-rules  ignore-auto-routes  ignore-auto-dns  dhcp-client-id  dhcp-iaid  dhcp-timeout  dhcp-send-hostname  dhcp-hostname  dhcp-fqdn  dhcp-hostname-flags  never-default  may-fail  required-timeout  dad-timeout   dhcp-vendor-class-identifier  dhcp-reject-servers 
+ipv4  auto    --   --          --           0             --         --       --      -1            0 (unspec)   --             no                  no               --              --         0 (default)   yes                 --             --         0x0 (none)           no             yes       -1 (default)      -1 (default)  --                            --                  
 
-name  method  dns  dns-search  dns-options  dns-priority  addresses  gateway  routes  route-metric  route-table  routing-rules  ignore-auto-routes  ignore-auto-dns  never-default  may-fail  ip6-privacy   addr-gen-mode   ra-timeout   dhcp-duid  dhcp-iaid  dhcp-timeout  dhcp-send-hostname  dhcp-hostname  dhcp-hostname-flags  token 
-ipv6  auto    --   --          --           0             --         --       --      -1            0 (unspec)   --             no                  no               no             yes       -1 (unknown)  stable-privacy  0 (default)  --         --         0 (default)   yes                 --             0x0 (none)           --    
+name  method  dns  dns-search  dns-options  dns-priority  addresses  gateway  routes  route-metric  route-table  routing-rules  ignore-auto-routes  ignore-auto-dns  never-default  may-fail  required-timeout  ip6-privacy   addr-gen-mode   ra-timeout   dhcp-duid  dhcp-iaid  dhcp-timeout  dhcp-send-hostname  dhcp-hostname  dhcp-hostname-flags  token 
+ipv6  auto    --   --          --           0             --         --       --      -1            0 (unspec)   --             no                  no               no             yes       -1 (default)      -1 (unknown)  stable-privacy  0 (default)  --         --         0 (default)   yes                 --             0x0 (none)           --    
 
 name   method  browser-only  pac-url  pac-script 
 proxy  none    no            --       --         
@@ -7533,12 +7609,12 @@ GENERAL  ethernet  UUID-ethernet-REPLACED-REPLACED-REPL  eth0     eth0      deac
 
 
 <<<
-size: 3939
+size: 4011
 location: src/tests/client/test-client.py:test_003()/151
 cmd: $NMCLI --mode tabular --color yes con s ethernet
 lang: pl_PL.UTF-8
 returncode: 0
-stdout: 3768 bytes
+stdout: 3840 bytes
 >>>
 name        id        uuid                                  stable-id  type            interface-name  autoconnect  autoconnect-priority  autoconnect-retries  multi-connect  auth-retries  timestamp  read-only  permissions  zone  master  slave-type  autoconnect-slaves  secondaries  gateway-ping-timeout  metered   lldp     mdns          llmnr         wait-device-timeout 
 connection  ethernet  UUID-ethernet-REPLACED-REPLACED-REPL  --         802-3-ethernet  --              tak          0                     -1 (default)         0 (default)    -1            0          nie        --           --    --      --          -1 (default)        --           0                     nieznane  default  -1 (default)  -1 (default)  -1                  
@@ -7546,11 +7622,11 @@ connection  ethernet  UUID-ethernet-REPLACED-REPLACED-REPL  --         802-3-eth
 name            port  speed  duplex  auto-negotiate  mac-address  cloned-mac-address  generate-mac-address-mask  mac-address-blacklist  mtu           s390-subchannels  s390-nettype  s390-options  wake-on-lan  wake-on-lan-password  accept-all-mac-addresses 
 802-3-ethernet  --    0      --      nie             --           --                  --                         --                     automatyczne  --                --            --            default      --                    -1 (default)             
 
-name  method  dns  dns-search  dns-options  dns-priority  addresses  gateway  routes  route-metric  route-table  routing-rules  ignore-auto-routes  ignore-auto-dns  dhcp-client-id  dhcp-iaid  dhcp-timeout  dhcp-send-hostname  dhcp-hostname  dhcp-fqdn  dhcp-hostname-flags  never-default  may-fail  dad-timeout   dhcp-vendor-class-identifier  dhcp-reject-servers 
-ipv4  auto    --   --          --           0             --         --       --      -1            0 (unspec)   --             nie                 nie              --              --         0 (default)   tak                 --             --         0x0 (none)           nie            tak       -1 (default)  --                            --                  
+name  method  dns  dns-search  dns-options  dns-priority  addresses  gateway  routes  route-metric  route-table  routing-rules  ignore-auto-routes  ignore-auto-dns  dhcp-client-id  dhcp-iaid  dhcp-timeout  dhcp-send-hostname  dhcp-hostname  dhcp-fqdn  dhcp-hostname-flags  never-default  may-fail  required-timeout  dad-timeout   dhcp-vendor-class-identifier  dhcp-reject-servers 
+ipv4  auto    --   --          --           0             --         --       --      -1            0 (unspec)   --             nie                 nie              --              --         0 (default)   tak                 --             --         0x0 (none)           nie            tak       -1 (default)      -1 (default)  --                            --                  
 
-name  method  dns  dns-search  dns-options  dns-priority  addresses  gateway  routes  route-metric  route-table  routing-rules  ignore-auto-routes  ignore-auto-dns  never-default  may-fail  ip6-privacy   addr-gen-mode   ra-timeout   dhcp-duid  dhcp-iaid  dhcp-timeout  dhcp-send-hostname  dhcp-hostname  dhcp-hostname-flags  token 
-ipv6  auto    --   --          --           0             --         --       --      -1            0 (unspec)   --             nie                 nie              nie            tak       -1 (unknown)  stable-privacy  0 (default)  --         --         0 (default)   tak                 --             0x0 (none)           --    
+name  method  dns  dns-search  dns-options  dns-priority  addresses  gateway  routes  route-metric  route-table  routing-rules  ignore-auto-routes  ignore-auto-dns  never-default  may-fail  required-timeout  ip6-privacy   addr-gen-mode   ra-timeout   dhcp-duid  dhcp-iaid  dhcp-timeout  dhcp-send-hostname  dhcp-hostname  dhcp-hostname-flags  token 
+ipv6  auto    --   --          --           0             --         --       --      -1            0 (unspec)   --             nie                 nie              nie            tak       -1 (default)      -1 (unknown)  stable-privacy  0 (default)  --         --         0 (default)   tak                 --             0x0 (none)           --    
 
 name   method  browser-only  pac-url  pac-script 
 proxy  none    nie           --       --         
@@ -7564,12 +7640,12 @@ GENERAL  ethernet  UUID-ethernet-REPLACED-REPLACED-REPL  eth0     eth0      deza
 
 
 <<<
-size: 3443
+size: 3515
 location: src/tests/client/test-client.py:test_003()/152
 cmd: $NMCLI --mode tabular --color yes c s /org/freedesktop/NetworkManager/ActiveConnection/1
 lang: C
 returncode: 0
-stdout: 3242 bytes
+stdout: 3314 bytes
 >>>
 name        id        uuid                                  stable-id  type            interface-name  autoconnect  autoconnect-priority  autoconnect-retries  multi-connect  auth-retries  timestamp  read-only  permissions  zone  master  slave-type  autoconnect-slaves  secondaries  gateway-ping-timeout  metered  lldp     mdns          llmnr         wait-device-timeout 
 connection  ethernet  UUID-ethernet-REPLACED-REPLACED-REPL  --         802-3-ethernet  --              yes          0                     -1 (default)         0 (default)    -1            0          no         --           --    --      --          -1 (default)        --           0                     unknown  default  -1 (default)  -1 (default)  -1                  
@@ -7577,11 +7653,11 @@ connection  ethernet  UUID-ethernet-REPLACED-REPLACED-REPL  --         802-3-eth
 name            port  speed  duplex  auto-negotiate  mac-address  cloned-mac-address  generate-mac-address-mask  mac-address-blacklist  mtu   s390-subchannels  s390-nettype  s390-options  wake-on-lan  wake-on-lan-password  accept-all-mac-addresses 
 802-3-ethernet  --    0      --      no              --           --                  --                         --                     auto  --                --            --            default      --                    -1 (default)             
 
-name  method  dns  dns-search  dns-options  dns-priority  addresses  gateway  routes  route-metric  route-table  routing-rules  ignore-auto-routes  ignore-auto-dns  dhcp-client-id  dhcp-iaid  dhcp-timeout  dhcp-send-hostname  dhcp-hostname  dhcp-fqdn  dhcp-hostname-flags  never-default  may-fail  dad-timeout   dhcp-vendor-class-identifier  dhcp-reject-servers 
-ipv4  auto    --   --          --           0             --         --       --      -1            0 (unspec)   --             no                  no               --              --         0 (default)   yes                 --             --         0x0 (none)           no             yes       -1 (default)  --                            --                  
+name  method  dns  dns-search  dns-options  dns-priority  addresses  gateway  routes  route-metric  route-table  routing-rules  ignore-auto-routes  ignore-auto-dns  dhcp-client-id  dhcp-iaid  dhcp-timeout  dhcp-send-hostname  dhcp-hostname  dhcp-fqdn  dhcp-hostname-flags  never-default  may-fail  required-timeout  dad-timeout   dhcp-vendor-class-identifier  dhcp-reject-servers 
+ipv4  auto    --   --          --           0             --         --       --      -1            0 (unspec)   --             no                  no               --              --         0 (default)   yes                 --             --         0x0 (none)           no             yes       -1 (default)      -1 (default)  --                            --                  
 
-name  method  dns  dns-search  dns-options  dns-priority  addresses  gateway  routes  route-metric  route-table  routing-rules  ignore-auto-routes  ignore-auto-dns  never-default  may-fail  ip6-privacy   addr-gen-mode   ra-timeout   dhcp-duid  dhcp-iaid  dhcp-timeout  dhcp-send-hostname  dhcp-hostname  dhcp-hostname-flags  token 
-ipv6  auto    --   --          --           0             --         --       --      -1            0 (unspec)   --             no                  no               no             yes       -1 (unknown)  stable-privacy  0 (default)  --         --         0 (default)   yes                 --             0x0 (none)           --    
+name  method  dns  dns-search  dns-options  dns-priority  addresses  gateway  routes  route-metric  route-table  routing-rules  ignore-auto-routes  ignore-auto-dns  never-default  may-fail  required-timeout  ip6-privacy   addr-gen-mode   ra-timeout   dhcp-duid  dhcp-iaid  dhcp-timeout  dhcp-send-hostname  dhcp-hostname  dhcp-hostname-flags  token 
+ipv6  auto    --   --          --           0             --         --       --      -1            0 (unspec)   --             no                  no               no             yes       -1 (default)      -1 (unknown)  stable-privacy  0 (default)  --         --         0 (default)   yes                 --             0x0 (none)           --    
 
 name   method  browser-only  pac-url  pac-script 
 proxy  none    no            --       --         
@@ -7591,12 +7667,12 @@ GENERAL  ethernet  UUID-ethernet-REPLACED-REPLACED-REPL  eth0     eth0      deac
 
 
 <<<
-size: 3475
+size: 3547
 location: src/tests/client/test-client.py:test_003()/153
 cmd: $NMCLI --mode tabular --color yes c s /org/freedesktop/NetworkManager/ActiveConnection/1
 lang: pl_PL.UTF-8
 returncode: 0
-stdout: 3264 bytes
+stdout: 3336 bytes
 >>>
 name        id        uuid                                  stable-id  type            interface-name  autoconnect  autoconnect-priority  autoconnect-retries  multi-connect  auth-retries  timestamp  read-only  permissions  zone  master  slave-type  autoconnect-slaves  secondaries  gateway-ping-timeout  metered   lldp     mdns          llmnr         wait-device-timeout 
 connection  ethernet  UUID-ethernet-REPLACED-REPLACED-REPL  --         802-3-ethernet  --              tak          0                     -1 (default)         0 (default)    -1            0          nie        --           --    --      --          -1 (default)        --           0                     nieznane  default  -1 (default)  -1 (default)  -1                  
@@ -7604,11 +7680,11 @@ connection  ethernet  UUID-ethernet-REPLACED-REPLACED-REPL  --         802-3-eth
 name            port  speed  duplex  auto-negotiate  mac-address  cloned-mac-address  generate-mac-address-mask  mac-address-blacklist  mtu           s390-subchannels  s390-nettype  s390-options  wake-on-lan  wake-on-lan-password  accept-all-mac-addresses 
 802-3-ethernet  --    0      --      nie             --           --                  --                         --                     automatyczne  --                --            --            default      --                    -1 (default)             
 
-name  method  dns  dns-search  dns-options  dns-priority  addresses  gateway  routes  route-metric  route-table  routing-rules  ignore-auto-routes  ignore-auto-dns  dhcp-client-id  dhcp-iaid  dhcp-timeout  dhcp-send-hostname  dhcp-hostname  dhcp-fqdn  dhcp-hostname-flags  never-default  may-fail  dad-timeout   dhcp-vendor-class-identifier  dhcp-reject-servers 
-ipv4  auto    --   --          --           0             --         --       --      -1            0 (unspec)   --             nie                 nie              --              --         0 (default)   tak                 --             --         0x0 (none)           nie            tak       -1 (default)  --                            --                  
+name  method  dns  dns-search  dns-options  dns-priority  addresses  gateway  routes  route-metric  route-table  routing-rules  ignore-auto-routes  ignore-auto-dns  dhcp-client-id  dhcp-iaid  dhcp-timeout  dhcp-send-hostname  dhcp-hostname  dhcp-fqdn  dhcp-hostname-flags  never-default  may-fail  required-timeout  dad-timeout   dhcp-vendor-class-identifier  dhcp-reject-servers 
+ipv4  auto    --   --          --           0             --         --       --      -1            0 (unspec)   --             nie                 nie              --              --         0 (default)   tak                 --             --         0x0 (none)           nie            tak       -1 (default)      -1 (default)  --                            --                  
 
-name  method  dns  dns-search  dns-options  dns-priority  addresses  gateway  routes  route-metric  route-table  routing-rules  ignore-auto-routes  ignore-auto-dns  never-default  may-fail  ip6-privacy   addr-gen-mode   ra-timeout   dhcp-duid  dhcp-iaid  dhcp-timeout  dhcp-send-hostname  dhcp-hostname  dhcp-hostname-flags  token 
-ipv6  auto    --   --          --           0             --         --       --      -1            0 (unspec)   --             nie                 nie              nie            tak       -1 (unknown)  stable-privacy  0 (default)  --         --         0 (default)   tak                 --             0x0 (none)           --    
+name  method  dns  dns-search  dns-options  dns-priority  addresses  gateway  routes  route-metric  route-table  routing-rules  ignore-auto-routes  ignore-auto-dns  never-default  may-fail  required-timeout  ip6-privacy   addr-gen-mode   ra-timeout   dhcp-duid  dhcp-iaid  dhcp-timeout  dhcp-send-hostname  dhcp-hostname  dhcp-hostname-flags  token 
+ipv6  auto    --   --          --           0             --         --       --      -1            0 (unspec)   --             nie                 nie              nie            tak       -1 (default)      -1 (unknown)  stable-privacy  0 (default)  --         --         0 (default)   tak                 --             0x0 (none)           --    
 
 name   method  browser-only  pac-url  pac-script 
 proxy  none    nie           --       --         
@@ -7618,12 +7694,12 @@ GENERAL  ethernet  UUID-ethernet-REPLACED-REPLACED-REPL  eth0     eth0      deza
 
 
 <<<
-size: 3179
+size: 3219
 location: src/tests/client/test-client.py:test_003()/154
 cmd: $NMCLI --mode tabular --color yes -f all dev show eth0
 lang: C
 returncode: 0
-stdout: 3012 bytes
+stdout: 3052 bytes
 >>>
 NAME     DEVICE  TYPE      NM-TYPE           DBUS-PATH                                  VENDOR  PRODUCT  DRIVER   DRIVER-VERSION  FIRMWARE-VERSION  HWADDR             MTU  STATE            REASON               IP4-CONNECTIVITY  IP6-CONNECTIVITY  UDI                        PATH  IP-IFACE  IS-SOFTWARE  NM-MANAGED  AUTOCONNECT  FIRMWARE-MISSING  NM-PLUGIN-MISSING  PHYS-PORT-ID  CONNECTION  CON-UUID                              CON-PATH                                            METERED 
 GENERAL  eth0    ethernet  NMDeviceEthernet  /org/freedesktop/NetworkManager/Devices/1  --      --       virtual  --              --                C0:61:AE:26:4D:D7  0    100 (connected)  0 (No reason given)  0 (unknown)       0 (unknown)       /sys/devices/virtual/eth0  --    eth0      no           yes         yes          no                no                 --            ethernet    UUID-ethernet-REPLACED-REPLACED-REPL  /org/freedesktop/NetworkManager/ActiveConnection/1  unknown 
@@ -7637,14 +7713,14 @@ INTERFACE-FLAGS  yes  yes       no       no
 NAME              CARRIER  S390-SUBCHANNELS 
 WIRED-PROPERTIES  on       --               
 
-GROUP  ADDRESS           GATEWAY  ROUTE                                                                                                         DNS              DOMAIN          WINS                           
-IP4    192.168.6.238/29  --       dst = 192.168.58.133/31, nh = 192.168.50.116, mt = 3130348792 | dst = 192.168.155.50/19, nh = 192.168.127.64  192.168.213.113  sear4.foo4.bar  192.168.156.115 | 192.168.8.33 
+GROUP  ADDRESS           GATEWAY  ROUTE                                                                                                         DNS              DOMAIN          SEARCHES  WINS                           
+IP4    192.168.6.238/29  --       dst = 192.168.58.133/31, nh = 192.168.50.116, mt = 3130348792 | dst = 192.168.155.50/19, nh = 192.168.127.64  192.168.213.113  sear4.foo4.bar  --        192.168.156.115 | 192.168.8.33 
 
 GROUP  OPTION 
 DHCP4  --     
 
-GROUP  ADDRESS                                                                                          GATEWAY                      ROUTE                                                            DNS                                                                                     DOMAIN                        
-IP6    2001:a::29c0:62b9:2e01:30a/69 | 2001:a::6433:6420:34f9:3801/115 | 2001:a::8191:ed6b:8ce:b60/103  2001:a::2b50:64d1:9a91:23b4  dst = 2001:a::5ecb:f5ee:fb96:856c/100, nh = ::, mt = 4249082794  2001:a::1323:9a78:2b82:d16b | 2001:a::4e1:24e6:b8c1:91bb | 2001:a::bd96:3bed:fbd6:19c5  sear6.fo.x.y | sear6.foo4.bar 
+GROUP  ADDRESS                                                                                          GATEWAY                      ROUTE                                                            DNS                                                                                     DOMAIN                         SEARCHES 
+IP6    2001:a::29c0:62b9:2e01:30a/69 | 2001:a::6433:6420:34f9:3801/115 | 2001:a::8191:ed6b:8ce:b60/103  2001:a::2b50:64d1:9a91:23b4  dst = 2001:a::5ecb:f5ee:fb96:856c/100, nh = ::, mt = 4249082794  2001:a::1323:9a78:2b82:d16b | 2001:a::4e1:24e6:b8c1:91bb | 2001:a::bd96:3bed:fbd6:19c5  sear6.fo.x.y | sear6.foo4.bar  --       
 
 GROUP  OPTION                                                                                    
 DHCP6  dhcp-6-opt-1 = val-1 | dhcp-6-opt-5 = val-5 | dhcp-6-opt-6 = val-6 | dhcp-6-opt-8 = val-8 
@@ -7653,12 +7729,12 @@ NAME         AVAILABLE-CONNECTION-PATHS                                   AVAILA
 CONNECTIONS  /org/freedesktop/NetworkManager/Settings/Connection/{1,2,6}  5fcfd6d7-1e63-3332-8826-a7eda103792d | con-1 | UUID-con-xx1-REPLACED-REPLACED-REPLA | con-xx1 | UUID-ethernet-REPLACED-REPLACED-REPL | ethernet 
 
 <<<
-size: 3209
+size: 3249
 location: src/tests/client/test-client.py:test_003()/155
 cmd: $NMCLI --mode tabular --color yes -f all dev show eth0
 lang: pl_PL.UTF-8
 returncode: 0
-stdout: 3032 bytes
+stdout: 3072 bytes
 >>>
 NAME     DEVICE  TYPE      NM-TYPE           DBUS-PATH                                  VENDOR  PRODUCT  DRIVER   DRIVER-VERSION  FIRMWARE-VERSION  HWADDR             MTU  STATE            REASON                    IP4-CONNECTIVITY  IP6-CONNECTIVITY  UDI                        PATH  IP-IFACE  IS-SOFTWARE  NM-MANAGED  AUTOCONNECT  FIRMWARE-MISSING  NM-PLUGIN-MISSING  PHYS-PORT-ID  CONNECTION  CON-UUID                              CON-PATH                                            METERED  
 GENERAL  eth0    ethernet  NMDeviceEthernet  /org/freedesktop/NetworkManager/Devices/1  --      --       virtual  --              --                C0:61:AE:26:4D:D7  0    100 (połączono)  0 (Nie podano przyczyny)  0 (nieznane)      0 (nieznane)      /sys/devices/virtual/eth0  --    eth0      nie          tak         tak          nie               nie                --            ethernet    UUID-ethernet-REPLACED-REPLACED-REPL  /org/freedesktop/NetworkManager/ActiveConnection/1  nieznane 
@@ -7672,14 +7748,14 @@ INTERFACE-FLAGS  tak  tak       nie      nie
 NAME              CARRIER   S390-SUBCHANNELS 
 WIRED-PROPERTIES  włączone  --               
 
-GROUP  ADDRESS           GATEWAY  ROUTE                                                                                                         DNS              DOMAIN          WINS                           
-IP4    192.168.6.238/29  --       dst = 192.168.58.133/31, nh = 192.168.50.116, mt = 3130348792 | dst = 192.168.155.50/19, nh = 192.168.127.64  192.168.213.113  sear4.foo4.bar  192.168.156.115 | 192.168.8.33 
+GROUP  ADDRESS           GATEWAY  ROUTE                                                                                                         DNS              DOMAIN          SEARCHES  WINS                           
+IP4    192.168.6.238/29  --       dst = 192.168.58.133/31, nh = 192.168.50.116, mt = 3130348792 | dst = 192.168.155.50/19, nh = 192.168.127.64  192.168.213.113  sear4.foo4.bar  --        192.168.156.115 | 192.168.8.33 
 
 GROUP  OPTION 
 DHCP4  --     
 
-GROUP  ADDRESS                                                                                          GATEWAY                      ROUTE                                                            DNS                                                                                     DOMAIN                        
-IP6    2001:a::29c0:62b9:2e01:30a/69 | 2001:a::6433:6420:34f9:3801/115 | 2001:a::8191:ed6b:8ce:b60/103  2001:a::2b50:64d1:9a91:23b4  dst = 2001:a::5ecb:f5ee:fb96:856c/100, nh = ::, mt = 4249082794  2001:a::1323:9a78:2b82:d16b | 2001:a::4e1:24e6:b8c1:91bb | 2001:a::bd96:3bed:fbd6:19c5  sear6.fo.x.y | sear6.foo4.bar 
+GROUP  ADDRESS                                                                                          GATEWAY                      ROUTE                                                            DNS                                                                                     DOMAIN                         SEARCHES 
+IP6    2001:a::29c0:62b9:2e01:30a/69 | 2001:a::6433:6420:34f9:3801/115 | 2001:a::8191:ed6b:8ce:b60/103  2001:a::2b50:64d1:9a91:23b4  dst = 2001:a::5ecb:f5ee:fb96:856c/100, nh = ::, mt = 4249082794  2001:a::1323:9a78:2b82:d16b | 2001:a::4e1:24e6:b8c1:91bb | 2001:a::bd96:3bed:fbd6:19c5  sear6.fo.x.y | sear6.foo4.bar  --       
 
 GROUP  OPTION                                                                                    
 DHCP6  dhcp-6-opt-1 = val-1 | dhcp-6-opt-5 = val-5 | dhcp-6-opt-6 = val-6 | dhcp-6-opt-8 = val-8 
@@ -7770,12 +7846,12 @@ UUID-con-gsm3-REPLACED-REPLACED-REPL  gsm
 UUID-con-xx1-REPLACED-REPLACED-REPLA  ethernet 
 
 <<<
-size: 6323
+size: 6431
 location: src/tests/client/test-client.py:test_003()/160
 cmd: $NMCLI --mode tabular --pretty con s ethernet
 lang: C
 returncode: 0
-stdout: 6165 bytes
+stdout: 6273 bytes
 >>>
 =========================================
   Connection profile details (ethernet)
@@ -7788,13 +7864,13 @@ name            port  speed  duplex  auto-negotiate  mac-address  cloned-mac-add
 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 802-3-ethernet  --    0      --      no              --           --                  --                         --                     auto  --                --            --            default      --                    -1 (default)             
 
-name  method  dns  dns-search  dns-options  dns-priority  addresses  gateway  routes  route-metric  route-table  routing-rules  ignore-auto-routes  ignore-auto-dns  dhcp-client-id  dhcp-iaid  dhcp-timeout  dhcp-send-hostname  dhcp-hostname  dhcp-fqdn  dhcp-hostname-flags  never-default  may-fail  dad-timeout   dhcp-vendor-class-identifier  dhcp-reject-servers 
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-ipv4  auto    --   --          --           0             --         --       --      -1            0 (unspec)   --             no                  no               --              --         0 (default)   yes                 --             --         0x0 (none)           no             yes       -1 (default)  --                            --                  
+name  method  dns  dns-search  dns-options  dns-priority  addresses  gateway  routes  route-metric  route-table  routing-rules  ignore-auto-routes  ignore-auto-dns  dhcp-client-id  dhcp-iaid  dhcp-timeout  dhcp-send-hostname  dhcp-hostname  dhcp-fqdn  dhcp-hostname-flags  never-default  may-fail  required-timeout  dad-timeout   dhcp-vendor-class-identifier  dhcp-reject-servers 
+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+ipv4  auto    --   --          --           0             --         --       --      -1            0 (unspec)   --             no                  no               --              --         0 (default)   yes                 --             --         0x0 (none)           no             yes       -1 (default)      -1 (default)  --                            --                  
 
-name  method  dns  dns-search  dns-options  dns-priority  addresses  gateway  routes  route-metric  route-table  routing-rules  ignore-auto-routes  ignore-auto-dns  never-default  may-fail  ip6-privacy   addr-gen-mode   ra-timeout   dhcp-duid  dhcp-iaid  dhcp-timeout  dhcp-send-hostname  dhcp-hostname  dhcp-hostname-flags  token 
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-ipv6  auto    --   --          --           0             --         --       --      -1            0 (unspec)   --             no                  no               no             yes       -1 (unknown)  stable-privacy  0 (default)  --         --         0 (default)   yes                 --             0x0 (none)           --    
+name  method  dns  dns-search  dns-options  dns-priority  addresses  gateway  routes  route-metric  route-table  routing-rules  ignore-auto-routes  ignore-auto-dns  never-default  may-fail  required-timeout  ip6-privacy   addr-gen-mode   ra-timeout   dhcp-duid  dhcp-iaid  dhcp-timeout  dhcp-send-hostname  dhcp-hostname  dhcp-hostname-flags  token 
+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+ipv6  auto    --   --          --           0             --         --       --      -1            0 (unspec)   --             no                  no               no             yes       -1 (default)      -1 (unknown)  stable-privacy  0 (default)  --         --         0 (default)   yes                 --             0x0 (none)           --    
 
 name   method  browser-only  pac-url  pac-script 
 --------------------------------------------------
@@ -7817,12 +7893,12 @@ GENERAL  ethernet  UUID-ethernet-REPLACED-REPLACED-REPL  eth0     eth0      deac
 
 
 <<<
-size: 6417
+size: 6525
 location: src/tests/client/test-client.py:test_003()/161
 cmd: $NMCLI --mode tabular --pretty con s ethernet
 lang: pl_PL.UTF-8
 returncode: 0
-stdout: 6249 bytes
+stdout: 6357 bytes
 >>>
 ===========================================
   Szczegóły profilu połączenia (ethernet)
@@ -7835,13 +7911,13 @@ name            port  speed  duplex  auto-negotiate  mac-address  cloned-mac-add
 -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 802-3-ethernet  --    0      --      nie             --           --                  --                         --                     automatyczne  --                --            --            default      --                    -1 (default)             
 
-name  method  dns  dns-search  dns-options  dns-priority  addresses  gateway  routes  route-metric  route-table  routing-rules  ignore-auto-routes  ignore-auto-dns  dhcp-client-id  dhcp-iaid  dhcp-timeout  dhcp-send-hostname  dhcp-hostname  dhcp-fqdn  dhcp-hostname-flags  never-default  may-fail  dad-timeout   dhcp-vendor-class-identifier  dhcp-reject-servers 
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-ipv4  auto    --   --          --           0             --         --       --      -1            0 (unspec)   --             nie                 nie              --              --         0 (default)   tak                 --             --         0x0 (none)           nie            tak       -1 (default)  --                            --                  
+name  method  dns  dns-search  dns-options  dns-priority  addresses  gateway  routes  route-metric  route-table  routing-rules  ignore-auto-routes  ignore-auto-dns  dhcp-client-id  dhcp-iaid  dhcp-timeout  dhcp-send-hostname  dhcp-hostname  dhcp-fqdn  dhcp-hostname-flags  never-default  may-fail  required-timeout  dad-timeout   dhcp-vendor-class-identifier  dhcp-reject-servers 
+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+ipv4  auto    --   --          --           0             --         --       --      -1            0 (unspec)   --             nie                 nie              --              --         0 (default)   tak                 --             --         0x0 (none)           nie            tak       -1 (default)      -1 (default)  --                            --                  
 
-name  method  dns  dns-search  dns-options  dns-priority  addresses  gateway  routes  route-metric  route-table  routing-rules  ignore-auto-routes  ignore-auto-dns  never-default  may-fail  ip6-privacy   addr-gen-mode   ra-timeout   dhcp-duid  dhcp-iaid  dhcp-timeout  dhcp-send-hostname  dhcp-hostname  dhcp-hostname-flags  token 
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-ipv6  auto    --   --          --           0             --         --       --      -1            0 (unspec)   --             nie                 nie              nie            tak       -1 (unknown)  stable-privacy  0 (default)  --         --         0 (default)   tak                 --             0x0 (none)           --    
+name  method  dns  dns-search  dns-options  dns-priority  addresses  gateway  routes  route-metric  route-table  routing-rules  ignore-auto-routes  ignore-auto-dns  never-default  may-fail  required-timeout  ip6-privacy   addr-gen-mode   ra-timeout   dhcp-duid  dhcp-iaid  dhcp-timeout  dhcp-send-hostname  dhcp-hostname  dhcp-hostname-flags  token 
+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+ipv6  auto    --   --          --           0             --         --       --      -1            0 (unspec)   --             nie                 nie              nie            tak       -1 (default)      -1 (unknown)  stable-privacy  0 (default)  --         --         0 (default)   tak                 --             0x0 (none)           --    
 
 name   method  browser-only  pac-url  pac-script 
 --------------------------------------------------
@@ -7864,12 +7940,12 @@ GENERAL  ethernet  UUID-ethernet-REPLACED-REPLACED-REPL  eth0     eth0      deza
 
 
 <<<
-size: 5399
+size: 5507
 location: src/tests/client/test-client.py:test_003()/162
 cmd: $NMCLI --mode tabular --pretty c s /org/freedesktop/NetworkManager/ActiveConnection/1
 lang: C
 returncode: 0
-stdout: 5201 bytes
+stdout: 5309 bytes
 >>>
 =========================================
   Connection profile details (ethernet)
@@ -7882,13 +7958,13 @@ name            port  speed  duplex  auto-negotiate  mac-address  cloned-mac-add
 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 802-3-ethernet  --    0      --      no              --           --                  --                         --                     auto  --                --            --            default      --                    -1 (default)             
 
-name  method  dns  dns-search  dns-options  dns-priority  addresses  gateway  routes  route-metric  route-table  routing-rules  ignore-auto-routes  ignore-auto-dns  dhcp-client-id  dhcp-iaid  dhcp-timeout  dhcp-send-hostname  dhcp-hostname  dhcp-fqdn  dhcp-hostname-flags  never-default  may-fail  dad-timeout   dhcp-vendor-class-identifier  dhcp-reject-servers 
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-ipv4  auto    --   --          --           0             --         --       --      -1            0 (unspec)   --             no                  no               --              --         0 (default)   yes                 --             --         0x0 (none)           no             yes       -1 (default)  --                            --                  
+name  method  dns  dns-search  dns-options  dns-priority  addresses  gateway  routes  route-metric  route-table  routing-rules  ignore-auto-routes  ignore-auto-dns  dhcp-client-id  dhcp-iaid  dhcp-timeout  dhcp-send-hostname  dhcp-hostname  dhcp-fqdn  dhcp-hostname-flags  never-default  may-fail  required-timeout  dad-timeout   dhcp-vendor-class-identifier  dhcp-reject-servers 
+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+ipv4  auto    --   --          --           0             --         --       --      -1            0 (unspec)   --             no                  no               --              --         0 (default)   yes                 --             --         0x0 (none)           no             yes       -1 (default)      -1 (default)  --                            --                  
 
-name  method  dns  dns-search  dns-options  dns-priority  addresses  gateway  routes  route-metric  route-table  routing-rules  ignore-auto-routes  ignore-auto-dns  never-default  may-fail  ip6-privacy   addr-gen-mode   ra-timeout   dhcp-duid  dhcp-iaid  dhcp-timeout  dhcp-send-hostname  dhcp-hostname  dhcp-hostname-flags  token 
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-ipv6  auto    --   --          --           0             --         --       --      -1            0 (unspec)   --             no                  no               no             yes       -1 (unknown)  stable-privacy  0 (default)  --         --         0 (default)   yes                 --             0x0 (none)           --    
+name  method  dns  dns-search  dns-options  dns-priority  addresses  gateway  routes  route-metric  route-table  routing-rules  ignore-auto-routes  ignore-auto-dns  never-default  may-fail  required-timeout  ip6-privacy   addr-gen-mode   ra-timeout   dhcp-duid  dhcp-iaid  dhcp-timeout  dhcp-send-hostname  dhcp-hostname  dhcp-hostname-flags  token 
+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+ipv6  auto    --   --          --           0             --         --       --      -1            0 (unspec)   --             no                  no               no             yes       -1 (default)      -1 (unknown)  stable-privacy  0 (default)  --         --         0 (default)   yes                 --             0x0 (none)           --    
 
 name   method  browser-only  pac-url  pac-script 
 --------------------------------------------------
@@ -7903,12 +7979,12 @@ GENERAL  ethernet  UUID-ethernet-REPLACED-REPLACED-REPL  eth0     eth0      deac
 
 
 <<<
-size: 5471
+size: 5579
 location: src/tests/client/test-client.py:test_003()/163
 cmd: $NMCLI --mode tabular --pretty c s /org/freedesktop/NetworkManager/ActiveConnection/1
 lang: pl_PL.UTF-8
 returncode: 0
-stdout: 5263 bytes
+stdout: 5371 bytes
 >>>
 ===========================================
   Szczegóły profilu połączenia (ethernet)
@@ -7921,13 +7997,13 @@ name            port  speed  duplex  auto-negotiate  mac-address  cloned-mac-add
 -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 802-3-ethernet  --    0      --      nie             --           --                  --                         --                     automatyczne  --                --            --            default      --                    -1 (default)             
 
-name  method  dns  dns-search  dns-options  dns-priority  addresses  gateway  routes  route-metric  route-table  routing-rules  ignore-auto-routes  ignore-auto-dns  dhcp-client-id  dhcp-iaid  dhcp-timeout  dhcp-send-hostname  dhcp-hostname  dhcp-fqdn  dhcp-hostname-flags  never-default  may-fail  dad-timeout   dhcp-vendor-class-identifier  dhcp-reject-servers 
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-ipv4  auto    --   --          --           0             --         --       --      -1            0 (unspec)   --             nie                 nie              --              --         0 (default)   tak                 --             --         0x0 (none)           nie            tak       -1 (default)  --                            --                  
+name  method  dns  dns-search  dns-options  dns-priority  addresses  gateway  routes  route-metric  route-table  routing-rules  ignore-auto-routes  ignore-auto-dns  dhcp-client-id  dhcp-iaid  dhcp-timeout  dhcp-send-hostname  dhcp-hostname  dhcp-fqdn  dhcp-hostname-flags  never-default  may-fail  required-timeout  dad-timeout   dhcp-vendor-class-identifier  dhcp-reject-servers 
+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+ipv4  auto    --   --          --           0             --         --       --      -1            0 (unspec)   --             nie                 nie              --              --         0 (default)   tak                 --             --         0x0 (none)           nie            tak       -1 (default)      -1 (default)  --                            --                  
 
-name  method  dns  dns-search  dns-options  dns-priority  addresses  gateway  routes  route-metric  route-table  routing-rules  ignore-auto-routes  ignore-auto-dns  never-default  may-fail  ip6-privacy   addr-gen-mode   ra-timeout   dhcp-duid  dhcp-iaid  dhcp-timeout  dhcp-send-hostname  dhcp-hostname  dhcp-hostname-flags  token 
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-ipv6  auto    --   --          --           0             --         --       --      -1            0 (unspec)   --             nie                 nie              nie            tak       -1 (unknown)  stable-privacy  0 (default)  --         --         0 (default)   tak                 --             0x0 (none)           --    
+name  method  dns  dns-search  dns-options  dns-priority  addresses  gateway  routes  route-metric  route-table  routing-rules  ignore-auto-routes  ignore-auto-dns  never-default  may-fail  required-timeout  ip6-privacy   addr-gen-mode   ra-timeout   dhcp-duid  dhcp-iaid  dhcp-timeout  dhcp-send-hostname  dhcp-hostname  dhcp-hostname-flags  token 
+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+ipv6  auto    --   --          --           0             --         --       --      -1            0 (unspec)   --             nie                 nie              nie            tak       -1 (default)      -1 (unknown)  stable-privacy  0 (default)  --         --         0 (default)   tak                 --             0x0 (none)           --    
 
 name   method  browser-only  pac-url  pac-script 
 --------------------------------------------------
@@ -7942,12 +8018,12 @@ GENERAL  ethernet  UUID-ethernet-REPLACED-REPLACED-REPL  eth0     eth0      deza
 
 
 <<<
-size: 4763
+size: 4823
 location: src/tests/client/test-client.py:test_003()/164
 cmd: $NMCLI --mode tabular --pretty -f all dev show eth0
 lang: C
 returncode: 0
-stdout: 4599 bytes
+stdout: 4659 bytes
 >>>
 =========================
   Device details (eth0)
@@ -7968,17 +8044,17 @@ NAME              CARRIER  S390-SUBCHANNELS
 ---------------------------------------------
 WIRED-PROPERTIES  on       --               
 
-GROUP  ADDRESS           GATEWAY  ROUTE                                                                                                         DNS              DOMAIN          WINS                           
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-IP4    192.168.6.238/29  --       dst = 192.168.58.133/31, nh = 192.168.50.116, mt = 3130348792 | dst = 192.168.155.50/19, nh = 192.168.127.64  192.168.213.113  sear4.foo4.bar  192.168.156.115 | 192.168.8.33 
+GROUP  ADDRESS           GATEWAY  ROUTE                                                                                                         DNS              DOMAIN          SEARCHES  WINS                           
+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+IP4    192.168.6.238/29  --       dst = 192.168.58.133/31, nh = 192.168.50.116, mt = 3130348792 | dst = 192.168.155.50/19, nh = 192.168.127.64  192.168.213.113  sear4.foo4.bar  --        192.168.156.115 | 192.168.8.33 
 
 GROUP  OPTION 
 ---------------
 DHCP4  --     
 
-GROUP  ADDRESS                                                                                          GATEWAY                      ROUTE                                                            DNS                                                                                     DOMAIN                        
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-IP6    2001:a::29c0:62b9:2e01:30a/69 | 2001:a::6433:6420:34f9:3801/115 | 2001:a::8191:ed6b:8ce:b60/103  2001:a::2b50:64d1:9a91:23b4  dst = 2001:a::5ecb:f5ee:fb96:856c/100, nh = ::, mt = 4249082794  2001:a::1323:9a78:2b82:d16b | 2001:a::4e1:24e6:b8c1:91bb | 2001:a::bd96:3bed:fbd6:19c5  sear6.fo.x.y | sear6.foo4.bar 
+GROUP  ADDRESS                                                                                          GATEWAY                      ROUTE                                                            DNS                                                                                     DOMAIN                         SEARCHES 
+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+IP6    2001:a::29c0:62b9:2e01:30a/69 | 2001:a::6433:6420:34f9:3801/115 | 2001:a::8191:ed6b:8ce:b60/103  2001:a::2b50:64d1:9a91:23b4  dst = 2001:a::5ecb:f5ee:fb96:856c/100, nh = ::, mt = 4249082794  2001:a::1323:9a78:2b82:d16b | 2001:a::4e1:24e6:b8c1:91bb | 2001:a::bd96:3bed:fbd6:19c5  sear6.fo.x.y | sear6.foo4.bar  --       
 
 GROUP  OPTION                                                                                    
 --------------------------------------------------------------------------------------------------
@@ -7989,12 +8065,12 @@ NAME         AVAILABLE-CONNECTION-PATHS                                   AVAILA
 CONNECTIONS  /org/freedesktop/NetworkManager/Settings/Connection/{1,2,6}  5fcfd6d7-1e63-3332-8826-a7eda103792d | con-1 | UUID-con-xx1-REPLACED-REPLACED-REPLA | con-xx1 | UUID-ethernet-REPLACED-REPLACED-REPL | ethernet 
 
 <<<
-size: 4829
+size: 4889
 location: src/tests/client/test-client.py:test_003()/165
 cmd: $NMCLI --mode tabular --pretty -f all dev show eth0
 lang: pl_PL.UTF-8
 returncode: 0
-stdout: 4655 bytes
+stdout: 4715 bytes
 >>>
 ==================================
   Informacje o urządzeniu (eth0)
@@ -8015,17 +8091,17 @@ NAME              CARRIER   S390-SUBCHANNELS
 ----------------------------------------------
 WIRED-PROPERTIES  włączone  --               
 
-GROUP  ADDRESS           GATEWAY  ROUTE                                                                                                         DNS              DOMAIN          WINS                           
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-IP4    192.168.6.238/29  --       dst = 192.168.58.133/31, nh = 192.168.50.116, mt = 3130348792 | dst = 192.168.155.50/19, nh = 192.168.127.64  192.168.213.113  sear4.foo4.bar  192.168.156.115 | 192.168.8.33 
+GROUP  ADDRESS           GATEWAY  ROUTE                                                                                                         DNS              DOMAIN          SEARCHES  WINS                           
+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+IP4    192.168.6.238/29  --       dst = 192.168.58.133/31, nh = 192.168.50.116, mt = 3130348792 | dst = 192.168.155.50/19, nh = 192.168.127.64  192.168.213.113  sear4.foo4.bar  --        192.168.156.115 | 192.168.8.33 
 
 GROUP  OPTION 
 ---------------
 DHCP4  --     
 
-GROUP  ADDRESS                                                                                          GATEWAY                      ROUTE                                                            DNS                                                                                     DOMAIN                        
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-IP6    2001:a::29c0:62b9:2e01:30a/69 | 2001:a::6433:6420:34f9:3801/115 | 2001:a::8191:ed6b:8ce:b60/103  2001:a::2b50:64d1:9a91:23b4  dst = 2001:a::5ecb:f5ee:fb96:856c/100, nh = ::, mt = 4249082794  2001:a::1323:9a78:2b82:d16b | 2001:a::4e1:24e6:b8c1:91bb | 2001:a::bd96:3bed:fbd6:19c5  sear6.fo.x.y | sear6.foo4.bar 
+GROUP  ADDRESS                                                                                          GATEWAY                      ROUTE                                                            DNS                                                                                     DOMAIN                         SEARCHES 
+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+IP6    2001:a::29c0:62b9:2e01:30a/69 | 2001:a::6433:6420:34f9:3801/115 | 2001:a::8191:ed6b:8ce:b60/103  2001:a::2b50:64d1:9a91:23b4  dst = 2001:a::5ecb:f5ee:fb96:856c/100, nh = ::, mt = 4249082794  2001:a::1323:9a78:2b82:d16b | 2001:a::4e1:24e6:b8c1:91bb | 2001:a::bd96:3bed:fbd6:19c5  sear6.fo.x.y | sear6.foo4.bar  --       
 
 GROUP  OPTION                                                                                    
 --------------------------------------------------------------------------------------------------
@@ -8118,12 +8194,12 @@ UUID-con-gsm3-REPLACED-REPLACED-REPL  gsm
 UUID-con-xx1-REPLACED-REPLACED-REPLA  ethernet 
 
 <<<
-size: 6335
+size: 6443
 location: src/tests/client/test-client.py:test_003()/170
 cmd: $NMCLI --mode tabular --pretty --color yes con s ethernet
 lang: C
 returncode: 0
-stdout: 6165 bytes
+stdout: 6273 bytes
 >>>
 =========================================
   Connection profile details (ethernet)
@@ -8136,13 +8212,13 @@ name            port  speed  duplex  auto-negotiate  mac-address  cloned-mac-add
 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 802-3-ethernet  --    0      --      no              --           --                  --                         --                     auto  --                --            --            default      --                    -1 (default)             
 
-name  method  dns  dns-search  dns-options  dns-priority  addresses  gateway  routes  route-metric  route-table  routing-rules  ignore-auto-routes  ignore-auto-dns  dhcp-client-id  dhcp-iaid  dhcp-timeout  dhcp-send-hostname  dhcp-hostname  dhcp-fqdn  dhcp-hostname-flags  never-default  may-fail  dad-timeout   dhcp-vendor-class-identifier  dhcp-reject-servers 
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-ipv4  auto    --   --          --           0             --         --       --      -1            0 (unspec)   --             no                  no               --              --         0 (default)   yes                 --             --         0x0 (none)           no             yes       -1 (default)  --                            --                  
+name  method  dns  dns-search  dns-options  dns-priority  addresses  gateway  routes  route-metric  route-table  routing-rules  ignore-auto-routes  ignore-auto-dns  dhcp-client-id  dhcp-iaid  dhcp-timeout  dhcp-send-hostname  dhcp-hostname  dhcp-fqdn  dhcp-hostname-flags  never-default  may-fail  required-timeout  dad-timeout   dhcp-vendor-class-identifier  dhcp-reject-servers 
+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+ipv4  auto    --   --          --           0             --         --       --      -1            0 (unspec)   --             no                  no               --              --         0 (default)   yes                 --             --         0x0 (none)           no             yes       -1 (default)      -1 (default)  --                            --                  
 
-name  method  dns  dns-search  dns-options  dns-priority  addresses  gateway  routes  route-metric  route-table  routing-rules  ignore-auto-routes  ignore-auto-dns  never-default  may-fail  ip6-privacy   addr-gen-mode   ra-timeout   dhcp-duid  dhcp-iaid  dhcp-timeout  dhcp-send-hostname  dhcp-hostname  dhcp-hostname-flags  token 
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-ipv6  auto    --   --          --           0             --         --       --      -1            0 (unspec)   --             no                  no               no             yes       -1 (unknown)  stable-privacy  0 (default)  --         --         0 (default)   yes                 --             0x0 (none)           --    
+name  method  dns  dns-search  dns-options  dns-priority  addresses  gateway  routes  route-metric  route-table  routing-rules  ignore-auto-routes  ignore-auto-dns  never-default  may-fail  required-timeout  ip6-privacy   addr-gen-mode   ra-timeout   dhcp-duid  dhcp-iaid  dhcp-timeout  dhcp-send-hostname  dhcp-hostname  dhcp-hostname-flags  token 
+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+ipv6  auto    --   --          --           0             --         --       --      -1            0 (unspec)   --             no                  no               no             yes       -1 (default)      -1 (unknown)  stable-privacy  0 (default)  --         --         0 (default)   yes                 --             0x0 (none)           --    
 
 name   method  browser-only  pac-url  pac-script 
 --------------------------------------------------
@@ -8165,12 +8241,12 @@ GENERAL  ethernet  UUID-ethernet-REPLACED-REPLACED-REPL  eth0     eth0      deac
 
 
 <<<
-size: 6429
+size: 6537
 location: src/tests/client/test-client.py:test_003()/171
 cmd: $NMCLI --mode tabular --pretty --color yes con s ethernet
 lang: pl_PL.UTF-8
 returncode: 0
-stdout: 6249 bytes
+stdout: 6357 bytes
 >>>
 ===========================================
   Szczegóły profilu połączenia (ethernet)
@@ -8183,13 +8259,13 @@ name            port  speed  duplex  auto-negotiate  mac-address  cloned-mac-add
 -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 802-3-ethernet  --    0      --      nie             --           --                  --                         --                     automatyczne  --                --            --            default      --                    -1 (default)             
 
-name  method  dns  dns-search  dns-options  dns-priority  addresses  gateway  routes  route-metric  route-table  routing-rules  ignore-auto-routes  ignore-auto-dns  dhcp-client-id  dhcp-iaid  dhcp-timeout  dhcp-send-hostname  dhcp-hostname  dhcp-fqdn  dhcp-hostname-flags  never-default  may-fail  dad-timeout   dhcp-vendor-class-identifier  dhcp-reject-servers 
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-ipv4  auto    --   --          --           0             --         --       --      -1            0 (unspec)   --             nie                 nie              --              --         0 (default)   tak                 --             --         0x0 (none)           nie            tak       -1 (default)  --                            --                  
+name  method  dns  dns-search  dns-options  dns-priority  addresses  gateway  routes  route-metric  route-table  routing-rules  ignore-auto-routes  ignore-auto-dns  dhcp-client-id  dhcp-iaid  dhcp-timeout  dhcp-send-hostname  dhcp-hostname  dhcp-fqdn  dhcp-hostname-flags  never-default  may-fail  required-timeout  dad-timeout   dhcp-vendor-class-identifier  dhcp-reject-servers 
+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+ipv4  auto    --   --          --           0             --         --       --      -1            0 (unspec)   --             nie                 nie              --              --         0 (default)   tak                 --             --         0x0 (none)           nie            tak       -1 (default)      -1 (default)  --                            --                  
 
-name  method  dns  dns-search  dns-options  dns-priority  addresses  gateway  routes  route-metric  route-table  routing-rules  ignore-auto-routes  ignore-auto-dns  never-default  may-fail  ip6-privacy   addr-gen-mode   ra-timeout   dhcp-duid  dhcp-iaid  dhcp-timeout  dhcp-send-hostname  dhcp-hostname  dhcp-hostname-flags  token 
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-ipv6  auto    --   --          --           0             --         --       --      -1            0 (unspec)   --             nie                 nie              nie            tak       -1 (unknown)  stable-privacy  0 (default)  --         --         0 (default)   tak                 --             0x0 (none)           --    
+name  method  dns  dns-search  dns-options  dns-priority  addresses  gateway  routes  route-metric  route-table  routing-rules  ignore-auto-routes  ignore-auto-dns  never-default  may-fail  required-timeout  ip6-privacy   addr-gen-mode   ra-timeout   dhcp-duid  dhcp-iaid  dhcp-timeout  dhcp-send-hostname  dhcp-hostname  dhcp-hostname-flags  token 
+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+ipv6  auto    --   --          --           0             --         --       --      -1            0 (unspec)   --             nie                 nie              nie            tak       -1 (default)      -1 (unknown)  stable-privacy  0 (default)  --         --         0 (default)   tak                 --             0x0 (none)           --    
 
 name   method  browser-only  pac-url  pac-script 
 --------------------------------------------------
@@ -8212,12 +8288,12 @@ GENERAL  ethernet  UUID-ethernet-REPLACED-REPLACED-REPL  eth0     eth0      deza
 
 
 <<<
-size: 5411
+size: 5519
 location: src/tests/client/test-client.py:test_003()/172
 cmd: $NMCLI --mode tabular --pretty --color yes c s /org/freedesktop/NetworkManager/ActiveConnection/1
 lang: C
 returncode: 0
-stdout: 5201 bytes
+stdout: 5309 bytes
 >>>
 =========================================
   Connection profile details (ethernet)
@@ -8230,13 +8306,13 @@ name            port  speed  duplex  auto-negotiate  mac-address  cloned-mac-add
 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 802-3-ethernet  --    0      --      no              --           --                  --                         --                     auto  --                --            --            default      --                    -1 (default)             
 
-name  method  dns  dns-search  dns-options  dns-priority  addresses  gateway  routes  route-metric  route-table  routing-rules  ignore-auto-routes  ignore-auto-dns  dhcp-client-id  dhcp-iaid  dhcp-timeout  dhcp-send-hostname  dhcp-hostname  dhcp-fqdn  dhcp-hostname-flags  never-default  may-fail  dad-timeout   dhcp-vendor-class-identifier  dhcp-reject-servers 
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-ipv4  auto    --   --          --           0             --         --       --      -1            0 (unspec)   --             no                  no               --              --         0 (default)   yes                 --             --         0x0 (none)           no             yes       -1 (default)  --                            --                  
+name  method  dns  dns-search  dns-options  dns-priority  addresses  gateway  routes  route-metric  route-table  routing-rules  ignore-auto-routes  ignore-auto-dns  dhcp-client-id  dhcp-iaid  dhcp-timeout  dhcp-send-hostname  dhcp-hostname  dhcp-fqdn  dhcp-hostname-flags  never-default  may-fail  required-timeout  dad-timeout   dhcp-vendor-class-identifier  dhcp-reject-servers 
+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+ipv4  auto    --   --          --           0             --         --       --      -1            0 (unspec)   --             no                  no               --              --         0 (default)   yes                 --             --         0x0 (none)           no             yes       -1 (default)      -1 (default)  --                            --                  
 
-name  method  dns  dns-search  dns-options  dns-priority  addresses  gateway  routes  route-metric  route-table  routing-rules  ignore-auto-routes  ignore-auto-dns  never-default  may-fail  ip6-privacy   addr-gen-mode   ra-timeout   dhcp-duid  dhcp-iaid  dhcp-timeout  dhcp-send-hostname  dhcp-hostname  dhcp-hostname-flags  token 
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-ipv6  auto    --   --          --           0             --         --       --      -1            0 (unspec)   --             no                  no               no             yes       -1 (unknown)  stable-privacy  0 (default)  --         --         0 (default)   yes                 --             0x0 (none)           --    
+name  method  dns  dns-search  dns-options  dns-priority  addresses  gateway  routes  route-metric  route-table  routing-rules  ignore-auto-routes  ignore-auto-dns  never-default  may-fail  required-timeout  ip6-privacy   addr-gen-mode   ra-timeout   dhcp-duid  dhcp-iaid  dhcp-timeout  dhcp-send-hostname  dhcp-hostname  dhcp-hostname-flags  token 
+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+ipv6  auto    --   --          --           0             --         --       --      -1            0 (unspec)   --             no                  no               no             yes       -1 (default)      -1 (unknown)  stable-privacy  0 (default)  --         --         0 (default)   yes                 --             0x0 (none)           --    
 
 name   method  browser-only  pac-url  pac-script 
 --------------------------------------------------
@@ -8251,12 +8327,12 @@ GENERAL  ethernet  UUID-ethernet-REPLACED-REPLACED-REPL  eth0     eth0      deac
 
 
 <<<
-size: 5483
+size: 5591
 location: src/tests/client/test-client.py:test_003()/173
 cmd: $NMCLI --mode tabular --pretty --color yes c s /org/freedesktop/NetworkManager/ActiveConnection/1
 lang: pl_PL.UTF-8
 returncode: 0
-stdout: 5263 bytes
+stdout: 5371 bytes
 >>>
 ===========================================
   Szczegóły profilu połączenia (ethernet)
@@ -8269,13 +8345,13 @@ name            port  speed  duplex  auto-negotiate  mac-address  cloned-mac-add
 -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 802-3-ethernet  --    0      --      nie             --           --                  --                         --                     automatyczne  --                --            --            default      --                    -1 (default)             
 
-name  method  dns  dns-search  dns-options  dns-priority  addresses  gateway  routes  route-metric  route-table  routing-rules  ignore-auto-routes  ignore-auto-dns  dhcp-client-id  dhcp-iaid  dhcp-timeout  dhcp-send-hostname  dhcp-hostname  dhcp-fqdn  dhcp-hostname-flags  never-default  may-fail  dad-timeout   dhcp-vendor-class-identifier  dhcp-reject-servers 
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-ipv4  auto    --   --          --           0             --         --       --      -1            0 (unspec)   --             nie                 nie              --              --         0 (default)   tak                 --             --         0x0 (none)           nie            tak       -1 (default)  --                            --                  
+name  method  dns  dns-search  dns-options  dns-priority  addresses  gateway  routes  route-metric  route-table  routing-rules  ignore-auto-routes  ignore-auto-dns  dhcp-client-id  dhcp-iaid  dhcp-timeout  dhcp-send-hostname  dhcp-hostname  dhcp-fqdn  dhcp-hostname-flags  never-default  may-fail  required-timeout  dad-timeout   dhcp-vendor-class-identifier  dhcp-reject-servers 
+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+ipv4  auto    --   --          --           0             --         --       --      -1            0 (unspec)   --             nie                 nie              --              --         0 (default)   tak                 --             --         0x0 (none)           nie            tak       -1 (default)      -1 (default)  --                            --                  
 
-name  method  dns  dns-search  dns-options  dns-priority  addresses  gateway  routes  route-metric  route-table  routing-rules  ignore-auto-routes  ignore-auto-dns  never-default  may-fail  ip6-privacy   addr-gen-mode   ra-timeout   dhcp-duid  dhcp-iaid  dhcp-timeout  dhcp-send-hostname  dhcp-hostname  dhcp-hostname-flags  token 
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-ipv6  auto    --   --          --           0             --         --       --      -1            0 (unspec)   --             nie                 nie              nie            tak       -1 (unknown)  stable-privacy  0 (default)  --         --         0 (default)   tak                 --             0x0 (none)           --    
+name  method  dns  dns-search  dns-options  dns-priority  addresses  gateway  routes  route-metric  route-table  routing-rules  ignore-auto-routes  ignore-auto-dns  never-default  may-fail  required-timeout  ip6-privacy   addr-gen-mode   ra-timeout   dhcp-duid  dhcp-iaid  dhcp-timeout  dhcp-send-hostname  dhcp-hostname  dhcp-hostname-flags  token 
+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+ipv6  auto    --   --          --           0             --         --       --      -1            0 (unspec)   --             nie                 nie              nie            tak       -1 (default)      -1 (unknown)  stable-privacy  0 (default)  --         --         0 (default)   tak                 --             0x0 (none)           --    
 
 name   method  browser-only  pac-url  pac-script 
 --------------------------------------------------
@@ -8290,12 +8366,12 @@ GENERAL  ethernet  UUID-ethernet-REPLACED-REPLACED-REPL  eth0     eth0      deza
 
 
 <<<
-size: 4775
+size: 4835
 location: src/tests/client/test-client.py:test_003()/174
 cmd: $NMCLI --mode tabular --pretty --color yes -f all dev show eth0
 lang: C
 returncode: 0
-stdout: 4599 bytes
+stdout: 4659 bytes
 >>>
 =========================
   Device details (eth0)
@@ -8316,17 +8392,17 @@ NAME              CARRIER  S390-SUBCHANNELS
 ---------------------------------------------
 WIRED-PROPERTIES  on       --               
 
-GROUP  ADDRESS           GATEWAY  ROUTE                                                                                                         DNS              DOMAIN          WINS                           
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-IP4    192.168.6.238/29  --       dst = 192.168.58.133/31, nh = 192.168.50.116, mt = 3130348792 | dst = 192.168.155.50/19, nh = 192.168.127.64  192.168.213.113  sear4.foo4.bar  192.168.156.115 | 192.168.8.33 
+GROUP  ADDRESS           GATEWAY  ROUTE                                                                                                         DNS              DOMAIN          SEARCHES  WINS                           
+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+IP4    192.168.6.238/29  --       dst = 192.168.58.133/31, nh = 192.168.50.116, mt = 3130348792 | dst = 192.168.155.50/19, nh = 192.168.127.64  192.168.213.113  sear4.foo4.bar  --        192.168.156.115 | 192.168.8.33 
 
 GROUP  OPTION 
 ---------------
 DHCP4  --     
 
-GROUP  ADDRESS                                                                                          GATEWAY                      ROUTE                                                            DNS                                                                                     DOMAIN                        
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-IP6    2001:a::29c0:62b9:2e01:30a/69 | 2001:a::6433:6420:34f9:3801/115 | 2001:a::8191:ed6b:8ce:b60/103  2001:a::2b50:64d1:9a91:23b4  dst = 2001:a::5ecb:f5ee:fb96:856c/100, nh = ::, mt = 4249082794  2001:a::1323:9a78:2b82:d16b | 2001:a::4e1:24e6:b8c1:91bb | 2001:a::bd96:3bed:fbd6:19c5  sear6.fo.x.y | sear6.foo4.bar 
+GROUP  ADDRESS                                                                                          GATEWAY                      ROUTE                                                            DNS                                                                                     DOMAIN                         SEARCHES 
+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+IP6    2001:a::29c0:62b9:2e01:30a/69 | 2001:a::6433:6420:34f9:3801/115 | 2001:a::8191:ed6b:8ce:b60/103  2001:a::2b50:64d1:9a91:23b4  dst = 2001:a::5ecb:f5ee:fb96:856c/100, nh = ::, mt = 4249082794  2001:a::1323:9a78:2b82:d16b | 2001:a::4e1:24e6:b8c1:91bb | 2001:a::bd96:3bed:fbd6:19c5  sear6.fo.x.y | sear6.foo4.bar  --       
 
 GROUP  OPTION                                                                                    
 --------------------------------------------------------------------------------------------------
@@ -8337,12 +8413,12 @@ NAME         AVAILABLE-CONNECTION-PATHS                                   AVAILA
 CONNECTIONS  /org/freedesktop/NetworkManager/Settings/Connection/{1,2,6}  5fcfd6d7-1e63-3332-8826-a7eda103792d | con-1 | UUID-con-xx1-REPLACED-REPLACED-REPLA | con-xx1 | UUID-ethernet-REPLACED-REPLACED-REPL | ethernet 
 
 <<<
-size: 4841
+size: 4901
 location: src/tests/client/test-client.py:test_003()/175
 cmd: $NMCLI --mode tabular --pretty --color yes -f all dev show eth0
 lang: pl_PL.UTF-8
 returncode: 0
-stdout: 4655 bytes
+stdout: 4715 bytes
 >>>
 ==================================
   Informacje o urządzeniu (eth0)
@@ -8363,17 +8439,17 @@ NAME              CARRIER   S390-SUBCHANNELS
 ----------------------------------------------
 WIRED-PROPERTIES  włączone  --               
 
-GROUP  ADDRESS           GATEWAY  ROUTE                                                                                                         DNS              DOMAIN          WINS                           
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-IP4    192.168.6.238/29  --       dst = 192.168.58.133/31, nh = 192.168.50.116, mt = 3130348792 | dst = 192.168.155.50/19, nh = 192.168.127.64  192.168.213.113  sear4.foo4.bar  192.168.156.115 | 192.168.8.33 
+GROUP  ADDRESS           GATEWAY  ROUTE                                                                                                         DNS              DOMAIN          SEARCHES  WINS                           
+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+IP4    192.168.6.238/29  --       dst = 192.168.58.133/31, nh = 192.168.50.116, mt = 3130348792 | dst = 192.168.155.50/19, nh = 192.168.127.64  192.168.213.113  sear4.foo4.bar  --        192.168.156.115 | 192.168.8.33 
 
 GROUP  OPTION 
 ---------------
 DHCP4  --     
 
-GROUP  ADDRESS                                                                                          GATEWAY                      ROUTE                                                            DNS                                                                                     DOMAIN                        
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-IP6    2001:a::29c0:62b9:2e01:30a/69 | 2001:a::6433:6420:34f9:3801/115 | 2001:a::8191:ed6b:8ce:b60/103  2001:a::2b50:64d1:9a91:23b4  dst = 2001:a::5ecb:f5ee:fb96:856c/100, nh = ::, mt = 4249082794  2001:a::1323:9a78:2b82:d16b | 2001:a::4e1:24e6:b8c1:91bb | 2001:a::bd96:3bed:fbd6:19c5  sear6.fo.x.y | sear6.foo4.bar 
+GROUP  ADDRESS                                                                                          GATEWAY                      ROUTE                                                            DNS                                                                                     DOMAIN                         SEARCHES 
+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+IP6    2001:a::29c0:62b9:2e01:30a/69 | 2001:a::6433:6420:34f9:3801/115 | 2001:a::8191:ed6b:8ce:b60/103  2001:a::2b50:64d1:9a91:23b4  dst = 2001:a::5ecb:f5ee:fb96:856c/100, nh = ::, mt = 4249082794  2001:a::1323:9a78:2b82:d16b | 2001:a::4e1:24e6:b8c1:91bb | 2001:a::bd96:3bed:fbd6:19c5  sear6.fo.x.y | sear6.foo4.bar  --       
 
 GROUP  OPTION                                                                                    
 --------------------------------------------------------------------------------------------------
@@ -8446,102 +8522,102 @@ UUID-con-gsm3-REPLACED-REPLACED-REPL:gsm
 UUID-con-xx1-REPLACED-REPLACED-REPLA:802-3-ethernet
 
 <<<
-size: 859
+size: 865
 location: src/tests/client/test-client.py:test_003()/180
 cmd: $NMCLI --mode tabular --terse con s ethernet
 lang: C
 returncode: 0
-stdout: 703 bytes
+stdout: 709 bytes
 >>>
 connection:ethernet:UUID-ethernet-REPLACED-REPLACED-REPL::802-3-ethernet::yes:0:-1:0:-1:0:no:::::-1::0:unknown:default:-1:-1:-1
 802-3-ethernet::0::no:::::auto::::default::-1
-ipv4:auto::::0::::-1:0::no:no:::0:yes:::0x0:no:yes:-1::
-ipv6:auto::::0::::-1:0::no:no:no:yes:-1:stable-privacy:0:::0:yes::0x0:
+ipv4:auto::::0::::-1:0::no:no:::0:yes:::0x0:no:yes:-1:-1::
+ipv6:auto::::0::::-1:0::no:no:no:yes:-1:-1:stable-privacy:0:::0:yes::0x0:
 proxy:none:no::
 GENERAL:ethernet:UUID-ethernet-REPLACED-REPLACED-REPL:eth1:eth1:activated:no:no::no:/org/freedesktop/NetworkManager/ActiveConnection/2:/org/freedesktop/NetworkManager/Settings/Connection/6::
 
 GENERAL:ethernet:UUID-ethernet-REPLACED-REPLACED-REPL:eth0:eth0:deactivating:no:no::no:/org/freedesktop/NetworkManager/ActiveConnection/1:/org/freedesktop/NetworkManager/Settings/Connection/6::
 
 <<<
-size: 869
+size: 875
 location: src/tests/client/test-client.py:test_003()/181
 cmd: $NMCLI --mode tabular --terse con s ethernet
 lang: pl_PL.UTF-8
 returncode: 0
-stdout: 703 bytes
+stdout: 709 bytes
 >>>
 connection:ethernet:UUID-ethernet-REPLACED-REPLACED-REPL::802-3-ethernet::yes:0:-1:0:-1:0:no:::::-1::0:unknown:default:-1:-1:-1
 802-3-ethernet::0::no:::::auto::::default::-1
-ipv4:auto::::0::::-1:0::no:no:::0:yes:::0x0:no:yes:-1::
-ipv6:auto::::0::::-1:0::no:no:no:yes:-1:stable-privacy:0:::0:yes::0x0:
+ipv4:auto::::0::::-1:0::no:no:::0:yes:::0x0:no:yes:-1:-1::
+ipv6:auto::::0::::-1:0::no:no:no:yes:-1:-1:stable-privacy:0:::0:yes::0x0:
 proxy:none:no::
 GENERAL:ethernet:UUID-ethernet-REPLACED-REPLACED-REPL:eth1:eth1:activated:no:no::no:/org/freedesktop/NetworkManager/ActiveConnection/2:/org/freedesktop/NetworkManager/Settings/Connection/6::
 
 GENERAL:ethernet:UUID-ethernet-REPLACED-REPLACED-REPL:eth0:eth0:deactivating:no:no::no:/org/freedesktop/NetworkManager/ActiveConnection/1:/org/freedesktop/NetworkManager/Settings/Connection/6::
 
 <<<
-size: 707
+size: 713
 location: src/tests/client/test-client.py:test_003()/182
 cmd: $NMCLI --mode tabular --terse c s /org/freedesktop/NetworkManager/ActiveConnection/1
 lang: C
 returncode: 0
-stdout: 511 bytes
+stdout: 517 bytes
 >>>
 connection:ethernet:UUID-ethernet-REPLACED-REPLACED-REPL::802-3-ethernet::yes:0:-1:0:-1:0:no:::::-1::0:unknown:default:-1:-1:-1
 802-3-ethernet::0::no:::::auto::::default::-1
-ipv4:auto::::0::::-1:0::no:no:::0:yes:::0x0:no:yes:-1::
-ipv6:auto::::0::::-1:0::no:no:no:yes:-1:stable-privacy:0:::0:yes::0x0:
+ipv4:auto::::0::::-1:0::no:no:::0:yes:::0x0:no:yes:-1:-1::
+ipv6:auto::::0::::-1:0::no:no:no:yes:-1:-1:stable-privacy:0:::0:yes::0x0:
 proxy:none:no::
 GENERAL:ethernet:UUID-ethernet-REPLACED-REPLACED-REPL:eth0:eth0:deactivating:no:no::no:/org/freedesktop/NetworkManager/ActiveConnection/1:/org/freedesktop/NetworkManager/Settings/Connection/6::
 
 <<<
-size: 717
+size: 723
 location: src/tests/client/test-client.py:test_003()/183
 cmd: $NMCLI --mode tabular --terse c s /org/freedesktop/NetworkManager/ActiveConnection/1
 lang: pl_PL.UTF-8
 returncode: 0
-stdout: 511 bytes
+stdout: 517 bytes
 >>>
 connection:ethernet:UUID-ethernet-REPLACED-REPLACED-REPL::802-3-ethernet::yes:0:-1:0:-1:0:no:::::-1::0:unknown:default:-1:-1:-1
 802-3-ethernet::0::no:::::auto::::default::-1
-ipv4:auto::::0::::-1:0::no:no:::0:yes:::0x0:no:yes:-1::
-ipv6:auto::::0::::-1:0::no:no:no:yes:-1:stable-privacy:0:::0:yes::0x0:
+ipv4:auto::::0::::-1:0::no:no:::0:yes:::0x0:no:yes:-1:-1::
+ipv6:auto::::0::::-1:0::no:no:no:yes:-1:-1:stable-privacy:0:::0:yes::0x0:
 proxy:none:no::
 GENERAL:ethernet:UUID-ethernet-REPLACED-REPLACED-REPL:eth0:eth0:deactivating:no:no::no:/org/freedesktop/NetworkManager/ActiveConnection/1:/org/freedesktop/NetworkManager/Settings/Connection/6::
 
 <<<
-size: 1449
+size: 1451
 location: src/tests/client/test-client.py:test_003()/184
 cmd: $NMCLI --mode tabular --terse -f all dev show eth0
 lang: C
 returncode: 0
-stdout: 1286 bytes
+stdout: 1288 bytes
 >>>
 GENERAL:eth0:ethernet:NMDeviceEthernet:/org/freedesktop/NetworkManager/Devices/1:::virtual:::C0\:61\:AE\:26\:4D\:D7:0:100 (connected):0 (No reason given):0 (unknown):0 (unknown):/sys/devices/virtual/eth0::eth0:no:yes:yes:no:no::ethernet:UUID-ethernet-REPLACED-REPLACED-REPL:/org/freedesktop/NetworkManager/ActiveConnection/1:unknown
 CAPABILITIES:no:100 Mb/s:no:no
 INTERFACE-FLAGS:yes:yes:no:no
 WIRED-PROPERTIES:on:
-IP4:192.168.6.238/29::dst = 192.168.58.133/31, nh = 192.168.50.116, mt = 3130348792 | dst = 192.168.155.50/19, nh = 192.168.127.64:192.168.213.113:sear4.foo4.bar:192.168.156.115 | 192.168.8.33
+IP4:192.168.6.238/29::dst = 192.168.58.133/31, nh = 192.168.50.116, mt = 3130348792 | dst = 192.168.155.50/19, nh = 192.168.127.64:192.168.213.113:sear4.foo4.bar::192.168.156.115 | 192.168.8.33
 DHCP4:
-IP6:2001\:a\:\:29c0\:62b9\:2e01\:30a/69 | 2001\:a\:\:6433\:6420\:34f9\:3801/115 | 2001\:a\:\:8191\:ed6b\:8ce\:b60/103:2001\:a\:\:2b50\:64d1\:9a91\:23b4:dst = 2001\:a\:\:5ecb\:f5ee\:fb96\:856c/100, nh = \:\:, mt = 4249082794:2001\:a\:\:1323\:9a78\:2b82\:d16b | 2001\:a\:\:4e1\:24e6\:b8c1\:91bb | 2001\:a\:\:bd96\:3bed\:fbd6\:19c5:sear6.fo.x.y | sear6.foo4.bar
+IP6:2001\:a\:\:29c0\:62b9\:2e01\:30a/69 | 2001\:a\:\:6433\:6420\:34f9\:3801/115 | 2001\:a\:\:8191\:ed6b\:8ce\:b60/103:2001\:a\:\:2b50\:64d1\:9a91\:23b4:dst = 2001\:a\:\:5ecb\:f5ee\:fb96\:856c/100, nh = \:\:, mt = 4249082794:2001\:a\:\:1323\:9a78\:2b82\:d16b | 2001\:a\:\:4e1\:24e6\:b8c1\:91bb | 2001\:a\:\:bd96\:3bed\:fbd6\:19c5:sear6.fo.x.y | sear6.foo4.bar:
 DHCP6:dhcp-6-opt-1 = val-1 | dhcp-6-opt-5 = val-5 | dhcp-6-opt-6 = val-6 | dhcp-6-opt-8 = val-8
 CONNECTIONS:/org/freedesktop/NetworkManager/Settings/Connection/{1,2,6}:5fcfd6d7-1e63-3332-8826-a7eda103792d | con-1 | UUID-con-xx1-REPLACED-REPLACED-REPLA | con-xx1 | UUID-ethernet-REPLACED-REPLACED-REPL | ethernet
 
 <<<
-size: 1459
+size: 1461
 location: src/tests/client/test-client.py:test_003()/185
 cmd: $NMCLI --mode tabular --terse -f all dev show eth0
 lang: pl_PL.UTF-8
 returncode: 0
-stdout: 1286 bytes
+stdout: 1288 bytes
 >>>
 GENERAL:eth0:ethernet:NMDeviceEthernet:/org/freedesktop/NetworkManager/Devices/1:::virtual:::C0\:61\:AE\:26\:4D\:D7:0:100 (connected):0 (No reason given):0 (unknown):0 (unknown):/sys/devices/virtual/eth0::eth0:no:yes:yes:no:no::ethernet:UUID-ethernet-REPLACED-REPLACED-REPL:/org/freedesktop/NetworkManager/ActiveConnection/1:unknown
 CAPABILITIES:no:100 Mb/s:no:no
 INTERFACE-FLAGS:yes:yes:no:no
 WIRED-PROPERTIES:on:
-IP4:192.168.6.238/29::dst = 192.168.58.133/31, nh = 192.168.50.116, mt = 3130348792 | dst = 192.168.155.50/19, nh = 192.168.127.64:192.168.213.113:sear4.foo4.bar:192.168.156.115 | 192.168.8.33
+IP4:192.168.6.238/29::dst = 192.168.58.133/31, nh = 192.168.50.116, mt = 3130348792 | dst = 192.168.155.50/19, nh = 192.168.127.64:192.168.213.113:sear4.foo4.bar::192.168.156.115 | 192.168.8.33
 DHCP4:
-IP6:2001\:a\:\:29c0\:62b9\:2e01\:30a/69 | 2001\:a\:\:6433\:6420\:34f9\:3801/115 | 2001\:a\:\:8191\:ed6b\:8ce\:b60/103:2001\:a\:\:2b50\:64d1\:9a91\:23b4:dst = 2001\:a\:\:5ecb\:f5ee\:fb96\:856c/100, nh = \:\:, mt = 4249082794:2001\:a\:\:1323\:9a78\:2b82\:d16b | 2001\:a\:\:4e1\:24e6\:b8c1\:91bb | 2001\:a\:\:bd96\:3bed\:fbd6\:19c5:sear6.fo.x.y | sear6.foo4.bar
+IP6:2001\:a\:\:29c0\:62b9\:2e01\:30a/69 | 2001\:a\:\:6433\:6420\:34f9\:3801/115 | 2001\:a\:\:8191\:ed6b\:8ce\:b60/103:2001\:a\:\:2b50\:64d1\:9a91\:23b4:dst = 2001\:a\:\:5ecb\:f5ee\:fb96\:856c/100, nh = \:\:, mt = 4249082794:2001\:a\:\:1323\:9a78\:2b82\:d16b | 2001\:a\:\:4e1\:24e6\:b8c1\:91bb | 2001\:a\:\:bd96\:3bed\:fbd6\:19c5:sear6.fo.x.y | sear6.foo4.bar:
 DHCP6:dhcp-6-opt-1 = val-1 | dhcp-6-opt-5 = val-5 | dhcp-6-opt-6 = val-6 | dhcp-6-opt-8 = val-8
 CONNECTIONS:/org/freedesktop/NetworkManager/Settings/Connection/{1,2,6}:5fcfd6d7-1e63-3332-8826-a7eda103792d | con-1 | UUID-con-xx1-REPLACED-REPLACED-REPLA | con-xx1 | UUID-ethernet-REPLACED-REPLACED-REPL | ethernet
 
@@ -8608,102 +8684,102 @@ UUID-con-gsm3-REPLACED-REPLACED-REPL:gsm
 UUID-con-xx1-REPLACED-REPLACED-REPLA:802-3-ethernet
 
 <<<
-size: 871
+size: 877
 location: src/tests/client/test-client.py:test_003()/190
 cmd: $NMCLI --mode tabular --terse --color yes con s ethernet
 lang: C
 returncode: 0
-stdout: 703 bytes
+stdout: 709 bytes
 >>>
 connection:ethernet:UUID-ethernet-REPLACED-REPLACED-REPL::802-3-ethernet::yes:0:-1:0:-1:0:no:::::-1::0:unknown:default:-1:-1:-1
 802-3-ethernet::0::no:::::auto::::default::-1
-ipv4:auto::::0::::-1:0::no:no:::0:yes:::0x0:no:yes:-1::
-ipv6:auto::::0::::-1:0::no:no:no:yes:-1:stable-privacy:0:::0:yes::0x0:
+ipv4:auto::::0::::-1:0::no:no:::0:yes:::0x0:no:yes:-1:-1::
+ipv6:auto::::0::::-1:0::no:no:no:yes:-1:-1:stable-privacy:0:::0:yes::0x0:
 proxy:none:no::
 GENERAL:ethernet:UUID-ethernet-REPLACED-REPLACED-REPL:eth1:eth1:activated:no:no::no:/org/freedesktop/NetworkManager/ActiveConnection/2:/org/freedesktop/NetworkManager/Settings/Connection/6::
 
 GENERAL:ethernet:UUID-ethernet-REPLACED-REPLACED-REPL:eth0:eth0:deactivating:no:no::no:/org/freedesktop/NetworkManager/ActiveConnection/1:/org/freedesktop/NetworkManager/Settings/Connection/6::
 
 <<<
-size: 881
+size: 887
 location: src/tests/client/test-client.py:test_003()/191
 cmd: $NMCLI --mode tabular --terse --color yes con s ethernet
 lang: pl_PL.UTF-8
 returncode: 0
-stdout: 703 bytes
+stdout: 709 bytes
 >>>
 connection:ethernet:UUID-ethernet-REPLACED-REPLACED-REPL::802-3-ethernet::yes:0:-1:0:-1:0:no:::::-1::0:unknown:default:-1:-1:-1
 802-3-ethernet::0::no:::::auto::::default::-1
-ipv4:auto::::0::::-1:0::no:no:::0:yes:::0x0:no:yes:-1::
-ipv6:auto::::0::::-1:0::no:no:no:yes:-1:stable-privacy:0:::0:yes::0x0:
+ipv4:auto::::0::::-1:0::no:no:::0:yes:::0x0:no:yes:-1:-1::
+ipv6:auto::::0::::-1:0::no:no:no:yes:-1:-1:stable-privacy:0:::0:yes::0x0:
 proxy:none:no::
 GENERAL:ethernet:UUID-ethernet-REPLACED-REPLACED-REPL:eth1:eth1:activated:no:no::no:/org/freedesktop/NetworkManager/ActiveConnection/2:/org/freedesktop/NetworkManager/Settings/Connection/6::
 
 GENERAL:ethernet:UUID-ethernet-REPLACED-REPLACED-REPL:eth0:eth0:deactivating:no:no::no:/org/freedesktop/NetworkManager/ActiveConnection/1:/org/freedesktop/NetworkManager/Settings/Connection/6::
 
 <<<
-size: 719
+size: 725
 location: src/tests/client/test-client.py:test_003()/192
 cmd: $NMCLI --mode tabular --terse --color yes c s /org/freedesktop/NetworkManager/ActiveConnection/1
 lang: C
 returncode: 0
-stdout: 511 bytes
+stdout: 517 bytes
 >>>
 connection:ethernet:UUID-ethernet-REPLACED-REPLACED-REPL::802-3-ethernet::yes:0:-1:0:-1:0:no:::::-1::0:unknown:default:-1:-1:-1
 802-3-ethernet::0::no:::::auto::::default::-1
-ipv4:auto::::0::::-1:0::no:no:::0:yes:::0x0:no:yes:-1::
-ipv6:auto::::0::::-1:0::no:no:no:yes:-1:stable-privacy:0:::0:yes::0x0:
+ipv4:auto::::0::::-1:0::no:no:::0:yes:::0x0:no:yes:-1:-1::
+ipv6:auto::::0::::-1:0::no:no:no:yes:-1:-1:stable-privacy:0:::0:yes::0x0:
 proxy:none:no::
 GENERAL:ethernet:UUID-ethernet-REPLACED-REPLACED-REPL:eth0:eth0:deactivating:no:no::no:/org/freedesktop/NetworkManager/ActiveConnection/1:/org/freedesktop/NetworkManager/Settings/Connection/6::
 
 <<<
-size: 729
+size: 735
 location: src/tests/client/test-client.py:test_003()/193
 cmd: $NMCLI --mode tabular --terse --color yes c s /org/freedesktop/NetworkManager/ActiveConnection/1
 lang: pl_PL.UTF-8
 returncode: 0
-stdout: 511 bytes
+stdout: 517 bytes
 >>>
 connection:ethernet:UUID-ethernet-REPLACED-REPLACED-REPL::802-3-ethernet::yes:0:-1:0:-1:0:no:::::-1::0:unknown:default:-1:-1:-1
 802-3-ethernet::0::no:::::auto::::default::-1
-ipv4:auto::::0::::-1:0::no:no:::0:yes:::0x0:no:yes:-1::
-ipv6:auto::::0::::-1:0::no:no:no:yes:-1:stable-privacy:0:::0:yes::0x0:
+ipv4:auto::::0::::-1:0::no:no:::0:yes:::0x0:no:yes:-1:-1::
+ipv6:auto::::0::::-1:0::no:no:no:yes:-1:-1:stable-privacy:0:::0:yes::0x0:
 proxy:none:no::
 GENERAL:ethernet:UUID-ethernet-REPLACED-REPLACED-REPL:eth0:eth0:deactivating:no:no::no:/org/freedesktop/NetworkManager/ActiveConnection/1:/org/freedesktop/NetworkManager/Settings/Connection/6::
 
 <<<
-size: 1461
+size: 1463
 location: src/tests/client/test-client.py:test_003()/194
 cmd: $NMCLI --mode tabular --terse --color yes -f all dev show eth0
 lang: C
 returncode: 0
-stdout: 1286 bytes
+stdout: 1288 bytes
 >>>
 GENERAL:eth0:ethernet:NMDeviceEthernet:/org/freedesktop/NetworkManager/Devices/1:::virtual:::C0\:61\:AE\:26\:4D\:D7:0:100 (connected):0 (No reason given):0 (unknown):0 (unknown):/sys/devices/virtual/eth0::eth0:no:yes:yes:no:no::ethernet:UUID-ethernet-REPLACED-REPLACED-REPL:/org/freedesktop/NetworkManager/ActiveConnection/1:unknown
 CAPABILITIES:no:100 Mb/s:no:no
 INTERFACE-FLAGS:yes:yes:no:no
 WIRED-PROPERTIES:on:
-IP4:192.168.6.238/29::dst = 192.168.58.133/31, nh = 192.168.50.116, mt = 3130348792 | dst = 192.168.155.50/19, nh = 192.168.127.64:192.168.213.113:sear4.foo4.bar:192.168.156.115 | 192.168.8.33
+IP4:192.168.6.238/29::dst = 192.168.58.133/31, nh = 192.168.50.116, mt = 3130348792 | dst = 192.168.155.50/19, nh = 192.168.127.64:192.168.213.113:sear4.foo4.bar::192.168.156.115 | 192.168.8.33
 DHCP4:
-IP6:2001\:a\:\:29c0\:62b9\:2e01\:30a/69 | 2001\:a\:\:6433\:6420\:34f9\:3801/115 | 2001\:a\:\:8191\:ed6b\:8ce\:b60/103:2001\:a\:\:2b50\:64d1\:9a91\:23b4:dst = 2001\:a\:\:5ecb\:f5ee\:fb96\:856c/100, nh = \:\:, mt = 4249082794:2001\:a\:\:1323\:9a78\:2b82\:d16b | 2001\:a\:\:4e1\:24e6\:b8c1\:91bb | 2001\:a\:\:bd96\:3bed\:fbd6\:19c5:sear6.fo.x.y | sear6.foo4.bar
+IP6:2001\:a\:\:29c0\:62b9\:2e01\:30a/69 | 2001\:a\:\:6433\:6420\:34f9\:3801/115 | 2001\:a\:\:8191\:ed6b\:8ce\:b60/103:2001\:a\:\:2b50\:64d1\:9a91\:23b4:dst = 2001\:a\:\:5ecb\:f5ee\:fb96\:856c/100, nh = \:\:, mt = 4249082794:2001\:a\:\:1323\:9a78\:2b82\:d16b | 2001\:a\:\:4e1\:24e6\:b8c1\:91bb | 2001\:a\:\:bd96\:3bed\:fbd6\:19c5:sear6.fo.x.y | sear6.foo4.bar:
 DHCP6:dhcp-6-opt-1 = val-1 | dhcp-6-opt-5 = val-5 | dhcp-6-opt-6 = val-6 | dhcp-6-opt-8 = val-8
 CONNECTIONS:/org/freedesktop/NetworkManager/Settings/Connection/{1,2,6}:5fcfd6d7-1e63-3332-8826-a7eda103792d | con-1 | UUID-con-xx1-REPLACED-REPLACED-REPLA | con-xx1 | UUID-ethernet-REPLACED-REPLACED-REPL | ethernet
 
 <<<
-size: 1471
+size: 1473
 location: src/tests/client/test-client.py:test_003()/195
 cmd: $NMCLI --mode tabular --terse --color yes -f all dev show eth0
 lang: pl_PL.UTF-8
 returncode: 0
-stdout: 1286 bytes
+stdout: 1288 bytes
 >>>
 GENERAL:eth0:ethernet:NMDeviceEthernet:/org/freedesktop/NetworkManager/Devices/1:::virtual:::C0\:61\:AE\:26\:4D\:D7:0:100 (connected):0 (No reason given):0 (unknown):0 (unknown):/sys/devices/virtual/eth0::eth0:no:yes:yes:no:no::ethernet:UUID-ethernet-REPLACED-REPLACED-REPL:/org/freedesktop/NetworkManager/ActiveConnection/1:unknown
 CAPABILITIES:no:100 Mb/s:no:no
 INTERFACE-FLAGS:yes:yes:no:no
 WIRED-PROPERTIES:on:
-IP4:192.168.6.238/29::dst = 192.168.58.133/31, nh = 192.168.50.116, mt = 3130348792 | dst = 192.168.155.50/19, nh = 192.168.127.64:192.168.213.113:sear4.foo4.bar:192.168.156.115 | 192.168.8.33
+IP4:192.168.6.238/29::dst = 192.168.58.133/31, nh = 192.168.50.116, mt = 3130348792 | dst = 192.168.155.50/19, nh = 192.168.127.64:192.168.213.113:sear4.foo4.bar::192.168.156.115 | 192.168.8.33
 DHCP4:
-IP6:2001\:a\:\:29c0\:62b9\:2e01\:30a/69 | 2001\:a\:\:6433\:6420\:34f9\:3801/115 | 2001\:a\:\:8191\:ed6b\:8ce\:b60/103:2001\:a\:\:2b50\:64d1\:9a91\:23b4:dst = 2001\:a\:\:5ecb\:f5ee\:fb96\:856c/100, nh = \:\:, mt = 4249082794:2001\:a\:\:1323\:9a78\:2b82\:d16b | 2001\:a\:\:4e1\:24e6\:b8c1\:91bb | 2001\:a\:\:bd96\:3bed\:fbd6\:19c5:sear6.fo.x.y | sear6.foo4.bar
+IP6:2001\:a\:\:29c0\:62b9\:2e01\:30a/69 | 2001\:a\:\:6433\:6420\:34f9\:3801/115 | 2001\:a\:\:8191\:ed6b\:8ce\:b60/103:2001\:a\:\:2b50\:64d1\:9a91\:23b4:dst = 2001\:a\:\:5ecb\:f5ee\:fb96\:856c/100, nh = \:\:, mt = 4249082794:2001\:a\:\:1323\:9a78\:2b82\:d16b | 2001\:a\:\:4e1\:24e6\:b8c1\:91bb | 2001\:a\:\:bd96\:3bed\:fbd6\:19c5:sear6.fo.x.y | sear6.foo4.bar:
 DHCP6:dhcp-6-opt-1 = val-1 | dhcp-6-opt-5 = val-5 | dhcp-6-opt-6 = val-6 | dhcp-6-opt-8 = val-8
 CONNECTIONS:/org/freedesktop/NetworkManager/Settings/Connection/{1,2,6}:5fcfd6d7-1e63-3332-8826-a7eda103792d | con-1 | UUID-con-xx1-REPLACED-REPLACED-REPLA | con-xx1 | UUID-ethernet-REPLACED-REPLACED-REPL | ethernet
 
@@ -8978,12 +9054,12 @@ UUID:                                   UUID-con-xx1-REPLACED-REPLACED-REPLA
 TYPE:                                   ethernet
 
 <<<
-size: 5797
+size: 5903
 location: src/tests/client/test-client.py:test_003()/200
 cmd: $NMCLI --mode multiline con s ethernet
 lang: C
 returncode: 0
-stdout: 5646 bytes
+stdout: 5752 bytes
 >>>
 connection.id:                          ethernet
 connection.uuid:                        UUID-ethernet-REPLACED-REPLACED-REPL
@@ -9046,6 +9122,7 @@ ipv4.dhcp-fqdn:                         --
 ipv4.dhcp-hostname-flags:               0x0 (none)
 ipv4.never-default:                     no
 ipv4.may-fail:                          yes
+ipv4.required-timeout:                  -1 (default)
 ipv4.dad-timeout:                       -1 (default)
 ipv4.dhcp-vendor-class-identifier:      --
 ipv4.dhcp-reject-servers:               --
@@ -9064,6 +9141,7 @@ ipv6.ignore-auto-routes:                no
 ipv6.ignore-auto-dns:                   no
 ipv6.never-default:                     no
 ipv6.may-fail:                          yes
+ipv6.required-timeout:                  -1 (default)
 ipv6.ip6-privacy:                       -1 (unknown)
 ipv6.addr-gen-mode:                     stable-privacy
 ipv6.ra-timeout:                        0 (default)
@@ -9107,12 +9185,12 @@ GENERAL.ZONE:                           --
 GENERAL.MASTER-PATH:                    --
 
 <<<
-size: 5834
+size: 5940
 location: src/tests/client/test-client.py:test_003()/201
 cmd: $NMCLI --mode multiline con s ethernet
 lang: pl_PL.UTF-8
 returncode: 0
-stdout: 5673 bytes
+stdout: 5779 bytes
 >>>
 connection.id:                          ethernet
 connection.uuid:                        UUID-ethernet-REPLACED-REPLACED-REPL
@@ -9175,6 +9253,7 @@ ipv4.dhcp-fqdn:                         --
 ipv4.dhcp-hostname-flags:               0x0 (none)
 ipv4.never-default:                     nie
 ipv4.may-fail:                          tak
+ipv4.required-timeout:                  -1 (default)
 ipv4.dad-timeout:                       -1 (default)
 ipv4.dhcp-vendor-class-identifier:      --
 ipv4.dhcp-reject-servers:               --
@@ -9193,6 +9272,7 @@ ipv6.ignore-auto-routes:                nie
 ipv6.ignore-auto-dns:                   nie
 ipv6.never-default:                     nie
 ipv6.may-fail:                          tak
+ipv6.required-timeout:                  -1 (default)
 ipv6.ip6-privacy:                       -1 (unknown)
 ipv6.addr-gen-mode:                     stable-privacy
 ipv6.ra-timeout:                        0 (default)
@@ -9236,12 +9316,12 @@ GENERAL.ZONE:                           --
 GENERAL.MASTER-PATH:                    --
 
 <<<
-size: 5127
+size: 5233
 location: src/tests/client/test-client.py:test_003()/202
 cmd: $NMCLI --mode multiline c s /org/freedesktop/NetworkManager/ActiveConnection/1
 lang: C
 returncode: 0
-stdout: 4936 bytes
+stdout: 5042 bytes
 >>>
 connection.id:                          ethernet
 connection.uuid:                        UUID-ethernet-REPLACED-REPLACED-REPL
@@ -9304,6 +9384,7 @@ ipv4.dhcp-fqdn:                         --
 ipv4.dhcp-hostname-flags:               0x0 (none)
 ipv4.never-default:                     no
 ipv4.may-fail:                          yes
+ipv4.required-timeout:                  -1 (default)
 ipv4.dad-timeout:                       -1 (default)
 ipv4.dhcp-vendor-class-identifier:      --
 ipv4.dhcp-reject-servers:               --
@@ -9322,6 +9403,7 @@ ipv6.ignore-auto-routes:                no
 ipv6.ignore-auto-dns:                   no
 ipv6.never-default:                     no
 ipv6.may-fail:                          yes
+ipv6.required-timeout:                  -1 (default)
 ipv6.ip6-privacy:                       -1 (unknown)
 ipv6.addr-gen-mode:                     stable-privacy
 ipv6.ra-timeout:                        0 (default)
@@ -9351,12 +9433,12 @@ GENERAL.ZONE:                           --
 GENERAL.MASTER-PATH:                    --
 
 <<<
-size: 5160
+size: 5266
 location: src/tests/client/test-client.py:test_003()/203
 cmd: $NMCLI --mode multiline c s /org/freedesktop/NetworkManager/ActiveConnection/1
 lang: pl_PL.UTF-8
 returncode: 0
-stdout: 4959 bytes
+stdout: 5065 bytes
 >>>
 connection.id:                          ethernet
 connection.uuid:                        UUID-ethernet-REPLACED-REPLACED-REPL
@@ -9419,6 +9501,7 @@ ipv4.dhcp-fqdn:                         --
 ipv4.dhcp-hostname-flags:               0x0 (none)
 ipv4.never-default:                     nie
 ipv4.may-fail:                          tak
+ipv4.required-timeout:                  -1 (default)
 ipv4.dad-timeout:                       -1 (default)
 ipv4.dhcp-vendor-class-identifier:      --
 ipv4.dhcp-reject-servers:               --
@@ -9437,6 +9520,7 @@ ipv6.ignore-auto-routes:                nie
 ipv6.ignore-auto-dns:                   nie
 ipv6.never-default:                     nie
 ipv6.may-fail:                          tak
+ipv6.required-timeout:                  -1 (default)
 ipv6.ip6-privacy:                       -1 (unknown)
 ipv6.addr-gen-mode:                     stable-privacy
 ipv6.ra-timeout:                        0 (default)
@@ -9880,12 +9964,12 @@ UUID:                                   UUID-con-xx1-REPLACED-REPLACED-REPLA
 TYPE:                                   ethernet
 
 <<<
-size: 5809
+size: 5915
 location: src/tests/client/test-client.py:test_003()/210
 cmd: $NMCLI --mode multiline --color yes con s ethernet
 lang: C
 returncode: 0
-stdout: 5646 bytes
+stdout: 5752 bytes
 >>>
 connection.id:                          ethernet
 connection.uuid:                        UUID-ethernet-REPLACED-REPLACED-REPL
@@ -9948,6 +10032,7 @@ ipv4.dhcp-fqdn:                         --
 ipv4.dhcp-hostname-flags:               0x0 (none)
 ipv4.never-default:                     no
 ipv4.may-fail:                          yes
+ipv4.required-timeout:                  -1 (default)
 ipv4.dad-timeout:                       -1 (default)
 ipv4.dhcp-vendor-class-identifier:      --
 ipv4.dhcp-reject-servers:               --
@@ -9966,6 +10051,7 @@ ipv6.ignore-auto-routes:                no
 ipv6.ignore-auto-dns:                   no
 ipv6.never-default:                     no
 ipv6.may-fail:                          yes
+ipv6.required-timeout:                  -1 (default)
 ipv6.ip6-privacy:                       -1 (unknown)
 ipv6.addr-gen-mode:                     stable-privacy
 ipv6.ra-timeout:                        0 (default)
@@ -10009,12 +10095,12 @@ GENERAL.ZONE:                           --
 GENERAL.MASTER-PATH:                    --
 
 <<<
-size: 5846
+size: 5952
 location: src/tests/client/test-client.py:test_003()/211
 cmd: $NMCLI --mode multiline --color yes con s ethernet
 lang: pl_PL.UTF-8
 returncode: 0
-stdout: 5673 bytes
+stdout: 5779 bytes
 >>>
 connection.id:                          ethernet
 connection.uuid:                        UUID-ethernet-REPLACED-REPLACED-REPL
@@ -10077,6 +10163,7 @@ ipv4.dhcp-fqdn:                         --
 ipv4.dhcp-hostname-flags:               0x0 (none)
 ipv4.never-default:                     nie
 ipv4.may-fail:                          tak
+ipv4.required-timeout:                  -1 (default)
 ipv4.dad-timeout:                       -1 (default)
 ipv4.dhcp-vendor-class-identifier:      --
 ipv4.dhcp-reject-servers:               --
@@ -10095,6 +10182,7 @@ ipv6.ignore-auto-routes:                nie
 ipv6.ignore-auto-dns:                   nie
 ipv6.never-default:                     nie
 ipv6.may-fail:                          tak
+ipv6.required-timeout:                  -1 (default)
 ipv6.ip6-privacy:                       -1 (unknown)
 ipv6.addr-gen-mode:                     stable-privacy
 ipv6.ra-timeout:                        0 (default)
@@ -10138,12 +10226,12 @@ GENERAL.ZONE:                           --
 GENERAL.MASTER-PATH:                    --
 
 <<<
-size: 5139
+size: 5245
 location: src/tests/client/test-client.py:test_003()/212
 cmd: $NMCLI --mode multiline --color yes c s /org/freedesktop/NetworkManager/ActiveConnection/1
 lang: C
 returncode: 0
-stdout: 4936 bytes
+stdout: 5042 bytes
 >>>
 connection.id:                          ethernet
 connection.uuid:                        UUID-ethernet-REPLACED-REPLACED-REPL
@@ -10206,6 +10294,7 @@ ipv4.dhcp-fqdn:                         --
 ipv4.dhcp-hostname-flags:               0x0 (none)
 ipv4.never-default:                     no
 ipv4.may-fail:                          yes
+ipv4.required-timeout:                  -1 (default)
 ipv4.dad-timeout:                       -1 (default)
 ipv4.dhcp-vendor-class-identifier:      --
 ipv4.dhcp-reject-servers:               --
@@ -10224,6 +10313,7 @@ ipv6.ignore-auto-routes:                no
 ipv6.ignore-auto-dns:                   no
 ipv6.never-default:                     no
 ipv6.may-fail:                          yes
+ipv6.required-timeout:                  -1 (default)
 ipv6.ip6-privacy:                       -1 (unknown)
 ipv6.addr-gen-mode:                     stable-privacy
 ipv6.ra-timeout:                        0 (default)
@@ -10253,12 +10343,12 @@ GENERAL.ZONE:                           --
 GENERAL.MASTER-PATH:                    --
 
 <<<
-size: 5172
+size: 5278
 location: src/tests/client/test-client.py:test_003()/213
 cmd: $NMCLI --mode multiline --color yes c s /org/freedesktop/NetworkManager/ActiveConnection/1
 lang: pl_PL.UTF-8
 returncode: 0
-stdout: 4959 bytes
+stdout: 5065 bytes
 >>>
 connection.id:                          ethernet
 connection.uuid:                        UUID-ethernet-REPLACED-REPLACED-REPL
@@ -10321,6 +10411,7 @@ ipv4.dhcp-fqdn:                         --
 ipv4.dhcp-hostname-flags:               0x0 (none)
 ipv4.never-default:                     nie
 ipv4.may-fail:                          tak
+ipv4.required-timeout:                  -1 (default)
 ipv4.dad-timeout:                       -1 (default)
 ipv4.dhcp-vendor-class-identifier:      --
 ipv4.dhcp-reject-servers:               --
@@ -10339,6 +10430,7 @@ ipv6.ignore-auto-routes:                nie
 ipv6.ignore-auto-dns:                   nie
 ipv6.never-default:                     nie
 ipv6.may-fail:                          tak
+ipv6.required-timeout:                  -1 (default)
 ipv6.ip6-privacy:                       -1 (unknown)
 ipv6.addr-gen-mode:                     stable-privacy
 ipv6.ra-timeout:                        0 (default)
@@ -10820,12 +10912,12 @@ TYPE:                                   ethernet
 -------------------------------------------------------------------------------
 
 <<<
-size: 7051
+size: 7157
 location: src/tests/client/test-client.py:test_003()/220
 cmd: $NMCLI --mode multiline --pretty con s ethernet
 lang: C
 returncode: 0
-stdout: 6891 bytes
+stdout: 6997 bytes
 >>>
 ===============================================================================
                      Connection profile details (ethernet)
@@ -10893,6 +10985,7 @@ ipv4.dhcp-fqdn:                         --
 ipv4.dhcp-hostname-flags:               0x0 (none)
 ipv4.never-default:                     no
 ipv4.may-fail:                          yes
+ipv4.required-timeout:                  -1 (default)
 ipv4.dad-timeout:                       -1 (default)
 ipv4.dhcp-vendor-class-identifier:      --
 ipv4.dhcp-reject-servers:               --
@@ -10912,6 +11005,7 @@ ipv6.ignore-auto-routes:                no
 ipv6.ignore-auto-dns:                   no
 ipv6.never-default:                     no
 ipv6.may-fail:                          yes
+ipv6.required-timeout:                  -1 (default)
 ipv6.ip6-privacy:                       -1 (unknown)
 ipv6.addr-gen-mode:                     stable-privacy
 ipv6.ra-timeout:                        0 (default)
@@ -10965,12 +11059,12 @@ GENERAL.MASTER-PATH:                    --
 -------------------------------------------------------------------------------
 
 <<<
-size: 7107
+size: 7213
 location: src/tests/client/test-client.py:test_003()/221
 cmd: $NMCLI --mode multiline --pretty con s ethernet
 lang: pl_PL.UTF-8
 returncode: 0
-stdout: 6937 bytes
+stdout: 7043 bytes
 >>>
 ===============================================================================
                     Szczegóły profilu połączenia (ethernet)
@@ -11038,6 +11132,7 @@ ipv4.dhcp-fqdn:                         --
 ipv4.dhcp-hostname-flags:               0x0 (none)
 ipv4.never-default:                     nie
 ipv4.may-fail:                          tak
+ipv4.required-timeout:                  -1 (default)
 ipv4.dad-timeout:                       -1 (default)
 ipv4.dhcp-vendor-class-identifier:      --
 ipv4.dhcp-reject-servers:               --
@@ -11057,6 +11152,7 @@ ipv6.ignore-auto-routes:                nie
 ipv6.ignore-auto-dns:                   nie
 ipv6.never-default:                     nie
 ipv6.may-fail:                          tak
+ipv6.required-timeout:                  -1 (default)
 ipv6.ip6-privacy:                       -1 (unknown)
 ipv6.addr-gen-mode:                     stable-privacy
 ipv6.ra-timeout:                        0 (default)
@@ -11110,12 +11206,12 @@ GENERAL.MASTER-PATH:                    --
 -------------------------------------------------------------------------------
 
 <<<
-size: 6068
+size: 6174
 location: src/tests/client/test-client.py:test_003()/222
 cmd: $NMCLI --mode multiline --pretty c s /org/freedesktop/NetworkManager/ActiveConnection/1
 lang: C
 returncode: 0
-stdout: 5868 bytes
+stdout: 5974 bytes
 >>>
 ===============================================================================
                      Connection profile details (ethernet)
@@ -11183,6 +11279,7 @@ ipv4.dhcp-fqdn:                         --
 ipv4.dhcp-hostname-flags:               0x0 (none)
 ipv4.never-default:                     no
 ipv4.may-fail:                          yes
+ipv4.required-timeout:                  -1 (default)
 ipv4.dad-timeout:                       -1 (default)
 ipv4.dhcp-vendor-class-identifier:      --
 ipv4.dhcp-reject-servers:               --
@@ -11202,6 +11299,7 @@ ipv6.ignore-auto-routes:                no
 ipv6.ignore-auto-dns:                   no
 ipv6.never-default:                     no
 ipv6.may-fail:                          yes
+ipv6.required-timeout:                  -1 (default)
 ipv6.ip6-privacy:                       -1 (unknown)
 ipv6.addr-gen-mode:                     stable-privacy
 ipv6.ra-timeout:                        0 (default)
@@ -11237,12 +11335,12 @@ GENERAL.MASTER-PATH:                    --
 -------------------------------------------------------------------------------
 
 <<<
-size: 6113
+size: 6219
 location: src/tests/client/test-client.py:test_003()/223
 cmd: $NMCLI --mode multiline --pretty c s /org/freedesktop/NetworkManager/ActiveConnection/1
 lang: pl_PL.UTF-8
 returncode: 0
-stdout: 5903 bytes
+stdout: 6009 bytes
 >>>
 ===============================================================================
                     Szczegóły profilu połączenia (ethernet)
@@ -11310,6 +11408,7 @@ ipv4.dhcp-fqdn:                         --
 ipv4.dhcp-hostname-flags:               0x0 (none)
 ipv4.never-default:                     nie
 ipv4.may-fail:                          tak
+ipv4.required-timeout:                  -1 (default)
 ipv4.dad-timeout:                       -1 (default)
 ipv4.dhcp-vendor-class-identifier:      --
 ipv4.dhcp-reject-servers:               --
@@ -11329,6 +11428,7 @@ ipv6.ignore-auto-routes:                nie
 ipv6.ignore-auto-dns:                   nie
 ipv6.never-default:                     nie
 ipv6.may-fail:                          tak
+ipv6.required-timeout:                  -1 (default)
 ipv6.ip6-privacy:                       -1 (unknown)
 ipv6.addr-gen-mode:                     stable-privacy
 ipv6.ra-timeout:                        0 (default)
@@ -11840,12 +11940,12 @@ TYPE:                                   ethernet
 -------------------------------------------------------------------------------
 
 <<<
-size: 7063
+size: 7169
 location: src/tests/client/test-client.py:test_003()/230
 cmd: $NMCLI --mode multiline --pretty --color yes con s ethernet
 lang: C
 returncode: 0
-stdout: 6891 bytes
+stdout: 6997 bytes
 >>>
 ===============================================================================
                      Connection profile details (ethernet)
@@ -11913,6 +12013,7 @@ ipv4.dhcp-fqdn:                         --
 ipv4.dhcp-hostname-flags:               0x0 (none)
 ipv4.never-default:                     no
 ipv4.may-fail:                          yes
+ipv4.required-timeout:                  -1 (default)
 ipv4.dad-timeout:                       -1 (default)
 ipv4.dhcp-vendor-class-identifier:      --
 ipv4.dhcp-reject-servers:               --
@@ -11932,6 +12033,7 @@ ipv6.ignore-auto-routes:                no
 ipv6.ignore-auto-dns:                   no
 ipv6.never-default:                     no
 ipv6.may-fail:                          yes
+ipv6.required-timeout:                  -1 (default)
 ipv6.ip6-privacy:                       -1 (unknown)
 ipv6.addr-gen-mode:                     stable-privacy
 ipv6.ra-timeout:                        0 (default)
@@ -11985,12 +12087,12 @@ GENERAL.MASTER-PATH:                    --
 -------------------------------------------------------------------------------
 
 <<<
-size: 7119
+size: 7225
 location: src/tests/client/test-client.py:test_003()/231
 cmd: $NMCLI --mode multiline --pretty --color yes con s ethernet
 lang: pl_PL.UTF-8
 returncode: 0
-stdout: 6937 bytes
+stdout: 7043 bytes
 >>>
 ===============================================================================
                     Szczegóły profilu połączenia (ethernet)
@@ -12058,6 +12160,7 @@ ipv4.dhcp-fqdn:                         --
 ipv4.dhcp-hostname-flags:               0x0 (none)
 ipv4.never-default:                     nie
 ipv4.may-fail:                          tak
+ipv4.required-timeout:                  -1 (default)
 ipv4.dad-timeout:                       -1 (default)
 ipv4.dhcp-vendor-class-identifier:      --
 ipv4.dhcp-reject-servers:               --
@@ -12077,6 +12180,7 @@ ipv6.ignore-auto-routes:                nie
 ipv6.ignore-auto-dns:                   nie
 ipv6.never-default:                     nie
 ipv6.may-fail:                          tak
+ipv6.required-timeout:                  -1 (default)
 ipv6.ip6-privacy:                       -1 (unknown)
 ipv6.addr-gen-mode:                     stable-privacy
 ipv6.ra-timeout:                        0 (default)
@@ -12130,12 +12234,12 @@ GENERAL.MASTER-PATH:                    --
 -------------------------------------------------------------------------------
 
 <<<
-size: 6080
+size: 6186
 location: src/tests/client/test-client.py:test_003()/232
 cmd: $NMCLI --mode multiline --pretty --color yes c s /org/freedesktop/NetworkManager/ActiveConnection/1
 lang: C
 returncode: 0
-stdout: 5868 bytes
+stdout: 5974 bytes
 >>>
 ===============================================================================
                      Connection profile details (ethernet)
@@ -12203,6 +12307,7 @@ ipv4.dhcp-fqdn:                         --
 ipv4.dhcp-hostname-flags:               0x0 (none)
 ipv4.never-default:                     no
 ipv4.may-fail:                          yes
+ipv4.required-timeout:                  -1 (default)
 ipv4.dad-timeout:                       -1 (default)
 ipv4.dhcp-vendor-class-identifier:      --
 ipv4.dhcp-reject-servers:               --
@@ -12222,6 +12327,7 @@ ipv6.ignore-auto-routes:                no
 ipv6.ignore-auto-dns:                   no
 ipv6.never-default:                     no
 ipv6.may-fail:                          yes
+ipv6.required-timeout:                  -1 (default)
 ipv6.ip6-privacy:                       -1 (unknown)
 ipv6.addr-gen-mode:                     stable-privacy
 ipv6.ra-timeout:                        0 (default)
@@ -12257,12 +12363,12 @@ GENERAL.MASTER-PATH:                    --
 -------------------------------------------------------------------------------
 
 <<<
-size: 6125
+size: 6231
 location: src/tests/client/test-client.py:test_003()/233
 cmd: $NMCLI --mode multiline --pretty --color yes c s /org/freedesktop/NetworkManager/ActiveConnection/1
 lang: pl_PL.UTF-8
 returncode: 0
-stdout: 5903 bytes
+stdout: 6009 bytes
 >>>
 ===============================================================================
                     Szczegóły profilu połączenia (ethernet)
@@ -12330,6 +12436,7 @@ ipv4.dhcp-fqdn:                         --
 ipv4.dhcp-hostname-flags:               0x0 (none)
 ipv4.never-default:                     nie
 ipv4.may-fail:                          tak
+ipv4.required-timeout:                  -1 (default)
 ipv4.dad-timeout:                       -1 (default)
 ipv4.dhcp-vendor-class-identifier:      --
 ipv4.dhcp-reject-servers:               --
@@ -12349,6 +12456,7 @@ ipv6.ignore-auto-routes:                nie
 ipv6.ignore-auto-dns:                   nie
 ipv6.never-default:                     nie
 ipv6.may-fail:                          tak
+ipv6.required-timeout:                  -1 (default)
 ipv6.ip6-privacy:                       -1 (unknown)
 ipv6.addr-gen-mode:                     stable-privacy
 ipv6.ra-timeout:                        0 (default)
@@ -12822,12 +12930,12 @@ UUID:UUID-con-xx1-REPLACED-REPLACED-REPLA
 TYPE:802-3-ethernet
 
 <<<
-size: 3133
+size: 3183
 location: src/tests/client/test-client.py:test_003()/240
 cmd: $NMCLI --mode multiline --terse con s ethernet
 lang: C
 returncode: 0
-stdout: 2974 bytes
+stdout: 3024 bytes
 >>>
 connection.id:ethernet
 connection.uuid:UUID-ethernet-REPLACED-REPLACED-REPL
@@ -12890,6 +12998,7 @@ ipv4.dhcp-fqdn:
 ipv4.dhcp-hostname-flags:0x0
 ipv4.never-default:no
 ipv4.may-fail:yes
+ipv4.required-timeout:-1
 ipv4.dad-timeout:-1
 ipv4.dhcp-vendor-class-identifier:
 ipv4.dhcp-reject-servers:
@@ -12908,6 +13017,7 @@ ipv6.ignore-auto-routes:no
 ipv6.ignore-auto-dns:no
 ipv6.never-default:no
 ipv6.may-fail:yes
+ipv6.required-timeout:-1
 ipv6.ip6-privacy:-1
 ipv6.addr-gen-mode:stable-privacy
 ipv6.ra-timeout:0
@@ -12951,12 +13061,12 @@ GENERAL.ZONE:
 GENERAL.MASTER-PATH:
 
 <<<
-size: 3143
+size: 3193
 location: src/tests/client/test-client.py:test_003()/241
 cmd: $NMCLI --mode multiline --terse con s ethernet
 lang: pl_PL.UTF-8
 returncode: 0
-stdout: 2974 bytes
+stdout: 3024 bytes
 >>>
 connection.id:ethernet
 connection.uuid:UUID-ethernet-REPLACED-REPLACED-REPL
@@ -13019,6 +13129,7 @@ ipv4.dhcp-fqdn:
 ipv4.dhcp-hostname-flags:0x0
 ipv4.never-default:no
 ipv4.may-fail:yes
+ipv4.required-timeout:-1
 ipv4.dad-timeout:-1
 ipv4.dhcp-vendor-class-identifier:
 ipv4.dhcp-reject-servers:
@@ -13037,6 +13148,7 @@ ipv6.ignore-auto-routes:no
 ipv6.ignore-auto-dns:no
 ipv6.never-default:no
 ipv6.may-fail:yes
+ipv6.required-timeout:-1
 ipv6.ip6-privacy:-1
 ipv6.addr-gen-mode:stable-privacy
 ipv6.ra-timeout:0
@@ -13080,12 +13192,12 @@ GENERAL.ZONE:
 GENERAL.MASTER-PATH:
 
 <<<
-size: 2783
+size: 2833
 location: src/tests/client/test-client.py:test_003()/242
 cmd: $NMCLI --mode multiline --terse c s /org/freedesktop/NetworkManager/ActiveConnection/1
 lang: C
 returncode: 0
-stdout: 2584 bytes
+stdout: 2634 bytes
 >>>
 connection.id:ethernet
 connection.uuid:UUID-ethernet-REPLACED-REPLACED-REPL
@@ -13148,6 +13260,7 @@ ipv4.dhcp-fqdn:
 ipv4.dhcp-hostname-flags:0x0
 ipv4.never-default:no
 ipv4.may-fail:yes
+ipv4.required-timeout:-1
 ipv4.dad-timeout:-1
 ipv4.dhcp-vendor-class-identifier:
 ipv4.dhcp-reject-servers:
@@ -13166,6 +13279,7 @@ ipv6.ignore-auto-routes:no
 ipv6.ignore-auto-dns:no
 ipv6.never-default:no
 ipv6.may-fail:yes
+ipv6.required-timeout:-1
 ipv6.ip6-privacy:-1
 ipv6.addr-gen-mode:stable-privacy
 ipv6.ra-timeout:0
@@ -13195,12 +13309,12 @@ GENERAL.ZONE:
 GENERAL.MASTER-PATH:
 
 <<<
-size: 2793
+size: 2843
 location: src/tests/client/test-client.py:test_003()/243
 cmd: $NMCLI --mode multiline --terse c s /org/freedesktop/NetworkManager/ActiveConnection/1
 lang: pl_PL.UTF-8
 returncode: 0
-stdout: 2584 bytes
+stdout: 2634 bytes
 >>>
 connection.id:ethernet
 connection.uuid:UUID-ethernet-REPLACED-REPLACED-REPL
@@ -13263,6 +13377,7 @@ ipv4.dhcp-fqdn:
 ipv4.dhcp-hostname-flags:0x0
 ipv4.never-default:no
 ipv4.may-fail:yes
+ipv4.required-timeout:-1
 ipv4.dad-timeout:-1
 ipv4.dhcp-vendor-class-identifier:
 ipv4.dhcp-reject-servers:
@@ -13281,6 +13396,7 @@ ipv6.ignore-auto-routes:no
 ipv6.ignore-auto-dns:no
 ipv6.never-default:no
 ipv6.may-fail:yes
+ipv6.required-timeout:-1
 ipv6.ip6-privacy:-1
 ipv6.addr-gen-mode:stable-privacy
 ipv6.ra-timeout:0
@@ -13724,12 +13840,12 @@ UUID:UUID-con-xx1-REPLACED-REPLACED-REPLA
 TYPE:802-3-ethernet
 
 <<<
-size: 3145
+size: 3195
 location: src/tests/client/test-client.py:test_003()/250
 cmd: $NMCLI --mode multiline --terse --color yes con s ethernet
 lang: C
 returncode: 0
-stdout: 2974 bytes
+stdout: 3024 bytes
 >>>
 connection.id:ethernet
 connection.uuid:UUID-ethernet-REPLACED-REPLACED-REPL
@@ -13792,6 +13908,7 @@ ipv4.dhcp-fqdn:
 ipv4.dhcp-hostname-flags:0x0
 ipv4.never-default:no
 ipv4.may-fail:yes
+ipv4.required-timeout:-1
 ipv4.dad-timeout:-1
 ipv4.dhcp-vendor-class-identifier:
 ipv4.dhcp-reject-servers:
@@ -13810,6 +13927,7 @@ ipv6.ignore-auto-routes:no
 ipv6.ignore-auto-dns:no
 ipv6.never-default:no
 ipv6.may-fail:yes
+ipv6.required-timeout:-1
 ipv6.ip6-privacy:-1
 ipv6.addr-gen-mode:stable-privacy
 ipv6.ra-timeout:0
@@ -13853,12 +13971,12 @@ GENERAL.ZONE:
 GENERAL.MASTER-PATH:
 
 <<<
-size: 3155
+size: 3205
 location: src/tests/client/test-client.py:test_003()/251
 cmd: $NMCLI --mode multiline --terse --color yes con s ethernet
 lang: pl_PL.UTF-8
 returncode: 0
-stdout: 2974 bytes
+stdout: 3024 bytes
 >>>
 connection.id:ethernet
 connection.uuid:UUID-ethernet-REPLACED-REPLACED-REPL
@@ -13921,6 +14039,7 @@ ipv4.dhcp-fqdn:
 ipv4.dhcp-hostname-flags:0x0
 ipv4.never-default:no
 ipv4.may-fail:yes
+ipv4.required-timeout:-1
 ipv4.dad-timeout:-1
 ipv4.dhcp-vendor-class-identifier:
 ipv4.dhcp-reject-servers:
@@ -13939,6 +14058,7 @@ ipv6.ignore-auto-routes:no
 ipv6.ignore-auto-dns:no
 ipv6.never-default:no
 ipv6.may-fail:yes
+ipv6.required-timeout:-1
 ipv6.ip6-privacy:-1
 ipv6.addr-gen-mode:stable-privacy
 ipv6.ra-timeout:0
@@ -13982,12 +14102,12 @@ GENERAL.ZONE:
 GENERAL.MASTER-PATH:
 
 <<<
-size: 2795
+size: 2845
 location: src/tests/client/test-client.py:test_003()/252
 cmd: $NMCLI --mode multiline --terse --color yes c s /org/freedesktop/NetworkManager/ActiveConnection/1
 lang: C
 returncode: 0
-stdout: 2584 bytes
+stdout: 2634 bytes
 >>>
 connection.id:ethernet
 connection.uuid:UUID-ethernet-REPLACED-REPLACED-REPL
@@ -14050,6 +14170,7 @@ ipv4.dhcp-fqdn:
 ipv4.dhcp-hostname-flags:0x0
 ipv4.never-default:no
 ipv4.may-fail:yes
+ipv4.required-timeout:-1
 ipv4.dad-timeout:-1
 ipv4.dhcp-vendor-class-identifier:
 ipv4.dhcp-reject-servers:
@@ -14068,6 +14189,7 @@ ipv6.ignore-auto-routes:no
 ipv6.ignore-auto-dns:no
 ipv6.never-default:no
 ipv6.may-fail:yes
+ipv6.required-timeout:-1
 ipv6.ip6-privacy:-1
 ipv6.addr-gen-mode:stable-privacy
 ipv6.ra-timeout:0
@@ -14097,12 +14219,12 @@ GENERAL.ZONE:
 GENERAL.MASTER-PATH:
 
 <<<
-size: 2805
+size: 2855
 location: src/tests/client/test-client.py:test_003()/253
 cmd: $NMCLI --mode multiline --terse --color yes c s /org/freedesktop/NetworkManager/ActiveConnection/1
 lang: pl_PL.UTF-8
 returncode: 0
-stdout: 2584 bytes
+stdout: 2634 bytes
 >>>
 connection.id:ethernet
 connection.uuid:UUID-ethernet-REPLACED-REPLACED-REPL
@@ -14165,6 +14287,7 @@ ipv4.dhcp-fqdn:
 ipv4.dhcp-hostname-flags:0x0
 ipv4.never-default:no
 ipv4.may-fail:yes
+ipv4.required-timeout:-1
 ipv4.dad-timeout:-1
 ipv4.dhcp-vendor-class-identifier:
 ipv4.dhcp-reject-servers:
@@ -14183,6 +14306,7 @@ ipv6.ignore-auto-routes:no
 ipv6.ignore-auto-dns:no
 ipv6.never-default:no
 ipv6.may-fail:yes
+ipv6.required-timeout:-1
 ipv6.ip6-privacy:-1
 ipv6.addr-gen-mode:stable-privacy
 ipv6.ra-timeout:0
@@ -16196,12 +16320,12 @@ GENERAL  ethernet  UUID-ethernet-REPLACED-REPLACED-REPL  eth0     eth0      deza
 
 
 <<<
-size: 3207
+size: 3247
 location: src/tests/client/test-client.py:test_003()/324
 cmd: $NMCLI --mode tabular -f all dev show eth0
 lang: C
 returncode: 0
-stdout: 3052 bytes
+stdout: 3092 bytes
 >>>
 NAME     DEVICE  TYPE      NM-TYPE           DBUS-PATH                                  VENDOR  PRODUCT  DRIVER   DRIVER-VERSION  FIRMWARE-VERSION  HWADDR             MTU  STATE            REASON               IP4-CONNECTIVITY  IP6-CONNECTIVITY  UDI                        PATH  IP-IFACE  IS-SOFTWARE  NM-MANAGED  AUTOCONNECT  FIRMWARE-MISSING  NM-PLUGIN-MISSING  PHYS-PORT-ID  CONNECTION  CON-UUID                              CON-PATH                                            METERED 
 GENERAL  eth0    ethernet  NMDeviceEthernet  /org/freedesktop/NetworkManager/Devices/1  --      --       virtual  --              --                C0:61:AE:26:4D:D7  0    100 (connected)  0 (No reason given)  0 (unknown)       0 (unknown)       /sys/devices/virtual/eth0  --    eth0      no           yes         yes          no                no                 --            ethernet    UUID-ethernet-REPLACED-REPLACED-REPL  /org/freedesktop/NetworkManager/ActiveConnection/1  unknown 
@@ -16215,14 +16339,14 @@ INTERFACE-FLAGS  yes  yes       no       no
 NAME              CARRIER  S390-SUBCHANNELS 
 WIRED-PROPERTIES  on       --               
 
-GROUP  ADDRESS           GATEWAY  ROUTE                                                                                                         DNS              DOMAIN          WINS                           
-IP4    192.168.6.238/29  --       dst = 192.168.58.133/31, nh = 192.168.50.116, mt = 3130348792 | dst = 192.168.155.50/19, nh = 192.168.127.64  192.168.213.113  sear4.foo4.bar  192.168.156.115 | 192.168.8.33 
+GROUP  ADDRESS           GATEWAY  ROUTE                                                                                                         DNS              DOMAIN          SEARCHES  WINS                           
+IP4    192.168.6.238/29  --       dst = 192.168.58.133/31, nh = 192.168.50.116, mt = 3130348792 | dst = 192.168.155.50/19, nh = 192.168.127.64  192.168.213.113  sear4.foo4.bar  --        192.168.156.115 | 192.168.8.33 
 
 GROUP  OPTION 
 DHCP4  --     
 
-GROUP  ADDRESS                                                                                          GATEWAY                      ROUTE                                                            DNS                                                                                     DOMAIN                        
-IP6    2001:a::29c0:62b9:2e01:30a/69 | 2001:a::6433:6420:34f9:3801/115 | 2001:a::8191:ed6b:8ce:b60/103  2001:a::2b50:64d1:9a91:23b4  dst = 2001:a::5ecb:f5ee:fb96:856c/100, nh = ::, mt = 4249082794  2001:a::1323:9a78:2b82:d16b | 2001:a::4e1:24e6:b8c1:91bb | 2001:a::bd96:3bed:fbd6:19c5  sear6.fo.x.y | sear6.foo4.bar 
+GROUP  ADDRESS                                                                                          GATEWAY                      ROUTE                                                            DNS                                                                                     DOMAIN                         SEARCHES 
+IP6    2001:a::29c0:62b9:2e01:30a/69 | 2001:a::6433:6420:34f9:3801/115 | 2001:a::8191:ed6b:8ce:b60/103  2001:a::2b50:64d1:9a91:23b4  dst = 2001:a::5ecb:f5ee:fb96:856c/100, nh = ::, mt = 4249082794  2001:a::1323:9a78:2b82:d16b | 2001:a::4e1:24e6:b8c1:91bb | 2001:a::bd96:3bed:fbd6:19c5  sear6.fo.x.y | sear6.foo4.bar  --       
 
 GROUP  OPTION                                                                                    
 DHCP6  dhcp-6-opt-1 = val-1 | dhcp-6-opt-5 = val-5 | dhcp-6-opt-6 = val-6 | dhcp-6-opt-8 = val-8 
@@ -16231,12 +16355,12 @@ NAME         AVAILABLE-CONNECTION-PATHS                                   AVAILA
 CONNECTIONS  /org/freedesktop/NetworkManager/Settings/Connection/{1,2,6}  5fcfd6d7-1e63-3332-8826-a7eda103792d | con-1 | UUID-con-xx1-REPLACED-REPLACED-REPLA | con-xx1 | <invisible> | /org/freedesktop/NetworkManager/Settings/Connection/6 
 
 <<<
-size: 3241
+size: 3281
 location: src/tests/client/test-client.py:test_003()/325
 cmd: $NMCLI --mode tabular -f all dev show eth0
 lang: pl_PL.UTF-8
 returncode: 0
-stdout: 3076 bytes
+stdout: 3116 bytes
 >>>
 NAME     DEVICE  TYPE      NM-TYPE           DBUS-PATH                                  VENDOR  PRODUCT  DRIVER   DRIVER-VERSION  FIRMWARE-VERSION  HWADDR             MTU  STATE            REASON                    IP4-CONNECTIVITY  IP6-CONNECTIVITY  UDI                        PATH  IP-IFACE  IS-SOFTWARE  NM-MANAGED  AUTOCONNECT  FIRMWARE-MISSING  NM-PLUGIN-MISSING  PHYS-PORT-ID  CONNECTION  CON-UUID                              CON-PATH                                            METERED  
 GENERAL  eth0    ethernet  NMDeviceEthernet  /org/freedesktop/NetworkManager/Devices/1  --      --       virtual  --              --                C0:61:AE:26:4D:D7  0    100 (połączono)  0 (Nie podano przyczyny)  0 (nieznane)      0 (nieznane)      /sys/devices/virtual/eth0  --    eth0      nie          tak         tak          nie               nie                --            ethernet    UUID-ethernet-REPLACED-REPLACED-REPL  /org/freedesktop/NetworkManager/ActiveConnection/1  nieznane 
@@ -16250,14 +16374,14 @@ INTERFACE-FLAGS  tak  tak       nie      nie
 NAME              CARRIER   S390-SUBCHANNELS 
 WIRED-PROPERTIES  włączone  --               
 
-GROUP  ADDRESS           GATEWAY  ROUTE                                                                                                         DNS              DOMAIN          WINS                           
-IP4    192.168.6.238/29  --       dst = 192.168.58.133/31, nh = 192.168.50.116, mt = 3130348792 | dst = 192.168.155.50/19, nh = 192.168.127.64  192.168.213.113  sear4.foo4.bar  192.168.156.115 | 192.168.8.33 
+GROUP  ADDRESS           GATEWAY  ROUTE                                                                                                         DNS              DOMAIN          SEARCHES  WINS                           
+IP4    192.168.6.238/29  --       dst = 192.168.58.133/31, nh = 192.168.50.116, mt = 3130348792 | dst = 192.168.155.50/19, nh = 192.168.127.64  192.168.213.113  sear4.foo4.bar  --        192.168.156.115 | 192.168.8.33 
 
 GROUP  OPTION 
 DHCP4  --     
 
-GROUP  ADDRESS                                                                                          GATEWAY                      ROUTE                                                            DNS                                                                                     DOMAIN                        
-IP6    2001:a::29c0:62b9:2e01:30a/69 | 2001:a::6433:6420:34f9:3801/115 | 2001:a::8191:ed6b:8ce:b60/103  2001:a::2b50:64d1:9a91:23b4  dst = 2001:a::5ecb:f5ee:fb96:856c/100, nh = ::, mt = 4249082794  2001:a::1323:9a78:2b82:d16b | 2001:a::4e1:24e6:b8c1:91bb | 2001:a::bd96:3bed:fbd6:19c5  sear6.fo.x.y | sear6.foo4.bar 
+GROUP  ADDRESS                                                                                          GATEWAY                      ROUTE                                                            DNS                                                                                     DOMAIN                         SEARCHES 
+IP6    2001:a::29c0:62b9:2e01:30a/69 | 2001:a::6433:6420:34f9:3801/115 | 2001:a::8191:ed6b:8ce:b60/103  2001:a::2b50:64d1:9a91:23b4  dst = 2001:a::5ecb:f5ee:fb96:856c/100, nh = ::, mt = 4249082794  2001:a::1323:9a78:2b82:d16b | 2001:a::4e1:24e6:b8c1:91bb | 2001:a::bd96:3bed:fbd6:19c5  sear6.fo.x.y | sear6.foo4.bar  --       
 
 GROUP  OPTION                                                                                    
 DHCP6  dhcp-6-opt-1 = val-1 | dhcp-6-opt-5 = val-5 | dhcp-6-opt-6 = val-6 | dhcp-6-opt-8 = val-8 
@@ -16374,12 +16498,12 @@ GENERAL  ethernet  UUID-ethernet-REPLACED-REPLACED-REPL  eth0     eth0      deza
 
 
 <<<
-size: 3219
+size: 3259
 location: src/tests/client/test-client.py:test_003()/334
 cmd: $NMCLI --mode tabular --color yes -f all dev show eth0
 lang: C
 returncode: 0
-stdout: 3052 bytes
+stdout: 3092 bytes
 >>>
 NAME     DEVICE  TYPE      NM-TYPE           DBUS-PATH                                  VENDOR  PRODUCT  DRIVER   DRIVER-VERSION  FIRMWARE-VERSION  HWADDR             MTU  STATE            REASON               IP4-CONNECTIVITY  IP6-CONNECTIVITY  UDI                        PATH  IP-IFACE  IS-SOFTWARE  NM-MANAGED  AUTOCONNECT  FIRMWARE-MISSING  NM-PLUGIN-MISSING  PHYS-PORT-ID  CONNECTION  CON-UUID                              CON-PATH                                            METERED 
 GENERAL  eth0    ethernet  NMDeviceEthernet  /org/freedesktop/NetworkManager/Devices/1  --      --       virtual  --              --                C0:61:AE:26:4D:D7  0    100 (connected)  0 (No reason given)  0 (unknown)       0 (unknown)       /sys/devices/virtual/eth0  --    eth0      no           yes         yes          no                no                 --            ethernet    UUID-ethernet-REPLACED-REPLACED-REPL  /org/freedesktop/NetworkManager/ActiveConnection/1  unknown 
@@ -16393,14 +16517,14 @@ INTERFACE-FLAGS  yes  yes       no       no
 NAME              CARRIER  S390-SUBCHANNELS 
 WIRED-PROPERTIES  on       --               
 
-GROUP  ADDRESS           GATEWAY  ROUTE                                                                                                         DNS              DOMAIN          WINS                           
-IP4    192.168.6.238/29  --       dst = 192.168.58.133/31, nh = 192.168.50.116, mt = 3130348792 | dst = 192.168.155.50/19, nh = 192.168.127.64  192.168.213.113  sear4.foo4.bar  192.168.156.115 | 192.168.8.33 
+GROUP  ADDRESS           GATEWAY  ROUTE                                                                                                         DNS              DOMAIN          SEARCHES  WINS                           
+IP4    192.168.6.238/29  --       dst = 192.168.58.133/31, nh = 192.168.50.116, mt = 3130348792 | dst = 192.168.155.50/19, nh = 192.168.127.64  192.168.213.113  sear4.foo4.bar  --        192.168.156.115 | 192.168.8.33 
 
 GROUP  OPTION 
 DHCP4  --     
 
-GROUP  ADDRESS                                                                                          GATEWAY                      ROUTE                                                            DNS                                                                                     DOMAIN                        
-IP6    2001:a::29c0:62b9:2e01:30a/69 | 2001:a::6433:6420:34f9:3801/115 | 2001:a::8191:ed6b:8ce:b60/103  2001:a::2b50:64d1:9a91:23b4  dst = 2001:a::5ecb:f5ee:fb96:856c/100, nh = ::, mt = 4249082794  2001:a::1323:9a78:2b82:d16b | 2001:a::4e1:24e6:b8c1:91bb | 2001:a::bd96:3bed:fbd6:19c5  sear6.fo.x.y | sear6.foo4.bar 
+GROUP  ADDRESS                                                                                          GATEWAY                      ROUTE                                                            DNS                                                                                     DOMAIN                         SEARCHES 
+IP6    2001:a::29c0:62b9:2e01:30a/69 | 2001:a::6433:6420:34f9:3801/115 | 2001:a::8191:ed6b:8ce:b60/103  2001:a::2b50:64d1:9a91:23b4  dst = 2001:a::5ecb:f5ee:fb96:856c/100, nh = ::, mt = 4249082794  2001:a::1323:9a78:2b82:d16b | 2001:a::4e1:24e6:b8c1:91bb | 2001:a::bd96:3bed:fbd6:19c5  sear6.fo.x.y | sear6.foo4.bar  --       
 
 GROUP  OPTION                                                                                    
 DHCP6  dhcp-6-opt-1 = val-1 | dhcp-6-opt-5 = val-5 | dhcp-6-opt-6 = val-6 | dhcp-6-opt-8 = val-8 
@@ -16409,12 +16533,12 @@ NAME         AVAILABLE-CONNECTION-PATHS                                   AVAILA
 CONNECTIONS  /org/freedesktop/NetworkManager/Settings/Connection/{1,2,6}  5fcfd6d7-1e63-3332-8826-a7eda103792d | con-1 | UUID-con-xx1-REPLACED-REPLACED-REPLA | con-xx1 | <invisible> | /org/freedesktop/NetworkManager/Settings/Connection/6 
 
 <<<
-size: 3253
+size: 3293
 location: src/tests/client/test-client.py:test_003()/335
 cmd: $NMCLI --mode tabular --color yes -f all dev show eth0
 lang: pl_PL.UTF-8
 returncode: 0
-stdout: 3076 bytes
+stdout: 3116 bytes
 >>>
 NAME     DEVICE  TYPE      NM-TYPE           DBUS-PATH                                  VENDOR  PRODUCT  DRIVER   DRIVER-VERSION  FIRMWARE-VERSION  HWADDR             MTU  STATE            REASON                    IP4-CONNECTIVITY  IP6-CONNECTIVITY  UDI                        PATH  IP-IFACE  IS-SOFTWARE  NM-MANAGED  AUTOCONNECT  FIRMWARE-MISSING  NM-PLUGIN-MISSING  PHYS-PORT-ID  CONNECTION  CON-UUID                              CON-PATH                                            METERED  
 GENERAL  eth0    ethernet  NMDeviceEthernet  /org/freedesktop/NetworkManager/Devices/1  --      --       virtual  --              --                C0:61:AE:26:4D:D7  0    100 (połączono)  0 (Nie podano przyczyny)  0 (nieznane)      0 (nieznane)      /sys/devices/virtual/eth0  --    eth0      nie          tak         tak          nie               nie                --            ethernet    UUID-ethernet-REPLACED-REPLACED-REPL  /org/freedesktop/NetworkManager/ActiveConnection/1  nieznane 
@@ -16428,14 +16552,14 @@ INTERFACE-FLAGS  tak  tak       nie      nie
 NAME              CARRIER   S390-SUBCHANNELS 
 WIRED-PROPERTIES  włączone  --               
 
-GROUP  ADDRESS           GATEWAY  ROUTE                                                                                                         DNS              DOMAIN          WINS                           
-IP4    192.168.6.238/29  --       dst = 192.168.58.133/31, nh = 192.168.50.116, mt = 3130348792 | dst = 192.168.155.50/19, nh = 192.168.127.64  192.168.213.113  sear4.foo4.bar  192.168.156.115 | 192.168.8.33 
+GROUP  ADDRESS           GATEWAY  ROUTE                                                                                                         DNS              DOMAIN          SEARCHES  WINS                           
+IP4    192.168.6.238/29  --       dst = 192.168.58.133/31, nh = 192.168.50.116, mt = 3130348792 | dst = 192.168.155.50/19, nh = 192.168.127.64  192.168.213.113  sear4.foo4.bar  --        192.168.156.115 | 192.168.8.33 
 
 GROUP  OPTION 
 DHCP4  --     
 
-GROUP  ADDRESS                                                                                          GATEWAY                      ROUTE                                                            DNS                                                                                     DOMAIN                        
-IP6    2001:a::29c0:62b9:2e01:30a/69 | 2001:a::6433:6420:34f9:3801/115 | 2001:a::8191:ed6b:8ce:b60/103  2001:a::2b50:64d1:9a91:23b4  dst = 2001:a::5ecb:f5ee:fb96:856c/100, nh = ::, mt = 4249082794  2001:a::1323:9a78:2b82:d16b | 2001:a::4e1:24e6:b8c1:91bb | 2001:a::bd96:3bed:fbd6:19c5  sear6.fo.x.y | sear6.foo4.bar 
+GROUP  ADDRESS                                                                                          GATEWAY                      ROUTE                                                            DNS                                                                                     DOMAIN                         SEARCHES 
+IP6    2001:a::29c0:62b9:2e01:30a/69 | 2001:a::6433:6420:34f9:3801/115 | 2001:a::8191:ed6b:8ce:b60/103  2001:a::2b50:64d1:9a91:23b4  dst = 2001:a::5ecb:f5ee:fb96:856c/100, nh = ::, mt = 4249082794  2001:a::1323:9a78:2b82:d16b | 2001:a::4e1:24e6:b8c1:91bb | 2001:a::bd96:3bed:fbd6:19c5  sear6.fo.x.y | sear6.foo4.bar  --       
 
 GROUP  OPTION                                                                                    
 DHCP6  dhcp-6-opt-1 = val-1 | dhcp-6-opt-5 = val-5 | dhcp-6-opt-6 = val-6 | dhcp-6-opt-8 = val-8 
@@ -16582,12 +16706,12 @@ GENERAL  ethernet  UUID-ethernet-REPLACED-REPLACED-REPL  eth0     eth0      deza
 
 
 <<<
-size: 4823
+size: 4883
 location: src/tests/client/test-client.py:test_003()/344
 cmd: $NMCLI --mode tabular --pretty -f all dev show eth0
 lang: C
 returncode: 0
-stdout: 4659 bytes
+stdout: 4719 bytes
 >>>
 =========================
   Device details (eth0)
@@ -16608,17 +16732,17 @@ NAME              CARRIER  S390-SUBCHANNELS
 ---------------------------------------------
 WIRED-PROPERTIES  on       --               
 
-GROUP  ADDRESS           GATEWAY  ROUTE                                                                                                         DNS              DOMAIN          WINS                           
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-IP4    192.168.6.238/29  --       dst = 192.168.58.133/31, nh = 192.168.50.116, mt = 3130348792 | dst = 192.168.155.50/19, nh = 192.168.127.64  192.168.213.113  sear4.foo4.bar  192.168.156.115 | 192.168.8.33 
+GROUP  ADDRESS           GATEWAY  ROUTE                                                                                                         DNS              DOMAIN          SEARCHES  WINS                           
+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+IP4    192.168.6.238/29  --       dst = 192.168.58.133/31, nh = 192.168.50.116, mt = 3130348792 | dst = 192.168.155.50/19, nh = 192.168.127.64  192.168.213.113  sear4.foo4.bar  --        192.168.156.115 | 192.168.8.33 
 
 GROUP  OPTION 
 ---------------
 DHCP4  --     
 
-GROUP  ADDRESS                                                                                          GATEWAY                      ROUTE                                                            DNS                                                                                     DOMAIN                        
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-IP6    2001:a::29c0:62b9:2e01:30a/69 | 2001:a::6433:6420:34f9:3801/115 | 2001:a::8191:ed6b:8ce:b60/103  2001:a::2b50:64d1:9a91:23b4  dst = 2001:a::5ecb:f5ee:fb96:856c/100, nh = ::, mt = 4249082794  2001:a::1323:9a78:2b82:d16b | 2001:a::4e1:24e6:b8c1:91bb | 2001:a::bd96:3bed:fbd6:19c5  sear6.fo.x.y | sear6.foo4.bar 
+GROUP  ADDRESS                                                                                          GATEWAY                      ROUTE                                                            DNS                                                                                     DOMAIN                         SEARCHES 
+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+IP6    2001:a::29c0:62b9:2e01:30a/69 | 2001:a::6433:6420:34f9:3801/115 | 2001:a::8191:ed6b:8ce:b60/103  2001:a::2b50:64d1:9a91:23b4  dst = 2001:a::5ecb:f5ee:fb96:856c/100, nh = ::, mt = 4249082794  2001:a::1323:9a78:2b82:d16b | 2001:a::4e1:24e6:b8c1:91bb | 2001:a::bd96:3bed:fbd6:19c5  sear6.fo.x.y | sear6.foo4.bar  --       
 
 GROUP  OPTION                                                                                    
 --------------------------------------------------------------------------------------------------
@@ -16629,12 +16753,12 @@ NAME         AVAILABLE-CONNECTION-PATHS                                   AVAILA
 CONNECTIONS  /org/freedesktop/NetworkManager/Settings/Connection/{1,2,6}  5fcfd6d7-1e63-3332-8826-a7eda103792d | con-1 | UUID-con-xx1-REPLACED-REPLACED-REPLA | con-xx1 | <invisible> | /org/freedesktop/NetworkManager/Settings/Connection/6 
 
 <<<
-size: 4895
+size: 4955
 location: src/tests/client/test-client.py:test_003()/345
 cmd: $NMCLI --mode tabular --pretty -f all dev show eth0
 lang: pl_PL.UTF-8
 returncode: 0
-stdout: 4721 bytes
+stdout: 4781 bytes
 >>>
 ==================================
   Informacje o urządzeniu (eth0)
@@ -16655,17 +16779,17 @@ NAME              CARRIER   S390-SUBCHANNELS
 ----------------------------------------------
 WIRED-PROPERTIES  włączone  --               
 
-GROUP  ADDRESS           GATEWAY  ROUTE                                                                                                         DNS              DOMAIN          WINS                           
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-IP4    192.168.6.238/29  --       dst = 192.168.58.133/31, nh = 192.168.50.116, mt = 3130348792 | dst = 192.168.155.50/19, nh = 192.168.127.64  192.168.213.113  sear4.foo4.bar  192.168.156.115 | 192.168.8.33 
+GROUP  ADDRESS           GATEWAY  ROUTE                                                                                                         DNS              DOMAIN          SEARCHES  WINS                           
+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+IP4    192.168.6.238/29  --       dst = 192.168.58.133/31, nh = 192.168.50.116, mt = 3130348792 | dst = 192.168.155.50/19, nh = 192.168.127.64  192.168.213.113  sear4.foo4.bar  --        192.168.156.115 | 192.168.8.33 
 
 GROUP  OPTION 
 ---------------
 DHCP4  --     
 
-GROUP  ADDRESS                                                                                          GATEWAY                      ROUTE                                                            DNS                                                                                     DOMAIN                        
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-IP6    2001:a::29c0:62b9:2e01:30a/69 | 2001:a::6433:6420:34f9:3801/115 | 2001:a::8191:ed6b:8ce:b60/103  2001:a::2b50:64d1:9a91:23b4  dst = 2001:a::5ecb:f5ee:fb96:856c/100, nh = ::, mt = 4249082794  2001:a::1323:9a78:2b82:d16b | 2001:a::4e1:24e6:b8c1:91bb | 2001:a::bd96:3bed:fbd6:19c5  sear6.fo.x.y | sear6.foo4.bar 
+GROUP  ADDRESS                                                                                          GATEWAY                      ROUTE                                                            DNS                                                                                     DOMAIN                         SEARCHES 
+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+IP6    2001:a::29c0:62b9:2e01:30a/69 | 2001:a::6433:6420:34f9:3801/115 | 2001:a::8191:ed6b:8ce:b60/103  2001:a::2b50:64d1:9a91:23b4  dst = 2001:a::5ecb:f5ee:fb96:856c/100, nh = ::, mt = 4249082794  2001:a::1323:9a78:2b82:d16b | 2001:a::4e1:24e6:b8c1:91bb | 2001:a::bd96:3bed:fbd6:19c5  sear6.fo.x.y | sear6.foo4.bar  --       
 
 GROUP  OPTION                                                                                    
 --------------------------------------------------------------------------------------------------
@@ -16814,12 +16938,12 @@ GENERAL  ethernet  UUID-ethernet-REPLACED-REPLACED-REPL  eth0     eth0      deza
 
 
 <<<
-size: 4835
+size: 4895
 location: src/tests/client/test-client.py:test_003()/354
 cmd: $NMCLI --mode tabular --pretty --color yes -f all dev show eth0
 lang: C
 returncode: 0
-stdout: 4659 bytes
+stdout: 4719 bytes
 >>>
 =========================
   Device details (eth0)
@@ -16840,17 +16964,17 @@ NAME              CARRIER  S390-SUBCHANNELS
 ---------------------------------------------
 WIRED-PROPERTIES  on       --               
 
-GROUP  ADDRESS           GATEWAY  ROUTE                                                                                                         DNS              DOMAIN          WINS                           
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-IP4    192.168.6.238/29  --       dst = 192.168.58.133/31, nh = 192.168.50.116, mt = 3130348792 | dst = 192.168.155.50/19, nh = 192.168.127.64  192.168.213.113  sear4.foo4.bar  192.168.156.115 | 192.168.8.33 
+GROUP  ADDRESS           GATEWAY  ROUTE                                                                                                         DNS              DOMAIN          SEARCHES  WINS                           
+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+IP4    192.168.6.238/29  --       dst = 192.168.58.133/31, nh = 192.168.50.116, mt = 3130348792 | dst = 192.168.155.50/19, nh = 192.168.127.64  192.168.213.113  sear4.foo4.bar  --        192.168.156.115 | 192.168.8.33 
 
 GROUP  OPTION 
 ---------------
 DHCP4  --     
 
-GROUP  ADDRESS                                                                                          GATEWAY                      ROUTE                                                            DNS                                                                                     DOMAIN                        
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-IP6    2001:a::29c0:62b9:2e01:30a/69 | 2001:a::6433:6420:34f9:3801/115 | 2001:a::8191:ed6b:8ce:b60/103  2001:a::2b50:64d1:9a91:23b4  dst = 2001:a::5ecb:f5ee:fb96:856c/100, nh = ::, mt = 4249082794  2001:a::1323:9a78:2b82:d16b | 2001:a::4e1:24e6:b8c1:91bb | 2001:a::bd96:3bed:fbd6:19c5  sear6.fo.x.y | sear6.foo4.bar 
+GROUP  ADDRESS                                                                                          GATEWAY                      ROUTE                                                            DNS                                                                                     DOMAIN                         SEARCHES 
+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+IP6    2001:a::29c0:62b9:2e01:30a/69 | 2001:a::6433:6420:34f9:3801/115 | 2001:a::8191:ed6b:8ce:b60/103  2001:a::2b50:64d1:9a91:23b4  dst = 2001:a::5ecb:f5ee:fb96:856c/100, nh = ::, mt = 4249082794  2001:a::1323:9a78:2b82:d16b | 2001:a::4e1:24e6:b8c1:91bb | 2001:a::bd96:3bed:fbd6:19c5  sear6.fo.x.y | sear6.foo4.bar  --       
 
 GROUP  OPTION                                                                                    
 --------------------------------------------------------------------------------------------------
@@ -16861,12 +16985,12 @@ NAME         AVAILABLE-CONNECTION-PATHS                                   AVAILA
 CONNECTIONS  /org/freedesktop/NetworkManager/Settings/Connection/{1,2,6}  5fcfd6d7-1e63-3332-8826-a7eda103792d | con-1 | UUID-con-xx1-REPLACED-REPLACED-REPLA | con-xx1 | <invisible> | /org/freedesktop/NetworkManager/Settings/Connection/6 
 
 <<<
-size: 4907
+size: 4967
 location: src/tests/client/test-client.py:test_003()/355
 cmd: $NMCLI --mode tabular --pretty --color yes -f all dev show eth0
 lang: pl_PL.UTF-8
 returncode: 0
-stdout: 4721 bytes
+stdout: 4781 bytes
 >>>
 ==================================
   Informacje o urządzeniu (eth0)
@@ -16887,17 +17011,17 @@ NAME              CARRIER   S390-SUBCHANNELS
 ----------------------------------------------
 WIRED-PROPERTIES  włączone  --               
 
-GROUP  ADDRESS           GATEWAY  ROUTE                                                                                                         DNS              DOMAIN          WINS                           
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-IP4    192.168.6.238/29  --       dst = 192.168.58.133/31, nh = 192.168.50.116, mt = 3130348792 | dst = 192.168.155.50/19, nh = 192.168.127.64  192.168.213.113  sear4.foo4.bar  192.168.156.115 | 192.168.8.33 
+GROUP  ADDRESS           GATEWAY  ROUTE                                                                                                         DNS              DOMAIN          SEARCHES  WINS                           
+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+IP4    192.168.6.238/29  --       dst = 192.168.58.133/31, nh = 192.168.50.116, mt = 3130348792 | dst = 192.168.155.50/19, nh = 192.168.127.64  192.168.213.113  sear4.foo4.bar  --        192.168.156.115 | 192.168.8.33 
 
 GROUP  OPTION 
 ---------------
 DHCP4  --     
 
-GROUP  ADDRESS                                                                                          GATEWAY                      ROUTE                                                            DNS                                                                                     DOMAIN                        
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-IP6    2001:a::29c0:62b9:2e01:30a/69 | 2001:a::6433:6420:34f9:3801/115 | 2001:a::8191:ed6b:8ce:b60/103  2001:a::2b50:64d1:9a91:23b4  dst = 2001:a::5ecb:f5ee:fb96:856c/100, nh = ::, mt = 4249082794  2001:a::1323:9a78:2b82:d16b | 2001:a::4e1:24e6:b8c1:91bb | 2001:a::bd96:3bed:fbd6:19c5  sear6.fo.x.y | sear6.foo4.bar 
+GROUP  ADDRESS                                                                                          GATEWAY                      ROUTE                                                            DNS                                                                                     DOMAIN                         SEARCHES 
+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+IP6    2001:a::29c0:62b9:2e01:30a/69 | 2001:a::6433:6420:34f9:3801/115 | 2001:a::8191:ed6b:8ce:b60/103  2001:a::2b50:64d1:9a91:23b4  dst = 2001:a::5ecb:f5ee:fb96:856c/100, nh = ::, mt = 4249082794  2001:a::1323:9a78:2b82:d16b | 2001:a::4e1:24e6:b8c1:91bb | 2001:a::bd96:3bed:fbd6:19c5  sear6.fo.x.y | sear6.foo4.bar  --       
 
 GROUP  OPTION                                                                                    
 --------------------------------------------------------------------------------------------------
@@ -17008,38 +17132,38 @@ stdout: 194 bytes
 GENERAL:ethernet:UUID-ethernet-REPLACED-REPLACED-REPL:eth0:eth0:deactivating:no:no::no:/org/freedesktop/NetworkManager/ActiveConnection/1:/org/freedesktop/NetworkManager/Settings/Connection/6::
 
 <<<
-size: 1469
+size: 1471
 location: src/tests/client/test-client.py:test_003()/364
 cmd: $NMCLI --mode tabular --terse -f all dev show eth0
 lang: C
 returncode: 0
-stdout: 1306 bytes
+stdout: 1308 bytes
 >>>
 GENERAL:eth0:ethernet:NMDeviceEthernet:/org/freedesktop/NetworkManager/Devices/1:::virtual:::C0\:61\:AE\:26\:4D\:D7:0:100 (connected):0 (No reason given):0 (unknown):0 (unknown):/sys/devices/virtual/eth0::eth0:no:yes:yes:no:no::ethernet:UUID-ethernet-REPLACED-REPLACED-REPL:/org/freedesktop/NetworkManager/ActiveConnection/1:unknown
 CAPABILITIES:no:100 Mb/s:no:no
 INTERFACE-FLAGS:yes:yes:no:no
 WIRED-PROPERTIES:on:
-IP4:192.168.6.238/29::dst = 192.168.58.133/31, nh = 192.168.50.116, mt = 3130348792 | dst = 192.168.155.50/19, nh = 192.168.127.64:192.168.213.113:sear4.foo4.bar:192.168.156.115 | 192.168.8.33
+IP4:192.168.6.238/29::dst = 192.168.58.133/31, nh = 192.168.50.116, mt = 3130348792 | dst = 192.168.155.50/19, nh = 192.168.127.64:192.168.213.113:sear4.foo4.bar::192.168.156.115 | 192.168.8.33
 DHCP4:
-IP6:2001\:a\:\:29c0\:62b9\:2e01\:30a/69 | 2001\:a\:\:6433\:6420\:34f9\:3801/115 | 2001\:a\:\:8191\:ed6b\:8ce\:b60/103:2001\:a\:\:2b50\:64d1\:9a91\:23b4:dst = 2001\:a\:\:5ecb\:f5ee\:fb96\:856c/100, nh = \:\:, mt = 4249082794:2001\:a\:\:1323\:9a78\:2b82\:d16b | 2001\:a\:\:4e1\:24e6\:b8c1\:91bb | 2001\:a\:\:bd96\:3bed\:fbd6\:19c5:sear6.fo.x.y | sear6.foo4.bar
+IP6:2001\:a\:\:29c0\:62b9\:2e01\:30a/69 | 2001\:a\:\:6433\:6420\:34f9\:3801/115 | 2001\:a\:\:8191\:ed6b\:8ce\:b60/103:2001\:a\:\:2b50\:64d1\:9a91\:23b4:dst = 2001\:a\:\:5ecb\:f5ee\:fb96\:856c/100, nh = \:\:, mt = 4249082794:2001\:a\:\:1323\:9a78\:2b82\:d16b | 2001\:a\:\:4e1\:24e6\:b8c1\:91bb | 2001\:a\:\:bd96\:3bed\:fbd6\:19c5:sear6.fo.x.y | sear6.foo4.bar:
 DHCP6:dhcp-6-opt-1 = val-1 | dhcp-6-opt-5 = val-5 | dhcp-6-opt-6 = val-6 | dhcp-6-opt-8 = val-8
 CONNECTIONS:/org/freedesktop/NetworkManager/Settings/Connection/{1,2,6}:5fcfd6d7-1e63-3332-8826-a7eda103792d | con-1 | UUID-con-xx1-REPLACED-REPLACED-REPLA | con-xx1 | <invisible> | /org/freedesktop/NetworkManager/Settings/Connection/6
 
 <<<
-size: 1479
+size: 1481
 location: src/tests/client/test-client.py:test_003()/365
 cmd: $NMCLI --mode tabular --terse -f all dev show eth0
 lang: pl_PL.UTF-8
 returncode: 0
-stdout: 1306 bytes
+stdout: 1308 bytes
 >>>
 GENERAL:eth0:ethernet:NMDeviceEthernet:/org/freedesktop/NetworkManager/Devices/1:::virtual:::C0\:61\:AE\:26\:4D\:D7:0:100 (connected):0 (No reason given):0 (unknown):0 (unknown):/sys/devices/virtual/eth0::eth0:no:yes:yes:no:no::ethernet:UUID-ethernet-REPLACED-REPLACED-REPL:/org/freedesktop/NetworkManager/ActiveConnection/1:unknown
 CAPABILITIES:no:100 Mb/s:no:no
 INTERFACE-FLAGS:yes:yes:no:no
 WIRED-PROPERTIES:on:
-IP4:192.168.6.238/29::dst = 192.168.58.133/31, nh = 192.168.50.116, mt = 3130348792 | dst = 192.168.155.50/19, nh = 192.168.127.64:192.168.213.113:sear4.foo4.bar:192.168.156.115 | 192.168.8.33
+IP4:192.168.6.238/29::dst = 192.168.58.133/31, nh = 192.168.50.116, mt = 3130348792 | dst = 192.168.155.50/19, nh = 192.168.127.64:192.168.213.113:sear4.foo4.bar::192.168.156.115 | 192.168.8.33
 DHCP4:
-IP6:2001\:a\:\:29c0\:62b9\:2e01\:30a/69 | 2001\:a\:\:6433\:6420\:34f9\:3801/115 | 2001\:a\:\:8191\:ed6b\:8ce\:b60/103:2001\:a\:\:2b50\:64d1\:9a91\:23b4:dst = 2001\:a\:\:5ecb\:f5ee\:fb96\:856c/100, nh = \:\:, mt = 4249082794:2001\:a\:\:1323\:9a78\:2b82\:d16b | 2001\:a\:\:4e1\:24e6\:b8c1\:91bb | 2001\:a\:\:bd96\:3bed\:fbd6\:19c5:sear6.fo.x.y | sear6.foo4.bar
+IP6:2001\:a\:\:29c0\:62b9\:2e01\:30a/69 | 2001\:a\:\:6433\:6420\:34f9\:3801/115 | 2001\:a\:\:8191\:ed6b\:8ce\:b60/103:2001\:a\:\:2b50\:64d1\:9a91\:23b4:dst = 2001\:a\:\:5ecb\:f5ee\:fb96\:856c/100, nh = \:\:, mt = 4249082794:2001\:a\:\:1323\:9a78\:2b82\:d16b | 2001\:a\:\:4e1\:24e6\:b8c1\:91bb | 2001\:a\:\:bd96\:3bed\:fbd6\:19c5:sear6.fo.x.y | sear6.foo4.bar:
 DHCP6:dhcp-6-opt-1 = val-1 | dhcp-6-opt-5 = val-5 | dhcp-6-opt-6 = val-6 | dhcp-6-opt-8 = val-8
 CONNECTIONS:/org/freedesktop/NetworkManager/Settings/Connection/{1,2,6}:5fcfd6d7-1e63-3332-8826-a7eda103792d | con-1 | UUID-con-xx1-REPLACED-REPLACED-REPLA | con-xx1 | <invisible> | /org/freedesktop/NetworkManager/Settings/Connection/6
 
@@ -17144,38 +17268,38 @@ stdout: 194 bytes
 GENERAL:ethernet:UUID-ethernet-REPLACED-REPLACED-REPL:eth0:eth0:deactivating:no:no::no:/org/freedesktop/NetworkManager/ActiveConnection/1:/org/freedesktop/NetworkManager/Settings/Connection/6::
 
 <<<
-size: 1481
+size: 1483
 location: src/tests/client/test-client.py:test_003()/374
 cmd: $NMCLI --mode tabular --terse --color yes -f all dev show eth0
 lang: C
 returncode: 0
-stdout: 1306 bytes
+stdout: 1308 bytes
 >>>
 GENERAL:eth0:ethernet:NMDeviceEthernet:/org/freedesktop/NetworkManager/Devices/1:::virtual:::C0\:61\:AE\:26\:4D\:D7:0:100 (connected):0 (No reason given):0 (unknown):0 (unknown):/sys/devices/virtual/eth0::eth0:no:yes:yes:no:no::ethernet:UUID-ethernet-REPLACED-REPLACED-REPL:/org/freedesktop/NetworkManager/ActiveConnection/1:unknown
 CAPABILITIES:no:100 Mb/s:no:no
 INTERFACE-FLAGS:yes:yes:no:no
 WIRED-PROPERTIES:on:
-IP4:192.168.6.238/29::dst = 192.168.58.133/31, nh = 192.168.50.116, mt = 3130348792 | dst = 192.168.155.50/19, nh = 192.168.127.64:192.168.213.113:sear4.foo4.bar:192.168.156.115 | 192.168.8.33
+IP4:192.168.6.238/29::dst = 192.168.58.133/31, nh = 192.168.50.116, mt = 3130348792 | dst = 192.168.155.50/19, nh = 192.168.127.64:192.168.213.113:sear4.foo4.bar::192.168.156.115 | 192.168.8.33
 DHCP4:
-IP6:2001\:a\:\:29c0\:62b9\:2e01\:30a/69 | 2001\:a\:\:6433\:6420\:34f9\:3801/115 | 2001\:a\:\:8191\:ed6b\:8ce\:b60/103:2001\:a\:\:2b50\:64d1\:9a91\:23b4:dst = 2001\:a\:\:5ecb\:f5ee\:fb96\:856c/100, nh = \:\:, mt = 4249082794:2001\:a\:\:1323\:9a78\:2b82\:d16b | 2001\:a\:\:4e1\:24e6\:b8c1\:91bb | 2001\:a\:\:bd96\:3bed\:fbd6\:19c5:sear6.fo.x.y | sear6.foo4.bar
+IP6:2001\:a\:\:29c0\:62b9\:2e01\:30a/69 | 2001\:a\:\:6433\:6420\:34f9\:3801/115 | 2001\:a\:\:8191\:ed6b\:8ce\:b60/103:2001\:a\:\:2b50\:64d1\:9a91\:23b4:dst = 2001\:a\:\:5ecb\:f5ee\:fb96\:856c/100, nh = \:\:, mt = 4249082794:2001\:a\:\:1323\:9a78\:2b82\:d16b | 2001\:a\:\:4e1\:24e6\:b8c1\:91bb | 2001\:a\:\:bd96\:3bed\:fbd6\:19c5:sear6.fo.x.y | sear6.foo4.bar:
 DHCP6:dhcp-6-opt-1 = val-1 | dhcp-6-opt-5 = val-5 | dhcp-6-opt-6 = val-6 | dhcp-6-opt-8 = val-8
 CONNECTIONS:/org/freedesktop/NetworkManager/Settings/Connection/{1,2,6}:5fcfd6d7-1e63-3332-8826-a7eda103792d | con-1 | UUID-con-xx1-REPLACED-REPLACED-REPLA | con-xx1 | <invisible> | /org/freedesktop/NetworkManager/Settings/Connection/6
 
 <<<
-size: 1491
+size: 1493
 location: src/tests/client/test-client.py:test_003()/375
 cmd: $NMCLI --mode tabular --terse --color yes -f all dev show eth0
 lang: pl_PL.UTF-8
 returncode: 0
-stdout: 1306 bytes
+stdout: 1308 bytes
 >>>
 GENERAL:eth0:ethernet:NMDeviceEthernet:/org/freedesktop/NetworkManager/Devices/1:::virtual:::C0\:61\:AE\:26\:4D\:D7:0:100 (connected):0 (No reason given):0 (unknown):0 (unknown):/sys/devices/virtual/eth0::eth0:no:yes:yes:no:no::ethernet:UUID-ethernet-REPLACED-REPLACED-REPL:/org/freedesktop/NetworkManager/ActiveConnection/1:unknown
 CAPABILITIES:no:100 Mb/s:no:no
 INTERFACE-FLAGS:yes:yes:no:no
 WIRED-PROPERTIES:on:
-IP4:192.168.6.238/29::dst = 192.168.58.133/31, nh = 192.168.50.116, mt = 3130348792 | dst = 192.168.155.50/19, nh = 192.168.127.64:192.168.213.113:sear4.foo4.bar:192.168.156.115 | 192.168.8.33
+IP4:192.168.6.238/29::dst = 192.168.58.133/31, nh = 192.168.50.116, mt = 3130348792 | dst = 192.168.155.50/19, nh = 192.168.127.64:192.168.213.113:sear4.foo4.bar::192.168.156.115 | 192.168.8.33
 DHCP4:
-IP6:2001\:a\:\:29c0\:62b9\:2e01\:30a/69 | 2001\:a\:\:6433\:6420\:34f9\:3801/115 | 2001\:a\:\:8191\:ed6b\:8ce\:b60/103:2001\:a\:\:2b50\:64d1\:9a91\:23b4:dst = 2001\:a\:\:5ecb\:f5ee\:fb96\:856c/100, nh = \:\:, mt = 4249082794:2001\:a\:\:1323\:9a78\:2b82\:d16b | 2001\:a\:\:4e1\:24e6\:b8c1\:91bb | 2001\:a\:\:bd96\:3bed\:fbd6\:19c5:sear6.fo.x.y | sear6.foo4.bar
+IP6:2001\:a\:\:29c0\:62b9\:2e01\:30a/69 | 2001\:a\:\:6433\:6420\:34f9\:3801/115 | 2001\:a\:\:8191\:ed6b\:8ce\:b60/103:2001\:a\:\:2b50\:64d1\:9a91\:23b4:dst = 2001\:a\:\:5ecb\:f5ee\:fb96\:856c/100, nh = \:\:, mt = 4249082794:2001\:a\:\:1323\:9a78\:2b82\:d16b | 2001\:a\:\:4e1\:24e6\:b8c1\:91bb | 2001\:a\:\:bd96\:3bed\:fbd6\:19c5:sear6.fo.x.y | sear6.foo4.bar:
 DHCP6:dhcp-6-opt-1 = val-1 | dhcp-6-opt-5 = val-5 | dhcp-6-opt-6 = val-6 | dhcp-6-opt-8 = val-8
 CONNECTIONS:/org/freedesktop/NetworkManager/Settings/Connection/{1,2,6}:5fcfd6d7-1e63-3332-8826-a7eda103792d | con-1 | UUID-con-xx1-REPLACED-REPLACED-REPLA | con-xx1 | <invisible> | /org/freedesktop/NetworkManager/Settings/Connection/6
 
diff --git a/src/tests/client/test-client.check-on-disk/test_004.expected b/src/tests/client/test-client.check-on-disk/test_004.expected
index 0212e6aa..efa818f8 100644
--- a/src/tests/client/test-client.check-on-disk/test_004.expected
+++ b/src/tests/client/test-client.check-on-disk/test_004.expected
@@ -58,12 +58,12 @@ location: src/tests/client/test-client.py:test_004()/7
 cmd: $NMCLI connection mod con-xx1 ipv4.addresses 192.168.77.5/24 ipv4.routes '2.3.4.5/32 192.168.77.1' ipv6.addresses 1:2:3:4::6/64 ipv6.routes 1:2:3:4:5:6::5/128
 lang: C
 returncode: 0
-size: 4606
+size: 4712
 location: src/tests/client/test-client.py:test_004()/8
 cmd: $NMCLI con s con-xx1
 lang: C
 returncode: 0
-stdout: 4475 bytes
+stdout: 4581 bytes
 >>>
 connection.id:                          con-xx1
 connection.uuid:                        UUID-con-xx1-REPLACED-REPLACED-REPLA
@@ -129,6 +129,7 @@ ipv4.dhcp-fqdn:                         --
 ipv4.dhcp-hostname-flags:               0x0 (none)
 ipv4.never-default:                     no
 ipv4.may-fail:                          yes
+ipv4.required-timeout:                  -1 (default)
 ipv4.dad-timeout:                       -1 (default)
 ipv4.dhcp-vendor-class-identifier:      --
 ipv4.dhcp-reject-servers:               --
@@ -147,6 +148,7 @@ ipv6.ignore-auto-routes:                no
 ipv6.ignore-auto-dns:                   no
 ipv6.never-default:                     no
 ipv6.may-fail:                          yes
+ipv6.required-timeout:                  -1 (default)
 ipv6.ip6-privacy:                       -1 (unknown)
 ipv6.addr-gen-mode:                     stable-privacy
 ipv6.ra-timeout:                        0 (default)
@@ -163,12 +165,12 @@ proxy.pac-url:                          --
 proxy.pac-script:                       --
 
 <<<
-size: 4634
+size: 4740
 location: src/tests/client/test-client.py:test_004()/9
 cmd: $NMCLI con s con-xx1
 lang: pl_PL.UTF-8
 returncode: 0
-stdout: 4493 bytes
+stdout: 4599 bytes
 >>>
 connection.id:                          con-xx1
 connection.uuid:                        UUID-con-xx1-REPLACED-REPLACED-REPLA
@@ -234,6 +236,7 @@ ipv4.dhcp-fqdn:                         --
 ipv4.dhcp-hostname-flags:               0x0 (none)
 ipv4.never-default:                     nie
 ipv4.may-fail:                          tak
+ipv4.required-timeout:                  -1 (default)
 ipv4.dad-timeout:                       -1 (default)
 ipv4.dhcp-vendor-class-identifier:      --
 ipv4.dhcp-reject-servers:               --
@@ -252,6 +255,7 @@ ipv6.ignore-auto-routes:                nie
 ipv6.ignore-auto-dns:                   nie
 ipv6.never-default:                     nie
 ipv6.may-fail:                          tak
+ipv6.required-timeout:                  -1 (default)
 ipv6.ip6-privacy:                       -1 (unknown)
 ipv6.addr-gen-mode:                     stable-privacy
 ipv6.ra-timeout:                        0 (default)
@@ -304,12 +308,12 @@ con-vpn-1  UUID-con-vpn-1-REPLACED-REPLACED-REP  vpn       --
 con-xx1    UUID-con-xx1-REPLACED-REPLACED-REPLA  wifi      --     
 
 <<<
-size: 4020
+size: 4126
 location: src/tests/client/test-client.py:test_004()/13
 cmd: $NMCLI con s con-vpn-1
 lang: C
 returncode: 0
-stdout: 3886 bytes
+stdout: 3992 bytes
 >>>
 connection.id:                          con-vpn-1
 connection.uuid:                        UUID-con-vpn-1-REPLACED-REPLACED-REP
@@ -357,6 +361,7 @@ ipv4.dhcp-fqdn:                         --
 ipv4.dhcp-hostname-flags:               0x0 (none)
 ipv4.never-default:                     no
 ipv4.may-fail:                          yes
+ipv4.required-timeout:                  -1 (default)
 ipv4.dad-timeout:                       -1 (default)
 ipv4.dhcp-vendor-class-identifier:      --
 ipv4.dhcp-reject-servers:               --
@@ -375,6 +380,7 @@ ipv6.ignore-auto-routes:                no
 ipv6.ignore-auto-dns:                   no
 ipv6.never-default:                     no
 ipv6.may-fail:                          yes
+ipv6.required-timeout:                  -1 (default)
 ipv6.ip6-privacy:                       -1 (unknown)
 ipv6.addr-gen-mode:                     stable-privacy
 ipv6.ra-timeout:                        0 (default)
@@ -397,12 +403,12 @@ proxy.pac-url:                          --
 proxy.pac-script:                       --
 
 <<<
-size: 4040
+size: 4146
 location: src/tests/client/test-client.py:test_004()/14
 cmd: $NMCLI con s con-vpn-1
 lang: pl_PL.UTF-8
 returncode: 0
-stdout: 3896 bytes
+stdout: 4002 bytes
 >>>
 connection.id:                          con-vpn-1
 connection.uuid:                        UUID-con-vpn-1-REPLACED-REPLACED-REP
@@ -450,6 +456,7 @@ ipv4.dhcp-fqdn:                         --
 ipv4.dhcp-hostname-flags:               0x0 (none)
 ipv4.never-default:                     nie
 ipv4.may-fail:                          tak
+ipv4.required-timeout:                  -1 (default)
 ipv4.dad-timeout:                       -1 (default)
 ipv4.dhcp-vendor-class-identifier:      --
 ipv4.dhcp-reject-servers:               --
@@ -468,6 +475,7 @@ ipv6.ignore-auto-routes:                nie
 ipv6.ignore-auto-dns:                   nie
 ipv6.never-default:                     nie
 ipv6.may-fail:                          tak
+ipv6.required-timeout:                  -1 (default)
 ipv6.ip6-privacy:                       -1 (unknown)
 ipv6.addr-gen-mode:                     stable-privacy
 ipv6.ra-timeout:                        0 (default)
@@ -562,12 +570,12 @@ con-xx1    UUID-con-xx1-REPLACED-REPLACED-REPLA  wifi      wlan0
 con-1      5fcfd6d7-1e63-3332-8826-a7eda103792d  ethernet  --     
 
 <<<
-size: 5148
+size: 5254
 location: src/tests/client/test-client.py:test_004()/21
 cmd: $NMCLI con s con-vpn-1
 lang: C
 returncode: 0
-stdout: 5014 bytes
+stdout: 5120 bytes
 >>>
 connection.id:                          con-vpn-1
 connection.uuid:                        UUID-con-vpn-1-REPLACED-REPLACED-REP
@@ -615,6 +623,7 @@ ipv4.dhcp-fqdn:                         --
 ipv4.dhcp-hostname-flags:               0x0 (none)
 ipv4.never-default:                     no
 ipv4.may-fail:                          yes
+ipv4.required-timeout:                  -1 (default)
 ipv4.dad-timeout:                       -1 (default)
 ipv4.dhcp-vendor-class-identifier:      --
 ipv4.dhcp-reject-servers:               --
@@ -633,6 +642,7 @@ ipv6.ignore-auto-routes:                no
 ipv6.ignore-auto-dns:                   no
 ipv6.never-default:                     no
 ipv6.may-fail:                          yes
+ipv6.required-timeout:                  -1 (default)
 ipv6.ip6-privacy:                       -1 (unknown)
 ipv6.addr-gen-mode:                     stable-privacy
 ipv6.ra-timeout:                        0 (default)
@@ -676,12 +686,12 @@ VPN.CFG[2]:                             key2 = val2
 VPN.CFG[3]:                             key3 = val3
 
 <<<
-size: 5174
+size: 5280
 location: src/tests/client/test-client.py:test_004()/22
 cmd: $NMCLI con s con-vpn-1
 lang: pl_PL.UTF-8
 returncode: 0
-stdout: 5030 bytes
+stdout: 5136 bytes
 >>>
 connection.id:                          con-vpn-1
 connection.uuid:                        UUID-con-vpn-1-REPLACED-REPLACED-REP
@@ -729,6 +739,7 @@ ipv4.dhcp-fqdn:                         --
 ipv4.dhcp-hostname-flags:               0x0 (none)
 ipv4.never-default:                     nie
 ipv4.may-fail:                          tak
+ipv4.required-timeout:                  -1 (default)
 ipv4.dad-timeout:                       -1 (default)
 ipv4.dhcp-vendor-class-identifier:      --
 ipv4.dhcp-reject-servers:               --
@@ -747,6 +758,7 @@ ipv6.ignore-auto-routes:                nie
 ipv6.ignore-auto-dns:                   nie
 ipv6.never-default:                     nie
 ipv6.may-fail:                          tak
+ipv6.required-timeout:                  -1 (default)
 ipv6.ip6-privacy:                       -1 (unknown)
 ipv6.addr-gen-mode:                     stable-privacy
 ipv6.ra-timeout:                        0 (default)
@@ -790,12 +802,12 @@ VPN.CFG[2]:                             key2 = val2
 VPN.CFG[3]:                             key3 = val3
 
 <<<
-size: 5154
+size: 5260
 location: src/tests/client/test-client.py:test_004()/23
 cmd: $NMCLI con s con-vpn-1
 lang: C
 returncode: 0
-stdout: 5020 bytes
+stdout: 5126 bytes
 >>>
 connection.id:                          con-vpn-1
 connection.uuid:                        UUID-con-vpn-1-REPLACED-REPLACED-REP
@@ -843,6 +855,7 @@ ipv4.dhcp-fqdn:                         --
 ipv4.dhcp-hostname-flags:               0x0 (none)
 ipv4.never-default:                     no
 ipv4.may-fail:                          yes
+ipv4.required-timeout:                  -1 (default)
 ipv4.dad-timeout:                       -1 (default)
 ipv4.dhcp-vendor-class-identifier:      --
 ipv4.dhcp-reject-servers:               --
@@ -861,6 +874,7 @@ ipv6.ignore-auto-routes:                no
 ipv6.ignore-auto-dns:                   no
 ipv6.never-default:                     no
 ipv6.may-fail:                          yes
+ipv6.required-timeout:                  -1 (default)
 ipv6.ip6-privacy:                       -1 (unknown)
 ipv6.addr-gen-mode:                     stable-privacy
 ipv6.ra-timeout:                        0 (default)
@@ -904,12 +918,12 @@ VPN.CFG[2]:                             key2 = val2
 VPN.CFG[3]:                             key3 = val3
 
 <<<
-size: 5184
+size: 5290
 location: src/tests/client/test-client.py:test_004()/24
 cmd: $NMCLI con s con-vpn-1
 lang: pl_PL.UTF-8
 returncode: 0
-stdout: 5040 bytes
+stdout: 5146 bytes
 >>>
 connection.id:                          con-vpn-1
 connection.uuid:                        UUID-con-vpn-1-REPLACED-REPLACED-REP
@@ -957,6 +971,7 @@ ipv4.dhcp-fqdn:                         --
 ipv4.dhcp-hostname-flags:               0x0 (none)
 ipv4.never-default:                     nie
 ipv4.may-fail:                          tak
+ipv4.required-timeout:                  -1 (default)
 ipv4.dad-timeout:                       -1 (default)
 ipv4.dhcp-vendor-class-identifier:      --
 ipv4.dhcp-reject-servers:               --
@@ -975,6 +990,7 @@ ipv6.ignore-auto-routes:                nie
 ipv6.ignore-auto-dns:                   nie
 ipv6.never-default:                     nie
 ipv6.may-fail:                          tak
+ipv6.required-timeout:                  -1 (default)
 ipv6.ip6-privacy:                       -1 (unknown)
 ipv6.addr-gen-mode:                     stable-privacy
 ipv6.ra-timeout:                        0 (default)
@@ -1018,12 +1034,12 @@ VPN.CFG[2]:                             key2 = val2
 VPN.CFG[3]:                             key3 = val3
 
 <<<
-size: 5154
+size: 5260
 location: src/tests/client/test-client.py:test_004()/25
 cmd: $NMCLI con s con-vpn-1
 lang: C
 returncode: 0
-stdout: 5020 bytes
+stdout: 5126 bytes
 >>>
 connection.id:                          con-vpn-1
 connection.uuid:                        UUID-con-vpn-1-REPLACED-REPLACED-REP
@@ -1071,6 +1087,7 @@ ipv4.dhcp-fqdn:                         --
 ipv4.dhcp-hostname-flags:               0x0 (none)
 ipv4.never-default:                     no
 ipv4.may-fail:                          yes
+ipv4.required-timeout:                  -1 (default)
 ipv4.dad-timeout:                       -1 (default)
 ipv4.dhcp-vendor-class-identifier:      --
 ipv4.dhcp-reject-servers:               --
@@ -1089,6 +1106,7 @@ ipv6.ignore-auto-routes:                no
 ipv6.ignore-auto-dns:                   no
 ipv6.never-default:                     no
 ipv6.may-fail:                          yes
+ipv6.required-timeout:                  -1 (default)
 ipv6.ip6-privacy:                       -1 (unknown)
 ipv6.addr-gen-mode:                     stable-privacy
 ipv6.ra-timeout:                        0 (default)
@@ -1132,12 +1150,12 @@ VPN.CFG[2]:                             key2 = val2
 VPN.CFG[3]:                             key3 = val3
 
 <<<
-size: 5184
+size: 5290
 location: src/tests/client/test-client.py:test_004()/26
 cmd: $NMCLI con s con-vpn-1
 lang: pl_PL.UTF-8
 returncode: 0
-stdout: 5040 bytes
+stdout: 5146 bytes
 >>>
 connection.id:                          con-vpn-1
 connection.uuid:                        UUID-con-vpn-1-REPLACED-REPLACED-REP
@@ -1185,6 +1203,7 @@ ipv4.dhcp-fqdn:                         --
 ipv4.dhcp-hostname-flags:               0x0 (none)
 ipv4.never-default:                     nie
 ipv4.may-fail:                          tak
+ipv4.required-timeout:                  -1 (default)
 ipv4.dad-timeout:                       -1 (default)
 ipv4.dhcp-vendor-class-identifier:      --
 ipv4.dhcp-reject-servers:               --
@@ -1203,6 +1222,7 @@ ipv6.ignore-auto-routes:                nie
 ipv6.ignore-auto-dns:                   nie
 ipv6.never-default:                     nie
 ipv6.may-fail:                          tak
+ipv6.required-timeout:                  -1 (default)
 ipv6.ip6-privacy:                       -1 (unknown)
 ipv6.addr-gen-mode:                     stable-privacy
 ipv6.ra-timeout:                        0 (default)
@@ -1246,12 +1266,12 @@ VPN.CFG[2]:                             key2 = val2
 VPN.CFG[3]:                             key3 = val3
 
 <<<
-size: 4027
+size: 4133
 location: src/tests/client/test-client.py:test_004()/27
 cmd: $NMCLI -f ALL con s con-vpn-1
 lang: C
 returncode: 0
-stdout: 3886 bytes
+stdout: 3992 bytes
 >>>
 connection.id:                          con-vpn-1
 connection.uuid:                        UUID-con-vpn-1-REPLACED-REPLACED-REP
@@ -1299,6 +1319,7 @@ ipv4.dhcp-fqdn:                         --
 ipv4.dhcp-hostname-flags:               0x0 (none)
 ipv4.never-default:                     no
 ipv4.may-fail:                          yes
+ipv4.required-timeout:                  -1 (default)
 ipv4.dad-timeout:                       -1 (default)
 ipv4.dhcp-vendor-class-identifier:      --
 ipv4.dhcp-reject-servers:               --
@@ -1317,6 +1338,7 @@ ipv6.ignore-auto-routes:                no
 ipv6.ignore-auto-dns:                   no
 ipv6.never-default:                     no
 ipv6.may-fail:                          yes
+ipv6.required-timeout:                  -1 (default)
 ipv6.ip6-privacy:                       -1 (unknown)
 ipv6.addr-gen-mode:                     stable-privacy
 ipv6.ra-timeout:                        0 (default)
@@ -1339,12 +1361,12 @@ proxy.pac-url:                          --
 proxy.pac-script:                       --
 
 <<<
-size: 4047
+size: 4153
 location: src/tests/client/test-client.py:test_004()/28
 cmd: $NMCLI -f ALL con s con-vpn-1
 lang: pl_PL.UTF-8
 returncode: 0
-stdout: 3896 bytes
+stdout: 4002 bytes
 >>>
 connection.id:                          con-vpn-1
 connection.uuid:                        UUID-con-vpn-1-REPLACED-REPLACED-REP
@@ -1392,6 +1414,7 @@ ipv4.dhcp-fqdn:                         --
 ipv4.dhcp-hostname-flags:               0x0 (none)
 ipv4.never-default:                     nie
 ipv4.may-fail:                          tak
+ipv4.required-timeout:                  -1 (default)
 ipv4.dad-timeout:                       -1 (default)
 ipv4.dhcp-vendor-class-identifier:      --
 ipv4.dhcp-reject-servers:               --
@@ -1410,6 +1433,7 @@ ipv6.ignore-auto-routes:                nie
 ipv6.ignore-auto-dns:                   nie
 ipv6.never-default:                     nie
 ipv6.may-fail:                          tak
+ipv6.required-timeout:                  -1 (default)
 ipv6.ip6-privacy:                       -1 (unknown)
 ipv6.addr-gen-mode:                     stable-privacy
 ipv6.ra-timeout:                        0 (default)
@@ -4026,12 +4050,12 @@ connection.type:                        802-11-wireless
 connection.interface-name:              --
 
 <<<
-size: 5166
+size: 5272
 location: src/tests/client/test-client.py:test_004()/73
 cmd: $NMCLI --color yes con s con-vpn-1
 lang: C
 returncode: 0
-stdout: 5020 bytes
+stdout: 5126 bytes
 >>>
 connection.id:                          con-vpn-1
 connection.uuid:                        UUID-con-vpn-1-REPLACED-REPLACED-REP
@@ -4079,6 +4103,7 @@ ipv4.dhcp-fqdn:                         --
 ipv4.dhcp-hostname-flags:               0x0 (none)
 ipv4.never-default:                     no
 ipv4.may-fail:                          yes
+ipv4.required-timeout:                  -1 (default)
 ipv4.dad-timeout:                       -1 (default)
 ipv4.dhcp-vendor-class-identifier:      --
 ipv4.dhcp-reject-servers:               --
@@ -4097,6 +4122,7 @@ ipv6.ignore-auto-routes:                no
 ipv6.ignore-auto-dns:                   no
 ipv6.never-default:                     no
 ipv6.may-fail:                          yes
+ipv6.required-timeout:                  -1 (default)
 ipv6.ip6-privacy:                       -1 (unknown)
 ipv6.addr-gen-mode:                     stable-privacy
 ipv6.ra-timeout:                        0 (default)
@@ -4140,12 +4166,12 @@ VPN.CFG[2]:                             key2 = val2
 VPN.CFG[3]:                             key3 = val3
 
 <<<
-size: 5196
+size: 5302
 location: src/tests/client/test-client.py:test_004()/74
 cmd: $NMCLI --color yes con s con-vpn-1
 lang: pl_PL.UTF-8
 returncode: 0
-stdout: 5040 bytes
+stdout: 5146 bytes
 >>>
 connection.id:                          con-vpn-1
 connection.uuid:                        UUID-con-vpn-1-REPLACED-REPLACED-REP
@@ -4193,6 +4219,7 @@ ipv4.dhcp-fqdn:                         --
 ipv4.dhcp-hostname-flags:               0x0 (none)
 ipv4.never-default:                     nie
 ipv4.may-fail:                          tak
+ipv4.required-timeout:                  -1 (default)
 ipv4.dad-timeout:                       -1 (default)
 ipv4.dhcp-vendor-class-identifier:      --
 ipv4.dhcp-reject-servers:               --
@@ -4211,6 +4238,7 @@ ipv6.ignore-auto-routes:                nie
 ipv6.ignore-auto-dns:                   nie
 ipv6.never-default:                     nie
 ipv6.may-fail:                          tak
+ipv6.required-timeout:                  -1 (default)
 ipv6.ip6-privacy:                       -1 (unknown)
 ipv6.addr-gen-mode:                     stable-privacy
 ipv6.ra-timeout:                        0 (default)
@@ -4254,12 +4282,12 @@ VPN.CFG[2]:                             key2 = val2
 VPN.CFG[3]:                             key3 = val3
 
 <<<
-size: 5166
+size: 5272
 location: src/tests/client/test-client.py:test_004()/75
 cmd: $NMCLI --color yes con s con-vpn-1
 lang: C
 returncode: 0
-stdout: 5020 bytes
+stdout: 5126 bytes
 >>>
 connection.id:                          con-vpn-1
 connection.uuid:                        UUID-con-vpn-1-REPLACED-REPLACED-REP
@@ -4307,6 +4335,7 @@ ipv4.dhcp-fqdn:                         --
 ipv4.dhcp-hostname-flags:               0x0 (none)
 ipv4.never-default:                     no
 ipv4.may-fail:                          yes
+ipv4.required-timeout:                  -1 (default)
 ipv4.dad-timeout:                       -1 (default)
 ipv4.dhcp-vendor-class-identifier:      --
 ipv4.dhcp-reject-servers:               --
@@ -4325,6 +4354,7 @@ ipv6.ignore-auto-routes:                no
 ipv6.ignore-auto-dns:                   no
 ipv6.never-default:                     no
 ipv6.may-fail:                          yes
+ipv6.required-timeout:                  -1 (default)
 ipv6.ip6-privacy:                       -1 (unknown)
 ipv6.addr-gen-mode:                     stable-privacy
 ipv6.ra-timeout:                        0 (default)
@@ -4368,12 +4398,12 @@ VPN.CFG[2]:                             key2 = val2
 VPN.CFG[3]:                             key3 = val3
 
 <<<
-size: 5196
+size: 5302
 location: src/tests/client/test-client.py:test_004()/76
 cmd: $NMCLI --color yes con s con-vpn-1
 lang: pl_PL.UTF-8
 returncode: 0
-stdout: 5040 bytes
+stdout: 5146 bytes
 >>>
 connection.id:                          con-vpn-1
 connection.uuid:                        UUID-con-vpn-1-REPLACED-REPLACED-REP
@@ -4421,6 +4451,7 @@ ipv4.dhcp-fqdn:                         --
 ipv4.dhcp-hostname-flags:               0x0 (none)
 ipv4.never-default:                     nie
 ipv4.may-fail:                          tak
+ipv4.required-timeout:                  -1 (default)
 ipv4.dad-timeout:                       -1 (default)
 ipv4.dhcp-vendor-class-identifier:      --
 ipv4.dhcp-reject-servers:               --
@@ -4439,6 +4470,7 @@ ipv6.ignore-auto-routes:                nie
 ipv6.ignore-auto-dns:                   nie
 ipv6.never-default:                     nie
 ipv6.may-fail:                          tak
+ipv6.required-timeout:                  -1 (default)
 ipv6.ip6-privacy:                       -1 (unknown)
 ipv6.addr-gen-mode:                     stable-privacy
 ipv6.ra-timeout:                        0 (default)
@@ -4482,12 +4514,12 @@ VPN.CFG[2]:                             key2 = val2
 VPN.CFG[3]:                             key3 = val3
 
 <<<
-size: 4039
+size: 4145
 location: src/tests/client/test-client.py:test_004()/77
 cmd: $NMCLI --color yes -f ALL con s con-vpn-1
 lang: C
 returncode: 0
-stdout: 3886 bytes
+stdout: 3992 bytes
 >>>
 connection.id:                          con-vpn-1
 connection.uuid:                        UUID-con-vpn-1-REPLACED-REPLACED-REP
@@ -4535,6 +4567,7 @@ ipv4.dhcp-fqdn:                         --
 ipv4.dhcp-hostname-flags:               0x0 (none)
 ipv4.never-default:                     no
 ipv4.may-fail:                          yes
+ipv4.required-timeout:                  -1 (default)
 ipv4.dad-timeout:                       -1 (default)
 ipv4.dhcp-vendor-class-identifier:      --
 ipv4.dhcp-reject-servers:               --
@@ -4553,6 +4586,7 @@ ipv6.ignore-auto-routes:                no
 ipv6.ignore-auto-dns:                   no
 ipv6.never-default:                     no
 ipv6.may-fail:                          yes
+ipv6.required-timeout:                  -1 (default)
 ipv6.ip6-privacy:                       -1 (unknown)
 ipv6.addr-gen-mode:                     stable-privacy
 ipv6.ra-timeout:                        0 (default)
@@ -4575,12 +4609,12 @@ proxy.pac-url:                          --
 proxy.pac-script:                       --
 
 <<<
-size: 4059
+size: 4165
 location: src/tests/client/test-client.py:test_004()/78
 cmd: $NMCLI --color yes -f ALL con s con-vpn-1
 lang: pl_PL.UTF-8
 returncode: 0
-stdout: 3896 bytes
+stdout: 4002 bytes
 >>>
 connection.id:                          con-vpn-1
 connection.uuid:                        UUID-con-vpn-1-REPLACED-REPLACED-REP
@@ -4628,6 +4662,7 @@ ipv4.dhcp-fqdn:                         --
 ipv4.dhcp-hostname-flags:               0x0 (none)
 ipv4.never-default:                     nie
 ipv4.may-fail:                          tak
+ipv4.required-timeout:                  -1 (default)
 ipv4.dad-timeout:                       -1 (default)
 ipv4.dhcp-vendor-class-identifier:      --
 ipv4.dhcp-reject-servers:               --
@@ -4646,6 +4681,7 @@ ipv6.ignore-auto-routes:                nie
 ipv6.ignore-auto-dns:                   nie
 ipv6.never-default:                     nie
 ipv6.may-fail:                          tak
+ipv6.required-timeout:                  -1 (default)
 ipv6.ip6-privacy:                       -1 (unknown)
 ipv6.addr-gen-mode:                     stable-privacy
 ipv6.ra-timeout:                        0 (default)
@@ -7262,12 +7298,12 @@ connection.type:                        802-11-wireless
 connection.interface-name:              --
 
 <<<
-size: 6176
+size: 6282
 location: src/tests/client/test-client.py:test_004()/123
 cmd: $NMCLI --pretty con s con-vpn-1
 lang: C
 returncode: 0
-stdout: 6032 bytes
+stdout: 6138 bytes
 >>>
 ===============================================================================
                     Connection profile details (con-vpn-1)
@@ -7319,6 +7355,7 @@ ipv4.dhcp-fqdn:                         --
 ipv4.dhcp-hostname-flags:               0x0 (none)
 ipv4.never-default:                     no
 ipv4.may-fail:                          yes
+ipv4.required-timeout:                  -1 (default)
 ipv4.dad-timeout:                       -1 (default)
 ipv4.dhcp-vendor-class-identifier:      --
 ipv4.dhcp-reject-servers:               --
@@ -7338,6 +7375,7 @@ ipv6.ignore-auto-routes:                no
 ipv6.ignore-auto-dns:                   no
 ipv6.never-default:                     no
 ipv6.may-fail:                          yes
+ipv6.required-timeout:                  -1 (default)
 ipv6.ip6-privacy:                       -1 (unknown)
 ipv6.addr-gen-mode:                     stable-privacy
 ipv6.ra-timeout:                        0 (default)
@@ -7389,12 +7427,12 @@ VPN.CFG[3]:                             key3 = val3
 -------------------------------------------------------------------------------
 
 <<<
-size: 6218
+size: 6324
 location: src/tests/client/test-client.py:test_004()/124
 cmd: $NMCLI --pretty con s con-vpn-1
 lang: pl_PL.UTF-8
 returncode: 0
-stdout: 6064 bytes
+stdout: 6170 bytes
 >>>
 ===============================================================================
                    Szczegóły profilu połączenia (con-vpn-1)
@@ -7446,6 +7484,7 @@ ipv4.dhcp-fqdn:                         --
 ipv4.dhcp-hostname-flags:               0x0 (none)
 ipv4.never-default:                     nie
 ipv4.may-fail:                          tak
+ipv4.required-timeout:                  -1 (default)
 ipv4.dad-timeout:                       -1 (default)
 ipv4.dhcp-vendor-class-identifier:      --
 ipv4.dhcp-reject-servers:               --
@@ -7465,6 +7504,7 @@ ipv6.ignore-auto-routes:                nie
 ipv6.ignore-auto-dns:                   nie
 ipv6.never-default:                     nie
 ipv6.may-fail:                          tak
+ipv6.required-timeout:                  -1 (default)
 ipv6.ip6-privacy:                       -1 (unknown)
 ipv6.addr-gen-mode:                     stable-privacy
 ipv6.ra-timeout:                        0 (default)
@@ -7516,12 +7556,12 @@ VPN.CFG[3]:                             key3 = val3
 -------------------------------------------------------------------------------
 
 <<<
-size: 6176
+size: 6282
 location: src/tests/client/test-client.py:test_004()/125
 cmd: $NMCLI --pretty con s con-vpn-1
 lang: C
 returncode: 0
-stdout: 6032 bytes
+stdout: 6138 bytes
 >>>
 ===============================================================================
                     Connection profile details (con-vpn-1)
@@ -7573,6 +7613,7 @@ ipv4.dhcp-fqdn:                         --
 ipv4.dhcp-hostname-flags:               0x0 (none)
 ipv4.never-default:                     no
 ipv4.may-fail:                          yes
+ipv4.required-timeout:                  -1 (default)
 ipv4.dad-timeout:                       -1 (default)
 ipv4.dhcp-vendor-class-identifier:      --
 ipv4.dhcp-reject-servers:               --
@@ -7592,6 +7633,7 @@ ipv6.ignore-auto-routes:                no
 ipv6.ignore-auto-dns:                   no
 ipv6.never-default:                     no
 ipv6.may-fail:                          yes
+ipv6.required-timeout:                  -1 (default)
 ipv6.ip6-privacy:                       -1 (unknown)
 ipv6.addr-gen-mode:                     stable-privacy
 ipv6.ra-timeout:                        0 (default)
@@ -7643,12 +7685,12 @@ VPN.CFG[3]:                             key3 = val3
 -------------------------------------------------------------------------------
 
 <<<
-size: 6218
+size: 6324
 location: src/tests/client/test-client.py:test_004()/126
 cmd: $NMCLI --pretty con s con-vpn-1
 lang: pl_PL.UTF-8
 returncode: 0
-stdout: 6064 bytes
+stdout: 6170 bytes
 >>>
 ===============================================================================
                    Szczegóły profilu połączenia (con-vpn-1)
@@ -7700,6 +7742,7 @@ ipv4.dhcp-fqdn:                         --
 ipv4.dhcp-hostname-flags:               0x0 (none)
 ipv4.never-default:                     nie
 ipv4.may-fail:                          tak
+ipv4.required-timeout:                  -1 (default)
 ipv4.dad-timeout:                       -1 (default)
 ipv4.dhcp-vendor-class-identifier:      --
 ipv4.dhcp-reject-servers:               --
@@ -7719,6 +7762,7 @@ ipv6.ignore-auto-routes:                nie
 ipv6.ignore-auto-dns:                   nie
 ipv6.never-default:                     nie
 ipv6.may-fail:                          tak
+ipv6.required-timeout:                  -1 (default)
 ipv6.ip6-privacy:                       -1 (unknown)
 ipv6.addr-gen-mode:                     stable-privacy
 ipv6.ra-timeout:                        0 (default)
@@ -7770,12 +7814,12 @@ VPN.CFG[3]:                             key3 = val3
 -------------------------------------------------------------------------------
 
 <<<
-size: 4656
+size: 4762
 location: src/tests/client/test-client.py:test_004()/127
 cmd: $NMCLI --pretty -f ALL con s con-vpn-1
 lang: C
 returncode: 0
-stdout: 4505 bytes
+stdout: 4611 bytes
 >>>
 ===============================================================================
                     Connection profile details (con-vpn-1)
@@ -7827,6 +7871,7 @@ ipv4.dhcp-fqdn:                         --
 ipv4.dhcp-hostname-flags:               0x0 (none)
 ipv4.never-default:                     no
 ipv4.may-fail:                          yes
+ipv4.required-timeout:                  -1 (default)
 ipv4.dad-timeout:                       -1 (default)
 ipv4.dhcp-vendor-class-identifier:      --
 ipv4.dhcp-reject-servers:               --
@@ -7846,6 +7891,7 @@ ipv6.ignore-auto-routes:                no
 ipv6.ignore-auto-dns:                   no
 ipv6.never-default:                     no
 ipv6.may-fail:                          yes
+ipv6.required-timeout:                  -1 (default)
 ipv6.ip6-privacy:                       -1 (unknown)
 ipv6.addr-gen-mode:                     stable-privacy
 ipv6.ra-timeout:                        0 (default)
@@ -7871,12 +7917,12 @@ proxy.pac-script:                       --
 -------------------------------------------------------------------------------
 
 <<<
-size: 4681
+size: 4787
 location: src/tests/client/test-client.py:test_004()/128
 cmd: $NMCLI --pretty -f ALL con s con-vpn-1
 lang: pl_PL.UTF-8
 returncode: 0
-stdout: 4520 bytes
+stdout: 4626 bytes
 >>>
 ===============================================================================
                    Szczegóły profilu połączenia (con-vpn-1)
@@ -7928,6 +7974,7 @@ ipv4.dhcp-fqdn:                         --
 ipv4.dhcp-hostname-flags:               0x0 (none)
 ipv4.never-default:                     nie
 ipv4.may-fail:                          tak
+ipv4.required-timeout:                  -1 (default)
 ipv4.dad-timeout:                       -1 (default)
 ipv4.dhcp-vendor-class-identifier:      --
 ipv4.dhcp-reject-servers:               --
@@ -7947,6 +7994,7 @@ ipv6.ignore-auto-routes:                nie
 ipv6.ignore-auto-dns:                   nie
 ipv6.never-default:                     nie
 ipv6.may-fail:                          tak
+ipv6.required-timeout:                  -1 (default)
 ipv6.ip6-privacy:                       -1 (unknown)
 ipv6.addr-gen-mode:                     stable-privacy
 ipv6.ra-timeout:                        0 (default)
@@ -11170,12 +11218,12 @@ connection.interface-name:              --
 -------------------------------------------------------------------------------
 
 <<<
-size: 6188
+size: 6294
 location: src/tests/client/test-client.py:test_004()/173
 cmd: $NMCLI --pretty --color yes con s con-vpn-1
 lang: C
 returncode: 0
-stdout: 6032 bytes
+stdout: 6138 bytes
 >>>
 ===============================================================================
                     Connection profile details (con-vpn-1)
@@ -11227,6 +11275,7 @@ ipv4.dhcp-fqdn:                         --
 ipv4.dhcp-hostname-flags:               0x0 (none)
 ipv4.never-default:                     no
 ipv4.may-fail:                          yes
+ipv4.required-timeout:                  -1 (default)
 ipv4.dad-timeout:                       -1 (default)
 ipv4.dhcp-vendor-class-identifier:      --
 ipv4.dhcp-reject-servers:               --
@@ -11246,6 +11295,7 @@ ipv6.ignore-auto-routes:                no
 ipv6.ignore-auto-dns:                   no
 ipv6.never-default:                     no
 ipv6.may-fail:                          yes
+ipv6.required-timeout:                  -1 (default)
 ipv6.ip6-privacy:                       -1 (unknown)
 ipv6.addr-gen-mode:                     stable-privacy
 ipv6.ra-timeout:                        0 (default)
@@ -11297,12 +11347,12 @@ VPN.CFG[3]:                             key3 = val3
 -------------------------------------------------------------------------------
 
 <<<
-size: 6230
+size: 6336
 location: src/tests/client/test-client.py:test_004()/174
 cmd: $NMCLI --pretty --color yes con s con-vpn-1
 lang: pl_PL.UTF-8
 returncode: 0
-stdout: 6064 bytes
+stdout: 6170 bytes
 >>>
 ===============================================================================
                    Szczegóły profilu połączenia (con-vpn-1)
@@ -11354,6 +11404,7 @@ ipv4.dhcp-fqdn:                         --
 ipv4.dhcp-hostname-flags:               0x0 (none)
 ipv4.never-default:                     nie
 ipv4.may-fail:                          tak
+ipv4.required-timeout:                  -1 (default)
 ipv4.dad-timeout:                       -1 (default)
 ipv4.dhcp-vendor-class-identifier:      --
 ipv4.dhcp-reject-servers:               --
@@ -11373,6 +11424,7 @@ ipv6.ignore-auto-routes:                nie
 ipv6.ignore-auto-dns:                   nie
 ipv6.never-default:                     nie
 ipv6.may-fail:                          tak
+ipv6.required-timeout:                  -1 (default)
 ipv6.ip6-privacy:                       -1 (unknown)
 ipv6.addr-gen-mode:                     stable-privacy
 ipv6.ra-timeout:                        0 (default)
@@ -11424,12 +11476,12 @@ VPN.CFG[3]:                             key3 = val3
 -------------------------------------------------------------------------------
 
 <<<
-size: 6188
+size: 6294
 location: src/tests/client/test-client.py:test_004()/175
 cmd: $NMCLI --pretty --color yes con s con-vpn-1
 lang: C
 returncode: 0
-stdout: 6032 bytes
+stdout: 6138 bytes
 >>>
 ===============================================================================
                     Connection profile details (con-vpn-1)
@@ -11481,6 +11533,7 @@ ipv4.dhcp-fqdn:                         --
 ipv4.dhcp-hostname-flags:               0x0 (none)
 ipv4.never-default:                     no
 ipv4.may-fail:                          yes
+ipv4.required-timeout:                  -1 (default)
 ipv4.dad-timeout:                       -1 (default)
 ipv4.dhcp-vendor-class-identifier:      --
 ipv4.dhcp-reject-servers:               --
@@ -11500,6 +11553,7 @@ ipv6.ignore-auto-routes:                no
 ipv6.ignore-auto-dns:                   no
 ipv6.never-default:                     no
 ipv6.may-fail:                          yes
+ipv6.required-timeout:                  -1 (default)
 ipv6.ip6-privacy:                       -1 (unknown)
 ipv6.addr-gen-mode:                     stable-privacy
 ipv6.ra-timeout:                        0 (default)
@@ -11551,12 +11605,12 @@ VPN.CFG[3]:                             key3 = val3
 -------------------------------------------------------------------------------
 
 <<<
-size: 6230
+size: 6336
 location: src/tests/client/test-client.py:test_004()/176
 cmd: $NMCLI --pretty --color yes con s con-vpn-1
 lang: pl_PL.UTF-8
 returncode: 0
-stdout: 6064 bytes
+stdout: 6170 bytes
 >>>
 ===============================================================================
                    Szczegóły profilu połączenia (con-vpn-1)
@@ -11608,6 +11662,7 @@ ipv4.dhcp-fqdn:                         --
 ipv4.dhcp-hostname-flags:               0x0 (none)
 ipv4.never-default:                     nie
 ipv4.may-fail:                          tak
+ipv4.required-timeout:                  -1 (default)
 ipv4.dad-timeout:                       -1 (default)
 ipv4.dhcp-vendor-class-identifier:      --
 ipv4.dhcp-reject-servers:               --
@@ -11627,6 +11682,7 @@ ipv6.ignore-auto-routes:                nie
 ipv6.ignore-auto-dns:                   nie
 ipv6.never-default:                     nie
 ipv6.may-fail:                          tak
+ipv6.required-timeout:                  -1 (default)
 ipv6.ip6-privacy:                       -1 (unknown)
 ipv6.addr-gen-mode:                     stable-privacy
 ipv6.ra-timeout:                        0 (default)
@@ -11678,12 +11734,12 @@ VPN.CFG[3]:                             key3 = val3
 -------------------------------------------------------------------------------
 
 <<<
-size: 4668
+size: 4774
 location: src/tests/client/test-client.py:test_004()/177
 cmd: $NMCLI --pretty --color yes -f ALL con s con-vpn-1
 lang: C
 returncode: 0
-stdout: 4505 bytes
+stdout: 4611 bytes
 >>>
 ===============================================================================
                     Connection profile details (con-vpn-1)
@@ -11735,6 +11791,7 @@ ipv4.dhcp-fqdn:                         --
 ipv4.dhcp-hostname-flags:               0x0 (none)
 ipv4.never-default:                     no
 ipv4.may-fail:                          yes
+ipv4.required-timeout:                  -1 (default)
 ipv4.dad-timeout:                       -1 (default)
 ipv4.dhcp-vendor-class-identifier:      --
 ipv4.dhcp-reject-servers:               --
@@ -11754,6 +11811,7 @@ ipv6.ignore-auto-routes:                no
 ipv6.ignore-auto-dns:                   no
 ipv6.never-default:                     no
 ipv6.may-fail:                          yes
+ipv6.required-timeout:                  -1 (default)
 ipv6.ip6-privacy:                       -1 (unknown)
 ipv6.addr-gen-mode:                     stable-privacy
 ipv6.ra-timeout:                        0 (default)
@@ -11779,12 +11837,12 @@ proxy.pac-script:                       --
 -------------------------------------------------------------------------------
 
 <<<
-size: 4693
+size: 4799
 location: src/tests/client/test-client.py:test_004()/178
 cmd: $NMCLI --pretty --color yes -f ALL con s con-vpn-1
 lang: pl_PL.UTF-8
 returncode: 0
-stdout: 4520 bytes
+stdout: 4626 bytes
 >>>
 ===============================================================================
                    Szczegóły profilu połączenia (con-vpn-1)
@@ -11836,6 +11894,7 @@ ipv4.dhcp-fqdn:                         --
 ipv4.dhcp-hostname-flags:               0x0 (none)
 ipv4.never-default:                     nie
 ipv4.may-fail:                          tak
+ipv4.required-timeout:                  -1 (default)
 ipv4.dad-timeout:                       -1 (default)
 ipv4.dhcp-vendor-class-identifier:      --
 ipv4.dhcp-reject-servers:               --
@@ -11855,6 +11914,7 @@ ipv6.ignore-auto-routes:                nie
 ipv6.ignore-auto-dns:                   nie
 ipv6.never-default:                     nie
 ipv6.may-fail:                          tak
+ipv6.required-timeout:                  -1 (default)
 ipv6.ip6-privacy:                       -1 (unknown)
 ipv6.addr-gen-mode:                     stable-privacy
 ipv6.ra-timeout:                        0 (default)
@@ -15078,12 +15138,12 @@ connection.interface-name:              --
 -------------------------------------------------------------------------------
 
 <<<
-size: 2605
+size: 2655
 location: src/tests/client/test-client.py:test_004()/223
 cmd: $NMCLI --terse con s con-vpn-1
 lang: C
 returncode: 0
-stdout: 2462 bytes
+stdout: 2512 bytes
 >>>
 connection.id:con-vpn-1
 connection.uuid:UUID-con-vpn-1-REPLACED-REPLACED-REP
@@ -15131,6 +15191,7 @@ ipv4.dhcp-fqdn:
 ipv4.dhcp-hostname-flags:0x0
 ipv4.never-default:no
 ipv4.may-fail:yes
+ipv4.required-timeout:-1
 ipv4.dad-timeout:-1
 ipv4.dhcp-vendor-class-identifier:
 ipv4.dhcp-reject-servers:
@@ -15149,6 +15210,7 @@ ipv6.ignore-auto-routes:no
 ipv6.ignore-auto-dns:no
 ipv6.never-default:no
 ipv6.may-fail:yes
+ipv6.required-timeout:-1
 ipv6.ip6-privacy:-1
 ipv6.addr-gen-mode:stable-privacy
 ipv6.ra-timeout:0
@@ -15192,12 +15254,12 @@ VPN.CFG[2]:key2 = val2
 VPN.CFG[3]:key3 = val3
 
 <<<
-size: 2615
+size: 2665
 location: src/tests/client/test-client.py:test_004()/224
 cmd: $NMCLI --terse con s con-vpn-1
 lang: pl_PL.UTF-8
 returncode: 0
-stdout: 2462 bytes
+stdout: 2512 bytes
 >>>
 connection.id:con-vpn-1
 connection.uuid:UUID-con-vpn-1-REPLACED-REPLACED-REP
@@ -15245,6 +15307,7 @@ ipv4.dhcp-fqdn:
 ipv4.dhcp-hostname-flags:0x0
 ipv4.never-default:no
 ipv4.may-fail:yes
+ipv4.required-timeout:-1
 ipv4.dad-timeout:-1
 ipv4.dhcp-vendor-class-identifier:
 ipv4.dhcp-reject-servers:
@@ -15263,6 +15326,7 @@ ipv6.ignore-auto-routes:no
 ipv6.ignore-auto-dns:no
 ipv6.never-default:no
 ipv6.may-fail:yes
+ipv6.required-timeout:-1
 ipv6.ip6-privacy:-1
 ipv6.addr-gen-mode:stable-privacy
 ipv6.ra-timeout:0
@@ -15306,12 +15370,12 @@ VPN.CFG[2]:key2 = val2
 VPN.CFG[3]:key3 = val3
 
 <<<
-size: 2605
+size: 2655
 location: src/tests/client/test-client.py:test_004()/225
 cmd: $NMCLI --terse con s con-vpn-1
 lang: C
 returncode: 0
-stdout: 2462 bytes
+stdout: 2512 bytes
 >>>
 connection.id:con-vpn-1
 connection.uuid:UUID-con-vpn-1-REPLACED-REPLACED-REP
@@ -15359,6 +15423,7 @@ ipv4.dhcp-fqdn:
 ipv4.dhcp-hostname-flags:0x0
 ipv4.never-default:no
 ipv4.may-fail:yes
+ipv4.required-timeout:-1
 ipv4.dad-timeout:-1
 ipv4.dhcp-vendor-class-identifier:
 ipv4.dhcp-reject-servers:
@@ -15377,6 +15442,7 @@ ipv6.ignore-auto-routes:no
 ipv6.ignore-auto-dns:no
 ipv6.never-default:no
 ipv6.may-fail:yes
+ipv6.required-timeout:-1
 ipv6.ip6-privacy:-1
 ipv6.addr-gen-mode:stable-privacy
 ipv6.ra-timeout:0
@@ -15420,12 +15486,12 @@ VPN.CFG[2]:key2 = val2
 VPN.CFG[3]:key3 = val3
 
 <<<
-size: 2615
+size: 2665
 location: src/tests/client/test-client.py:test_004()/226
 cmd: $NMCLI --terse con s con-vpn-1
 lang: pl_PL.UTF-8
 returncode: 0
-stdout: 2462 bytes
+stdout: 2512 bytes
 >>>
 connection.id:con-vpn-1
 connection.uuid:UUID-con-vpn-1-REPLACED-REPLACED-REP
@@ -15473,6 +15539,7 @@ ipv4.dhcp-fqdn:
 ipv4.dhcp-hostname-flags:0x0
 ipv4.never-default:no
 ipv4.may-fail:yes
+ipv4.required-timeout:-1
 ipv4.dad-timeout:-1
 ipv4.dhcp-vendor-class-identifier:
 ipv4.dhcp-reject-servers:
@@ -15491,6 +15558,7 @@ ipv6.ignore-auto-routes:no
 ipv6.ignore-auto-dns:no
 ipv6.never-default:no
 ipv6.may-fail:yes
+ipv6.required-timeout:-1
 ipv6.ip6-privacy:-1
 ipv6.addr-gen-mode:stable-privacy
 ipv6.ra-timeout:0
@@ -15534,12 +15602,12 @@ VPN.CFG[2]:key2 = val2
 VPN.CFG[3]:key3 = val3
 
 <<<
-size: 2030
+size: 2080
 location: src/tests/client/test-client.py:test_004()/227
 cmd: $NMCLI --terse -f ALL con s con-vpn-1
 lang: C
 returncode: 0
-stdout: 1880 bytes
+stdout: 1930 bytes
 >>>
 connection.id:con-vpn-1
 connection.uuid:UUID-con-vpn-1-REPLACED-REPLACED-REP
@@ -15587,6 +15655,7 @@ ipv4.dhcp-fqdn:
 ipv4.dhcp-hostname-flags:0x0
 ipv4.never-default:no
 ipv4.may-fail:yes
+ipv4.required-timeout:-1
 ipv4.dad-timeout:-1
 ipv4.dhcp-vendor-class-identifier:
 ipv4.dhcp-reject-servers:
@@ -15605,6 +15674,7 @@ ipv6.ignore-auto-routes:no
 ipv6.ignore-auto-dns:no
 ipv6.never-default:no
 ipv6.may-fail:yes
+ipv6.required-timeout:-1
 ipv6.ip6-privacy:-1
 ipv6.addr-gen-mode:stable-privacy
 ipv6.ra-timeout:0
@@ -15627,12 +15697,12 @@ proxy.pac-url:
 proxy.pac-script:
 
 <<<
-size: 2040
+size: 2090
 location: src/tests/client/test-client.py:test_004()/228
 cmd: $NMCLI --terse -f ALL con s con-vpn-1
 lang: pl_PL.UTF-8
 returncode: 0
-stdout: 1880 bytes
+stdout: 1930 bytes
 >>>
 connection.id:con-vpn-1
 connection.uuid:UUID-con-vpn-1-REPLACED-REPLACED-REP
@@ -15680,6 +15750,7 @@ ipv4.dhcp-fqdn:
 ipv4.dhcp-hostname-flags:0x0
 ipv4.never-default:no
 ipv4.may-fail:yes
+ipv4.required-timeout:-1
 ipv4.dad-timeout:-1
 ipv4.dhcp-vendor-class-identifier:
 ipv4.dhcp-reject-servers:
@@ -15698,6 +15769,7 @@ ipv6.ignore-auto-routes:no
 ipv6.ignore-auto-dns:no
 ipv6.never-default:no
 ipv6.may-fail:yes
+ipv6.required-timeout:-1
 ipv6.ip6-privacy:-1
 ipv6.addr-gen-mode:stable-privacy
 ipv6.ra-timeout:0
@@ -18284,12 +18356,12 @@ connection.type:802-11-wireless
 connection.interface-name:
 
 <<<
-size: 2617
+size: 2667
 location: src/tests/client/test-client.py:test_004()/273
 cmd: $NMCLI --terse --color yes con s con-vpn-1
 lang: C
 returncode: 0
-stdout: 2462 bytes
+stdout: 2512 bytes
 >>>
 connection.id:con-vpn-1
 connection.uuid:UUID-con-vpn-1-REPLACED-REPLACED-REP
@@ -18337,6 +18409,7 @@ ipv4.dhcp-fqdn:
 ipv4.dhcp-hostname-flags:0x0
 ipv4.never-default:no
 ipv4.may-fail:yes
+ipv4.required-timeout:-1
 ipv4.dad-timeout:-1
 ipv4.dhcp-vendor-class-identifier:
 ipv4.dhcp-reject-servers:
@@ -18355,6 +18428,7 @@ ipv6.ignore-auto-routes:no
 ipv6.ignore-auto-dns:no
 ipv6.never-default:no
 ipv6.may-fail:yes
+ipv6.required-timeout:-1
 ipv6.ip6-privacy:-1
 ipv6.addr-gen-mode:stable-privacy
 ipv6.ra-timeout:0
@@ -18398,12 +18472,12 @@ VPN.CFG[2]:key2 = val2
 VPN.CFG[3]:key3 = val3
 
 <<<
-size: 2627
+size: 2677
 location: src/tests/client/test-client.py:test_004()/274
 cmd: $NMCLI --terse --color yes con s con-vpn-1
 lang: pl_PL.UTF-8
 returncode: 0
-stdout: 2462 bytes
+stdout: 2512 bytes
 >>>
 connection.id:con-vpn-1
 connection.uuid:UUID-con-vpn-1-REPLACED-REPLACED-REP
@@ -18451,6 +18525,7 @@ ipv4.dhcp-fqdn:
 ipv4.dhcp-hostname-flags:0x0
 ipv4.never-default:no
 ipv4.may-fail:yes
+ipv4.required-timeout:-1
 ipv4.dad-timeout:-1
 ipv4.dhcp-vendor-class-identifier:
 ipv4.dhcp-reject-servers:
@@ -18469,6 +18544,7 @@ ipv6.ignore-auto-routes:no
 ipv6.ignore-auto-dns:no
 ipv6.never-default:no
 ipv6.may-fail:yes
+ipv6.required-timeout:-1
 ipv6.ip6-privacy:-1
 ipv6.addr-gen-mode:stable-privacy
 ipv6.ra-timeout:0
@@ -18512,12 +18588,12 @@ VPN.CFG[2]:key2 = val2
 VPN.CFG[3]:key3 = val3
 
 <<<
-size: 2617
+size: 2667
 location: src/tests/client/test-client.py:test_004()/275
 cmd: $NMCLI --terse --color yes con s con-vpn-1
 lang: C
 returncode: 0
-stdout: 2462 bytes
+stdout: 2512 bytes
 >>>
 connection.id:con-vpn-1
 connection.uuid:UUID-con-vpn-1-REPLACED-REPLACED-REP
@@ -18565,6 +18641,7 @@ ipv4.dhcp-fqdn:
 ipv4.dhcp-hostname-flags:0x0
 ipv4.never-default:no
 ipv4.may-fail:yes
+ipv4.required-timeout:-1
 ipv4.dad-timeout:-1
 ipv4.dhcp-vendor-class-identifier:
 ipv4.dhcp-reject-servers:
@@ -18583,6 +18660,7 @@ ipv6.ignore-auto-routes:no
 ipv6.ignore-auto-dns:no
 ipv6.never-default:no
 ipv6.may-fail:yes
+ipv6.required-timeout:-1
 ipv6.ip6-privacy:-1
 ipv6.addr-gen-mode:stable-privacy
 ipv6.ra-timeout:0
@@ -18626,12 +18704,12 @@ VPN.CFG[2]:key2 = val2
 VPN.CFG[3]:key3 = val3
 
 <<<
-size: 2627
+size: 2677
 location: src/tests/client/test-client.py:test_004()/276
 cmd: $NMCLI --terse --color yes con s con-vpn-1
 lang: pl_PL.UTF-8
 returncode: 0
-stdout: 2462 bytes
+stdout: 2512 bytes
 >>>
 connection.id:con-vpn-1
 connection.uuid:UUID-con-vpn-1-REPLACED-REPLACED-REP
@@ -18679,6 +18757,7 @@ ipv4.dhcp-fqdn:
 ipv4.dhcp-hostname-flags:0x0
 ipv4.never-default:no
 ipv4.may-fail:yes
+ipv4.required-timeout:-1
 ipv4.dad-timeout:-1
 ipv4.dhcp-vendor-class-identifier:
 ipv4.dhcp-reject-servers:
@@ -18697,6 +18776,7 @@ ipv6.ignore-auto-routes:no
 ipv6.ignore-auto-dns:no
 ipv6.never-default:no
 ipv6.may-fail:yes
+ipv6.required-timeout:-1
 ipv6.ip6-privacy:-1
 ipv6.addr-gen-mode:stable-privacy
 ipv6.ra-timeout:0
@@ -18740,12 +18820,12 @@ VPN.CFG[2]:key2 = val2
 VPN.CFG[3]:key3 = val3
 
 <<<
-size: 2042
+size: 2092
 location: src/tests/client/test-client.py:test_004()/277
 cmd: $NMCLI --terse --color yes -f ALL con s con-vpn-1
 lang: C
 returncode: 0
-stdout: 1880 bytes
+stdout: 1930 bytes
 >>>
 connection.id:con-vpn-1
 connection.uuid:UUID-con-vpn-1-REPLACED-REPLACED-REP
@@ -18793,6 +18873,7 @@ ipv4.dhcp-fqdn:
 ipv4.dhcp-hostname-flags:0x0
 ipv4.never-default:no
 ipv4.may-fail:yes
+ipv4.required-timeout:-1
 ipv4.dad-timeout:-1
 ipv4.dhcp-vendor-class-identifier:
 ipv4.dhcp-reject-servers:
@@ -18811,6 +18892,7 @@ ipv6.ignore-auto-routes:no
 ipv6.ignore-auto-dns:no
 ipv6.never-default:no
 ipv6.may-fail:yes
+ipv6.required-timeout:-1
 ipv6.ip6-privacy:-1
 ipv6.addr-gen-mode:stable-privacy
 ipv6.ra-timeout:0
@@ -18833,12 +18915,12 @@ proxy.pac-url:
 proxy.pac-script:
 
 <<<
-size: 2052
+size: 2102
 location: src/tests/client/test-client.py:test_004()/278
 cmd: $NMCLI --terse --color yes -f ALL con s con-vpn-1
 lang: pl_PL.UTF-8
 returncode: 0
-stdout: 1880 bytes
+stdout: 1930 bytes
 >>>
 connection.id:con-vpn-1
 connection.uuid:UUID-con-vpn-1-REPLACED-REPLACED-REP
@@ -18886,6 +18968,7 @@ ipv4.dhcp-fqdn:
 ipv4.dhcp-hostname-flags:0x0
 ipv4.never-default:no
 ipv4.may-fail:yes
+ipv4.required-timeout:-1
 ipv4.dad-timeout:-1
 ipv4.dhcp-vendor-class-identifier:
 ipv4.dhcp-reject-servers:
@@ -18904,6 +18987,7 @@ ipv6.ignore-auto-routes:no
 ipv6.ignore-auto-dns:no
 ipv6.never-default:no
 ipv6.may-fail:yes
+ipv6.required-timeout:-1
 ipv6.ip6-privacy:-1
 ipv6.addr-gen-mode:stable-privacy
 ipv6.ra-timeout:0
@@ -21490,21 +21574,21 @@ connection.type:802-11-wireless
 connection.interface-name:
 
 <<<
-size: 3382
+size: 3454
 location: src/tests/client/test-client.py:test_004()/323
 cmd: $NMCLI --mode tabular con s con-vpn-1
 lang: C
 returncode: 0
-stdout: 3232 bytes
+stdout: 3304 bytes
 >>>
 name        id         uuid                                  stable-id  type  interface-name  autoconnect  autoconnect-priority  autoconnect-retries  multi-connect  auth-retries  timestamp  read-only  permissions  zone  master  slave-type  autoconnect-slaves  secondaries  gateway-ping-timeout  metered  lldp     mdns          llmnr         wait-device-timeout 
 connection  con-vpn-1  UUID-con-vpn-1-REPLACED-REPLACED-REP  --         vpn   --              yes          0                     -1 (default)         0 (default)    -1            0          no         --           --    --      --          -1 (default)        --           0                     unknown  default  -1 (default)  -1 (default)  -1                  
 
-name  method  dns  dns-search  dns-options  dns-priority  addresses  gateway  routes  route-metric  route-table  routing-rules  ignore-auto-routes  ignore-auto-dns  dhcp-client-id  dhcp-iaid  dhcp-timeout  dhcp-send-hostname  dhcp-hostname  dhcp-fqdn  dhcp-hostname-flags  never-default  may-fail  dad-timeout   dhcp-vendor-class-identifier  dhcp-reject-servers 
-ipv4  auto    --   --          --           0             --         --       --      -1            0 (unspec)   --             no                  no               --              --         0 (default)   yes                 --             --         0x0 (none)           no             yes       -1 (default)  --                            --                  
+name  method  dns  dns-search  dns-options  dns-priority  addresses  gateway  routes  route-metric  route-table  routing-rules  ignore-auto-routes  ignore-auto-dns  dhcp-client-id  dhcp-iaid  dhcp-timeout  dhcp-send-hostname  dhcp-hostname  dhcp-fqdn  dhcp-hostname-flags  never-default  may-fail  required-timeout  dad-timeout   dhcp-vendor-class-identifier  dhcp-reject-servers 
+ipv4  auto    --   --          --           0             --         --       --      -1            0 (unspec)   --             no                  no               --              --         0 (default)   yes                 --             --         0x0 (none)           no             yes       -1 (default)      -1 (default)  --                            --                  
 
-name  method  dns  dns-search  dns-options  dns-priority  addresses  gateway  routes  route-metric  route-table  routing-rules  ignore-auto-routes  ignore-auto-dns  never-default  may-fail  ip6-privacy   addr-gen-mode   ra-timeout   dhcp-duid  dhcp-iaid  dhcp-timeout  dhcp-send-hostname  dhcp-hostname  dhcp-hostname-flags  token 
-ipv6  auto    --   --          --           0             --         --       --      -1            0 (unspec)   --             no                  no               no             yes       -1 (unknown)  stable-privacy  0 (default)  --         --         0 (default)   yes                 --             0x0 (none)           --    
+name  method  dns  dns-search  dns-options  dns-priority  addresses  gateway  routes  route-metric  route-table  routing-rules  ignore-auto-routes  ignore-auto-dns  never-default  may-fail  required-timeout  ip6-privacy   addr-gen-mode   ra-timeout   dhcp-duid  dhcp-iaid  dhcp-timeout  dhcp-send-hostname  dhcp-hostname  dhcp-hostname-flags  token 
+ipv6  auto    --   --          --           0             --         --       --      -1            0 (unspec)   --             no                  no               no             yes       -1 (default)      -1 (unknown)  stable-privacy  0 (default)  --         --         0 (default)   yes                 --             0x0 (none)           --    
 
 name  service-type                            user-name  data                                   secrets   persistent  timeout 
 vpn   org.freedesktop.NetworkManager.openvpn  --         key1 = val1, key2 = val2, key3 = val3  <hidden>  no          0       
@@ -21519,21 +21603,21 @@ NAME  TYPE     USERNAME  GATEWAY  BANNER                            VPN-STATE
 VPN   openvpn  --        --       *** VPN connection con-vpn-1 ***  5 - VPN connected  key1 = val1 | key2 = val2 | key3 = val3 
 
 <<<
-size: 3405
+size: 3477
 location: src/tests/client/test-client.py:test_004()/324
 cmd: $NMCLI --mode tabular con s con-vpn-1
 lang: pl_PL.UTF-8
 returncode: 0
-stdout: 3245 bytes
+stdout: 3317 bytes
 >>>
 name        id         uuid                                  stable-id  type  interface-name  autoconnect  autoconnect-priority  autoconnect-retries  multi-connect  auth-retries  timestamp  read-only  permissions  zone  master  slave-type  autoconnect-slaves  secondaries  gateway-ping-timeout  metered   lldp     mdns          llmnr         wait-device-timeout 
 connection  con-vpn-1  UUID-con-vpn-1-REPLACED-REPLACED-REP  --         vpn   --              tak          0                     -1 (default)         0 (default)    -1            0          nie        --           --    --      --          -1 (default)        --           0                     nieznane  default  -1 (default)  -1 (default)  -1                  
 
-name  method  dns  dns-search  dns-options  dns-priority  addresses  gateway  routes  route-metric  route-table  routing-rules  ignore-auto-routes  ignore-auto-dns  dhcp-client-id  dhcp-iaid  dhcp-timeout  dhcp-send-hostname  dhcp-hostname  dhcp-fqdn  dhcp-hostname-flags  never-default  may-fail  dad-timeout   dhcp-vendor-class-identifier  dhcp-reject-servers 
-ipv4  auto    --   --          --           0             --         --       --      -1            0 (unspec)   --             nie                 nie              --              --         0 (default)   tak                 --             --         0x0 (none)           nie            tak       -1 (default)  --                            --                  
+name  method  dns  dns-search  dns-options  dns-priority  addresses  gateway  routes  route-metric  route-table  routing-rules  ignore-auto-routes  ignore-auto-dns  dhcp-client-id  dhcp-iaid  dhcp-timeout  dhcp-send-hostname  dhcp-hostname  dhcp-fqdn  dhcp-hostname-flags  never-default  may-fail  required-timeout  dad-timeout   dhcp-vendor-class-identifier  dhcp-reject-servers 
+ipv4  auto    --   --          --           0             --         --       --      -1            0 (unspec)   --             nie                 nie              --              --         0 (default)   tak                 --             --         0x0 (none)           nie            tak       -1 (default)      -1 (default)  --                            --                  
 
-name  method  dns  dns-search  dns-options  dns-priority  addresses  gateway  routes  route-metric  route-table  routing-rules  ignore-auto-routes  ignore-auto-dns  never-default  may-fail  ip6-privacy   addr-gen-mode   ra-timeout   dhcp-duid  dhcp-iaid  dhcp-timeout  dhcp-send-hostname  dhcp-hostname  dhcp-hostname-flags  token 
-ipv6  auto    --   --          --           0             --         --       --      -1            0 (unspec)   --             nie                 nie              nie            tak       -1 (unknown)  stable-privacy  0 (default)  --         --         0 (default)   tak                 --             0x0 (none)           --    
+name  method  dns  dns-search  dns-options  dns-priority  addresses  gateway  routes  route-metric  route-table  routing-rules  ignore-auto-routes  ignore-auto-dns  never-default  may-fail  required-timeout  ip6-privacy   addr-gen-mode   ra-timeout   dhcp-duid  dhcp-iaid  dhcp-timeout  dhcp-send-hostname  dhcp-hostname  dhcp-hostname-flags  token 
+ipv6  auto    --   --          --           0             --         --       --      -1            0 (unspec)   --             nie                 nie              nie            tak       -1 (default)      -1 (unknown)  stable-privacy  0 (default)  --         --         0 (default)   tak                 --             0x0 (none)           --    
 
 name  service-type                            user-name  data                                   secrets   persistent  timeout 
 vpn   org.freedesktop.NetworkManager.openvpn  --         key1 = val1, key2 = val2, key3 = val3  <hidden>  nie         0       
@@ -21548,21 +21632,21 @@ NAME  TYPE     USERNAME  GATEWAY  BANNER                            VPN-STATE
 VPN   openvpn  --        --       *** VPN connection con-vpn-1 ***  5 — Połączono z VPN  key1 = val1 | key2 = val2 | key3 = val3 
 
 <<<
-size: 3382
+size: 3454
 location: src/tests/client/test-client.py:test_004()/325
 cmd: $NMCLI --mode tabular con s con-vpn-1
 lang: C
 returncode: 0
-stdout: 3232 bytes
+stdout: 3304 bytes
 >>>
 name        id         uuid                                  stable-id  type  interface-name  autoconnect  autoconnect-priority  autoconnect-retries  multi-connect  auth-retries  timestamp  read-only  permissions  zone  master  slave-type  autoconnect-slaves  secondaries  gateway-ping-timeout  metered  lldp     mdns          llmnr         wait-device-timeout 
 connection  con-vpn-1  UUID-con-vpn-1-REPLACED-REPLACED-REP  --         vpn   --              yes          0                     -1 (default)         0 (default)    -1            0          no         --           --    --      --          -1 (default)        --           0                     unknown  default  -1 (default)  -1 (default)  -1                  
 
-name  method  dns  dns-search  dns-options  dns-priority  addresses  gateway  routes  route-metric  route-table  routing-rules  ignore-auto-routes  ignore-auto-dns  dhcp-client-id  dhcp-iaid  dhcp-timeout  dhcp-send-hostname  dhcp-hostname  dhcp-fqdn  dhcp-hostname-flags  never-default  may-fail  dad-timeout   dhcp-vendor-class-identifier  dhcp-reject-servers 
-ipv4  auto    --   --          --           0             --         --       --      -1            0 (unspec)   --             no                  no               --              --         0 (default)   yes                 --             --         0x0 (none)           no             yes       -1 (default)  --                            --                  
+name  method  dns  dns-search  dns-options  dns-priority  addresses  gateway  routes  route-metric  route-table  routing-rules  ignore-auto-routes  ignore-auto-dns  dhcp-client-id  dhcp-iaid  dhcp-timeout  dhcp-send-hostname  dhcp-hostname  dhcp-fqdn  dhcp-hostname-flags  never-default  may-fail  required-timeout  dad-timeout   dhcp-vendor-class-identifier  dhcp-reject-servers 
+ipv4  auto    --   --          --           0             --         --       --      -1            0 (unspec)   --             no                  no               --              --         0 (default)   yes                 --             --         0x0 (none)           no             yes       -1 (default)      -1 (default)  --                            --                  
 
-name  method  dns  dns-search  dns-options  dns-priority  addresses  gateway  routes  route-metric  route-table  routing-rules  ignore-auto-routes  ignore-auto-dns  never-default  may-fail  ip6-privacy   addr-gen-mode   ra-timeout   dhcp-duid  dhcp-iaid  dhcp-timeout  dhcp-send-hostname  dhcp-hostname  dhcp-hostname-flags  token 
-ipv6  auto    --   --          --           0             --         --       --      -1            0 (unspec)   --             no                  no               no             yes       -1 (unknown)  stable-privacy  0 (default)  --         --         0 (default)   yes                 --             0x0 (none)           --    
+name  method  dns  dns-search  dns-options  dns-priority  addresses  gateway  routes  route-metric  route-table  routing-rules  ignore-auto-routes  ignore-auto-dns  never-default  may-fail  required-timeout  ip6-privacy   addr-gen-mode   ra-timeout   dhcp-duid  dhcp-iaid  dhcp-timeout  dhcp-send-hostname  dhcp-hostname  dhcp-hostname-flags  token 
+ipv6  auto    --   --          --           0             --         --       --      -1            0 (unspec)   --             no                  no               no             yes       -1 (default)      -1 (unknown)  stable-privacy  0 (default)  --         --         0 (default)   yes                 --             0x0 (none)           --    
 
 name  service-type                            user-name  data                                   secrets   persistent  timeout 
 vpn   org.freedesktop.NetworkManager.openvpn  --         key1 = val1, key2 = val2, key3 = val3  <hidden>  no          0       
@@ -21577,21 +21661,21 @@ NAME  TYPE     USERNAME  GATEWAY  BANNER                            VPN-STATE
 VPN   openvpn  --        --       *** VPN connection con-vpn-1 ***  5 - VPN connected  key1 = val1 | key2 = val2 | key3 = val3 
 
 <<<
-size: 3405
+size: 3477
 location: src/tests/client/test-client.py:test_004()/326
 cmd: $NMCLI --mode tabular con s con-vpn-1
 lang: pl_PL.UTF-8
 returncode: 0
-stdout: 3245 bytes
+stdout: 3317 bytes
 >>>
 name        id         uuid                                  stable-id  type  interface-name  autoconnect  autoconnect-priority  autoconnect-retries  multi-connect  auth-retries  timestamp  read-only  permissions  zone  master  slave-type  autoconnect-slaves  secondaries  gateway-ping-timeout  metered   lldp     mdns          llmnr         wait-device-timeout 
 connection  con-vpn-1  UUID-con-vpn-1-REPLACED-REPLACED-REP  --         vpn   --              tak          0                     -1 (default)         0 (default)    -1            0          nie        --           --    --      --          -1 (default)        --           0                     nieznane  default  -1 (default)  -1 (default)  -1                  
 
-name  method  dns  dns-search  dns-options  dns-priority  addresses  gateway  routes  route-metric  route-table  routing-rules  ignore-auto-routes  ignore-auto-dns  dhcp-client-id  dhcp-iaid  dhcp-timeout  dhcp-send-hostname  dhcp-hostname  dhcp-fqdn  dhcp-hostname-flags  never-default  may-fail  dad-timeout   dhcp-vendor-class-identifier  dhcp-reject-servers 
-ipv4  auto    --   --          --           0             --         --       --      -1            0 (unspec)   --             nie                 nie              --              --         0 (default)   tak                 --             --         0x0 (none)           nie            tak       -1 (default)  --                            --                  
+name  method  dns  dns-search  dns-options  dns-priority  addresses  gateway  routes  route-metric  route-table  routing-rules  ignore-auto-routes  ignore-auto-dns  dhcp-client-id  dhcp-iaid  dhcp-timeout  dhcp-send-hostname  dhcp-hostname  dhcp-fqdn  dhcp-hostname-flags  never-default  may-fail  required-timeout  dad-timeout   dhcp-vendor-class-identifier  dhcp-reject-servers 
+ipv4  auto    --   --          --           0             --         --       --      -1            0 (unspec)   --             nie                 nie              --              --         0 (default)   tak                 --             --         0x0 (none)           nie            tak       -1 (default)      -1 (default)  --                            --                  
 
-name  method  dns  dns-search  dns-options  dns-priority  addresses  gateway  routes  route-metric  route-table  routing-rules  ignore-auto-routes  ignore-auto-dns  never-default  may-fail  ip6-privacy   addr-gen-mode   ra-timeout   dhcp-duid  dhcp-iaid  dhcp-timeout  dhcp-send-hostname  dhcp-hostname  dhcp-hostname-flags  token 
-ipv6  auto    --   --          --           0             --         --       --      -1            0 (unspec)   --             nie                 nie              nie            tak       -1 (unknown)  stable-privacy  0 (default)  --         --         0 (default)   tak                 --             0x0 (none)           --    
+name  method  dns  dns-search  dns-options  dns-priority  addresses  gateway  routes  route-metric  route-table  routing-rules  ignore-auto-routes  ignore-auto-dns  never-default  may-fail  required-timeout  ip6-privacy   addr-gen-mode   ra-timeout   dhcp-duid  dhcp-iaid  dhcp-timeout  dhcp-send-hostname  dhcp-hostname  dhcp-hostname-flags  token 
+ipv6  auto    --   --          --           0             --         --       --      -1            0 (unspec)   --             nie                 nie              nie            tak       -1 (default)      -1 (unknown)  stable-privacy  0 (default)  --         --         0 (default)   tak                 --             0x0 (none)           --    
 
 name  service-type                            user-name  data                                   secrets   persistent  timeout 
 vpn   org.freedesktop.NetworkManager.openvpn  --         key1 = val1, key2 = val2, key3 = val3  <hidden>  nie         0       
@@ -21606,21 +21690,21 @@ NAME  TYPE     USERNAME  GATEWAY  BANNER                            VPN-STATE
 VPN   openvpn  --        --       *** VPN connection con-vpn-1 ***  5 — Połączono z VPN  key1 = val1 | key2 = val2 | key3 = val3 
 
 <<<
-size: 2630
+size: 2702
 location: src/tests/client/test-client.py:test_004()/327
 cmd: $NMCLI --mode tabular -f ALL con s con-vpn-1
 lang: C
 returncode: 0
-stdout: 2473 bytes
+stdout: 2545 bytes
 >>>
 name        id         uuid                                  stable-id  type  interface-name  autoconnect  autoconnect-priority  autoconnect-retries  multi-connect  auth-retries  timestamp  read-only  permissions  zone  master  slave-type  autoconnect-slaves  secondaries  gateway-ping-timeout  metered  lldp     mdns          llmnr         wait-device-timeout 
 connection  con-vpn-1  UUID-con-vpn-1-REPLACED-REPLACED-REP  --         vpn   --              yes          0                     -1 (default)         0 (default)    -1            0          no         --           --    --      --          -1 (default)        --           0                     unknown  default  -1 (default)  -1 (default)  -1                  
 
-name  method  dns  dns-search  dns-options  dns-priority  addresses  gateway  routes  route-metric  route-table  routing-rules  ignore-auto-routes  ignore-auto-dns  dhcp-client-id  dhcp-iaid  dhcp-timeout  dhcp-send-hostname  dhcp-hostname  dhcp-fqdn  dhcp-hostname-flags  never-default  may-fail  dad-timeout   dhcp-vendor-class-identifier  dhcp-reject-servers 
-ipv4  auto    --   --          --           0             --         --       --      -1            0 (unspec)   --             no                  no               --              --         0 (default)   yes                 --             --         0x0 (none)           no             yes       -1 (default)  --                            --                  
+name  method  dns  dns-search  dns-options  dns-priority  addresses  gateway  routes  route-metric  route-table  routing-rules  ignore-auto-routes  ignore-auto-dns  dhcp-client-id  dhcp-iaid  dhcp-timeout  dhcp-send-hostname  dhcp-hostname  dhcp-fqdn  dhcp-hostname-flags  never-default  may-fail  required-timeout  dad-timeout   dhcp-vendor-class-identifier  dhcp-reject-servers 
+ipv4  auto    --   --          --           0             --         --       --      -1            0 (unspec)   --             no                  no               --              --         0 (default)   yes                 --             --         0x0 (none)           no             yes       -1 (default)      -1 (default)  --                            --                  
 
-name  method  dns  dns-search  dns-options  dns-priority  addresses  gateway  routes  route-metric  route-table  routing-rules  ignore-auto-routes  ignore-auto-dns  never-default  may-fail  ip6-privacy   addr-gen-mode   ra-timeout   dhcp-duid  dhcp-iaid  dhcp-timeout  dhcp-send-hostname  dhcp-hostname  dhcp-hostname-flags  token 
-ipv6  auto    --   --          --           0             --         --       --      -1            0 (unspec)   --             no                  no               no             yes       -1 (unknown)  stable-privacy  0 (default)  --         --         0 (default)   yes                 --             0x0 (none)           --    
+name  method  dns  dns-search  dns-options  dns-priority  addresses  gateway  routes  route-metric  route-table  routing-rules  ignore-auto-routes  ignore-auto-dns  never-default  may-fail  required-timeout  ip6-privacy   addr-gen-mode   ra-timeout   dhcp-duid  dhcp-iaid  dhcp-timeout  dhcp-send-hostname  dhcp-hostname  dhcp-hostname-flags  token 
+ipv6  auto    --   --          --           0             --         --       --      -1            0 (unspec)   --             no                  no               no             yes       -1 (default)      -1 (unknown)  stable-privacy  0 (default)  --         --         0 (default)   yes                 --             0x0 (none)           --    
 
 name  service-type                            user-name  data                                   secrets   persistent  timeout 
 vpn   org.freedesktop.NetworkManager.openvpn  --         key1 = val1, key2 = val2, key3 = val3  <hidden>  no          0       
@@ -21630,21 +21714,21 @@ proxy  none    no            --       --
 
 
 <<<
-size: 2642
+size: 2714
 location: src/tests/client/test-client.py:test_004()/328
 cmd: $NMCLI --mode tabular -f ALL con s con-vpn-1
 lang: pl_PL.UTF-8
 returncode: 0
-stdout: 2475 bytes
+stdout: 2547 bytes
 >>>
 name        id         uuid                                  stable-id  type  interface-name  autoconnect  autoconnect-priority  autoconnect-retries  multi-connect  auth-retries  timestamp  read-only  permissions  zone  master  slave-type  autoconnect-slaves  secondaries  gateway-ping-timeout  metered   lldp     mdns          llmnr         wait-device-timeout 
 connection  con-vpn-1  UUID-con-vpn-1-REPLACED-REPLACED-REP  --         vpn   --              tak          0                     -1 (default)         0 (default)    -1            0          nie        --           --    --      --          -1 (default)        --           0                     nieznane  default  -1 (default)  -1 (default)  -1                  
 
-name  method  dns  dns-search  dns-options  dns-priority  addresses  gateway  routes  route-metric  route-table  routing-rules  ignore-auto-routes  ignore-auto-dns  dhcp-client-id  dhcp-iaid  dhcp-timeout  dhcp-send-hostname  dhcp-hostname  dhcp-fqdn  dhcp-hostname-flags  never-default  may-fail  dad-timeout   dhcp-vendor-class-identifier  dhcp-reject-servers 
-ipv4  auto    --   --          --           0             --         --       --      -1            0 (unspec)   --             nie                 nie              --              --         0 (default)   tak                 --             --         0x0 (none)           nie            tak       -1 (default)  --                            --                  
+name  method  dns  dns-search  dns-options  dns-priority  addresses  gateway  routes  route-metric  route-table  routing-rules  ignore-auto-routes  ignore-auto-dns  dhcp-client-id  dhcp-iaid  dhcp-timeout  dhcp-send-hostname  dhcp-hostname  dhcp-fqdn  dhcp-hostname-flags  never-default  may-fail  required-timeout  dad-timeout   dhcp-vendor-class-identifier  dhcp-reject-servers 
+ipv4  auto    --   --          --           0             --         --       --      -1            0 (unspec)   --             nie                 nie              --              --         0 (default)   tak                 --             --         0x0 (none)           nie            tak       -1 (default)      -1 (default)  --                            --                  
 
-name  method  dns  dns-search  dns-options  dns-priority  addresses  gateway  routes  route-metric  route-table  routing-rules  ignore-auto-routes  ignore-auto-dns  never-default  may-fail  ip6-privacy   addr-gen-mode   ra-timeout   dhcp-duid  dhcp-iaid  dhcp-timeout  dhcp-send-hostname  dhcp-hostname  dhcp-hostname-flags  token 
-ipv6  auto    --   --          --           0             --         --       --      -1            0 (unspec)   --             nie                 nie              nie            tak       -1 (unknown)  stable-privacy  0 (default)  --         --         0 (default)   tak                 --             0x0 (none)           --    
+name  method  dns  dns-search  dns-options  dns-priority  addresses  gateway  routes  route-metric  route-table  routing-rules  ignore-auto-routes  ignore-auto-dns  never-default  may-fail  required-timeout  ip6-privacy   addr-gen-mode   ra-timeout   dhcp-duid  dhcp-iaid  dhcp-timeout  dhcp-send-hostname  dhcp-hostname  dhcp-hostname-flags  token 
+ipv6  auto    --   --          --           0             --         --       --      -1            0 (unspec)   --             nie                 nie              nie            tak       -1 (default)      -1 (unknown)  stable-privacy  0 (default)  --         --         0 (default)   tak                 --             0x0 (none)           --    
 
 name  service-type                            user-name  data                                   secrets   persistent  timeout 
 vpn   org.freedesktop.NetworkManager.openvpn  --         key1 = val1, key2 = val2, key3 = val3  <hidden>  nie         0       
@@ -21758,12 +21842,12 @@ wlan1   wifi      niedostępne  nieznane          nieznane          /org/freedes
 wlan1   wifi      niedostępne  nieznane          nieznane          /org/freedesktop/NetworkManager/Devices/5  --          --                                    --                                                 
 
 <<<
-size: 6357
+size: 6557
 location: src/tests/client/test-client.py:test_004()/337
 cmd: $NMCLI --mode tabular dev show
 lang: C
 returncode: 0
-stdout: 6214 bytes
+stdout: 6414 bytes
 >>>
 DEVICE 
 wlan0  
@@ -21786,11 +21870,11 @@ con-vpn-1
 CON-PATH                                           
 /org/freedesktop/NetworkManager/ActiveConnection/2 
 
-GROUP  ADDRESS                                 GATEWAY         ROUTE  DNS  DOMAIN                                                                            WINS           
-IP4    192.168.228.18/32 | 192.168.209.179/25  192.168.41.120  --     --   sear4.foo2.bar | sear4.fo.x.y | sear4.foo1.bar | sear4.foo4.bar | sear4.fo.o.bar  192.168.120.79 
+GROUP  ADDRESS                                 GATEWAY         ROUTE  DNS  DOMAIN                                                                            SEARCHES  WINS           
+IP4    192.168.228.18/32 | 192.168.209.179/25  192.168.41.120  --     --   sear4.foo2.bar | sear4.fo.x.y | sear4.foo1.bar | sear4.foo4.bar | sear4.fo.o.bar  --        192.168.120.79 
 
-GROUP  ADDRESS  GATEWAY  ROUTE                                                           DNS  DOMAIN                                                                                            
-IP6    --       --       dst = 2001:a::dd5b:aa7b:b4a2:e42/102, nh = ::, mt = 2504159086  --   sear6.foo2.bar | sear6.foo1.bar | sear6.fo.x.y | sear6.fo.o.bar | sear6.foo3.bar | sear6.foo4.bar 
+GROUP  ADDRESS  GATEWAY  ROUTE                                                           DNS  DOMAIN                                                                                             SEARCHES 
+IP6    --       --       dst = 2001:a::dd5b:aa7b:b4a2:e42/102, nh = ::, mt = 2504159086  --   sear6.foo2.bar | sear6.foo1.bar | sear6.fo.x.y | sear6.fo.o.bar | sear6.foo3.bar | sear6.foo4.bar  --       
 
 DEVICE 
 eth0   
@@ -21816,11 +21900,11 @@ CON-PATH
 NAME              CARRIER  S390-SUBCHANNELS 
 WIRED-PROPERTIES  on       --               
 
-GROUP  ADDRESS                               GATEWAY  ROUTE  DNS                                               DOMAIN                           WINS                             
-IP4    192.168.49.34/22 | 192.168.135.86/19  --       --     192.168.45.230 | 192.168.180.201 | 192.168.253.2  sear4.foo2.bar | sear4.foo1.bar  192.168.163.23 | 192.168.151.246 
+GROUP  ADDRESS                               GATEWAY  ROUTE  DNS                                               DOMAIN                           SEARCHES  WINS                             
+IP4    192.168.49.34/22 | 192.168.135.86/19  --       --     192.168.45.230 | 192.168.180.201 | 192.168.253.2  sear4.foo2.bar | sear4.foo1.bar  --        192.168.163.23 | 192.168.151.246 
 
-GROUP  ADDRESS                        GATEWAY  ROUTE  DNS                                                                                    DOMAIN                          
-IP6    2001:a::ed81:3d7:c2e9:df82/99  --       --     2001:a::2703:f06:9619:d89f | 2001:a::3a75:3682:c683:8541 | 2001:a::584e:912:d5ee:c74f  sear6.foo4.bar | sear6.fo.o.bar 
+GROUP  ADDRESS                        GATEWAY  ROUTE  DNS                                                                                    DOMAIN                           SEARCHES 
+IP6    2001:a::ed81:3d7:c2e9:df82/99  --       --     2001:a::2703:f06:9619:d89f | 2001:a::3a75:3682:c683:8541 | 2001:a::584e:912:d5ee:c74f  sear6.foo4.bar | sear6.fo.o.bar  --       
 
 DEVICE 
 eth1   
@@ -21846,11 +21930,11 @@ CON-PATH
 NAME              CARRIER  S390-SUBCHANNELS 
 WIRED-PROPERTIES  on       --               
 
-GROUP  ADDRESS             GATEWAY       ROUTE                                                                                                                                                                                         DNS                                               DOMAIN                                            WINS                                             
-IP4    192.168.127.210/25  192.168.88.4  dst = 192.168.222.35/19, nh = 192.168.170.142, mt = 3609264321 | dst = 192.168.135.81/32, nh = 192.168.32.11, mt = 1316413247 | dst = 192.168.24.65/26, nh = 192.168.23.163, mt = 3855574583  192.168.16.144 | 192.168.79.53 | 192.168.237.155  sear4.foo4.bar | sear4.foo3.bar | sear4.foo1.bar  192.168.211.91 | 192.168.58.182 | 192.168.114.97 
+GROUP  ADDRESS             GATEWAY       ROUTE                                                                                                                                                                                         DNS                                               DOMAIN                                            SEARCHES  WINS                                             
+IP4    192.168.127.210/25  192.168.88.4  dst = 192.168.222.35/19, nh = 192.168.170.142, mt = 3609264321 | dst = 192.168.135.81/32, nh = 192.168.32.11, mt = 1316413247 | dst = 192.168.24.65/26, nh = 192.168.23.163, mt = 3855574583  192.168.16.144 | 192.168.79.53 | 192.168.237.155  sear4.foo4.bar | sear4.foo3.bar | sear4.foo1.bar  --        192.168.211.91 | 192.168.58.182 | 192.168.114.97 
 
-GROUP  ADDRESS                                                          GATEWAY  ROUTE                                           DNS                                                                                     DOMAIN         
-IP6    2001:a::1c1:c178:169f:2b80/93 | 2001:a::1f79:e0fb:87b9:3cc6/123  --       dst = 2001:a::3166:7ed1:e4ae:7612/123, nh = ::  2001:a::edda:955:dcf4:23d4 | 2001:a::109f:aa0f:fb4a:9d5a | 2001:a::61cf:7c82:e9c0:c952  sear6.foo1.bar 
+GROUP  ADDRESS                                                          GATEWAY  ROUTE                                           DNS                                                                                     DOMAIN          SEARCHES 
+IP6    2001:a::1c1:c178:169f:2b80/93 | 2001:a::1f79:e0fb:87b9:3cc6/123  --       dst = 2001:a::3166:7ed1:e4ae:7612/123, nh = ::  2001:a::edda:955:dcf4:23d4 | 2001:a::109f:aa0f:fb4a:9d5a | 2001:a::61cf:7c82:e9c0:c952  sear6.foo1.bar  --       
 
 DEVICE 
 wlan1  
@@ -21873,11 +21957,11 @@ CONNECTION
 CON-PATH 
 --       
 
-GROUP  ADDRESS  GATEWAY         ROUTE                                                                                                                                                  DNS            DOMAIN                                                                                             WINS 
-IP4    --       192.168.57.160  dst = 192.168.36.106/21, nh = 192.168.199.128, mt = 979274165 | dst = 192.168.238.130/19, nh = 0.0.0.0 | dst = 192.168.224.39/32, nh = 192.168.148.69  192.168.61.83  sear4.foo4.bar | sear4.fo.x.y | sear4.foo2.bar | sear4.foo1.bar | sear4.fo.o.bar | sear4.foo3.bar  --   
+GROUP  ADDRESS  GATEWAY         ROUTE                                                                                                                                                  DNS            DOMAIN                                                                                             SEARCHES  WINS 
+IP4    --       192.168.57.160  dst = 192.168.36.106/21, nh = 192.168.199.128, mt = 979274165 | dst = 192.168.238.130/19, nh = 0.0.0.0 | dst = 192.168.224.39/32, nh = 192.168.148.69  192.168.61.83  sear4.foo4.bar | sear4.fo.x.y | sear4.foo2.bar | sear4.foo1.bar | sear4.fo.o.bar | sear4.foo3.bar  --        --   
 
-GROUP  ADDRESS                                                                                           GATEWAY                      ROUTE                                                                                                                                                    DNS                                                       DOMAIN                          
-IP6    2001:a::fa05:2ab4:9300:e8fe/116 | 2001:a::e9cf:bd3:caba:99b3/86 | 2001:a::2be6:44fa:2c95:5559/78  2001:a::4d70:d91a:770f:2319  dst = 2001:a::3cb2:719d:bb00:b22f/66, nh = 2001:a::81b1:58b9:7237:3511, mt = 2280277732 | dst = 2001:a::986f:983c:5eb:1c7d/99, nh = ::, mt = 1204008676  2001:a::85e7:3d7d:53e8:50ac | 2001:a::1c5:9cb5:e86d:25a5  sear6.foo4.bar | sear6.foo2.bar 
+GROUP  ADDRESS                                                                                           GATEWAY                      ROUTE                                                                                                                                                    DNS                                                       DOMAIN                           SEARCHES 
+IP6    2001:a::fa05:2ab4:9300:e8fe/116 | 2001:a::e9cf:bd3:caba:99b3/86 | 2001:a::2be6:44fa:2c95:5559/78  2001:a::4d70:d91a:770f:2319  dst = 2001:a::3cb2:719d:bb00:b22f/66, nh = 2001:a::81b1:58b9:7237:3511, mt = 2280277732 | dst = 2001:a::986f:983c:5eb:1c7d/99, nh = ::, mt = 1204008676  2001:a::85e7:3d7d:53e8:50ac | 2001:a::1c5:9cb5:e86d:25a5  sear6.foo4.bar | sear6.foo2.bar  --       
 
 DEVICE 
 wlan1  
@@ -21900,19 +21984,19 @@ CONNECTION
 CON-PATH 
 --       
 
-GROUP  ADDRESS                                GATEWAY  ROUTE                                                           DNS              DOMAIN                                                                            WINS                          
-IP4    192.168.97.124/29 | 192.168.76.154/18  --       dst = 192.168.33.233/22, nh = 192.168.222.210, mt = 2810496551  192.168.107.109  sear4.fo.o.bar | sear4.fo.x.y | sear4.foo2.bar | sear4.foo3.bar | sear4.foo4.bar  192.168.60.60 | 192.168.63.92 
+GROUP  ADDRESS                                GATEWAY  ROUTE                                                           DNS              DOMAIN                                                                            SEARCHES  WINS                          
+IP4    192.168.97.124/29 | 192.168.76.154/18  --       dst = 192.168.33.233/22, nh = 192.168.222.210, mt = 2810496551  192.168.107.109  sear4.fo.o.bar | sear4.fo.x.y | sear4.foo2.bar | sear4.foo3.bar | sear4.foo4.bar  --        192.168.60.60 | 192.168.63.92 
 
-GROUP  ADDRESS                        GATEWAY  ROUTE                                                                                                                                                                                                      DNS                          DOMAIN       
-IP6    2001:a::88ca:3654:96b:ab44/89  --       dst = 2001:a::cc8b:7c09:4673:bbb0/85, nh = ::, mt = 2821465568 | dst = 2001:a::a976:2488:f49f:b48/106, nh = 2001:a::62ae:c734:fc7b:e931, mt = 2248613879 | dst = 2001:a::afb7:4449:3787:8bb4/123, nh = ::  2001:a::2934:bd66:550d:ec19  sear6.fo.x.y 
+GROUP  ADDRESS                        GATEWAY  ROUTE                                                                                                                                                                                                      DNS                          DOMAIN        SEARCHES 
+IP6    2001:a::88ca:3654:96b:ab44/89  --       dst = 2001:a::cc8b:7c09:4673:bbb0/85, nh = ::, mt = 2821465568 | dst = 2001:a::a976:2488:f49f:b48/106, nh = 2001:a::62ae:c734:fc7b:e931, mt = 2248613879 | dst = 2001:a::afb7:4449:3787:8bb4/123, nh = ::  2001:a::2934:bd66:550d:ec19  sear6.fo.x.y  --       
 
 <<<
-size: 6381
+size: 6581
 location: src/tests/client/test-client.py:test_004()/338
 cmd: $NMCLI --mode tabular dev show
 lang: pl_PL.UTF-8
 returncode: 0
-stdout: 6228 bytes
+stdout: 6428 bytes
 >>>
 DEVICE 
 wlan0  
@@ -21935,11 +22019,11 @@ con-vpn-1
 CON-PATH                                           
 /org/freedesktop/NetworkManager/ActiveConnection/2 
 
-GROUP  ADDRESS                                 GATEWAY         ROUTE  DNS  DOMAIN                                                                            WINS           
-IP4    192.168.228.18/32 | 192.168.209.179/25  192.168.41.120  --     --   sear4.foo2.bar | sear4.fo.x.y | sear4.foo1.bar | sear4.foo4.bar | sear4.fo.o.bar  192.168.120.79 
+GROUP  ADDRESS                                 GATEWAY         ROUTE  DNS  DOMAIN                                                                            SEARCHES  WINS           
+IP4    192.168.228.18/32 | 192.168.209.179/25  192.168.41.120  --     --   sear4.foo2.bar | sear4.fo.x.y | sear4.foo1.bar | sear4.foo4.bar | sear4.fo.o.bar  --        192.168.120.79 
 
-GROUP  ADDRESS  GATEWAY  ROUTE                                                           DNS  DOMAIN                                                                                            
-IP6    --       --       dst = 2001:a::dd5b:aa7b:b4a2:e42/102, nh = ::, mt = 2504159086  --   sear6.foo2.bar | sear6.foo1.bar | sear6.fo.x.y | sear6.fo.o.bar | sear6.foo3.bar | sear6.foo4.bar 
+GROUP  ADDRESS  GATEWAY  ROUTE                                                           DNS  DOMAIN                                                                                             SEARCHES 
+IP6    --       --       dst = 2001:a::dd5b:aa7b:b4a2:e42/102, nh = ::, mt = 2504159086  --   sear6.foo2.bar | sear6.foo1.bar | sear6.fo.x.y | sear6.fo.o.bar | sear6.foo3.bar | sear6.foo4.bar  --       
 
 DEVICE 
 eth0   
@@ -21965,11 +22049,11 @@ CON-PATH
 NAME              CARRIER   S390-SUBCHANNELS 
 WIRED-PROPERTIES  włączone  --               
 
-GROUP  ADDRESS                               GATEWAY  ROUTE  DNS                                               DOMAIN                           WINS                             
-IP4    192.168.49.34/22 | 192.168.135.86/19  --       --     192.168.45.230 | 192.168.180.201 | 192.168.253.2  sear4.foo2.bar | sear4.foo1.bar  192.168.163.23 | 192.168.151.246 
+GROUP  ADDRESS                               GATEWAY  ROUTE  DNS                                               DOMAIN                           SEARCHES  WINS                             
+IP4    192.168.49.34/22 | 192.168.135.86/19  --       --     192.168.45.230 | 192.168.180.201 | 192.168.253.2  sear4.foo2.bar | sear4.foo1.bar  --        192.168.163.23 | 192.168.151.246 
 
-GROUP  ADDRESS                        GATEWAY  ROUTE  DNS                                                                                    DOMAIN                          
-IP6    2001:a::ed81:3d7:c2e9:df82/99  --       --     2001:a::2703:f06:9619:d89f | 2001:a::3a75:3682:c683:8541 | 2001:a::584e:912:d5ee:c74f  sear6.foo4.bar | sear6.fo.o.bar 
+GROUP  ADDRESS                        GATEWAY  ROUTE  DNS                                                                                    DOMAIN                           SEARCHES 
+IP6    2001:a::ed81:3d7:c2e9:df82/99  --       --     2001:a::2703:f06:9619:d89f | 2001:a::3a75:3682:c683:8541 | 2001:a::584e:912:d5ee:c74f  sear6.foo4.bar | sear6.fo.o.bar  --       
 
 DEVICE 
 eth1   
@@ -21995,11 +22079,11 @@ CON-PATH
 NAME              CARRIER   S390-SUBCHANNELS 
 WIRED-PROPERTIES  włączone  --               
 
-GROUP  ADDRESS             GATEWAY       ROUTE                                                                                                                                                                                         DNS                                               DOMAIN                                            WINS                                             
-IP4    192.168.127.210/25  192.168.88.4  dst = 192.168.222.35/19, nh = 192.168.170.142, mt = 3609264321 | dst = 192.168.135.81/32, nh = 192.168.32.11, mt = 1316413247 | dst = 192.168.24.65/26, nh = 192.168.23.163, mt = 3855574583  192.168.16.144 | 192.168.79.53 | 192.168.237.155  sear4.foo4.bar | sear4.foo3.bar | sear4.foo1.bar  192.168.211.91 | 192.168.58.182 | 192.168.114.97 
+GROUP  ADDRESS             GATEWAY       ROUTE                                                                                                                                                                                         DNS                                               DOMAIN                                            SEARCHES  WINS                                             
+IP4    192.168.127.210/25  192.168.88.4  dst = 192.168.222.35/19, nh = 192.168.170.142, mt = 3609264321 | dst = 192.168.135.81/32, nh = 192.168.32.11, mt = 1316413247 | dst = 192.168.24.65/26, nh = 192.168.23.163, mt = 3855574583  192.168.16.144 | 192.168.79.53 | 192.168.237.155  sear4.foo4.bar | sear4.foo3.bar | sear4.foo1.bar  --        192.168.211.91 | 192.168.58.182 | 192.168.114.97 
 
-GROUP  ADDRESS                                                          GATEWAY  ROUTE                                           DNS                                                                                     DOMAIN         
-IP6    2001:a::1c1:c178:169f:2b80/93 | 2001:a::1f79:e0fb:87b9:3cc6/123  --       dst = 2001:a::3166:7ed1:e4ae:7612/123, nh = ::  2001:a::edda:955:dcf4:23d4 | 2001:a::109f:aa0f:fb4a:9d5a | 2001:a::61cf:7c82:e9c0:c952  sear6.foo1.bar 
+GROUP  ADDRESS                                                          GATEWAY  ROUTE                                           DNS                                                                                     DOMAIN          SEARCHES 
+IP6    2001:a::1c1:c178:169f:2b80/93 | 2001:a::1f79:e0fb:87b9:3cc6/123  --       dst = 2001:a::3166:7ed1:e4ae:7612/123, nh = ::  2001:a::edda:955:dcf4:23d4 | 2001:a::109f:aa0f:fb4a:9d5a | 2001:a::61cf:7c82:e9c0:c952  sear6.foo1.bar  --       
 
 DEVICE 
 wlan1  
@@ -22022,11 +22106,11 @@ CONNECTION
 CON-PATH 
 --       
 
-GROUP  ADDRESS  GATEWAY         ROUTE                                                                                                                                                  DNS            DOMAIN                                                                                             WINS 
-IP4    --       192.168.57.160  dst = 192.168.36.106/21, nh = 192.168.199.128, mt = 979274165 | dst = 192.168.238.130/19, nh = 0.0.0.0 | dst = 192.168.224.39/32, nh = 192.168.148.69  192.168.61.83  sear4.foo4.bar | sear4.fo.x.y | sear4.foo2.bar | sear4.foo1.bar | sear4.fo.o.bar | sear4.foo3.bar  --   
+GROUP  ADDRESS  GATEWAY         ROUTE                                                                                                                                                  DNS            DOMAIN                                                                                             SEARCHES  WINS 
+IP4    --       192.168.57.160  dst = 192.168.36.106/21, nh = 192.168.199.128, mt = 979274165 | dst = 192.168.238.130/19, nh = 0.0.0.0 | dst = 192.168.224.39/32, nh = 192.168.148.69  192.168.61.83  sear4.foo4.bar | sear4.fo.x.y | sear4.foo2.bar | sear4.foo1.bar | sear4.fo.o.bar | sear4.foo3.bar  --        --   
 
-GROUP  ADDRESS                                                                                           GATEWAY                      ROUTE                                                                                                                                                    DNS                                                       DOMAIN                          
-IP6    2001:a::fa05:2ab4:9300:e8fe/116 | 2001:a::e9cf:bd3:caba:99b3/86 | 2001:a::2be6:44fa:2c95:5559/78  2001:a::4d70:d91a:770f:2319  dst = 2001:a::3cb2:719d:bb00:b22f/66, nh = 2001:a::81b1:58b9:7237:3511, mt = 2280277732 | dst = 2001:a::986f:983c:5eb:1c7d/99, nh = ::, mt = 1204008676  2001:a::85e7:3d7d:53e8:50ac | 2001:a::1c5:9cb5:e86d:25a5  sear6.foo4.bar | sear6.foo2.bar 
+GROUP  ADDRESS                                                                                           GATEWAY                      ROUTE                                                                                                                                                    DNS                                                       DOMAIN                           SEARCHES 
+IP6    2001:a::fa05:2ab4:9300:e8fe/116 | 2001:a::e9cf:bd3:caba:99b3/86 | 2001:a::2be6:44fa:2c95:5559/78  2001:a::4d70:d91a:770f:2319  dst = 2001:a::3cb2:719d:bb00:b22f/66, nh = 2001:a::81b1:58b9:7237:3511, mt = 2280277732 | dst = 2001:a::986f:983c:5eb:1c7d/99, nh = ::, mt = 1204008676  2001:a::85e7:3d7d:53e8:50ac | 2001:a::1c5:9cb5:e86d:25a5  sear6.foo4.bar | sear6.foo2.bar  --       
 
 DEVICE 
 wlan1  
@@ -22049,19 +22133,19 @@ CONNECTION
 CON-PATH 
 --       
 
-GROUP  ADDRESS                                GATEWAY  ROUTE                                                           DNS              DOMAIN                                                                            WINS                          
-IP4    192.168.97.124/29 | 192.168.76.154/18  --       dst = 192.168.33.233/22, nh = 192.168.222.210, mt = 2810496551  192.168.107.109  sear4.fo.o.bar | sear4.fo.x.y | sear4.foo2.bar | sear4.foo3.bar | sear4.foo4.bar  192.168.60.60 | 192.168.63.92 
+GROUP  ADDRESS                                GATEWAY  ROUTE                                                           DNS              DOMAIN                                                                            SEARCHES  WINS                          
+IP4    192.168.97.124/29 | 192.168.76.154/18  --       dst = 192.168.33.233/22, nh = 192.168.222.210, mt = 2810496551  192.168.107.109  sear4.fo.o.bar | sear4.fo.x.y | sear4.foo2.bar | sear4.foo3.bar | sear4.foo4.bar  --        192.168.60.60 | 192.168.63.92 
 
-GROUP  ADDRESS                        GATEWAY  ROUTE                                                                                                                                                                                                      DNS                          DOMAIN       
-IP6    2001:a::88ca:3654:96b:ab44/89  --       dst = 2001:a::cc8b:7c09:4673:bbb0/85, nh = ::, mt = 2821465568 | dst = 2001:a::a976:2488:f49f:b48/106, nh = 2001:a::62ae:c734:fc7b:e931, mt = 2248613879 | dst = 2001:a::afb7:4449:3787:8bb4/123, nh = ::  2001:a::2934:bd66:550d:ec19  sear6.fo.x.y 
+GROUP  ADDRESS                        GATEWAY  ROUTE                                                                                                                                                                                                      DNS                          DOMAIN        SEARCHES 
+IP6    2001:a::88ca:3654:96b:ab44/89  --       dst = 2001:a::cc8b:7c09:4673:bbb0/85, nh = ::, mt = 2821465568 | dst = 2001:a::a976:2488:f49f:b48/106, nh = 2001:a::62ae:c734:fc7b:e931, mt = 2248613879 | dst = 2001:a::afb7:4449:3787:8bb4/123, nh = ::  2001:a::2934:bd66:550d:ec19  sear6.fo.x.y  --       
 
 <<<
-size: 16069
+size: 16269
 location: src/tests/client/test-client.py:test_004()/339
 cmd: $NMCLI --mode tabular -f all dev show
 lang: C
 returncode: 0
-stdout: 15918 bytes
+stdout: 16118 bytes
 >>>
 NAME     DEVICE  TYPE  NM-TYPE       DBUS-PATH                                  VENDOR  PRODUCT  DRIVER   DRIVER-VERSION  FIRMWARE-VERSION  HWADDR             MTU  STATE            REASON               IP4-CONNECTIVITY  IP6-CONNECTIVITY  UDI                         PATH  IP-IFACE  IS-SOFTWARE  NM-MANAGED  AUTOCONNECT  FIRMWARE-MISSING  NM-PLUGIN-MISSING  PHYS-PORT-ID  CONNECTION  CON-UUID                              CON-PATH                                            METERED 
 GENERAL  wlan0   wifi  NMDeviceWifi  /org/freedesktop/NetworkManager/Devices/3  --      --       virtual  --              --                13:E0:74:85:7C:D9  0    100 (connected)  0 (No reason given)  0 (unknown)       0 (unknown)       /sys/devices/virtual/wlan0  --    wlan0     no           yes         yes          no                no                 --            con-vpn-1   UUID-con-vpn-1-REPLACED-REPLACED-REP  /org/freedesktop/NetworkManager/ActiveConnection/2  unknown 
@@ -22080,14 +22164,14 @@ AP[1]          C0:E2:BE:E8:EF:B6  wlan0-ap-2  Infra  1     54 Mbit/s  92      **
 AP[2]          61:95:77:AC:1E:4C  wlan0-ap-1  Infra  1     54 Mbit/s  81      ****  WPA1      
 AP[3]          9B:F6:B7:EC:97:76  wlan0-ap-3  Infra  1     54 Mbit/s  55      **    WPA3      
 
-GROUP  ADDRESS                                 GATEWAY         ROUTE  DNS  DOMAIN                                                                            WINS           
-IP4    192.168.228.18/32 | 192.168.209.179/25  192.168.41.120  --     --   sear4.foo2.bar | sear4.fo.x.y | sear4.foo1.bar | sear4.foo4.bar | sear4.fo.o.bar  192.168.120.79 
+GROUP  ADDRESS                                 GATEWAY         ROUTE  DNS  DOMAIN                                                                            SEARCHES  WINS           
+IP4    192.168.228.18/32 | 192.168.209.179/25  192.168.41.120  --     --   sear4.foo2.bar | sear4.fo.x.y | sear4.foo1.bar | sear4.foo4.bar | sear4.fo.o.bar  --        192.168.120.79 
 
 GROUP  OPTION                                                                                    
 DHCP4  dhcp-4-opt-0 = val-0 | dhcp-4-opt-2 = val-2 | dhcp-4-opt-4 = val-4 | dhcp-4-opt-7 = val-7 
 
-GROUP  ADDRESS  GATEWAY  ROUTE                                                           DNS  DOMAIN                                                                                            
-IP6    --       --       dst = 2001:a::dd5b:aa7b:b4a2:e42/102, nh = ::, mt = 2504159086  --   sear6.foo2.bar | sear6.foo1.bar | sear6.fo.x.y | sear6.fo.o.bar | sear6.foo3.bar | sear6.foo4.bar 
+GROUP  ADDRESS  GATEWAY  ROUTE                                                           DNS  DOMAIN                                                                                             SEARCHES 
+IP6    --       --       dst = 2001:a::dd5b:aa7b:b4a2:e42/102, nh = ::, mt = 2504159086  --   sear6.foo2.bar | sear6.foo1.bar | sear6.fo.x.y | sear6.fo.o.bar | sear6.foo3.bar | sear6.foo4.bar  --       
 
 GROUP  OPTION                                                                                                           
 DHCP6  dhcp-6-opt-1 = val-1 | dhcp-6-opt-2 = val-2 | dhcp-6-opt-3 = val-3 | dhcp-6-opt-4 = val-4 | dhcp-6-opt-5 = val-5 
@@ -22107,14 +22191,14 @@ INTERFACE-FLAGS  yes  yes       no       no
 NAME              CARRIER  S390-SUBCHANNELS 
 WIRED-PROPERTIES  on       --               
 
-GROUP  ADDRESS                               GATEWAY  ROUTE  DNS                                               DOMAIN                           WINS                             
-IP4    192.168.49.34/22 | 192.168.135.86/19  --       --     192.168.45.230 | 192.168.180.201 | 192.168.253.2  sear4.foo2.bar | sear4.foo1.bar  192.168.163.23 | 192.168.151.246 
+GROUP  ADDRESS                               GATEWAY  ROUTE  DNS                                               DOMAIN                           SEARCHES  WINS                             
+IP4    192.168.49.34/22 | 192.168.135.86/19  --       --     192.168.45.230 | 192.168.180.201 | 192.168.253.2  sear4.foo2.bar | sear4.foo1.bar  --        192.168.163.23 | 192.168.151.246 
 
 GROUP  OPTION                                      
 DHCP4  dhcp-4-opt-8 = val-8 | dhcp-4-opt-9 = val-9 
 
-GROUP  ADDRESS                        GATEWAY  ROUTE  DNS                                                                                    DOMAIN                          
-IP6    2001:a::ed81:3d7:c2e9:df82/99  --       --     2001:a::2703:f06:9619:d89f | 2001:a::3a75:3682:c683:8541 | 2001:a::584e:912:d5ee:c74f  sear6.foo4.bar | sear6.fo.o.bar 
+GROUP  ADDRESS                        GATEWAY  ROUTE  DNS                                                                                    DOMAIN                           SEARCHES 
+IP6    2001:a::ed81:3d7:c2e9:df82/99  --       --     2001:a::2703:f06:9619:d89f | 2001:a::3a75:3682:c683:8541 | 2001:a::584e:912:d5ee:c74f  sear6.foo4.bar | sear6.fo.o.bar  --       
 
 GROUP  OPTION                                                                                                                                                                                                                              
 DHCP6  dhcp-6-opt-0 = val-0 | dhcp-6-opt-1 = val-1 | dhcp-6-opt-2 = val-2 | dhcp-6-opt-3 = val-3 | dhcp-6-opt-4 = val-4 | dhcp-6-opt-5 = val-5 | dhcp-6-opt-6 = val-6 | dhcp-6-opt-7 = val-7 | dhcp-6-opt-8 = val-8 | dhcp-6-opt-9 = val-9 
@@ -22134,14 +22218,14 @@ INTERFACE-FLAGS  yes  yes       no       no
 NAME              CARRIER  S390-SUBCHANNELS 
 WIRED-PROPERTIES  on       --               
 
-GROUP  ADDRESS             GATEWAY       ROUTE                                                                                                                                                                                         DNS                                               DOMAIN                                            WINS                                             
-IP4    192.168.127.210/25  192.168.88.4  dst = 192.168.222.35/19, nh = 192.168.170.142, mt = 3609264321 | dst = 192.168.135.81/32, nh = 192.168.32.11, mt = 1316413247 | dst = 192.168.24.65/26, nh = 192.168.23.163, mt = 3855574583  192.168.16.144 | 192.168.79.53 | 192.168.237.155  sear4.foo4.bar | sear4.foo3.bar | sear4.foo1.bar  192.168.211.91 | 192.168.58.182 | 192.168.114.97 
+GROUP  ADDRESS             GATEWAY       ROUTE                                                                                                                                                                                         DNS                                               DOMAIN                                            SEARCHES  WINS                                             
+IP4    192.168.127.210/25  192.168.88.4  dst = 192.168.222.35/19, nh = 192.168.170.142, mt = 3609264321 | dst = 192.168.135.81/32, nh = 192.168.32.11, mt = 1316413247 | dst = 192.168.24.65/26, nh = 192.168.23.163, mt = 3855574583  192.168.16.144 | 192.168.79.53 | 192.168.237.155  sear4.foo4.bar | sear4.foo3.bar | sear4.foo1.bar  --        192.168.211.91 | 192.168.58.182 | 192.168.114.97 
 
 GROUP  OPTION                                                                                                                                                                                                       
 DHCP4  dhcp-4-opt-0 = val-0 | dhcp-4-opt-1 = val-1 | dhcp-4-opt-2 = val-2 | dhcp-4-opt-3 = val-3 | dhcp-4-opt-4 = val-4 | dhcp-4-opt-5 = val-5 | dhcp-4-opt-7 = val-7 | dhcp-4-opt-8 = val-8 | dhcp-4-opt-9 = val-9 
 
-GROUP  ADDRESS                                                          GATEWAY  ROUTE                                           DNS                                                                                     DOMAIN         
-IP6    2001:a::1c1:c178:169f:2b80/93 | 2001:a::1f79:e0fb:87b9:3cc6/123  --       dst = 2001:a::3166:7ed1:e4ae:7612/123, nh = ::  2001:a::edda:955:dcf4:23d4 | 2001:a::109f:aa0f:fb4a:9d5a | 2001:a::61cf:7c82:e9c0:c952  sear6.foo1.bar 
+GROUP  ADDRESS                                                          GATEWAY  ROUTE                                           DNS                                                                                     DOMAIN          SEARCHES 
+IP6    2001:a::1c1:c178:169f:2b80/93 | 2001:a::1f79:e0fb:87b9:3cc6/123  --       dst = 2001:a::3166:7ed1:e4ae:7612/123, nh = ::  2001:a::edda:955:dcf4:23d4 | 2001:a::109f:aa0f:fb4a:9d5a | 2001:a::61cf:7c82:e9c0:c952  sear6.foo1.bar  --       
 
 GROUP  OPTION                                                                                                           
 DHCP6  dhcp-6-opt-2 = val-2 | dhcp-6-opt-5 = val-5 | dhcp-6-opt-6 = val-6 | dhcp-6-opt-8 = val-8 | dhcp-6-opt-9 = val-9 
@@ -22164,14 +22248,14 @@ WIFI-PROPERTIES  yes  yes  yes   yes   yes   yes  yes    unknown  unknown  no
 NAME   IN-USE  BSSID              SSID        MODE   CHAN  RATE       SIGNAL  BARS  SECURITY  
 AP[1]          94:2B:E8:F6:D2:86  wlan1-ap-4  Infra  1     54 Mbit/s  48      **    WPA1 WPA2 
 
-GROUP  ADDRESS  GATEWAY         ROUTE                                                                                                                                                  DNS            DOMAIN                                                                                             WINS 
-IP4    --       192.168.57.160  dst = 192.168.36.106/21, nh = 192.168.199.128, mt = 979274165 | dst = 192.168.238.130/19, nh = 0.0.0.0 | dst = 192.168.224.39/32, nh = 192.168.148.69  192.168.61.83  sear4.foo4.bar | sear4.fo.x.y | sear4.foo2.bar | sear4.foo1.bar | sear4.fo.o.bar | sear4.foo3.bar  --   
+GROUP  ADDRESS  GATEWAY         ROUTE                                                                                                                                                  DNS            DOMAIN                                                                                             SEARCHES  WINS 
+IP4    --       192.168.57.160  dst = 192.168.36.106/21, nh = 192.168.199.128, mt = 979274165 | dst = 192.168.238.130/19, nh = 0.0.0.0 | dst = 192.168.224.39/32, nh = 192.168.148.69  192.168.61.83  sear4.foo4.bar | sear4.fo.x.y | sear4.foo2.bar | sear4.foo1.bar | sear4.fo.o.bar | sear4.foo3.bar  --        --   
 
 GROUP  OPTION                                                                                                                                                                                
 DHCP4  dhcp-4-opt-0 = val-0 | dhcp-4-opt-1 = val-1 | dhcp-4-opt-2 = val-2 | dhcp-4-opt-4 = val-4 | dhcp-4-opt-6 = val-6 | dhcp-4-opt-7 = val-7 | dhcp-4-opt-8 = val-8 | dhcp-4-opt-9 = val-9 
 
-GROUP  ADDRESS                                                                                           GATEWAY                      ROUTE                                                                                                                                                    DNS                                                       DOMAIN                          
-IP6    2001:a::fa05:2ab4:9300:e8fe/116 | 2001:a::e9cf:bd3:caba:99b3/86 | 2001:a::2be6:44fa:2c95:5559/78  2001:a::4d70:d91a:770f:2319  dst = 2001:a::3cb2:719d:bb00:b22f/66, nh = 2001:a::81b1:58b9:7237:3511, mt = 2280277732 | dst = 2001:a::986f:983c:5eb:1c7d/99, nh = ::, mt = 1204008676  2001:a::85e7:3d7d:53e8:50ac | 2001:a::1c5:9cb5:e86d:25a5  sear6.foo4.bar | sear6.foo2.bar 
+GROUP  ADDRESS                                                                                           GATEWAY                      ROUTE                                                                                                                                                    DNS                                                       DOMAIN                           SEARCHES 
+IP6    2001:a::fa05:2ab4:9300:e8fe/116 | 2001:a::e9cf:bd3:caba:99b3/86 | 2001:a::2be6:44fa:2c95:5559/78  2001:a::4d70:d91a:770f:2319  dst = 2001:a::3cb2:719d:bb00:b22f/66, nh = 2001:a::81b1:58b9:7237:3511, mt = 2280277732 | dst = 2001:a::986f:983c:5eb:1c7d/99, nh = ::, mt = 1204008676  2001:a::85e7:3d7d:53e8:50ac | 2001:a::1c5:9cb5:e86d:25a5  sear6.foo4.bar | sear6.foo2.bar  --       
 
 GROUP  OPTION                                                                                                                                                                                                       
 DHCP6  dhcp-6-opt-0 = val-0 | dhcp-6-opt-1 = val-1 | dhcp-6-opt-2 = val-2 | dhcp-6-opt-3 = val-3 | dhcp-6-opt-4 = val-4 | dhcp-6-opt-5 = val-5 | dhcp-6-opt-6 = val-6 | dhcp-6-opt-7 = val-7 | dhcp-6-opt-9 = val-9 
@@ -22193,14 +22277,14 @@ WIFI-PROPERTIES  yes  yes  yes   yes   yes   yes  yes    unknown  unknown  no
 
 NAME  IN-USE  BSSID  SSID  MODE  CHAN  RATE  SIGNAL  BARS  SECURITY 
 
-GROUP  ADDRESS                                GATEWAY  ROUTE                                                           DNS              DOMAIN                                                                            WINS                          
-IP4    192.168.97.124/29 | 192.168.76.154/18  --       dst = 192.168.33.233/22, nh = 192.168.222.210, mt = 2810496551  192.168.107.109  sear4.fo.o.bar | sear4.fo.x.y | sear4.foo2.bar | sear4.foo3.bar | sear4.foo4.bar  192.168.60.60 | 192.168.63.92 
+GROUP  ADDRESS                                GATEWAY  ROUTE                                                           DNS              DOMAIN                                                                            SEARCHES  WINS                          
+IP4    192.168.97.124/29 | 192.168.76.154/18  --       dst = 192.168.33.233/22, nh = 192.168.222.210, mt = 2810496551  192.168.107.109  sear4.fo.o.bar | sear4.fo.x.y | sear4.foo2.bar | sear4.foo3.bar | sear4.foo4.bar  --        192.168.60.60 | 192.168.63.92 
 
 GROUP  OPTION                                      
 DHCP4  dhcp-4-opt-0 = val-0 | dhcp-4-opt-5 = val-5 
 
-GROUP  ADDRESS                        GATEWAY  ROUTE                                                                                                                                                                                                      DNS                          DOMAIN       
-IP6    2001:a::88ca:3654:96b:ab44/89  --       dst = 2001:a::cc8b:7c09:4673:bbb0/85, nh = ::, mt = 2821465568 | dst = 2001:a::a976:2488:f49f:b48/106, nh = 2001:a::62ae:c734:fc7b:e931, mt = 2248613879 | dst = 2001:a::afb7:4449:3787:8bb4/123, nh = ::  2001:a::2934:bd66:550d:ec19  sear6.fo.x.y 
+GROUP  ADDRESS                        GATEWAY  ROUTE                                                                                                                                                                                                      DNS                          DOMAIN        SEARCHES 
+IP6    2001:a::88ca:3654:96b:ab44/89  --       dst = 2001:a::cc8b:7c09:4673:bbb0/85, nh = ::, mt = 2821465568 | dst = 2001:a::a976:2488:f49f:b48/106, nh = 2001:a::62ae:c734:fc7b:e931, mt = 2248613879 | dst = 2001:a::afb7:4449:3787:8bb4/123, nh = ::  2001:a::2934:bd66:550d:ec19  sear6.fo.x.y  --       
 
 GROUP  OPTION                                                                                                           
 DHCP6  dhcp-6-opt-2 = val-2 | dhcp-6-opt-6 = val-6 | dhcp-6-opt-7 = val-7 | dhcp-6-opt-8 = val-8 | dhcp-6-opt-9 = val-9 
@@ -22209,12 +22293,12 @@ NAME         AVAILABLE-CONNECTION-PATHS                               AVAILABLE-
 CONNECTIONS  /org/freedesktop/NetworkManager/Settings/Connection/{2}  UUID-con-xx1-REPLACED-REPLACED-REPLA | con-xx1 
 
 <<<
-size: 16225
+size: 16425
 location: src/tests/client/test-client.py:test_004()/340
 cmd: $NMCLI --mode tabular -f all dev show
 lang: pl_PL.UTF-8
 returncode: 0
-stdout: 16064 bytes
+stdout: 16264 bytes
 >>>
 NAME     DEVICE  TYPE  NM-TYPE       DBUS-PATH                                  VENDOR  PRODUCT  DRIVER   DRIVER-VERSION  FIRMWARE-VERSION  HWADDR             MTU  STATE            REASON                    IP4-CONNECTIVITY  IP6-CONNECTIVITY  UDI                         PATH  IP-IFACE  IS-SOFTWARE  NM-MANAGED  AUTOCONNECT  FIRMWARE-MISSING  NM-PLUGIN-MISSING  PHYS-PORT-ID  CONNECTION  CON-UUID                              CON-PATH                                            METERED  
 GENERAL  wlan0   wifi  NMDeviceWifi  /org/freedesktop/NetworkManager/Devices/3  --      --       virtual  --              --                13:E0:74:85:7C:D9  0    100 (połączono)  0 (Nie podano przyczyny)  0 (nieznane)      0 (nieznane)      /sys/devices/virtual/wlan0  --    wlan0     nie          tak         tak          nie               nie                --            con-vpn-1   UUID-con-vpn-1-REPLACED-REPLACED-REP  /org/freedesktop/NetworkManager/ActiveConnection/2  nieznane 
@@ -22233,14 +22317,14 @@ AP[1]          C0:E2:BE:E8:EF:B6  wlan0-ap-2  Infrastruktura  1     54 Mb/s  9
 AP[2]          61:95:77:AC:1E:4C  wlan0-ap-1  Infrastruktura  1     54 Mb/s  81      ****  WPA1      
 AP[3]          9B:F6:B7:EC:97:76  wlan0-ap-3  Infrastruktura  1     54 Mb/s  55      **    WPA3      
 
-GROUP  ADDRESS                                 GATEWAY         ROUTE  DNS  DOMAIN                                                                            WINS           
-IP4    192.168.228.18/32 | 192.168.209.179/25  192.168.41.120  --     --   sear4.foo2.bar | sear4.fo.x.y | sear4.foo1.bar | sear4.foo4.bar | sear4.fo.o.bar  192.168.120.79 
+GROUP  ADDRESS                                 GATEWAY         ROUTE  DNS  DOMAIN                                                                            SEARCHES  WINS           
+IP4    192.168.228.18/32 | 192.168.209.179/25  192.168.41.120  --     --   sear4.foo2.bar | sear4.fo.x.y | sear4.foo1.bar | sear4.foo4.bar | sear4.fo.o.bar  --        192.168.120.79 
 
 GROUP  OPTION                                                                                    
 DHCP4  dhcp-4-opt-0 = val-0 | dhcp-4-opt-2 = val-2 | dhcp-4-opt-4 = val-4 | dhcp-4-opt-7 = val-7 
 
-GROUP  ADDRESS  GATEWAY  ROUTE                                                           DNS  DOMAIN                                                                                            
-IP6    --       --       dst = 2001:a::dd5b:aa7b:b4a2:e42/102, nh = ::, mt = 2504159086  --   sear6.foo2.bar | sear6.foo1.bar | sear6.fo.x.y | sear6.fo.o.bar | sear6.foo3.bar | sear6.foo4.bar 
+GROUP  ADDRESS  GATEWAY  ROUTE                                                           DNS  DOMAIN                                                                                             SEARCHES 
+IP6    --       --       dst = 2001:a::dd5b:aa7b:b4a2:e42/102, nh = ::, mt = 2504159086  --   sear6.foo2.bar | sear6.foo1.bar | sear6.fo.x.y | sear6.fo.o.bar | sear6.foo3.bar | sear6.foo4.bar  --       
 
 GROUP  OPTION                                                                                                           
 DHCP6  dhcp-6-opt-1 = val-1 | dhcp-6-opt-2 = val-2 | dhcp-6-opt-3 = val-3 | dhcp-6-opt-4 = val-4 | dhcp-6-opt-5 = val-5 
@@ -22260,14 +22344,14 @@ INTERFACE-FLAGS  tak  tak       nie      nie
 NAME              CARRIER   S390-SUBCHANNELS 
 WIRED-PROPERTIES  włączone  --               
 
-GROUP  ADDRESS                               GATEWAY  ROUTE  DNS                                               DOMAIN                           WINS                             
-IP4    192.168.49.34/22 | 192.168.135.86/19  --       --     192.168.45.230 | 192.168.180.201 | 192.168.253.2  sear4.foo2.bar | sear4.foo1.bar  192.168.163.23 | 192.168.151.246 
+GROUP  ADDRESS                               GATEWAY  ROUTE  DNS                                               DOMAIN                           SEARCHES  WINS                             
+IP4    192.168.49.34/22 | 192.168.135.86/19  --       --     192.168.45.230 | 192.168.180.201 | 192.168.253.2  sear4.foo2.bar | sear4.foo1.bar  --        192.168.163.23 | 192.168.151.246 
 
 GROUP  OPTION                                      
 DHCP4  dhcp-4-opt-8 = val-8 | dhcp-4-opt-9 = val-9 
 
-GROUP  ADDRESS                        GATEWAY  ROUTE  DNS                                                                                    DOMAIN                          
-IP6    2001:a::ed81:3d7:c2e9:df82/99  --       --     2001:a::2703:f06:9619:d89f | 2001:a::3a75:3682:c683:8541 | 2001:a::584e:912:d5ee:c74f  sear6.foo4.bar | sear6.fo.o.bar 
+GROUP  ADDRESS                        GATEWAY  ROUTE  DNS                                                                                    DOMAIN                           SEARCHES 
+IP6    2001:a::ed81:3d7:c2e9:df82/99  --       --     2001:a::2703:f06:9619:d89f | 2001:a::3a75:3682:c683:8541 | 2001:a::584e:912:d5ee:c74f  sear6.foo4.bar | sear6.fo.o.bar  --       
 
 GROUP  OPTION                                                                                                                                                                                                                              
 DHCP6  dhcp-6-opt-0 = val-0 | dhcp-6-opt-1 = val-1 | dhcp-6-opt-2 = val-2 | dhcp-6-opt-3 = val-3 | dhcp-6-opt-4 = val-4 | dhcp-6-opt-5 = val-5 | dhcp-6-opt-6 = val-6 | dhcp-6-opt-7 = val-7 | dhcp-6-opt-8 = val-8 | dhcp-6-opt-9 = val-9 
@@ -22287,14 +22371,14 @@ INTERFACE-FLAGS  tak  tak       nie      nie
 NAME              CARRIER   S390-SUBCHANNELS 
 WIRED-PROPERTIES  włączone  --               
 
-GROUP  ADDRESS             GATEWAY       ROUTE                                                                                                                                                                                         DNS                                               DOMAIN                                            WINS                                             
-IP4    192.168.127.210/25  192.168.88.4  dst = 192.168.222.35/19, nh = 192.168.170.142, mt = 3609264321 | dst = 192.168.135.81/32, nh = 192.168.32.11, mt = 1316413247 | dst = 192.168.24.65/26, nh = 192.168.23.163, mt = 3855574583  192.168.16.144 | 192.168.79.53 | 192.168.237.155  sear4.foo4.bar | sear4.foo3.bar | sear4.foo1.bar  192.168.211.91 | 192.168.58.182 | 192.168.114.97 
+GROUP  ADDRESS             GATEWAY       ROUTE                                                                                                                                                                                         DNS                                               DOMAIN                                            SEARCHES  WINS                                             
+IP4    192.168.127.210/25  192.168.88.4  dst = 192.168.222.35/19, nh = 192.168.170.142, mt = 3609264321 | dst = 192.168.135.81/32, nh = 192.168.32.11, mt = 1316413247 | dst = 192.168.24.65/26, nh = 192.168.23.163, mt = 3855574583  192.168.16.144 | 192.168.79.53 | 192.168.237.155  sear4.foo4.bar | sear4.foo3.bar | sear4.foo1.bar  --        192.168.211.91 | 192.168.58.182 | 192.168.114.97 
 
 GROUP  OPTION                                                                                                                                                                                                       
 DHCP4  dhcp-4-opt-0 = val-0 | dhcp-4-opt-1 = val-1 | dhcp-4-opt-2 = val-2 | dhcp-4-opt-3 = val-3 | dhcp-4-opt-4 = val-4 | dhcp-4-opt-5 = val-5 | dhcp-4-opt-7 = val-7 | dhcp-4-opt-8 = val-8 | dhcp-4-opt-9 = val-9 
 
-GROUP  ADDRESS                                                          GATEWAY  ROUTE                                           DNS                                                                                     DOMAIN         
-IP6    2001:a::1c1:c178:169f:2b80/93 | 2001:a::1f79:e0fb:87b9:3cc6/123  --       dst = 2001:a::3166:7ed1:e4ae:7612/123, nh = ::  2001:a::edda:955:dcf4:23d4 | 2001:a::109f:aa0f:fb4a:9d5a | 2001:a::61cf:7c82:e9c0:c952  sear6.foo1.bar 
+GROUP  ADDRESS                                                          GATEWAY  ROUTE                                           DNS                                                                                     DOMAIN          SEARCHES 
+IP6    2001:a::1c1:c178:169f:2b80/93 | 2001:a::1f79:e0fb:87b9:3cc6/123  --       dst = 2001:a::3166:7ed1:e4ae:7612/123, nh = ::  2001:a::edda:955:dcf4:23d4 | 2001:a::109f:aa0f:fb4a:9d5a | 2001:a::61cf:7c82:e9c0:c952  sear6.foo1.bar  --       
 
 GROUP  OPTION                                                                                                           
 DHCP6  dhcp-6-opt-2 = val-2 | dhcp-6-opt-5 = val-5 | dhcp-6-opt-6 = val-6 | dhcp-6-opt-8 = val-8 | dhcp-6-opt-9 = val-9 
@@ -22317,14 +22401,14 @@ WIFI-PROPERTIES  tak  tak  tak   tak   tak   tak  tak    nieznane  nieznane  nie
 NAME   IN-USE  BSSID              SSID        MODE            CHAN  RATE     SIGNAL  BARS  SECURITY  
 AP[1]          94:2B:E8:F6:D2:86  wlan1-ap-4  Infrastruktura  1     54 Mb/s  48      **    WPA1 WPA2 
 
-GROUP  ADDRESS  GATEWAY         ROUTE                                                                                                                                                  DNS            DOMAIN                                                                                             WINS 
-IP4    --       192.168.57.160  dst = 192.168.36.106/21, nh = 192.168.199.128, mt = 979274165 | dst = 192.168.238.130/19, nh = 0.0.0.0 | dst = 192.168.224.39/32, nh = 192.168.148.69  192.168.61.83  sear4.foo4.bar | sear4.fo.x.y | sear4.foo2.bar | sear4.foo1.bar | sear4.fo.o.bar | sear4.foo3.bar  --   
+GROUP  ADDRESS  GATEWAY         ROUTE                                                                                                                                                  DNS            DOMAIN                                                                                             SEARCHES  WINS 
+IP4    --       192.168.57.160  dst = 192.168.36.106/21, nh = 192.168.199.128, mt = 979274165 | dst = 192.168.238.130/19, nh = 0.0.0.0 | dst = 192.168.224.39/32, nh = 192.168.148.69  192.168.61.83  sear4.foo4.bar | sear4.fo.x.y | sear4.foo2.bar | sear4.foo1.bar | sear4.fo.o.bar | sear4.foo3.bar  --        --   
 
 GROUP  OPTION                                                                                                                                                                                
 DHCP4  dhcp-4-opt-0 = val-0 | dhcp-4-opt-1 = val-1 | dhcp-4-opt-2 = val-2 | dhcp-4-opt-4 = val-4 | dhcp-4-opt-6 = val-6 | dhcp-4-opt-7 = val-7 | dhcp-4-opt-8 = val-8 | dhcp-4-opt-9 = val-9 
 
-GROUP  ADDRESS                                                                                           GATEWAY                      ROUTE                                                                                                                                                    DNS                                                       DOMAIN                          
-IP6    2001:a::fa05:2ab4:9300:e8fe/116 | 2001:a::e9cf:bd3:caba:99b3/86 | 2001:a::2be6:44fa:2c95:5559/78  2001:a::4d70:d91a:770f:2319  dst = 2001:a::3cb2:719d:bb00:b22f/66, nh = 2001:a::81b1:58b9:7237:3511, mt = 2280277732 | dst = 2001:a::986f:983c:5eb:1c7d/99, nh = ::, mt = 1204008676  2001:a::85e7:3d7d:53e8:50ac | 2001:a::1c5:9cb5:e86d:25a5  sear6.foo4.bar | sear6.foo2.bar 
+GROUP  ADDRESS                                                                                           GATEWAY                      ROUTE                                                                                                                                                    DNS                                                       DOMAIN                           SEARCHES 
+IP6    2001:a::fa05:2ab4:9300:e8fe/116 | 2001:a::e9cf:bd3:caba:99b3/86 | 2001:a::2be6:44fa:2c95:5559/78  2001:a::4d70:d91a:770f:2319  dst = 2001:a::3cb2:719d:bb00:b22f/66, nh = 2001:a::81b1:58b9:7237:3511, mt = 2280277732 | dst = 2001:a::986f:983c:5eb:1c7d/99, nh = ::, mt = 1204008676  2001:a::85e7:3d7d:53e8:50ac | 2001:a::1c5:9cb5:e86d:25a5  sear6.foo4.bar | sear6.foo2.bar  --       
 
 GROUP  OPTION                                                                                                                                                                                                       
 DHCP6  dhcp-6-opt-0 = val-0 | dhcp-6-opt-1 = val-1 | dhcp-6-opt-2 = val-2 | dhcp-6-opt-3 = val-3 | dhcp-6-opt-4 = val-4 | dhcp-6-opt-5 = val-5 | dhcp-6-opt-6 = val-6 | dhcp-6-opt-7 = val-7 | dhcp-6-opt-9 = val-9 
@@ -22346,14 +22430,14 @@ WIFI-PROPERTIES  tak  tak  tak   tak   tak   tak  tak    nieznane  nieznane  nie
 
 NAME  IN-USE  BSSID  SSID  MODE  CHAN  RATE  SIGNAL  BARS  SECURITY 
 
-GROUP  ADDRESS                                GATEWAY  ROUTE                                                           DNS              DOMAIN                                                                            WINS                          
-IP4    192.168.97.124/29 | 192.168.76.154/18  --       dst = 192.168.33.233/22, nh = 192.168.222.210, mt = 2810496551  192.168.107.109  sear4.fo.o.bar | sear4.fo.x.y | sear4.foo2.bar | sear4.foo3.bar | sear4.foo4.bar  192.168.60.60 | 192.168.63.92 
+GROUP  ADDRESS                                GATEWAY  ROUTE                                                           DNS              DOMAIN                                                                            SEARCHES  WINS                          
+IP4    192.168.97.124/29 | 192.168.76.154/18  --       dst = 192.168.33.233/22, nh = 192.168.222.210, mt = 2810496551  192.168.107.109  sear4.fo.o.bar | sear4.fo.x.y | sear4.foo2.bar | sear4.foo3.bar | sear4.foo4.bar  --        192.168.60.60 | 192.168.63.92 
 
 GROUP  OPTION                                      
 DHCP4  dhcp-4-opt-0 = val-0 | dhcp-4-opt-5 = val-5 
 
-GROUP  ADDRESS                        GATEWAY  ROUTE                                                                                                                                                                                                      DNS                          DOMAIN       
-IP6    2001:a::88ca:3654:96b:ab44/89  --       dst = 2001:a::cc8b:7c09:4673:bbb0/85, nh = ::, mt = 2821465568 | dst = 2001:a::a976:2488:f49f:b48/106, nh = 2001:a::62ae:c734:fc7b:e931, mt = 2248613879 | dst = 2001:a::afb7:4449:3787:8bb4/123, nh = ::  2001:a::2934:bd66:550d:ec19  sear6.fo.x.y 
+GROUP  ADDRESS                        GATEWAY  ROUTE                                                                                                                                                                                                      DNS                          DOMAIN        SEARCHES 
+IP6    2001:a::88ca:3654:96b:ab44/89  --       dst = 2001:a::cc8b:7c09:4673:bbb0/85, nh = ::, mt = 2821465568 | dst = 2001:a::a976:2488:f49f:b48/106, nh = 2001:a::62ae:c734:fc7b:e931, mt = 2248613879 | dst = 2001:a::afb7:4449:3787:8bb4/123, nh = ::  2001:a::2934:bd66:550d:ec19  sear6.fo.x.y  --       
 
 GROUP  OPTION                                                                                                           
 DHCP6  dhcp-6-opt-2 = val-2 | dhcp-6-opt-6 = val-6 | dhcp-6-opt-7 = val-7 | dhcp-6-opt-8 = val-8 | dhcp-6-opt-9 = val-9 
@@ -22362,12 +22446,12 @@ NAME         AVAILABLE-CONNECTION-PATHS                               AVAILABLE-
 CONNECTIONS  /org/freedesktop/NetworkManager/Settings/Connection/{2}  UUID-con-xx1-REPLACED-REPLACED-REPLA | con-xx1 
 
 <<<
-size: 1126
+size: 1167
 location: src/tests/client/test-client.py:test_004()/341
 cmd: $NMCLI --mode tabular dev show wlan0
 lang: C
 returncode: 0
-stdout: 978 bytes
+stdout: 1018 bytes
 >>>
 DEVICE 
 wlan0  
@@ -22390,19 +22474,19 @@ con-vpn-1
 CON-PATH                                           
 /org/freedesktop/NetworkManager/ActiveConnection/2 
 
-GROUP  ADDRESS                                 GATEWAY         ROUTE  DNS  DOMAIN                                                                            WINS           
-IP4    192.168.228.18/32 | 192.168.209.179/25  192.168.41.120  --     --   sear4.foo2.bar | sear4.fo.x.y | sear4.foo1.bar | sear4.foo4.bar | sear4.fo.o.bar  192.168.120.79 
+GROUP  ADDRESS                                 GATEWAY         ROUTE  DNS  DOMAIN                                                                            SEARCHES  WINS           
+IP4    192.168.228.18/32 | 192.168.209.179/25  192.168.41.120  --     --   sear4.foo2.bar | sear4.fo.x.y | sear4.foo1.bar | sear4.foo4.bar | sear4.fo.o.bar  --        192.168.120.79 
 
-GROUP  ADDRESS  GATEWAY  ROUTE                                                           DNS  DOMAIN                                                                                            
-IP6    --       --       dst = 2001:a::dd5b:aa7b:b4a2:e42/102, nh = ::, mt = 2504159086  --   sear6.foo2.bar | sear6.foo1.bar | sear6.fo.x.y | sear6.fo.o.bar | sear6.foo3.bar | sear6.foo4.bar 
+GROUP  ADDRESS  GATEWAY  ROUTE                                                           DNS  DOMAIN                                                                                             SEARCHES 
+IP6    --       --       dst = 2001:a::dd5b:aa7b:b4a2:e42/102, nh = ::, mt = 2504159086  --   sear6.foo2.bar | sear6.foo1.bar | sear6.fo.x.y | sear6.fo.o.bar | sear6.foo3.bar | sear6.foo4.bar  --       
 
 <<<
-size: 1138
+size: 1179
 location: src/tests/client/test-client.py:test_004()/342
 cmd: $NMCLI --mode tabular dev show wlan0
 lang: pl_PL.UTF-8
 returncode: 0
-stdout: 980 bytes
+stdout: 1020 bytes
 >>>
 DEVICE 
 wlan0  
@@ -22425,19 +22509,19 @@ con-vpn-1
 CON-PATH                                           
 /org/freedesktop/NetworkManager/ActiveConnection/2 
 
-GROUP  ADDRESS                                 GATEWAY         ROUTE  DNS  DOMAIN                                                                            WINS           
-IP4    192.168.228.18/32 | 192.168.209.179/25  192.168.41.120  --     --   sear4.foo2.bar | sear4.fo.x.y | sear4.foo1.bar | sear4.foo4.bar | sear4.fo.o.bar  192.168.120.79 
+GROUP  ADDRESS                                 GATEWAY         ROUTE  DNS  DOMAIN                                                                            SEARCHES  WINS           
+IP4    192.168.228.18/32 | 192.168.209.179/25  192.168.41.120  --     --   sear4.foo2.bar | sear4.fo.x.y | sear4.foo1.bar | sear4.foo4.bar | sear4.fo.o.bar  --        192.168.120.79 
 
-GROUP  ADDRESS  GATEWAY  ROUTE                                                           DNS  DOMAIN                                                                                            
-IP6    --       --       dst = 2001:a::dd5b:aa7b:b4a2:e42/102, nh = ::, mt = 2504159086  --   sear6.foo2.bar | sear6.foo1.bar | sear6.fo.x.y | sear6.fo.o.bar | sear6.foo3.bar | sear6.foo4.bar 
+GROUP  ADDRESS  GATEWAY  ROUTE                                                           DNS  DOMAIN                                                                                             SEARCHES 
+IP6    --       --       dst = 2001:a::dd5b:aa7b:b4a2:e42/102, nh = ::, mt = 2504159086  --   sear6.foo2.bar | sear6.foo1.bar | sear6.fo.x.y | sear6.fo.o.bar | sear6.foo3.bar | sear6.foo4.bar  --       
 
 <<<
-size: 3315
+size: 3355
 location: src/tests/client/test-client.py:test_004()/343
 cmd: $NMCLI --mode tabular -f all dev show wlan0
 lang: C
 returncode: 0
-stdout: 3159 bytes
+stdout: 3199 bytes
 >>>
 NAME     DEVICE  TYPE  NM-TYPE       DBUS-PATH                                  VENDOR  PRODUCT  DRIVER   DRIVER-VERSION  FIRMWARE-VERSION  HWADDR             MTU  STATE            REASON               IP4-CONNECTIVITY  IP6-CONNECTIVITY  UDI                         PATH  IP-IFACE  IS-SOFTWARE  NM-MANAGED  AUTOCONNECT  FIRMWARE-MISSING  NM-PLUGIN-MISSING  PHYS-PORT-ID  CONNECTION  CON-UUID                              CON-PATH                                            METERED 
 GENERAL  wlan0   wifi  NMDeviceWifi  /org/freedesktop/NetworkManager/Devices/3  --      --       virtual  --              --                13:E0:74:85:7C:D9  0    100 (connected)  0 (No reason given)  0 (unknown)       0 (unknown)       /sys/devices/virtual/wlan0  --    wlan0     no           yes         yes          no                no                 --            con-vpn-1   UUID-con-vpn-1-REPLACED-REPLACED-REP  /org/freedesktop/NetworkManager/ActiveConnection/2  unknown 
@@ -22456,14 +22540,14 @@ AP[1]          C0:E2:BE:E8:EF:B6  wlan0-ap-2  Infra  1     54 Mbit/s  92      **
 AP[2]          61:95:77:AC:1E:4C  wlan0-ap-1  Infra  1     54 Mbit/s  81      ****  WPA1      
 AP[3]          9B:F6:B7:EC:97:76  wlan0-ap-3  Infra  1     54 Mbit/s  55      **    WPA3      
 
-GROUP  ADDRESS                                 GATEWAY         ROUTE  DNS  DOMAIN                                                                            WINS           
-IP4    192.168.228.18/32 | 192.168.209.179/25  192.168.41.120  --     --   sear4.foo2.bar | sear4.fo.x.y | sear4.foo1.bar | sear4.foo4.bar | sear4.fo.o.bar  192.168.120.79 
+GROUP  ADDRESS                                 GATEWAY         ROUTE  DNS  DOMAIN                                                                            SEARCHES  WINS           
+IP4    192.168.228.18/32 | 192.168.209.179/25  192.168.41.120  --     --   sear4.foo2.bar | sear4.fo.x.y | sear4.foo1.bar | sear4.foo4.bar | sear4.fo.o.bar  --        192.168.120.79 
 
 GROUP  OPTION                                                                                    
 DHCP4  dhcp-4-opt-0 = val-0 | dhcp-4-opt-2 = val-2 | dhcp-4-opt-4 = val-4 | dhcp-4-opt-7 = val-7 
 
-GROUP  ADDRESS  GATEWAY  ROUTE                                                           DNS  DOMAIN                                                                                            
-IP6    --       --       dst = 2001:a::dd5b:aa7b:b4a2:e42/102, nh = ::, mt = 2504159086  --   sear6.foo2.bar | sear6.foo1.bar | sear6.fo.x.y | sear6.fo.o.bar | sear6.foo3.bar | sear6.foo4.bar 
+GROUP  ADDRESS  GATEWAY  ROUTE                                                           DNS  DOMAIN                                                                                             SEARCHES 
+IP6    --       --       dst = 2001:a::dd5b:aa7b:b4a2:e42/102, nh = ::, mt = 2504159086  --   sear6.foo2.bar | sear6.foo1.bar | sear6.fo.x.y | sear6.fo.o.bar | sear6.foo3.bar | sear6.foo4.bar  --       
 
 GROUP  OPTION                                                                                                           
 DHCP6  dhcp-6-opt-1 = val-1 | dhcp-6-opt-2 = val-2 | dhcp-6-opt-3 = val-3 | dhcp-6-opt-4 = val-4 | dhcp-6-opt-5 = val-5 
@@ -22472,12 +22556,12 @@ NAME         AVAILABLE-CONNECTION-PATHS                               AVAILABLE-
 CONNECTIONS  /org/freedesktop/NetworkManager/Settings/Connection/{2}  UUID-con-xx1-REPLACED-REPLACED-REPLA | con-xx1 
 
 <<<
-size: 3379
+size: 3419
 location: src/tests/client/test-client.py:test_004()/344
 cmd: $NMCLI --mode tabular -f all dev show wlan0
 lang: pl_PL.UTF-8
 returncode: 0
-stdout: 3213 bytes
+stdout: 3253 bytes
 >>>
 NAME     DEVICE  TYPE  NM-TYPE       DBUS-PATH                                  VENDOR  PRODUCT  DRIVER   DRIVER-VERSION  FIRMWARE-VERSION  HWADDR             MTU  STATE            REASON                    IP4-CONNECTIVITY  IP6-CONNECTIVITY  UDI                         PATH  IP-IFACE  IS-SOFTWARE  NM-MANAGED  AUTOCONNECT  FIRMWARE-MISSING  NM-PLUGIN-MISSING  PHYS-PORT-ID  CONNECTION  CON-UUID                              CON-PATH                                            METERED  
 GENERAL  wlan0   wifi  NMDeviceWifi  /org/freedesktop/NetworkManager/Devices/3  --      --       virtual  --              --                13:E0:74:85:7C:D9  0    100 (połączono)  0 (Nie podano przyczyny)  0 (nieznane)      0 (nieznane)      /sys/devices/virtual/wlan0  --    wlan0     nie          tak         tak          nie               nie                --            con-vpn-1   UUID-con-vpn-1-REPLACED-REPLACED-REP  /org/freedesktop/NetworkManager/ActiveConnection/2  nieznane 
@@ -22496,14 +22580,14 @@ AP[1]          C0:E2:BE:E8:EF:B6  wlan0-ap-2  Infrastruktura  1     54 Mb/s  9
 AP[2]          61:95:77:AC:1E:4C  wlan0-ap-1  Infrastruktura  1     54 Mb/s  81      ****  WPA1      
 AP[3]          9B:F6:B7:EC:97:76  wlan0-ap-3  Infrastruktura  1     54 Mb/s  55      **    WPA3      
 
-GROUP  ADDRESS                                 GATEWAY         ROUTE  DNS  DOMAIN                                                                            WINS           
-IP4    192.168.228.18/32 | 192.168.209.179/25  192.168.41.120  --     --   sear4.foo2.bar | sear4.fo.x.y | sear4.foo1.bar | sear4.foo4.bar | sear4.fo.o.bar  192.168.120.79 
+GROUP  ADDRESS                                 GATEWAY         ROUTE  DNS  DOMAIN                                                                            SEARCHES  WINS           
+IP4    192.168.228.18/32 | 192.168.209.179/25  192.168.41.120  --     --   sear4.foo2.bar | sear4.fo.x.y | sear4.foo1.bar | sear4.foo4.bar | sear4.fo.o.bar  --        192.168.120.79 
 
 GROUP  OPTION                                                                                    
 DHCP4  dhcp-4-opt-0 = val-0 | dhcp-4-opt-2 = val-2 | dhcp-4-opt-4 = val-4 | dhcp-4-opt-7 = val-7 
 
-GROUP  ADDRESS  GATEWAY  ROUTE                                                           DNS  DOMAIN                                                                                            
-IP6    --       --       dst = 2001:a::dd5b:aa7b:b4a2:e42/102, nh = ::, mt = 2504159086  --   sear6.foo2.bar | sear6.foo1.bar | sear6.fo.x.y | sear6.fo.o.bar | sear6.foo3.bar | sear6.foo4.bar 
+GROUP  ADDRESS  GATEWAY  ROUTE                                                           DNS  DOMAIN                                                                                             SEARCHES 
+IP6    --       --       dst = 2001:a::dd5b:aa7b:b4a2:e42/102, nh = ::, mt = 2504159086  --   sear6.foo2.bar | sear6.foo1.bar | sear6.fo.x.y | sear6.fo.o.bar | sear6.foo3.bar | sear6.foo4.bar  --       
 
 GROUP  OPTION                                                                                                           
 DHCP6  dhcp-6-opt-1 = val-1 | dhcp-6-opt-2 = val-2 | dhcp-6-opt-3 = val-3 | dhcp-6-opt-4 = val-4 | dhcp-6-opt-5 = val-5 
@@ -22796,12 +22880,12 @@ AP[1]  wlan0-ap-2  776C616E302D61702D32  C0:E2:BE:E8:EF:B6  Infrastruktura  1
 
 
 <<<
-size: 3318
+size: 3358
 location: src/tests/client/test-client.py:test_004()/363
 cmd: $NMCLI --mode tabular -f ALL device show wlan0
 lang: C
 returncode: 0
-stdout: 3159 bytes
+stdout: 3199 bytes
 >>>
 NAME     DEVICE  TYPE  NM-TYPE       DBUS-PATH                                  VENDOR  PRODUCT  DRIVER   DRIVER-VERSION  FIRMWARE-VERSION  HWADDR             MTU  STATE            REASON               IP4-CONNECTIVITY  IP6-CONNECTIVITY  UDI                         PATH  IP-IFACE  IS-SOFTWARE  NM-MANAGED  AUTOCONNECT  FIRMWARE-MISSING  NM-PLUGIN-MISSING  PHYS-PORT-ID  CONNECTION  CON-UUID                              CON-PATH                                            METERED 
 GENERAL  wlan0   wifi  NMDeviceWifi  /org/freedesktop/NetworkManager/Devices/3  --      --       virtual  --              --                13:E0:74:85:7C:D9  0    100 (connected)  0 (No reason given)  0 (unknown)       0 (unknown)       /sys/devices/virtual/wlan0  --    wlan0     no           yes         yes          no                no                 --            con-vpn-1   UUID-con-vpn-1-REPLACED-REPLACED-REP  /org/freedesktop/NetworkManager/ActiveConnection/2  unknown 
@@ -22820,14 +22904,14 @@ AP[1]          C0:E2:BE:E8:EF:B6  wlan0-ap-2  Infra  1     54 Mbit/s  92      **
 AP[2]          61:95:77:AC:1E:4C  wlan0-ap-1  Infra  1     54 Mbit/s  81      ****  WPA1      
 AP[3]          9B:F6:B7:EC:97:76  wlan0-ap-3  Infra  1     54 Mbit/s  55      **    WPA3      
 
-GROUP  ADDRESS                                 GATEWAY         ROUTE  DNS  DOMAIN                                                                            WINS           
-IP4    192.168.228.18/32 | 192.168.209.179/25  192.168.41.120  --     --   sear4.foo2.bar | sear4.fo.x.y | sear4.foo1.bar | sear4.foo4.bar | sear4.fo.o.bar  192.168.120.79 
+GROUP  ADDRESS                                 GATEWAY         ROUTE  DNS  DOMAIN                                                                            SEARCHES  WINS           
+IP4    192.168.228.18/32 | 192.168.209.179/25  192.168.41.120  --     --   sear4.foo2.bar | sear4.fo.x.y | sear4.foo1.bar | sear4.foo4.bar | sear4.fo.o.bar  --        192.168.120.79 
 
 GROUP  OPTION                                                                                    
 DHCP4  dhcp-4-opt-0 = val-0 | dhcp-4-opt-2 = val-2 | dhcp-4-opt-4 = val-4 | dhcp-4-opt-7 = val-7 
 
-GROUP  ADDRESS  GATEWAY  ROUTE                                                           DNS  DOMAIN                                                                                            
-IP6    --       --       dst = 2001:a::dd5b:aa7b:b4a2:e42/102, nh = ::, mt = 2504159086  --   sear6.foo2.bar | sear6.foo1.bar | sear6.fo.x.y | sear6.fo.o.bar | sear6.foo3.bar | sear6.foo4.bar 
+GROUP  ADDRESS  GATEWAY  ROUTE                                                           DNS  DOMAIN                                                                                             SEARCHES 
+IP6    --       --       dst = 2001:a::dd5b:aa7b:b4a2:e42/102, nh = ::, mt = 2504159086  --   sear6.foo2.bar | sear6.foo1.bar | sear6.fo.x.y | sear6.fo.o.bar | sear6.foo3.bar | sear6.foo4.bar  --       
 
 GROUP  OPTION                                                                                                           
 DHCP6  dhcp-6-opt-1 = val-1 | dhcp-6-opt-2 = val-2 | dhcp-6-opt-3 = val-3 | dhcp-6-opt-4 = val-4 | dhcp-6-opt-5 = val-5 
@@ -22836,12 +22920,12 @@ NAME         AVAILABLE-CONNECTION-PATHS                               AVAILABLE-
 CONNECTIONS  /org/freedesktop/NetworkManager/Settings/Connection/{2}  UUID-con-xx1-REPLACED-REPLACED-REPLA | con-xx1 
 
 <<<
-size: 3382
+size: 3422
 location: src/tests/client/test-client.py:test_004()/364
 cmd: $NMCLI --mode tabular -f ALL device show wlan0
 lang: pl_PL.UTF-8
 returncode: 0
-stdout: 3213 bytes
+stdout: 3253 bytes
 >>>
 NAME     DEVICE  TYPE  NM-TYPE       DBUS-PATH                                  VENDOR  PRODUCT  DRIVER   DRIVER-VERSION  FIRMWARE-VERSION  HWADDR             MTU  STATE            REASON                    IP4-CONNECTIVITY  IP6-CONNECTIVITY  UDI                         PATH  IP-IFACE  IS-SOFTWARE  NM-MANAGED  AUTOCONNECT  FIRMWARE-MISSING  NM-PLUGIN-MISSING  PHYS-PORT-ID  CONNECTION  CON-UUID                              CON-PATH                                            METERED  
 GENERAL  wlan0   wifi  NMDeviceWifi  /org/freedesktop/NetworkManager/Devices/3  --      --       virtual  --              --                13:E0:74:85:7C:D9  0    100 (połączono)  0 (Nie podano przyczyny)  0 (nieznane)      0 (nieznane)      /sys/devices/virtual/wlan0  --    wlan0     nie          tak         tak          nie               nie                --            con-vpn-1   UUID-con-vpn-1-REPLACED-REPLACED-REP  /org/freedesktop/NetworkManager/ActiveConnection/2  nieznane 
@@ -22860,14 +22944,14 @@ AP[1]          C0:E2:BE:E8:EF:B6  wlan0-ap-2  Infrastruktura  1     54 Mb/s  9
 AP[2]          61:95:77:AC:1E:4C  wlan0-ap-1  Infrastruktura  1     54 Mb/s  81      ****  WPA1      
 AP[3]          9B:F6:B7:EC:97:76  wlan0-ap-3  Infrastruktura  1     54 Mb/s  55      **    WPA3      
 
-GROUP  ADDRESS                                 GATEWAY         ROUTE  DNS  DOMAIN                                                                            WINS           
-IP4    192.168.228.18/32 | 192.168.209.179/25  192.168.41.120  --     --   sear4.foo2.bar | sear4.fo.x.y | sear4.foo1.bar | sear4.foo4.bar | sear4.fo.o.bar  192.168.120.79 
+GROUP  ADDRESS                                 GATEWAY         ROUTE  DNS  DOMAIN                                                                            SEARCHES  WINS           
+IP4    192.168.228.18/32 | 192.168.209.179/25  192.168.41.120  --     --   sear4.foo2.bar | sear4.fo.x.y | sear4.foo1.bar | sear4.foo4.bar | sear4.fo.o.bar  --        192.168.120.79 
 
 GROUP  OPTION                                                                                    
 DHCP4  dhcp-4-opt-0 = val-0 | dhcp-4-opt-2 = val-2 | dhcp-4-opt-4 = val-4 | dhcp-4-opt-7 = val-7 
 
-GROUP  ADDRESS  GATEWAY  ROUTE                                                           DNS  DOMAIN                                                                                            
-IP6    --       --       dst = 2001:a::dd5b:aa7b:b4a2:e42/102, nh = ::, mt = 2504159086  --   sear6.foo2.bar | sear6.foo1.bar | sear6.fo.x.y | sear6.fo.o.bar | sear6.foo3.bar | sear6.foo4.bar 
+GROUP  ADDRESS  GATEWAY  ROUTE                                                           DNS  DOMAIN                                                                                             SEARCHES 
+IP6    --       --       dst = 2001:a::dd5b:aa7b:b4a2:e42/102, nh = ::, mt = 2504159086  --   sear6.foo2.bar | sear6.foo1.bar | sear6.fo.x.y | sear6.fo.o.bar | sear6.foo3.bar | sear6.foo4.bar  --       
 
 GROUP  OPTION                                                                                                           
 DHCP6  dhcp-6-opt-1 = val-1 | dhcp-6-opt-2 = val-2 | dhcp-6-opt-3 = val-3 | dhcp-6-opt-4 = val-4 | dhcp-6-opt-5 = val-5 
@@ -22876,12 +22960,12 @@ NAME         AVAILABLE-CONNECTION-PATHS                               AVAILABLE-
 CONNECTIONS  /org/freedesktop/NetworkManager/Settings/Connection/{2}  UUID-con-xx1-REPLACED-REPLACED-REPLA | con-xx1 
 
 <<<
-size: 1139
+size: 1180
 location: src/tests/client/test-client.py:test_004()/365
 cmd: $NMCLI --mode tabular -f COMMON device show wlan0
 lang: C
 returncode: 0
-stdout: 978 bytes
+stdout: 1018 bytes
 >>>
 DEVICE 
 wlan0  
@@ -22904,19 +22988,19 @@ con-vpn-1
 CON-PATH                                           
 /org/freedesktop/NetworkManager/ActiveConnection/2 
 
-GROUP  ADDRESS                                 GATEWAY         ROUTE  DNS  DOMAIN                                                                            WINS           
-IP4    192.168.228.18/32 | 192.168.209.179/25  192.168.41.120  --     --   sear4.foo2.bar | sear4.fo.x.y | sear4.foo1.bar | sear4.foo4.bar | sear4.fo.o.bar  192.168.120.79 
+GROUP  ADDRESS                                 GATEWAY         ROUTE  DNS  DOMAIN                                                                            SEARCHES  WINS           
+IP4    192.168.228.18/32 | 192.168.209.179/25  192.168.41.120  --     --   sear4.foo2.bar | sear4.fo.x.y | sear4.foo1.bar | sear4.foo4.bar | sear4.fo.o.bar  --        192.168.120.79 
 
-GROUP  ADDRESS  GATEWAY  ROUTE                                                           DNS  DOMAIN                                                                                            
-IP6    --       --       dst = 2001:a::dd5b:aa7b:b4a2:e42/102, nh = ::, mt = 2504159086  --   sear6.foo2.bar | sear6.foo1.bar | sear6.fo.x.y | sear6.fo.o.bar | sear6.foo3.bar | sear6.foo4.bar 
+GROUP  ADDRESS  GATEWAY  ROUTE                                                           DNS  DOMAIN                                                                                             SEARCHES 
+IP6    --       --       dst = 2001:a::dd5b:aa7b:b4a2:e42/102, nh = ::, mt = 2504159086  --   sear6.foo2.bar | sear6.foo1.bar | sear6.fo.x.y | sear6.fo.o.bar | sear6.foo3.bar | sear6.foo4.bar  --       
 
 <<<
-size: 1151
+size: 1192
 location: src/tests/client/test-client.py:test_004()/366
 cmd: $NMCLI --mode tabular -f COMMON device show wlan0
 lang: pl_PL.UTF-8
 returncode: 0
-stdout: 980 bytes
+stdout: 1020 bytes
 >>>
 DEVICE 
 wlan0  
@@ -22939,19 +23023,19 @@ con-vpn-1
 CON-PATH                                           
 /org/freedesktop/NetworkManager/ActiveConnection/2 
 
-GROUP  ADDRESS                                 GATEWAY         ROUTE  DNS  DOMAIN                                                                            WINS           
-IP4    192.168.228.18/32 | 192.168.209.179/25  192.168.41.120  --     --   sear4.foo2.bar | sear4.fo.x.y | sear4.foo1.bar | sear4.foo4.bar | sear4.fo.o.bar  192.168.120.79 
+GROUP  ADDRESS                                 GATEWAY         ROUTE  DNS  DOMAIN                                                                            SEARCHES  WINS           
+IP4    192.168.228.18/32 | 192.168.209.179/25  192.168.41.120  --     --   sear4.foo2.bar | sear4.fo.x.y | sear4.foo1.bar | sear4.foo4.bar | sear4.fo.o.bar  --        192.168.120.79 
 
-GROUP  ADDRESS  GATEWAY  ROUTE                                                           DNS  DOMAIN                                                                                            
-IP6    --       --       dst = 2001:a::dd5b:aa7b:b4a2:e42/102, nh = ::, mt = 2504159086  --   sear6.foo2.bar | sear6.foo1.bar | sear6.fo.x.y | sear6.fo.o.bar | sear6.foo3.bar | sear6.foo4.bar 
+GROUP  ADDRESS  GATEWAY  ROUTE                                                           DNS  DOMAIN                                                                                             SEARCHES 
+IP6    --       --       dst = 2001:a::dd5b:aa7b:b4a2:e42/102, nh = ::, mt = 2504159086  --   sear6.foo2.bar | sear6.foo1.bar | sear6.fo.x.y | sear6.fo.o.bar | sear6.foo3.bar | sear6.foo4.bar  --       
 
 <<<
-size: 3355
+size: 3395
 location: src/tests/client/test-client.py:test_004()/367
 cmd: $NMCLI --mode tabular -f GENERAL,CAPABILITIES,WIFI-PROPERTIES,AP,WIRED-PROPERTIES,WIMAX-PROPERTIES,NSP,IP4,DHCP4,IP6,DHCP6,BOND,TEAM,BRIDGE,VLAN,BLUETOOTH,CONNECTIONS device show wlan0
 lang: C
 returncode: 0
-stdout: 3058 bytes
+stdout: 3098 bytes
 >>>
 NAME     DEVICE  TYPE  NM-TYPE       DBUS-PATH                                  VENDOR  PRODUCT  DRIVER   DRIVER-VERSION  FIRMWARE-VERSION  HWADDR             MTU  STATE            REASON               IP4-CONNECTIVITY  IP6-CONNECTIVITY  UDI                         PATH  IP-IFACE  IS-SOFTWARE  NM-MANAGED  AUTOCONNECT  FIRMWARE-MISSING  NM-PLUGIN-MISSING  PHYS-PORT-ID  CONNECTION  CON-UUID                              CON-PATH                                            METERED 
 GENERAL  wlan0   wifi  NMDeviceWifi  /org/freedesktop/NetworkManager/Devices/3  --      --       virtual  --              --                13:E0:74:85:7C:D9  0    100 (connected)  0 (No reason given)  0 (unknown)       0 (unknown)       /sys/devices/virtual/wlan0  --    wlan0     no           yes         yes          no                no                 --            con-vpn-1   UUID-con-vpn-1-REPLACED-REPLACED-REP  /org/freedesktop/NetworkManager/ActiveConnection/2  unknown 
@@ -22967,14 +23051,14 @@ AP[1]          C0:E2:BE:E8:EF:B6  wlan0-ap-2  Infra  1     54 Mbit/s  92      **
 AP[2]          61:95:77:AC:1E:4C  wlan0-ap-1  Infra  1     54 Mbit/s  81      ****  WPA1      
 AP[3]          9B:F6:B7:EC:97:76  wlan0-ap-3  Infra  1     54 Mbit/s  55      **    WPA3      
 
-GROUP  ADDRESS                                 GATEWAY         ROUTE  DNS  DOMAIN                                                                            WINS           
-IP4    192.168.228.18/32 | 192.168.209.179/25  192.168.41.120  --     --   sear4.foo2.bar | sear4.fo.x.y | sear4.foo1.bar | sear4.foo4.bar | sear4.fo.o.bar  192.168.120.79 
+GROUP  ADDRESS                                 GATEWAY         ROUTE  DNS  DOMAIN                                                                            SEARCHES  WINS           
+IP4    192.168.228.18/32 | 192.168.209.179/25  192.168.41.120  --     --   sear4.foo2.bar | sear4.fo.x.y | sear4.foo1.bar | sear4.foo4.bar | sear4.fo.o.bar  --        192.168.120.79 
 
 GROUP  OPTION                                                                                    
 DHCP4  dhcp-4-opt-0 = val-0 | dhcp-4-opt-2 = val-2 | dhcp-4-opt-4 = val-4 | dhcp-4-opt-7 = val-7 
 
-GROUP  ADDRESS  GATEWAY  ROUTE                                                           DNS  DOMAIN                                                                                            
-IP6    --       --       dst = 2001:a::dd5b:aa7b:b4a2:e42/102, nh = ::, mt = 2504159086  --   sear6.foo2.bar | sear6.foo1.bar | sear6.fo.x.y | sear6.fo.o.bar | sear6.foo3.bar | sear6.foo4.bar 
+GROUP  ADDRESS  GATEWAY  ROUTE                                                           DNS  DOMAIN                                                                                             SEARCHES 
+IP6    --       --       dst = 2001:a::dd5b:aa7b:b4a2:e42/102, nh = ::, mt = 2504159086  --   sear6.foo2.bar | sear6.foo1.bar | sear6.fo.x.y | sear6.fo.o.bar | sear6.foo3.bar | sear6.foo4.bar  --       
 
 GROUP  OPTION                                                                                                           
 DHCP6  dhcp-6-opt-1 = val-1 | dhcp-6-opt-2 = val-2 | dhcp-6-opt-3 = val-3 | dhcp-6-opt-4 = val-4 | dhcp-6-opt-5 = val-5 
@@ -22983,12 +23067,12 @@ NAME         AVAILABLE-CONNECTION-PATHS                               AVAILABLE-
 CONNECTIONS  /org/freedesktop/NetworkManager/Settings/Connection/{2}  UUID-con-xx1-REPLACED-REPLACED-REPLA | con-xx1 
 
 <<<
-size: 3419
+size: 3459
 location: src/tests/client/test-client.py:test_004()/368
 cmd: $NMCLI --mode tabular -f GENERAL,CAPABILITIES,WIFI-PROPERTIES,AP,WIRED-PROPERTIES,WIMAX-PROPERTIES,NSP,IP4,DHCP4,IP6,DHCP6,BOND,TEAM,BRIDGE,VLAN,BLUETOOTH,CONNECTIONS device show wlan0
 lang: pl_PL.UTF-8
 returncode: 0
-stdout: 3112 bytes
+stdout: 3152 bytes
 >>>
 NAME     DEVICE  TYPE  NM-TYPE       DBUS-PATH                                  VENDOR  PRODUCT  DRIVER   DRIVER-VERSION  FIRMWARE-VERSION  HWADDR             MTU  STATE            REASON                    IP4-CONNECTIVITY  IP6-CONNECTIVITY  UDI                         PATH  IP-IFACE  IS-SOFTWARE  NM-MANAGED  AUTOCONNECT  FIRMWARE-MISSING  NM-PLUGIN-MISSING  PHYS-PORT-ID  CONNECTION  CON-UUID                              CON-PATH                                            METERED  
 GENERAL  wlan0   wifi  NMDeviceWifi  /org/freedesktop/NetworkManager/Devices/3  --      --       virtual  --              --                13:E0:74:85:7C:D9  0    100 (połączono)  0 (Nie podano przyczyny)  0 (nieznane)      0 (nieznane)      /sys/devices/virtual/wlan0  --    wlan0     nie          tak         tak          nie               nie                --            con-vpn-1   UUID-con-vpn-1-REPLACED-REPLACED-REP  /org/freedesktop/NetworkManager/ActiveConnection/2  nieznane 
@@ -23004,14 +23088,14 @@ AP[1]          C0:E2:BE:E8:EF:B6  wlan0-ap-2  Infrastruktura  1     54 Mb/s  9
 AP[2]          61:95:77:AC:1E:4C  wlan0-ap-1  Infrastruktura  1     54 Mb/s  81      ****  WPA1      
 AP[3]          9B:F6:B7:EC:97:76  wlan0-ap-3  Infrastruktura  1     54 Mb/s  55      **    WPA3      
 
-GROUP  ADDRESS                                 GATEWAY         ROUTE  DNS  DOMAIN                                                                            WINS           
-IP4    192.168.228.18/32 | 192.168.209.179/25  192.168.41.120  --     --   sear4.foo2.bar | sear4.fo.x.y | sear4.foo1.bar | sear4.foo4.bar | sear4.fo.o.bar  192.168.120.79 
+GROUP  ADDRESS                                 GATEWAY         ROUTE  DNS  DOMAIN                                                                            SEARCHES  WINS           
+IP4    192.168.228.18/32 | 192.168.209.179/25  192.168.41.120  --     --   sear4.foo2.bar | sear4.fo.x.y | sear4.foo1.bar | sear4.foo4.bar | sear4.fo.o.bar  --        192.168.120.79 
 
 GROUP  OPTION                                                                                    
 DHCP4  dhcp-4-opt-0 = val-0 | dhcp-4-opt-2 = val-2 | dhcp-4-opt-4 = val-4 | dhcp-4-opt-7 = val-7 
 
-GROUP  ADDRESS  GATEWAY  ROUTE                                                           DNS  DOMAIN                                                                                            
-IP6    --       --       dst = 2001:a::dd5b:aa7b:b4a2:e42/102, nh = ::, mt = 2504159086  --   sear6.foo2.bar | sear6.foo1.bar | sear6.fo.x.y | sear6.fo.o.bar | sear6.foo3.bar | sear6.foo4.bar 
+GROUP  ADDRESS  GATEWAY  ROUTE                                                           DNS  DOMAIN                                                                                             SEARCHES 
+IP6    --       --       dst = 2001:a::dd5b:aa7b:b4a2:e42/102, nh = ::, mt = 2504159086  --   sear6.foo2.bar | sear6.foo1.bar | sear6.fo.x.y | sear6.fo.o.bar | sear6.foo3.bar | sear6.foo4.bar  --       
 
 GROUP  OPTION                                                                                                           
 DHCP6  dhcp-6-opt-1 = val-1 | dhcp-6-opt-2 = val-2 | dhcp-6-opt-3 = val-3 | dhcp-6-opt-4 = val-4 | dhcp-6-opt-5 = val-5 
@@ -23144,21 +23228,21 @@ interface-name
 
 
 <<<
-size: 3394
+size: 3466
 location: src/tests/client/test-client.py:test_004()/373
 cmd: $NMCLI --mode tabular --color yes con s con-vpn-1
 lang: C
 returncode: 0
-stdout: 3232 bytes
+stdout: 3304 bytes
 >>>
 name        id         uuid                                  stable-id  type  interface-name  autoconnect  autoconnect-priority  autoconnect-retries  multi-connect  auth-retries  timestamp  read-only  permissions  zone  master  slave-type  autoconnect-slaves  secondaries  gateway-ping-timeout  metered  lldp     mdns          llmnr         wait-device-timeout 
 connection  con-vpn-1  UUID-con-vpn-1-REPLACED-REPLACED-REP  --         vpn   --              yes          0                     -1 (default)         0 (default)    -1            0          no         --           --    --      --          -1 (default)        --           0                     unknown  default  -1 (default)  -1 (default)  -1                  
 
-name  method  dns  dns-search  dns-options  dns-priority  addresses  gateway  routes  route-metric  route-table  routing-rules  ignore-auto-routes  ignore-auto-dns  dhcp-client-id  dhcp-iaid  dhcp-timeout  dhcp-send-hostname  dhcp-hostname  dhcp-fqdn  dhcp-hostname-flags  never-default  may-fail  dad-timeout   dhcp-vendor-class-identifier  dhcp-reject-servers 
-ipv4  auto    --   --          --           0             --         --       --      -1            0 (unspec)   --             no                  no               --              --         0 (default)   yes                 --             --         0x0 (none)           no             yes       -1 (default)  --                            --                  
+name  method  dns  dns-search  dns-options  dns-priority  addresses  gateway  routes  route-metric  route-table  routing-rules  ignore-auto-routes  ignore-auto-dns  dhcp-client-id  dhcp-iaid  dhcp-timeout  dhcp-send-hostname  dhcp-hostname  dhcp-fqdn  dhcp-hostname-flags  never-default  may-fail  required-timeout  dad-timeout   dhcp-vendor-class-identifier  dhcp-reject-servers 
+ipv4  auto    --   --          --           0             --         --       --      -1            0 (unspec)   --             no                  no               --              --         0 (default)   yes                 --             --         0x0 (none)           no             yes       -1 (default)      -1 (default)  --                            --                  
 
-name  method  dns  dns-search  dns-options  dns-priority  addresses  gateway  routes  route-metric  route-table  routing-rules  ignore-auto-routes  ignore-auto-dns  never-default  may-fail  ip6-privacy   addr-gen-mode   ra-timeout   dhcp-duid  dhcp-iaid  dhcp-timeout  dhcp-send-hostname  dhcp-hostname  dhcp-hostname-flags  token 
-ipv6  auto    --   --          --           0             --         --       --      -1            0 (unspec)   --             no                  no               no             yes       -1 (unknown)  stable-privacy  0 (default)  --         --         0 (default)   yes                 --             0x0 (none)           --    
+name  method  dns  dns-search  dns-options  dns-priority  addresses  gateway  routes  route-metric  route-table  routing-rules  ignore-auto-routes  ignore-auto-dns  never-default  may-fail  required-timeout  ip6-privacy   addr-gen-mode   ra-timeout   dhcp-duid  dhcp-iaid  dhcp-timeout  dhcp-send-hostname  dhcp-hostname  dhcp-hostname-flags  token 
+ipv6  auto    --   --          --           0             --         --       --      -1            0 (unspec)   --             no                  no               no             yes       -1 (default)      -1 (unknown)  stable-privacy  0 (default)  --         --         0 (default)   yes                 --             0x0 (none)           --    
 
 name  service-type                            user-name  data                                   secrets   persistent  timeout 
 vpn   org.freedesktop.NetworkManager.openvpn  --         key1 = val1, key2 = val2, key3 = val3  <hidden>  no          0       
@@ -23173,21 +23257,21 @@ NAME  TYPE     USERNAME  GATEWAY  BANNER                            VPN-STATE
 VPN   openvpn  --        --       *** VPN connection con-vpn-1 ***  5 - VPN connected  key1 = val1 | key2 = val2 | key3 = val3 
 
 <<<
-size: 3417
+size: 3489
 location: src/tests/client/test-client.py:test_004()/374
 cmd: $NMCLI --mode tabular --color yes con s con-vpn-1
 lang: pl_PL.UTF-8
 returncode: 0
-stdout: 3245 bytes
+stdout: 3317 bytes
 >>>
 name        id         uuid                                  stable-id  type  interface-name  autoconnect  autoconnect-priority  autoconnect-retries  multi-connect  auth-retries  timestamp  read-only  permissions  zone  master  slave-type  autoconnect-slaves  secondaries  gateway-ping-timeout  metered   lldp     mdns          llmnr         wait-device-timeout 
 connection  con-vpn-1  UUID-con-vpn-1-REPLACED-REPLACED-REP  --         vpn   --              tak          0                     -1 (default)         0 (default)    -1            0          nie        --           --    --      --          -1 (default)        --           0                     nieznane  default  -1 (default)  -1 (default)  -1                  
 
-name  method  dns  dns-search  dns-options  dns-priority  addresses  gateway  routes  route-metric  route-table  routing-rules  ignore-auto-routes  ignore-auto-dns  dhcp-client-id  dhcp-iaid  dhcp-timeout  dhcp-send-hostname  dhcp-hostname  dhcp-fqdn  dhcp-hostname-flags  never-default  may-fail  dad-timeout   dhcp-vendor-class-identifier  dhcp-reject-servers 
-ipv4  auto    --   --          --           0             --         --       --      -1            0 (unspec)   --             nie                 nie              --              --         0 (default)   tak                 --             --         0x0 (none)           nie            tak       -1 (default)  --                            --                  
+name  method  dns  dns-search  dns-options  dns-priority  addresses  gateway  routes  route-metric  route-table  routing-rules  ignore-auto-routes  ignore-auto-dns  dhcp-client-id  dhcp-iaid  dhcp-timeout  dhcp-send-hostname  dhcp-hostname  dhcp-fqdn  dhcp-hostname-flags  never-default  may-fail  required-timeout  dad-timeout   dhcp-vendor-class-identifier  dhcp-reject-servers 
+ipv4  auto    --   --          --           0             --         --       --      -1            0 (unspec)   --             nie                 nie              --              --         0 (default)   tak                 --             --         0x0 (none)           nie            tak       -1 (default)      -1 (default)  --                            --                  
 
-name  method  dns  dns-search  dns-options  dns-priority  addresses  gateway  routes  route-metric  route-table  routing-rules  ignore-auto-routes  ignore-auto-dns  never-default  may-fail  ip6-privacy   addr-gen-mode   ra-timeout   dhcp-duid  dhcp-iaid  dhcp-timeout  dhcp-send-hostname  dhcp-hostname  dhcp-hostname-flags  token 
-ipv6  auto    --   --          --           0             --         --       --      -1            0 (unspec)   --             nie                 nie              nie            tak       -1 (unknown)  stable-privacy  0 (default)  --         --         0 (default)   tak                 --             0x0 (none)           --    
+name  method  dns  dns-search  dns-options  dns-priority  addresses  gateway  routes  route-metric  route-table  routing-rules  ignore-auto-routes  ignore-auto-dns  never-default  may-fail  required-timeout  ip6-privacy   addr-gen-mode   ra-timeout   dhcp-duid  dhcp-iaid  dhcp-timeout  dhcp-send-hostname  dhcp-hostname  dhcp-hostname-flags  token 
+ipv6  auto    --   --          --           0             --         --       --      -1            0 (unspec)   --             nie                 nie              nie            tak       -1 (default)      -1 (unknown)  stable-privacy  0 (default)  --         --         0 (default)   tak                 --             0x0 (none)           --    
 
 name  service-type                            user-name  data                                   secrets   persistent  timeout 
 vpn   org.freedesktop.NetworkManager.openvpn  --         key1 = val1, key2 = val2, key3 = val3  <hidden>  nie         0       
@@ -23202,21 +23286,21 @@ NAME  TYPE     USERNAME  GATEWAY  BANNER                            VPN-STATE
 VPN   openvpn  --        --       *** VPN connection con-vpn-1 ***  5 — Połączono z VPN  key1 = val1 | key2 = val2 | key3 = val3 
 
 <<<
-size: 3394
+size: 3466
 location: src/tests/client/test-client.py:test_004()/375
 cmd: $NMCLI --mode tabular --color yes con s con-vpn-1
 lang: C
 returncode: 0
-stdout: 3232 bytes
+stdout: 3304 bytes
 >>>
 name        id         uuid                                  stable-id  type  interface-name  autoconnect  autoconnect-priority  autoconnect-retries  multi-connect  auth-retries  timestamp  read-only  permissions  zone  master  slave-type  autoconnect-slaves  secondaries  gateway-ping-timeout  metered  lldp     mdns          llmnr         wait-device-timeout 
 connection  con-vpn-1  UUID-con-vpn-1-REPLACED-REPLACED-REP  --         vpn   --              yes          0                     -1 (default)         0 (default)    -1            0          no         --           --    --      --          -1 (default)        --           0                     unknown  default  -1 (default)  -1 (default)  -1                  
 
-name  method  dns  dns-search  dns-options  dns-priority  addresses  gateway  routes  route-metric  route-table  routing-rules  ignore-auto-routes  ignore-auto-dns  dhcp-client-id  dhcp-iaid  dhcp-timeout  dhcp-send-hostname  dhcp-hostname  dhcp-fqdn  dhcp-hostname-flags  never-default  may-fail  dad-timeout   dhcp-vendor-class-identifier  dhcp-reject-servers 
-ipv4  auto    --   --          --           0             --         --       --      -1            0 (unspec)   --             no                  no               --              --         0 (default)   yes                 --             --         0x0 (none)           no             yes       -1 (default)  --                            --                  
+name  method  dns  dns-search  dns-options  dns-priority  addresses  gateway  routes  route-metric  route-table  routing-rules  ignore-auto-routes  ignore-auto-dns  dhcp-client-id  dhcp-iaid  dhcp-timeout  dhcp-send-hostname  dhcp-hostname  dhcp-fqdn  dhcp-hostname-flags  never-default  may-fail  required-timeout  dad-timeout   dhcp-vendor-class-identifier  dhcp-reject-servers 
+ipv4  auto    --   --          --           0             --         --       --      -1            0 (unspec)   --             no                  no               --              --         0 (default)   yes                 --             --         0x0 (none)           no             yes       -1 (default)      -1 (default)  --                            --                  
 
-name  method  dns  dns-search  dns-options  dns-priority  addresses  gateway  routes  route-metric  route-table  routing-rules  ignore-auto-routes  ignore-auto-dns  never-default  may-fail  ip6-privacy   addr-gen-mode   ra-timeout   dhcp-duid  dhcp-iaid  dhcp-timeout  dhcp-send-hostname  dhcp-hostname  dhcp-hostname-flags  token 
-ipv6  auto    --   --          --           0             --         --       --      -1            0 (unspec)   --             no                  no               no             yes       -1 (unknown)  stable-privacy  0 (default)  --         --         0 (default)   yes                 --             0x0 (none)           --    
+name  method  dns  dns-search  dns-options  dns-priority  addresses  gateway  routes  route-metric  route-table  routing-rules  ignore-auto-routes  ignore-auto-dns  never-default  may-fail  required-timeout  ip6-privacy   addr-gen-mode   ra-timeout   dhcp-duid  dhcp-iaid  dhcp-timeout  dhcp-send-hostname  dhcp-hostname  dhcp-hostname-flags  token 
+ipv6  auto    --   --          --           0             --         --       --      -1            0 (unspec)   --             no                  no               no             yes       -1 (default)      -1 (unknown)  stable-privacy  0 (default)  --         --         0 (default)   yes                 --             0x0 (none)           --    
 
 name  service-type                            user-name  data                                   secrets   persistent  timeout 
 vpn   org.freedesktop.NetworkManager.openvpn  --         key1 = val1, key2 = val2, key3 = val3  <hidden>  no          0       
@@ -23231,21 +23315,21 @@ NAME  TYPE     USERNAME  GATEWAY  BANNER                            VPN-STATE
 VPN   openvpn  --        --       *** VPN connection con-vpn-1 ***  5 - VPN connected  key1 = val1 | key2 = val2 | key3 = val3 
 
 <<<
-size: 3417
+size: 3489
 location: src/tests/client/test-client.py:test_004()/376
 cmd: $NMCLI --mode tabular --color yes con s con-vpn-1
 lang: pl_PL.UTF-8
 returncode: 0
-stdout: 3245 bytes
+stdout: 3317 bytes
 >>>
 name        id         uuid                                  stable-id  type  interface-name  autoconnect  autoconnect-priority  autoconnect-retries  multi-connect  auth-retries  timestamp  read-only  permissions  zone  master  slave-type  autoconnect-slaves  secondaries  gateway-ping-timeout  metered   lldp     mdns          llmnr         wait-device-timeout 
 connection  con-vpn-1  UUID-con-vpn-1-REPLACED-REPLACED-REP  --         vpn   --              tak          0                     -1 (default)         0 (default)    -1            0          nie        --           --    --      --          -1 (default)        --           0                     nieznane  default  -1 (default)  -1 (default)  -1                  
 
-name  method  dns  dns-search  dns-options  dns-priority  addresses  gateway  routes  route-metric  route-table  routing-rules  ignore-auto-routes  ignore-auto-dns  dhcp-client-id  dhcp-iaid  dhcp-timeout  dhcp-send-hostname  dhcp-hostname  dhcp-fqdn  dhcp-hostname-flags  never-default  may-fail  dad-timeout   dhcp-vendor-class-identifier  dhcp-reject-servers 
-ipv4  auto    --   --          --           0             --         --       --      -1            0 (unspec)   --             nie                 nie              --              --         0 (default)   tak                 --             --         0x0 (none)           nie            tak       -1 (default)  --                            --                  
+name  method  dns  dns-search  dns-options  dns-priority  addresses  gateway  routes  route-metric  route-table  routing-rules  ignore-auto-routes  ignore-auto-dns  dhcp-client-id  dhcp-iaid  dhcp-timeout  dhcp-send-hostname  dhcp-hostname  dhcp-fqdn  dhcp-hostname-flags  never-default  may-fail  required-timeout  dad-timeout   dhcp-vendor-class-identifier  dhcp-reject-servers 
+ipv4  auto    --   --          --           0             --         --       --      -1            0 (unspec)   --             nie                 nie              --              --         0 (default)   tak                 --             --         0x0 (none)           nie            tak       -1 (default)      -1 (default)  --                            --                  
 
-name  method  dns  dns-search  dns-options  dns-priority  addresses  gateway  routes  route-metric  route-table  routing-rules  ignore-auto-routes  ignore-auto-dns  never-default  may-fail  ip6-privacy   addr-gen-mode   ra-timeout   dhcp-duid  dhcp-iaid  dhcp-timeout  dhcp-send-hostname  dhcp-hostname  dhcp-hostname-flags  token 
-ipv6  auto    --   --          --           0             --         --       --      -1            0 (unspec)   --             nie                 nie              nie            tak       -1 (unknown)  stable-privacy  0 (default)  --         --         0 (default)   tak                 --             0x0 (none)           --    
+name  method  dns  dns-search  dns-options  dns-priority  addresses  gateway  routes  route-metric  route-table  routing-rules  ignore-auto-routes  ignore-auto-dns  never-default  may-fail  required-timeout  ip6-privacy   addr-gen-mode   ra-timeout   dhcp-duid  dhcp-iaid  dhcp-timeout  dhcp-send-hostname  dhcp-hostname  dhcp-hostname-flags  token 
+ipv6  auto    --   --          --           0             --         --       --      -1            0 (unspec)   --             nie                 nie              nie            tak       -1 (default)      -1 (unknown)  stable-privacy  0 (default)  --         --         0 (default)   tak                 --             0x0 (none)           --    
 
 name  service-type                            user-name  data                                   secrets   persistent  timeout 
 vpn   org.freedesktop.NetworkManager.openvpn  --         key1 = val1, key2 = val2, key3 = val3  <hidden>  nie         0       
@@ -23260,21 +23344,21 @@ NAME  TYPE     USERNAME  GATEWAY  BANNER                            VPN-STATE
 VPN   openvpn  --        --       *** VPN connection con-vpn-1 ***  5 — Połączono z VPN  key1 = val1 | key2 = val2 | key3 = val3 
 
 <<<
-size: 2642
+size: 2714
 location: src/tests/client/test-client.py:test_004()/377
 cmd: $NMCLI --mode tabular --color yes -f ALL con s con-vpn-1
 lang: C
 returncode: 0
-stdout: 2473 bytes
+stdout: 2545 bytes
 >>>
 name        id         uuid                                  stable-id  type  interface-name  autoconnect  autoconnect-priority  autoconnect-retries  multi-connect  auth-retries  timestamp  read-only  permissions  zone  master  slave-type  autoconnect-slaves  secondaries  gateway-ping-timeout  metered  lldp     mdns          llmnr         wait-device-timeout 
 connection  con-vpn-1  UUID-con-vpn-1-REPLACED-REPLACED-REP  --         vpn   --              yes          0                     -1 (default)         0 (default)    -1            0          no         --           --    --      --          -1 (default)        --           0                     unknown  default  -1 (default)  -1 (default)  -1                  
 
-name  method  dns  dns-search  dns-options  dns-priority  addresses  gateway  routes  route-metric  route-table  routing-rules  ignore-auto-routes  ignore-auto-dns  dhcp-client-id  dhcp-iaid  dhcp-timeout  dhcp-send-hostname  dhcp-hostname  dhcp-fqdn  dhcp-hostname-flags  never-default  may-fail  dad-timeout   dhcp-vendor-class-identifier  dhcp-reject-servers 
-ipv4  auto    --   --          --           0             --         --       --      -1            0 (unspec)   --             no                  no               --              --         0 (default)   yes                 --             --         0x0 (none)           no             yes       -1 (default)  --                            --                  
+name  method  dns  dns-search  dns-options  dns-priority  addresses  gateway  routes  route-metric  route-table  routing-rules  ignore-auto-routes  ignore-auto-dns  dhcp-client-id  dhcp-iaid  dhcp-timeout  dhcp-send-hostname  dhcp-hostname  dhcp-fqdn  dhcp-hostname-flags  never-default  may-fail  required-timeout  dad-timeout   dhcp-vendor-class-identifier  dhcp-reject-servers 
+ipv4  auto    --   --          --           0             --         --       --      -1            0 (unspec)   --             no                  no               --              --         0 (default)   yes                 --             --         0x0 (none)           no             yes       -1 (default)      -1 (default)  --                            --                  
 
-name  method  dns  dns-search  dns-options  dns-priority  addresses  gateway  routes  route-metric  route-table  routing-rules  ignore-auto-routes  ignore-auto-dns  never-default  may-fail  ip6-privacy   addr-gen-mode   ra-timeout   dhcp-duid  dhcp-iaid  dhcp-timeout  dhcp-send-hostname  dhcp-hostname  dhcp-hostname-flags  token 
-ipv6  auto    --   --          --           0             --         --       --      -1            0 (unspec)   --             no                  no               no             yes       -1 (unknown)  stable-privacy  0 (default)  --         --         0 (default)   yes                 --             0x0 (none)           --    
+name  method  dns  dns-search  dns-options  dns-priority  addresses  gateway  routes  route-metric  route-table  routing-rules  ignore-auto-routes  ignore-auto-dns  never-default  may-fail  required-timeout  ip6-privacy   addr-gen-mode   ra-timeout   dhcp-duid  dhcp-iaid  dhcp-timeout  dhcp-send-hostname  dhcp-hostname  dhcp-hostname-flags  token 
+ipv6  auto    --   --          --           0             --         --       --      -1            0 (unspec)   --             no                  no               no             yes       -1 (default)      -1 (unknown)  stable-privacy  0 (default)  --         --         0 (default)   yes                 --             0x0 (none)           --    
 
 name  service-type                            user-name  data                                   secrets   persistent  timeout 
 vpn   org.freedesktop.NetworkManager.openvpn  --         key1 = val1, key2 = val2, key3 = val3  <hidden>  no          0       
@@ -23284,21 +23368,21 @@ proxy  none    no            --       --
 
 
 <<<
-size: 2654
+size: 2726
 location: src/tests/client/test-client.py:test_004()/378
 cmd: $NMCLI --mode tabular --color yes -f ALL con s con-vpn-1
 lang: pl_PL.UTF-8
 returncode: 0
-stdout: 2475 bytes
+stdout: 2547 bytes
 >>>
 name        id         uuid                                  stable-id  type  interface-name  autoconnect  autoconnect-priority  autoconnect-retries  multi-connect  auth-retries  timestamp  read-only  permissions  zone  master  slave-type  autoconnect-slaves  secondaries  gateway-ping-timeout  metered   lldp     mdns          llmnr         wait-device-timeout 
 connection  con-vpn-1  UUID-con-vpn-1-REPLACED-REPLACED-REP  --         vpn   --              tak          0                     -1 (default)         0 (default)    -1            0          nie        --           --    --      --          -1 (default)        --           0                     nieznane  default  -1 (default)  -1 (default)  -1                  
 
-name  method  dns  dns-search  dns-options  dns-priority  addresses  gateway  routes  route-metric  route-table  routing-rules  ignore-auto-routes  ignore-auto-dns  dhcp-client-id  dhcp-iaid  dhcp-timeout  dhcp-send-hostname  dhcp-hostname  dhcp-fqdn  dhcp-hostname-flags  never-default  may-fail  dad-timeout   dhcp-vendor-class-identifier  dhcp-reject-servers 
-ipv4  auto    --   --          --           0             --         --       --      -1            0 (unspec)   --             nie                 nie              --              --         0 (default)   tak                 --             --         0x0 (none)           nie            tak       -1 (default)  --                            --                  
+name  method  dns  dns-search  dns-options  dns-priority  addresses  gateway  routes  route-metric  route-table  routing-rules  ignore-auto-routes  ignore-auto-dns  dhcp-client-id  dhcp-iaid  dhcp-timeout  dhcp-send-hostname  dhcp-hostname  dhcp-fqdn  dhcp-hostname-flags  never-default  may-fail  required-timeout  dad-timeout   dhcp-vendor-class-identifier  dhcp-reject-servers 
+ipv4  auto    --   --          --           0             --         --       --      -1            0 (unspec)   --             nie                 nie              --              --         0 (default)   tak                 --             --         0x0 (none)           nie            tak       -1 (default)      -1 (default)  --                            --                  
 
-name  method  dns  dns-search  dns-options  dns-priority  addresses  gateway  routes  route-metric  route-table  routing-rules  ignore-auto-routes  ignore-auto-dns  never-default  may-fail  ip6-privacy   addr-gen-mode   ra-timeout   dhcp-duid  dhcp-iaid  dhcp-timeout  dhcp-send-hostname  dhcp-hostname  dhcp-hostname-flags  token 
-ipv6  auto    --   --          --           0             --         --       --      -1            0 (unspec)   --             nie                 nie              nie            tak       -1 (unknown)  stable-privacy  0 (default)  --         --         0 (default)   tak                 --             0x0 (none)           --    
+name  method  dns  dns-search  dns-options  dns-priority  addresses  gateway  routes  route-metric  route-table  routing-rules  ignore-auto-routes  ignore-auto-dns  never-default  may-fail  required-timeout  ip6-privacy   addr-gen-mode   ra-timeout   dhcp-duid  dhcp-iaid  dhcp-timeout  dhcp-send-hostname  dhcp-hostname  dhcp-hostname-flags  token 
+ipv6  auto    --   --          --           0             --         --       --      -1            0 (unspec)   --             nie                 nie              nie            tak       -1 (default)      -1 (unknown)  stable-privacy  0 (default)  --         --         0 (default)   tak                 --             0x0 (none)           --    
 
 name  service-type                            user-name  data                                   secrets   persistent  timeout 
 vpn   org.freedesktop.NetworkManager.openvpn  --         key1 = val1, key2 = val2, key3 = val3  <hidden>  nie         0       
@@ -23412,12 +23496,12 @@ DEVICE  TYPE      STATE        IP4-CONNECTIVITY  IP6-CONNECTIVITY  DBUS-PATH
 wlan1   wifi      niedostępne  nieznane          nieznane          /org/freedesktop/NetworkManager/Devices/5  --          --                                    --                                                 
 
 <<<
-size: 6369
+size: 6569
 location: src/tests/client/test-client.py:test_004()/387
 cmd: $NMCLI --mode tabular --color yes dev show
 lang: C
 returncode: 0
-stdout: 6214 bytes
+stdout: 6414 bytes
 >>>
 DEVICE 
 wlan0  
@@ -23440,11 +23524,11 @@ con-vpn-1
 CON-PATH                                           
 /org/freedesktop/NetworkManager/ActiveConnection/2 
 
-GROUP  ADDRESS                                 GATEWAY         ROUTE  DNS  DOMAIN                                                                            WINS           
-IP4    192.168.228.18/32 | 192.168.209.179/25  192.168.41.120  --     --   sear4.foo2.bar | sear4.fo.x.y | sear4.foo1.bar | sear4.foo4.bar | sear4.fo.o.bar  192.168.120.79 
+GROUP  ADDRESS                                 GATEWAY         ROUTE  DNS  DOMAIN                                                                            SEARCHES  WINS           
+IP4    192.168.228.18/32 | 192.168.209.179/25  192.168.41.120  --     --   sear4.foo2.bar | sear4.fo.x.y | sear4.foo1.bar | sear4.foo4.bar | sear4.fo.o.bar  --        192.168.120.79 
 
-GROUP  ADDRESS  GATEWAY  ROUTE                                                           DNS  DOMAIN                                                                                            
-IP6    --       --       dst = 2001:a::dd5b:aa7b:b4a2:e42/102, nh = ::, mt = 2504159086  --   sear6.foo2.bar | sear6.foo1.bar | sear6.fo.x.y | sear6.fo.o.bar | sear6.foo3.bar | sear6.foo4.bar 
+GROUP  ADDRESS  GATEWAY  ROUTE                                                           DNS  DOMAIN                                                                                             SEARCHES 
+IP6    --       --       dst = 2001:a::dd5b:aa7b:b4a2:e42/102, nh = ::, mt = 2504159086  --   sear6.foo2.bar | sear6.foo1.bar | sear6.fo.x.y | sear6.fo.o.bar | sear6.foo3.bar | sear6.foo4.bar  --       
 
 DEVICE 
 eth0   
@@ -23470,11 +23554,11 @@ CON-PATH
 NAME              CARRIER  S390-SUBCHANNELS 
 WIRED-PROPERTIES  on       --               
 
-GROUP  ADDRESS                               GATEWAY  ROUTE  DNS                                               DOMAIN                           WINS                             
-IP4    192.168.49.34/22 | 192.168.135.86/19  --       --     192.168.45.230 | 192.168.180.201 | 192.168.253.2  sear4.foo2.bar | sear4.foo1.bar  192.168.163.23 | 192.168.151.246 
+GROUP  ADDRESS                               GATEWAY  ROUTE  DNS                                               DOMAIN                           SEARCHES  WINS                             
+IP4    192.168.49.34/22 | 192.168.135.86/19  --       --     192.168.45.230 | 192.168.180.201 | 192.168.253.2  sear4.foo2.bar | sear4.foo1.bar  --        192.168.163.23 | 192.168.151.246 
 
-GROUP  ADDRESS                        GATEWAY  ROUTE  DNS                                                                                    DOMAIN                          
-IP6    2001:a::ed81:3d7:c2e9:df82/99  --       --     2001:a::2703:f06:9619:d89f | 2001:a::3a75:3682:c683:8541 | 2001:a::584e:912:d5ee:c74f  sear6.foo4.bar | sear6.fo.o.bar 
+GROUP  ADDRESS                        GATEWAY  ROUTE  DNS                                                                                    DOMAIN                           SEARCHES 
+IP6    2001:a::ed81:3d7:c2e9:df82/99  --       --     2001:a::2703:f06:9619:d89f | 2001:a::3a75:3682:c683:8541 | 2001:a::584e:912:d5ee:c74f  sear6.foo4.bar | sear6.fo.o.bar  --       
 
 DEVICE 
 eth1   
@@ -23500,11 +23584,11 @@ CON-PATH
 NAME              CARRIER  S390-SUBCHANNELS 
 WIRED-PROPERTIES  on       --               
 
-GROUP  ADDRESS             GATEWAY       ROUTE                                                                                                                                                                                         DNS                                               DOMAIN                                            WINS                                             
-IP4    192.168.127.210/25  192.168.88.4  dst = 192.168.222.35/19, nh = 192.168.170.142, mt = 3609264321 | dst = 192.168.135.81/32, nh = 192.168.32.11, mt = 1316413247 | dst = 192.168.24.65/26, nh = 192.168.23.163, mt = 3855574583  192.168.16.144 | 192.168.79.53 | 192.168.237.155  sear4.foo4.bar | sear4.foo3.bar | sear4.foo1.bar  192.168.211.91 | 192.168.58.182 | 192.168.114.97 
+GROUP  ADDRESS             GATEWAY       ROUTE                                                                                                                                                                                         DNS                                               DOMAIN                                            SEARCHES  WINS                                             
+IP4    192.168.127.210/25  192.168.88.4  dst = 192.168.222.35/19, nh = 192.168.170.142, mt = 3609264321 | dst = 192.168.135.81/32, nh = 192.168.32.11, mt = 1316413247 | dst = 192.168.24.65/26, nh = 192.168.23.163, mt = 3855574583  192.168.16.144 | 192.168.79.53 | 192.168.237.155  sear4.foo4.bar | sear4.foo3.bar | sear4.foo1.bar  --        192.168.211.91 | 192.168.58.182 | 192.168.114.97 
 
-GROUP  ADDRESS                                                          GATEWAY  ROUTE                                           DNS                                                                                     DOMAIN         
-IP6    2001:a::1c1:c178:169f:2b80/93 | 2001:a::1f79:e0fb:87b9:3cc6/123  --       dst = 2001:a::3166:7ed1:e4ae:7612/123, nh = ::  2001:a::edda:955:dcf4:23d4 | 2001:a::109f:aa0f:fb4a:9d5a | 2001:a::61cf:7c82:e9c0:c952  sear6.foo1.bar 
+GROUP  ADDRESS                                                          GATEWAY  ROUTE                                           DNS                                                                                     DOMAIN          SEARCHES 
+IP6    2001:a::1c1:c178:169f:2b80/93 | 2001:a::1f79:e0fb:87b9:3cc6/123  --       dst = 2001:a::3166:7ed1:e4ae:7612/123, nh = ::  2001:a::edda:955:dcf4:23d4 | 2001:a::109f:aa0f:fb4a:9d5a | 2001:a::61cf:7c82:e9c0:c952  sear6.foo1.bar  --       
 
 DEVICE 
 wlan1  
@@ -23527,11 +23611,11 @@ CONNECTION
 CON-PATH 
 --       
 
-GROUP  ADDRESS  GATEWAY         ROUTE                                                                                                                                                  DNS            DOMAIN                                                                                             WINS 
-IP4    --       192.168.57.160  dst = 192.168.36.106/21, nh = 192.168.199.128, mt = 979274165 | dst = 192.168.238.130/19, nh = 0.0.0.0 | dst = 192.168.224.39/32, nh = 192.168.148.69  192.168.61.83  sear4.foo4.bar | sear4.fo.x.y | sear4.foo2.bar | sear4.foo1.bar | sear4.fo.o.bar | sear4.foo3.bar  --   
+GROUP  ADDRESS  GATEWAY         ROUTE                                                                                                                                                  DNS            DOMAIN                                                                                             SEARCHES  WINS 
+IP4    --       192.168.57.160  dst = 192.168.36.106/21, nh = 192.168.199.128, mt = 979274165 | dst = 192.168.238.130/19, nh = 0.0.0.0 | dst = 192.168.224.39/32, nh = 192.168.148.69  192.168.61.83  sear4.foo4.bar | sear4.fo.x.y | sear4.foo2.bar | sear4.foo1.bar | sear4.fo.o.bar | sear4.foo3.bar  --        --   
 
-GROUP  ADDRESS                                                                                           GATEWAY                      ROUTE                                                                                                                                                    DNS                                                       DOMAIN                          
-IP6    2001:a::fa05:2ab4:9300:e8fe/116 | 2001:a::e9cf:bd3:caba:99b3/86 | 2001:a::2be6:44fa:2c95:5559/78  2001:a::4d70:d91a:770f:2319  dst = 2001:a::3cb2:719d:bb00:b22f/66, nh = 2001:a::81b1:58b9:7237:3511, mt = 2280277732 | dst = 2001:a::986f:983c:5eb:1c7d/99, nh = ::, mt = 1204008676  2001:a::85e7:3d7d:53e8:50ac | 2001:a::1c5:9cb5:e86d:25a5  sear6.foo4.bar | sear6.foo2.bar 
+GROUP  ADDRESS                                                                                           GATEWAY                      ROUTE                                                                                                                                                    DNS                                                       DOMAIN                           SEARCHES 
+IP6    2001:a::fa05:2ab4:9300:e8fe/116 | 2001:a::e9cf:bd3:caba:99b3/86 | 2001:a::2be6:44fa:2c95:5559/78  2001:a::4d70:d91a:770f:2319  dst = 2001:a::3cb2:719d:bb00:b22f/66, nh = 2001:a::81b1:58b9:7237:3511, mt = 2280277732 | dst = 2001:a::986f:983c:5eb:1c7d/99, nh = ::, mt = 1204008676  2001:a::85e7:3d7d:53e8:50ac | 2001:a::1c5:9cb5:e86d:25a5  sear6.foo4.bar | sear6.foo2.bar  --       
 
 DEVICE 
 wlan1  
@@ -23554,19 +23638,19 @@ CONNECTION
 CON-PATH 
 --       
 
-GROUP  ADDRESS                                GATEWAY  ROUTE                                                           DNS              DOMAIN                                                                            WINS                          
-IP4    192.168.97.124/29 | 192.168.76.154/18  --       dst = 192.168.33.233/22, nh = 192.168.222.210, mt = 2810496551  192.168.107.109  sear4.fo.o.bar | sear4.fo.x.y | sear4.foo2.bar | sear4.foo3.bar | sear4.foo4.bar  192.168.60.60 | 192.168.63.92 
+GROUP  ADDRESS                                GATEWAY  ROUTE                                                           DNS              DOMAIN                                                                            SEARCHES  WINS                          
+IP4    192.168.97.124/29 | 192.168.76.154/18  --       dst = 192.168.33.233/22, nh = 192.168.222.210, mt = 2810496551  192.168.107.109  sear4.fo.o.bar | sear4.fo.x.y | sear4.foo2.bar | sear4.foo3.bar | sear4.foo4.bar  --        192.168.60.60 | 192.168.63.92 
 
-GROUP  ADDRESS                        GATEWAY  ROUTE                                                                                                                                                                                                      DNS                          DOMAIN       
-IP6    2001:a::88ca:3654:96b:ab44/89  --       dst = 2001:a::cc8b:7c09:4673:bbb0/85, nh = ::, mt = 2821465568 | dst = 2001:a::a976:2488:f49f:b48/106, nh = 2001:a::62ae:c734:fc7b:e931, mt = 2248613879 | dst = 2001:a::afb7:4449:3787:8bb4/123, nh = ::  2001:a::2934:bd66:550d:ec19  sear6.fo.x.y 
+GROUP  ADDRESS                        GATEWAY  ROUTE                                                                                                                                                                                                      DNS                          DOMAIN        SEARCHES 
+IP6    2001:a::88ca:3654:96b:ab44/89  --       dst = 2001:a::cc8b:7c09:4673:bbb0/85, nh = ::, mt = 2821465568 | dst = 2001:a::a976:2488:f49f:b48/106, nh = 2001:a::62ae:c734:fc7b:e931, mt = 2248613879 | dst = 2001:a::afb7:4449:3787:8bb4/123, nh = ::  2001:a::2934:bd66:550d:ec19  sear6.fo.x.y  --       
 
 <<<
-size: 6393
+size: 6593
 location: src/tests/client/test-client.py:test_004()/388
 cmd: $NMCLI --mode tabular --color yes dev show
 lang: pl_PL.UTF-8
 returncode: 0
-stdout: 6228 bytes
+stdout: 6428 bytes
 >>>
 DEVICE 
 wlan0  
@@ -23589,11 +23673,11 @@ con-vpn-1
 CON-PATH                                           
 /org/freedesktop/NetworkManager/ActiveConnection/2 
 
-GROUP  ADDRESS                                 GATEWAY         ROUTE  DNS  DOMAIN                                                                            WINS           
-IP4    192.168.228.18/32 | 192.168.209.179/25  192.168.41.120  --     --   sear4.foo2.bar | sear4.fo.x.y | sear4.foo1.bar | sear4.foo4.bar | sear4.fo.o.bar  192.168.120.79 
+GROUP  ADDRESS                                 GATEWAY         ROUTE  DNS  DOMAIN                                                                            SEARCHES  WINS           
+IP4    192.168.228.18/32 | 192.168.209.179/25  192.168.41.120  --     --   sear4.foo2.bar | sear4.fo.x.y | sear4.foo1.bar | sear4.foo4.bar | sear4.fo.o.bar  --        192.168.120.79 
 
-GROUP  ADDRESS  GATEWAY  ROUTE                                                           DNS  DOMAIN                                                                                            
-IP6    --       --       dst = 2001:a::dd5b:aa7b:b4a2:e42/102, nh = ::, mt = 2504159086  --   sear6.foo2.bar | sear6.foo1.bar | sear6.fo.x.y | sear6.fo.o.bar | sear6.foo3.bar | sear6.foo4.bar 
+GROUP  ADDRESS  GATEWAY  ROUTE                                                           DNS  DOMAIN                                                                                             SEARCHES 
+IP6    --       --       dst = 2001:a::dd5b:aa7b:b4a2:e42/102, nh = ::, mt = 2504159086  --   sear6.foo2.bar | sear6.foo1.bar | sear6.fo.x.y | sear6.fo.o.bar | sear6.foo3.bar | sear6.foo4.bar  --       
 
 DEVICE 
 eth0   
@@ -23619,11 +23703,11 @@ CON-PATH
 NAME              CARRIER   S390-SUBCHANNELS 
 WIRED-PROPERTIES  włączone  --               
 
-GROUP  ADDRESS                               GATEWAY  ROUTE  DNS                                               DOMAIN                           WINS                             
-IP4    192.168.49.34/22 | 192.168.135.86/19  --       --     192.168.45.230 | 192.168.180.201 | 192.168.253.2  sear4.foo2.bar | sear4.foo1.bar  192.168.163.23 | 192.168.151.246 
+GROUP  ADDRESS                               GATEWAY  ROUTE  DNS                                               DOMAIN                           SEARCHES  WINS                             
+IP4    192.168.49.34/22 | 192.168.135.86/19  --       --     192.168.45.230 | 192.168.180.201 | 192.168.253.2  sear4.foo2.bar | sear4.foo1.bar  --        192.168.163.23 | 192.168.151.246 
 
-GROUP  ADDRESS                        GATEWAY  ROUTE  DNS                                                                                    DOMAIN                          
-IP6    2001:a::ed81:3d7:c2e9:df82/99  --       --     2001:a::2703:f06:9619:d89f | 2001:a::3a75:3682:c683:8541 | 2001:a::584e:912:d5ee:c74f  sear6.foo4.bar | sear6.fo.o.bar 
+GROUP  ADDRESS                        GATEWAY  ROUTE  DNS                                                                                    DOMAIN                           SEARCHES 
+IP6    2001:a::ed81:3d7:c2e9:df82/99  --       --     2001:a::2703:f06:9619:d89f | 2001:a::3a75:3682:c683:8541 | 2001:a::584e:912:d5ee:c74f  sear6.foo4.bar | sear6.fo.o.bar  --       
 
 DEVICE 
 eth1   
@@ -23649,11 +23733,11 @@ CON-PATH
 NAME              CARRIER   S390-SUBCHANNELS 
 WIRED-PROPERTIES  włączone  --               
 
-GROUP  ADDRESS             GATEWAY       ROUTE                                                                                                                                                                                         DNS                                               DOMAIN                                            WINS                                             
-IP4    192.168.127.210/25  192.168.88.4  dst = 192.168.222.35/19, nh = 192.168.170.142, mt = 3609264321 | dst = 192.168.135.81/32, nh = 192.168.32.11, mt = 1316413247 | dst = 192.168.24.65/26, nh = 192.168.23.163, mt = 3855574583  192.168.16.144 | 192.168.79.53 | 192.168.237.155  sear4.foo4.bar | sear4.foo3.bar | sear4.foo1.bar  192.168.211.91 | 192.168.58.182 | 192.168.114.97 
+GROUP  ADDRESS             GATEWAY       ROUTE                                                                                                                                                                                         DNS                                               DOMAIN                                            SEARCHES  WINS                                             
+IP4    192.168.127.210/25  192.168.88.4  dst = 192.168.222.35/19, nh = 192.168.170.142, mt = 3609264321 | dst = 192.168.135.81/32, nh = 192.168.32.11, mt = 1316413247 | dst = 192.168.24.65/26, nh = 192.168.23.163, mt = 3855574583  192.168.16.144 | 192.168.79.53 | 192.168.237.155  sear4.foo4.bar | sear4.foo3.bar | sear4.foo1.bar  --        192.168.211.91 | 192.168.58.182 | 192.168.114.97 
 
-GROUP  ADDRESS                                                          GATEWAY  ROUTE                                           DNS                                                                                     DOMAIN         
-IP6    2001:a::1c1:c178:169f:2b80/93 | 2001:a::1f79:e0fb:87b9:3cc6/123  --       dst = 2001:a::3166:7ed1:e4ae:7612/123, nh = ::  2001:a::edda:955:dcf4:23d4 | 2001:a::109f:aa0f:fb4a:9d5a | 2001:a::61cf:7c82:e9c0:c952  sear6.foo1.bar 
+GROUP  ADDRESS                                                          GATEWAY  ROUTE                                           DNS                                                                                     DOMAIN          SEARCHES 
+IP6    2001:a::1c1:c178:169f:2b80/93 | 2001:a::1f79:e0fb:87b9:3cc6/123  --       dst = 2001:a::3166:7ed1:e4ae:7612/123, nh = ::  2001:a::edda:955:dcf4:23d4 | 2001:a::109f:aa0f:fb4a:9d5a | 2001:a::61cf:7c82:e9c0:c952  sear6.foo1.bar  --       
 
 DEVICE 
 wlan1  
@@ -23676,11 +23760,11 @@ CONNECTION
 CON-PATH 
 --       
 
-GROUP  ADDRESS  GATEWAY         ROUTE                                                                                                                                                  DNS            DOMAIN                                                                                             WINS 
-IP4    --       192.168.57.160  dst = 192.168.36.106/21, nh = 192.168.199.128, mt = 979274165 | dst = 192.168.238.130/19, nh = 0.0.0.0 | dst = 192.168.224.39/32, nh = 192.168.148.69  192.168.61.83  sear4.foo4.bar | sear4.fo.x.y | sear4.foo2.bar | sear4.foo1.bar | sear4.fo.o.bar | sear4.foo3.bar  --   
+GROUP  ADDRESS  GATEWAY         ROUTE                                                                                                                                                  DNS            DOMAIN                                                                                             SEARCHES  WINS 
+IP4    --       192.168.57.160  dst = 192.168.36.106/21, nh = 192.168.199.128, mt = 979274165 | dst = 192.168.238.130/19, nh = 0.0.0.0 | dst = 192.168.224.39/32, nh = 192.168.148.69  192.168.61.83  sear4.foo4.bar | sear4.fo.x.y | sear4.foo2.bar | sear4.foo1.bar | sear4.fo.o.bar | sear4.foo3.bar  --        --   
 
-GROUP  ADDRESS                                                                                           GATEWAY                      ROUTE                                                                                                                                                    DNS                                                       DOMAIN                          
-IP6    2001:a::fa05:2ab4:9300:e8fe/116 | 2001:a::e9cf:bd3:caba:99b3/86 | 2001:a::2be6:44fa:2c95:5559/78  2001:a::4d70:d91a:770f:2319  dst = 2001:a::3cb2:719d:bb00:b22f/66, nh = 2001:a::81b1:58b9:7237:3511, mt = 2280277732 | dst = 2001:a::986f:983c:5eb:1c7d/99, nh = ::, mt = 1204008676  2001:a::85e7:3d7d:53e8:50ac | 2001:a::1c5:9cb5:e86d:25a5  sear6.foo4.bar | sear6.foo2.bar 
+GROUP  ADDRESS                                                                                           GATEWAY                      ROUTE                                                                                                                                                    DNS                                                       DOMAIN                           SEARCHES 
+IP6    2001:a::fa05:2ab4:9300:e8fe/116 | 2001:a::e9cf:bd3:caba:99b3/86 | 2001:a::2be6:44fa:2c95:5559/78  2001:a::4d70:d91a:770f:2319  dst = 2001:a::3cb2:719d:bb00:b22f/66, nh = 2001:a::81b1:58b9:7237:3511, mt = 2280277732 | dst = 2001:a::986f:983c:5eb:1c7d/99, nh = ::, mt = 1204008676  2001:a::85e7:3d7d:53e8:50ac | 2001:a::1c5:9cb5:e86d:25a5  sear6.foo4.bar | sear6.foo2.bar  --       
 
 DEVICE 
 wlan1  
@@ -23703,19 +23787,19 @@ CONNECTION
 CON-PATH 
 --       
 
-GROUP  ADDRESS                                GATEWAY  ROUTE                                                           DNS              DOMAIN                                                                            WINS                          
-IP4    192.168.97.124/29 | 192.168.76.154/18  --       dst = 192.168.33.233/22, nh = 192.168.222.210, mt = 2810496551  192.168.107.109  sear4.fo.o.bar | sear4.fo.x.y | sear4.foo2.bar | sear4.foo3.bar | sear4.foo4.bar  192.168.60.60 | 192.168.63.92 
+GROUP  ADDRESS                                GATEWAY  ROUTE                                                           DNS              DOMAIN                                                                            SEARCHES  WINS                          
+IP4    192.168.97.124/29 | 192.168.76.154/18  --       dst = 192.168.33.233/22, nh = 192.168.222.210, mt = 2810496551  192.168.107.109  sear4.fo.o.bar | sear4.fo.x.y | sear4.foo2.bar | sear4.foo3.bar | sear4.foo4.bar  --        192.168.60.60 | 192.168.63.92 
 
-GROUP  ADDRESS                        GATEWAY  ROUTE                                                                                                                                                                                                      DNS                          DOMAIN       
-IP6    2001:a::88ca:3654:96b:ab44/89  --       dst = 2001:a::cc8b:7c09:4673:bbb0/85, nh = ::, mt = 2821465568 | dst = 2001:a::a976:2488:f49f:b48/106, nh = 2001:a::62ae:c734:fc7b:e931, mt = 2248613879 | dst = 2001:a::afb7:4449:3787:8bb4/123, nh = ::  2001:a::2934:bd66:550d:ec19  sear6.fo.x.y 
+GROUP  ADDRESS                        GATEWAY  ROUTE                                                                                                                                                                                                      DNS                          DOMAIN        SEARCHES 
+IP6    2001:a::88ca:3654:96b:ab44/89  --       dst = 2001:a::cc8b:7c09:4673:bbb0/85, nh = ::, mt = 2821465568 | dst = 2001:a::a976:2488:f49f:b48/106, nh = 2001:a::62ae:c734:fc7b:e931, mt = 2248613879 | dst = 2001:a::afb7:4449:3787:8bb4/123, nh = ::  2001:a::2934:bd66:550d:ec19  sear6.fo.x.y  --       
 
 <<<
-size: 16441
+size: 16641
 location: src/tests/client/test-client.py:test_004()/389
 cmd: $NMCLI --mode tabular --color yes -f all dev show
 lang: C
 returncode: 0
-stdout: 16278 bytes
+stdout: 16478 bytes
 >>>
 NAME     DEVICE  TYPE  NM-TYPE       DBUS-PATH                                  VENDOR  PRODUCT  DRIVER   DRIVER-VERSION  FIRMWARE-VERSION  HWADDR             MTU  STATE            REASON               IP4-CONNECTIVITY  IP6-CONNECTIVITY  UDI                         PATH  IP-IFACE  IS-SOFTWARE  NM-MANAGED  AUTOCONNECT  FIRMWARE-MISSING  NM-PLUGIN-MISSING  PHYS-PORT-ID  CONNECTION  CON-UUID                              CON-PATH                                            METERED 
 GENERAL  wlan0   wifi  NMDeviceWifi  /org/freedesktop/NetworkManager/Devices/3  --      --       virtual  --              --                13:E0:74:85:7C:D9  0    100 (connected)  0 (No reason given)  0 (unknown)       0 (unknown)       /sys/devices/virtual/wlan0  --    wlan0     no           yes         yes          no                no                 --            con-vpn-1   UUID-con-vpn-1-REPLACED-REPLACED-REP  /org/freedesktop/NetworkManager/ActiveConnection/2  unknown 
@@ -23734,14 +23818,14 @@ NAME   IN-USE  BSSID              SSID        MODE   CHAN  RATE       SIGNAL  BA
 AP[2]          61:95:77:AC:1E:4C  wlan0-ap-1  Infra  1     54 Mbit/s  81      ****  WPA1      
 AP[3]          9B:F6:B7:EC:97:76  wlan0-ap-3  Infra  1     54 Mbit/s  55      **    WPA3      
 
-GROUP  ADDRESS                                 GATEWAY         ROUTE  DNS  DOMAIN                                                                            WINS           
-IP4    192.168.228.18/32 | 192.168.209.179/25  192.168.41.120  --     --   sear4.foo2.bar | sear4.fo.x.y | sear4.foo1.bar | sear4.foo4.bar | sear4.fo.o.bar  192.168.120.79 
+GROUP  ADDRESS                                 GATEWAY         ROUTE  DNS  DOMAIN                                                                            SEARCHES  WINS           
+IP4    192.168.228.18/32 | 192.168.209.179/25  192.168.41.120  --     --   sear4.foo2.bar | sear4.fo.x.y | sear4.foo1.bar | sear4.foo4.bar | sear4.fo.o.bar  --        192.168.120.79 
 
 GROUP  OPTION                                                                                    
 DHCP4  dhcp-4-opt-0 = val-0 | dhcp-4-opt-2 = val-2 | dhcp-4-opt-4 = val-4 | dhcp-4-opt-7 = val-7 
 
-GROUP  ADDRESS  GATEWAY  ROUTE                                                           DNS  DOMAIN                                                                                            
-IP6    --       --       dst = 2001:a::dd5b:aa7b:b4a2:e42/102, nh = ::, mt = 2504159086  --   sear6.foo2.bar | sear6.foo1.bar | sear6.fo.x.y | sear6.fo.o.bar | sear6.foo3.bar | sear6.foo4.bar 
+GROUP  ADDRESS  GATEWAY  ROUTE                                                           DNS  DOMAIN                                                                                             SEARCHES 
+IP6    --       --       dst = 2001:a::dd5b:aa7b:b4a2:e42/102, nh = ::, mt = 2504159086  --   sear6.foo2.bar | sear6.foo1.bar | sear6.fo.x.y | sear6.fo.o.bar | sear6.foo3.bar | sear6.foo4.bar  --       
 
 GROUP  OPTION                                                                                                           
 DHCP6  dhcp-6-opt-1 = val-1 | dhcp-6-opt-2 = val-2 | dhcp-6-opt-3 = val-3 | dhcp-6-opt-4 = val-4 | dhcp-6-opt-5 = val-5 
@@ -23761,14 +23845,14 @@ INTERFACE-FLAGS  yes  yes       no       no
 NAME              CARRIER  S390-SUBCHANNELS 
 WIRED-PROPERTIES  on       --               
 
-GROUP  ADDRESS                               GATEWAY  ROUTE  DNS                                               DOMAIN                           WINS                             
-IP4    192.168.49.34/22 | 192.168.135.86/19  --       --     192.168.45.230 | 192.168.180.201 | 192.168.253.2  sear4.foo2.bar | sear4.foo1.bar  192.168.163.23 | 192.168.151.246 
+GROUP  ADDRESS                               GATEWAY  ROUTE  DNS                                               DOMAIN                           SEARCHES  WINS                             
+IP4    192.168.49.34/22 | 192.168.135.86/19  --       --     192.168.45.230 | 192.168.180.201 | 192.168.253.2  sear4.foo2.bar | sear4.foo1.bar  --        192.168.163.23 | 192.168.151.246 
 
 GROUP  OPTION                                      
 DHCP4  dhcp-4-opt-8 = val-8 | dhcp-4-opt-9 = val-9 
 
-GROUP  ADDRESS                        GATEWAY  ROUTE  DNS                                                                                    DOMAIN                          
-IP6    2001:a::ed81:3d7:c2e9:df82/99  --       --     2001:a::2703:f06:9619:d89f | 2001:a::3a75:3682:c683:8541 | 2001:a::584e:912:d5ee:c74f  sear6.foo4.bar | sear6.fo.o.bar 
+GROUP  ADDRESS                        GATEWAY  ROUTE  DNS                                                                                    DOMAIN                           SEARCHES 
+IP6    2001:a::ed81:3d7:c2e9:df82/99  --       --     2001:a::2703:f06:9619:d89f | 2001:a::3a75:3682:c683:8541 | 2001:a::584e:912:d5ee:c74f  sear6.foo4.bar | sear6.fo.o.bar  --       
 
 GROUP  OPTION                                                                                                                                                                                                                              
 DHCP6  dhcp-6-opt-0 = val-0 | dhcp-6-opt-1 = val-1 | dhcp-6-opt-2 = val-2 | dhcp-6-opt-3 = val-3 | dhcp-6-opt-4 = val-4 | dhcp-6-opt-5 = val-5 | dhcp-6-opt-6 = val-6 | dhcp-6-opt-7 = val-7 | dhcp-6-opt-8 = val-8 | dhcp-6-opt-9 = val-9 
@@ -23788,14 +23872,14 @@ INTERFACE-FLAGS  yes  yes       no       no
 NAME              CARRIER  S390-SUBCHANNELS 
 WIRED-PROPERTIES  on       --               
 
-GROUP  ADDRESS             GATEWAY       ROUTE                                                                                                                                                                                         DNS                                               DOMAIN                                            WINS                                             
-IP4    192.168.127.210/25  192.168.88.4  dst = 192.168.222.35/19, nh = 192.168.170.142, mt = 3609264321 | dst = 192.168.135.81/32, nh = 192.168.32.11, mt = 1316413247 | dst = 192.168.24.65/26, nh = 192.168.23.163, mt = 3855574583  192.168.16.144 | 192.168.79.53 | 192.168.237.155  sear4.foo4.bar | sear4.foo3.bar | sear4.foo1.bar  192.168.211.91 | 192.168.58.182 | 192.168.114.97 
+GROUP  ADDRESS             GATEWAY       ROUTE                                                                                                                                                                                         DNS                                               DOMAIN                                            SEARCHES  WINS                                             
+IP4    192.168.127.210/25  192.168.88.4  dst = 192.168.222.35/19, nh = 192.168.170.142, mt = 3609264321 | dst = 192.168.135.81/32, nh = 192.168.32.11, mt = 1316413247 | dst = 192.168.24.65/26, nh = 192.168.23.163, mt = 3855574583  192.168.16.144 | 192.168.79.53 | 192.168.237.155  sear4.foo4.bar | sear4.foo3.bar | sear4.foo1.bar  --        192.168.211.91 | 192.168.58.182 | 192.168.114.97 
 
 GROUP  OPTION                                                                                                                                                                                                       
 DHCP4  dhcp-4-opt-0 = val-0 | dhcp-4-opt-1 = val-1 | dhcp-4-opt-2 = val-2 | dhcp-4-opt-3 = val-3 | dhcp-4-opt-4 = val-4 | dhcp-4-opt-5 = val-5 | dhcp-4-opt-7 = val-7 | dhcp-4-opt-8 = val-8 | dhcp-4-opt-9 = val-9 
 
-GROUP  ADDRESS                                                          GATEWAY  ROUTE                                           DNS                                                                                     DOMAIN         
-IP6    2001:a::1c1:c178:169f:2b80/93 | 2001:a::1f79:e0fb:87b9:3cc6/123  --       dst = 2001:a::3166:7ed1:e4ae:7612/123, nh = ::  2001:a::edda:955:dcf4:23d4 | 2001:a::109f:aa0f:fb4a:9d5a | 2001:a::61cf:7c82:e9c0:c952  sear6.foo1.bar 
+GROUP  ADDRESS                                                          GATEWAY  ROUTE                                           DNS                                                                                     DOMAIN          SEARCHES 
+IP6    2001:a::1c1:c178:169f:2b80/93 | 2001:a::1f79:e0fb:87b9:3cc6/123  --       dst = 2001:a::3166:7ed1:e4ae:7612/123, nh = ::  2001:a::edda:955:dcf4:23d4 | 2001:a::109f:aa0f:fb4a:9d5a | 2001:a::61cf:7c82:e9c0:c952  sear6.foo1.bar  --       
 
 GROUP  OPTION                                                                                                           
 DHCP6  dhcp-6-opt-2 = val-2 | dhcp-6-opt-5 = val-5 | dhcp-6-opt-6 = val-6 | dhcp-6-opt-8 = val-8 | dhcp-6-opt-9 = val-9 
@@ -23818,14 +23902,14 @@ WIFI-PROPERTIES  yes  yes  yes   yes   yes   yes  yes    unknown  unknown  no
 NAME   IN-USE  BSSID              SSID        MODE   CHAN  RATE       SIGNAL  BARS  SECURITY  
 AP[1]          94:2B:E8:F6:D2:86  wlan1-ap-4  Infra  1     54 Mbit/s  48      **    WPA1 WPA2 
 
-GROUP  ADDRESS  GATEWAY         ROUTE                                                                                                                                                  DNS            DOMAIN                                                                                             WINS 
-IP4    --       192.168.57.160  dst = 192.168.36.106/21, nh = 192.168.199.128, mt = 979274165 | dst = 192.168.238.130/19, nh = 0.0.0.0 | dst = 192.168.224.39/32, nh = 192.168.148.69  192.168.61.83  sear4.foo4.bar | sear4.fo.x.y | sear4.foo2.bar | sear4.foo1.bar | sear4.fo.o.bar | sear4.foo3.bar  --   
+GROUP  ADDRESS  GATEWAY         ROUTE                                                                                                                                                  DNS            DOMAIN                                                                                             SEARCHES  WINS 
+IP4    --       192.168.57.160  dst = 192.168.36.106/21, nh = 192.168.199.128, mt = 979274165 | dst = 192.168.238.130/19, nh = 0.0.0.0 | dst = 192.168.224.39/32, nh = 192.168.148.69  192.168.61.83  sear4.foo4.bar | sear4.fo.x.y | sear4.foo2.bar | sear4.foo1.bar | sear4.fo.o.bar | sear4.foo3.bar  --        --   
 
 GROUP  OPTION                                                                                                                                                                                
 DHCP4  dhcp-4-opt-0 = val-0 | dhcp-4-opt-1 = val-1 | dhcp-4-opt-2 = val-2 | dhcp-4-opt-4 = val-4 | dhcp-4-opt-6 = val-6 | dhcp-4-opt-7 = val-7 | dhcp-4-opt-8 = val-8 | dhcp-4-opt-9 = val-9 
 
-GROUP  ADDRESS                                                                                           GATEWAY                      ROUTE                                                                                                                                                    DNS                                                       DOMAIN                          
-IP6    2001:a::fa05:2ab4:9300:e8fe/116 | 2001:a::e9cf:bd3:caba:99b3/86 | 2001:a::2be6:44fa:2c95:5559/78  2001:a::4d70:d91a:770f:2319  dst = 2001:a::3cb2:719d:bb00:b22f/66, nh = 2001:a::81b1:58b9:7237:3511, mt = 2280277732 | dst = 2001:a::986f:983c:5eb:1c7d/99, nh = ::, mt = 1204008676  2001:a::85e7:3d7d:53e8:50ac | 2001:a::1c5:9cb5:e86d:25a5  sear6.foo4.bar | sear6.foo2.bar 
+GROUP  ADDRESS                                                                                           GATEWAY                      ROUTE                                                                                                                                                    DNS                                                       DOMAIN                           SEARCHES 
+IP6    2001:a::fa05:2ab4:9300:e8fe/116 | 2001:a::e9cf:bd3:caba:99b3/86 | 2001:a::2be6:44fa:2c95:5559/78  2001:a::4d70:d91a:770f:2319  dst = 2001:a::3cb2:719d:bb00:b22f/66, nh = 2001:a::81b1:58b9:7237:3511, mt = 2280277732 | dst = 2001:a::986f:983c:5eb:1c7d/99, nh = ::, mt = 1204008676  2001:a::85e7:3d7d:53e8:50ac | 2001:a::1c5:9cb5:e86d:25a5  sear6.foo4.bar | sear6.foo2.bar  --       
 
 GROUP  OPTION                                                                                                                                                                                                       
 DHCP6  dhcp-6-opt-0 = val-0 | dhcp-6-opt-1 = val-1 | dhcp-6-opt-2 = val-2 | dhcp-6-opt-3 = val-3 | dhcp-6-opt-4 = val-4 | dhcp-6-opt-5 = val-5 | dhcp-6-opt-6 = val-6 | dhcp-6-opt-7 = val-7 | dhcp-6-opt-9 = val-9 
@@ -23847,14 +23931,14 @@ WIFI-PROPERTIES  yes  yes  yes   yes   yes   yes  yes    unknown  unknown  no
 
 NAME  IN-USE  BSSID  SSID  MODE  CHAN  RATE  SIGNAL  BARS  SECURITY 
 
-GROUP  ADDRESS                                GATEWAY  ROUTE                                                           DNS              DOMAIN                                                                            WINS                          
-IP4    192.168.97.124/29 | 192.168.76.154/18  --       dst = 192.168.33.233/22, nh = 192.168.222.210, mt = 2810496551  192.168.107.109  sear4.fo.o.bar | sear4.fo.x.y | sear4.foo2.bar | sear4.foo3.bar | sear4.foo4.bar  192.168.60.60 | 192.168.63.92 
+GROUP  ADDRESS                                GATEWAY  ROUTE                                                           DNS              DOMAIN                                                                            SEARCHES  WINS                          
+IP4    192.168.97.124/29 | 192.168.76.154/18  --       dst = 192.168.33.233/22, nh = 192.168.222.210, mt = 2810496551  192.168.107.109  sear4.fo.o.bar | sear4.fo.x.y | sear4.foo2.bar | sear4.foo3.bar | sear4.foo4.bar  --        192.168.60.60 | 192.168.63.92 
 
 GROUP  OPTION                                      
 DHCP4  dhcp-4-opt-0 = val-0 | dhcp-4-opt-5 = val-5 
 
-GROUP  ADDRESS                        GATEWAY  ROUTE                                                                                                                                                                                                      DNS                          DOMAIN       
-IP6    2001:a::88ca:3654:96b:ab44/89  --       dst = 2001:a::cc8b:7c09:4673:bbb0/85, nh = ::, mt = 2821465568 | dst = 2001:a::a976:2488:f49f:b48/106, nh = 2001:a::62ae:c734:fc7b:e931, mt = 2248613879 | dst = 2001:a::afb7:4449:3787:8bb4/123, nh = ::  2001:a::2934:bd66:550d:ec19  sear6.fo.x.y 
+GROUP  ADDRESS                        GATEWAY  ROUTE                                                                                                                                                                                                      DNS                          DOMAIN        SEARCHES 
+IP6    2001:a::88ca:3654:96b:ab44/89  --       dst = 2001:a::cc8b:7c09:4673:bbb0/85, nh = ::, mt = 2821465568 | dst = 2001:a::a976:2488:f49f:b48/106, nh = 2001:a::62ae:c734:fc7b:e931, mt = 2248613879 | dst = 2001:a::afb7:4449:3787:8bb4/123, nh = ::  2001:a::2934:bd66:550d:ec19  sear6.fo.x.y  --       
 
 GROUP  OPTION                                                                                                           
 DHCP6  dhcp-6-opt-2 = val-2 | dhcp-6-opt-6 = val-6 | dhcp-6-opt-7 = val-7 | dhcp-6-opt-8 = val-8 | dhcp-6-opt-9 = val-9 
@@ -23863,12 +23947,12 @@ NAME         AVAILABLE-CONNECTION-PATHS                               AVAILABLE-
 CONNECTIONS  /org/freedesktop/NetworkManager/Settings/Connection/{2}  UUID-con-xx1-REPLACED-REPLACED-REPLA | con-xx1 
 
 <<<
-size: 16597
+size: 16797
 location: src/tests/client/test-client.py:test_004()/390
 cmd: $NMCLI --mode tabular --color yes -f all dev show
 lang: pl_PL.UTF-8
 returncode: 0
-stdout: 16424 bytes
+stdout: 16624 bytes
 >>>
 NAME     DEVICE  TYPE  NM-TYPE       DBUS-PATH                                  VENDOR  PRODUCT  DRIVER   DRIVER-VERSION  FIRMWARE-VERSION  HWADDR             MTU  STATE            REASON                    IP4-CONNECTIVITY  IP6-CONNECTIVITY  UDI                         PATH  IP-IFACE  IS-SOFTWARE  NM-MANAGED  AUTOCONNECT  FIRMWARE-MISSING  NM-PLUGIN-MISSING  PHYS-PORT-ID  CONNECTION  CON-UUID                              CON-PATH                                            METERED  
 GENERAL  wlan0   wifi  NMDeviceWifi  /org/freedesktop/NetworkManager/Devices/3  --      --       virtual  --              --                13:E0:74:85:7C:D9  0    100 (połączono)  0 (Nie podano przyczyny)  0 (nieznane)      0 (nieznane)      /sys/devices/virtual/wlan0  --    wlan0     nie          tak         tak          nie               nie                --            con-vpn-1   UUID-con-vpn-1-REPLACED-REPLACED-REP  /org/freedesktop/NetworkManager/ActiveConnection/2  nieznane 
@@ -23887,14 +23971,14 @@ NAME   IN-USE  BSSID              SSID        MODE            CHAN  RATE     SIG
 AP[2]          61:95:77:AC:1E:4C  wlan0-ap-1  Infrastruktura  1     54 Mb/s  81      ****  WPA1      
 AP[3]          9B:F6:B7:EC:97:76  wlan0-ap-3  Infrastruktura  1     54 Mb/s  55      **    WPA3      
 
-GROUP  ADDRESS                                 GATEWAY         ROUTE  DNS  DOMAIN                                                                            WINS           
-IP4    192.168.228.18/32 | 192.168.209.179/25  192.168.41.120  --     --   sear4.foo2.bar | sear4.fo.x.y | sear4.foo1.bar | sear4.foo4.bar | sear4.fo.o.bar  192.168.120.79 
+GROUP  ADDRESS                                 GATEWAY         ROUTE  DNS  DOMAIN                                                                            SEARCHES  WINS           
+IP4    192.168.228.18/32 | 192.168.209.179/25  192.168.41.120  --     --   sear4.foo2.bar | sear4.fo.x.y | sear4.foo1.bar | sear4.foo4.bar | sear4.fo.o.bar  --        192.168.120.79 
 
 GROUP  OPTION                                                                                    
 DHCP4  dhcp-4-opt-0 = val-0 | dhcp-4-opt-2 = val-2 | dhcp-4-opt-4 = val-4 | dhcp-4-opt-7 = val-7 
 
-GROUP  ADDRESS  GATEWAY  ROUTE                                                           DNS  DOMAIN                                                                                            
-IP6    --       --       dst = 2001:a::dd5b:aa7b:b4a2:e42/102, nh = ::, mt = 2504159086  --   sear6.foo2.bar | sear6.foo1.bar | sear6.fo.x.y | sear6.fo.o.bar | sear6.foo3.bar | sear6.foo4.bar 
+GROUP  ADDRESS  GATEWAY  ROUTE                                                           DNS  DOMAIN                                                                                             SEARCHES 
+IP6    --       --       dst = 2001:a::dd5b:aa7b:b4a2:e42/102, nh = ::, mt = 2504159086  --   sear6.foo2.bar | sear6.foo1.bar | sear6.fo.x.y | sear6.fo.o.bar | sear6.foo3.bar | sear6.foo4.bar  --       
 
 GROUP  OPTION                                                                                                           
 DHCP6  dhcp-6-opt-1 = val-1 | dhcp-6-opt-2 = val-2 | dhcp-6-opt-3 = val-3 | dhcp-6-opt-4 = val-4 | dhcp-6-opt-5 = val-5 
@@ -23914,14 +23998,14 @@ INTERFACE-FLAGS  tak  tak       nie      nie
 NAME              CARRIER   S390-SUBCHANNELS 
 WIRED-PROPERTIES  włączone  --               
 
-GROUP  ADDRESS                               GATEWAY  ROUTE  DNS                                               DOMAIN                           WINS                             
-IP4    192.168.49.34/22 | 192.168.135.86/19  --       --     192.168.45.230 | 192.168.180.201 | 192.168.253.2  sear4.foo2.bar | sear4.foo1.bar  192.168.163.23 | 192.168.151.246 
+GROUP  ADDRESS                               GATEWAY  ROUTE  DNS                                               DOMAIN                           SEARCHES  WINS                             
+IP4    192.168.49.34/22 | 192.168.135.86/19  --       --     192.168.45.230 | 192.168.180.201 | 192.168.253.2  sear4.foo2.bar | sear4.foo1.bar  --        192.168.163.23 | 192.168.151.246 
 
 GROUP  OPTION                                      
 DHCP4  dhcp-4-opt-8 = val-8 | dhcp-4-opt-9 = val-9 
 
-GROUP  ADDRESS                        GATEWAY  ROUTE  DNS                                                                                    DOMAIN                          
-IP6    2001:a::ed81:3d7:c2e9:df82/99  --       --     2001:a::2703:f06:9619:d89f | 2001:a::3a75:3682:c683:8541 | 2001:a::584e:912:d5ee:c74f  sear6.foo4.bar | sear6.fo.o.bar 
+GROUP  ADDRESS                        GATEWAY  ROUTE  DNS                                                                                    DOMAIN                           SEARCHES 
+IP6    2001:a::ed81:3d7:c2e9:df82/99  --       --     2001:a::2703:f06:9619:d89f | 2001:a::3a75:3682:c683:8541 | 2001:a::584e:912:d5ee:c74f  sear6.foo4.bar | sear6.fo.o.bar  --       
 
 GROUP  OPTION                                                                                                                                                                                                                              
 DHCP6  dhcp-6-opt-0 = val-0 | dhcp-6-opt-1 = val-1 | dhcp-6-opt-2 = val-2 | dhcp-6-opt-3 = val-3 | dhcp-6-opt-4 = val-4 | dhcp-6-opt-5 = val-5 | dhcp-6-opt-6 = val-6 | dhcp-6-opt-7 = val-7 | dhcp-6-opt-8 = val-8 | dhcp-6-opt-9 = val-9 
@@ -23941,14 +24025,14 @@ INTERFACE-FLAGS  tak  tak       nie      nie
 NAME              CARRIER   S390-SUBCHANNELS 
 WIRED-PROPERTIES  włączone  --               
 
-GROUP  ADDRESS             GATEWAY       ROUTE                                                                                                                                                                                         DNS                                               DOMAIN                                            WINS                                             
-IP4    192.168.127.210/25  192.168.88.4  dst = 192.168.222.35/19, nh = 192.168.170.142, mt = 3609264321 | dst = 192.168.135.81/32, nh = 192.168.32.11, mt = 1316413247 | dst = 192.168.24.65/26, nh = 192.168.23.163, mt = 3855574583  192.168.16.144 | 192.168.79.53 | 192.168.237.155  sear4.foo4.bar | sear4.foo3.bar | sear4.foo1.bar  192.168.211.91 | 192.168.58.182 | 192.168.114.97 
+GROUP  ADDRESS             GATEWAY       ROUTE                                                                                                                                                                                         DNS                                               DOMAIN                                            SEARCHES  WINS                                             
+IP4    192.168.127.210/25  192.168.88.4  dst = 192.168.222.35/19, nh = 192.168.170.142, mt = 3609264321 | dst = 192.168.135.81/32, nh = 192.168.32.11, mt = 1316413247 | dst = 192.168.24.65/26, nh = 192.168.23.163, mt = 3855574583  192.168.16.144 | 192.168.79.53 | 192.168.237.155  sear4.foo4.bar | sear4.foo3.bar | sear4.foo1.bar  --        192.168.211.91 | 192.168.58.182 | 192.168.114.97 
 
 GROUP  OPTION                                                                                                                                                                                                       
 DHCP4  dhcp-4-opt-0 = val-0 | dhcp-4-opt-1 = val-1 | dhcp-4-opt-2 = val-2 | dhcp-4-opt-3 = val-3 | dhcp-4-opt-4 = val-4 | dhcp-4-opt-5 = val-5 | dhcp-4-opt-7 = val-7 | dhcp-4-opt-8 = val-8 | dhcp-4-opt-9 = val-9 
 
-GROUP  ADDRESS                                                          GATEWAY  ROUTE                                           DNS                                                                                     DOMAIN         
-IP6    2001:a::1c1:c178:169f:2b80/93 | 2001:a::1f79:e0fb:87b9:3cc6/123  --       dst = 2001:a::3166:7ed1:e4ae:7612/123, nh = ::  2001:a::edda:955:dcf4:23d4 | 2001:a::109f:aa0f:fb4a:9d5a | 2001:a::61cf:7c82:e9c0:c952  sear6.foo1.bar 
+GROUP  ADDRESS                                                          GATEWAY  ROUTE                                           DNS                                                                                     DOMAIN          SEARCHES 
+IP6    2001:a::1c1:c178:169f:2b80/93 | 2001:a::1f79:e0fb:87b9:3cc6/123  --       dst = 2001:a::3166:7ed1:e4ae:7612/123, nh = ::  2001:a::edda:955:dcf4:23d4 | 2001:a::109f:aa0f:fb4a:9d5a | 2001:a::61cf:7c82:e9c0:c952  sear6.foo1.bar  --       
 
 GROUP  OPTION                                                                                                           
 DHCP6  dhcp-6-opt-2 = val-2 | dhcp-6-opt-5 = val-5 | dhcp-6-opt-6 = val-6 | dhcp-6-opt-8 = val-8 | dhcp-6-opt-9 = val-9 
@@ -23971,14 +24055,14 @@ WIFI-PROPERTIES  tak  tak  tak   tak   tak   tak  tak    nieznane  nieznane  nie
 NAME   IN-USE  BSSID              SSID        MODE            CHAN  RATE     SIGNAL  BARS  SECURITY  
 AP[1]          94:2B:E8:F6:D2:86  wlan1-ap-4  Infrastruktura  1     54 Mb/s  48      **    WPA1 WPA2 
 
-GROUP  ADDRESS  GATEWAY         ROUTE                                                                                                                                                  DNS            DOMAIN                                                                                             WINS 
-IP4    --       192.168.57.160  dst = 192.168.36.106/21, nh = 192.168.199.128, mt = 979274165 | dst = 192.168.238.130/19, nh = 0.0.0.0 | dst = 192.168.224.39/32, nh = 192.168.148.69  192.168.61.83  sear4.foo4.bar | sear4.fo.x.y | sear4.foo2.bar | sear4.foo1.bar | sear4.fo.o.bar | sear4.foo3.bar  --   
+GROUP  ADDRESS  GATEWAY         ROUTE                                                                                                                                                  DNS            DOMAIN                                                                                             SEARCHES  WINS 
+IP4    --       192.168.57.160  dst = 192.168.36.106/21, nh = 192.168.199.128, mt = 979274165 | dst = 192.168.238.130/19, nh = 0.0.0.0 | dst = 192.168.224.39/32, nh = 192.168.148.69  192.168.61.83  sear4.foo4.bar | sear4.fo.x.y | sear4.foo2.bar | sear4.foo1.bar | sear4.fo.o.bar | sear4.foo3.bar  --        --   
 
 GROUP  OPTION                                                                                                                                                                                
 DHCP4  dhcp-4-opt-0 = val-0 | dhcp-4-opt-1 = val-1 | dhcp-4-opt-2 = val-2 | dhcp-4-opt-4 = val-4 | dhcp-4-opt-6 = val-6 | dhcp-4-opt-7 = val-7 | dhcp-4-opt-8 = val-8 | dhcp-4-opt-9 = val-9 
 
-GROUP  ADDRESS                                                                                           GATEWAY                      ROUTE                                                                                                                                                    DNS                                                       DOMAIN                          
-IP6    2001:a::fa05:2ab4:9300:e8fe/116 | 2001:a::e9cf:bd3:caba:99b3/86 | 2001:a::2be6:44fa:2c95:5559/78  2001:a::4d70:d91a:770f:2319  dst = 2001:a::3cb2:719d:bb00:b22f/66, nh = 2001:a::81b1:58b9:7237:3511, mt = 2280277732 | dst = 2001:a::986f:983c:5eb:1c7d/99, nh = ::, mt = 1204008676  2001:a::85e7:3d7d:53e8:50ac | 2001:a::1c5:9cb5:e86d:25a5  sear6.foo4.bar | sear6.foo2.bar 
+GROUP  ADDRESS                                                                                           GATEWAY                      ROUTE                                                                                                                                                    DNS                                                       DOMAIN                           SEARCHES 
+IP6    2001:a::fa05:2ab4:9300:e8fe/116 | 2001:a::e9cf:bd3:caba:99b3/86 | 2001:a::2be6:44fa:2c95:5559/78  2001:a::4d70:d91a:770f:2319  dst = 2001:a::3cb2:719d:bb00:b22f/66, nh = 2001:a::81b1:58b9:7237:3511, mt = 2280277732 | dst = 2001:a::986f:983c:5eb:1c7d/99, nh = ::, mt = 1204008676  2001:a::85e7:3d7d:53e8:50ac | 2001:a::1c5:9cb5:e86d:25a5  sear6.foo4.bar | sear6.foo2.bar  --       
 
 GROUP  OPTION                                                                                                                                                                                                       
 DHCP6  dhcp-6-opt-0 = val-0 | dhcp-6-opt-1 = val-1 | dhcp-6-opt-2 = val-2 | dhcp-6-opt-3 = val-3 | dhcp-6-opt-4 = val-4 | dhcp-6-opt-5 = val-5 | dhcp-6-opt-6 = val-6 | dhcp-6-opt-7 = val-7 | dhcp-6-opt-9 = val-9 
@@ -24000,14 +24084,14 @@ WIFI-PROPERTIES  tak  tak  tak   tak   tak   tak  tak    nieznane  nieznane  nie
 
 NAME  IN-USE  BSSID  SSID  MODE  CHAN  RATE  SIGNAL  BARS  SECURITY 
 
-GROUP  ADDRESS                                GATEWAY  ROUTE                                                           DNS              DOMAIN                                                                            WINS                          
-IP4    192.168.97.124/29 | 192.168.76.154/18  --       dst = 192.168.33.233/22, nh = 192.168.222.210, mt = 2810496551  192.168.107.109  sear4.fo.o.bar | sear4.fo.x.y | sear4.foo2.bar | sear4.foo3.bar | sear4.foo4.bar  192.168.60.60 | 192.168.63.92 
+GROUP  ADDRESS                                GATEWAY  ROUTE                                                           DNS              DOMAIN                                                                            SEARCHES  WINS                          
+IP4    192.168.97.124/29 | 192.168.76.154/18  --       dst = 192.168.33.233/22, nh = 192.168.222.210, mt = 2810496551  192.168.107.109  sear4.fo.o.bar | sear4.fo.x.y | sear4.foo2.bar | sear4.foo3.bar | sear4.foo4.bar  --        192.168.60.60 | 192.168.63.92 
 
 GROUP  OPTION                                      
 DHCP4  dhcp-4-opt-0 = val-0 | dhcp-4-opt-5 = val-5 
 
-GROUP  ADDRESS                        GATEWAY  ROUTE                                                                                                                                                                                                      DNS                          DOMAIN       
-IP6    2001:a::88ca:3654:96b:ab44/89  --       dst = 2001:a::cc8b:7c09:4673:bbb0/85, nh = ::, mt = 2821465568 | dst = 2001:a::a976:2488:f49f:b48/106, nh = 2001:a::62ae:c734:fc7b:e931, mt = 2248613879 | dst = 2001:a::afb7:4449:3787:8bb4/123, nh = ::  2001:a::2934:bd66:550d:ec19  sear6.fo.x.y 
+GROUP  ADDRESS                        GATEWAY  ROUTE                                                                                                                                                                                                      DNS                          DOMAIN        SEARCHES 
+IP6    2001:a::88ca:3654:96b:ab44/89  --       dst = 2001:a::cc8b:7c09:4673:bbb0/85, nh = ::, mt = 2821465568 | dst = 2001:a::a976:2488:f49f:b48/106, nh = 2001:a::62ae:c734:fc7b:e931, mt = 2248613879 | dst = 2001:a::afb7:4449:3787:8bb4/123, nh = ::  2001:a::2934:bd66:550d:ec19  sear6.fo.x.y  --       
 
 GROUP  OPTION                                                                                                           
 DHCP6  dhcp-6-opt-2 = val-2 | dhcp-6-opt-6 = val-6 | dhcp-6-opt-7 = val-7 | dhcp-6-opt-8 = val-8 | dhcp-6-opt-9 = val-9 
@@ -24016,12 +24100,12 @@ NAME         AVAILABLE-CONNECTION-PATHS                               AVAILABLE-
 CONNECTIONS  /org/freedesktop/NetworkManager/Settings/Connection/{2}  UUID-con-xx1-REPLACED-REPLACED-REPLA | con-xx1 
 
 <<<
-size: 1138
+size: 1179
 location: src/tests/client/test-client.py:test_004()/391
 cmd: $NMCLI --mode tabular --color yes dev show wlan0
 lang: C
 returncode: 0
-stdout: 978 bytes
+stdout: 1018 bytes
 >>>
 DEVICE 
 wlan0  
@@ -24044,19 +24128,19 @@ con-vpn-1
 CON-PATH                                           
 /org/freedesktop/NetworkManager/ActiveConnection/2 
 
-GROUP  ADDRESS                                 GATEWAY         ROUTE  DNS  DOMAIN                                                                            WINS           
-IP4    192.168.228.18/32 | 192.168.209.179/25  192.168.41.120  --     --   sear4.foo2.bar | sear4.fo.x.y | sear4.foo1.bar | sear4.foo4.bar | sear4.fo.o.bar  192.168.120.79 
+GROUP  ADDRESS                                 GATEWAY         ROUTE  DNS  DOMAIN                                                                            SEARCHES  WINS           
+IP4    192.168.228.18/32 | 192.168.209.179/25  192.168.41.120  --     --   sear4.foo2.bar | sear4.fo.x.y | sear4.foo1.bar | sear4.foo4.bar | sear4.fo.o.bar  --        192.168.120.79 
 
-GROUP  ADDRESS  GATEWAY  ROUTE                                                           DNS  DOMAIN                                                                                            
-IP6    --       --       dst = 2001:a::dd5b:aa7b:b4a2:e42/102, nh = ::, mt = 2504159086  --   sear6.foo2.bar | sear6.foo1.bar | sear6.fo.x.y | sear6.fo.o.bar | sear6.foo3.bar | sear6.foo4.bar 
+GROUP  ADDRESS  GATEWAY  ROUTE                                                           DNS  DOMAIN                                                                                             SEARCHES 
+IP6    --       --       dst = 2001:a::dd5b:aa7b:b4a2:e42/102, nh = ::, mt = 2504159086  --   sear6.foo2.bar | sear6.foo1.bar | sear6.fo.x.y | sear6.fo.o.bar | sear6.foo3.bar | sear6.foo4.bar  --       
 
 <<<
-size: 1150
+size: 1191
 location: src/tests/client/test-client.py:test_004()/392
 cmd: $NMCLI --mode tabular --color yes dev show wlan0
 lang: pl_PL.UTF-8
 returncode: 0
-stdout: 980 bytes
+stdout: 1020 bytes
 >>>
 DEVICE 
 wlan0  
@@ -24079,19 +24163,19 @@ con-vpn-1
 CON-PATH                                           
 /org/freedesktop/NetworkManager/ActiveConnection/2 
 
-GROUP  ADDRESS                                 GATEWAY         ROUTE  DNS  DOMAIN                                                                            WINS           
-IP4    192.168.228.18/32 | 192.168.209.179/25  192.168.41.120  --     --   sear4.foo2.bar | sear4.fo.x.y | sear4.foo1.bar | sear4.foo4.bar | sear4.fo.o.bar  192.168.120.79 
+GROUP  ADDRESS                                 GATEWAY         ROUTE  DNS  DOMAIN                                                                            SEARCHES  WINS           
+IP4    192.168.228.18/32 | 192.168.209.179/25  192.168.41.120  --     --   sear4.foo2.bar | sear4.fo.x.y | sear4.foo1.bar | sear4.foo4.bar | sear4.fo.o.bar  --        192.168.120.79 
 
-GROUP  ADDRESS  GATEWAY  ROUTE                                                           DNS  DOMAIN                                                                                            
-IP6    --       --       dst = 2001:a::dd5b:aa7b:b4a2:e42/102, nh = ::, mt = 2504159086  --   sear6.foo2.bar | sear6.foo1.bar | sear6.fo.x.y | sear6.fo.o.bar | sear6.foo3.bar | sear6.foo4.bar 
+GROUP  ADDRESS  GATEWAY  ROUTE                                                           DNS  DOMAIN                                                                                             SEARCHES 
+IP6    --       --       dst = 2001:a::dd5b:aa7b:b4a2:e42/102, nh = ::, mt = 2504159086  --   sear6.foo2.bar | sear6.foo1.bar | sear6.fo.x.y | sear6.fo.o.bar | sear6.foo3.bar | sear6.foo4.bar  --       
 
 <<<
-size: 3597
+size: 3637
 location: src/tests/client/test-client.py:test_004()/393
 cmd: $NMCLI --mode tabular --color yes -f all dev show wlan0
 lang: C
 returncode: 0
-stdout: 3429 bytes
+stdout: 3469 bytes
 >>>
 NAME     DEVICE  TYPE  NM-TYPE       DBUS-PATH                                  VENDOR  PRODUCT  DRIVER   DRIVER-VERSION  FIRMWARE-VERSION  HWADDR             MTU  STATE            REASON               IP4-CONNECTIVITY  IP6-CONNECTIVITY  UDI                         PATH  IP-IFACE  IS-SOFTWARE  NM-MANAGED  AUTOCONNECT  FIRMWARE-MISSING  NM-PLUGIN-MISSING  PHYS-PORT-ID  CONNECTION  CON-UUID                              CON-PATH                                            METERED 
 GENERAL  wlan0   wifi  NMDeviceWifi  /org/freedesktop/NetworkManager/Devices/3  --      --       virtual  --              --                13:E0:74:85:7C:D9  0    100 (connected)  0 (No reason given)  0 (unknown)       0 (unknown)       /sys/devices/virtual/wlan0  --    wlan0     no           yes         yes          no                no                 --            con-vpn-1   UUID-con-vpn-1-REPLACED-REPLACED-REP  /org/freedesktop/NetworkManager/ActiveConnection/2  unknown 
@@ -24110,14 +24194,14 @@ NAME   IN-USE  BSSID              SSID        MODE   CHAN  RATE       SIGNAL  BA
 AP[2]          61:95:77:AC:1E:4C  wlan0-ap-1  Infra  1     54 Mbit/s  81      ****  WPA1      
 AP[3]          9B:F6:B7:EC:97:76  wlan0-ap-3  Infra  1     54 Mbit/s  55      **    WPA3      
 
-GROUP  ADDRESS                                 GATEWAY         ROUTE  DNS  DOMAIN                                                                            WINS           
-IP4    192.168.228.18/32 | 192.168.209.179/25  192.168.41.120  --     --   sear4.foo2.bar | sear4.fo.x.y | sear4.foo1.bar | sear4.foo4.bar | sear4.fo.o.bar  192.168.120.79 
+GROUP  ADDRESS                                 GATEWAY         ROUTE  DNS  DOMAIN                                                                            SEARCHES  WINS           
+IP4    192.168.228.18/32 | 192.168.209.179/25  192.168.41.120  --     --   sear4.foo2.bar | sear4.fo.x.y | sear4.foo1.bar | sear4.foo4.bar | sear4.fo.o.bar  --        192.168.120.79 
 
 GROUP  OPTION                                                                                    
 DHCP4  dhcp-4-opt-0 = val-0 | dhcp-4-opt-2 = val-2 | dhcp-4-opt-4 = val-4 | dhcp-4-opt-7 = val-7 
 
-GROUP  ADDRESS  GATEWAY  ROUTE                                                           DNS  DOMAIN                                                                                            
-IP6    --       --       dst = 2001:a::dd5b:aa7b:b4a2:e42/102, nh = ::, mt = 2504159086  --   sear6.foo2.bar | sear6.foo1.bar | sear6.fo.x.y | sear6.fo.o.bar | sear6.foo3.bar | sear6.foo4.bar 
+GROUP  ADDRESS  GATEWAY  ROUTE                                                           DNS  DOMAIN                                                                                             SEARCHES 
+IP6    --       --       dst = 2001:a::dd5b:aa7b:b4a2:e42/102, nh = ::, mt = 2504159086  --   sear6.foo2.bar | sear6.foo1.bar | sear6.fo.x.y | sear6.fo.o.bar | sear6.foo3.bar | sear6.foo4.bar  --       
 
 GROUP  OPTION                                                                                                           
 DHCP6  dhcp-6-opt-1 = val-1 | dhcp-6-opt-2 = val-2 | dhcp-6-opt-3 = val-3 | dhcp-6-opt-4 = val-4 | dhcp-6-opt-5 = val-5 
@@ -24126,12 +24210,12 @@ NAME         AVAILABLE-CONNECTION-PATHS                               AVAILABLE-
 CONNECTIONS  /org/freedesktop/NetworkManager/Settings/Connection/{2}  UUID-con-xx1-REPLACED-REPLACED-REPLA | con-xx1 
 
 <<<
-size: 3661
+size: 3701
 location: src/tests/client/test-client.py:test_004()/394
 cmd: $NMCLI --mode tabular --color yes -f all dev show wlan0
 lang: pl_PL.UTF-8
 returncode: 0
-stdout: 3483 bytes
+stdout: 3523 bytes
 >>>
 NAME     DEVICE  TYPE  NM-TYPE       DBUS-PATH                                  VENDOR  PRODUCT  DRIVER   DRIVER-VERSION  FIRMWARE-VERSION  HWADDR             MTU  STATE            REASON                    IP4-CONNECTIVITY  IP6-CONNECTIVITY  UDI                         PATH  IP-IFACE  IS-SOFTWARE  NM-MANAGED  AUTOCONNECT  FIRMWARE-MISSING  NM-PLUGIN-MISSING  PHYS-PORT-ID  CONNECTION  CON-UUID                              CON-PATH                                            METERED  
 GENERAL  wlan0   wifi  NMDeviceWifi  /org/freedesktop/NetworkManager/Devices/3  --      --       virtual  --              --                13:E0:74:85:7C:D9  0    100 (połączono)  0 (Nie podano przyczyny)  0 (nieznane)      0 (nieznane)      /sys/devices/virtual/wlan0  --    wlan0     nie          tak         tak          nie               nie                --            con-vpn-1   UUID-con-vpn-1-REPLACED-REPLACED-REP  /org/freedesktop/NetworkManager/ActiveConnection/2  nieznane 
@@ -24150,14 +24234,14 @@ NAME   IN-USE  BSSID              SSID        MODE            CHAN  RATE     SIG
 AP[2]          61:95:77:AC:1E:4C  wlan0-ap-1  Infrastruktura  1     54 Mb/s  81      ****  WPA1      
 AP[3]          9B:F6:B7:EC:97:76  wlan0-ap-3  Infrastruktura  1     54 Mb/s  55      **    WPA3      
 
-GROUP  ADDRESS                                 GATEWAY         ROUTE  DNS  DOMAIN                                                                            WINS           
-IP4    192.168.228.18/32 | 192.168.209.179/25  192.168.41.120  --     --   sear4.foo2.bar | sear4.fo.x.y | sear4.foo1.bar | sear4.foo4.bar | sear4.fo.o.bar  192.168.120.79 
+GROUP  ADDRESS                                 GATEWAY         ROUTE  DNS  DOMAIN                                                                            SEARCHES  WINS           
+IP4    192.168.228.18/32 | 192.168.209.179/25  192.168.41.120  --     --   sear4.foo2.bar | sear4.fo.x.y | sear4.foo1.bar | sear4.foo4.bar | sear4.fo.o.bar  --        192.168.120.79 
 
 GROUP  OPTION                                                                                    
 DHCP4  dhcp-4-opt-0 = val-0 | dhcp-4-opt-2 = val-2 | dhcp-4-opt-4 = val-4 | dhcp-4-opt-7 = val-7 
 
-GROUP  ADDRESS  GATEWAY  ROUTE                                                           DNS  DOMAIN                                                                                            
-IP6    --       --       dst = 2001:a::dd5b:aa7b:b4a2:e42/102, nh = ::, mt = 2504159086  --   sear6.foo2.bar | sear6.foo1.bar | sear6.fo.x.y | sear6.fo.o.bar | sear6.foo3.bar | sear6.foo4.bar 
+GROUP  ADDRESS  GATEWAY  ROUTE                                                           DNS  DOMAIN                                                                                             SEARCHES 
+IP6    --       --       dst = 2001:a::dd5b:aa7b:b4a2:e42/102, nh = ::, mt = 2504159086  --   sear6.foo2.bar | sear6.foo1.bar | sear6.fo.x.y | sear6.fo.o.bar | sear6.foo3.bar | sear6.foo4.bar  --       
 
 GROUP  OPTION                                                                                                           
 DHCP6  dhcp-6-opt-1 = val-1 | dhcp-6-opt-2 = val-2 | dhcp-6-opt-3 = val-3 | dhcp-6-opt-4 = val-4 | dhcp-6-opt-5 = val-5 
@@ -24450,12 +24534,12 @@ NAME   SSID        SSID-HEX              BSSID              MODE            CHAN
 
 
 <<<
-size: 3600
+size: 3640
 location: src/tests/client/test-client.py:test_004()/413
 cmd: $NMCLI --mode tabular --color yes -f ALL device show wlan0
 lang: C
 returncode: 0
-stdout: 3429 bytes
+stdout: 3469 bytes
 >>>
 NAME     DEVICE  TYPE  NM-TYPE       DBUS-PATH                                  VENDOR  PRODUCT  DRIVER   DRIVER-VERSION  FIRMWARE-VERSION  HWADDR             MTU  STATE            REASON               IP4-CONNECTIVITY  IP6-CONNECTIVITY  UDI                         PATH  IP-IFACE  IS-SOFTWARE  NM-MANAGED  AUTOCONNECT  FIRMWARE-MISSING  NM-PLUGIN-MISSING  PHYS-PORT-ID  CONNECTION  CON-UUID                              CON-PATH                                            METERED 
 GENERAL  wlan0   wifi  NMDeviceWifi  /org/freedesktop/NetworkManager/Devices/3  --      --       virtual  --              --                13:E0:74:85:7C:D9  0    100 (connected)  0 (No reason given)  0 (unknown)       0 (unknown)       /sys/devices/virtual/wlan0  --    wlan0     no           yes         yes          no                no                 --            con-vpn-1   UUID-con-vpn-1-REPLACED-REPLACED-REP  /org/freedesktop/NetworkManager/ActiveConnection/2  unknown 
@@ -24474,14 +24558,14 @@ NAME   IN-USE  BSSID              SSID        MODE   CHAN  RATE       SIGNAL  BA
 AP[2]          61:95:77:AC:1E:4C  wlan0-ap-1  Infra  1     54 Mbit/s  81      ****  WPA1      
 AP[3]          9B:F6:B7:EC:97:76  wlan0-ap-3  Infra  1     54 Mbit/s  55      **    WPA3      
 
-GROUP  ADDRESS                                 GATEWAY         ROUTE  DNS  DOMAIN                                                                            WINS           
-IP4    192.168.228.18/32 | 192.168.209.179/25  192.168.41.120  --     --   sear4.foo2.bar | sear4.fo.x.y | sear4.foo1.bar | sear4.foo4.bar | sear4.fo.o.bar  192.168.120.79 
+GROUP  ADDRESS                                 GATEWAY         ROUTE  DNS  DOMAIN                                                                            SEARCHES  WINS           
+IP4    192.168.228.18/32 | 192.168.209.179/25  192.168.41.120  --     --   sear4.foo2.bar | sear4.fo.x.y | sear4.foo1.bar | sear4.foo4.bar | sear4.fo.o.bar  --        192.168.120.79 
 
 GROUP  OPTION                                                                                    
 DHCP4  dhcp-4-opt-0 = val-0 | dhcp-4-opt-2 = val-2 | dhcp-4-opt-4 = val-4 | dhcp-4-opt-7 = val-7 
 
-GROUP  ADDRESS  GATEWAY  ROUTE                                                           DNS  DOMAIN                                                                                            
-IP6    --       --       dst = 2001:a::dd5b:aa7b:b4a2:e42/102, nh = ::, mt = 2504159086  --   sear6.foo2.bar | sear6.foo1.bar | sear6.fo.x.y | sear6.fo.o.bar | sear6.foo3.bar | sear6.foo4.bar 
+GROUP  ADDRESS  GATEWAY  ROUTE                                                           DNS  DOMAIN                                                                                             SEARCHES 
+IP6    --       --       dst = 2001:a::dd5b:aa7b:b4a2:e42/102, nh = ::, mt = 2504159086  --   sear6.foo2.bar | sear6.foo1.bar | sear6.fo.x.y | sear6.fo.o.bar | sear6.foo3.bar | sear6.foo4.bar  --       
 
 GROUP  OPTION                                                                                                           
 DHCP6  dhcp-6-opt-1 = val-1 | dhcp-6-opt-2 = val-2 | dhcp-6-opt-3 = val-3 | dhcp-6-opt-4 = val-4 | dhcp-6-opt-5 = val-5 
@@ -24490,12 +24574,12 @@ NAME         AVAILABLE-CONNECTION-PATHS                               AVAILABLE-
 CONNECTIONS  /org/freedesktop/NetworkManager/Settings/Connection/{2}  UUID-con-xx1-REPLACED-REPLACED-REPLA | con-xx1 
 
 <<<
-size: 3664
+size: 3704
 location: src/tests/client/test-client.py:test_004()/414
 cmd: $NMCLI --mode tabular --color yes -f ALL device show wlan0
 lang: pl_PL.UTF-8
 returncode: 0
-stdout: 3483 bytes
+stdout: 3523 bytes
 >>>
 NAME     DEVICE  TYPE  NM-TYPE       DBUS-PATH                                  VENDOR  PRODUCT  DRIVER   DRIVER-VERSION  FIRMWARE-VERSION  HWADDR             MTU  STATE            REASON                    IP4-CONNECTIVITY  IP6-CONNECTIVITY  UDI                         PATH  IP-IFACE  IS-SOFTWARE  NM-MANAGED  AUTOCONNECT  FIRMWARE-MISSING  NM-PLUGIN-MISSING  PHYS-PORT-ID  CONNECTION  CON-UUID                              CON-PATH                                            METERED  
 GENERAL  wlan0   wifi  NMDeviceWifi  /org/freedesktop/NetworkManager/Devices/3  --      --       virtual  --              --                13:E0:74:85:7C:D9  0    100 (połączono)  0 (Nie podano przyczyny)  0 (nieznane)      0 (nieznane)      /sys/devices/virtual/wlan0  --    wlan0     nie          tak         tak          nie               nie                --            con-vpn-1   UUID-con-vpn-1-REPLACED-REPLACED-REP  /org/freedesktop/NetworkManager/ActiveConnection/2  nieznane 
@@ -24514,14 +24598,14 @@ NAME   IN-USE  BSSID              SSID        MODE            CHAN  RATE     SIG
 AP[2]          61:95:77:AC:1E:4C  wlan0-ap-1  Infrastruktura  1     54 Mb/s  81      ****  WPA1      
 AP[3]          9B:F6:B7:EC:97:76  wlan0-ap-3  Infrastruktura  1     54 Mb/s  55      **    WPA3      
 
-GROUP  ADDRESS                                 GATEWAY         ROUTE  DNS  DOMAIN                                                                            WINS           
-IP4    192.168.228.18/32 | 192.168.209.179/25  192.168.41.120  --     --   sear4.foo2.bar | sear4.fo.x.y | sear4.foo1.bar | sear4.foo4.bar | sear4.fo.o.bar  192.168.120.79 
+GROUP  ADDRESS                                 GATEWAY         ROUTE  DNS  DOMAIN                                                                            SEARCHES  WINS           
+IP4    192.168.228.18/32 | 192.168.209.179/25  192.168.41.120  --     --   sear4.foo2.bar | sear4.fo.x.y | sear4.foo1.bar | sear4.foo4.bar | sear4.fo.o.bar  --        192.168.120.79 
 
 GROUP  OPTION                                                                                    
 DHCP4  dhcp-4-opt-0 = val-0 | dhcp-4-opt-2 = val-2 | dhcp-4-opt-4 = val-4 | dhcp-4-opt-7 = val-7 
 
-GROUP  ADDRESS  GATEWAY  ROUTE                                                           DNS  DOMAIN                                                                                            
-IP6    --       --       dst = 2001:a::dd5b:aa7b:b4a2:e42/102, nh = ::, mt = 2504159086  --   sear6.foo2.bar | sear6.foo1.bar | sear6.fo.x.y | sear6.fo.o.bar | sear6.foo3.bar | sear6.foo4.bar 
+GROUP  ADDRESS  GATEWAY  ROUTE                                                           DNS  DOMAIN                                                                                             SEARCHES 
+IP6    --       --       dst = 2001:a::dd5b:aa7b:b4a2:e42/102, nh = ::, mt = 2504159086  --   sear6.foo2.bar | sear6.foo1.bar | sear6.fo.x.y | sear6.fo.o.bar | sear6.foo3.bar | sear6.foo4.bar  --       
 
 GROUP  OPTION                                                                                                           
 DHCP6  dhcp-6-opt-1 = val-1 | dhcp-6-opt-2 = val-2 | dhcp-6-opt-3 = val-3 | dhcp-6-opt-4 = val-4 | dhcp-6-opt-5 = val-5 
@@ -24530,12 +24614,12 @@ NAME         AVAILABLE-CONNECTION-PATHS                               AVAILABLE-
 CONNECTIONS  /org/freedesktop/NetworkManager/Settings/Connection/{2}  UUID-con-xx1-REPLACED-REPLACED-REPLA | con-xx1 
 
 <<<
-size: 1151
+size: 1192
 location: src/tests/client/test-client.py:test_004()/415
 cmd: $NMCLI --mode tabular --color yes -f COMMON device show wlan0
 lang: C
 returncode: 0
-stdout: 978 bytes
+stdout: 1018 bytes
 >>>
 DEVICE 
 wlan0  
@@ -24558,19 +24642,19 @@ con-vpn-1
 CON-PATH                                           
 /org/freedesktop/NetworkManager/ActiveConnection/2 
 
-GROUP  ADDRESS                                 GATEWAY         ROUTE  DNS  DOMAIN                                                                            WINS           
-IP4    192.168.228.18/32 | 192.168.209.179/25  192.168.41.120  --     --   sear4.foo2.bar | sear4.fo.x.y | sear4.foo1.bar | sear4.foo4.bar | sear4.fo.o.bar  192.168.120.79 
+GROUP  ADDRESS                                 GATEWAY         ROUTE  DNS  DOMAIN                                                                            SEARCHES  WINS           
+IP4    192.168.228.18/32 | 192.168.209.179/25  192.168.41.120  --     --   sear4.foo2.bar | sear4.fo.x.y | sear4.foo1.bar | sear4.foo4.bar | sear4.fo.o.bar  --        192.168.120.79 
 
-GROUP  ADDRESS  GATEWAY  ROUTE                                                           DNS  DOMAIN                                                                                            
-IP6    --       --       dst = 2001:a::dd5b:aa7b:b4a2:e42/102, nh = ::, mt = 2504159086  --   sear6.foo2.bar | sear6.foo1.bar | sear6.fo.x.y | sear6.fo.o.bar | sear6.foo3.bar | sear6.foo4.bar 
+GROUP  ADDRESS  GATEWAY  ROUTE                                                           DNS  DOMAIN                                                                                             SEARCHES 
+IP6    --       --       dst = 2001:a::dd5b:aa7b:b4a2:e42/102, nh = ::, mt = 2504159086  --   sear6.foo2.bar | sear6.foo1.bar | sear6.fo.x.y | sear6.fo.o.bar | sear6.foo3.bar | sear6.foo4.bar  --       
 
 <<<
-size: 1163
+size: 1204
 location: src/tests/client/test-client.py:test_004()/416
 cmd: $NMCLI --mode tabular --color yes -f COMMON device show wlan0
 lang: pl_PL.UTF-8
 returncode: 0
-stdout: 980 bytes
+stdout: 1020 bytes
 >>>
 DEVICE 
 wlan0  
@@ -24593,19 +24677,19 @@ con-vpn-1
 CON-PATH                                           
 /org/freedesktop/NetworkManager/ActiveConnection/2 
 
-GROUP  ADDRESS                                 GATEWAY         ROUTE  DNS  DOMAIN                                                                            WINS           
-IP4    192.168.228.18/32 | 192.168.209.179/25  192.168.41.120  --     --   sear4.foo2.bar | sear4.fo.x.y | sear4.foo1.bar | sear4.foo4.bar | sear4.fo.o.bar  192.168.120.79 
+GROUP  ADDRESS                                 GATEWAY         ROUTE  DNS  DOMAIN                                                                            SEARCHES  WINS           
+IP4    192.168.228.18/32 | 192.168.209.179/25  192.168.41.120  --     --   sear4.foo2.bar | sear4.fo.x.y | sear4.foo1.bar | sear4.foo4.bar | sear4.fo.o.bar  --        192.168.120.79 
 
-GROUP  ADDRESS  GATEWAY  ROUTE                                                           DNS  DOMAIN                                                                                            
-IP6    --       --       dst = 2001:a::dd5b:aa7b:b4a2:e42/102, nh = ::, mt = 2504159086  --   sear6.foo2.bar | sear6.foo1.bar | sear6.fo.x.y | sear6.fo.o.bar | sear6.foo3.bar | sear6.foo4.bar 
+GROUP  ADDRESS  GATEWAY  ROUTE                                                           DNS  DOMAIN                                                                                             SEARCHES 
+IP6    --       --       dst = 2001:a::dd5b:aa7b:b4a2:e42/102, nh = ::, mt = 2504159086  --   sear6.foo2.bar | sear6.foo1.bar | sear6.fo.x.y | sear6.fo.o.bar | sear6.foo3.bar | sear6.foo4.bar  --       
 
 <<<
-size: 3637
+size: 3677
 location: src/tests/client/test-client.py:test_004()/417
 cmd: $NMCLI --mode tabular --color yes -f GENERAL,CAPABILITIES,WIFI-PROPERTIES,AP,WIRED-PROPERTIES,WIMAX-PROPERTIES,NSP,IP4,DHCP4,IP6,DHCP6,BOND,TEAM,BRIDGE,VLAN,BLUETOOTH,CONNECTIONS device show wlan0
 lang: C
 returncode: 0
-stdout: 3328 bytes
+stdout: 3368 bytes
 >>>
 NAME     DEVICE  TYPE  NM-TYPE       DBUS-PATH                                  VENDOR  PRODUCT  DRIVER   DRIVER-VERSION  FIRMWARE-VERSION  HWADDR             MTU  STATE            REASON               IP4-CONNECTIVITY  IP6-CONNECTIVITY  UDI                         PATH  IP-IFACE  IS-SOFTWARE  NM-MANAGED  AUTOCONNECT  FIRMWARE-MISSING  NM-PLUGIN-MISSING  PHYS-PORT-ID  CONNECTION  CON-UUID                              CON-PATH                                            METERED 
 GENERAL  wlan0   wifi  NMDeviceWifi  /org/freedesktop/NetworkManager/Devices/3  --      --       virtual  --              --                13:E0:74:85:7C:D9  0    100 (connected)  0 (No reason given)  0 (unknown)       0 (unknown)       /sys/devices/virtual/wlan0  --    wlan0     no           yes         yes          no                no                 --            con-vpn-1   UUID-con-vpn-1-REPLACED-REPLACED-REP  /org/freedesktop/NetworkManager/ActiveConnection/2  unknown 
@@ -24621,14 +24705,14 @@ NAME   IN-USE  BSSID              SSID        MODE   CHAN  RATE       SIGNAL  BA
 AP[2]          61:95:77:AC:1E:4C  wlan0-ap-1  Infra  1     54 Mbit/s  81      ****  WPA1      
 AP[3]          9B:F6:B7:EC:97:76  wlan0-ap-3  Infra  1     54 Mbit/s  55      **    WPA3      
 
-GROUP  ADDRESS                                 GATEWAY         ROUTE  DNS  DOMAIN                                                                            WINS           
-IP4    192.168.228.18/32 | 192.168.209.179/25  192.168.41.120  --     --   sear4.foo2.bar | sear4.fo.x.y | sear4.foo1.bar | sear4.foo4.bar | sear4.fo.o.bar  192.168.120.79 
+GROUP  ADDRESS                                 GATEWAY         ROUTE  DNS  DOMAIN                                                                            SEARCHES  WINS           
+IP4    192.168.228.18/32 | 192.168.209.179/25  192.168.41.120  --     --   sear4.foo2.bar | sear4.fo.x.y | sear4.foo1.bar | sear4.foo4.bar | sear4.fo.o.bar  --        192.168.120.79 
 
 GROUP  OPTION                                                                                    
 DHCP4  dhcp-4-opt-0 = val-0 | dhcp-4-opt-2 = val-2 | dhcp-4-opt-4 = val-4 | dhcp-4-opt-7 = val-7 
 
-GROUP  ADDRESS  GATEWAY  ROUTE                                                           DNS  DOMAIN                                                                                            
-IP6    --       --       dst = 2001:a::dd5b:aa7b:b4a2:e42/102, nh = ::, mt = 2504159086  --   sear6.foo2.bar | sear6.foo1.bar | sear6.fo.x.y | sear6.fo.o.bar | sear6.foo3.bar | sear6.foo4.bar 
+GROUP  ADDRESS  GATEWAY  ROUTE                                                           DNS  DOMAIN                                                                                             SEARCHES 
+IP6    --       --       dst = 2001:a::dd5b:aa7b:b4a2:e42/102, nh = ::, mt = 2504159086  --   sear6.foo2.bar | sear6.foo1.bar | sear6.fo.x.y | sear6.fo.o.bar | sear6.foo3.bar | sear6.foo4.bar  --       
 
 GROUP  OPTION                                                                                                           
 DHCP6  dhcp-6-opt-1 = val-1 | dhcp-6-opt-2 = val-2 | dhcp-6-opt-3 = val-3 | dhcp-6-opt-4 = val-4 | dhcp-6-opt-5 = val-5 
@@ -24637,12 +24721,12 @@ NAME         AVAILABLE-CONNECTION-PATHS                               AVAILABLE-
 CONNECTIONS  /org/freedesktop/NetworkManager/Settings/Connection/{2}  UUID-con-xx1-REPLACED-REPLACED-REPLA | con-xx1 
 
 <<<
-size: 3701
+size: 3741
 location: src/tests/client/test-client.py:test_004()/418
 cmd: $NMCLI --mode tabular --color yes -f GENERAL,CAPABILITIES,WIFI-PROPERTIES,AP,WIRED-PROPERTIES,WIMAX-PROPERTIES,NSP,IP4,DHCP4,IP6,DHCP6,BOND,TEAM,BRIDGE,VLAN,BLUETOOTH,CONNECTIONS device show wlan0
 lang: pl_PL.UTF-8
 returncode: 0
-stdout: 3382 bytes
+stdout: 3422 bytes
 >>>
 NAME     DEVICE  TYPE  NM-TYPE       DBUS-PATH                                  VENDOR  PRODUCT  DRIVER   DRIVER-VERSION  FIRMWARE-VERSION  HWADDR             MTU  STATE            REASON                    IP4-CONNECTIVITY  IP6-CONNECTIVITY  UDI                         PATH  IP-IFACE  IS-SOFTWARE  NM-MANAGED  AUTOCONNECT  FIRMWARE-MISSING  NM-PLUGIN-MISSING  PHYS-PORT-ID  CONNECTION  CON-UUID                              CON-PATH                                            METERED  
 GENERAL  wlan0   wifi  NMDeviceWifi  /org/freedesktop/NetworkManager/Devices/3  --      --       virtual  --              --                13:E0:74:85:7C:D9  0    100 (połączono)  0 (Nie podano przyczyny)  0 (nieznane)      0 (nieznane)      /sys/devices/virtual/wlan0  --    wlan0     nie          tak         tak          nie               nie                --            con-vpn-1   UUID-con-vpn-1-REPLACED-REPLACED-REP  /org/freedesktop/NetworkManager/ActiveConnection/2  nieznane 
@@ -24658,14 +24742,14 @@ NAME   IN-USE  BSSID              SSID        MODE            CHAN  RATE     SIG
 AP[2]          61:95:77:AC:1E:4C  wlan0-ap-1  Infrastruktura  1     54 Mb/s  81      ****  WPA1      
 AP[3]          9B:F6:B7:EC:97:76  wlan0-ap-3  Infrastruktura  1     54 Mb/s  55      **    WPA3      
 
-GROUP  ADDRESS                                 GATEWAY         ROUTE  DNS  DOMAIN                                                                            WINS           
-IP4    192.168.228.18/32 | 192.168.209.179/25  192.168.41.120  --     --   sear4.foo2.bar | sear4.fo.x.y | sear4.foo1.bar | sear4.foo4.bar | sear4.fo.o.bar  192.168.120.79 
+GROUP  ADDRESS                                 GATEWAY         ROUTE  DNS  DOMAIN                                                                            SEARCHES  WINS           
+IP4    192.168.228.18/32 | 192.168.209.179/25  192.168.41.120  --     --   sear4.foo2.bar | sear4.fo.x.y | sear4.foo1.bar | sear4.foo4.bar | sear4.fo.o.bar  --        192.168.120.79 
 
 GROUP  OPTION                                                                                    
 DHCP4  dhcp-4-opt-0 = val-0 | dhcp-4-opt-2 = val-2 | dhcp-4-opt-4 = val-4 | dhcp-4-opt-7 = val-7 
 
-GROUP  ADDRESS  GATEWAY  ROUTE                                                           DNS  DOMAIN                                                                                            
-IP6    --       --       dst = 2001:a::dd5b:aa7b:b4a2:e42/102, nh = ::, mt = 2504159086  --   sear6.foo2.bar | sear6.foo1.bar | sear6.fo.x.y | sear6.fo.o.bar | sear6.foo3.bar | sear6.foo4.bar 
+GROUP  ADDRESS  GATEWAY  ROUTE                                                           DNS  DOMAIN                                                                                             SEARCHES 
+IP6    --       --       dst = 2001:a::dd5b:aa7b:b4a2:e42/102, nh = ::, mt = 2504159086  --   sear6.foo2.bar | sear6.foo1.bar | sear6.fo.x.y | sear6.fo.o.bar | sear6.foo3.bar | sear6.foo4.bar  --       
 
 GROUP  OPTION                                                                                                           
 DHCP6  dhcp-6-opt-1 = val-1 | dhcp-6-opt-2 = val-2 | dhcp-6-opt-3 = val-3 | dhcp-6-opt-4 = val-4 | dhcp-6-opt-5 = val-5 
@@ -24798,12 +24882,12 @@ interface-name
 
 
 <<<
-size: 5349
+size: 5457
 location: src/tests/client/test-client.py:test_004()/423
 cmd: $NMCLI --mode tabular --pretty con s con-vpn-1
 lang: C
 returncode: 0
-stdout: 5190 bytes
+stdout: 5298 bytes
 >>>
 ==========================================
   Connection profile details (con-vpn-1)
@@ -24812,13 +24896,13 @@ name        id         uuid                                  stable-id  type  in
 --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 connection  con-vpn-1  UUID-con-vpn-1-REPLACED-REPLACED-REP  --         vpn   --              yes          0                     -1 (default)         0 (default)    -1            0          no         --           --    --      --          -1 (default)        --           0                     unknown  default  -1 (default)  -1 (default)  -1                  
 
-name  method  dns  dns-search  dns-options  dns-priority  addresses  gateway  routes  route-metric  route-table  routing-rules  ignore-auto-routes  ignore-auto-dns  dhcp-client-id  dhcp-iaid  dhcp-timeout  dhcp-send-hostname  dhcp-hostname  dhcp-fqdn  dhcp-hostname-flags  never-default  may-fail  dad-timeout   dhcp-vendor-class-identifier  dhcp-reject-servers 
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-ipv4  auto    --   --          --           0             --         --       --      -1            0 (unspec)   --             no                  no               --              --         0 (default)   yes                 --             --         0x0 (none)           no             yes       -1 (default)  --                            --                  
+name  method  dns  dns-search  dns-options  dns-priority  addresses  gateway  routes  route-metric  route-table  routing-rules  ignore-auto-routes  ignore-auto-dns  dhcp-client-id  dhcp-iaid  dhcp-timeout  dhcp-send-hostname  dhcp-hostname  dhcp-fqdn  dhcp-hostname-flags  never-default  may-fail  required-timeout  dad-timeout   dhcp-vendor-class-identifier  dhcp-reject-servers 
+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+ipv4  auto    --   --          --           0             --         --       --      -1            0 (unspec)   --             no                  no               --              --         0 (default)   yes                 --             --         0x0 (none)           no             yes       -1 (default)      -1 (default)  --                            --                  
 
-name  method  dns  dns-search  dns-options  dns-priority  addresses  gateway  routes  route-metric  route-table  routing-rules  ignore-auto-routes  ignore-auto-dns  never-default  may-fail  ip6-privacy   addr-gen-mode   ra-timeout   dhcp-duid  dhcp-iaid  dhcp-timeout  dhcp-send-hostname  dhcp-hostname  dhcp-hostname-flags  token 
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-ipv6  auto    --   --          --           0             --         --       --      -1            0 (unspec)   --             no                  no               no             yes       -1 (unknown)  stable-privacy  0 (default)  --         --         0 (default)   yes                 --             0x0 (none)           --    
+name  method  dns  dns-search  dns-options  dns-priority  addresses  gateway  routes  route-metric  route-table  routing-rules  ignore-auto-routes  ignore-auto-dns  never-default  may-fail  required-timeout  ip6-privacy   addr-gen-mode   ra-timeout   dhcp-duid  dhcp-iaid  dhcp-timeout  dhcp-send-hostname  dhcp-hostname  dhcp-hostname-flags  token 
+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+ipv6  auto    --   --          --           0             --         --       --      -1            0 (unspec)   --             no                  no               no             yes       -1 (default)      -1 (unknown)  stable-privacy  0 (default)  --         --         0 (default)   yes                 --             0x0 (none)           --    
 
 name  service-type                            user-name  data                                   secrets   persistent  timeout 
 -------------------------------------------------------------------------------------------------------------------------------
@@ -24840,12 +24924,12 @@ NAME  TYPE     USERNAME  GATEWAY  BANNER                            VPN-STATE
 VPN   openvpn  --        --       *** VPN connection con-vpn-1 ***  5 - VPN connected  key1 = val1 | key2 = val2 | key3 = val3 
 
 <<<
-size: 5405
+size: 5513
 location: src/tests/client/test-client.py:test_004()/424
 cmd: $NMCLI --mode tabular --pretty con s con-vpn-1
 lang: pl_PL.UTF-8
 returncode: 0
-stdout: 5236 bytes
+stdout: 5344 bytes
 >>>
 ============================================
   Szczegóły profilu połączenia (con-vpn-1)
@@ -24854,13 +24938,13 @@ name        id         uuid                                  stable-id  type  in
 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 connection  con-vpn-1  UUID-con-vpn-1-REPLACED-REPLACED-REP  --         vpn   --              tak          0                     -1 (default)         0 (default)    -1            0          nie        --           --    --      --          -1 (default)        --           0                     nieznane  default  -1 (default)  -1 (default)  -1                  
 
-name  method  dns  dns-search  dns-options  dns-priority  addresses  gateway  routes  route-metric  route-table  routing-rules  ignore-auto-routes  ignore-auto-dns  dhcp-client-id  dhcp-iaid  dhcp-timeout  dhcp-send-hostname  dhcp-hostname  dhcp-fqdn  dhcp-hostname-flags  never-default  may-fail  dad-timeout   dhcp-vendor-class-identifier  dhcp-reject-servers 
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-ipv4  auto    --   --          --           0             --         --       --      -1            0 (unspec)   --             nie                 nie              --              --         0 (default)   tak                 --             --         0x0 (none)           nie            tak       -1 (default)  --                            --                  
+name  method  dns  dns-search  dns-options  dns-priority  addresses  gateway  routes  route-metric  route-table  routing-rules  ignore-auto-routes  ignore-auto-dns  dhcp-client-id  dhcp-iaid  dhcp-timeout  dhcp-send-hostname  dhcp-hostname  dhcp-fqdn  dhcp-hostname-flags  never-default  may-fail  required-timeout  dad-timeout   dhcp-vendor-class-identifier  dhcp-reject-servers 
+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+ipv4  auto    --   --          --           0             --         --       --      -1            0 (unspec)   --             nie                 nie              --              --         0 (default)   tak                 --             --         0x0 (none)           nie            tak       -1 (default)      -1 (default)  --                            --                  
 
-name  method  dns  dns-search  dns-options  dns-priority  addresses  gateway  routes  route-metric  route-table  routing-rules  ignore-auto-routes  ignore-auto-dns  never-default  may-fail  ip6-privacy   addr-gen-mode   ra-timeout   dhcp-duid  dhcp-iaid  dhcp-timeout  dhcp-send-hostname  dhcp-hostname  dhcp-hostname-flags  token 
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-ipv6  auto    --   --          --           0             --         --       --      -1            0 (unspec)   --             nie                 nie              nie            tak       -1 (unknown)  stable-privacy  0 (default)  --         --         0 (default)   tak                 --             0x0 (none)           --    
+name  method  dns  dns-search  dns-options  dns-priority  addresses  gateway  routes  route-metric  route-table  routing-rules  ignore-auto-routes  ignore-auto-dns  never-default  may-fail  required-timeout  ip6-privacy   addr-gen-mode   ra-timeout   dhcp-duid  dhcp-iaid  dhcp-timeout  dhcp-send-hostname  dhcp-hostname  dhcp-hostname-flags  token 
+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+ipv6  auto    --   --          --           0             --         --       --      -1            0 (unspec)   --             nie                 nie              nie            tak       -1 (default)      -1 (unknown)  stable-privacy  0 (default)  --         --         0 (default)   tak                 --             0x0 (none)           --    
 
 name  service-type                            user-name  data                                   secrets   persistent  timeout 
 -------------------------------------------------------------------------------------------------------------------------------
@@ -24882,12 +24966,12 @@ NAME  TYPE     USERNAME  GATEWAY  BANNER                            VPN-STATE
 VPN   openvpn  --        --       *** VPN connection con-vpn-1 ***  5 — Połączono z VPN  key1 = val1 | key2 = val2 | key3 = val3 
 
 <<<
-size: 5349
+size: 5457
 location: src/tests/client/test-client.py:test_004()/425
 cmd: $NMCLI --mode tabular --pretty con s con-vpn-1
 lang: C
 returncode: 0
-stdout: 5190 bytes
+stdout: 5298 bytes
 >>>
 ==========================================
   Connection profile details (con-vpn-1)
@@ -24896,13 +24980,13 @@ name        id         uuid                                  stable-id  type  in
 --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 connection  con-vpn-1  UUID-con-vpn-1-REPLACED-REPLACED-REP  --         vpn   --              yes          0                     -1 (default)         0 (default)    -1            0          no         --           --    --      --          -1 (default)        --           0                     unknown  default  -1 (default)  -1 (default)  -1                  
 
-name  method  dns  dns-search  dns-options  dns-priority  addresses  gateway  routes  route-metric  route-table  routing-rules  ignore-auto-routes  ignore-auto-dns  dhcp-client-id  dhcp-iaid  dhcp-timeout  dhcp-send-hostname  dhcp-hostname  dhcp-fqdn  dhcp-hostname-flags  never-default  may-fail  dad-timeout   dhcp-vendor-class-identifier  dhcp-reject-servers 
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-ipv4  auto    --   --          --           0             --         --       --      -1            0 (unspec)   --             no                  no               --              --         0 (default)   yes                 --             --         0x0 (none)           no             yes       -1 (default)  --                            --                  
+name  method  dns  dns-search  dns-options  dns-priority  addresses  gateway  routes  route-metric  route-table  routing-rules  ignore-auto-routes  ignore-auto-dns  dhcp-client-id  dhcp-iaid  dhcp-timeout  dhcp-send-hostname  dhcp-hostname  dhcp-fqdn  dhcp-hostname-flags  never-default  may-fail  required-timeout  dad-timeout   dhcp-vendor-class-identifier  dhcp-reject-servers 
+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+ipv4  auto    --   --          --           0             --         --       --      -1            0 (unspec)   --             no                  no               --              --         0 (default)   yes                 --             --         0x0 (none)           no             yes       -1 (default)      -1 (default)  --                            --                  
 
-name  method  dns  dns-search  dns-options  dns-priority  addresses  gateway  routes  route-metric  route-table  routing-rules  ignore-auto-routes  ignore-auto-dns  never-default  may-fail  ip6-privacy   addr-gen-mode   ra-timeout   dhcp-duid  dhcp-iaid  dhcp-timeout  dhcp-send-hostname  dhcp-hostname  dhcp-hostname-flags  token 
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-ipv6  auto    --   --          --           0             --         --       --      -1            0 (unspec)   --             no                  no               no             yes       -1 (unknown)  stable-privacy  0 (default)  --         --         0 (default)   yes                 --             0x0 (none)           --    
+name  method  dns  dns-search  dns-options  dns-priority  addresses  gateway  routes  route-metric  route-table  routing-rules  ignore-auto-routes  ignore-auto-dns  never-default  may-fail  required-timeout  ip6-privacy   addr-gen-mode   ra-timeout   dhcp-duid  dhcp-iaid  dhcp-timeout  dhcp-send-hostname  dhcp-hostname  dhcp-hostname-flags  token 
+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+ipv6  auto    --   --          --           0             --         --       --      -1            0 (unspec)   --             no                  no               no             yes       -1 (default)      -1 (unknown)  stable-privacy  0 (default)  --         --         0 (default)   yes                 --             0x0 (none)           --    
 
 name  service-type                            user-name  data                                   secrets   persistent  timeout 
 -------------------------------------------------------------------------------------------------------------------------------
@@ -24924,12 +25008,12 @@ NAME  TYPE     USERNAME  GATEWAY  BANNER                            VPN-STATE
 VPN   openvpn  --        --       *** VPN connection con-vpn-1 ***  5 - VPN connected  key1 = val1 | key2 = val2 | key3 = val3 
 
 <<<
-size: 5405
+size: 5513
 location: src/tests/client/test-client.py:test_004()/426
 cmd: $NMCLI --mode tabular --pretty con s con-vpn-1
 lang: pl_PL.UTF-8
 returncode: 0
-stdout: 5236 bytes
+stdout: 5344 bytes
 >>>
 ============================================
   Szczegóły profilu połączenia (con-vpn-1)
@@ -24938,13 +25022,13 @@ name        id         uuid                                  stable-id  type  in
 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 connection  con-vpn-1  UUID-con-vpn-1-REPLACED-REPLACED-REP  --         vpn   --              tak          0                     -1 (default)         0 (default)    -1            0          nie        --           --    --      --          -1 (default)        --           0                     nieznane  default  -1 (default)  -1 (default)  -1                  
 
-name  method  dns  dns-search  dns-options  dns-priority  addresses  gateway  routes  route-metric  route-table  routing-rules  ignore-auto-routes  ignore-auto-dns  dhcp-client-id  dhcp-iaid  dhcp-timeout  dhcp-send-hostname  dhcp-hostname  dhcp-fqdn  dhcp-hostname-flags  never-default  may-fail  dad-timeout   dhcp-vendor-class-identifier  dhcp-reject-servers 
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-ipv4  auto    --   --          --           0             --         --       --      -1            0 (unspec)   --             nie                 nie              --              --         0 (default)   tak                 --             --         0x0 (none)           nie            tak       -1 (default)  --                            --                  
+name  method  dns  dns-search  dns-options  dns-priority  addresses  gateway  routes  route-metric  route-table  routing-rules  ignore-auto-routes  ignore-auto-dns  dhcp-client-id  dhcp-iaid  dhcp-timeout  dhcp-send-hostname  dhcp-hostname  dhcp-fqdn  dhcp-hostname-flags  never-default  may-fail  required-timeout  dad-timeout   dhcp-vendor-class-identifier  dhcp-reject-servers 
+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+ipv4  auto    --   --          --           0             --         --       --      -1            0 (unspec)   --             nie                 nie              --              --         0 (default)   tak                 --             --         0x0 (none)           nie            tak       -1 (default)      -1 (default)  --                            --                  
 
-name  method  dns  dns-search  dns-options  dns-priority  addresses  gateway  routes  route-metric  route-table  routing-rules  ignore-auto-routes  ignore-auto-dns  never-default  may-fail  ip6-privacy   addr-gen-mode   ra-timeout   dhcp-duid  dhcp-iaid  dhcp-timeout  dhcp-send-hostname  dhcp-hostname  dhcp-hostname-flags  token 
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-ipv6  auto    --   --          --           0             --         --       --      -1            0 (unspec)   --             nie                 nie              nie            tak       -1 (unknown)  stable-privacy  0 (default)  --         --         0 (default)   tak                 --             0x0 (none)           --    
+name  method  dns  dns-search  dns-options  dns-priority  addresses  gateway  routes  route-metric  route-table  routing-rules  ignore-auto-routes  ignore-auto-dns  never-default  may-fail  required-timeout  ip6-privacy   addr-gen-mode   ra-timeout   dhcp-duid  dhcp-iaid  dhcp-timeout  dhcp-send-hostname  dhcp-hostname  dhcp-hostname-flags  token 
+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+ipv6  auto    --   --          --           0             --         --       --      -1            0 (unspec)   --             nie                 nie              nie            tak       -1 (default)      -1 (unknown)  stable-privacy  0 (default)  --         --         0 (default)   tak                 --             0x0 (none)           --    
 
 name  service-type                            user-name  data                                   secrets   persistent  timeout 
 -------------------------------------------------------------------------------------------------------------------------------
@@ -24966,12 +25050,12 @@ NAME  TYPE     USERNAME  GATEWAY  BANNER                            VPN-STATE
 VPN   openvpn  --        --       *** VPN connection con-vpn-1 ***  5 — Połączono z VPN  key1 = val1 | key2 = val2 | key3 = val3 
 
 <<<
-size: 4005
+size: 4113
 location: src/tests/client/test-client.py:test_004()/427
 cmd: $NMCLI --mode tabular --pretty -f ALL con s con-vpn-1
 lang: C
 returncode: 0
-stdout: 3839 bytes
+stdout: 3947 bytes
 >>>
 ==========================================
   Connection profile details (con-vpn-1)
@@ -24980,13 +25064,13 @@ name        id         uuid                                  stable-id  type  in
 --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 connection  con-vpn-1  UUID-con-vpn-1-REPLACED-REPLACED-REP  --         vpn   --              yes          0                     -1 (default)         0 (default)    -1            0          no         --           --    --      --          -1 (default)        --           0                     unknown  default  -1 (default)  -1 (default)  -1                  
 
-name  method  dns  dns-search  dns-options  dns-priority  addresses  gateway  routes  route-metric  route-table  routing-rules  ignore-auto-routes  ignore-auto-dns  dhcp-client-id  dhcp-iaid  dhcp-timeout  dhcp-send-hostname  dhcp-hostname  dhcp-fqdn  dhcp-hostname-flags  never-default  may-fail  dad-timeout   dhcp-vendor-class-identifier  dhcp-reject-servers 
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-ipv4  auto    --   --          --           0             --         --       --      -1            0 (unspec)   --             no                  no               --              --         0 (default)   yes                 --             --         0x0 (none)           no             yes       -1 (default)  --                            --                  
+name  method  dns  dns-search  dns-options  dns-priority  addresses  gateway  routes  route-metric  route-table  routing-rules  ignore-auto-routes  ignore-auto-dns  dhcp-client-id  dhcp-iaid  dhcp-timeout  dhcp-send-hostname  dhcp-hostname  dhcp-fqdn  dhcp-hostname-flags  never-default  may-fail  required-timeout  dad-timeout   dhcp-vendor-class-identifier  dhcp-reject-servers 
+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+ipv4  auto    --   --          --           0             --         --       --      -1            0 (unspec)   --             no                  no               --              --         0 (default)   yes                 --             --         0x0 (none)           no             yes       -1 (default)      -1 (default)  --                            --                  
 
-name  method  dns  dns-search  dns-options  dns-priority  addresses  gateway  routes  route-metric  route-table  routing-rules  ignore-auto-routes  ignore-auto-dns  never-default  may-fail  ip6-privacy   addr-gen-mode   ra-timeout   dhcp-duid  dhcp-iaid  dhcp-timeout  dhcp-send-hostname  dhcp-hostname  dhcp-hostname-flags  token 
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-ipv6  auto    --   --          --           0             --         --       --      -1            0 (unspec)   --             no                  no               no             yes       -1 (unknown)  stable-privacy  0 (default)  --         --         0 (default)   yes                 --             0x0 (none)           --    
+name  method  dns  dns-search  dns-options  dns-priority  addresses  gateway  routes  route-metric  route-table  routing-rules  ignore-auto-routes  ignore-auto-dns  never-default  may-fail  required-timeout  ip6-privacy   addr-gen-mode   ra-timeout   dhcp-duid  dhcp-iaid  dhcp-timeout  dhcp-send-hostname  dhcp-hostname  dhcp-hostname-flags  token 
+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+ipv6  auto    --   --          --           0             --         --       --      -1            0 (unspec)   --             no                  no               no             yes       -1 (default)      -1 (unknown)  stable-privacy  0 (default)  --         --         0 (default)   yes                 --             0x0 (none)           --    
 
 name  service-type                            user-name  data                                   secrets   persistent  timeout 
 -------------------------------------------------------------------------------------------------------------------------------
@@ -24998,12 +25082,12 @@ proxy  none    no            --       --
 
 
 <<<
-size: 4028
+size: 4136
 location: src/tests/client/test-client.py:test_004()/428
 cmd: $NMCLI --mode tabular --pretty -f ALL con s con-vpn-1
 lang: pl_PL.UTF-8
 returncode: 0
-stdout: 3852 bytes
+stdout: 3960 bytes
 >>>
 ============================================
   Szczegóły profilu połączenia (con-vpn-1)
@@ -25012,13 +25096,13 @@ name        id         uuid                                  stable-id  type  in
 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 connection  con-vpn-1  UUID-con-vpn-1-REPLACED-REPLACED-REP  --         vpn   --              tak          0                     -1 (default)         0 (default)    -1            0          nie        --           --    --      --          -1 (default)        --           0                     nieznane  default  -1 (default)  -1 (default)  -1                  
 
-name  method  dns  dns-search  dns-options  dns-priority  addresses  gateway  routes  route-metric  route-table  routing-rules  ignore-auto-routes  ignore-auto-dns  dhcp-client-id  dhcp-iaid  dhcp-timeout  dhcp-send-hostname  dhcp-hostname  dhcp-fqdn  dhcp-hostname-flags  never-default  may-fail  dad-timeout   dhcp-vendor-class-identifier  dhcp-reject-servers 
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-ipv4  auto    --   --          --           0             --         --       --      -1            0 (unspec)   --             nie                 nie              --              --         0 (default)   tak                 --             --         0x0 (none)           nie            tak       -1 (default)  --                            --                  
+name  method  dns  dns-search  dns-options  dns-priority  addresses  gateway  routes  route-metric  route-table  routing-rules  ignore-auto-routes  ignore-auto-dns  dhcp-client-id  dhcp-iaid  dhcp-timeout  dhcp-send-hostname  dhcp-hostname  dhcp-fqdn  dhcp-hostname-flags  never-default  may-fail  required-timeout  dad-timeout   dhcp-vendor-class-identifier  dhcp-reject-servers 
+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+ipv4  auto    --   --          --           0             --         --       --      -1            0 (unspec)   --             nie                 nie              --              --         0 (default)   tak                 --             --         0x0 (none)           nie            tak       -1 (default)      -1 (default)  --                            --                  
 
-name  method  dns  dns-search  dns-options  dns-priority  addresses  gateway  routes  route-metric  route-table  routing-rules  ignore-auto-routes  ignore-auto-dns  never-default  may-fail  ip6-privacy   addr-gen-mode   ra-timeout   dhcp-duid  dhcp-iaid  dhcp-timeout  dhcp-send-hostname  dhcp-hostname  dhcp-hostname-flags  token 
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-ipv6  auto    --   --          --           0             --         --       --      -1            0 (unspec)   --             nie                 nie              nie            tak       -1 (unknown)  stable-privacy  0 (default)  --         --         0 (default)   tak                 --             0x0 (none)           --    
+name  method  dns  dns-search  dns-options  dns-priority  addresses  gateway  routes  route-metric  route-table  routing-rules  ignore-auto-routes  ignore-auto-dns  never-default  may-fail  required-timeout  ip6-privacy   addr-gen-mode   ra-timeout   dhcp-duid  dhcp-iaid  dhcp-timeout  dhcp-send-hostname  dhcp-hostname  dhcp-hostname-flags  token 
+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+ipv6  auto    --   --          --           0             --         --       --      -1            0 (unspec)   --             nie                 nie              nie            tak       -1 (default)      -1 (unknown)  stable-privacy  0 (default)  --         --         0 (default)   tak                 --             0x0 (none)           --    
 
 name  service-type                            user-name  data                                   secrets   persistent  timeout 
 -------------------------------------------------------------------------------------------------------------------------------
@@ -25166,12 +25250,12 @@ wlan1   wifi      niedostępne  nieznane          nieznane          /org/freedes
 wlan1   wifi      niedostępne  nieznane          nieznane          /org/freedesktop/NetworkManager/Devices/5  --          --                                    --                                                 
 
 <<<
-size: 9886
+size: 10187
 location: src/tests/client/test-client.py:test_004()/437
 cmd: $NMCLI --mode tabular --pretty dev show
 lang: C
 returncode: 0
-stdout: 9734 bytes
+stdout: 10034 bytes
 >>>
 ==========================
   Device details (wlan0)
@@ -25204,13 +25288,13 @@ CON-PATH
 ----------------------------------------------------
 /org/freedesktop/NetworkManager/ActiveConnection/2 
 
-GROUP  ADDRESS                                 GATEWAY         ROUTE  DNS  DOMAIN                                                                            WINS           
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-IP4    192.168.228.18/32 | 192.168.209.179/25  192.168.41.120  --     --   sear4.foo2.bar | sear4.fo.x.y | sear4.foo1.bar | sear4.foo4.bar | sear4.fo.o.bar  192.168.120.79 
+GROUP  ADDRESS                                 GATEWAY         ROUTE  DNS  DOMAIN                                                                            SEARCHES  WINS           
+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+IP4    192.168.228.18/32 | 192.168.209.179/25  192.168.41.120  --     --   sear4.foo2.bar | sear4.fo.x.y | sear4.foo1.bar | sear4.foo4.bar | sear4.fo.o.bar  --        192.168.120.79 
 
-GROUP  ADDRESS  GATEWAY  ROUTE                                                           DNS  DOMAIN                                                                                            
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-IP6    --       --       dst = 2001:a::dd5b:aa7b:b4a2:e42/102, nh = ::, mt = 2504159086  --   sear6.foo2.bar | sear6.foo1.bar | sear6.fo.x.y | sear6.fo.o.bar | sear6.foo3.bar | sear6.foo4.bar 
+GROUP  ADDRESS  GATEWAY  ROUTE                                                           DNS  DOMAIN                                                                                             SEARCHES 
+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+IP6    --       --       dst = 2001:a::dd5b:aa7b:b4a2:e42/102, nh = ::, mt = 2504159086  --   sear6.foo2.bar | sear6.foo1.bar | sear6.fo.x.y | sear6.fo.o.bar | sear6.foo3.bar | sear6.foo4.bar  --       
 
 =========================
   Device details (eth0)
@@ -25247,13 +25331,13 @@ NAME              CARRIER  S390-SUBCHANNELS
 ---------------------------------------------
 WIRED-PROPERTIES  on       --               
 
-GROUP  ADDRESS                               GATEWAY  ROUTE  DNS                                               DOMAIN                           WINS                             
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-IP4    192.168.49.34/22 | 192.168.135.86/19  --       --     192.168.45.230 | 192.168.180.201 | 192.168.253.2  sear4.foo2.bar | sear4.foo1.bar  192.168.163.23 | 192.168.151.246 
+GROUP  ADDRESS                               GATEWAY  ROUTE  DNS                                               DOMAIN                           SEARCHES  WINS                             
+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+IP4    192.168.49.34/22 | 192.168.135.86/19  --       --     192.168.45.230 | 192.168.180.201 | 192.168.253.2  sear4.foo2.bar | sear4.foo1.bar  --        192.168.163.23 | 192.168.151.246 
 
-GROUP  ADDRESS                        GATEWAY  ROUTE  DNS                                                                                    DOMAIN                          
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-IP6    2001:a::ed81:3d7:c2e9:df82/99  --       --     2001:a::2703:f06:9619:d89f | 2001:a::3a75:3682:c683:8541 | 2001:a::584e:912:d5ee:c74f  sear6.foo4.bar | sear6.fo.o.bar 
+GROUP  ADDRESS                        GATEWAY  ROUTE  DNS                                                                                    DOMAIN                           SEARCHES 
+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+IP6    2001:a::ed81:3d7:c2e9:df82/99  --       --     2001:a::2703:f06:9619:d89f | 2001:a::3a75:3682:c683:8541 | 2001:a::584e:912:d5ee:c74f  sear6.foo4.bar | sear6.fo.o.bar  --       
 
 =========================
   Device details (eth1)
@@ -25290,13 +25374,13 @@ NAME              CARRIER  S390-SUBCHANNELS
 ---------------------------------------------
 WIRED-PROPERTIES  on       --               
 
-GROUP  ADDRESS             GATEWAY       ROUTE                                                                                                                                                                                         DNS                                               DOMAIN                                            WINS                                             
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-IP4    192.168.127.210/25  192.168.88.4  dst = 192.168.222.35/19, nh = 192.168.170.142, mt = 3609264321 | dst = 192.168.135.81/32, nh = 192.168.32.11, mt = 1316413247 | dst = 192.168.24.65/26, nh = 192.168.23.163, mt = 3855574583  192.168.16.144 | 192.168.79.53 | 192.168.237.155  sear4.foo4.bar | sear4.foo3.bar | sear4.foo1.bar  192.168.211.91 | 192.168.58.182 | 192.168.114.97 
+GROUP  ADDRESS             GATEWAY       ROUTE                                                                                                                                                                                         DNS                                               DOMAIN                                            SEARCHES  WINS                                             
+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+IP4    192.168.127.210/25  192.168.88.4  dst = 192.168.222.35/19, nh = 192.168.170.142, mt = 3609264321 | dst = 192.168.135.81/32, nh = 192.168.32.11, mt = 1316413247 | dst = 192.168.24.65/26, nh = 192.168.23.163, mt = 3855574583  192.168.16.144 | 192.168.79.53 | 192.168.237.155  sear4.foo4.bar | sear4.foo3.bar | sear4.foo1.bar  --        192.168.211.91 | 192.168.58.182 | 192.168.114.97 
 
-GROUP  ADDRESS                                                          GATEWAY  ROUTE                                           DNS                                                                                     DOMAIN         
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-IP6    2001:a::1c1:c178:169f:2b80/93 | 2001:a::1f79:e0fb:87b9:3cc6/123  --       dst = 2001:a::3166:7ed1:e4ae:7612/123, nh = ::  2001:a::edda:955:dcf4:23d4 | 2001:a::109f:aa0f:fb4a:9d5a | 2001:a::61cf:7c82:e9c0:c952  sear6.foo1.bar 
+GROUP  ADDRESS                                                          GATEWAY  ROUTE                                           DNS                                                                                     DOMAIN          SEARCHES 
+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+IP6    2001:a::1c1:c178:169f:2b80/93 | 2001:a::1f79:e0fb:87b9:3cc6/123  --       dst = 2001:a::3166:7ed1:e4ae:7612/123, nh = ::  2001:a::edda:955:dcf4:23d4 | 2001:a::109f:aa0f:fb4a:9d5a | 2001:a::61cf:7c82:e9c0:c952  sear6.foo1.bar  --       
 
 ==========================
   Device details (wlan1)
@@ -25329,13 +25413,13 @@ CON-PATH
 ----------
 --       
 
-GROUP  ADDRESS  GATEWAY         ROUTE                                                                                                                                                  DNS            DOMAIN                                                                                             WINS 
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-IP4    --       192.168.57.160  dst = 192.168.36.106/21, nh = 192.168.199.128, mt = 979274165 | dst = 192.168.238.130/19, nh = 0.0.0.0 | dst = 192.168.224.39/32, nh = 192.168.148.69  192.168.61.83  sear4.foo4.bar | sear4.fo.x.y | sear4.foo2.bar | sear4.foo1.bar | sear4.fo.o.bar | sear4.foo3.bar  --   
+GROUP  ADDRESS  GATEWAY         ROUTE                                                                                                                                                  DNS            DOMAIN                                                                                             SEARCHES  WINS 
+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+IP4    --       192.168.57.160  dst = 192.168.36.106/21, nh = 192.168.199.128, mt = 979274165 | dst = 192.168.238.130/19, nh = 0.0.0.0 | dst = 192.168.224.39/32, nh = 192.168.148.69  192.168.61.83  sear4.foo4.bar | sear4.fo.x.y | sear4.foo2.bar | sear4.foo1.bar | sear4.fo.o.bar | sear4.foo3.bar  --        --   
 
-GROUP  ADDRESS                                                                                           GATEWAY                      ROUTE                                                                                                                                                    DNS                                                       DOMAIN                          
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-IP6    2001:a::fa05:2ab4:9300:e8fe/116 | 2001:a::e9cf:bd3:caba:99b3/86 | 2001:a::2be6:44fa:2c95:5559/78  2001:a::4d70:d91a:770f:2319  dst = 2001:a::3cb2:719d:bb00:b22f/66, nh = 2001:a::81b1:58b9:7237:3511, mt = 2280277732 | dst = 2001:a::986f:983c:5eb:1c7d/99, nh = ::, mt = 1204008676  2001:a::85e7:3d7d:53e8:50ac | 2001:a::1c5:9cb5:e86d:25a5  sear6.foo4.bar | sear6.foo2.bar 
+GROUP  ADDRESS                                                                                           GATEWAY                      ROUTE                                                                                                                                                    DNS                                                       DOMAIN                           SEARCHES 
+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+IP6    2001:a::fa05:2ab4:9300:e8fe/116 | 2001:a::e9cf:bd3:caba:99b3/86 | 2001:a::2be6:44fa:2c95:5559/78  2001:a::4d70:d91a:770f:2319  dst = 2001:a::3cb2:719d:bb00:b22f/66, nh = 2001:a::81b1:58b9:7237:3511, mt = 2280277732 | dst = 2001:a::986f:983c:5eb:1c7d/99, nh = ::, mt = 1204008676  2001:a::85e7:3d7d:53e8:50ac | 2001:a::1c5:9cb5:e86d:25a5  sear6.foo4.bar | sear6.foo2.bar  --       
 
 ==========================
   Device details (wlan1)
@@ -25368,21 +25452,21 @@ CON-PATH
 ----------
 --       
 
-GROUP  ADDRESS                                GATEWAY  ROUTE                                                           DNS              DOMAIN                                                                            WINS                          
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-IP4    192.168.97.124/29 | 192.168.76.154/18  --       dst = 192.168.33.233/22, nh = 192.168.222.210, mt = 2810496551  192.168.107.109  sear4.fo.o.bar | sear4.fo.x.y | sear4.foo2.bar | sear4.foo3.bar | sear4.foo4.bar  192.168.60.60 | 192.168.63.92 
+GROUP  ADDRESS                                GATEWAY  ROUTE                                                           DNS              DOMAIN                                                                            SEARCHES  WINS                          
+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+IP4    192.168.97.124/29 | 192.168.76.154/18  --       dst = 192.168.33.233/22, nh = 192.168.222.210, mt = 2810496551  192.168.107.109  sear4.fo.o.bar | sear4.fo.x.y | sear4.foo2.bar | sear4.foo3.bar | sear4.foo4.bar  --        192.168.60.60 | 192.168.63.92 
 
-GROUP  ADDRESS                        GATEWAY  ROUTE                                                                                                                                                                                                      DNS                          DOMAIN       
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-IP6    2001:a::88ca:3654:96b:ab44/89  --       dst = 2001:a::cc8b:7c09:4673:bbb0/85, nh = ::, mt = 2821465568 | dst = 2001:a::a976:2488:f49f:b48/106, nh = 2001:a::62ae:c734:fc7b:e931, mt = 2248613879 | dst = 2001:a::afb7:4449:3787:8bb4/123, nh = ::  2001:a::2934:bd66:550d:ec19  sear6.fo.x.y 
+GROUP  ADDRESS                        GATEWAY  ROUTE                                                                                                                                                                                                      DNS                          DOMAIN        SEARCHES 
+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+IP6    2001:a::88ca:3654:96b:ab44/89  --       dst = 2001:a::cc8b:7c09:4673:bbb0/85, nh = ::, mt = 2821465568 | dst = 2001:a::a976:2488:f49f:b48/106, nh = 2001:a::62ae:c734:fc7b:e931, mt = 2248613879 | dst = 2001:a::afb7:4449:3787:8bb4/123, nh = ::  2001:a::2934:bd66:550d:ec19  sear6.fo.x.y  --       
 
 <<<
-size: 10057
+size: 10358
 location: src/tests/client/test-client.py:test_004()/438
 cmd: $NMCLI --mode tabular --pretty dev show
 lang: pl_PL.UTF-8
 returncode: 0
-stdout: 9895 bytes
+stdout: 10195 bytes
 >>>
 ===================================
   Informacje o urządzeniu (wlan0)
@@ -25415,13 +25499,13 @@ CON-PATH
 ----------------------------------------------------
 /org/freedesktop/NetworkManager/ActiveConnection/2 
 
-GROUP  ADDRESS                                 GATEWAY         ROUTE  DNS  DOMAIN                                                                            WINS           
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-IP4    192.168.228.18/32 | 192.168.209.179/25  192.168.41.120  --     --   sear4.foo2.bar | sear4.fo.x.y | sear4.foo1.bar | sear4.foo4.bar | sear4.fo.o.bar  192.168.120.79 
+GROUP  ADDRESS                                 GATEWAY         ROUTE  DNS  DOMAIN                                                                            SEARCHES  WINS           
+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+IP4    192.168.228.18/32 | 192.168.209.179/25  192.168.41.120  --     --   sear4.foo2.bar | sear4.fo.x.y | sear4.foo1.bar | sear4.foo4.bar | sear4.fo.o.bar  --        192.168.120.79 
 
-GROUP  ADDRESS  GATEWAY  ROUTE                                                           DNS  DOMAIN                                                                                            
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-IP6    --       --       dst = 2001:a::dd5b:aa7b:b4a2:e42/102, nh = ::, mt = 2504159086  --   sear6.foo2.bar | sear6.foo1.bar | sear6.fo.x.y | sear6.fo.o.bar | sear6.foo3.bar | sear6.foo4.bar 
+GROUP  ADDRESS  GATEWAY  ROUTE                                                           DNS  DOMAIN                                                                                             SEARCHES 
+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+IP6    --       --       dst = 2001:a::dd5b:aa7b:b4a2:e42/102, nh = ::, mt = 2504159086  --   sear6.foo2.bar | sear6.foo1.bar | sear6.fo.x.y | sear6.fo.o.bar | sear6.foo3.bar | sear6.foo4.bar  --       
 
 ==================================
   Informacje o urządzeniu (eth0)
@@ -25458,13 +25542,13 @@ NAME              CARRIER   S390-SUBCHANNELS
 ----------------------------------------------
 WIRED-PROPERTIES  włączone  --               
 
-GROUP  ADDRESS                               GATEWAY  ROUTE  DNS                                               DOMAIN                           WINS                             
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-IP4    192.168.49.34/22 | 192.168.135.86/19  --       --     192.168.45.230 | 192.168.180.201 | 192.168.253.2  sear4.foo2.bar | sear4.foo1.bar  192.168.163.23 | 192.168.151.246 
+GROUP  ADDRESS                               GATEWAY  ROUTE  DNS                                               DOMAIN                           SEARCHES  WINS                             
+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+IP4    192.168.49.34/22 | 192.168.135.86/19  --       --     192.168.45.230 | 192.168.180.201 | 192.168.253.2  sear4.foo2.bar | sear4.foo1.bar  --        192.168.163.23 | 192.168.151.246 
 
-GROUP  ADDRESS                        GATEWAY  ROUTE  DNS                                                                                    DOMAIN                          
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-IP6    2001:a::ed81:3d7:c2e9:df82/99  --       --     2001:a::2703:f06:9619:d89f | 2001:a::3a75:3682:c683:8541 | 2001:a::584e:912:d5ee:c74f  sear6.foo4.bar | sear6.fo.o.bar 
+GROUP  ADDRESS                        GATEWAY  ROUTE  DNS                                                                                    DOMAIN                           SEARCHES 
+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+IP6    2001:a::ed81:3d7:c2e9:df82/99  --       --     2001:a::2703:f06:9619:d89f | 2001:a::3a75:3682:c683:8541 | 2001:a::584e:912:d5ee:c74f  sear6.foo4.bar | sear6.fo.o.bar  --       
 
 ==================================
   Informacje o urządzeniu (eth1)
@@ -25501,13 +25585,13 @@ NAME              CARRIER   S390-SUBCHANNELS
 ----------------------------------------------
 WIRED-PROPERTIES  włączone  --               
 
-GROUP  ADDRESS             GATEWAY       ROUTE                                                                                                                                                                                         DNS                                               DOMAIN                                            WINS                                             
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-IP4    192.168.127.210/25  192.168.88.4  dst = 192.168.222.35/19, nh = 192.168.170.142, mt = 3609264321 | dst = 192.168.135.81/32, nh = 192.168.32.11, mt = 1316413247 | dst = 192.168.24.65/26, nh = 192.168.23.163, mt = 3855574583  192.168.16.144 | 192.168.79.53 | 192.168.237.155  sear4.foo4.bar | sear4.foo3.bar | sear4.foo1.bar  192.168.211.91 | 192.168.58.182 | 192.168.114.97 
+GROUP  ADDRESS             GATEWAY       ROUTE                                                                                                                                                                                         DNS                                               DOMAIN                                            SEARCHES  WINS                                             
+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+IP4    192.168.127.210/25  192.168.88.4  dst = 192.168.222.35/19, nh = 192.168.170.142, mt = 3609264321 | dst = 192.168.135.81/32, nh = 192.168.32.11, mt = 1316413247 | dst = 192.168.24.65/26, nh = 192.168.23.163, mt = 3855574583  192.168.16.144 | 192.168.79.53 | 192.168.237.155  sear4.foo4.bar | sear4.foo3.bar | sear4.foo1.bar  --        192.168.211.91 | 192.168.58.182 | 192.168.114.97 
 
-GROUP  ADDRESS                                                          GATEWAY  ROUTE                                           DNS                                                                                     DOMAIN         
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-IP6    2001:a::1c1:c178:169f:2b80/93 | 2001:a::1f79:e0fb:87b9:3cc6/123  --       dst = 2001:a::3166:7ed1:e4ae:7612/123, nh = ::  2001:a::edda:955:dcf4:23d4 | 2001:a::109f:aa0f:fb4a:9d5a | 2001:a::61cf:7c82:e9c0:c952  sear6.foo1.bar 
+GROUP  ADDRESS                                                          GATEWAY  ROUTE                                           DNS                                                                                     DOMAIN          SEARCHES 
+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+IP6    2001:a::1c1:c178:169f:2b80/93 | 2001:a::1f79:e0fb:87b9:3cc6/123  --       dst = 2001:a::3166:7ed1:e4ae:7612/123, nh = ::  2001:a::edda:955:dcf4:23d4 | 2001:a::109f:aa0f:fb4a:9d5a | 2001:a::61cf:7c82:e9c0:c952  sear6.foo1.bar  --       
 
 ===================================
   Informacje o urządzeniu (wlan1)
@@ -25540,13 +25624,13 @@ CON-PATH
 ----------
 --       
 
-GROUP  ADDRESS  GATEWAY         ROUTE                                                                                                                                                  DNS            DOMAIN                                                                                             WINS 
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-IP4    --       192.168.57.160  dst = 192.168.36.106/21, nh = 192.168.199.128, mt = 979274165 | dst = 192.168.238.130/19, nh = 0.0.0.0 | dst = 192.168.224.39/32, nh = 192.168.148.69  192.168.61.83  sear4.foo4.bar | sear4.fo.x.y | sear4.foo2.bar | sear4.foo1.bar | sear4.fo.o.bar | sear4.foo3.bar  --   
+GROUP  ADDRESS  GATEWAY         ROUTE                                                                                                                                                  DNS            DOMAIN                                                                                             SEARCHES  WINS 
+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+IP4    --       192.168.57.160  dst = 192.168.36.106/21, nh = 192.168.199.128, mt = 979274165 | dst = 192.168.238.130/19, nh = 0.0.0.0 | dst = 192.168.224.39/32, nh = 192.168.148.69  192.168.61.83  sear4.foo4.bar | sear4.fo.x.y | sear4.foo2.bar | sear4.foo1.bar | sear4.fo.o.bar | sear4.foo3.bar  --        --   
 
-GROUP  ADDRESS                                                                                           GATEWAY                      ROUTE                                                                                                                                                    DNS                                                       DOMAIN                          
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-IP6    2001:a::fa05:2ab4:9300:e8fe/116 | 2001:a::e9cf:bd3:caba:99b3/86 | 2001:a::2be6:44fa:2c95:5559/78  2001:a::4d70:d91a:770f:2319  dst = 2001:a::3cb2:719d:bb00:b22f/66, nh = 2001:a::81b1:58b9:7237:3511, mt = 2280277732 | dst = 2001:a::986f:983c:5eb:1c7d/99, nh = ::, mt = 1204008676  2001:a::85e7:3d7d:53e8:50ac | 2001:a::1c5:9cb5:e86d:25a5  sear6.foo4.bar | sear6.foo2.bar 
+GROUP  ADDRESS                                                                                           GATEWAY                      ROUTE                                                                                                                                                    DNS                                                       DOMAIN                           SEARCHES 
+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+IP6    2001:a::fa05:2ab4:9300:e8fe/116 | 2001:a::e9cf:bd3:caba:99b3/86 | 2001:a::2be6:44fa:2c95:5559/78  2001:a::4d70:d91a:770f:2319  dst = 2001:a::3cb2:719d:bb00:b22f/66, nh = 2001:a::81b1:58b9:7237:3511, mt = 2280277732 | dst = 2001:a::986f:983c:5eb:1c7d/99, nh = ::, mt = 1204008676  2001:a::85e7:3d7d:53e8:50ac | 2001:a::1c5:9cb5:e86d:25a5  sear6.foo4.bar | sear6.foo2.bar  --       
 
 ===================================
   Informacje o urządzeniu (wlan1)
@@ -25579,21 +25663,21 @@ CON-PATH
 ----------
 --       
 
-GROUP  ADDRESS                                GATEWAY  ROUTE                                                           DNS              DOMAIN                                                                            WINS                          
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-IP4    192.168.97.124/29 | 192.168.76.154/18  --       dst = 192.168.33.233/22, nh = 192.168.222.210, mt = 2810496551  192.168.107.109  sear4.fo.o.bar | sear4.fo.x.y | sear4.foo2.bar | sear4.foo3.bar | sear4.foo4.bar  192.168.60.60 | 192.168.63.92 
+GROUP  ADDRESS                                GATEWAY  ROUTE                                                           DNS              DOMAIN                                                                            SEARCHES  WINS                          
+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+IP4    192.168.97.124/29 | 192.168.76.154/18  --       dst = 192.168.33.233/22, nh = 192.168.222.210, mt = 2810496551  192.168.107.109  sear4.fo.o.bar | sear4.fo.x.y | sear4.foo2.bar | sear4.foo3.bar | sear4.foo4.bar  --        192.168.60.60 | 192.168.63.92 
 
-GROUP  ADDRESS                        GATEWAY  ROUTE                                                                                                                                                                                                      DNS                          DOMAIN       
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-IP6    2001:a::88ca:3654:96b:ab44/89  --       dst = 2001:a::cc8b:7c09:4673:bbb0/85, nh = ::, mt = 2821465568 | dst = 2001:a::a976:2488:f49f:b48/106, nh = 2001:a::62ae:c734:fc7b:e931, mt = 2248613879 | dst = 2001:a::afb7:4449:3787:8bb4/123, nh = ::  2001:a::2934:bd66:550d:ec19  sear6.fo.x.y 
+GROUP  ADDRESS                        GATEWAY  ROUTE                                                                                                                                                                                                      DNS                          DOMAIN        SEARCHES 
+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+IP6    2001:a::88ca:3654:96b:ab44/89  --       dst = 2001:a::cc8b:7c09:4673:bbb0/85, nh = ::, mt = 2821465568 | dst = 2001:a::a976:2488:f49f:b48/106, nh = 2001:a::62ae:c734:fc7b:e931, mt = 2248613879 | dst = 2001:a::afb7:4449:3787:8bb4/123, nh = ::  2001:a::2934:bd66:550d:ec19  sear6.fo.x.y  --       
 
 <<<
-size: 24390
+size: 24690
 location: src/tests/client/test-client.py:test_004()/439
 cmd: $NMCLI --mode tabular --pretty -f all dev show
 lang: C
 returncode: 0
-stdout: 24230 bytes
+stdout: 24530 bytes
 >>>
 ==========================
   Device details (wlan0)
@@ -25620,17 +25704,17 @@ AP[1]          C0:E2:BE:E8:EF:B6  wlan0-ap-2  Infra  1     54 Mbit/s  92      **
 AP[2]          61:95:77:AC:1E:4C  wlan0-ap-1  Infra  1     54 Mbit/s  81      ****  WPA1      
 AP[3]          9B:F6:B7:EC:97:76  wlan0-ap-3  Infra  1     54 Mbit/s  55      **    WPA3      
 
-GROUP  ADDRESS                                 GATEWAY         ROUTE  DNS  DOMAIN                                                                            WINS           
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-IP4    192.168.228.18/32 | 192.168.209.179/25  192.168.41.120  --     --   sear4.foo2.bar | sear4.fo.x.y | sear4.foo1.bar | sear4.foo4.bar | sear4.fo.o.bar  192.168.120.79 
+GROUP  ADDRESS                                 GATEWAY         ROUTE  DNS  DOMAIN                                                                            SEARCHES  WINS           
+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+IP4    192.168.228.18/32 | 192.168.209.179/25  192.168.41.120  --     --   sear4.foo2.bar | sear4.fo.x.y | sear4.foo1.bar | sear4.foo4.bar | sear4.fo.o.bar  --        192.168.120.79 
 
 GROUP  OPTION                                                                                    
 --------------------------------------------------------------------------------------------------
 DHCP4  dhcp-4-opt-0 = val-0 | dhcp-4-opt-2 = val-2 | dhcp-4-opt-4 = val-4 | dhcp-4-opt-7 = val-7 
 
-GROUP  ADDRESS  GATEWAY  ROUTE                                                           DNS  DOMAIN                                                                                            
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-IP6    --       --       dst = 2001:a::dd5b:aa7b:b4a2:e42/102, nh = ::, mt = 2504159086  --   sear6.foo2.bar | sear6.foo1.bar | sear6.fo.x.y | sear6.fo.o.bar | sear6.foo3.bar | sear6.foo4.bar 
+GROUP  ADDRESS  GATEWAY  ROUTE                                                           DNS  DOMAIN                                                                                             SEARCHES 
+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+IP6    --       --       dst = 2001:a::dd5b:aa7b:b4a2:e42/102, nh = ::, mt = 2504159086  --   sear6.foo2.bar | sear6.foo1.bar | sear6.fo.x.y | sear6.fo.o.bar | sear6.foo3.bar | sear6.foo4.bar  --       
 
 GROUP  OPTION                                                                                                           
 -------------------------------------------------------------------------------------------------------------------------
@@ -25659,17 +25743,17 @@ NAME              CARRIER  S390-SUBCHANNELS
 ---------------------------------------------
 WIRED-PROPERTIES  on       --               
 
-GROUP  ADDRESS                               GATEWAY  ROUTE  DNS                                               DOMAIN                           WINS                             
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-IP4    192.168.49.34/22 | 192.168.135.86/19  --       --     192.168.45.230 | 192.168.180.201 | 192.168.253.2  sear4.foo2.bar | sear4.foo1.bar  192.168.163.23 | 192.168.151.246 
+GROUP  ADDRESS                               GATEWAY  ROUTE  DNS                                               DOMAIN                           SEARCHES  WINS                             
+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+IP4    192.168.49.34/22 | 192.168.135.86/19  --       --     192.168.45.230 | 192.168.180.201 | 192.168.253.2  sear4.foo2.bar | sear4.foo1.bar  --        192.168.163.23 | 192.168.151.246 
 
 GROUP  OPTION                                      
 ----------------------------------------------------
 DHCP4  dhcp-4-opt-8 = val-8 | dhcp-4-opt-9 = val-9 
 
-GROUP  ADDRESS                        GATEWAY  ROUTE  DNS                                                                                    DOMAIN                          
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-IP6    2001:a::ed81:3d7:c2e9:df82/99  --       --     2001:a::2703:f06:9619:d89f | 2001:a::3a75:3682:c683:8541 | 2001:a::584e:912:d5ee:c74f  sear6.foo4.bar | sear6.fo.o.bar 
+GROUP  ADDRESS                        GATEWAY  ROUTE  DNS                                                                                    DOMAIN                           SEARCHES 
+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+IP6    2001:a::ed81:3d7:c2e9:df82/99  --       --     2001:a::2703:f06:9619:d89f | 2001:a::3a75:3682:c683:8541 | 2001:a::584e:912:d5ee:c74f  sear6.foo4.bar | sear6.fo.o.bar  --       
 
 GROUP  OPTION                                                                                                                                                                                                                              
 --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
@@ -25698,17 +25782,17 @@ NAME              CARRIER  S390-SUBCHANNELS
 ---------------------------------------------
 WIRED-PROPERTIES  on       --               
 
-GROUP  ADDRESS             GATEWAY       ROUTE                                                                                                                                                                                         DNS                                               DOMAIN                                            WINS                                             
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-IP4    192.168.127.210/25  192.168.88.4  dst = 192.168.222.35/19, nh = 192.168.170.142, mt = 3609264321 | dst = 192.168.135.81/32, nh = 192.168.32.11, mt = 1316413247 | dst = 192.168.24.65/26, nh = 192.168.23.163, mt = 3855574583  192.168.16.144 | 192.168.79.53 | 192.168.237.155  sear4.foo4.bar | sear4.foo3.bar | sear4.foo1.bar  192.168.211.91 | 192.168.58.182 | 192.168.114.97 
+GROUP  ADDRESS             GATEWAY       ROUTE                                                                                                                                                                                         DNS                                               DOMAIN                                            SEARCHES  WINS                                             
+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+IP4    192.168.127.210/25  192.168.88.4  dst = 192.168.222.35/19, nh = 192.168.170.142, mt = 3609264321 | dst = 192.168.135.81/32, nh = 192.168.32.11, mt = 1316413247 | dst = 192.168.24.65/26, nh = 192.168.23.163, mt = 3855574583  192.168.16.144 | 192.168.79.53 | 192.168.237.155  sear4.foo4.bar | sear4.foo3.bar | sear4.foo1.bar  --        192.168.211.91 | 192.168.58.182 | 192.168.114.97 
 
 GROUP  OPTION                                                                                                                                                                                                       
 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 DHCP4  dhcp-4-opt-0 = val-0 | dhcp-4-opt-1 = val-1 | dhcp-4-opt-2 = val-2 | dhcp-4-opt-3 = val-3 | dhcp-4-opt-4 = val-4 | dhcp-4-opt-5 = val-5 | dhcp-4-opt-7 = val-7 | dhcp-4-opt-8 = val-8 | dhcp-4-opt-9 = val-9 
 
-GROUP  ADDRESS                                                          GATEWAY  ROUTE                                           DNS                                                                                     DOMAIN         
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-IP6    2001:a::1c1:c178:169f:2b80/93 | 2001:a::1f79:e0fb:87b9:3cc6/123  --       dst = 2001:a::3166:7ed1:e4ae:7612/123, nh = ::  2001:a::edda:955:dcf4:23d4 | 2001:a::109f:aa0f:fb4a:9d5a | 2001:a::61cf:7c82:e9c0:c952  sear6.foo1.bar 
+GROUP  ADDRESS                                                          GATEWAY  ROUTE                                           DNS                                                                                     DOMAIN          SEARCHES 
+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+IP6    2001:a::1c1:c178:169f:2b80/93 | 2001:a::1f79:e0fb:87b9:3cc6/123  --       dst = 2001:a::3166:7ed1:e4ae:7612/123, nh = ::  2001:a::edda:955:dcf4:23d4 | 2001:a::109f:aa0f:fb4a:9d5a | 2001:a::61cf:7c82:e9c0:c952  sear6.foo1.bar  --       
 
 GROUP  OPTION                                                                                                           
 -------------------------------------------------------------------------------------------------------------------------
@@ -25741,17 +25825,17 @@ NAME   IN-USE  BSSID              SSID        MODE   CHAN  RATE       SIGNAL  BA
 -----------------------------------------------------------------------------------------------
 AP[1]          94:2B:E8:F6:D2:86  wlan1-ap-4  Infra  1     54 Mbit/s  48      **    WPA1 WPA2 
 
-GROUP  ADDRESS  GATEWAY         ROUTE                                                                                                                                                  DNS            DOMAIN                                                                                             WINS 
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-IP4    --       192.168.57.160  dst = 192.168.36.106/21, nh = 192.168.199.128, mt = 979274165 | dst = 192.168.238.130/19, nh = 0.0.0.0 | dst = 192.168.224.39/32, nh = 192.168.148.69  192.168.61.83  sear4.foo4.bar | sear4.fo.x.y | sear4.foo2.bar | sear4.foo1.bar | sear4.fo.o.bar | sear4.foo3.bar  --   
+GROUP  ADDRESS  GATEWAY         ROUTE                                                                                                                                                  DNS            DOMAIN                                                                                             SEARCHES  WINS 
+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+IP4    --       192.168.57.160  dst = 192.168.36.106/21, nh = 192.168.199.128, mt = 979274165 | dst = 192.168.238.130/19, nh = 0.0.0.0 | dst = 192.168.224.39/32, nh = 192.168.148.69  192.168.61.83  sear4.foo4.bar | sear4.fo.x.y | sear4.foo2.bar | sear4.foo1.bar | sear4.fo.o.bar | sear4.foo3.bar  --        --   
 
 GROUP  OPTION                                                                                                                                                                                
 ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 DHCP4  dhcp-4-opt-0 = val-0 | dhcp-4-opt-1 = val-1 | dhcp-4-opt-2 = val-2 | dhcp-4-opt-4 = val-4 | dhcp-4-opt-6 = val-6 | dhcp-4-opt-7 = val-7 | dhcp-4-opt-8 = val-8 | dhcp-4-opt-9 = val-9 
 
-GROUP  ADDRESS                                                                                           GATEWAY                      ROUTE                                                                                                                                                    DNS                                                       DOMAIN                          
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-IP6    2001:a::fa05:2ab4:9300:e8fe/116 | 2001:a::e9cf:bd3:caba:99b3/86 | 2001:a::2be6:44fa:2c95:5559/78  2001:a::4d70:d91a:770f:2319  dst = 2001:a::3cb2:719d:bb00:b22f/66, nh = 2001:a::81b1:58b9:7237:3511, mt = 2280277732 | dst = 2001:a::986f:983c:5eb:1c7d/99, nh = ::, mt = 1204008676  2001:a::85e7:3d7d:53e8:50ac | 2001:a::1c5:9cb5:e86d:25a5  sear6.foo4.bar | sear6.foo2.bar 
+GROUP  ADDRESS                                                                                           GATEWAY                      ROUTE                                                                                                                                                    DNS                                                       DOMAIN                           SEARCHES 
+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+IP6    2001:a::fa05:2ab4:9300:e8fe/116 | 2001:a::e9cf:bd3:caba:99b3/86 | 2001:a::2be6:44fa:2c95:5559/78  2001:a::4d70:d91a:770f:2319  dst = 2001:a::3cb2:719d:bb00:b22f/66, nh = 2001:a::81b1:58b9:7237:3511, mt = 2280277732 | dst = 2001:a::986f:983c:5eb:1c7d/99, nh = ::, mt = 1204008676  2001:a::85e7:3d7d:53e8:50ac | 2001:a::1c5:9cb5:e86d:25a5  sear6.foo4.bar | sear6.foo2.bar  --       
 
 GROUP  OPTION                                                                                                                                                                                                       
 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
@@ -25783,17 +25867,17 @@ WIFI-PROPERTIES  yes  yes  yes   yes   yes   yes  yes    unknown  unknown  no
 NAME  IN-USE  BSSID  SSID  MODE  CHAN  RATE  SIGNAL  BARS  SECURITY 
 ---------------------------------------------------------------------
 
-GROUP  ADDRESS                                GATEWAY  ROUTE                                                           DNS              DOMAIN                                                                            WINS                          
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-IP4    192.168.97.124/29 | 192.168.76.154/18  --       dst = 192.168.33.233/22, nh = 192.168.222.210, mt = 2810496551  192.168.107.109  sear4.fo.o.bar | sear4.fo.x.y | sear4.foo2.bar | sear4.foo3.bar | sear4.foo4.bar  192.168.60.60 | 192.168.63.92 
+GROUP  ADDRESS                                GATEWAY  ROUTE                                                           DNS              DOMAIN                                                                            SEARCHES  WINS                          
+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+IP4    192.168.97.124/29 | 192.168.76.154/18  --       dst = 192.168.33.233/22, nh = 192.168.222.210, mt = 2810496551  192.168.107.109  sear4.fo.o.bar | sear4.fo.x.y | sear4.foo2.bar | sear4.foo3.bar | sear4.foo4.bar  --        192.168.60.60 | 192.168.63.92 
 
 GROUP  OPTION                                      
 ----------------------------------------------------
 DHCP4  dhcp-4-opt-0 = val-0 | dhcp-4-opt-5 = val-5 
 
-GROUP  ADDRESS                        GATEWAY  ROUTE                                                                                                                                                                                                      DNS                          DOMAIN       
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-IP6    2001:a::88ca:3654:96b:ab44/89  --       dst = 2001:a::cc8b:7c09:4673:bbb0/85, nh = ::, mt = 2821465568 | dst = 2001:a::a976:2488:f49f:b48/106, nh = 2001:a::62ae:c734:fc7b:e931, mt = 2248613879 | dst = 2001:a::afb7:4449:3787:8bb4/123, nh = ::  2001:a::2934:bd66:550d:ec19  sear6.fo.x.y 
+GROUP  ADDRESS                        GATEWAY  ROUTE                                                                                                                                                                                                      DNS                          DOMAIN        SEARCHES 
+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+IP6    2001:a::88ca:3654:96b:ab44/89  --       dst = 2001:a::cc8b:7c09:4673:bbb0/85, nh = ::, mt = 2821465568 | dst = 2001:a::a976:2488:f49f:b48/106, nh = 2001:a::62ae:c734:fc7b:e931, mt = 2248613879 | dst = 2001:a::afb7:4449:3787:8bb4/123, nh = ::  2001:a::2934:bd66:550d:ec19  sear6.fo.x.y  --       
 
 GROUP  OPTION                                                                                                           
 -------------------------------------------------------------------------------------------------------------------------
@@ -25804,12 +25888,12 @@ NAME         AVAILABLE-CONNECTION-PATHS                               AVAILABLE-
 CONNECTIONS  /org/freedesktop/NetworkManager/Settings/Connection/{2}  UUID-con-xx1-REPLACED-REPLACED-REPLA | con-xx1 
 
 <<<
-size: 24745
+size: 25045
 location: src/tests/client/test-client.py:test_004()/440
 cmd: $NMCLI --mode tabular --pretty -f all dev show
 lang: pl_PL.UTF-8
 returncode: 0
-stdout: 24575 bytes
+stdout: 24875 bytes
 >>>
 ===================================
   Informacje o urządzeniu (wlan0)
@@ -25836,17 +25920,17 @@ AP[1]          C0:E2:BE:E8:EF:B6  wlan0-ap-2  Infrastruktura  1     54 Mb/s  9
 AP[2]          61:95:77:AC:1E:4C  wlan0-ap-1  Infrastruktura  1     54 Mb/s  81      ****  WPA1      
 AP[3]          9B:F6:B7:EC:97:76  wlan0-ap-3  Infrastruktura  1     54 Mb/s  55      **    WPA3      
 
-GROUP  ADDRESS                                 GATEWAY         ROUTE  DNS  DOMAIN                                                                            WINS           
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-IP4    192.168.228.18/32 | 192.168.209.179/25  192.168.41.120  --     --   sear4.foo2.bar | sear4.fo.x.y | sear4.foo1.bar | sear4.foo4.bar | sear4.fo.o.bar  192.168.120.79 
+GROUP  ADDRESS                                 GATEWAY         ROUTE  DNS  DOMAIN                                                                            SEARCHES  WINS           
+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+IP4    192.168.228.18/32 | 192.168.209.179/25  192.168.41.120  --     --   sear4.foo2.bar | sear4.fo.x.y | sear4.foo1.bar | sear4.foo4.bar | sear4.fo.o.bar  --        192.168.120.79 
 
 GROUP  OPTION                                                                                    
 --------------------------------------------------------------------------------------------------
 DHCP4  dhcp-4-opt-0 = val-0 | dhcp-4-opt-2 = val-2 | dhcp-4-opt-4 = val-4 | dhcp-4-opt-7 = val-7 
 
-GROUP  ADDRESS  GATEWAY  ROUTE                                                           DNS  DOMAIN                                                                                            
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-IP6    --       --       dst = 2001:a::dd5b:aa7b:b4a2:e42/102, nh = ::, mt = 2504159086  --   sear6.foo2.bar | sear6.foo1.bar | sear6.fo.x.y | sear6.fo.o.bar | sear6.foo3.bar | sear6.foo4.bar 
+GROUP  ADDRESS  GATEWAY  ROUTE                                                           DNS  DOMAIN                                                                                             SEARCHES 
+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+IP6    --       --       dst = 2001:a::dd5b:aa7b:b4a2:e42/102, nh = ::, mt = 2504159086  --   sear6.foo2.bar | sear6.foo1.bar | sear6.fo.x.y | sear6.fo.o.bar | sear6.foo3.bar | sear6.foo4.bar  --       
 
 GROUP  OPTION                                                                                                           
 -------------------------------------------------------------------------------------------------------------------------
@@ -25875,17 +25959,17 @@ NAME              CARRIER   S390-SUBCHANNELS
 ----------------------------------------------
 WIRED-PROPERTIES  włączone  --               
 
-GROUP  ADDRESS                               GATEWAY  ROUTE  DNS                                               DOMAIN                           WINS                             
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-IP4    192.168.49.34/22 | 192.168.135.86/19  --       --     192.168.45.230 | 192.168.180.201 | 192.168.253.2  sear4.foo2.bar | sear4.foo1.bar  192.168.163.23 | 192.168.151.246 
+GROUP  ADDRESS                               GATEWAY  ROUTE  DNS                                               DOMAIN                           SEARCHES  WINS                             
+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+IP4    192.168.49.34/22 | 192.168.135.86/19  --       --     192.168.45.230 | 192.168.180.201 | 192.168.253.2  sear4.foo2.bar | sear4.foo1.bar  --        192.168.163.23 | 192.168.151.246 
 
 GROUP  OPTION                                      
 ----------------------------------------------------
 DHCP4  dhcp-4-opt-8 = val-8 | dhcp-4-opt-9 = val-9 
 
-GROUP  ADDRESS                        GATEWAY  ROUTE  DNS                                                                                    DOMAIN                          
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-IP6    2001:a::ed81:3d7:c2e9:df82/99  --       --     2001:a::2703:f06:9619:d89f | 2001:a::3a75:3682:c683:8541 | 2001:a::584e:912:d5ee:c74f  sear6.foo4.bar | sear6.fo.o.bar 
+GROUP  ADDRESS                        GATEWAY  ROUTE  DNS                                                                                    DOMAIN                           SEARCHES 
+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+IP6    2001:a::ed81:3d7:c2e9:df82/99  --       --     2001:a::2703:f06:9619:d89f | 2001:a::3a75:3682:c683:8541 | 2001:a::584e:912:d5ee:c74f  sear6.foo4.bar | sear6.fo.o.bar  --       
 
 GROUP  OPTION                                                                                                                                                                                                                              
 --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
@@ -25914,17 +25998,17 @@ NAME              CARRIER   S390-SUBCHANNELS
 ----------------------------------------------
 WIRED-PROPERTIES  włączone  --               
 
-GROUP  ADDRESS             GATEWAY       ROUTE                                                                                                                                                                                         DNS                                               DOMAIN                                            WINS                                             
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-IP4    192.168.127.210/25  192.168.88.4  dst = 192.168.222.35/19, nh = 192.168.170.142, mt = 3609264321 | dst = 192.168.135.81/32, nh = 192.168.32.11, mt = 1316413247 | dst = 192.168.24.65/26, nh = 192.168.23.163, mt = 3855574583  192.168.16.144 | 192.168.79.53 | 192.168.237.155  sear4.foo4.bar | sear4.foo3.bar | sear4.foo1.bar  192.168.211.91 | 192.168.58.182 | 192.168.114.97 
+GROUP  ADDRESS             GATEWAY       ROUTE                                                                                                                                                                                         DNS                                               DOMAIN                                            SEARCHES  WINS                                             
+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+IP4    192.168.127.210/25  192.168.88.4  dst = 192.168.222.35/19, nh = 192.168.170.142, mt = 3609264321 | dst = 192.168.135.81/32, nh = 192.168.32.11, mt = 1316413247 | dst = 192.168.24.65/26, nh = 192.168.23.163, mt = 3855574583  192.168.16.144 | 192.168.79.53 | 192.168.237.155  sear4.foo4.bar | sear4.foo3.bar | sear4.foo1.bar  --        192.168.211.91 | 192.168.58.182 | 192.168.114.97 
 
 GROUP  OPTION                                                                                                                                                                                                       
 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 DHCP4  dhcp-4-opt-0 = val-0 | dhcp-4-opt-1 = val-1 | dhcp-4-opt-2 = val-2 | dhcp-4-opt-3 = val-3 | dhcp-4-opt-4 = val-4 | dhcp-4-opt-5 = val-5 | dhcp-4-opt-7 = val-7 | dhcp-4-opt-8 = val-8 | dhcp-4-opt-9 = val-9 
 
-GROUP  ADDRESS                                                          GATEWAY  ROUTE                                           DNS                                                                                     DOMAIN         
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-IP6    2001:a::1c1:c178:169f:2b80/93 | 2001:a::1f79:e0fb:87b9:3cc6/123  --       dst = 2001:a::3166:7ed1:e4ae:7612/123, nh = ::  2001:a::edda:955:dcf4:23d4 | 2001:a::109f:aa0f:fb4a:9d5a | 2001:a::61cf:7c82:e9c0:c952  sear6.foo1.bar 
+GROUP  ADDRESS                                                          GATEWAY  ROUTE                                           DNS                                                                                     DOMAIN          SEARCHES 
+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+IP6    2001:a::1c1:c178:169f:2b80/93 | 2001:a::1f79:e0fb:87b9:3cc6/123  --       dst = 2001:a::3166:7ed1:e4ae:7612/123, nh = ::  2001:a::edda:955:dcf4:23d4 | 2001:a::109f:aa0f:fb4a:9d5a | 2001:a::61cf:7c82:e9c0:c952  sear6.foo1.bar  --       
 
 GROUP  OPTION                                                                                                           
 -------------------------------------------------------------------------------------------------------------------------
@@ -25957,17 +26041,17 @@ NAME   IN-USE  BSSID              SSID        MODE            CHAN  RATE     SIG
 ------------------------------------------------------------------------------------------------------
 AP[1]          94:2B:E8:F6:D2:86  wlan1-ap-4  Infrastruktura  1     54 Mb/s  48      **    WPA1 WPA2 
 
-GROUP  ADDRESS  GATEWAY         ROUTE                                                                                                                                                  DNS            DOMAIN                                                                                             WINS 
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-IP4    --       192.168.57.160  dst = 192.168.36.106/21, nh = 192.168.199.128, mt = 979274165 | dst = 192.168.238.130/19, nh = 0.0.0.0 | dst = 192.168.224.39/32, nh = 192.168.148.69  192.168.61.83  sear4.foo4.bar | sear4.fo.x.y | sear4.foo2.bar | sear4.foo1.bar | sear4.fo.o.bar | sear4.foo3.bar  --   
+GROUP  ADDRESS  GATEWAY         ROUTE                                                                                                                                                  DNS            DOMAIN                                                                                             SEARCHES  WINS 
+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+IP4    --       192.168.57.160  dst = 192.168.36.106/21, nh = 192.168.199.128, mt = 979274165 | dst = 192.168.238.130/19, nh = 0.0.0.0 | dst = 192.168.224.39/32, nh = 192.168.148.69  192.168.61.83  sear4.foo4.bar | sear4.fo.x.y | sear4.foo2.bar | sear4.foo1.bar | sear4.fo.o.bar | sear4.foo3.bar  --        --   
 
 GROUP  OPTION                                                                                                                                                                                
 ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 DHCP4  dhcp-4-opt-0 = val-0 | dhcp-4-opt-1 = val-1 | dhcp-4-opt-2 = val-2 | dhcp-4-opt-4 = val-4 | dhcp-4-opt-6 = val-6 | dhcp-4-opt-7 = val-7 | dhcp-4-opt-8 = val-8 | dhcp-4-opt-9 = val-9 
 
-GROUP  ADDRESS                                                                                           GATEWAY                      ROUTE                                                                                                                                                    DNS                                                       DOMAIN                          
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-IP6    2001:a::fa05:2ab4:9300:e8fe/116 | 2001:a::e9cf:bd3:caba:99b3/86 | 2001:a::2be6:44fa:2c95:5559/78  2001:a::4d70:d91a:770f:2319  dst = 2001:a::3cb2:719d:bb00:b22f/66, nh = 2001:a::81b1:58b9:7237:3511, mt = 2280277732 | dst = 2001:a::986f:983c:5eb:1c7d/99, nh = ::, mt = 1204008676  2001:a::85e7:3d7d:53e8:50ac | 2001:a::1c5:9cb5:e86d:25a5  sear6.foo4.bar | sear6.foo2.bar 
+GROUP  ADDRESS                                                                                           GATEWAY                      ROUTE                                                                                                                                                    DNS                                                       DOMAIN                           SEARCHES 
+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+IP6    2001:a::fa05:2ab4:9300:e8fe/116 | 2001:a::e9cf:bd3:caba:99b3/86 | 2001:a::2be6:44fa:2c95:5559/78  2001:a::4d70:d91a:770f:2319  dst = 2001:a::3cb2:719d:bb00:b22f/66, nh = 2001:a::81b1:58b9:7237:3511, mt = 2280277732 | dst = 2001:a::986f:983c:5eb:1c7d/99, nh = ::, mt = 1204008676  2001:a::85e7:3d7d:53e8:50ac | 2001:a::1c5:9cb5:e86d:25a5  sear6.foo4.bar | sear6.foo2.bar  --       
 
 GROUP  OPTION                                                                                                                                                                                                       
 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
@@ -25999,17 +26083,17 @@ WIFI-PROPERTIES  tak  tak  tak   tak   tak   tak  tak    nieznane  nieznane  nie
 NAME  IN-USE  BSSID  SSID  MODE  CHAN  RATE  SIGNAL  BARS  SECURITY 
 ---------------------------------------------------------------------
 
-GROUP  ADDRESS                                GATEWAY  ROUTE                                                           DNS              DOMAIN                                                                            WINS                          
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-IP4    192.168.97.124/29 | 192.168.76.154/18  --       dst = 192.168.33.233/22, nh = 192.168.222.210, mt = 2810496551  192.168.107.109  sear4.fo.o.bar | sear4.fo.x.y | sear4.foo2.bar | sear4.foo3.bar | sear4.foo4.bar  192.168.60.60 | 192.168.63.92 
+GROUP  ADDRESS                                GATEWAY  ROUTE                                                           DNS              DOMAIN                                                                            SEARCHES  WINS                          
+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+IP4    192.168.97.124/29 | 192.168.76.154/18  --       dst = 192.168.33.233/22, nh = 192.168.222.210, mt = 2810496551  192.168.107.109  sear4.fo.o.bar | sear4.fo.x.y | sear4.foo2.bar | sear4.foo3.bar | sear4.foo4.bar  --        192.168.60.60 | 192.168.63.92 
 
 GROUP  OPTION                                      
 ----------------------------------------------------
 DHCP4  dhcp-4-opt-0 = val-0 | dhcp-4-opt-5 = val-5 
 
-GROUP  ADDRESS                        GATEWAY  ROUTE                                                                                                                                                                                                      DNS                          DOMAIN       
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-IP6    2001:a::88ca:3654:96b:ab44/89  --       dst = 2001:a::cc8b:7c09:4673:bbb0/85, nh = ::, mt = 2821465568 | dst = 2001:a::a976:2488:f49f:b48/106, nh = 2001:a::62ae:c734:fc7b:e931, mt = 2248613879 | dst = 2001:a::afb7:4449:3787:8bb4/123, nh = ::  2001:a::2934:bd66:550d:ec19  sear6.fo.x.y 
+GROUP  ADDRESS                        GATEWAY  ROUTE                                                                                                                                                                                                      DNS                          DOMAIN        SEARCHES 
+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+IP6    2001:a::88ca:3654:96b:ab44/89  --       dst = 2001:a::cc8b:7c09:4673:bbb0/85, nh = ::, mt = 2821465568 | dst = 2001:a::a976:2488:f49f:b48/106, nh = 2001:a::62ae:c734:fc7b:e931, mt = 2248613879 | dst = 2001:a::afb7:4449:3787:8bb4/123, nh = ::  2001:a::2934:bd66:550d:ec19  sear6.fo.x.y  --       
 
 GROUP  OPTION                                                                                                           
 -------------------------------------------------------------------------------------------------------------------------
@@ -26020,12 +26104,12 @@ NAME         AVAILABLE-CONNECTION-PATHS                               AVAILABLE-
 CONNECTIONS  /org/freedesktop/NetworkManager/Settings/Connection/{2}  UUID-con-xx1-REPLACED-REPLACED-REPLA | con-xx1 
 
 <<<
-size: 1709
+size: 1769
 location: src/tests/client/test-client.py:test_004()/441
 cmd: $NMCLI --mode tabular --pretty dev show wlan0
 lang: C
 returncode: 0
-stdout: 1551 bytes
+stdout: 1611 bytes
 >>>
 ==========================
   Device details (wlan0)
@@ -26058,21 +26142,21 @@ CON-PATH
 ----------------------------------------------------
 /org/freedesktop/NetworkManager/ActiveConnection/2 
 
-GROUP  ADDRESS                                 GATEWAY         ROUTE  DNS  DOMAIN                                                                            WINS           
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-IP4    192.168.228.18/32 | 192.168.209.179/25  192.168.41.120  --     --   sear4.foo2.bar | sear4.fo.x.y | sear4.foo1.bar | sear4.foo4.bar | sear4.fo.o.bar  192.168.120.79 
+GROUP  ADDRESS                                 GATEWAY         ROUTE  DNS  DOMAIN                                                                            SEARCHES  WINS           
+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+IP4    192.168.228.18/32 | 192.168.209.179/25  192.168.41.120  --     --   sear4.foo2.bar | sear4.fo.x.y | sear4.foo1.bar | sear4.foo4.bar | sear4.fo.o.bar  --        192.168.120.79 
 
-GROUP  ADDRESS  GATEWAY  ROUTE                                                           DNS  DOMAIN                                                                                            
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-IP6    --       --       dst = 2001:a::dd5b:aa7b:b4a2:e42/102, nh = ::, mt = 2504159086  --   sear6.foo2.bar | sear6.foo1.bar | sear6.fo.x.y | sear6.fo.o.bar | sear6.foo3.bar | sear6.foo4.bar 
+GROUP  ADDRESS  GATEWAY  ROUTE                                                           DNS  DOMAIN                                                                                             SEARCHES 
+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+IP6    --       --       dst = 2001:a::dd5b:aa7b:b4a2:e42/102, nh = ::, mt = 2504159086  --   sear6.foo2.bar | sear6.foo1.bar | sear6.fo.x.y | sear6.fo.o.bar | sear6.foo3.bar | sear6.foo4.bar  --       
 
 <<<
-size: 1750
+size: 1810
 location: src/tests/client/test-client.py:test_004()/442
 cmd: $NMCLI --mode tabular --pretty dev show wlan0
 lang: pl_PL.UTF-8
 returncode: 0
-stdout: 1582 bytes
+stdout: 1642 bytes
 >>>
 ===================================
   Informacje o urządzeniu (wlan0)
@@ -26105,21 +26189,21 @@ CON-PATH
 ----------------------------------------------------
 /org/freedesktop/NetworkManager/ActiveConnection/2 
 
-GROUP  ADDRESS                                 GATEWAY         ROUTE  DNS  DOMAIN                                                                            WINS           
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-IP4    192.168.228.18/32 | 192.168.209.179/25  192.168.41.120  --     --   sear4.foo2.bar | sear4.fo.x.y | sear4.foo1.bar | sear4.foo4.bar | sear4.fo.o.bar  192.168.120.79 
+GROUP  ADDRESS                                 GATEWAY         ROUTE  DNS  DOMAIN                                                                            SEARCHES  WINS           
+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+IP4    192.168.228.18/32 | 192.168.209.179/25  192.168.41.120  --     --   sear4.foo2.bar | sear4.fo.x.y | sear4.foo1.bar | sear4.foo4.bar | sear4.fo.o.bar  --        192.168.120.79 
 
-GROUP  ADDRESS  GATEWAY  ROUTE                                                           DNS  DOMAIN                                                                                            
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-IP6    --       --       dst = 2001:a::dd5b:aa7b:b4a2:e42/102, nh = ::, mt = 2504159086  --   sear6.foo2.bar | sear6.foo1.bar | sear6.fo.x.y | sear6.fo.o.bar | sear6.foo3.bar | sear6.foo4.bar 
+GROUP  ADDRESS  GATEWAY  ROUTE                                                           DNS  DOMAIN                                                                                             SEARCHES 
+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+IP6    --       --       dst = 2001:a::dd5b:aa7b:b4a2:e42/102, nh = ::, mt = 2504159086  --   sear6.foo2.bar | sear6.foo1.bar | sear6.fo.x.y | sear6.fo.o.bar | sear6.foo3.bar | sear6.foo4.bar  --       
 
 <<<
-size: 4893
+size: 4953
 location: src/tests/client/test-client.py:test_004()/443
 cmd: $NMCLI --mode tabular --pretty -f all dev show wlan0
 lang: C
 returncode: 0
-stdout: 4728 bytes
+stdout: 4788 bytes
 >>>
 ==========================
   Device details (wlan0)
@@ -26146,17 +26230,17 @@ AP[1]          C0:E2:BE:E8:EF:B6  wlan0-ap-2  Infra  1     54 Mbit/s  92      **
 AP[2]          61:95:77:AC:1E:4C  wlan0-ap-1  Infra  1     54 Mbit/s  81      ****  WPA1      
 AP[3]          9B:F6:B7:EC:97:76  wlan0-ap-3  Infra  1     54 Mbit/s  55      **    WPA3      
 
-GROUP  ADDRESS                                 GATEWAY         ROUTE  DNS  DOMAIN                                                                            WINS           
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-IP4    192.168.228.18/32 | 192.168.209.179/25  192.168.41.120  --     --   sear4.foo2.bar | sear4.fo.x.y | sear4.foo1.bar | sear4.foo4.bar | sear4.fo.o.bar  192.168.120.79 
+GROUP  ADDRESS                                 GATEWAY         ROUTE  DNS  DOMAIN                                                                            SEARCHES  WINS           
+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+IP4    192.168.228.18/32 | 192.168.209.179/25  192.168.41.120  --     --   sear4.foo2.bar | sear4.fo.x.y | sear4.foo1.bar | sear4.foo4.bar | sear4.fo.o.bar  --        192.168.120.79 
 
 GROUP  OPTION                                                                                    
 --------------------------------------------------------------------------------------------------
 DHCP4  dhcp-4-opt-0 = val-0 | dhcp-4-opt-2 = val-2 | dhcp-4-opt-4 = val-4 | dhcp-4-opt-7 = val-7 
 
-GROUP  ADDRESS  GATEWAY  ROUTE                                                           DNS  DOMAIN                                                                                            
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-IP6    --       --       dst = 2001:a::dd5b:aa7b:b4a2:e42/102, nh = ::, mt = 2504159086  --   sear6.foo2.bar | sear6.foo1.bar | sear6.fo.x.y | sear6.fo.o.bar | sear6.foo3.bar | sear6.foo4.bar 
+GROUP  ADDRESS  GATEWAY  ROUTE                                                           DNS  DOMAIN                                                                                             SEARCHES 
+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+IP6    --       --       dst = 2001:a::dd5b:aa7b:b4a2:e42/102, nh = ::, mt = 2504159086  --   sear6.foo2.bar | sear6.foo1.bar | sear6.fo.x.y | sear6.fo.o.bar | sear6.foo3.bar | sear6.foo4.bar  --       
 
 GROUP  OPTION                                                                                                           
 -------------------------------------------------------------------------------------------------------------------------
@@ -26167,12 +26251,12 @@ NAME         AVAILABLE-CONNECTION-PATHS                               AVAILABLE-
 CONNECTIONS  /org/freedesktop/NetworkManager/Settings/Connection/{2}  UUID-con-xx1-REPLACED-REPLACED-REPLA | con-xx1 
 
 <<<
-size: 5001
+size: 5061
 location: src/tests/client/test-client.py:test_004()/444
 cmd: $NMCLI --mode tabular --pretty -f all dev show wlan0
 lang: pl_PL.UTF-8
 returncode: 0
-stdout: 4826 bytes
+stdout: 4886 bytes
 >>>
 ===================================
   Informacje o urządzeniu (wlan0)
@@ -26199,17 +26283,17 @@ AP[1]          C0:E2:BE:E8:EF:B6  wlan0-ap-2  Infrastruktura  1     54 Mb/s  9
 AP[2]          61:95:77:AC:1E:4C  wlan0-ap-1  Infrastruktura  1     54 Mb/s  81      ****  WPA1      
 AP[3]          9B:F6:B7:EC:97:76  wlan0-ap-3  Infrastruktura  1     54 Mb/s  55      **    WPA3      
 
-GROUP  ADDRESS                                 GATEWAY         ROUTE  DNS  DOMAIN                                                                            WINS           
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-IP4    192.168.228.18/32 | 192.168.209.179/25  192.168.41.120  --     --   sear4.foo2.bar | sear4.fo.x.y | sear4.foo1.bar | sear4.foo4.bar | sear4.fo.o.bar  192.168.120.79 
+GROUP  ADDRESS                                 GATEWAY         ROUTE  DNS  DOMAIN                                                                            SEARCHES  WINS           
+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+IP4    192.168.228.18/32 | 192.168.209.179/25  192.168.41.120  --     --   sear4.foo2.bar | sear4.fo.x.y | sear4.foo1.bar | sear4.foo4.bar | sear4.fo.o.bar  --        192.168.120.79 
 
 GROUP  OPTION                                                                                    
 --------------------------------------------------------------------------------------------------
 DHCP4  dhcp-4-opt-0 = val-0 | dhcp-4-opt-2 = val-2 | dhcp-4-opt-4 = val-4 | dhcp-4-opt-7 = val-7 
 
-GROUP  ADDRESS  GATEWAY  ROUTE                                                           DNS  DOMAIN                                                                                            
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-IP6    --       --       dst = 2001:a::dd5b:aa7b:b4a2:e42/102, nh = ::, mt = 2504159086  --   sear6.foo2.bar | sear6.foo1.bar | sear6.fo.x.y | sear6.fo.o.bar | sear6.foo3.bar | sear6.foo4.bar 
+GROUP  ADDRESS  GATEWAY  ROUTE                                                           DNS  DOMAIN                                                                                             SEARCHES 
+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+IP6    --       --       dst = 2001:a::dd5b:aa7b:b4a2:e42/102, nh = ::, mt = 2504159086  --   sear6.foo2.bar | sear6.foo1.bar | sear6.fo.x.y | sear6.fo.o.bar | sear6.foo3.bar | sear6.foo4.bar  --       
 
 GROUP  OPTION                                                                                                           
 -------------------------------------------------------------------------------------------------------------------------
@@ -26632,12 +26716,12 @@ AP[1]  wlan0-ap-2  776C616E302D61702D32  C0:E2:BE:E8:EF:B6  Infrastruktura  1
 
 
 <<<
-size: 4896
+size: 4956
 location: src/tests/client/test-client.py:test_004()/463
 cmd: $NMCLI --mode tabular --pretty -f ALL device show wlan0
 lang: C
 returncode: 0
-stdout: 4728 bytes
+stdout: 4788 bytes
 >>>
 ==========================
   Device details (wlan0)
@@ -26664,17 +26748,17 @@ AP[1]          C0:E2:BE:E8:EF:B6  wlan0-ap-2  Infra  1     54 Mbit/s  92      **
 AP[2]          61:95:77:AC:1E:4C  wlan0-ap-1  Infra  1     54 Mbit/s  81      ****  WPA1      
 AP[3]          9B:F6:B7:EC:97:76  wlan0-ap-3  Infra  1     54 Mbit/s  55      **    WPA3      
 
-GROUP  ADDRESS                                 GATEWAY         ROUTE  DNS  DOMAIN                                                                            WINS           
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-IP4    192.168.228.18/32 | 192.168.209.179/25  192.168.41.120  --     --   sear4.foo2.bar | sear4.fo.x.y | sear4.foo1.bar | sear4.foo4.bar | sear4.fo.o.bar  192.168.120.79 
+GROUP  ADDRESS                                 GATEWAY         ROUTE  DNS  DOMAIN                                                                            SEARCHES  WINS           
+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+IP4    192.168.228.18/32 | 192.168.209.179/25  192.168.41.120  --     --   sear4.foo2.bar | sear4.fo.x.y | sear4.foo1.bar | sear4.foo4.bar | sear4.fo.o.bar  --        192.168.120.79 
 
 GROUP  OPTION                                                                                    
 --------------------------------------------------------------------------------------------------
 DHCP4  dhcp-4-opt-0 = val-0 | dhcp-4-opt-2 = val-2 | dhcp-4-opt-4 = val-4 | dhcp-4-opt-7 = val-7 
 
-GROUP  ADDRESS  GATEWAY  ROUTE                                                           DNS  DOMAIN                                                                                            
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-IP6    --       --       dst = 2001:a::dd5b:aa7b:b4a2:e42/102, nh = ::, mt = 2504159086  --   sear6.foo2.bar | sear6.foo1.bar | sear6.fo.x.y | sear6.fo.o.bar | sear6.foo3.bar | sear6.foo4.bar 
+GROUP  ADDRESS  GATEWAY  ROUTE                                                           DNS  DOMAIN                                                                                             SEARCHES 
+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+IP6    --       --       dst = 2001:a::dd5b:aa7b:b4a2:e42/102, nh = ::, mt = 2504159086  --   sear6.foo2.bar | sear6.foo1.bar | sear6.fo.x.y | sear6.fo.o.bar | sear6.foo3.bar | sear6.foo4.bar  --       
 
 GROUP  OPTION                                                                                                           
 -------------------------------------------------------------------------------------------------------------------------
@@ -26685,12 +26769,12 @@ NAME         AVAILABLE-CONNECTION-PATHS                               AVAILABLE-
 CONNECTIONS  /org/freedesktop/NetworkManager/Settings/Connection/{2}  UUID-con-xx1-REPLACED-REPLACED-REPLA | con-xx1 
 
 <<<
-size: 5004
+size: 5064
 location: src/tests/client/test-client.py:test_004()/464
 cmd: $NMCLI --mode tabular --pretty -f ALL device show wlan0
 lang: pl_PL.UTF-8
 returncode: 0
-stdout: 4826 bytes
+stdout: 4886 bytes
 >>>
 ===================================
   Informacje o urządzeniu (wlan0)
@@ -26717,17 +26801,17 @@ AP[1]          C0:E2:BE:E8:EF:B6  wlan0-ap-2  Infrastruktura  1     54 Mb/s  9
 AP[2]          61:95:77:AC:1E:4C  wlan0-ap-1  Infrastruktura  1     54 Mb/s  81      ****  WPA1      
 AP[3]          9B:F6:B7:EC:97:76  wlan0-ap-3  Infrastruktura  1     54 Mb/s  55      **    WPA3      
 
-GROUP  ADDRESS                                 GATEWAY         ROUTE  DNS  DOMAIN                                                                            WINS           
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-IP4    192.168.228.18/32 | 192.168.209.179/25  192.168.41.120  --     --   sear4.foo2.bar | sear4.fo.x.y | sear4.foo1.bar | sear4.foo4.bar | sear4.fo.o.bar  192.168.120.79 
+GROUP  ADDRESS                                 GATEWAY         ROUTE  DNS  DOMAIN                                                                            SEARCHES  WINS           
+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+IP4    192.168.228.18/32 | 192.168.209.179/25  192.168.41.120  --     --   sear4.foo2.bar | sear4.fo.x.y | sear4.foo1.bar | sear4.foo4.bar | sear4.fo.o.bar  --        192.168.120.79 
 
 GROUP  OPTION                                                                                    
 --------------------------------------------------------------------------------------------------
 DHCP4  dhcp-4-opt-0 = val-0 | dhcp-4-opt-2 = val-2 | dhcp-4-opt-4 = val-4 | dhcp-4-opt-7 = val-7 
 
-GROUP  ADDRESS  GATEWAY  ROUTE                                                           DNS  DOMAIN                                                                                            
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-IP6    --       --       dst = 2001:a::dd5b:aa7b:b4a2:e42/102, nh = ::, mt = 2504159086  --   sear6.foo2.bar | sear6.foo1.bar | sear6.fo.x.y | sear6.fo.o.bar | sear6.foo3.bar | sear6.foo4.bar 
+GROUP  ADDRESS  GATEWAY  ROUTE                                                           DNS  DOMAIN                                                                                             SEARCHES 
+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+IP6    --       --       dst = 2001:a::dd5b:aa7b:b4a2:e42/102, nh = ::, mt = 2504159086  --   sear6.foo2.bar | sear6.foo1.bar | sear6.fo.x.y | sear6.fo.o.bar | sear6.foo3.bar | sear6.foo4.bar  --       
 
 GROUP  OPTION                                                                                                           
 -------------------------------------------------------------------------------------------------------------------------
@@ -26738,12 +26822,12 @@ NAME         AVAILABLE-CONNECTION-PATHS                               AVAILABLE-
 CONNECTIONS  /org/freedesktop/NetworkManager/Settings/Connection/{2}  UUID-con-xx1-REPLACED-REPLACED-REPLA | con-xx1 
 
 <<<
-size: 1722
+size: 1782
 location: src/tests/client/test-client.py:test_004()/465
 cmd: $NMCLI --mode tabular --pretty -f COMMON device show wlan0
 lang: C
 returncode: 0
-stdout: 1551 bytes
+stdout: 1611 bytes
 >>>
 ==========================
   Device details (wlan0)
@@ -26776,21 +26860,21 @@ CON-PATH
 ----------------------------------------------------
 /org/freedesktop/NetworkManager/ActiveConnection/2 
 
-GROUP  ADDRESS                                 GATEWAY         ROUTE  DNS  DOMAIN                                                                            WINS           
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-IP4    192.168.228.18/32 | 192.168.209.179/25  192.168.41.120  --     --   sear4.foo2.bar | sear4.fo.x.y | sear4.foo1.bar | sear4.foo4.bar | sear4.fo.o.bar  192.168.120.79 
+GROUP  ADDRESS                                 GATEWAY         ROUTE  DNS  DOMAIN                                                                            SEARCHES  WINS           
+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+IP4    192.168.228.18/32 | 192.168.209.179/25  192.168.41.120  --     --   sear4.foo2.bar | sear4.fo.x.y | sear4.foo1.bar | sear4.foo4.bar | sear4.fo.o.bar  --        192.168.120.79 
 
-GROUP  ADDRESS  GATEWAY  ROUTE                                                           DNS  DOMAIN                                                                                            
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-IP6    --       --       dst = 2001:a::dd5b:aa7b:b4a2:e42/102, nh = ::, mt = 2504159086  --   sear6.foo2.bar | sear6.foo1.bar | sear6.fo.x.y | sear6.fo.o.bar | sear6.foo3.bar | sear6.foo4.bar 
+GROUP  ADDRESS  GATEWAY  ROUTE                                                           DNS  DOMAIN                                                                                             SEARCHES 
+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+IP6    --       --       dst = 2001:a::dd5b:aa7b:b4a2:e42/102, nh = ::, mt = 2504159086  --   sear6.foo2.bar | sear6.foo1.bar | sear6.fo.x.y | sear6.fo.o.bar | sear6.foo3.bar | sear6.foo4.bar  --       
 
 <<<
-size: 1763
+size: 1823
 location: src/tests/client/test-client.py:test_004()/466
 cmd: $NMCLI --mode tabular --pretty -f COMMON device show wlan0
 lang: pl_PL.UTF-8
 returncode: 0
-stdout: 1582 bytes
+stdout: 1642 bytes
 >>>
 ===================================
   Informacje o urządzeniu (wlan0)
@@ -26823,21 +26907,21 @@ CON-PATH
 ----------------------------------------------------
 /org/freedesktop/NetworkManager/ActiveConnection/2 
 
-GROUP  ADDRESS                                 GATEWAY         ROUTE  DNS  DOMAIN                                                                            WINS           
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-IP4    192.168.228.18/32 | 192.168.209.179/25  192.168.41.120  --     --   sear4.foo2.bar | sear4.fo.x.y | sear4.foo1.bar | sear4.foo4.bar | sear4.fo.o.bar  192.168.120.79 
+GROUP  ADDRESS                                 GATEWAY         ROUTE  DNS  DOMAIN                                                                            SEARCHES  WINS           
+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+IP4    192.168.228.18/32 | 192.168.209.179/25  192.168.41.120  --     --   sear4.foo2.bar | sear4.fo.x.y | sear4.foo1.bar | sear4.foo4.bar | sear4.fo.o.bar  --        192.168.120.79 
 
-GROUP  ADDRESS  GATEWAY  ROUTE                                                           DNS  DOMAIN                                                                                            
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-IP6    --       --       dst = 2001:a::dd5b:aa7b:b4a2:e42/102, nh = ::, mt = 2504159086  --   sear6.foo2.bar | sear6.foo1.bar | sear6.fo.x.y | sear6.fo.o.bar | sear6.foo3.bar | sear6.foo4.bar 
+GROUP  ADDRESS  GATEWAY  ROUTE                                                           DNS  DOMAIN                                                                                             SEARCHES 
+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+IP6    --       --       dst = 2001:a::dd5b:aa7b:b4a2:e42/102, nh = ::, mt = 2504159086  --   sear6.foo2.bar | sear6.foo1.bar | sear6.fo.x.y | sear6.fo.o.bar | sear6.foo3.bar | sear6.foo4.bar  --       
 
 <<<
-size: 4882
+size: 4942
 location: src/tests/client/test-client.py:test_004()/467
 cmd: $NMCLI --mode tabular --pretty -f GENERAL,CAPABILITIES,WIFI-PROPERTIES,AP,WIRED-PROPERTIES,WIMAX-PROPERTIES,NSP,IP4,DHCP4,IP6,DHCP6,BOND,TEAM,BRIDGE,VLAN,BLUETOOTH,CONNECTIONS device show wlan0
 lang: C
 returncode: 0
-stdout: 4576 bytes
+stdout: 4636 bytes
 >>>
 ==========================
   Device details (wlan0)
@@ -26860,17 +26944,17 @@ AP[1]          C0:E2:BE:E8:EF:B6  wlan0-ap-2  Infra  1     54 Mbit/s  92      **
 AP[2]          61:95:77:AC:1E:4C  wlan0-ap-1  Infra  1     54 Mbit/s  81      ****  WPA1      
 AP[3]          9B:F6:B7:EC:97:76  wlan0-ap-3  Infra  1     54 Mbit/s  55      **    WPA3      
 
-GROUP  ADDRESS                                 GATEWAY         ROUTE  DNS  DOMAIN                                                                            WINS           
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-IP4    192.168.228.18/32 | 192.168.209.179/25  192.168.41.120  --     --   sear4.foo2.bar | sear4.fo.x.y | sear4.foo1.bar | sear4.foo4.bar | sear4.fo.o.bar  192.168.120.79 
+GROUP  ADDRESS                                 GATEWAY         ROUTE  DNS  DOMAIN                                                                            SEARCHES  WINS           
+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+IP4    192.168.228.18/32 | 192.168.209.179/25  192.168.41.120  --     --   sear4.foo2.bar | sear4.fo.x.y | sear4.foo1.bar | sear4.foo4.bar | sear4.fo.o.bar  --        192.168.120.79 
 
 GROUP  OPTION                                                                                    
 --------------------------------------------------------------------------------------------------
 DHCP4  dhcp-4-opt-0 = val-0 | dhcp-4-opt-2 = val-2 | dhcp-4-opt-4 = val-4 | dhcp-4-opt-7 = val-7 
 
-GROUP  ADDRESS  GATEWAY  ROUTE                                                           DNS  DOMAIN                                                                                            
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-IP6    --       --       dst = 2001:a::dd5b:aa7b:b4a2:e42/102, nh = ::, mt = 2504159086  --   sear6.foo2.bar | sear6.foo1.bar | sear6.fo.x.y | sear6.fo.o.bar | sear6.foo3.bar | sear6.foo4.bar 
+GROUP  ADDRESS  GATEWAY  ROUTE                                                           DNS  DOMAIN                                                                                             SEARCHES 
+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+IP6    --       --       dst = 2001:a::dd5b:aa7b:b4a2:e42/102, nh = ::, mt = 2504159086  --   sear6.foo2.bar | sear6.foo1.bar | sear6.fo.x.y | sear6.fo.o.bar | sear6.foo3.bar | sear6.foo4.bar  --       
 
 GROUP  OPTION                                                                                                           
 -------------------------------------------------------------------------------------------------------------------------
@@ -26881,12 +26965,12 @@ NAME         AVAILABLE-CONNECTION-PATHS                               AVAILABLE-
 CONNECTIONS  /org/freedesktop/NetworkManager/Settings/Connection/{2}  UUID-con-xx1-REPLACED-REPLACED-REPLA | con-xx1 
 
 <<<
-size: 4990
+size: 5050
 location: src/tests/client/test-client.py:test_004()/468
 cmd: $NMCLI --mode tabular --pretty -f GENERAL,CAPABILITIES,WIFI-PROPERTIES,AP,WIRED-PROPERTIES,WIMAX-PROPERTIES,NSP,IP4,DHCP4,IP6,DHCP6,BOND,TEAM,BRIDGE,VLAN,BLUETOOTH,CONNECTIONS device show wlan0
 lang: pl_PL.UTF-8
 returncode: 0
-stdout: 4674 bytes
+stdout: 4734 bytes
 >>>
 ===================================
   Informacje o urządzeniu (wlan0)
@@ -26909,17 +26993,17 @@ AP[1]          C0:E2:BE:E8:EF:B6  wlan0-ap-2  Infrastruktura  1     54 Mb/s  9
 AP[2]          61:95:77:AC:1E:4C  wlan0-ap-1  Infrastruktura  1     54 Mb/s  81      ****  WPA1      
 AP[3]          9B:F6:B7:EC:97:76  wlan0-ap-3  Infrastruktura  1     54 Mb/s  55      **    WPA3      
 
-GROUP  ADDRESS                                 GATEWAY         ROUTE  DNS  DOMAIN                                                                            WINS           
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-IP4    192.168.228.18/32 | 192.168.209.179/25  192.168.41.120  --     --   sear4.foo2.bar | sear4.fo.x.y | sear4.foo1.bar | sear4.foo4.bar | sear4.fo.o.bar  192.168.120.79 
+GROUP  ADDRESS                                 GATEWAY         ROUTE  DNS  DOMAIN                                                                            SEARCHES  WINS           
+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+IP4    192.168.228.18/32 | 192.168.209.179/25  192.168.41.120  --     --   sear4.foo2.bar | sear4.fo.x.y | sear4.foo1.bar | sear4.foo4.bar | sear4.fo.o.bar  --        192.168.120.79 
 
 GROUP  OPTION                                                                                    
 --------------------------------------------------------------------------------------------------
 DHCP4  dhcp-4-opt-0 = val-0 | dhcp-4-opt-2 = val-2 | dhcp-4-opt-4 = val-4 | dhcp-4-opt-7 = val-7 
 
-GROUP  ADDRESS  GATEWAY  ROUTE                                                           DNS  DOMAIN                                                                                            
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-IP6    --       --       dst = 2001:a::dd5b:aa7b:b4a2:e42/102, nh = ::, mt = 2504159086  --   sear6.foo2.bar | sear6.foo1.bar | sear6.fo.x.y | sear6.fo.o.bar | sear6.foo3.bar | sear6.foo4.bar 
+GROUP  ADDRESS  GATEWAY  ROUTE                                                           DNS  DOMAIN                                                                                             SEARCHES 
+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+IP6    --       --       dst = 2001:a::dd5b:aa7b:b4a2:e42/102, nh = ::, mt = 2504159086  --   sear6.foo2.bar | sear6.foo1.bar | sear6.fo.x.y | sear6.fo.o.bar | sear6.foo3.bar | sear6.foo4.bar  --       
 
 GROUP  OPTION                                                                                                           
 -------------------------------------------------------------------------------------------------------------------------
@@ -27106,12 +27190,12 @@ interface-name
 
 
 <<<
-size: 5361
+size: 5469
 location: src/tests/client/test-client.py:test_004()/473
 cmd: $NMCLI --mode tabular --pretty --color yes con s con-vpn-1
 lang: C
 returncode: 0
-stdout: 5190 bytes
+stdout: 5298 bytes
 >>>
 ==========================================
   Connection profile details (con-vpn-1)
@@ -27120,13 +27204,13 @@ name        id         uuid                                  stable-id  type  in
 --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 connection  con-vpn-1  UUID-con-vpn-1-REPLACED-REPLACED-REP  --         vpn   --              yes          0                     -1 (default)         0 (default)    -1            0          no         --           --    --      --          -1 (default)        --           0                     unknown  default  -1 (default)  -1 (default)  -1                  
 
-name  method  dns  dns-search  dns-options  dns-priority  addresses  gateway  routes  route-metric  route-table  routing-rules  ignore-auto-routes  ignore-auto-dns  dhcp-client-id  dhcp-iaid  dhcp-timeout  dhcp-send-hostname  dhcp-hostname  dhcp-fqdn  dhcp-hostname-flags  never-default  may-fail  dad-timeout   dhcp-vendor-class-identifier  dhcp-reject-servers 
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-ipv4  auto    --   --          --           0             --         --       --      -1            0 (unspec)   --             no                  no               --              --         0 (default)   yes                 --             --         0x0 (none)           no             yes       -1 (default)  --                            --                  
+name  method  dns  dns-search  dns-options  dns-priority  addresses  gateway  routes  route-metric  route-table  routing-rules  ignore-auto-routes  ignore-auto-dns  dhcp-client-id  dhcp-iaid  dhcp-timeout  dhcp-send-hostname  dhcp-hostname  dhcp-fqdn  dhcp-hostname-flags  never-default  may-fail  required-timeout  dad-timeout   dhcp-vendor-class-identifier  dhcp-reject-servers 
+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+ipv4  auto    --   --          --           0             --         --       --      -1            0 (unspec)   --             no                  no               --              --         0 (default)   yes                 --             --         0x0 (none)           no             yes       -1 (default)      -1 (default)  --                            --                  
 
-name  method  dns  dns-search  dns-options  dns-priority  addresses  gateway  routes  route-metric  route-table  routing-rules  ignore-auto-routes  ignore-auto-dns  never-default  may-fail  ip6-privacy   addr-gen-mode   ra-timeout   dhcp-duid  dhcp-iaid  dhcp-timeout  dhcp-send-hostname  dhcp-hostname  dhcp-hostname-flags  token 
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-ipv6  auto    --   --          --           0             --         --       --      -1            0 (unspec)   --             no                  no               no             yes       -1 (unknown)  stable-privacy  0 (default)  --         --         0 (default)   yes                 --             0x0 (none)           --    
+name  method  dns  dns-search  dns-options  dns-priority  addresses  gateway  routes  route-metric  route-table  routing-rules  ignore-auto-routes  ignore-auto-dns  never-default  may-fail  required-timeout  ip6-privacy   addr-gen-mode   ra-timeout   dhcp-duid  dhcp-iaid  dhcp-timeout  dhcp-send-hostname  dhcp-hostname  dhcp-hostname-flags  token 
+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+ipv6  auto    --   --          --           0             --         --       --      -1            0 (unspec)   --             no                  no               no             yes       -1 (default)      -1 (unknown)  stable-privacy  0 (default)  --         --         0 (default)   yes                 --             0x0 (none)           --    
 
 name  service-type                            user-name  data                                   secrets   persistent  timeout 
 -------------------------------------------------------------------------------------------------------------------------------
@@ -27148,12 +27232,12 @@ NAME  TYPE     USERNAME  GATEWAY  BANNER                            VPN-STATE
 VPN   openvpn  --        --       *** VPN connection con-vpn-1 ***  5 - VPN connected  key1 = val1 | key2 = val2 | key3 = val3 
 
 <<<
-size: 5417
+size: 5525
 location: src/tests/client/test-client.py:test_004()/474
 cmd: $NMCLI --mode tabular --pretty --color yes con s con-vpn-1
 lang: pl_PL.UTF-8
 returncode: 0
-stdout: 5236 bytes
+stdout: 5344 bytes
 >>>
 ============================================
   Szczegóły profilu połączenia (con-vpn-1)
@@ -27162,13 +27246,13 @@ name        id         uuid                                  stable-id  type  in
 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 connection  con-vpn-1  UUID-con-vpn-1-REPLACED-REPLACED-REP  --         vpn   --              tak          0                     -1 (default)         0 (default)    -1            0          nie        --           --    --      --          -1 (default)        --           0                     nieznane  default  -1 (default)  -1 (default)  -1                  
 
-name  method  dns  dns-search  dns-options  dns-priority  addresses  gateway  routes  route-metric  route-table  routing-rules  ignore-auto-routes  ignore-auto-dns  dhcp-client-id  dhcp-iaid  dhcp-timeout  dhcp-send-hostname  dhcp-hostname  dhcp-fqdn  dhcp-hostname-flags  never-default  may-fail  dad-timeout   dhcp-vendor-class-identifier  dhcp-reject-servers 
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-ipv4  auto    --   --          --           0             --         --       --      -1            0 (unspec)   --             nie                 nie              --              --         0 (default)   tak                 --             --         0x0 (none)           nie            tak       -1 (default)  --                            --                  
+name  method  dns  dns-search  dns-options  dns-priority  addresses  gateway  routes  route-metric  route-table  routing-rules  ignore-auto-routes  ignore-auto-dns  dhcp-client-id  dhcp-iaid  dhcp-timeout  dhcp-send-hostname  dhcp-hostname  dhcp-fqdn  dhcp-hostname-flags  never-default  may-fail  required-timeout  dad-timeout   dhcp-vendor-class-identifier  dhcp-reject-servers 
+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+ipv4  auto    --   --          --           0             --         --       --      -1            0 (unspec)   --             nie                 nie              --              --         0 (default)   tak                 --             --         0x0 (none)           nie            tak       -1 (default)      -1 (default)  --                            --                  
 
-name  method  dns  dns-search  dns-options  dns-priority  addresses  gateway  routes  route-metric  route-table  routing-rules  ignore-auto-routes  ignore-auto-dns  never-default  may-fail  ip6-privacy   addr-gen-mode   ra-timeout   dhcp-duid  dhcp-iaid  dhcp-timeout  dhcp-send-hostname  dhcp-hostname  dhcp-hostname-flags  token 
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-ipv6  auto    --   --          --           0             --         --       --      -1            0 (unspec)   --             nie                 nie              nie            tak       -1 (unknown)  stable-privacy  0 (default)  --         --         0 (default)   tak                 --             0x0 (none)           --    
+name  method  dns  dns-search  dns-options  dns-priority  addresses  gateway  routes  route-metric  route-table  routing-rules  ignore-auto-routes  ignore-auto-dns  never-default  may-fail  required-timeout  ip6-privacy   addr-gen-mode   ra-timeout   dhcp-duid  dhcp-iaid  dhcp-timeout  dhcp-send-hostname  dhcp-hostname  dhcp-hostname-flags  token 
+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+ipv6  auto    --   --          --           0             --         --       --      -1            0 (unspec)   --             nie                 nie              nie            tak       -1 (default)      -1 (unknown)  stable-privacy  0 (default)  --         --         0 (default)   tak                 --             0x0 (none)           --    
 
 name  service-type                            user-name  data                                   secrets   persistent  timeout 
 -------------------------------------------------------------------------------------------------------------------------------
@@ -27190,12 +27274,12 @@ NAME  TYPE     USERNAME  GATEWAY  BANNER                            VPN-STATE
 VPN   openvpn  --        --       *** VPN connection con-vpn-1 ***  5 — Połączono z VPN  key1 = val1 | key2 = val2 | key3 = val3 
 
 <<<
-size: 5361
+size: 5469
 location: src/tests/client/test-client.py:test_004()/475
 cmd: $NMCLI --mode tabular --pretty --color yes con s con-vpn-1
 lang: C
 returncode: 0
-stdout: 5190 bytes
+stdout: 5298 bytes
 >>>
 ==========================================
   Connection profile details (con-vpn-1)
@@ -27204,13 +27288,13 @@ name        id         uuid                                  stable-id  type  in
 --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 connection  con-vpn-1  UUID-con-vpn-1-REPLACED-REPLACED-REP  --         vpn   --              yes          0                     -1 (default)         0 (default)    -1            0          no         --           --    --      --          -1 (default)        --           0                     unknown  default  -1 (default)  -1 (default)  -1                  
 
-name  method  dns  dns-search  dns-options  dns-priority  addresses  gateway  routes  route-metric  route-table  routing-rules  ignore-auto-routes  ignore-auto-dns  dhcp-client-id  dhcp-iaid  dhcp-timeout  dhcp-send-hostname  dhcp-hostname  dhcp-fqdn  dhcp-hostname-flags  never-default  may-fail  dad-timeout   dhcp-vendor-class-identifier  dhcp-reject-servers 
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-ipv4  auto    --   --          --           0             --         --       --      -1            0 (unspec)   --             no                  no               --              --         0 (default)   yes                 --             --         0x0 (none)           no             yes       -1 (default)  --                            --                  
+name  method  dns  dns-search  dns-options  dns-priority  addresses  gateway  routes  route-metric  route-table  routing-rules  ignore-auto-routes  ignore-auto-dns  dhcp-client-id  dhcp-iaid  dhcp-timeout  dhcp-send-hostname  dhcp-hostname  dhcp-fqdn  dhcp-hostname-flags  never-default  may-fail  required-timeout  dad-timeout   dhcp-vendor-class-identifier  dhcp-reject-servers 
+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+ipv4  auto    --   --          --           0             --         --       --      -1            0 (unspec)   --             no                  no               --              --         0 (default)   yes                 --             --         0x0 (none)           no             yes       -1 (default)      -1 (default)  --                            --                  
 
-name  method  dns  dns-search  dns-options  dns-priority  addresses  gateway  routes  route-metric  route-table  routing-rules  ignore-auto-routes  ignore-auto-dns  never-default  may-fail  ip6-privacy   addr-gen-mode   ra-timeout   dhcp-duid  dhcp-iaid  dhcp-timeout  dhcp-send-hostname  dhcp-hostname  dhcp-hostname-flags  token 
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-ipv6  auto    --   --          --           0             --         --       --      -1            0 (unspec)   --             no                  no               no             yes       -1 (unknown)  stable-privacy  0 (default)  --         --         0 (default)   yes                 --             0x0 (none)           --    
+name  method  dns  dns-search  dns-options  dns-priority  addresses  gateway  routes  route-metric  route-table  routing-rules  ignore-auto-routes  ignore-auto-dns  never-default  may-fail  required-timeout  ip6-privacy   addr-gen-mode   ra-timeout   dhcp-duid  dhcp-iaid  dhcp-timeout  dhcp-send-hostname  dhcp-hostname  dhcp-hostname-flags  token 
+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+ipv6  auto    --   --          --           0             --         --       --      -1            0 (unspec)   --             no                  no               no             yes       -1 (default)      -1 (unknown)  stable-privacy  0 (default)  --         --         0 (default)   yes                 --             0x0 (none)           --    
 
 name  service-type                            user-name  data                                   secrets   persistent  timeout 
 -------------------------------------------------------------------------------------------------------------------------------
@@ -27232,12 +27316,12 @@ NAME  TYPE     USERNAME  GATEWAY  BANNER                            VPN-STATE
 VPN   openvpn  --        --       *** VPN connection con-vpn-1 ***  5 - VPN connected  key1 = val1 | key2 = val2 | key3 = val3 
 
 <<<
-size: 5417
+size: 5525
 location: src/tests/client/test-client.py:test_004()/476
 cmd: $NMCLI --mode tabular --pretty --color yes con s con-vpn-1
 lang: pl_PL.UTF-8
 returncode: 0
-stdout: 5236 bytes
+stdout: 5344 bytes
 >>>
 ============================================
   Szczegóły profilu połączenia (con-vpn-1)
@@ -27246,13 +27330,13 @@ name        id         uuid                                  stable-id  type  in
 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 connection  con-vpn-1  UUID-con-vpn-1-REPLACED-REPLACED-REP  --         vpn   --              tak          0                     -1 (default)         0 (default)    -1            0          nie        --           --    --      --          -1 (default)        --           0                     nieznane  default  -1 (default)  -1 (default)  -1                  
 
-name  method  dns  dns-search  dns-options  dns-priority  addresses  gateway  routes  route-metric  route-table  routing-rules  ignore-auto-routes  ignore-auto-dns  dhcp-client-id  dhcp-iaid  dhcp-timeout  dhcp-send-hostname  dhcp-hostname  dhcp-fqdn  dhcp-hostname-flags  never-default  may-fail  dad-timeout   dhcp-vendor-class-identifier  dhcp-reject-servers 
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-ipv4  auto    --   --          --           0             --         --       --      -1            0 (unspec)   --             nie                 nie              --              --         0 (default)   tak                 --             --         0x0 (none)           nie            tak       -1 (default)  --                            --                  
+name  method  dns  dns-search  dns-options  dns-priority  addresses  gateway  routes  route-metric  route-table  routing-rules  ignore-auto-routes  ignore-auto-dns  dhcp-client-id  dhcp-iaid  dhcp-timeout  dhcp-send-hostname  dhcp-hostname  dhcp-fqdn  dhcp-hostname-flags  never-default  may-fail  required-timeout  dad-timeout   dhcp-vendor-class-identifier  dhcp-reject-servers 
+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+ipv4  auto    --   --          --           0             --         --       --      -1            0 (unspec)   --             nie                 nie              --              --         0 (default)   tak                 --             --         0x0 (none)           nie            tak       -1 (default)      -1 (default)  --                            --                  
 
-name  method  dns  dns-search  dns-options  dns-priority  addresses  gateway  routes  route-metric  route-table  routing-rules  ignore-auto-routes  ignore-auto-dns  never-default  may-fail  ip6-privacy   addr-gen-mode   ra-timeout   dhcp-duid  dhcp-iaid  dhcp-timeout  dhcp-send-hostname  dhcp-hostname  dhcp-hostname-flags  token 
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-ipv6  auto    --   --          --           0             --         --       --      -1            0 (unspec)   --             nie                 nie              nie            tak       -1 (unknown)  stable-privacy  0 (default)  --         --         0 (default)   tak                 --             0x0 (none)           --    
+name  method  dns  dns-search  dns-options  dns-priority  addresses  gateway  routes  route-metric  route-table  routing-rules  ignore-auto-routes  ignore-auto-dns  never-default  may-fail  required-timeout  ip6-privacy   addr-gen-mode   ra-timeout   dhcp-duid  dhcp-iaid  dhcp-timeout  dhcp-send-hostname  dhcp-hostname  dhcp-hostname-flags  token 
+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+ipv6  auto    --   --          --           0             --         --       --      -1            0 (unspec)   --             nie                 nie              nie            tak       -1 (default)      -1 (unknown)  stable-privacy  0 (default)  --         --         0 (default)   tak                 --             0x0 (none)           --    
 
 name  service-type                            user-name  data                                   secrets   persistent  timeout 
 -------------------------------------------------------------------------------------------------------------------------------
@@ -27274,12 +27358,12 @@ NAME  TYPE     USERNAME  GATEWAY  BANNER                            VPN-STATE
 VPN   openvpn  --        --       *** VPN connection con-vpn-1 ***  5 — Połączono z VPN  key1 = val1 | key2 = val2 | key3 = val3 
 
 <<<
-size: 4017
+size: 4125
 location: src/tests/client/test-client.py:test_004()/477
 cmd: $NMCLI --mode tabular --pretty --color yes -f ALL con s con-vpn-1
 lang: C
 returncode: 0
-stdout: 3839 bytes
+stdout: 3947 bytes
 >>>
 ==========================================
   Connection profile details (con-vpn-1)
@@ -27288,13 +27372,13 @@ name        id         uuid                                  stable-id  type  in
 --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 connection  con-vpn-1  UUID-con-vpn-1-REPLACED-REPLACED-REP  --         vpn   --              yes          0                     -1 (default)         0 (default)    -1            0          no         --           --    --      --          -1 (default)        --           0                     unknown  default  -1 (default)  -1 (default)  -1                  
 
-name  method  dns  dns-search  dns-options  dns-priority  addresses  gateway  routes  route-metric  route-table  routing-rules  ignore-auto-routes  ignore-auto-dns  dhcp-client-id  dhcp-iaid  dhcp-timeout  dhcp-send-hostname  dhcp-hostname  dhcp-fqdn  dhcp-hostname-flags  never-default  may-fail  dad-timeout   dhcp-vendor-class-identifier  dhcp-reject-servers 
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-ipv4  auto    --   --          --           0             --         --       --      -1            0 (unspec)   --             no                  no               --              --         0 (default)   yes                 --             --         0x0 (none)           no             yes       -1 (default)  --                            --                  
+name  method  dns  dns-search  dns-options  dns-priority  addresses  gateway  routes  route-metric  route-table  routing-rules  ignore-auto-routes  ignore-auto-dns  dhcp-client-id  dhcp-iaid  dhcp-timeout  dhcp-send-hostname  dhcp-hostname  dhcp-fqdn  dhcp-hostname-flags  never-default  may-fail  required-timeout  dad-timeout   dhcp-vendor-class-identifier  dhcp-reject-servers 
+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+ipv4  auto    --   --          --           0             --         --       --      -1            0 (unspec)   --             no                  no               --              --         0 (default)   yes                 --             --         0x0 (none)           no             yes       -1 (default)      -1 (default)  --                            --                  
 
-name  method  dns  dns-search  dns-options  dns-priority  addresses  gateway  routes  route-metric  route-table  routing-rules  ignore-auto-routes  ignore-auto-dns  never-default  may-fail  ip6-privacy   addr-gen-mode   ra-timeout   dhcp-duid  dhcp-iaid  dhcp-timeout  dhcp-send-hostname  dhcp-hostname  dhcp-hostname-flags  token 
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-ipv6  auto    --   --          --           0             --         --       --      -1            0 (unspec)   --             no                  no               no             yes       -1 (unknown)  stable-privacy  0 (default)  --         --         0 (default)   yes                 --             0x0 (none)           --    
+name  method  dns  dns-search  dns-options  dns-priority  addresses  gateway  routes  route-metric  route-table  routing-rules  ignore-auto-routes  ignore-auto-dns  never-default  may-fail  required-timeout  ip6-privacy   addr-gen-mode   ra-timeout   dhcp-duid  dhcp-iaid  dhcp-timeout  dhcp-send-hostname  dhcp-hostname  dhcp-hostname-flags  token 
+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+ipv6  auto    --   --          --           0             --         --       --      -1            0 (unspec)   --             no                  no               no             yes       -1 (default)      -1 (unknown)  stable-privacy  0 (default)  --         --         0 (default)   yes                 --             0x0 (none)           --    
 
 name  service-type                            user-name  data                                   secrets   persistent  timeout 
 -------------------------------------------------------------------------------------------------------------------------------
@@ -27306,12 +27390,12 @@ proxy  none    no            --       --
 
 
 <<<
-size: 4040
+size: 4148
 location: src/tests/client/test-client.py:test_004()/478
 cmd: $NMCLI --mode tabular --pretty --color yes -f ALL con s con-vpn-1
 lang: pl_PL.UTF-8
 returncode: 0
-stdout: 3852 bytes
+stdout: 3960 bytes
 >>>
 ============================================
   Szczegóły profilu połączenia (con-vpn-1)
@@ -27320,13 +27404,13 @@ name        id         uuid                                  stable-id  type  in
 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 connection  con-vpn-1  UUID-con-vpn-1-REPLACED-REPLACED-REP  --         vpn   --              tak          0                     -1 (default)         0 (default)    -1            0          nie        --           --    --      --          -1 (default)        --           0                     nieznane  default  -1 (default)  -1 (default)  -1                  
 
-name  method  dns  dns-search  dns-options  dns-priority  addresses  gateway  routes  route-metric  route-table  routing-rules  ignore-auto-routes  ignore-auto-dns  dhcp-client-id  dhcp-iaid  dhcp-timeout  dhcp-send-hostname  dhcp-hostname  dhcp-fqdn  dhcp-hostname-flags  never-default  may-fail  dad-timeout   dhcp-vendor-class-identifier  dhcp-reject-servers 
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-ipv4  auto    --   --          --           0             --         --       --      -1            0 (unspec)   --             nie                 nie              --              --         0 (default)   tak                 --             --         0x0 (none)           nie            tak       -1 (default)  --                            --                  
+name  method  dns  dns-search  dns-options  dns-priority  addresses  gateway  routes  route-metric  route-table  routing-rules  ignore-auto-routes  ignore-auto-dns  dhcp-client-id  dhcp-iaid  dhcp-timeout  dhcp-send-hostname  dhcp-hostname  dhcp-fqdn  dhcp-hostname-flags  never-default  may-fail  required-timeout  dad-timeout   dhcp-vendor-class-identifier  dhcp-reject-servers 
+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+ipv4  auto    --   --          --           0             --         --       --      -1            0 (unspec)   --             nie                 nie              --              --         0 (default)   tak                 --             --         0x0 (none)           nie            tak       -1 (default)      -1 (default)  --                            --                  
 
-name  method  dns  dns-search  dns-options  dns-priority  addresses  gateway  routes  route-metric  route-table  routing-rules  ignore-auto-routes  ignore-auto-dns  never-default  may-fail  ip6-privacy   addr-gen-mode   ra-timeout   dhcp-duid  dhcp-iaid  dhcp-timeout  dhcp-send-hostname  dhcp-hostname  dhcp-hostname-flags  token 
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-ipv6  auto    --   --          --           0             --         --       --      -1            0 (unspec)   --             nie                 nie              nie            tak       -1 (unknown)  stable-privacy  0 (default)  --         --         0 (default)   tak                 --             0x0 (none)           --    
+name  method  dns  dns-search  dns-options  dns-priority  addresses  gateway  routes  route-metric  route-table  routing-rules  ignore-auto-routes  ignore-auto-dns  never-default  may-fail  required-timeout  ip6-privacy   addr-gen-mode   ra-timeout   dhcp-duid  dhcp-iaid  dhcp-timeout  dhcp-send-hostname  dhcp-hostname  dhcp-hostname-flags  token 
+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+ipv6  auto    --   --          --           0             --         --       --      -1            0 (unspec)   --             nie                 nie              nie            tak       -1 (default)      -1 (unknown)  stable-privacy  0 (default)  --         --         0 (default)   tak                 --             0x0 (none)           --    
 
 name  service-type                            user-name  data                                   secrets   persistent  timeout 
 -------------------------------------------------------------------------------------------------------------------------------
@@ -27474,12 +27558,12 @@ DEVICE  TYPE      STATE        IP4-CONNECTIVITY  IP6-CONNECTIVITY  DBUS-PATH
 wlan1   wifi      niedostępne  nieznane          nieznane          /org/freedesktop/NetworkManager/Devices/5  --          --                                    --                                                 
 
 <<<
-size: 9898
+size: 10199
 location: src/tests/client/test-client.py:test_004()/487
 cmd: $NMCLI --mode tabular --pretty --color yes dev show
 lang: C
 returncode: 0
-stdout: 9734 bytes
+stdout: 10034 bytes
 >>>
 ==========================
   Device details (wlan0)
@@ -27512,13 +27596,13 @@ CON-PATH
 ----------------------------------------------------
 /org/freedesktop/NetworkManager/ActiveConnection/2 
 
-GROUP  ADDRESS                                 GATEWAY         ROUTE  DNS  DOMAIN                                                                            WINS           
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-IP4    192.168.228.18/32 | 192.168.209.179/25  192.168.41.120  --     --   sear4.foo2.bar | sear4.fo.x.y | sear4.foo1.bar | sear4.foo4.bar | sear4.fo.o.bar  192.168.120.79 
+GROUP  ADDRESS                                 GATEWAY         ROUTE  DNS  DOMAIN                                                                            SEARCHES  WINS           
+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+IP4    192.168.228.18/32 | 192.168.209.179/25  192.168.41.120  --     --   sear4.foo2.bar | sear4.fo.x.y | sear4.foo1.bar | sear4.foo4.bar | sear4.fo.o.bar  --        192.168.120.79 
 
-GROUP  ADDRESS  GATEWAY  ROUTE                                                           DNS  DOMAIN                                                                                            
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-IP6    --       --       dst = 2001:a::dd5b:aa7b:b4a2:e42/102, nh = ::, mt = 2504159086  --   sear6.foo2.bar | sear6.foo1.bar | sear6.fo.x.y | sear6.fo.o.bar | sear6.foo3.bar | sear6.foo4.bar 
+GROUP  ADDRESS  GATEWAY  ROUTE                                                           DNS  DOMAIN                                                                                             SEARCHES 
+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+IP6    --       --       dst = 2001:a::dd5b:aa7b:b4a2:e42/102, nh = ::, mt = 2504159086  --   sear6.foo2.bar | sear6.foo1.bar | sear6.fo.x.y | sear6.fo.o.bar | sear6.foo3.bar | sear6.foo4.bar  --       
 
 =========================
   Device details (eth0)
@@ -27555,13 +27639,13 @@ NAME              CARRIER  S390-SUBCHANNELS
 ---------------------------------------------
 WIRED-PROPERTIES  on       --               
 
-GROUP  ADDRESS                               GATEWAY  ROUTE  DNS                                               DOMAIN                           WINS                             
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-IP4    192.168.49.34/22 | 192.168.135.86/19  --       --     192.168.45.230 | 192.168.180.201 | 192.168.253.2  sear4.foo2.bar | sear4.foo1.bar  192.168.163.23 | 192.168.151.246 
+GROUP  ADDRESS                               GATEWAY  ROUTE  DNS                                               DOMAIN                           SEARCHES  WINS                             
+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+IP4    192.168.49.34/22 | 192.168.135.86/19  --       --     192.168.45.230 | 192.168.180.201 | 192.168.253.2  sear4.foo2.bar | sear4.foo1.bar  --        192.168.163.23 | 192.168.151.246 
 
-GROUP  ADDRESS                        GATEWAY  ROUTE  DNS                                                                                    DOMAIN                          
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-IP6    2001:a::ed81:3d7:c2e9:df82/99  --       --     2001:a::2703:f06:9619:d89f | 2001:a::3a75:3682:c683:8541 | 2001:a::584e:912:d5ee:c74f  sear6.foo4.bar | sear6.fo.o.bar 
+GROUP  ADDRESS                        GATEWAY  ROUTE  DNS                                                                                    DOMAIN                           SEARCHES 
+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+IP6    2001:a::ed81:3d7:c2e9:df82/99  --       --     2001:a::2703:f06:9619:d89f | 2001:a::3a75:3682:c683:8541 | 2001:a::584e:912:d5ee:c74f  sear6.foo4.bar | sear6.fo.o.bar  --       
 
 =========================
   Device details (eth1)
@@ -27598,13 +27682,13 @@ NAME              CARRIER  S390-SUBCHANNELS
 ---------------------------------------------
 WIRED-PROPERTIES  on       --               
 
-GROUP  ADDRESS             GATEWAY       ROUTE                                                                                                                                                                                         DNS                                               DOMAIN                                            WINS                                             
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-IP4    192.168.127.210/25  192.168.88.4  dst = 192.168.222.35/19, nh = 192.168.170.142, mt = 3609264321 | dst = 192.168.135.81/32, nh = 192.168.32.11, mt = 1316413247 | dst = 192.168.24.65/26, nh = 192.168.23.163, mt = 3855574583  192.168.16.144 | 192.168.79.53 | 192.168.237.155  sear4.foo4.bar | sear4.foo3.bar | sear4.foo1.bar  192.168.211.91 | 192.168.58.182 | 192.168.114.97 
+GROUP  ADDRESS             GATEWAY       ROUTE                                                                                                                                                                                         DNS                                               DOMAIN                                            SEARCHES  WINS                                             
+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+IP4    192.168.127.210/25  192.168.88.4  dst = 192.168.222.35/19, nh = 192.168.170.142, mt = 3609264321 | dst = 192.168.135.81/32, nh = 192.168.32.11, mt = 1316413247 | dst = 192.168.24.65/26, nh = 192.168.23.163, mt = 3855574583  192.168.16.144 | 192.168.79.53 | 192.168.237.155  sear4.foo4.bar | sear4.foo3.bar | sear4.foo1.bar  --        192.168.211.91 | 192.168.58.182 | 192.168.114.97 
 
-GROUP  ADDRESS                                                          GATEWAY  ROUTE                                           DNS                                                                                     DOMAIN         
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-IP6    2001:a::1c1:c178:169f:2b80/93 | 2001:a::1f79:e0fb:87b9:3cc6/123  --       dst = 2001:a::3166:7ed1:e4ae:7612/123, nh = ::  2001:a::edda:955:dcf4:23d4 | 2001:a::109f:aa0f:fb4a:9d5a | 2001:a::61cf:7c82:e9c0:c952  sear6.foo1.bar 
+GROUP  ADDRESS                                                          GATEWAY  ROUTE                                           DNS                                                                                     DOMAIN          SEARCHES 
+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+IP6    2001:a::1c1:c178:169f:2b80/93 | 2001:a::1f79:e0fb:87b9:3cc6/123  --       dst = 2001:a::3166:7ed1:e4ae:7612/123, nh = ::  2001:a::edda:955:dcf4:23d4 | 2001:a::109f:aa0f:fb4a:9d5a | 2001:a::61cf:7c82:e9c0:c952  sear6.foo1.bar  --       
 
 ==========================
   Device details (wlan1)
@@ -27637,13 +27721,13 @@ CON-PATH
 ----------
 --       
 
-GROUP  ADDRESS  GATEWAY         ROUTE                                                                                                                                                  DNS            DOMAIN                                                                                             WINS 
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-IP4    --       192.168.57.160  dst = 192.168.36.106/21, nh = 192.168.199.128, mt = 979274165 | dst = 192.168.238.130/19, nh = 0.0.0.0 | dst = 192.168.224.39/32, nh = 192.168.148.69  192.168.61.83  sear4.foo4.bar | sear4.fo.x.y | sear4.foo2.bar | sear4.foo1.bar | sear4.fo.o.bar | sear4.foo3.bar  --   
+GROUP  ADDRESS  GATEWAY         ROUTE                                                                                                                                                  DNS            DOMAIN                                                                                             SEARCHES  WINS 
+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+IP4    --       192.168.57.160  dst = 192.168.36.106/21, nh = 192.168.199.128, mt = 979274165 | dst = 192.168.238.130/19, nh = 0.0.0.0 | dst = 192.168.224.39/32, nh = 192.168.148.69  192.168.61.83  sear4.foo4.bar | sear4.fo.x.y | sear4.foo2.bar | sear4.foo1.bar | sear4.fo.o.bar | sear4.foo3.bar  --        --   
 
-GROUP  ADDRESS                                                                                           GATEWAY                      ROUTE                                                                                                                                                    DNS                                                       DOMAIN                          
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-IP6    2001:a::fa05:2ab4:9300:e8fe/116 | 2001:a::e9cf:bd3:caba:99b3/86 | 2001:a::2be6:44fa:2c95:5559/78  2001:a::4d70:d91a:770f:2319  dst = 2001:a::3cb2:719d:bb00:b22f/66, nh = 2001:a::81b1:58b9:7237:3511, mt = 2280277732 | dst = 2001:a::986f:983c:5eb:1c7d/99, nh = ::, mt = 1204008676  2001:a::85e7:3d7d:53e8:50ac | 2001:a::1c5:9cb5:e86d:25a5  sear6.foo4.bar | sear6.foo2.bar 
+GROUP  ADDRESS                                                                                           GATEWAY                      ROUTE                                                                                                                                                    DNS                                                       DOMAIN                           SEARCHES 
+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+IP6    2001:a::fa05:2ab4:9300:e8fe/116 | 2001:a::e9cf:bd3:caba:99b3/86 | 2001:a::2be6:44fa:2c95:5559/78  2001:a::4d70:d91a:770f:2319  dst = 2001:a::3cb2:719d:bb00:b22f/66, nh = 2001:a::81b1:58b9:7237:3511, mt = 2280277732 | dst = 2001:a::986f:983c:5eb:1c7d/99, nh = ::, mt = 1204008676  2001:a::85e7:3d7d:53e8:50ac | 2001:a::1c5:9cb5:e86d:25a5  sear6.foo4.bar | sear6.foo2.bar  --       
 
 ==========================
   Device details (wlan1)
@@ -27676,21 +27760,21 @@ CON-PATH
 ----------
 --       
 
-GROUP  ADDRESS                                GATEWAY  ROUTE                                                           DNS              DOMAIN                                                                            WINS                          
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-IP4    192.168.97.124/29 | 192.168.76.154/18  --       dst = 192.168.33.233/22, nh = 192.168.222.210, mt = 2810496551  192.168.107.109  sear4.fo.o.bar | sear4.fo.x.y | sear4.foo2.bar | sear4.foo3.bar | sear4.foo4.bar  192.168.60.60 | 192.168.63.92 
+GROUP  ADDRESS                                GATEWAY  ROUTE                                                           DNS              DOMAIN                                                                            SEARCHES  WINS                          
+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+IP4    192.168.97.124/29 | 192.168.76.154/18  --       dst = 192.168.33.233/22, nh = 192.168.222.210, mt = 2810496551  192.168.107.109  sear4.fo.o.bar | sear4.fo.x.y | sear4.foo2.bar | sear4.foo3.bar | sear4.foo4.bar  --        192.168.60.60 | 192.168.63.92 
 
-GROUP  ADDRESS                        GATEWAY  ROUTE                                                                                                                                                                                                      DNS                          DOMAIN       
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-IP6    2001:a::88ca:3654:96b:ab44/89  --       dst = 2001:a::cc8b:7c09:4673:bbb0/85, nh = ::, mt = 2821465568 | dst = 2001:a::a976:2488:f49f:b48/106, nh = 2001:a::62ae:c734:fc7b:e931, mt = 2248613879 | dst = 2001:a::afb7:4449:3787:8bb4/123, nh = ::  2001:a::2934:bd66:550d:ec19  sear6.fo.x.y 
+GROUP  ADDRESS                        GATEWAY  ROUTE                                                                                                                                                                                                      DNS                          DOMAIN        SEARCHES 
+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+IP6    2001:a::88ca:3654:96b:ab44/89  --       dst = 2001:a::cc8b:7c09:4673:bbb0/85, nh = ::, mt = 2821465568 | dst = 2001:a::a976:2488:f49f:b48/106, nh = 2001:a::62ae:c734:fc7b:e931, mt = 2248613879 | dst = 2001:a::afb7:4449:3787:8bb4/123, nh = ::  2001:a::2934:bd66:550d:ec19  sear6.fo.x.y  --       
 
 <<<
-size: 10069
+size: 10370
 location: src/tests/client/test-client.py:test_004()/488
 cmd: $NMCLI --mode tabular --pretty --color yes dev show
 lang: pl_PL.UTF-8
 returncode: 0
-stdout: 9895 bytes
+stdout: 10195 bytes
 >>>
 ===================================
   Informacje o urządzeniu (wlan0)
@@ -27723,13 +27807,13 @@ CON-PATH
 ----------------------------------------------------
 /org/freedesktop/NetworkManager/ActiveConnection/2 
 
-GROUP  ADDRESS                                 GATEWAY         ROUTE  DNS  DOMAIN                                                                            WINS           
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-IP4    192.168.228.18/32 | 192.168.209.179/25  192.168.41.120  --     --   sear4.foo2.bar | sear4.fo.x.y | sear4.foo1.bar | sear4.foo4.bar | sear4.fo.o.bar  192.168.120.79 
+GROUP  ADDRESS                                 GATEWAY         ROUTE  DNS  DOMAIN                                                                            SEARCHES  WINS           
+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+IP4    192.168.228.18/32 | 192.168.209.179/25  192.168.41.120  --     --   sear4.foo2.bar | sear4.fo.x.y | sear4.foo1.bar | sear4.foo4.bar | sear4.fo.o.bar  --        192.168.120.79 
 
-GROUP  ADDRESS  GATEWAY  ROUTE                                                           DNS  DOMAIN                                                                                            
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-IP6    --       --       dst = 2001:a::dd5b:aa7b:b4a2:e42/102, nh = ::, mt = 2504159086  --   sear6.foo2.bar | sear6.foo1.bar | sear6.fo.x.y | sear6.fo.o.bar | sear6.foo3.bar | sear6.foo4.bar 
+GROUP  ADDRESS  GATEWAY  ROUTE                                                           DNS  DOMAIN                                                                                             SEARCHES 
+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+IP6    --       --       dst = 2001:a::dd5b:aa7b:b4a2:e42/102, nh = ::, mt = 2504159086  --   sear6.foo2.bar | sear6.foo1.bar | sear6.fo.x.y | sear6.fo.o.bar | sear6.foo3.bar | sear6.foo4.bar  --       
 
 ==================================
   Informacje o urządzeniu (eth0)
@@ -27766,13 +27850,13 @@ NAME              CARRIER   S390-SUBCHANNELS
 ----------------------------------------------
 WIRED-PROPERTIES  włączone  --               
 
-GROUP  ADDRESS                               GATEWAY  ROUTE  DNS                                               DOMAIN                           WINS                             
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-IP4    192.168.49.34/22 | 192.168.135.86/19  --       --     192.168.45.230 | 192.168.180.201 | 192.168.253.2  sear4.foo2.bar | sear4.foo1.bar  192.168.163.23 | 192.168.151.246 
+GROUP  ADDRESS                               GATEWAY  ROUTE  DNS                                               DOMAIN                           SEARCHES  WINS                             
+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+IP4    192.168.49.34/22 | 192.168.135.86/19  --       --     192.168.45.230 | 192.168.180.201 | 192.168.253.2  sear4.foo2.bar | sear4.foo1.bar  --        192.168.163.23 | 192.168.151.246 
 
-GROUP  ADDRESS                        GATEWAY  ROUTE  DNS                                                                                    DOMAIN                          
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-IP6    2001:a::ed81:3d7:c2e9:df82/99  --       --     2001:a::2703:f06:9619:d89f | 2001:a::3a75:3682:c683:8541 | 2001:a::584e:912:d5ee:c74f  sear6.foo4.bar | sear6.fo.o.bar 
+GROUP  ADDRESS                        GATEWAY  ROUTE  DNS                                                                                    DOMAIN                           SEARCHES 
+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+IP6    2001:a::ed81:3d7:c2e9:df82/99  --       --     2001:a::2703:f06:9619:d89f | 2001:a::3a75:3682:c683:8541 | 2001:a::584e:912:d5ee:c74f  sear6.foo4.bar | sear6.fo.o.bar  --       
 
 ==================================
   Informacje o urządzeniu (eth1)
@@ -27809,13 +27893,13 @@ NAME              CARRIER   S390-SUBCHANNELS
 ----------------------------------------------
 WIRED-PROPERTIES  włączone  --               
 
-GROUP  ADDRESS             GATEWAY       ROUTE                                                                                                                                                                                         DNS                                               DOMAIN                                            WINS                                             
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-IP4    192.168.127.210/25  192.168.88.4  dst = 192.168.222.35/19, nh = 192.168.170.142, mt = 3609264321 | dst = 192.168.135.81/32, nh = 192.168.32.11, mt = 1316413247 | dst = 192.168.24.65/26, nh = 192.168.23.163, mt = 3855574583  192.168.16.144 | 192.168.79.53 | 192.168.237.155  sear4.foo4.bar | sear4.foo3.bar | sear4.foo1.bar  192.168.211.91 | 192.168.58.182 | 192.168.114.97 
+GROUP  ADDRESS             GATEWAY       ROUTE                                                                                                                                                                                         DNS                                               DOMAIN                                            SEARCHES  WINS                                             
+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+IP4    192.168.127.210/25  192.168.88.4  dst = 192.168.222.35/19, nh = 192.168.170.142, mt = 3609264321 | dst = 192.168.135.81/32, nh = 192.168.32.11, mt = 1316413247 | dst = 192.168.24.65/26, nh = 192.168.23.163, mt = 3855574583  192.168.16.144 | 192.168.79.53 | 192.168.237.155  sear4.foo4.bar | sear4.foo3.bar | sear4.foo1.bar  --        192.168.211.91 | 192.168.58.182 | 192.168.114.97 
 
-GROUP  ADDRESS                                                          GATEWAY  ROUTE                                           DNS                                                                                     DOMAIN         
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-IP6    2001:a::1c1:c178:169f:2b80/93 | 2001:a::1f79:e0fb:87b9:3cc6/123  --       dst = 2001:a::3166:7ed1:e4ae:7612/123, nh = ::  2001:a::edda:955:dcf4:23d4 | 2001:a::109f:aa0f:fb4a:9d5a | 2001:a::61cf:7c82:e9c0:c952  sear6.foo1.bar 
+GROUP  ADDRESS                                                          GATEWAY  ROUTE                                           DNS                                                                                     DOMAIN          SEARCHES 
+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+IP6    2001:a::1c1:c178:169f:2b80/93 | 2001:a::1f79:e0fb:87b9:3cc6/123  --       dst = 2001:a::3166:7ed1:e4ae:7612/123, nh = ::  2001:a::edda:955:dcf4:23d4 | 2001:a::109f:aa0f:fb4a:9d5a | 2001:a::61cf:7c82:e9c0:c952  sear6.foo1.bar  --       
 
 ===================================
   Informacje o urządzeniu (wlan1)
@@ -27848,13 +27932,13 @@ CON-PATH
 ----------
 --       
 
-GROUP  ADDRESS  GATEWAY         ROUTE                                                                                                                                                  DNS            DOMAIN                                                                                             WINS 
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-IP4    --       192.168.57.160  dst = 192.168.36.106/21, nh = 192.168.199.128, mt = 979274165 | dst = 192.168.238.130/19, nh = 0.0.0.0 | dst = 192.168.224.39/32, nh = 192.168.148.69  192.168.61.83  sear4.foo4.bar | sear4.fo.x.y | sear4.foo2.bar | sear4.foo1.bar | sear4.fo.o.bar | sear4.foo3.bar  --   
+GROUP  ADDRESS  GATEWAY         ROUTE                                                                                                                                                  DNS            DOMAIN                                                                                             SEARCHES  WINS 
+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+IP4    --       192.168.57.160  dst = 192.168.36.106/21, nh = 192.168.199.128, mt = 979274165 | dst = 192.168.238.130/19, nh = 0.0.0.0 | dst = 192.168.224.39/32, nh = 192.168.148.69  192.168.61.83  sear4.foo4.bar | sear4.fo.x.y | sear4.foo2.bar | sear4.foo1.bar | sear4.fo.o.bar | sear4.foo3.bar  --        --   
 
-GROUP  ADDRESS                                                                                           GATEWAY                      ROUTE                                                                                                                                                    DNS                                                       DOMAIN                          
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-IP6    2001:a::fa05:2ab4:9300:e8fe/116 | 2001:a::e9cf:bd3:caba:99b3/86 | 2001:a::2be6:44fa:2c95:5559/78  2001:a::4d70:d91a:770f:2319  dst = 2001:a::3cb2:719d:bb00:b22f/66, nh = 2001:a::81b1:58b9:7237:3511, mt = 2280277732 | dst = 2001:a::986f:983c:5eb:1c7d/99, nh = ::, mt = 1204008676  2001:a::85e7:3d7d:53e8:50ac | 2001:a::1c5:9cb5:e86d:25a5  sear6.foo4.bar | sear6.foo2.bar 
+GROUP  ADDRESS                                                                                           GATEWAY                      ROUTE                                                                                                                                                    DNS                                                       DOMAIN                           SEARCHES 
+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+IP6    2001:a::fa05:2ab4:9300:e8fe/116 | 2001:a::e9cf:bd3:caba:99b3/86 | 2001:a::2be6:44fa:2c95:5559/78  2001:a::4d70:d91a:770f:2319  dst = 2001:a::3cb2:719d:bb00:b22f/66, nh = 2001:a::81b1:58b9:7237:3511, mt = 2280277732 | dst = 2001:a::986f:983c:5eb:1c7d/99, nh = ::, mt = 1204008676  2001:a::85e7:3d7d:53e8:50ac | 2001:a::1c5:9cb5:e86d:25a5  sear6.foo4.bar | sear6.foo2.bar  --       
 
 ===================================
   Informacje o urządzeniu (wlan1)
@@ -27887,21 +27971,21 @@ CON-PATH
 ----------
 --       
 
-GROUP  ADDRESS                                GATEWAY  ROUTE                                                           DNS              DOMAIN                                                                            WINS                          
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-IP4    192.168.97.124/29 | 192.168.76.154/18  --       dst = 192.168.33.233/22, nh = 192.168.222.210, mt = 2810496551  192.168.107.109  sear4.fo.o.bar | sear4.fo.x.y | sear4.foo2.bar | sear4.foo3.bar | sear4.foo4.bar  192.168.60.60 | 192.168.63.92 
+GROUP  ADDRESS                                GATEWAY  ROUTE                                                           DNS              DOMAIN                                                                            SEARCHES  WINS                          
+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+IP4    192.168.97.124/29 | 192.168.76.154/18  --       dst = 192.168.33.233/22, nh = 192.168.222.210, mt = 2810496551  192.168.107.109  sear4.fo.o.bar | sear4.fo.x.y | sear4.foo2.bar | sear4.foo3.bar | sear4.foo4.bar  --        192.168.60.60 | 192.168.63.92 
 
-GROUP  ADDRESS                        GATEWAY  ROUTE                                                                                                                                                                                                      DNS                          DOMAIN       
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-IP6    2001:a::88ca:3654:96b:ab44/89  --       dst = 2001:a::cc8b:7c09:4673:bbb0/85, nh = ::, mt = 2821465568 | dst = 2001:a::a976:2488:f49f:b48/106, nh = 2001:a::62ae:c734:fc7b:e931, mt = 2248613879 | dst = 2001:a::afb7:4449:3787:8bb4/123, nh = ::  2001:a::2934:bd66:550d:ec19  sear6.fo.x.y 
+GROUP  ADDRESS                        GATEWAY  ROUTE                                                                                                                                                                                                      DNS                          DOMAIN        SEARCHES 
+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+IP6    2001:a::88ca:3654:96b:ab44/89  --       dst = 2001:a::cc8b:7c09:4673:bbb0/85, nh = ::, mt = 2821465568 | dst = 2001:a::a976:2488:f49f:b48/106, nh = 2001:a::62ae:c734:fc7b:e931, mt = 2248613879 | dst = 2001:a::afb7:4449:3787:8bb4/123, nh = ::  2001:a::2934:bd66:550d:ec19  sear6.fo.x.y  --       
 
 <<<
-size: 24762
+size: 25062
 location: src/tests/client/test-client.py:test_004()/489
 cmd: $NMCLI --mode tabular --pretty --color yes -f all dev show
 lang: C
 returncode: 0
-stdout: 24590 bytes
+stdout: 24890 bytes
 >>>
 ==========================
   Device details (wlan0)
@@ -27928,17 +28012,17 @@ NAME   IN-USE  BSSID              SSID        MODE   CHAN  RATE       SIGNAL  BA
 AP[2]          61:95:77:AC:1E:4C  wlan0-ap-1  Infra  1     54 Mbit/s  81      ****  WPA1      
 AP[3]          9B:F6:B7:EC:97:76  wlan0-ap-3  Infra  1     54 Mbit/s  55      **    WPA3      
 
-GROUP  ADDRESS                                 GATEWAY         ROUTE  DNS  DOMAIN                                                                            WINS           
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-IP4    192.168.228.18/32 | 192.168.209.179/25  192.168.41.120  --     --   sear4.foo2.bar | sear4.fo.x.y | sear4.foo1.bar | sear4.foo4.bar | sear4.fo.o.bar  192.168.120.79 
+GROUP  ADDRESS                                 GATEWAY         ROUTE  DNS  DOMAIN                                                                            SEARCHES  WINS           
+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+IP4    192.168.228.18/32 | 192.168.209.179/25  192.168.41.120  --     --   sear4.foo2.bar | sear4.fo.x.y | sear4.foo1.bar | sear4.foo4.bar | sear4.fo.o.bar  --        192.168.120.79 
 
 GROUP  OPTION                                                                                    
 --------------------------------------------------------------------------------------------------
 DHCP4  dhcp-4-opt-0 = val-0 | dhcp-4-opt-2 = val-2 | dhcp-4-opt-4 = val-4 | dhcp-4-opt-7 = val-7 
 
-GROUP  ADDRESS  GATEWAY  ROUTE                                                           DNS  DOMAIN                                                                                            
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-IP6    --       --       dst = 2001:a::dd5b:aa7b:b4a2:e42/102, nh = ::, mt = 2504159086  --   sear6.foo2.bar | sear6.foo1.bar | sear6.fo.x.y | sear6.fo.o.bar | sear6.foo3.bar | sear6.foo4.bar 
+GROUP  ADDRESS  GATEWAY  ROUTE                                                           DNS  DOMAIN                                                                                             SEARCHES 
+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+IP6    --       --       dst = 2001:a::dd5b:aa7b:b4a2:e42/102, nh = ::, mt = 2504159086  --   sear6.foo2.bar | sear6.foo1.bar | sear6.fo.x.y | sear6.fo.o.bar | sear6.foo3.bar | sear6.foo4.bar  --       
 
 GROUP  OPTION                                                                                                           
 -------------------------------------------------------------------------------------------------------------------------
@@ -27967,17 +28051,17 @@ NAME              CARRIER  S390-SUBCHANNELS
 ---------------------------------------------
 WIRED-PROPERTIES  on       --               
 
-GROUP  ADDRESS                               GATEWAY  ROUTE  DNS                                               DOMAIN                           WINS                             
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-IP4    192.168.49.34/22 | 192.168.135.86/19  --       --     192.168.45.230 | 192.168.180.201 | 192.168.253.2  sear4.foo2.bar | sear4.foo1.bar  192.168.163.23 | 192.168.151.246 
+GROUP  ADDRESS                               GATEWAY  ROUTE  DNS                                               DOMAIN                           SEARCHES  WINS                             
+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+IP4    192.168.49.34/22 | 192.168.135.86/19  --       --     192.168.45.230 | 192.168.180.201 | 192.168.253.2  sear4.foo2.bar | sear4.foo1.bar  --        192.168.163.23 | 192.168.151.246 
 
 GROUP  OPTION                                      
 ----------------------------------------------------
 DHCP4  dhcp-4-opt-8 = val-8 | dhcp-4-opt-9 = val-9 
 
-GROUP  ADDRESS                        GATEWAY  ROUTE  DNS                                                                                    DOMAIN                          
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-IP6    2001:a::ed81:3d7:c2e9:df82/99  --       --     2001:a::2703:f06:9619:d89f | 2001:a::3a75:3682:c683:8541 | 2001:a::584e:912:d5ee:c74f  sear6.foo4.bar | sear6.fo.o.bar 
+GROUP  ADDRESS                        GATEWAY  ROUTE  DNS                                                                                    DOMAIN                           SEARCHES 
+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+IP6    2001:a::ed81:3d7:c2e9:df82/99  --       --     2001:a::2703:f06:9619:d89f | 2001:a::3a75:3682:c683:8541 | 2001:a::584e:912:d5ee:c74f  sear6.foo4.bar | sear6.fo.o.bar  --       
 
 GROUP  OPTION                                                                                                                                                                                                                              
 --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
@@ -28006,17 +28090,17 @@ NAME              CARRIER  S390-SUBCHANNELS
 ---------------------------------------------
 WIRED-PROPERTIES  on       --               
 
-GROUP  ADDRESS             GATEWAY       ROUTE                                                                                                                                                                                         DNS                                               DOMAIN                                            WINS                                             
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-IP4    192.168.127.210/25  192.168.88.4  dst = 192.168.222.35/19, nh = 192.168.170.142, mt = 3609264321 | dst = 192.168.135.81/32, nh = 192.168.32.11, mt = 1316413247 | dst = 192.168.24.65/26, nh = 192.168.23.163, mt = 3855574583  192.168.16.144 | 192.168.79.53 | 192.168.237.155  sear4.foo4.bar | sear4.foo3.bar | sear4.foo1.bar  192.168.211.91 | 192.168.58.182 | 192.168.114.97 
+GROUP  ADDRESS             GATEWAY       ROUTE                                                                                                                                                                                         DNS                                               DOMAIN                                            SEARCHES  WINS                                             
+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+IP4    192.168.127.210/25  192.168.88.4  dst = 192.168.222.35/19, nh = 192.168.170.142, mt = 3609264321 | dst = 192.168.135.81/32, nh = 192.168.32.11, mt = 1316413247 | dst = 192.168.24.65/26, nh = 192.168.23.163, mt = 3855574583  192.168.16.144 | 192.168.79.53 | 192.168.237.155  sear4.foo4.bar | sear4.foo3.bar | sear4.foo1.bar  --        192.168.211.91 | 192.168.58.182 | 192.168.114.97 
 
 GROUP  OPTION                                                                                                                                                                                                       
 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 DHCP4  dhcp-4-opt-0 = val-0 | dhcp-4-opt-1 = val-1 | dhcp-4-opt-2 = val-2 | dhcp-4-opt-3 = val-3 | dhcp-4-opt-4 = val-4 | dhcp-4-opt-5 = val-5 | dhcp-4-opt-7 = val-7 | dhcp-4-opt-8 = val-8 | dhcp-4-opt-9 = val-9 
 
-GROUP  ADDRESS                                                          GATEWAY  ROUTE                                           DNS                                                                                     DOMAIN         
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-IP6    2001:a::1c1:c178:169f:2b80/93 | 2001:a::1f79:e0fb:87b9:3cc6/123  --       dst = 2001:a::3166:7ed1:e4ae:7612/123, nh = ::  2001:a::edda:955:dcf4:23d4 | 2001:a::109f:aa0f:fb4a:9d5a | 2001:a::61cf:7c82:e9c0:c952  sear6.foo1.bar 
+GROUP  ADDRESS                                                          GATEWAY  ROUTE                                           DNS                                                                                     DOMAIN          SEARCHES 
+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+IP6    2001:a::1c1:c178:169f:2b80/93 | 2001:a::1f79:e0fb:87b9:3cc6/123  --       dst = 2001:a::3166:7ed1:e4ae:7612/123, nh = ::  2001:a::edda:955:dcf4:23d4 | 2001:a::109f:aa0f:fb4a:9d5a | 2001:a::61cf:7c82:e9c0:c952  sear6.foo1.bar  --       
 
 GROUP  OPTION                                                                                                           
 -------------------------------------------------------------------------------------------------------------------------
@@ -28049,17 +28133,17 @@ NAME   IN-USE  BSSID              SSID        MODE   CHAN  RATE       SIGNAL  BA
 -----------------------------------------------------------------------------------------------
 AP[1]          94:2B:E8:F6:D2:86  wlan1-ap-4  Infra  1     54 Mbit/s  48      **    WPA1 WPA2 
 
-GROUP  ADDRESS  GATEWAY         ROUTE                                                                                                                                                  DNS            DOMAIN                                                                                             WINS 
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-IP4    --       192.168.57.160  dst = 192.168.36.106/21, nh = 192.168.199.128, mt = 979274165 | dst = 192.168.238.130/19, nh = 0.0.0.0 | dst = 192.168.224.39/32, nh = 192.168.148.69  192.168.61.83  sear4.foo4.bar | sear4.fo.x.y | sear4.foo2.bar | sear4.foo1.bar | sear4.fo.o.bar | sear4.foo3.bar  --   
+GROUP  ADDRESS  GATEWAY         ROUTE                                                                                                                                                  DNS            DOMAIN                                                                                             SEARCHES  WINS 
+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+IP4    --       192.168.57.160  dst = 192.168.36.106/21, nh = 192.168.199.128, mt = 979274165 | dst = 192.168.238.130/19, nh = 0.0.0.0 | dst = 192.168.224.39/32, nh = 192.168.148.69  192.168.61.83  sear4.foo4.bar | sear4.fo.x.y | sear4.foo2.bar | sear4.foo1.bar | sear4.fo.o.bar | sear4.foo3.bar  --        --   
 
 GROUP  OPTION                                                                                                                                                                                
 ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 DHCP4  dhcp-4-opt-0 = val-0 | dhcp-4-opt-1 = val-1 | dhcp-4-opt-2 = val-2 | dhcp-4-opt-4 = val-4 | dhcp-4-opt-6 = val-6 | dhcp-4-opt-7 = val-7 | dhcp-4-opt-8 = val-8 | dhcp-4-opt-9 = val-9 
 
-GROUP  ADDRESS                                                                                           GATEWAY                      ROUTE                                                                                                                                                    DNS                                                       DOMAIN                          
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-IP6    2001:a::fa05:2ab4:9300:e8fe/116 | 2001:a::e9cf:bd3:caba:99b3/86 | 2001:a::2be6:44fa:2c95:5559/78  2001:a::4d70:d91a:770f:2319  dst = 2001:a::3cb2:719d:bb00:b22f/66, nh = 2001:a::81b1:58b9:7237:3511, mt = 2280277732 | dst = 2001:a::986f:983c:5eb:1c7d/99, nh = ::, mt = 1204008676  2001:a::85e7:3d7d:53e8:50ac | 2001:a::1c5:9cb5:e86d:25a5  sear6.foo4.bar | sear6.foo2.bar 
+GROUP  ADDRESS                                                                                           GATEWAY                      ROUTE                                                                                                                                                    DNS                                                       DOMAIN                           SEARCHES 
+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+IP6    2001:a::fa05:2ab4:9300:e8fe/116 | 2001:a::e9cf:bd3:caba:99b3/86 | 2001:a::2be6:44fa:2c95:5559/78  2001:a::4d70:d91a:770f:2319  dst = 2001:a::3cb2:719d:bb00:b22f/66, nh = 2001:a::81b1:58b9:7237:3511, mt = 2280277732 | dst = 2001:a::986f:983c:5eb:1c7d/99, nh = ::, mt = 1204008676  2001:a::85e7:3d7d:53e8:50ac | 2001:a::1c5:9cb5:e86d:25a5  sear6.foo4.bar | sear6.foo2.bar  --       
 
 GROUP  OPTION                                                                                                                                                                                                       
 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
@@ -28091,17 +28175,17 @@ WIFI-PROPERTIES  yes  yes  yes   yes   yes   yes  yes    unknown  unknown  no
 NAME  IN-USE  BSSID  SSID  MODE  CHAN  RATE  SIGNAL  BARS  SECURITY 
 ---------------------------------------------------------------------
 
-GROUP  ADDRESS                                GATEWAY  ROUTE                                                           DNS              DOMAIN                                                                            WINS                          
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-IP4    192.168.97.124/29 | 192.168.76.154/18  --       dst = 192.168.33.233/22, nh = 192.168.222.210, mt = 2810496551  192.168.107.109  sear4.fo.o.bar | sear4.fo.x.y | sear4.foo2.bar | sear4.foo3.bar | sear4.foo4.bar  192.168.60.60 | 192.168.63.92 
+GROUP  ADDRESS                                GATEWAY  ROUTE                                                           DNS              DOMAIN                                                                            SEARCHES  WINS                          
+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+IP4    192.168.97.124/29 | 192.168.76.154/18  --       dst = 192.168.33.233/22, nh = 192.168.222.210, mt = 2810496551  192.168.107.109  sear4.fo.o.bar | sear4.fo.x.y | sear4.foo2.bar | sear4.foo3.bar | sear4.foo4.bar  --        192.168.60.60 | 192.168.63.92 
 
 GROUP  OPTION                                      
 ----------------------------------------------------
 DHCP4  dhcp-4-opt-0 = val-0 | dhcp-4-opt-5 = val-5 
 
-GROUP  ADDRESS                        GATEWAY  ROUTE                                                                                                                                                                                                      DNS                          DOMAIN       
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-IP6    2001:a::88ca:3654:96b:ab44/89  --       dst = 2001:a::cc8b:7c09:4673:bbb0/85, nh = ::, mt = 2821465568 | dst = 2001:a::a976:2488:f49f:b48/106, nh = 2001:a::62ae:c734:fc7b:e931, mt = 2248613879 | dst = 2001:a::afb7:4449:3787:8bb4/123, nh = ::  2001:a::2934:bd66:550d:ec19  sear6.fo.x.y 
+GROUP  ADDRESS                        GATEWAY  ROUTE                                                                                                                                                                                                      DNS                          DOMAIN        SEARCHES 
+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+IP6    2001:a::88ca:3654:96b:ab44/89  --       dst = 2001:a::cc8b:7c09:4673:bbb0/85, nh = ::, mt = 2821465568 | dst = 2001:a::a976:2488:f49f:b48/106, nh = 2001:a::62ae:c734:fc7b:e931, mt = 2248613879 | dst = 2001:a::afb7:4449:3787:8bb4/123, nh = ::  2001:a::2934:bd66:550d:ec19  sear6.fo.x.y  --       
 
 GROUP  OPTION                                                                                                           
 -------------------------------------------------------------------------------------------------------------------------
@@ -28112,12 +28196,12 @@ NAME         AVAILABLE-CONNECTION-PATHS                               AVAILABLE-
 CONNECTIONS  /org/freedesktop/NetworkManager/Settings/Connection/{2}  UUID-con-xx1-REPLACED-REPLACED-REPLA | con-xx1 
 
 <<<
-size: 25117
+size: 25417
 location: src/tests/client/test-client.py:test_004()/490
 cmd: $NMCLI --mode tabular --pretty --color yes -f all dev show
 lang: pl_PL.UTF-8
 returncode: 0
-stdout: 24935 bytes
+stdout: 25235 bytes
 >>>
 ===================================
   Informacje o urządzeniu (wlan0)
@@ -28144,17 +28228,17 @@ NAME   IN-USE  BSSID              SSID        MODE            CHAN  RATE     SIG
 AP[2]          61:95:77:AC:1E:4C  wlan0-ap-1  Infrastruktura  1     54 Mb/s  81      ****  WPA1      
 AP[3]          9B:F6:B7:EC:97:76  wlan0-ap-3  Infrastruktura  1     54 Mb/s  55      **    WPA3      
 
-GROUP  ADDRESS                                 GATEWAY         ROUTE  DNS  DOMAIN                                                                            WINS           
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-IP4    192.168.228.18/32 | 192.168.209.179/25  192.168.41.120  --     --   sear4.foo2.bar | sear4.fo.x.y | sear4.foo1.bar | sear4.foo4.bar | sear4.fo.o.bar  192.168.120.79 
+GROUP  ADDRESS                                 GATEWAY         ROUTE  DNS  DOMAIN                                                                            SEARCHES  WINS           
+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+IP4    192.168.228.18/32 | 192.168.209.179/25  192.168.41.120  --     --   sear4.foo2.bar | sear4.fo.x.y | sear4.foo1.bar | sear4.foo4.bar | sear4.fo.o.bar  --        192.168.120.79 
 
 GROUP  OPTION                                                                                    
 --------------------------------------------------------------------------------------------------
 DHCP4  dhcp-4-opt-0 = val-0 | dhcp-4-opt-2 = val-2 | dhcp-4-opt-4 = val-4 | dhcp-4-opt-7 = val-7 
 
-GROUP  ADDRESS  GATEWAY  ROUTE                                                           DNS  DOMAIN                                                                                            
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-IP6    --       --       dst = 2001:a::dd5b:aa7b:b4a2:e42/102, nh = ::, mt = 2504159086  --   sear6.foo2.bar | sear6.foo1.bar | sear6.fo.x.y | sear6.fo.o.bar | sear6.foo3.bar | sear6.foo4.bar 
+GROUP  ADDRESS  GATEWAY  ROUTE                                                           DNS  DOMAIN                                                                                             SEARCHES 
+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+IP6    --       --       dst = 2001:a::dd5b:aa7b:b4a2:e42/102, nh = ::, mt = 2504159086  --   sear6.foo2.bar | sear6.foo1.bar | sear6.fo.x.y | sear6.fo.o.bar | sear6.foo3.bar | sear6.foo4.bar  --       
 
 GROUP  OPTION                                                                                                           
 -------------------------------------------------------------------------------------------------------------------------
@@ -28183,17 +28267,17 @@ NAME              CARRIER   S390-SUBCHANNELS
 ----------------------------------------------
 WIRED-PROPERTIES  włączone  --               
 
-GROUP  ADDRESS                               GATEWAY  ROUTE  DNS                                               DOMAIN                           WINS                             
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-IP4    192.168.49.34/22 | 192.168.135.86/19  --       --     192.168.45.230 | 192.168.180.201 | 192.168.253.2  sear4.foo2.bar | sear4.foo1.bar  192.168.163.23 | 192.168.151.246 
+GROUP  ADDRESS                               GATEWAY  ROUTE  DNS                                               DOMAIN                           SEARCHES  WINS                             
+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+IP4    192.168.49.34/22 | 192.168.135.86/19  --       --     192.168.45.230 | 192.168.180.201 | 192.168.253.2  sear4.foo2.bar | sear4.foo1.bar  --        192.168.163.23 | 192.168.151.246 
 
 GROUP  OPTION                                      
 ----------------------------------------------------
 DHCP4  dhcp-4-opt-8 = val-8 | dhcp-4-opt-9 = val-9 
 
-GROUP  ADDRESS                        GATEWAY  ROUTE  DNS                                                                                    DOMAIN                          
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-IP6    2001:a::ed81:3d7:c2e9:df82/99  --       --     2001:a::2703:f06:9619:d89f | 2001:a::3a75:3682:c683:8541 | 2001:a::584e:912:d5ee:c74f  sear6.foo4.bar | sear6.fo.o.bar 
+GROUP  ADDRESS                        GATEWAY  ROUTE  DNS                                                                                    DOMAIN                           SEARCHES 
+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+IP6    2001:a::ed81:3d7:c2e9:df82/99  --       --     2001:a::2703:f06:9619:d89f | 2001:a::3a75:3682:c683:8541 | 2001:a::584e:912:d5ee:c74f  sear6.foo4.bar | sear6.fo.o.bar  --       
 
 GROUP  OPTION                                                                                                                                                                                                                              
 --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
@@ -28222,17 +28306,17 @@ NAME              CARRIER   S390-SUBCHANNELS
 ----------------------------------------------
 WIRED-PROPERTIES  włączone  --               
 
-GROUP  ADDRESS             GATEWAY       ROUTE                                                                                                                                                                                         DNS                                               DOMAIN                                            WINS                                             
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-IP4    192.168.127.210/25  192.168.88.4  dst = 192.168.222.35/19, nh = 192.168.170.142, mt = 3609264321 | dst = 192.168.135.81/32, nh = 192.168.32.11, mt = 1316413247 | dst = 192.168.24.65/26, nh = 192.168.23.163, mt = 3855574583  192.168.16.144 | 192.168.79.53 | 192.168.237.155  sear4.foo4.bar | sear4.foo3.bar | sear4.foo1.bar  192.168.211.91 | 192.168.58.182 | 192.168.114.97 
+GROUP  ADDRESS             GATEWAY       ROUTE                                                                                                                                                                                         DNS                                               DOMAIN                                            SEARCHES  WINS                                             
+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+IP4    192.168.127.210/25  192.168.88.4  dst = 192.168.222.35/19, nh = 192.168.170.142, mt = 3609264321 | dst = 192.168.135.81/32, nh = 192.168.32.11, mt = 1316413247 | dst = 192.168.24.65/26, nh = 192.168.23.163, mt = 3855574583  192.168.16.144 | 192.168.79.53 | 192.168.237.155  sear4.foo4.bar | sear4.foo3.bar | sear4.foo1.bar  --        192.168.211.91 | 192.168.58.182 | 192.168.114.97 
 
 GROUP  OPTION                                                                                                                                                                                                       
 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 DHCP4  dhcp-4-opt-0 = val-0 | dhcp-4-opt-1 = val-1 | dhcp-4-opt-2 = val-2 | dhcp-4-opt-3 = val-3 | dhcp-4-opt-4 = val-4 | dhcp-4-opt-5 = val-5 | dhcp-4-opt-7 = val-7 | dhcp-4-opt-8 = val-8 | dhcp-4-opt-9 = val-9 
 
-GROUP  ADDRESS                                                          GATEWAY  ROUTE                                           DNS                                                                                     DOMAIN         
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-IP6    2001:a::1c1:c178:169f:2b80/93 | 2001:a::1f79:e0fb:87b9:3cc6/123  --       dst = 2001:a::3166:7ed1:e4ae:7612/123, nh = ::  2001:a::edda:955:dcf4:23d4 | 2001:a::109f:aa0f:fb4a:9d5a | 2001:a::61cf:7c82:e9c0:c952  sear6.foo1.bar 
+GROUP  ADDRESS                                                          GATEWAY  ROUTE                                           DNS                                                                                     DOMAIN          SEARCHES 
+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+IP6    2001:a::1c1:c178:169f:2b80/93 | 2001:a::1f79:e0fb:87b9:3cc6/123  --       dst = 2001:a::3166:7ed1:e4ae:7612/123, nh = ::  2001:a::edda:955:dcf4:23d4 | 2001:a::109f:aa0f:fb4a:9d5a | 2001:a::61cf:7c82:e9c0:c952  sear6.foo1.bar  --       
 
 GROUP  OPTION                                                                                                           
 -------------------------------------------------------------------------------------------------------------------------
@@ -28265,17 +28349,17 @@ NAME   IN-USE  BSSID              SSID        MODE            CHAN  RATE     SIG
 ------------------------------------------------------------------------------------------------------
 AP[1]          94:2B:E8:F6:D2:86  wlan1-ap-4  Infrastruktura  1     54 Mb/s  48      **    WPA1 WPA2 
 
-GROUP  ADDRESS  GATEWAY         ROUTE                                                                                                                                                  DNS            DOMAIN                                                                                             WINS 
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-IP4    --       192.168.57.160  dst = 192.168.36.106/21, nh = 192.168.199.128, mt = 979274165 | dst = 192.168.238.130/19, nh = 0.0.0.0 | dst = 192.168.224.39/32, nh = 192.168.148.69  192.168.61.83  sear4.foo4.bar | sear4.fo.x.y | sear4.foo2.bar | sear4.foo1.bar | sear4.fo.o.bar | sear4.foo3.bar  --   
+GROUP  ADDRESS  GATEWAY         ROUTE                                                                                                                                                  DNS            DOMAIN                                                                                             SEARCHES  WINS 
+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+IP4    --       192.168.57.160  dst = 192.168.36.106/21, nh = 192.168.199.128, mt = 979274165 | dst = 192.168.238.130/19, nh = 0.0.0.0 | dst = 192.168.224.39/32, nh = 192.168.148.69  192.168.61.83  sear4.foo4.bar | sear4.fo.x.y | sear4.foo2.bar | sear4.foo1.bar | sear4.fo.o.bar | sear4.foo3.bar  --        --   
 
 GROUP  OPTION                                                                                                                                                                                
 ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 DHCP4  dhcp-4-opt-0 = val-0 | dhcp-4-opt-1 = val-1 | dhcp-4-opt-2 = val-2 | dhcp-4-opt-4 = val-4 | dhcp-4-opt-6 = val-6 | dhcp-4-opt-7 = val-7 | dhcp-4-opt-8 = val-8 | dhcp-4-opt-9 = val-9 
 
-GROUP  ADDRESS                                                                                           GATEWAY                      ROUTE                                                                                                                                                    DNS                                                       DOMAIN                          
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-IP6    2001:a::fa05:2ab4:9300:e8fe/116 | 2001:a::e9cf:bd3:caba:99b3/86 | 2001:a::2be6:44fa:2c95:5559/78  2001:a::4d70:d91a:770f:2319  dst = 2001:a::3cb2:719d:bb00:b22f/66, nh = 2001:a::81b1:58b9:7237:3511, mt = 2280277732 | dst = 2001:a::986f:983c:5eb:1c7d/99, nh = ::, mt = 1204008676  2001:a::85e7:3d7d:53e8:50ac | 2001:a::1c5:9cb5:e86d:25a5  sear6.foo4.bar | sear6.foo2.bar 
+GROUP  ADDRESS                                                                                           GATEWAY                      ROUTE                                                                                                                                                    DNS                                                       DOMAIN                           SEARCHES 
+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+IP6    2001:a::fa05:2ab4:9300:e8fe/116 | 2001:a::e9cf:bd3:caba:99b3/86 | 2001:a::2be6:44fa:2c95:5559/78  2001:a::4d70:d91a:770f:2319  dst = 2001:a::3cb2:719d:bb00:b22f/66, nh = 2001:a::81b1:58b9:7237:3511, mt = 2280277732 | dst = 2001:a::986f:983c:5eb:1c7d/99, nh = ::, mt = 1204008676  2001:a::85e7:3d7d:53e8:50ac | 2001:a::1c5:9cb5:e86d:25a5  sear6.foo4.bar | sear6.foo2.bar  --       
 
 GROUP  OPTION                                                                                                                                                                                                       
 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
@@ -28307,17 +28391,17 @@ WIFI-PROPERTIES  tak  tak  tak   tak   tak   tak  tak    nieznane  nieznane  nie
 NAME  IN-USE  BSSID  SSID  MODE  CHAN  RATE  SIGNAL  BARS  SECURITY 
 ---------------------------------------------------------------------
 
-GROUP  ADDRESS                                GATEWAY  ROUTE                                                           DNS              DOMAIN                                                                            WINS                          
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-IP4    192.168.97.124/29 | 192.168.76.154/18  --       dst = 192.168.33.233/22, nh = 192.168.222.210, mt = 2810496551  192.168.107.109  sear4.fo.o.bar | sear4.fo.x.y | sear4.foo2.bar | sear4.foo3.bar | sear4.foo4.bar  192.168.60.60 | 192.168.63.92 
+GROUP  ADDRESS                                GATEWAY  ROUTE                                                           DNS              DOMAIN                                                                            SEARCHES  WINS                          
+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+IP4    192.168.97.124/29 | 192.168.76.154/18  --       dst = 192.168.33.233/22, nh = 192.168.222.210, mt = 2810496551  192.168.107.109  sear4.fo.o.bar | sear4.fo.x.y | sear4.foo2.bar | sear4.foo3.bar | sear4.foo4.bar  --        192.168.60.60 | 192.168.63.92 
 
 GROUP  OPTION                                      
 ----------------------------------------------------
 DHCP4  dhcp-4-opt-0 = val-0 | dhcp-4-opt-5 = val-5 
 
-GROUP  ADDRESS                        GATEWAY  ROUTE                                                                                                                                                                                                      DNS                          DOMAIN       
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-IP6    2001:a::88ca:3654:96b:ab44/89  --       dst = 2001:a::cc8b:7c09:4673:bbb0/85, nh = ::, mt = 2821465568 | dst = 2001:a::a976:2488:f49f:b48/106, nh = 2001:a::62ae:c734:fc7b:e931, mt = 2248613879 | dst = 2001:a::afb7:4449:3787:8bb4/123, nh = ::  2001:a::2934:bd66:550d:ec19  sear6.fo.x.y 
+GROUP  ADDRESS                        GATEWAY  ROUTE                                                                                                                                                                                                      DNS                          DOMAIN        SEARCHES 
+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+IP6    2001:a::88ca:3654:96b:ab44/89  --       dst = 2001:a::cc8b:7c09:4673:bbb0/85, nh = ::, mt = 2821465568 | dst = 2001:a::a976:2488:f49f:b48/106, nh = 2001:a::62ae:c734:fc7b:e931, mt = 2248613879 | dst = 2001:a::afb7:4449:3787:8bb4/123, nh = ::  2001:a::2934:bd66:550d:ec19  sear6.fo.x.y  --       
 
 GROUP  OPTION                                                                                                           
 -------------------------------------------------------------------------------------------------------------------------
@@ -28328,12 +28412,12 @@ NAME         AVAILABLE-CONNECTION-PATHS                               AVAILABLE-
 CONNECTIONS  /org/freedesktop/NetworkManager/Settings/Connection/{2}  UUID-con-xx1-REPLACED-REPLACED-REPLA | con-xx1 
 
 <<<
-size: 1721
+size: 1781
 location: src/tests/client/test-client.py:test_004()/491
 cmd: $NMCLI --mode tabular --pretty --color yes dev show wlan0
 lang: C
 returncode: 0
-stdout: 1551 bytes
+stdout: 1611 bytes
 >>>
 ==========================
   Device details (wlan0)
@@ -28366,21 +28450,21 @@ CON-PATH
 ----------------------------------------------------
 /org/freedesktop/NetworkManager/ActiveConnection/2 
 
-GROUP  ADDRESS                                 GATEWAY         ROUTE  DNS  DOMAIN                                                                            WINS           
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-IP4    192.168.228.18/32 | 192.168.209.179/25  192.168.41.120  --     --   sear4.foo2.bar | sear4.fo.x.y | sear4.foo1.bar | sear4.foo4.bar | sear4.fo.o.bar  192.168.120.79 
+GROUP  ADDRESS                                 GATEWAY         ROUTE  DNS  DOMAIN                                                                            SEARCHES  WINS           
+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+IP4    192.168.228.18/32 | 192.168.209.179/25  192.168.41.120  --     --   sear4.foo2.bar | sear4.fo.x.y | sear4.foo1.bar | sear4.foo4.bar | sear4.fo.o.bar  --        192.168.120.79 
 
-GROUP  ADDRESS  GATEWAY  ROUTE                                                           DNS  DOMAIN                                                                                            
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-IP6    --       --       dst = 2001:a::dd5b:aa7b:b4a2:e42/102, nh = ::, mt = 2504159086  --   sear6.foo2.bar | sear6.foo1.bar | sear6.fo.x.y | sear6.fo.o.bar | sear6.foo3.bar | sear6.foo4.bar 
+GROUP  ADDRESS  GATEWAY  ROUTE                                                           DNS  DOMAIN                                                                                             SEARCHES 
+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+IP6    --       --       dst = 2001:a::dd5b:aa7b:b4a2:e42/102, nh = ::, mt = 2504159086  --   sear6.foo2.bar | sear6.foo1.bar | sear6.fo.x.y | sear6.fo.o.bar | sear6.foo3.bar | sear6.foo4.bar  --       
 
 <<<
-size: 1762
+size: 1822
 location: src/tests/client/test-client.py:test_004()/492
 cmd: $NMCLI --mode tabular --pretty --color yes dev show wlan0
 lang: pl_PL.UTF-8
 returncode: 0
-stdout: 1582 bytes
+stdout: 1642 bytes
 >>>
 ===================================
   Informacje o urządzeniu (wlan0)
@@ -28413,21 +28497,21 @@ CON-PATH
 ----------------------------------------------------
 /org/freedesktop/NetworkManager/ActiveConnection/2 
 
-GROUP  ADDRESS                                 GATEWAY         ROUTE  DNS  DOMAIN                                                                            WINS           
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-IP4    192.168.228.18/32 | 192.168.209.179/25  192.168.41.120  --     --   sear4.foo2.bar | sear4.fo.x.y | sear4.foo1.bar | sear4.foo4.bar | sear4.fo.o.bar  192.168.120.79 
+GROUP  ADDRESS                                 GATEWAY         ROUTE  DNS  DOMAIN                                                                            SEARCHES  WINS           
+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+IP4    192.168.228.18/32 | 192.168.209.179/25  192.168.41.120  --     --   sear4.foo2.bar | sear4.fo.x.y | sear4.foo1.bar | sear4.foo4.bar | sear4.fo.o.bar  --        192.168.120.79 
 
-GROUP  ADDRESS  GATEWAY  ROUTE                                                           DNS  DOMAIN                                                                                            
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-IP6    --       --       dst = 2001:a::dd5b:aa7b:b4a2:e42/102, nh = ::, mt = 2504159086  --   sear6.foo2.bar | sear6.foo1.bar | sear6.fo.x.y | sear6.fo.o.bar | sear6.foo3.bar | sear6.foo4.bar 
+GROUP  ADDRESS  GATEWAY  ROUTE                                                           DNS  DOMAIN                                                                                             SEARCHES 
+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+IP6    --       --       dst = 2001:a::dd5b:aa7b:b4a2:e42/102, nh = ::, mt = 2504159086  --   sear6.foo2.bar | sear6.foo1.bar | sear6.fo.x.y | sear6.fo.o.bar | sear6.foo3.bar | sear6.foo4.bar  --       
 
 <<<
-size: 5175
+size: 5235
 location: src/tests/client/test-client.py:test_004()/493
 cmd: $NMCLI --mode tabular --pretty --color yes -f all dev show wlan0
 lang: C
 returncode: 0
-stdout: 4998 bytes
+stdout: 5058 bytes
 >>>
 ==========================
   Device details (wlan0)
@@ -28454,17 +28538,17 @@ NAME   IN-USE  BSSID              SSID        MODE   CHAN  RATE       SIGNAL  BA
 AP[2]          61:95:77:AC:1E:4C  wlan0-ap-1  Infra  1     54 Mbit/s  81      ****  WPA1      
 AP[3]          9B:F6:B7:EC:97:76  wlan0-ap-3  Infra  1     54 Mbit/s  55      **    WPA3      
 
-GROUP  ADDRESS                                 GATEWAY         ROUTE  DNS  DOMAIN                                                                            WINS           
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-IP4    192.168.228.18/32 | 192.168.209.179/25  192.168.41.120  --     --   sear4.foo2.bar | sear4.fo.x.y | sear4.foo1.bar | sear4.foo4.bar | sear4.fo.o.bar  192.168.120.79 
+GROUP  ADDRESS                                 GATEWAY         ROUTE  DNS  DOMAIN                                                                            SEARCHES  WINS           
+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+IP4    192.168.228.18/32 | 192.168.209.179/25  192.168.41.120  --     --   sear4.foo2.bar | sear4.fo.x.y | sear4.foo1.bar | sear4.foo4.bar | sear4.fo.o.bar  --        192.168.120.79 
 
 GROUP  OPTION                                                                                    
 --------------------------------------------------------------------------------------------------
 DHCP4  dhcp-4-opt-0 = val-0 | dhcp-4-opt-2 = val-2 | dhcp-4-opt-4 = val-4 | dhcp-4-opt-7 = val-7 
 
-GROUP  ADDRESS  GATEWAY  ROUTE                                                           DNS  DOMAIN                                                                                            
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-IP6    --       --       dst = 2001:a::dd5b:aa7b:b4a2:e42/102, nh = ::, mt = 2504159086  --   sear6.foo2.bar | sear6.foo1.bar | sear6.fo.x.y | sear6.fo.o.bar | sear6.foo3.bar | sear6.foo4.bar 
+GROUP  ADDRESS  GATEWAY  ROUTE                                                           DNS  DOMAIN                                                                                             SEARCHES 
+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+IP6    --       --       dst = 2001:a::dd5b:aa7b:b4a2:e42/102, nh = ::, mt = 2504159086  --   sear6.foo2.bar | sear6.foo1.bar | sear6.fo.x.y | sear6.fo.o.bar | sear6.foo3.bar | sear6.foo4.bar  --       
 
 GROUP  OPTION                                                                                                           
 -------------------------------------------------------------------------------------------------------------------------
@@ -28475,12 +28559,12 @@ NAME         AVAILABLE-CONNECTION-PATHS                               AVAILABLE-
 CONNECTIONS  /org/freedesktop/NetworkManager/Settings/Connection/{2}  UUID-con-xx1-REPLACED-REPLACED-REPLA | con-xx1 
 
 <<<
-size: 5283
+size: 5343
 location: src/tests/client/test-client.py:test_004()/494
 cmd: $NMCLI --mode tabular --pretty --color yes -f all dev show wlan0
 lang: pl_PL.UTF-8
 returncode: 0
-stdout: 5096 bytes
+stdout: 5156 bytes
 >>>
 ===================================
   Informacje o urządzeniu (wlan0)
@@ -28507,17 +28591,17 @@ NAME   IN-USE  BSSID              SSID        MODE            CHAN  RATE     SIG
 AP[2]          61:95:77:AC:1E:4C  wlan0-ap-1  Infrastruktura  1     54 Mb/s  81      ****  WPA1      
 AP[3]          9B:F6:B7:EC:97:76  wlan0-ap-3  Infrastruktura  1     54 Mb/s  55      **    WPA3      
 
-GROUP  ADDRESS                                 GATEWAY         ROUTE  DNS  DOMAIN                                                                            WINS           
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-IP4    192.168.228.18/32 | 192.168.209.179/25  192.168.41.120  --     --   sear4.foo2.bar | sear4.fo.x.y | sear4.foo1.bar | sear4.foo4.bar | sear4.fo.o.bar  192.168.120.79 
+GROUP  ADDRESS                                 GATEWAY         ROUTE  DNS  DOMAIN                                                                            SEARCHES  WINS           
+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+IP4    192.168.228.18/32 | 192.168.209.179/25  192.168.41.120  --     --   sear4.foo2.bar | sear4.fo.x.y | sear4.foo1.bar | sear4.foo4.bar | sear4.fo.o.bar  --        192.168.120.79 
 
 GROUP  OPTION                                                                                    
 --------------------------------------------------------------------------------------------------
 DHCP4  dhcp-4-opt-0 = val-0 | dhcp-4-opt-2 = val-2 | dhcp-4-opt-4 = val-4 | dhcp-4-opt-7 = val-7 
 
-GROUP  ADDRESS  GATEWAY  ROUTE                                                           DNS  DOMAIN                                                                                            
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-IP6    --       --       dst = 2001:a::dd5b:aa7b:b4a2:e42/102, nh = ::, mt = 2504159086  --   sear6.foo2.bar | sear6.foo1.bar | sear6.fo.x.y | sear6.fo.o.bar | sear6.foo3.bar | sear6.foo4.bar 
+GROUP  ADDRESS  GATEWAY  ROUTE                                                           DNS  DOMAIN                                                                                             SEARCHES 
+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+IP6    --       --       dst = 2001:a::dd5b:aa7b:b4a2:e42/102, nh = ::, mt = 2504159086  --   sear6.foo2.bar | sear6.foo1.bar | sear6.fo.x.y | sear6.fo.o.bar | sear6.foo3.bar | sear6.foo4.bar  --       
 
 GROUP  OPTION                                                                                                           
 -------------------------------------------------------------------------------------------------------------------------
@@ -28940,12 +29024,12 @@ NAME   SSID        SSID-HEX              BSSID              MODE            CHAN
 
 
 <<<
-size: 5178
+size: 5238
 location: src/tests/client/test-client.py:test_004()/513
 cmd: $NMCLI --mode tabular --pretty --color yes -f ALL device show wlan0
 lang: C
 returncode: 0
-stdout: 4998 bytes
+stdout: 5058 bytes
 >>>
 ==========================
   Device details (wlan0)
@@ -28972,17 +29056,17 @@ NAME   IN-USE  BSSID              SSID        MODE   CHAN  RATE       SIGNAL  BA
 AP[2]          61:95:77:AC:1E:4C  wlan0-ap-1  Infra  1     54 Mbit/s  81      ****  WPA1      
 AP[3]          9B:F6:B7:EC:97:76  wlan0-ap-3  Infra  1     54 Mbit/s  55      **    WPA3      
 
-GROUP  ADDRESS                                 GATEWAY         ROUTE  DNS  DOMAIN                                                                            WINS           
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-IP4    192.168.228.18/32 | 192.168.209.179/25  192.168.41.120  --     --   sear4.foo2.bar | sear4.fo.x.y | sear4.foo1.bar | sear4.foo4.bar | sear4.fo.o.bar  192.168.120.79 
+GROUP  ADDRESS                                 GATEWAY         ROUTE  DNS  DOMAIN                                                                            SEARCHES  WINS           
+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+IP4    192.168.228.18/32 | 192.168.209.179/25  192.168.41.120  --     --   sear4.foo2.bar | sear4.fo.x.y | sear4.foo1.bar | sear4.foo4.bar | sear4.fo.o.bar  --        192.168.120.79 
 
 GROUP  OPTION                                                                                    
 --------------------------------------------------------------------------------------------------
 DHCP4  dhcp-4-opt-0 = val-0 | dhcp-4-opt-2 = val-2 | dhcp-4-opt-4 = val-4 | dhcp-4-opt-7 = val-7 
 
-GROUP  ADDRESS  GATEWAY  ROUTE                                                           DNS  DOMAIN                                                                                            
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-IP6    --       --       dst = 2001:a::dd5b:aa7b:b4a2:e42/102, nh = ::, mt = 2504159086  --   sear6.foo2.bar | sear6.foo1.bar | sear6.fo.x.y | sear6.fo.o.bar | sear6.foo3.bar | sear6.foo4.bar 
+GROUP  ADDRESS  GATEWAY  ROUTE                                                           DNS  DOMAIN                                                                                             SEARCHES 
+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+IP6    --       --       dst = 2001:a::dd5b:aa7b:b4a2:e42/102, nh = ::, mt = 2504159086  --   sear6.foo2.bar | sear6.foo1.bar | sear6.fo.x.y | sear6.fo.o.bar | sear6.foo3.bar | sear6.foo4.bar  --       
 
 GROUP  OPTION                                                                                                           
 -------------------------------------------------------------------------------------------------------------------------
@@ -28993,12 +29077,12 @@ NAME         AVAILABLE-CONNECTION-PATHS                               AVAILABLE-
 CONNECTIONS  /org/freedesktop/NetworkManager/Settings/Connection/{2}  UUID-con-xx1-REPLACED-REPLACED-REPLA | con-xx1 
 
 <<<
-size: 5286
+size: 5346
 location: src/tests/client/test-client.py:test_004()/514
 cmd: $NMCLI --mode tabular --pretty --color yes -f ALL device show wlan0
 lang: pl_PL.UTF-8
 returncode: 0
-stdout: 5096 bytes
+stdout: 5156 bytes
 >>>
 ===================================
   Informacje o urządzeniu (wlan0)
@@ -29025,17 +29109,17 @@ NAME   IN-USE  BSSID              SSID        MODE            CHAN  RATE     SIG
 AP[2]          61:95:77:AC:1E:4C  wlan0-ap-1  Infrastruktura  1     54 Mb/s  81      ****  WPA1      
 AP[3]          9B:F6:B7:EC:97:76  wlan0-ap-3  Infrastruktura  1     54 Mb/s  55      **    WPA3      
 
-GROUP  ADDRESS                                 GATEWAY         ROUTE  DNS  DOMAIN                                                                            WINS           
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-IP4    192.168.228.18/32 | 192.168.209.179/25  192.168.41.120  --     --   sear4.foo2.bar | sear4.fo.x.y | sear4.foo1.bar | sear4.foo4.bar | sear4.fo.o.bar  192.168.120.79 
+GROUP  ADDRESS                                 GATEWAY         ROUTE  DNS  DOMAIN                                                                            SEARCHES  WINS           
+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+IP4    192.168.228.18/32 | 192.168.209.179/25  192.168.41.120  --     --   sear4.foo2.bar | sear4.fo.x.y | sear4.foo1.bar | sear4.foo4.bar | sear4.fo.o.bar  --        192.168.120.79 
 
 GROUP  OPTION                                                                                    
 --------------------------------------------------------------------------------------------------
 DHCP4  dhcp-4-opt-0 = val-0 | dhcp-4-opt-2 = val-2 | dhcp-4-opt-4 = val-4 | dhcp-4-opt-7 = val-7 
 
-GROUP  ADDRESS  GATEWAY  ROUTE                                                           DNS  DOMAIN                                                                                            
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-IP6    --       --       dst = 2001:a::dd5b:aa7b:b4a2:e42/102, nh = ::, mt = 2504159086  --   sear6.foo2.bar | sear6.foo1.bar | sear6.fo.x.y | sear6.fo.o.bar | sear6.foo3.bar | sear6.foo4.bar 
+GROUP  ADDRESS  GATEWAY  ROUTE                                                           DNS  DOMAIN                                                                                             SEARCHES 
+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+IP6    --       --       dst = 2001:a::dd5b:aa7b:b4a2:e42/102, nh = ::, mt = 2504159086  --   sear6.foo2.bar | sear6.foo1.bar | sear6.fo.x.y | sear6.fo.o.bar | sear6.foo3.bar | sear6.foo4.bar  --       
 
 GROUP  OPTION                                                                                                           
 -------------------------------------------------------------------------------------------------------------------------
@@ -29046,12 +29130,12 @@ NAME         AVAILABLE-CONNECTION-PATHS                               AVAILABLE-
 CONNECTIONS  /org/freedesktop/NetworkManager/Settings/Connection/{2}  UUID-con-xx1-REPLACED-REPLACED-REPLA | con-xx1 
 
 <<<
-size: 1734
+size: 1794
 location: src/tests/client/test-client.py:test_004()/515
 cmd: $NMCLI --mode tabular --pretty --color yes -f COMMON device show wlan0
 lang: C
 returncode: 0
-stdout: 1551 bytes
+stdout: 1611 bytes
 >>>
 ==========================
   Device details (wlan0)
@@ -29084,21 +29168,21 @@ CON-PATH
 ----------------------------------------------------
 /org/freedesktop/NetworkManager/ActiveConnection/2 
 
-GROUP  ADDRESS                                 GATEWAY         ROUTE  DNS  DOMAIN                                                                            WINS           
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-IP4    192.168.228.18/32 | 192.168.209.179/25  192.168.41.120  --     --   sear4.foo2.bar | sear4.fo.x.y | sear4.foo1.bar | sear4.foo4.bar | sear4.fo.o.bar  192.168.120.79 
+GROUP  ADDRESS                                 GATEWAY         ROUTE  DNS  DOMAIN                                                                            SEARCHES  WINS           
+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+IP4    192.168.228.18/32 | 192.168.209.179/25  192.168.41.120  --     --   sear4.foo2.bar | sear4.fo.x.y | sear4.foo1.bar | sear4.foo4.bar | sear4.fo.o.bar  --        192.168.120.79 
 
-GROUP  ADDRESS  GATEWAY  ROUTE                                                           DNS  DOMAIN                                                                                            
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-IP6    --       --       dst = 2001:a::dd5b:aa7b:b4a2:e42/102, nh = ::, mt = 2504159086  --   sear6.foo2.bar | sear6.foo1.bar | sear6.fo.x.y | sear6.fo.o.bar | sear6.foo3.bar | sear6.foo4.bar 
+GROUP  ADDRESS  GATEWAY  ROUTE                                                           DNS  DOMAIN                                                                                             SEARCHES 
+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+IP6    --       --       dst = 2001:a::dd5b:aa7b:b4a2:e42/102, nh = ::, mt = 2504159086  --   sear6.foo2.bar | sear6.foo1.bar | sear6.fo.x.y | sear6.fo.o.bar | sear6.foo3.bar | sear6.foo4.bar  --       
 
 <<<
-size: 1775
+size: 1835
 location: src/tests/client/test-client.py:test_004()/516
 cmd: $NMCLI --mode tabular --pretty --color yes -f COMMON device show wlan0
 lang: pl_PL.UTF-8
 returncode: 0
-stdout: 1582 bytes
+stdout: 1642 bytes
 >>>
 ===================================
   Informacje o urządzeniu (wlan0)
@@ -29131,21 +29215,21 @@ CON-PATH
 ----------------------------------------------------
 /org/freedesktop/NetworkManager/ActiveConnection/2 
 
-GROUP  ADDRESS                                 GATEWAY         ROUTE  DNS  DOMAIN                                                                            WINS           
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-IP4    192.168.228.18/32 | 192.168.209.179/25  192.168.41.120  --     --   sear4.foo2.bar | sear4.fo.x.y | sear4.foo1.bar | sear4.foo4.bar | sear4.fo.o.bar  192.168.120.79 
+GROUP  ADDRESS                                 GATEWAY         ROUTE  DNS  DOMAIN                                                                            SEARCHES  WINS           
+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+IP4    192.168.228.18/32 | 192.168.209.179/25  192.168.41.120  --     --   sear4.foo2.bar | sear4.fo.x.y | sear4.foo1.bar | sear4.foo4.bar | sear4.fo.o.bar  --        192.168.120.79 
 
-GROUP  ADDRESS  GATEWAY  ROUTE                                                           DNS  DOMAIN                                                                                            
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-IP6    --       --       dst = 2001:a::dd5b:aa7b:b4a2:e42/102, nh = ::, mt = 2504159086  --   sear6.foo2.bar | sear6.foo1.bar | sear6.fo.x.y | sear6.fo.o.bar | sear6.foo3.bar | sear6.foo4.bar 
+GROUP  ADDRESS  GATEWAY  ROUTE                                                           DNS  DOMAIN                                                                                             SEARCHES 
+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+IP6    --       --       dst = 2001:a::dd5b:aa7b:b4a2:e42/102, nh = ::, mt = 2504159086  --   sear6.foo2.bar | sear6.foo1.bar | sear6.fo.x.y | sear6.fo.o.bar | sear6.foo3.bar | sear6.foo4.bar  --       
 
 <<<
-size: 5164
+size: 5224
 location: src/tests/client/test-client.py:test_004()/517
 cmd: $NMCLI --mode tabular --pretty --color yes -f GENERAL,CAPABILITIES,WIFI-PROPERTIES,AP,WIRED-PROPERTIES,WIMAX-PROPERTIES,NSP,IP4,DHCP4,IP6,DHCP6,BOND,TEAM,BRIDGE,VLAN,BLUETOOTH,CONNECTIONS device show wlan0
 lang: C
 returncode: 0
-stdout: 4846 bytes
+stdout: 4906 bytes
 >>>
 ==========================
   Device details (wlan0)
@@ -29168,17 +29252,17 @@ NAME   IN-USE  BSSID              SSID        MODE   CHAN  RATE       SIGNAL  BA
 AP[2]          61:95:77:AC:1E:4C  wlan0-ap-1  Infra  1     54 Mbit/s  81      ****  WPA1      
 AP[3]          9B:F6:B7:EC:97:76  wlan0-ap-3  Infra  1     54 Mbit/s  55      **    WPA3      
 
-GROUP  ADDRESS                                 GATEWAY         ROUTE  DNS  DOMAIN                                                                            WINS           
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-IP4    192.168.228.18/32 | 192.168.209.179/25  192.168.41.120  --     --   sear4.foo2.bar | sear4.fo.x.y | sear4.foo1.bar | sear4.foo4.bar | sear4.fo.o.bar  192.168.120.79 
+GROUP  ADDRESS                                 GATEWAY         ROUTE  DNS  DOMAIN                                                                            SEARCHES  WINS           
+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+IP4    192.168.228.18/32 | 192.168.209.179/25  192.168.41.120  --     --   sear4.foo2.bar | sear4.fo.x.y | sear4.foo1.bar | sear4.foo4.bar | sear4.fo.o.bar  --        192.168.120.79 
 
 GROUP  OPTION                                                                                    
 --------------------------------------------------------------------------------------------------
 DHCP4  dhcp-4-opt-0 = val-0 | dhcp-4-opt-2 = val-2 | dhcp-4-opt-4 = val-4 | dhcp-4-opt-7 = val-7 
 
-GROUP  ADDRESS  GATEWAY  ROUTE                                                           DNS  DOMAIN                                                                                            
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-IP6    --       --       dst = 2001:a::dd5b:aa7b:b4a2:e42/102, nh = ::, mt = 2504159086  --   sear6.foo2.bar | sear6.foo1.bar | sear6.fo.x.y | sear6.fo.o.bar | sear6.foo3.bar | sear6.foo4.bar 
+GROUP  ADDRESS  GATEWAY  ROUTE                                                           DNS  DOMAIN                                                                                             SEARCHES 
+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+IP6    --       --       dst = 2001:a::dd5b:aa7b:b4a2:e42/102, nh = ::, mt = 2504159086  --   sear6.foo2.bar | sear6.foo1.bar | sear6.fo.x.y | sear6.fo.o.bar | sear6.foo3.bar | sear6.foo4.bar  --       
 
 GROUP  OPTION                                                                                                           
 -------------------------------------------------------------------------------------------------------------------------
@@ -29189,12 +29273,12 @@ NAME         AVAILABLE-CONNECTION-PATHS                               AVAILABLE-
 CONNECTIONS  /org/freedesktop/NetworkManager/Settings/Connection/{2}  UUID-con-xx1-REPLACED-REPLACED-REPLA | con-xx1 
 
 <<<
-size: 5272
+size: 5332
 location: src/tests/client/test-client.py:test_004()/518
 cmd: $NMCLI --mode tabular --pretty --color yes -f GENERAL,CAPABILITIES,WIFI-PROPERTIES,AP,WIRED-PROPERTIES,WIMAX-PROPERTIES,NSP,IP4,DHCP4,IP6,DHCP6,BOND,TEAM,BRIDGE,VLAN,BLUETOOTH,CONNECTIONS device show wlan0
 lang: pl_PL.UTF-8
 returncode: 0
-stdout: 4944 bytes
+stdout: 5004 bytes
 >>>
 ===================================
   Informacje o urządzeniu (wlan0)
@@ -29217,17 +29301,17 @@ NAME   IN-USE  BSSID              SSID        MODE            CHAN  RATE     SIG
 AP[2]          61:95:77:AC:1E:4C  wlan0-ap-1  Infrastruktura  1     54 Mb/s  81      ****  WPA1      
 AP[3]          9B:F6:B7:EC:97:76  wlan0-ap-3  Infrastruktura  1     54 Mb/s  55      **    WPA3      
 
-GROUP  ADDRESS                                 GATEWAY         ROUTE  DNS  DOMAIN                                                                            WINS           
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-IP4    192.168.228.18/32 | 192.168.209.179/25  192.168.41.120  --     --   sear4.foo2.bar | sear4.fo.x.y | sear4.foo1.bar | sear4.foo4.bar | sear4.fo.o.bar  192.168.120.79 
+GROUP  ADDRESS                                 GATEWAY         ROUTE  DNS  DOMAIN                                                                            SEARCHES  WINS           
+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+IP4    192.168.228.18/32 | 192.168.209.179/25  192.168.41.120  --     --   sear4.foo2.bar | sear4.fo.x.y | sear4.foo1.bar | sear4.foo4.bar | sear4.fo.o.bar  --        192.168.120.79 
 
 GROUP  OPTION                                                                                    
 --------------------------------------------------------------------------------------------------
 DHCP4  dhcp-4-opt-0 = val-0 | dhcp-4-opt-2 = val-2 | dhcp-4-opt-4 = val-4 | dhcp-4-opt-7 = val-7 
 
-GROUP  ADDRESS  GATEWAY  ROUTE                                                           DNS  DOMAIN                                                                                            
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-IP6    --       --       dst = 2001:a::dd5b:aa7b:b4a2:e42/102, nh = ::, mt = 2504159086  --   sear6.foo2.bar | sear6.foo1.bar | sear6.fo.x.y | sear6.fo.o.bar | sear6.foo3.bar | sear6.foo4.bar 
+GROUP  ADDRESS  GATEWAY  ROUTE                                                           DNS  DOMAIN                                                                                             SEARCHES 
+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+IP6    --       --       dst = 2001:a::dd5b:aa7b:b4a2:e42/102, nh = ::, mt = 2504159086  --   sear6.foo2.bar | sear6.foo1.bar | sear6.fo.x.y | sear6.fo.o.bar | sear6.foo3.bar | sear6.foo4.bar  --       
 
 GROUP  OPTION                                                                                                           
 -------------------------------------------------------------------------------------------------------------------------
@@ -29414,94 +29498,94 @@ interface-name
 
 
 <<<
-size: 814
+size: 820
 location: src/tests/client/test-client.py:test_004()/523
 cmd: $NMCLI --mode tabular --terse con s con-vpn-1
 lang: C
 returncode: 0
-stdout: 657 bytes
+stdout: 663 bytes
 >>>
 connection:con-vpn-1:UUID-con-vpn-1-REPLACED-REPLACED-REP::vpn::yes:0:-1:0:-1:0:no:::::-1::0:unknown:default:-1:-1:-1
-ipv4:auto::::0::::-1:0::no:no:::0:yes:::0x0:no:yes:-1::
-ipv6:auto::::0::::-1:0::no:no:no:yes:-1:stable-privacy:0:::0:yes::0x0:
+ipv4:auto::::0::::-1:0::no:no:::0:yes:::0x0:no:yes:-1:-1::
+ipv6:auto::::0::::-1:0::no:no:no:yes:-1:-1:stable-privacy:0:::0:yes::0x0:
 vpn:org.freedesktop.NetworkManager.openvpn::key1 = val1, key2 = val2, key3 = val3:<hidden>:no:0
 proxy:none:no::
 GENERAL:con-vpn-1:UUID-con-vpn-1-REPLACED-REPLACED-REP:wlan0:wlan0:activated:no:no::yes:/org/freedesktop/NetworkManager/ActiveConnection/2:/org/freedesktop/NetworkManager/Settings/Connection/3::
 VPN:openvpn:::*** VPN connection con-vpn-1 ***:5 - VPN connected:key1 = val1 | key2 = val2 | key3 = val3
 
 <<<
-size: 824
+size: 830
 location: src/tests/client/test-client.py:test_004()/524
 cmd: $NMCLI --mode tabular --terse con s con-vpn-1
 lang: pl_PL.UTF-8
 returncode: 0
-stdout: 657 bytes
+stdout: 663 bytes
 >>>
 connection:con-vpn-1:UUID-con-vpn-1-REPLACED-REPLACED-REP::vpn::yes:0:-1:0:-1:0:no:::::-1::0:unknown:default:-1:-1:-1
-ipv4:auto::::0::::-1:0::no:no:::0:yes:::0x0:no:yes:-1::
-ipv6:auto::::0::::-1:0::no:no:no:yes:-1:stable-privacy:0:::0:yes::0x0:
+ipv4:auto::::0::::-1:0::no:no:::0:yes:::0x0:no:yes:-1:-1::
+ipv6:auto::::0::::-1:0::no:no:no:yes:-1:-1:stable-privacy:0:::0:yes::0x0:
 vpn:org.freedesktop.NetworkManager.openvpn::key1 = val1, key2 = val2, key3 = val3:<hidden>:no:0
 proxy:none:no::
 GENERAL:con-vpn-1:UUID-con-vpn-1-REPLACED-REPLACED-REP:wlan0:wlan0:activated:no:no::yes:/org/freedesktop/NetworkManager/ActiveConnection/2:/org/freedesktop/NetworkManager/Settings/Connection/3::
 VPN:openvpn:::*** VPN connection con-vpn-1 ***:5 - VPN connected:key1 = val1 | key2 = val2 | key3 = val3
 
 <<<
-size: 814
+size: 820
 location: src/tests/client/test-client.py:test_004()/525
 cmd: $NMCLI --mode tabular --terse con s con-vpn-1
 lang: C
 returncode: 0
-stdout: 657 bytes
+stdout: 663 bytes
 >>>
 connection:con-vpn-1:UUID-con-vpn-1-REPLACED-REPLACED-REP::vpn::yes:0:-1:0:-1:0:no:::::-1::0:unknown:default:-1:-1:-1
-ipv4:auto::::0::::-1:0::no:no:::0:yes:::0x0:no:yes:-1::
-ipv6:auto::::0::::-1:0::no:no:no:yes:-1:stable-privacy:0:::0:yes::0x0:
+ipv4:auto::::0::::-1:0::no:no:::0:yes:::0x0:no:yes:-1:-1::
+ipv6:auto::::0::::-1:0::no:no:no:yes:-1:-1:stable-privacy:0:::0:yes::0x0:
 vpn:org.freedesktop.NetworkManager.openvpn::key1 = val1, key2 = val2, key3 = val3:<hidden>:no:0
 proxy:none:no::
 GENERAL:con-vpn-1:UUID-con-vpn-1-REPLACED-REPLACED-REP:wlan0:wlan0:activated:no:no::yes:/org/freedesktop/NetworkManager/ActiveConnection/2:/org/freedesktop/NetworkManager/Settings/Connection/3::
 VPN:openvpn:::*** VPN connection con-vpn-1 ***:5 - VPN connected:key1 = val1 | key2 = val2 | key3 = val3
 
 <<<
-size: 824
+size: 830
 location: src/tests/client/test-client.py:test_004()/526
 cmd: $NMCLI --mode tabular --terse con s con-vpn-1
 lang: pl_PL.UTF-8
 returncode: 0
-stdout: 657 bytes
+stdout: 663 bytes
 >>>
 connection:con-vpn-1:UUID-con-vpn-1-REPLACED-REPLACED-REP::vpn::yes:0:-1:0:-1:0:no:::::-1::0:unknown:default:-1:-1:-1
-ipv4:auto::::0::::-1:0::no:no:::0:yes:::0x0:no:yes:-1::
-ipv6:auto::::0::::-1:0::no:no:no:yes:-1:stable-privacy:0:::0:yes::0x0:
+ipv4:auto::::0::::-1:0::no:no:::0:yes:::0x0:no:yes:-1:-1::
+ipv6:auto::::0::::-1:0::no:no:no:yes:-1:-1:stable-privacy:0:::0:yes::0x0:
 vpn:org.freedesktop.NetworkManager.openvpn::key1 = val1, key2 = val2, key3 = val3:<hidden>:no:0
 proxy:none:no::
 GENERAL:con-vpn-1:UUID-con-vpn-1-REPLACED-REPLACED-REP:wlan0:wlan0:activated:no:no::yes:/org/freedesktop/NetworkManager/ActiveConnection/2:/org/freedesktop/NetworkManager/Settings/Connection/3::
 VPN:openvpn:::*** VPN connection con-vpn-1 ***:5 - VPN connected:key1 = val1 | key2 = val2 | key3 = val3
 
 <<<
-size: 521
+size: 527
 location: src/tests/client/test-client.py:test_004()/527
 cmd: $NMCLI --mode tabular --terse -f ALL con s con-vpn-1
 lang: C
 returncode: 0
-stdout: 357 bytes
+stdout: 363 bytes
 >>>
 connection:con-vpn-1:UUID-con-vpn-1-REPLACED-REPLACED-REP::vpn::yes:0:-1:0:-1:0:no:::::-1::0:unknown:default:-1:-1:-1
-ipv4:auto::::0::::-1:0::no:no:::0:yes:::0x0:no:yes:-1::
-ipv6:auto::::0::::-1:0::no:no:no:yes:-1:stable-privacy:0:::0:yes::0x0:
+ipv4:auto::::0::::-1:0::no:no:::0:yes:::0x0:no:yes:-1:-1::
+ipv6:auto::::0::::-1:0::no:no:no:yes:-1:-1:stable-privacy:0:::0:yes::0x0:
 vpn:org.freedesktop.NetworkManager.openvpn::key1 = val1, key2 = val2, key3 = val3:<hidden>:no:0
 proxy:none:no::
 
 <<<
-size: 531
+size: 537
 location: src/tests/client/test-client.py:test_004()/528
 cmd: $NMCLI --mode tabular --terse -f ALL con s con-vpn-1
 lang: pl_PL.UTF-8
 returncode: 0
-stdout: 357 bytes
+stdout: 363 bytes
 >>>
 connection:con-vpn-1:UUID-con-vpn-1-REPLACED-REPLACED-REP::vpn::yes:0:-1:0:-1:0:no:::::-1::0:unknown:default:-1:-1:-1
-ipv4:auto::::0::::-1:0::no:no:::0:yes:::0x0:no:yes:-1::
-ipv6:auto::::0::::-1:0::no:no:no:yes:-1:stable-privacy:0:::0:yes::0x0:
+ipv4:auto::::0::::-1:0::no:no:::0:yes:::0x0:no:yes:-1:-1::
+ipv6:auto::::0::::-1:0::no:no:no:yes:-1:-1:stable-privacy:0:::0:yes::0x0:
 vpn:org.freedesktop.NetworkManager.openvpn::key1 = val1, key2 = val2, key3 = val3:<hidden>:no:0
 proxy:none:no::
 
@@ -29602,12 +29686,12 @@ wlan1:wifi:unavailable:unknown:unknown:/org/freedesktop/NetworkManager/Devices/4
 wlan1:wifi:unavailable:unknown:unknown:/org/freedesktop/NetworkManager/Devices/5:::
 
 <<<
-size: 3091
+size: 3101
 location: src/tests/client/test-client.py:test_004()/537
 cmd: $NMCLI --mode tabular --terse dev show
 lang: C
 returncode: 0
-stdout: 2940 bytes
+stdout: 2950 bytes
 >>>
 wlan0
 wifi
@@ -29616,8 +29700,8 @@ wifi
 100 (connected)
 con-vpn-1
 /org/freedesktop/NetworkManager/ActiveConnection/2
-IP4:192.168.228.18/32 | 192.168.209.179/25:192.168.41.120:::sear4.foo2.bar | sear4.fo.x.y | sear4.foo1.bar | sear4.foo4.bar | sear4.fo.o.bar:192.168.120.79
-IP6:::dst = 2001\:a\:\:dd5b\:aa7b\:b4a2\:e42/102, nh = \:\:, mt = 2504159086::sear6.foo2.bar | sear6.foo1.bar | sear6.fo.x.y | sear6.fo.o.bar | sear6.foo3.bar | sear6.foo4.bar
+IP4:192.168.228.18/32 | 192.168.209.179/25:192.168.41.120:::sear4.foo2.bar | sear4.fo.x.y | sear4.foo1.bar | sear4.foo4.bar | sear4.fo.o.bar::192.168.120.79
+IP6:::dst = 2001\:a\:\:dd5b\:aa7b\:b4a2\:e42/102, nh = \:\:, mt = 2504159086::sear6.foo2.bar | sear6.foo1.bar | sear6.fo.x.y | sear6.fo.o.bar | sear6.foo3.bar | sear6.foo4.bar:
 
 eth0
 ethernet
@@ -29627,8 +29711,8 @@ AB\:B7\:BF\:E2\:48\:E8
 
 
 WIRED-PROPERTIES:on:
-IP4:192.168.49.34/22 | 192.168.135.86/19:::192.168.45.230 | 192.168.180.201 | 192.168.253.2:sear4.foo2.bar | sear4.foo1.bar:192.168.163.23 | 192.168.151.246
-IP6:2001\:a\:\:ed81\:3d7\:c2e9\:df82/99:::2001\:a\:\:2703\:f06\:9619\:d89f | 2001\:a\:\:3a75\:3682\:c683\:8541 | 2001\:a\:\:584e\:912\:d5ee\:c74f:sear6.foo4.bar | sear6.fo.o.bar
+IP4:192.168.49.34/22 | 192.168.135.86/19:::192.168.45.230 | 192.168.180.201 | 192.168.253.2:sear4.foo2.bar | sear4.foo1.bar::192.168.163.23 | 192.168.151.246
+IP6:2001\:a\:\:ed81\:3d7\:c2e9\:df82/99:::2001\:a\:\:2703\:f06\:9619\:d89f | 2001\:a\:\:3a75\:3682\:c683\:8541 | 2001\:a\:\:584e\:912\:d5ee\:c74f:sear6.foo4.bar | sear6.fo.o.bar:
 
 eth1
 ethernet
@@ -29638,8 +29722,8 @@ E7\:78\:B1\:93\:2B\:22
 
 
 WIRED-PROPERTIES:on:
-IP4:192.168.127.210/25:192.168.88.4:dst = 192.168.222.35/19, nh = 192.168.170.142, mt = 3609264321 | dst = 192.168.135.81/32, nh = 192.168.32.11, mt = 1316413247 | dst = 192.168.24.65/26, nh = 192.168.23.163, mt = 3855574583:192.168.16.144 | 192.168.79.53 | 192.168.237.155:sear4.foo4.bar | sear4.foo3.bar | sear4.foo1.bar:192.168.211.91 | 192.168.58.182 | 192.168.114.97
-IP6:2001\:a\:\:1c1\:c178\:169f\:2b80/93 | 2001\:a\:\:1f79\:e0fb\:87b9\:3cc6/123::dst = 2001\:a\:\:3166\:7ed1\:e4ae\:7612/123, nh = \:\::2001\:a\:\:edda\:955\:dcf4\:23d4 | 2001\:a\:\:109f\:aa0f\:fb4a\:9d5a | 2001\:a\:\:61cf\:7c82\:e9c0\:c952:sear6.foo1.bar
+IP4:192.168.127.210/25:192.168.88.4:dst = 192.168.222.35/19, nh = 192.168.170.142, mt = 3609264321 | dst = 192.168.135.81/32, nh = 192.168.32.11, mt = 1316413247 | dst = 192.168.24.65/26, nh = 192.168.23.163, mt = 3855574583:192.168.16.144 | 192.168.79.53 | 192.168.237.155:sear4.foo4.bar | sear4.foo3.bar | sear4.foo1.bar::192.168.211.91 | 192.168.58.182 | 192.168.114.97
+IP6:2001\:a\:\:1c1\:c178\:169f\:2b80/93 | 2001\:a\:\:1f79\:e0fb\:87b9\:3cc6/123::dst = 2001\:a\:\:3166\:7ed1\:e4ae\:7612/123, nh = \:\::2001\:a\:\:edda\:955\:dcf4\:23d4 | 2001\:a\:\:109f\:aa0f\:fb4a\:9d5a | 2001\:a\:\:61cf\:7c82\:e9c0\:c952:sear6.foo1.bar:
 
 wlan1
 wifi
@@ -29648,8 +29732,8 @@ wifi
 20 (unavailable)
 
 
-IP4::192.168.57.160:dst = 192.168.36.106/21, nh = 192.168.199.128, mt = 979274165 | dst = 192.168.238.130/19, nh = 0.0.0.0 | dst = 192.168.224.39/32, nh = 192.168.148.69:192.168.61.83:sear4.foo4.bar | sear4.fo.x.y | sear4.foo2.bar | sear4.foo1.bar | sear4.fo.o.bar | sear4.foo3.bar:
-IP6:2001\:a\:\:fa05\:2ab4\:9300\:e8fe/116 | 2001\:a\:\:e9cf\:bd3\:caba\:99b3/86 | 2001\:a\:\:2be6\:44fa\:2c95\:5559/78:2001\:a\:\:4d70\:d91a\:770f\:2319:dst = 2001\:a\:\:3cb2\:719d\:bb00\:b22f/66, nh = 2001\:a\:\:81b1\:58b9\:7237\:3511, mt = 2280277732 | dst = 2001\:a\:\:986f\:983c\:5eb\:1c7d/99, nh = \:\:, mt = 1204008676:2001\:a\:\:85e7\:3d7d\:53e8\:50ac | 2001\:a\:\:1c5\:9cb5\:e86d\:25a5:sear6.foo4.bar | sear6.foo2.bar
+IP4::192.168.57.160:dst = 192.168.36.106/21, nh = 192.168.199.128, mt = 979274165 | dst = 192.168.238.130/19, nh = 0.0.0.0 | dst = 192.168.224.39/32, nh = 192.168.148.69:192.168.61.83:sear4.foo4.bar | sear4.fo.x.y | sear4.foo2.bar | sear4.foo1.bar | sear4.fo.o.bar | sear4.foo3.bar::
+IP6:2001\:a\:\:fa05\:2ab4\:9300\:e8fe/116 | 2001\:a\:\:e9cf\:bd3\:caba\:99b3/86 | 2001\:a\:\:2be6\:44fa\:2c95\:5559/78:2001\:a\:\:4d70\:d91a\:770f\:2319:dst = 2001\:a\:\:3cb2\:719d\:bb00\:b22f/66, nh = 2001\:a\:\:81b1\:58b9\:7237\:3511, mt = 2280277732 | dst = 2001\:a\:\:986f\:983c\:5eb\:1c7d/99, nh = \:\:, mt = 1204008676:2001\:a\:\:85e7\:3d7d\:53e8\:50ac | 2001\:a\:\:1c5\:9cb5\:e86d\:25a5:sear6.foo4.bar | sear6.foo2.bar:
 
 wlan1
 wifi
@@ -29658,16 +29742,16 @@ wifi
 20 (unavailable)
 
 
-IP4:192.168.97.124/29 | 192.168.76.154/18::dst = 192.168.33.233/22, nh = 192.168.222.210, mt = 2810496551:192.168.107.109:sear4.fo.o.bar | sear4.fo.x.y | sear4.foo2.bar | sear4.foo3.bar | sear4.foo4.bar:192.168.60.60 | 192.168.63.92
-IP6:2001\:a\:\:88ca\:3654\:96b\:ab44/89::dst = 2001\:a\:\:cc8b\:7c09\:4673\:bbb0/85, nh = \:\:, mt = 2821465568 | dst = 2001\:a\:\:a976\:2488\:f49f\:b48/106, nh = 2001\:a\:\:62ae\:c734\:fc7b\:e931, mt = 2248613879 | dst = 2001\:a\:\:afb7\:4449\:3787\:8bb4/123, nh = \:\::2001\:a\:\:2934\:bd66\:550d\:ec19:sear6.fo.x.y
+IP4:192.168.97.124/29 | 192.168.76.154/18::dst = 192.168.33.233/22, nh = 192.168.222.210, mt = 2810496551:192.168.107.109:sear4.fo.o.bar | sear4.fo.x.y | sear4.foo2.bar | sear4.foo3.bar | sear4.foo4.bar::192.168.60.60 | 192.168.63.92
+IP6:2001\:a\:\:88ca\:3654\:96b\:ab44/89::dst = 2001\:a\:\:cc8b\:7c09\:4673\:bbb0/85, nh = \:\:, mt = 2821465568 | dst = 2001\:a\:\:a976\:2488\:f49f\:b48/106, nh = 2001\:a\:\:62ae\:c734\:fc7b\:e931, mt = 2248613879 | dst = 2001\:a\:\:afb7\:4449\:3787\:8bb4/123, nh = \:\::2001\:a\:\:2934\:bd66\:550d\:ec19:sear6.fo.x.y:
 
 <<<
-size: 3101
+size: 3111
 location: src/tests/client/test-client.py:test_004()/538
 cmd: $NMCLI --mode tabular --terse dev show
 lang: pl_PL.UTF-8
 returncode: 0
-stdout: 2940 bytes
+stdout: 2950 bytes
 >>>
 wlan0
 wifi
@@ -29676,8 +29760,8 @@ wifi
 100 (connected)
 con-vpn-1
 /org/freedesktop/NetworkManager/ActiveConnection/2
-IP4:192.168.228.18/32 | 192.168.209.179/25:192.168.41.120:::sear4.foo2.bar | sear4.fo.x.y | sear4.foo1.bar | sear4.foo4.bar | sear4.fo.o.bar:192.168.120.79
-IP6:::dst = 2001\:a\:\:dd5b\:aa7b\:b4a2\:e42/102, nh = \:\:, mt = 2504159086::sear6.foo2.bar | sear6.foo1.bar | sear6.fo.x.y | sear6.fo.o.bar | sear6.foo3.bar | sear6.foo4.bar
+IP4:192.168.228.18/32 | 192.168.209.179/25:192.168.41.120:::sear4.foo2.bar | sear4.fo.x.y | sear4.foo1.bar | sear4.foo4.bar | sear4.fo.o.bar::192.168.120.79
+IP6:::dst = 2001\:a\:\:dd5b\:aa7b\:b4a2\:e42/102, nh = \:\:, mt = 2504159086::sear6.foo2.bar | sear6.foo1.bar | sear6.fo.x.y | sear6.fo.o.bar | sear6.foo3.bar | sear6.foo4.bar:
 
 eth0
 ethernet
@@ -29687,8 +29771,8 @@ AB\:B7\:BF\:E2\:48\:E8
 
 
 WIRED-PROPERTIES:on:
-IP4:192.168.49.34/22 | 192.168.135.86/19:::192.168.45.230 | 192.168.180.201 | 192.168.253.2:sear4.foo2.bar | sear4.foo1.bar:192.168.163.23 | 192.168.151.246
-IP6:2001\:a\:\:ed81\:3d7\:c2e9\:df82/99:::2001\:a\:\:2703\:f06\:9619\:d89f | 2001\:a\:\:3a75\:3682\:c683\:8541 | 2001\:a\:\:584e\:912\:d5ee\:c74f:sear6.foo4.bar | sear6.fo.o.bar
+IP4:192.168.49.34/22 | 192.168.135.86/19:::192.168.45.230 | 192.168.180.201 | 192.168.253.2:sear4.foo2.bar | sear4.foo1.bar::192.168.163.23 | 192.168.151.246
+IP6:2001\:a\:\:ed81\:3d7\:c2e9\:df82/99:::2001\:a\:\:2703\:f06\:9619\:d89f | 2001\:a\:\:3a75\:3682\:c683\:8541 | 2001\:a\:\:584e\:912\:d5ee\:c74f:sear6.foo4.bar | sear6.fo.o.bar:
 
 eth1
 ethernet
@@ -29698,8 +29782,8 @@ E7\:78\:B1\:93\:2B\:22
 
 
 WIRED-PROPERTIES:on:
-IP4:192.168.127.210/25:192.168.88.4:dst = 192.168.222.35/19, nh = 192.168.170.142, mt = 3609264321 | dst = 192.168.135.81/32, nh = 192.168.32.11, mt = 1316413247 | dst = 192.168.24.65/26, nh = 192.168.23.163, mt = 3855574583:192.168.16.144 | 192.168.79.53 | 192.168.237.155:sear4.foo4.bar | sear4.foo3.bar | sear4.foo1.bar:192.168.211.91 | 192.168.58.182 | 192.168.114.97
-IP6:2001\:a\:\:1c1\:c178\:169f\:2b80/93 | 2001\:a\:\:1f79\:e0fb\:87b9\:3cc6/123::dst = 2001\:a\:\:3166\:7ed1\:e4ae\:7612/123, nh = \:\::2001\:a\:\:edda\:955\:dcf4\:23d4 | 2001\:a\:\:109f\:aa0f\:fb4a\:9d5a | 2001\:a\:\:61cf\:7c82\:e9c0\:c952:sear6.foo1.bar
+IP4:192.168.127.210/25:192.168.88.4:dst = 192.168.222.35/19, nh = 192.168.170.142, mt = 3609264321 | dst = 192.168.135.81/32, nh = 192.168.32.11, mt = 1316413247 | dst = 192.168.24.65/26, nh = 192.168.23.163, mt = 3855574583:192.168.16.144 | 192.168.79.53 | 192.168.237.155:sear4.foo4.bar | sear4.foo3.bar | sear4.foo1.bar::192.168.211.91 | 192.168.58.182 | 192.168.114.97
+IP6:2001\:a\:\:1c1\:c178\:169f\:2b80/93 | 2001\:a\:\:1f79\:e0fb\:87b9\:3cc6/123::dst = 2001\:a\:\:3166\:7ed1\:e4ae\:7612/123, nh = \:\::2001\:a\:\:edda\:955\:dcf4\:23d4 | 2001\:a\:\:109f\:aa0f\:fb4a\:9d5a | 2001\:a\:\:61cf\:7c82\:e9c0\:c952:sear6.foo1.bar:
 
 wlan1
 wifi
@@ -29708,8 +29792,8 @@ wifi
 20 (unavailable)
 
 
-IP4::192.168.57.160:dst = 192.168.36.106/21, nh = 192.168.199.128, mt = 979274165 | dst = 192.168.238.130/19, nh = 0.0.0.0 | dst = 192.168.224.39/32, nh = 192.168.148.69:192.168.61.83:sear4.foo4.bar | sear4.fo.x.y | sear4.foo2.bar | sear4.foo1.bar | sear4.fo.o.bar | sear4.foo3.bar:
-IP6:2001\:a\:\:fa05\:2ab4\:9300\:e8fe/116 | 2001\:a\:\:e9cf\:bd3\:caba\:99b3/86 | 2001\:a\:\:2be6\:44fa\:2c95\:5559/78:2001\:a\:\:4d70\:d91a\:770f\:2319:dst = 2001\:a\:\:3cb2\:719d\:bb00\:b22f/66, nh = 2001\:a\:\:81b1\:58b9\:7237\:3511, mt = 2280277732 | dst = 2001\:a\:\:986f\:983c\:5eb\:1c7d/99, nh = \:\:, mt = 1204008676:2001\:a\:\:85e7\:3d7d\:53e8\:50ac | 2001\:a\:\:1c5\:9cb5\:e86d\:25a5:sear6.foo4.bar | sear6.foo2.bar
+IP4::192.168.57.160:dst = 192.168.36.106/21, nh = 192.168.199.128, mt = 979274165 | dst = 192.168.238.130/19, nh = 0.0.0.0 | dst = 192.168.224.39/32, nh = 192.168.148.69:192.168.61.83:sear4.foo4.bar | sear4.fo.x.y | sear4.foo2.bar | sear4.foo1.bar | sear4.fo.o.bar | sear4.foo3.bar::
+IP6:2001\:a\:\:fa05\:2ab4\:9300\:e8fe/116 | 2001\:a\:\:e9cf\:bd3\:caba\:99b3/86 | 2001\:a\:\:2be6\:44fa\:2c95\:5559/78:2001\:a\:\:4d70\:d91a\:770f\:2319:dst = 2001\:a\:\:3cb2\:719d\:bb00\:b22f/66, nh = 2001\:a\:\:81b1\:58b9\:7237\:3511, mt = 2280277732 | dst = 2001\:a\:\:986f\:983c\:5eb\:1c7d/99, nh = \:\:, mt = 1204008676:2001\:a\:\:85e7\:3d7d\:53e8\:50ac | 2001\:a\:\:1c5\:9cb5\:e86d\:25a5:sear6.foo4.bar | sear6.foo2.bar:
 
 wlan1
 wifi
@@ -29718,16 +29802,16 @@ wifi
 20 (unavailable)
 
 
-IP4:192.168.97.124/29 | 192.168.76.154/18::dst = 192.168.33.233/22, nh = 192.168.222.210, mt = 2810496551:192.168.107.109:sear4.fo.o.bar | sear4.fo.x.y | sear4.foo2.bar | sear4.foo3.bar | sear4.foo4.bar:192.168.60.60 | 192.168.63.92
-IP6:2001\:a\:\:88ca\:3654\:96b\:ab44/89::dst = 2001\:a\:\:cc8b\:7c09\:4673\:bbb0/85, nh = \:\:, mt = 2821465568 | dst = 2001\:a\:\:a976\:2488\:f49f\:b48/106, nh = 2001\:a\:\:62ae\:c734\:fc7b\:e931, mt = 2248613879 | dst = 2001\:a\:\:afb7\:4449\:3787\:8bb4/123, nh = \:\::2001\:a\:\:2934\:bd66\:550d\:ec19:sear6.fo.x.y
+IP4:192.168.97.124/29 | 192.168.76.154/18::dst = 192.168.33.233/22, nh = 192.168.222.210, mt = 2810496551:192.168.107.109:sear4.fo.o.bar | sear4.fo.x.y | sear4.foo2.bar | sear4.foo3.bar | sear4.foo4.bar::192.168.60.60 | 192.168.63.92
+IP6:2001\:a\:\:88ca\:3654\:96b\:ab44/89::dst = 2001\:a\:\:cc8b\:7c09\:4673\:bbb0/85, nh = \:\:, mt = 2821465568 | dst = 2001\:a\:\:a976\:2488\:f49f\:b48/106, nh = 2001\:a\:\:62ae\:c734\:fc7b\:e931, mt = 2248613879 | dst = 2001\:a\:\:afb7\:4449\:3787\:8bb4/123, nh = \:\::2001\:a\:\:2934\:bd66\:550d\:ec19:sear6.fo.x.y:
 
 <<<
-size: 6808
+size: 6818
 location: src/tests/client/test-client.py:test_004()/539
 cmd: $NMCLI --mode tabular --terse -f all dev show
 lang: C
 returncode: 0
-stdout: 6650 bytes
+stdout: 6660 bytes
 >>>
 GENERAL:wlan0:wifi:NMDeviceWifi:/org/freedesktop/NetworkManager/Devices/3:::virtual:::13\:E0\:74\:85\:7C\:D9:0:100 (connected):0 (No reason given):0 (unknown):0 (unknown):/sys/devices/virtual/wlan0::wlan0:no:yes:yes:no:no::con-vpn-1:UUID-con-vpn-1-REPLACED-REPLACED-REP:/org/freedesktop/NetworkManager/ActiveConnection/2:unknown
 CAPABILITIES:no:21 Mb/s:no:no
@@ -29736,9 +29820,9 @@ WIFI-PROPERTIES:yes:yes:yes:yes:yes:yes:yes:unknown:unknown:no:no
 AP[1]: :C0\:E2\:BE\:E8\:EF\:B6:wlan0-ap-2:Infra:1:54 Mbit/s:92:****:WPA1 WPA2
 AP[2]: :61\:95\:77\:AC\:1E\:4C:wlan0-ap-1:Infra:1:54 Mbit/s:81:****:WPA1
 AP[3]: :9B\:F6\:B7\:EC\:97\:76:wlan0-ap-3:Infra:1:54 Mbit/s:55:**  :WPA3
-IP4:192.168.228.18/32 | 192.168.209.179/25:192.168.41.120:::sear4.foo2.bar | sear4.fo.x.y | sear4.foo1.bar | sear4.foo4.bar | sear4.fo.o.bar:192.168.120.79
+IP4:192.168.228.18/32 | 192.168.209.179/25:192.168.41.120:::sear4.foo2.bar | sear4.fo.x.y | sear4.foo1.bar | sear4.foo4.bar | sear4.fo.o.bar::192.168.120.79
 DHCP4:dhcp-4-opt-0 = val-0 | dhcp-4-opt-2 = val-2 | dhcp-4-opt-4 = val-4 | dhcp-4-opt-7 = val-7
-IP6:::dst = 2001\:a\:\:dd5b\:aa7b\:b4a2\:e42/102, nh = \:\:, mt = 2504159086::sear6.foo2.bar | sear6.foo1.bar | sear6.fo.x.y | sear6.fo.o.bar | sear6.foo3.bar | sear6.foo4.bar
+IP6:::dst = 2001\:a\:\:dd5b\:aa7b\:b4a2\:e42/102, nh = \:\:, mt = 2504159086::sear6.foo2.bar | sear6.foo1.bar | sear6.fo.x.y | sear6.fo.o.bar | sear6.foo3.bar | sear6.foo4.bar:
 DHCP6:dhcp-6-opt-1 = val-1 | dhcp-6-opt-2 = val-2 | dhcp-6-opt-3 = val-3 | dhcp-6-opt-4 = val-4 | dhcp-6-opt-5 = val-5
 CONNECTIONS:/org/freedesktop/NetworkManager/Settings/Connection/{2}:UUID-con-xx1-REPLACED-REPLACED-REPLA | con-xx1
 
@@ -29746,9 +29830,9 @@ GENERAL:eth0:ethernet:NMDeviceEthernet:/org/freedesktop/NetworkManager/Devices/1
 CAPABILITIES:no:100 Mb/s:no:no
 INTERFACE-FLAGS:yes:yes:no:no
 WIRED-PROPERTIES:on:
-IP4:192.168.49.34/22 | 192.168.135.86/19:::192.168.45.230 | 192.168.180.201 | 192.168.253.2:sear4.foo2.bar | sear4.foo1.bar:192.168.163.23 | 192.168.151.246
+IP4:192.168.49.34/22 | 192.168.135.86/19:::192.168.45.230 | 192.168.180.201 | 192.168.253.2:sear4.foo2.bar | sear4.foo1.bar::192.168.163.23 | 192.168.151.246
 DHCP4:dhcp-4-opt-8 = val-8 | dhcp-4-opt-9 = val-9
-IP6:2001\:a\:\:ed81\:3d7\:c2e9\:df82/99:::2001\:a\:\:2703\:f06\:9619\:d89f | 2001\:a\:\:3a75\:3682\:c683\:8541 | 2001\:a\:\:584e\:912\:d5ee\:c74f:sear6.foo4.bar | sear6.fo.o.bar
+IP6:2001\:a\:\:ed81\:3d7\:c2e9\:df82/99:::2001\:a\:\:2703\:f06\:9619\:d89f | 2001\:a\:\:3a75\:3682\:c683\:8541 | 2001\:a\:\:584e\:912\:d5ee\:c74f:sear6.foo4.bar | sear6.fo.o.bar:
 DHCP6:dhcp-6-opt-0 = val-0 | dhcp-6-opt-1 = val-1 | dhcp-6-opt-2 = val-2 | dhcp-6-opt-3 = val-3 | dhcp-6-opt-4 = val-4 | dhcp-6-opt-5 = val-5 | dhcp-6-opt-6 = val-6 | dhcp-6-opt-7 = val-7 | dhcp-6-opt-8 = val-8 | dhcp-6-opt-9 = val-9
 CONNECTIONS:/org/freedesktop/NetworkManager/Settings/Connection/{1}:5fcfd6d7-1e63-3332-8826-a7eda103792d | con-1
 
@@ -29756,9 +29840,9 @@ GENERAL:eth1:ethernet:NMDeviceEthernet:/org/freedesktop/NetworkManager/Devices/2
 CAPABILITIES:no:100 Mb/s:no:no
 INTERFACE-FLAGS:yes:yes:no:no
 WIRED-PROPERTIES:on:
-IP4:192.168.127.210/25:192.168.88.4:dst = 192.168.222.35/19, nh = 192.168.170.142, mt = 3609264321 | dst = 192.168.135.81/32, nh = 192.168.32.11, mt = 1316413247 | dst = 192.168.24.65/26, nh = 192.168.23.163, mt = 3855574583:192.168.16.144 | 192.168.79.53 | 192.168.237.155:sear4.foo4.bar | sear4.foo3.bar | sear4.foo1.bar:192.168.211.91 | 192.168.58.182 | 192.168.114.97
+IP4:192.168.127.210/25:192.168.88.4:dst = 192.168.222.35/19, nh = 192.168.170.142, mt = 3609264321 | dst = 192.168.135.81/32, nh = 192.168.32.11, mt = 1316413247 | dst = 192.168.24.65/26, nh = 192.168.23.163, mt = 3855574583:192.168.16.144 | 192.168.79.53 | 192.168.237.155:sear4.foo4.bar | sear4.foo3.bar | sear4.foo1.bar::192.168.211.91 | 192.168.58.182 | 192.168.114.97
 DHCP4:dhcp-4-opt-0 = val-0 | dhcp-4-opt-1 = val-1 | dhcp-4-opt-2 = val-2 | dhcp-4-opt-3 = val-3 | dhcp-4-opt-4 = val-4 | dhcp-4-opt-5 = val-5 | dhcp-4-opt-7 = val-7 | dhcp-4-opt-8 = val-8 | dhcp-4-opt-9 = val-9
-IP6:2001\:a\:\:1c1\:c178\:169f\:2b80/93 | 2001\:a\:\:1f79\:e0fb\:87b9\:3cc6/123::dst = 2001\:a\:\:3166\:7ed1\:e4ae\:7612/123, nh = \:\::2001\:a\:\:edda\:955\:dcf4\:23d4 | 2001\:a\:\:109f\:aa0f\:fb4a\:9d5a | 2001\:a\:\:61cf\:7c82\:e9c0\:c952:sear6.foo1.bar
+IP6:2001\:a\:\:1c1\:c178\:169f\:2b80/93 | 2001\:a\:\:1f79\:e0fb\:87b9\:3cc6/123::dst = 2001\:a\:\:3166\:7ed1\:e4ae\:7612/123, nh = \:\::2001\:a\:\:edda\:955\:dcf4\:23d4 | 2001\:a\:\:109f\:aa0f\:fb4a\:9d5a | 2001\:a\:\:61cf\:7c82\:e9c0\:c952:sear6.foo1.bar:
 DHCP6:dhcp-6-opt-2 = val-2 | dhcp-6-opt-5 = val-5 | dhcp-6-opt-6 = val-6 | dhcp-6-opt-8 = val-8 | dhcp-6-opt-9 = val-9
 CONNECTIONS:/org/freedesktop/NetworkManager/Settings/Connection/{1}:5fcfd6d7-1e63-3332-8826-a7eda103792d | con-1
 
@@ -29767,9 +29851,9 @@ CAPABILITIES:no:unknown:no:no
 INTERFACE-FLAGS:yes:yes:no:no
 WIFI-PROPERTIES:yes:yes:yes:yes:yes:yes:yes:unknown:unknown:no:no
 AP[1]: :94\:2B\:E8\:F6\:D2\:86:wlan1-ap-4:Infra:1:54 Mbit/s:48:**  :WPA1 WPA2
-IP4::192.168.57.160:dst = 192.168.36.106/21, nh = 192.168.199.128, mt = 979274165 | dst = 192.168.238.130/19, nh = 0.0.0.0 | dst = 192.168.224.39/32, nh = 192.168.148.69:192.168.61.83:sear4.foo4.bar | sear4.fo.x.y | sear4.foo2.bar | sear4.foo1.bar | sear4.fo.o.bar | sear4.foo3.bar:
+IP4::192.168.57.160:dst = 192.168.36.106/21, nh = 192.168.199.128, mt = 979274165 | dst = 192.168.238.130/19, nh = 0.0.0.0 | dst = 192.168.224.39/32, nh = 192.168.148.69:192.168.61.83:sear4.foo4.bar | sear4.fo.x.y | sear4.foo2.bar | sear4.foo1.bar | sear4.fo.o.bar | sear4.foo3.bar::
 DHCP4:dhcp-4-opt-0 = val-0 | dhcp-4-opt-1 = val-1 | dhcp-4-opt-2 = val-2 | dhcp-4-opt-4 = val-4 | dhcp-4-opt-6 = val-6 | dhcp-4-opt-7 = val-7 | dhcp-4-opt-8 = val-8 | dhcp-4-opt-9 = val-9
-IP6:2001\:a\:\:fa05\:2ab4\:9300\:e8fe/116 | 2001\:a\:\:e9cf\:bd3\:caba\:99b3/86 | 2001\:a\:\:2be6\:44fa\:2c95\:5559/78:2001\:a\:\:4d70\:d91a\:770f\:2319:dst = 2001\:a\:\:3cb2\:719d\:bb00\:b22f/66, nh = 2001\:a\:\:81b1\:58b9\:7237\:3511, mt = 2280277732 | dst = 2001\:a\:\:986f\:983c\:5eb\:1c7d/99, nh = \:\:, mt = 1204008676:2001\:a\:\:85e7\:3d7d\:53e8\:50ac | 2001\:a\:\:1c5\:9cb5\:e86d\:25a5:sear6.foo4.bar | sear6.foo2.bar
+IP6:2001\:a\:\:fa05\:2ab4\:9300\:e8fe/116 | 2001\:a\:\:e9cf\:bd3\:caba\:99b3/86 | 2001\:a\:\:2be6\:44fa\:2c95\:5559/78:2001\:a\:\:4d70\:d91a\:770f\:2319:dst = 2001\:a\:\:3cb2\:719d\:bb00\:b22f/66, nh = 2001\:a\:\:81b1\:58b9\:7237\:3511, mt = 2280277732 | dst = 2001\:a\:\:986f\:983c\:5eb\:1c7d/99, nh = \:\:, mt = 1204008676:2001\:a\:\:85e7\:3d7d\:53e8\:50ac | 2001\:a\:\:1c5\:9cb5\:e86d\:25a5:sear6.foo4.bar | sear6.foo2.bar:
 DHCP6:dhcp-6-opt-0 = val-0 | dhcp-6-opt-1 = val-1 | dhcp-6-opt-2 = val-2 | dhcp-6-opt-3 = val-3 | dhcp-6-opt-4 = val-4 | dhcp-6-opt-5 = val-5 | dhcp-6-opt-6 = val-6 | dhcp-6-opt-7 = val-7 | dhcp-6-opt-9 = val-9
 CONNECTIONS:/org/freedesktop/NetworkManager/Settings/Connection/{2}:UUID-con-xx1-REPLACED-REPLACED-REPLA | con-xx1
 
@@ -29777,19 +29861,19 @@ GENERAL:wlan1:wifi:NMDeviceWifi:/org/freedesktop/NetworkManager/Devices/5:::virt
 CAPABILITIES:no:unknown:no:no
 INTERFACE-FLAGS:yes:yes:no:no
 WIFI-PROPERTIES:yes:yes:yes:yes:yes:yes:yes:unknown:unknown:no:no
-IP4:192.168.97.124/29 | 192.168.76.154/18::dst = 192.168.33.233/22, nh = 192.168.222.210, mt = 2810496551:192.168.107.109:sear4.fo.o.bar | sear4.fo.x.y | sear4.foo2.bar | sear4.foo3.bar | sear4.foo4.bar:192.168.60.60 | 192.168.63.92
+IP4:192.168.97.124/29 | 192.168.76.154/18::dst = 192.168.33.233/22, nh = 192.168.222.210, mt = 2810496551:192.168.107.109:sear4.fo.o.bar | sear4.fo.x.y | sear4.foo2.bar | sear4.foo3.bar | sear4.foo4.bar::192.168.60.60 | 192.168.63.92
 DHCP4:dhcp-4-opt-0 = val-0 | dhcp-4-opt-5 = val-5
-IP6:2001\:a\:\:88ca\:3654\:96b\:ab44/89::dst = 2001\:a\:\:cc8b\:7c09\:4673\:bbb0/85, nh = \:\:, mt = 2821465568 | dst = 2001\:a\:\:a976\:2488\:f49f\:b48/106, nh = 2001\:a\:\:62ae\:c734\:fc7b\:e931, mt = 2248613879 | dst = 2001\:a\:\:afb7\:4449\:3787\:8bb4/123, nh = \:\::2001\:a\:\:2934\:bd66\:550d\:ec19:sear6.fo.x.y
+IP6:2001\:a\:\:88ca\:3654\:96b\:ab44/89::dst = 2001\:a\:\:cc8b\:7c09\:4673\:bbb0/85, nh = \:\:, mt = 2821465568 | dst = 2001\:a\:\:a976\:2488\:f49f\:b48/106, nh = 2001\:a\:\:62ae\:c734\:fc7b\:e931, mt = 2248613879 | dst = 2001\:a\:\:afb7\:4449\:3787\:8bb4/123, nh = \:\::2001\:a\:\:2934\:bd66\:550d\:ec19:sear6.fo.x.y:
 DHCP6:dhcp-6-opt-2 = val-2 | dhcp-6-opt-6 = val-6 | dhcp-6-opt-7 = val-7 | dhcp-6-opt-8 = val-8 | dhcp-6-opt-9 = val-9
 CONNECTIONS:/org/freedesktop/NetworkManager/Settings/Connection/{2}:UUID-con-xx1-REPLACED-REPLACED-REPLA | con-xx1
 
 <<<
-size: 6854
+size: 6864
 location: src/tests/client/test-client.py:test_004()/540
 cmd: $NMCLI --mode tabular --terse -f all dev show
 lang: pl_PL.UTF-8
 returncode: 0
-stdout: 6686 bytes
+stdout: 6696 bytes
 >>>
 GENERAL:wlan0:wifi:NMDeviceWifi:/org/freedesktop/NetworkManager/Devices/3:::virtual:::13\:E0\:74\:85\:7C\:D9:0:100 (connected):0 (No reason given):0 (unknown):0 (unknown):/sys/devices/virtual/wlan0::wlan0:no:yes:yes:no:no::con-vpn-1:UUID-con-vpn-1-REPLACED-REPLACED-REP:/org/freedesktop/NetworkManager/ActiveConnection/2:unknown
 CAPABILITIES:no:21 Mb/s:no:no
@@ -29798,9 +29882,9 @@ WIFI-PROPERTIES:yes:yes:yes:yes:yes:yes:yes:unknown:unknown:no:no
 AP[1]: :C0\:E2\:BE\:E8\:EF\:B6:wlan0-ap-2:Infrastruktura:1:54 Mb/s:92:****:WPA1 WPA2
 AP[2]: :61\:95\:77\:AC\:1E\:4C:wlan0-ap-1:Infrastruktura:1:54 Mb/s:81:****:WPA1
 AP[3]: :9B\:F6\:B7\:EC\:97\:76:wlan0-ap-3:Infrastruktura:1:54 Mb/s:55:**  :WPA3
-IP4:192.168.228.18/32 | 192.168.209.179/25:192.168.41.120:::sear4.foo2.bar | sear4.fo.x.y | sear4.foo1.bar | sear4.foo4.bar | sear4.fo.o.bar:192.168.120.79
+IP4:192.168.228.18/32 | 192.168.209.179/25:192.168.41.120:::sear4.foo2.bar | sear4.fo.x.y | sear4.foo1.bar | sear4.foo4.bar | sear4.fo.o.bar::192.168.120.79
 DHCP4:dhcp-4-opt-0 = val-0 | dhcp-4-opt-2 = val-2 | dhcp-4-opt-4 = val-4 | dhcp-4-opt-7 = val-7
-IP6:::dst = 2001\:a\:\:dd5b\:aa7b\:b4a2\:e42/102, nh = \:\:, mt = 2504159086::sear6.foo2.bar | sear6.foo1.bar | sear6.fo.x.y | sear6.fo.o.bar | sear6.foo3.bar | sear6.foo4.bar
+IP6:::dst = 2001\:a\:\:dd5b\:aa7b\:b4a2\:e42/102, nh = \:\:, mt = 2504159086::sear6.foo2.bar | sear6.foo1.bar | sear6.fo.x.y | sear6.fo.o.bar | sear6.foo3.bar | sear6.foo4.bar:
 DHCP6:dhcp-6-opt-1 = val-1 | dhcp-6-opt-2 = val-2 | dhcp-6-opt-3 = val-3 | dhcp-6-opt-4 = val-4 | dhcp-6-opt-5 = val-5
 CONNECTIONS:/org/freedesktop/NetworkManager/Settings/Connection/{2}:UUID-con-xx1-REPLACED-REPLACED-REPLA | con-xx1
 
@@ -29808,9 +29892,9 @@ GENERAL:eth0:ethernet:NMDeviceEthernet:/org/freedesktop/NetworkManager/Devices/1
 CAPABILITIES:no:100 Mb/s:no:no
 INTERFACE-FLAGS:yes:yes:no:no
 WIRED-PROPERTIES:on:
-IP4:192.168.49.34/22 | 192.168.135.86/19:::192.168.45.230 | 192.168.180.201 | 192.168.253.2:sear4.foo2.bar | sear4.foo1.bar:192.168.163.23 | 192.168.151.246
+IP4:192.168.49.34/22 | 192.168.135.86/19:::192.168.45.230 | 192.168.180.201 | 192.168.253.2:sear4.foo2.bar | sear4.foo1.bar::192.168.163.23 | 192.168.151.246
 DHCP4:dhcp-4-opt-8 = val-8 | dhcp-4-opt-9 = val-9
-IP6:2001\:a\:\:ed81\:3d7\:c2e9\:df82/99:::2001\:a\:\:2703\:f06\:9619\:d89f | 2001\:a\:\:3a75\:3682\:c683\:8541 | 2001\:a\:\:584e\:912\:d5ee\:c74f:sear6.foo4.bar | sear6.fo.o.bar
+IP6:2001\:a\:\:ed81\:3d7\:c2e9\:df82/99:::2001\:a\:\:2703\:f06\:9619\:d89f | 2001\:a\:\:3a75\:3682\:c683\:8541 | 2001\:a\:\:584e\:912\:d5ee\:c74f:sear6.foo4.bar | sear6.fo.o.bar:
 DHCP6:dhcp-6-opt-0 = val-0 | dhcp-6-opt-1 = val-1 | dhcp-6-opt-2 = val-2 | dhcp-6-opt-3 = val-3 | dhcp-6-opt-4 = val-4 | dhcp-6-opt-5 = val-5 | dhcp-6-opt-6 = val-6 | dhcp-6-opt-7 = val-7 | dhcp-6-opt-8 = val-8 | dhcp-6-opt-9 = val-9
 CONNECTIONS:/org/freedesktop/NetworkManager/Settings/Connection/{1}:5fcfd6d7-1e63-3332-8826-a7eda103792d | con-1
 
@@ -29818,9 +29902,9 @@ GENERAL:eth1:ethernet:NMDeviceEthernet:/org/freedesktop/NetworkManager/Devices/2
 CAPABILITIES:no:100 Mb/s:no:no
 INTERFACE-FLAGS:yes:yes:no:no
 WIRED-PROPERTIES:on:
-IP4:192.168.127.210/25:192.168.88.4:dst = 192.168.222.35/19, nh = 192.168.170.142, mt = 3609264321 | dst = 192.168.135.81/32, nh = 192.168.32.11, mt = 1316413247 | dst = 192.168.24.65/26, nh = 192.168.23.163, mt = 3855574583:192.168.16.144 | 192.168.79.53 | 192.168.237.155:sear4.foo4.bar | sear4.foo3.bar | sear4.foo1.bar:192.168.211.91 | 192.168.58.182 | 192.168.114.97
+IP4:192.168.127.210/25:192.168.88.4:dst = 192.168.222.35/19, nh = 192.168.170.142, mt = 3609264321 | dst = 192.168.135.81/32, nh = 192.168.32.11, mt = 1316413247 | dst = 192.168.24.65/26, nh = 192.168.23.163, mt = 3855574583:192.168.16.144 | 192.168.79.53 | 192.168.237.155:sear4.foo4.bar | sear4.foo3.bar | sear4.foo1.bar::192.168.211.91 | 192.168.58.182 | 192.168.114.97
 DHCP4:dhcp-4-opt-0 = val-0 | dhcp-4-opt-1 = val-1 | dhcp-4-opt-2 = val-2 | dhcp-4-opt-3 = val-3 | dhcp-4-opt-4 = val-4 | dhcp-4-opt-5 = val-5 | dhcp-4-opt-7 = val-7 | dhcp-4-opt-8 = val-8 | dhcp-4-opt-9 = val-9
-IP6:2001\:a\:\:1c1\:c178\:169f\:2b80/93 | 2001\:a\:\:1f79\:e0fb\:87b9\:3cc6/123::dst = 2001\:a\:\:3166\:7ed1\:e4ae\:7612/123, nh = \:\::2001\:a\:\:edda\:955\:dcf4\:23d4 | 2001\:a\:\:109f\:aa0f\:fb4a\:9d5a | 2001\:a\:\:61cf\:7c82\:e9c0\:c952:sear6.foo1.bar
+IP6:2001\:a\:\:1c1\:c178\:169f\:2b80/93 | 2001\:a\:\:1f79\:e0fb\:87b9\:3cc6/123::dst = 2001\:a\:\:3166\:7ed1\:e4ae\:7612/123, nh = \:\::2001\:a\:\:edda\:955\:dcf4\:23d4 | 2001\:a\:\:109f\:aa0f\:fb4a\:9d5a | 2001\:a\:\:61cf\:7c82\:e9c0\:c952:sear6.foo1.bar:
 DHCP6:dhcp-6-opt-2 = val-2 | dhcp-6-opt-5 = val-5 | dhcp-6-opt-6 = val-6 | dhcp-6-opt-8 = val-8 | dhcp-6-opt-9 = val-9
 CONNECTIONS:/org/freedesktop/NetworkManager/Settings/Connection/{1}:5fcfd6d7-1e63-3332-8826-a7eda103792d | con-1
 
@@ -29829,9 +29913,9 @@ CAPABILITIES:no:unknown:no:no
 INTERFACE-FLAGS:yes:yes:no:no
 WIFI-PROPERTIES:yes:yes:yes:yes:yes:yes:yes:unknown:unknown:no:no
 AP[1]: :94\:2B\:E8\:F6\:D2\:86:wlan1-ap-4:Infrastruktura:1:54 Mb/s:48:**  :WPA1 WPA2
-IP4::192.168.57.160:dst = 192.168.36.106/21, nh = 192.168.199.128, mt = 979274165 | dst = 192.168.238.130/19, nh = 0.0.0.0 | dst = 192.168.224.39/32, nh = 192.168.148.69:192.168.61.83:sear4.foo4.bar | sear4.fo.x.y | sear4.foo2.bar | sear4.foo1.bar | sear4.fo.o.bar | sear4.foo3.bar:
+IP4::192.168.57.160:dst = 192.168.36.106/21, nh = 192.168.199.128, mt = 979274165 | dst = 192.168.238.130/19, nh = 0.0.0.0 | dst = 192.168.224.39/32, nh = 192.168.148.69:192.168.61.83:sear4.foo4.bar | sear4.fo.x.y | sear4.foo2.bar | sear4.foo1.bar | sear4.fo.o.bar | sear4.foo3.bar::
 DHCP4:dhcp-4-opt-0 = val-0 | dhcp-4-opt-1 = val-1 | dhcp-4-opt-2 = val-2 | dhcp-4-opt-4 = val-4 | dhcp-4-opt-6 = val-6 | dhcp-4-opt-7 = val-7 | dhcp-4-opt-8 = val-8 | dhcp-4-opt-9 = val-9
-IP6:2001\:a\:\:fa05\:2ab4\:9300\:e8fe/116 | 2001\:a\:\:e9cf\:bd3\:caba\:99b3/86 | 2001\:a\:\:2be6\:44fa\:2c95\:5559/78:2001\:a\:\:4d70\:d91a\:770f\:2319:dst = 2001\:a\:\:3cb2\:719d\:bb00\:b22f/66, nh = 2001\:a\:\:81b1\:58b9\:7237\:3511, mt = 2280277732 | dst = 2001\:a\:\:986f\:983c\:5eb\:1c7d/99, nh = \:\:, mt = 1204008676:2001\:a\:\:85e7\:3d7d\:53e8\:50ac | 2001\:a\:\:1c5\:9cb5\:e86d\:25a5:sear6.foo4.bar | sear6.foo2.bar
+IP6:2001\:a\:\:fa05\:2ab4\:9300\:e8fe/116 | 2001\:a\:\:e9cf\:bd3\:caba\:99b3/86 | 2001\:a\:\:2be6\:44fa\:2c95\:5559/78:2001\:a\:\:4d70\:d91a\:770f\:2319:dst = 2001\:a\:\:3cb2\:719d\:bb00\:b22f/66, nh = 2001\:a\:\:81b1\:58b9\:7237\:3511, mt = 2280277732 | dst = 2001\:a\:\:986f\:983c\:5eb\:1c7d/99, nh = \:\:, mt = 1204008676:2001\:a\:\:85e7\:3d7d\:53e8\:50ac | 2001\:a\:\:1c5\:9cb5\:e86d\:25a5:sear6.foo4.bar | sear6.foo2.bar:
 DHCP6:dhcp-6-opt-0 = val-0 | dhcp-6-opt-1 = val-1 | dhcp-6-opt-2 = val-2 | dhcp-6-opt-3 = val-3 | dhcp-6-opt-4 = val-4 | dhcp-6-opt-5 = val-5 | dhcp-6-opt-6 = val-6 | dhcp-6-opt-7 = val-7 | dhcp-6-opt-9 = val-9
 CONNECTIONS:/org/freedesktop/NetworkManager/Settings/Connection/{2}:UUID-con-xx1-REPLACED-REPLACED-REPLA | con-xx1
 
@@ -29839,19 +29923,19 @@ GENERAL:wlan1:wifi:NMDeviceWifi:/org/freedesktop/NetworkManager/Devices/5:::virt
 CAPABILITIES:no:unknown:no:no
 INTERFACE-FLAGS:yes:yes:no:no
 WIFI-PROPERTIES:yes:yes:yes:yes:yes:yes:yes:unknown:unknown:no:no
-IP4:192.168.97.124/29 | 192.168.76.154/18::dst = 192.168.33.233/22, nh = 192.168.222.210, mt = 2810496551:192.168.107.109:sear4.fo.o.bar | sear4.fo.x.y | sear4.foo2.bar | sear4.foo3.bar | sear4.foo4.bar:192.168.60.60 | 192.168.63.92
+IP4:192.168.97.124/29 | 192.168.76.154/18::dst = 192.168.33.233/22, nh = 192.168.222.210, mt = 2810496551:192.168.107.109:sear4.fo.o.bar | sear4.fo.x.y | sear4.foo2.bar | sear4.foo3.bar | sear4.foo4.bar::192.168.60.60 | 192.168.63.92
 DHCP4:dhcp-4-opt-0 = val-0 | dhcp-4-opt-5 = val-5
-IP6:2001\:a\:\:88ca\:3654\:96b\:ab44/89::dst = 2001\:a\:\:cc8b\:7c09\:4673\:bbb0/85, nh = \:\:, mt = 2821465568 | dst = 2001\:a\:\:a976\:2488\:f49f\:b48/106, nh = 2001\:a\:\:62ae\:c734\:fc7b\:e931, mt = 2248613879 | dst = 2001\:a\:\:afb7\:4449\:3787\:8bb4/123, nh = \:\::2001\:a\:\:2934\:bd66\:550d\:ec19:sear6.fo.x.y
+IP6:2001\:a\:\:88ca\:3654\:96b\:ab44/89::dst = 2001\:a\:\:cc8b\:7c09\:4673\:bbb0/85, nh = \:\:, mt = 2821465568 | dst = 2001\:a\:\:a976\:2488\:f49f\:b48/106, nh = 2001\:a\:\:62ae\:c734\:fc7b\:e931, mt = 2248613879 | dst = 2001\:a\:\:afb7\:4449\:3787\:8bb4/123, nh = \:\::2001\:a\:\:2934\:bd66\:550d\:ec19:sear6.fo.x.y:
 DHCP6:dhcp-6-opt-2 = val-2 | dhcp-6-opt-6 = val-6 | dhcp-6-opt-7 = val-7 | dhcp-6-opt-8 = val-8 | dhcp-6-opt-9 = val-9
 CONNECTIONS:/org/freedesktop/NetworkManager/Settings/Connection/{2}:UUID-con-xx1-REPLACED-REPLACED-REPLA | con-xx1
 
 <<<
-size: 601
+size: 603
 location: src/tests/client/test-client.py:test_004()/541
 cmd: $NMCLI --mode tabular --terse dev show wlan0
 lang: C
 returncode: 0
-stdout: 445 bytes
+stdout: 447 bytes
 >>>
 wlan0
 wifi
@@ -29860,16 +29944,16 @@ wifi
 100 (connected)
 con-vpn-1
 /org/freedesktop/NetworkManager/ActiveConnection/2
-IP4:192.168.228.18/32 | 192.168.209.179/25:192.168.41.120:::sear4.foo2.bar | sear4.fo.x.y | sear4.foo1.bar | sear4.foo4.bar | sear4.fo.o.bar:192.168.120.79
-IP6:::dst = 2001\:a\:\:dd5b\:aa7b\:b4a2\:e42/102, nh = \:\:, mt = 2504159086::sear6.foo2.bar | sear6.foo1.bar | sear6.fo.x.y | sear6.fo.o.bar | sear6.foo3.bar | sear6.foo4.bar
+IP4:192.168.228.18/32 | 192.168.209.179/25:192.168.41.120:::sear4.foo2.bar | sear4.fo.x.y | sear4.foo1.bar | sear4.foo4.bar | sear4.fo.o.bar::192.168.120.79
+IP6:::dst = 2001\:a\:\:dd5b\:aa7b\:b4a2\:e42/102, nh = \:\:, mt = 2504159086::sear6.foo2.bar | sear6.foo1.bar | sear6.fo.x.y | sear6.fo.o.bar | sear6.foo3.bar | sear6.foo4.bar:
 
 <<<
-size: 611
+size: 613
 location: src/tests/client/test-client.py:test_004()/542
 cmd: $NMCLI --mode tabular --terse dev show wlan0
 lang: pl_PL.UTF-8
 returncode: 0
-stdout: 445 bytes
+stdout: 447 bytes
 >>>
 wlan0
 wifi
@@ -29878,16 +29962,16 @@ wifi
 100 (connected)
 con-vpn-1
 /org/freedesktop/NetworkManager/ActiveConnection/2
-IP4:192.168.228.18/32 | 192.168.209.179/25:192.168.41.120:::sear4.foo2.bar | sear4.fo.x.y | sear4.foo1.bar | sear4.foo4.bar | sear4.fo.o.bar:192.168.120.79
-IP6:::dst = 2001\:a\:\:dd5b\:aa7b\:b4a2\:e42/102, nh = \:\:, mt = 2504159086::sear6.foo2.bar | sear6.foo1.bar | sear6.fo.x.y | sear6.fo.o.bar | sear6.foo3.bar | sear6.foo4.bar
+IP4:192.168.228.18/32 | 192.168.209.179/25:192.168.41.120:::sear4.foo2.bar | sear4.fo.x.y | sear4.foo1.bar | sear4.foo4.bar | sear4.fo.o.bar::192.168.120.79
+IP6:::dst = 2001\:a\:\:dd5b\:aa7b\:b4a2\:e42/102, nh = \:\:, mt = 2504159086::sear6.foo2.bar | sear6.foo1.bar | sear6.fo.x.y | sear6.fo.o.bar | sear6.foo3.bar | sear6.foo4.bar:
 
 <<<
-size: 1505
+size: 1507
 location: src/tests/client/test-client.py:test_004()/543
 cmd: $NMCLI --mode tabular --terse -f all dev show wlan0
 lang: C
 returncode: 0
-stdout: 1341 bytes
+stdout: 1343 bytes
 >>>
 GENERAL:wlan0:wifi:NMDeviceWifi:/org/freedesktop/NetworkManager/Devices/3:::virtual:::13\:E0\:74\:85\:7C\:D9:0:100 (connected):0 (No reason given):0 (unknown):0 (unknown):/sys/devices/virtual/wlan0::wlan0:no:yes:yes:no:no::con-vpn-1:UUID-con-vpn-1-REPLACED-REPLACED-REP:/org/freedesktop/NetworkManager/ActiveConnection/2:unknown
 CAPABILITIES:no:21 Mb/s:no:no
@@ -29896,19 +29980,19 @@ WIFI-PROPERTIES:yes:yes:yes:yes:yes:yes:yes:unknown:unknown:no:no
 AP[1]: :C0\:E2\:BE\:E8\:EF\:B6:wlan0-ap-2:Infra:1:54 Mbit/s:92:****:WPA1 WPA2
 AP[2]: :61\:95\:77\:AC\:1E\:4C:wlan0-ap-1:Infra:1:54 Mbit/s:81:****:WPA1
 AP[3]: :9B\:F6\:B7\:EC\:97\:76:wlan0-ap-3:Infra:1:54 Mbit/s:55:**  :WPA3
-IP4:192.168.228.18/32 | 192.168.209.179/25:192.168.41.120:::sear4.foo2.bar | sear4.fo.x.y | sear4.foo1.bar | sear4.foo4.bar | sear4.fo.o.bar:192.168.120.79
+IP4:192.168.228.18/32 | 192.168.209.179/25:192.168.41.120:::sear4.foo2.bar | sear4.fo.x.y | sear4.foo1.bar | sear4.foo4.bar | sear4.fo.o.bar::192.168.120.79
 DHCP4:dhcp-4-opt-0 = val-0 | dhcp-4-opt-2 = val-2 | dhcp-4-opt-4 = val-4 | dhcp-4-opt-7 = val-7
-IP6:::dst = 2001\:a\:\:dd5b\:aa7b\:b4a2\:e42/102, nh = \:\:, mt = 2504159086::sear6.foo2.bar | sear6.foo1.bar | sear6.fo.x.y | sear6.fo.o.bar | sear6.foo3.bar | sear6.foo4.bar
+IP6:::dst = 2001\:a\:\:dd5b\:aa7b\:b4a2\:e42/102, nh = \:\:, mt = 2504159086::sear6.foo2.bar | sear6.foo1.bar | sear6.fo.x.y | sear6.fo.o.bar | sear6.foo3.bar | sear6.foo4.bar:
 DHCP6:dhcp-6-opt-1 = val-1 | dhcp-6-opt-2 = val-2 | dhcp-6-opt-3 = val-3 | dhcp-6-opt-4 = val-4 | dhcp-6-opt-5 = val-5
 CONNECTIONS:/org/freedesktop/NetworkManager/Settings/Connection/{2}:UUID-con-xx1-REPLACED-REPLACED-REPLA | con-xx1
 
 <<<
-size: 1542
+size: 1544
 location: src/tests/client/test-client.py:test_004()/544
 cmd: $NMCLI --mode tabular --terse -f all dev show wlan0
 lang: pl_PL.UTF-8
 returncode: 0
-stdout: 1368 bytes
+stdout: 1370 bytes
 >>>
 GENERAL:wlan0:wifi:NMDeviceWifi:/org/freedesktop/NetworkManager/Devices/3:::virtual:::13\:E0\:74\:85\:7C\:D9:0:100 (connected):0 (No reason given):0 (unknown):0 (unknown):/sys/devices/virtual/wlan0::wlan0:no:yes:yes:no:no::con-vpn-1:UUID-con-vpn-1-REPLACED-REPLACED-REP:/org/freedesktop/NetworkManager/ActiveConnection/2:unknown
 CAPABILITIES:no:21 Mb/s:no:no
@@ -29917,9 +30001,9 @@ WIFI-PROPERTIES:yes:yes:yes:yes:yes:yes:yes:unknown:unknown:no:no
 AP[1]: :C0\:E2\:BE\:E8\:EF\:B6:wlan0-ap-2:Infrastruktura:1:54 Mb/s:92:****:WPA1 WPA2
 AP[2]: :61\:95\:77\:AC\:1E\:4C:wlan0-ap-1:Infrastruktura:1:54 Mb/s:81:****:WPA1
 AP[3]: :9B\:F6\:B7\:EC\:97\:76:wlan0-ap-3:Infrastruktura:1:54 Mb/s:55:**  :WPA3
-IP4:192.168.228.18/32 | 192.168.209.179/25:192.168.41.120:::sear4.foo2.bar | sear4.fo.x.y | sear4.foo1.bar | sear4.foo4.bar | sear4.fo.o.bar:192.168.120.79
+IP4:192.168.228.18/32 | 192.168.209.179/25:192.168.41.120:::sear4.foo2.bar | sear4.fo.x.y | sear4.foo1.bar | sear4.foo4.bar | sear4.fo.o.bar::192.168.120.79
 DHCP4:dhcp-4-opt-0 = val-0 | dhcp-4-opt-2 = val-2 | dhcp-4-opt-4 = val-4 | dhcp-4-opt-7 = val-7
-IP6:::dst = 2001\:a\:\:dd5b\:aa7b\:b4a2\:e42/102, nh = \:\:, mt = 2504159086::sear6.foo2.bar | sear6.foo1.bar | sear6.fo.x.y | sear6.fo.o.bar | sear6.foo3.bar | sear6.foo4.bar
+IP6:::dst = 2001\:a\:\:dd5b\:aa7b\:b4a2\:e42/102, nh = \:\:, mt = 2504159086::sear6.foo2.bar | sear6.foo1.bar | sear6.fo.x.y | sear6.fo.o.bar | sear6.foo3.bar | sear6.foo4.bar:
 DHCP6:dhcp-6-opt-1 = val-1 | dhcp-6-opt-2 = val-2 | dhcp-6-opt-3 = val-3 | dhcp-6-opt-4 = val-4 | dhcp-6-opt-5 = val-5
 CONNECTIONS:/org/freedesktop/NetworkManager/Settings/Connection/{2}:UUID-con-xx1-REPLACED-REPLACED-REPLA | con-xx1
 
@@ -30162,12 +30246,12 @@ AP[1]:wlan0-ap-2:776C616E302D61702D32:C0\:E2\:BE\:E8\:EF\:B6:Infrastruktura:1:24
 
 
 <<<
-size: 1508
+size: 1510
 location: src/tests/client/test-client.py:test_004()/563
 cmd: $NMCLI --mode tabular --terse -f ALL device show wlan0
 lang: C
 returncode: 0
-stdout: 1341 bytes
+stdout: 1343 bytes
 >>>
 GENERAL:wlan0:wifi:NMDeviceWifi:/org/freedesktop/NetworkManager/Devices/3:::virtual:::13\:E0\:74\:85\:7C\:D9:0:100 (connected):0 (No reason given):0 (unknown):0 (unknown):/sys/devices/virtual/wlan0::wlan0:no:yes:yes:no:no::con-vpn-1:UUID-con-vpn-1-REPLACED-REPLACED-REP:/org/freedesktop/NetworkManager/ActiveConnection/2:unknown
 CAPABILITIES:no:21 Mb/s:no:no
@@ -30176,19 +30260,19 @@ WIFI-PROPERTIES:yes:yes:yes:yes:yes:yes:yes:unknown:unknown:no:no
 AP[1]: :C0\:E2\:BE\:E8\:EF\:B6:wlan0-ap-2:Infra:1:54 Mbit/s:92:****:WPA1 WPA2
 AP[2]: :61\:95\:77\:AC\:1E\:4C:wlan0-ap-1:Infra:1:54 Mbit/s:81:****:WPA1
 AP[3]: :9B\:F6\:B7\:EC\:97\:76:wlan0-ap-3:Infra:1:54 Mbit/s:55:**  :WPA3
-IP4:192.168.228.18/32 | 192.168.209.179/25:192.168.41.120:::sear4.foo2.bar | sear4.fo.x.y | sear4.foo1.bar | sear4.foo4.bar | sear4.fo.o.bar:192.168.120.79
+IP4:192.168.228.18/32 | 192.168.209.179/25:192.168.41.120:::sear4.foo2.bar | sear4.fo.x.y | sear4.foo1.bar | sear4.foo4.bar | sear4.fo.o.bar::192.168.120.79
 DHCP4:dhcp-4-opt-0 = val-0 | dhcp-4-opt-2 = val-2 | dhcp-4-opt-4 = val-4 | dhcp-4-opt-7 = val-7
-IP6:::dst = 2001\:a\:\:dd5b\:aa7b\:b4a2\:e42/102, nh = \:\:, mt = 2504159086::sear6.foo2.bar | sear6.foo1.bar | sear6.fo.x.y | sear6.fo.o.bar | sear6.foo3.bar | sear6.foo4.bar
+IP6:::dst = 2001\:a\:\:dd5b\:aa7b\:b4a2\:e42/102, nh = \:\:, mt = 2504159086::sear6.foo2.bar | sear6.foo1.bar | sear6.fo.x.y | sear6.fo.o.bar | sear6.foo3.bar | sear6.foo4.bar:
 DHCP6:dhcp-6-opt-1 = val-1 | dhcp-6-opt-2 = val-2 | dhcp-6-opt-3 = val-3 | dhcp-6-opt-4 = val-4 | dhcp-6-opt-5 = val-5
 CONNECTIONS:/org/freedesktop/NetworkManager/Settings/Connection/{2}:UUID-con-xx1-REPLACED-REPLACED-REPLA | con-xx1
 
 <<<
-size: 1545
+size: 1547
 location: src/tests/client/test-client.py:test_004()/564
 cmd: $NMCLI --mode tabular --terse -f ALL device show wlan0
 lang: pl_PL.UTF-8
 returncode: 0
-stdout: 1368 bytes
+stdout: 1370 bytes
 >>>
 GENERAL:wlan0:wifi:NMDeviceWifi:/org/freedesktop/NetworkManager/Devices/3:::virtual:::13\:E0\:74\:85\:7C\:D9:0:100 (connected):0 (No reason given):0 (unknown):0 (unknown):/sys/devices/virtual/wlan0::wlan0:no:yes:yes:no:no::con-vpn-1:UUID-con-vpn-1-REPLACED-REPLACED-REP:/org/freedesktop/NetworkManager/ActiveConnection/2:unknown
 CAPABILITIES:no:21 Mb/s:no:no
@@ -30197,19 +30281,19 @@ WIFI-PROPERTIES:yes:yes:yes:yes:yes:yes:yes:unknown:unknown:no:no
 AP[1]: :C0\:E2\:BE\:E8\:EF\:B6:wlan0-ap-2:Infrastruktura:1:54 Mb/s:92:****:WPA1 WPA2
 AP[2]: :61\:95\:77\:AC\:1E\:4C:wlan0-ap-1:Infrastruktura:1:54 Mb/s:81:****:WPA1
 AP[3]: :9B\:F6\:B7\:EC\:97\:76:wlan0-ap-3:Infrastruktura:1:54 Mb/s:55:**  :WPA3
-IP4:192.168.228.18/32 | 192.168.209.179/25:192.168.41.120:::sear4.foo2.bar | sear4.fo.x.y | sear4.foo1.bar | sear4.foo4.bar | sear4.fo.o.bar:192.168.120.79
+IP4:192.168.228.18/32 | 192.168.209.179/25:192.168.41.120:::sear4.foo2.bar | sear4.fo.x.y | sear4.foo1.bar | sear4.foo4.bar | sear4.fo.o.bar::192.168.120.79
 DHCP4:dhcp-4-opt-0 = val-0 | dhcp-4-opt-2 = val-2 | dhcp-4-opt-4 = val-4 | dhcp-4-opt-7 = val-7
-IP6:::dst = 2001\:a\:\:dd5b\:aa7b\:b4a2\:e42/102, nh = \:\:, mt = 2504159086::sear6.foo2.bar | sear6.foo1.bar | sear6.fo.x.y | sear6.fo.o.bar | sear6.foo3.bar | sear6.foo4.bar
+IP6:::dst = 2001\:a\:\:dd5b\:aa7b\:b4a2\:e42/102, nh = \:\:, mt = 2504159086::sear6.foo2.bar | sear6.foo1.bar | sear6.fo.x.y | sear6.fo.o.bar | sear6.foo3.bar | sear6.foo4.bar:
 DHCP6:dhcp-6-opt-1 = val-1 | dhcp-6-opt-2 = val-2 | dhcp-6-opt-3 = val-3 | dhcp-6-opt-4 = val-4 | dhcp-6-opt-5 = val-5
 CONNECTIONS:/org/freedesktop/NetworkManager/Settings/Connection/{2}:UUID-con-xx1-REPLACED-REPLACED-REPLA | con-xx1
 
 <<<
-size: 614
+size: 616
 location: src/tests/client/test-client.py:test_004()/565
 cmd: $NMCLI --mode tabular --terse -f COMMON device show wlan0
 lang: C
 returncode: 0
-stdout: 445 bytes
+stdout: 447 bytes
 >>>
 wlan0
 wifi
@@ -30218,16 +30302,16 @@ wifi
 100 (connected)
 con-vpn-1
 /org/freedesktop/NetworkManager/ActiveConnection/2
-IP4:192.168.228.18/32 | 192.168.209.179/25:192.168.41.120:::sear4.foo2.bar | sear4.fo.x.y | sear4.foo1.bar | sear4.foo4.bar | sear4.fo.o.bar:192.168.120.79
-IP6:::dst = 2001\:a\:\:dd5b\:aa7b\:b4a2\:e42/102, nh = \:\:, mt = 2504159086::sear6.foo2.bar | sear6.foo1.bar | sear6.fo.x.y | sear6.fo.o.bar | sear6.foo3.bar | sear6.foo4.bar
+IP4:192.168.228.18/32 | 192.168.209.179/25:192.168.41.120:::sear4.foo2.bar | sear4.fo.x.y | sear4.foo1.bar | sear4.foo4.bar | sear4.fo.o.bar::192.168.120.79
+IP6:::dst = 2001\:a\:\:dd5b\:aa7b\:b4a2\:e42/102, nh = \:\:, mt = 2504159086::sear6.foo2.bar | sear6.foo1.bar | sear6.fo.x.y | sear6.fo.o.bar | sear6.foo3.bar | sear6.foo4.bar:
 
 <<<
-size: 624
+size: 626
 location: src/tests/client/test-client.py:test_004()/566
 cmd: $NMCLI --mode tabular --terse -f COMMON device show wlan0
 lang: pl_PL.UTF-8
 returncode: 0
-stdout: 445 bytes
+stdout: 447 bytes
 >>>
 wlan0
 wifi
@@ -30236,16 +30320,16 @@ wifi
 100 (connected)
 con-vpn-1
 /org/freedesktop/NetworkManager/ActiveConnection/2
-IP4:192.168.228.18/32 | 192.168.209.179/25:192.168.41.120:::sear4.foo2.bar | sear4.fo.x.y | sear4.foo1.bar | sear4.foo4.bar | sear4.fo.o.bar:192.168.120.79
-IP6:::dst = 2001\:a\:\:dd5b\:aa7b\:b4a2\:e42/102, nh = \:\:, mt = 2504159086::sear6.foo2.bar | sear6.foo1.bar | sear6.fo.x.y | sear6.fo.o.bar | sear6.foo3.bar | sear6.foo4.bar
+IP4:192.168.228.18/32 | 192.168.209.179/25:192.168.41.120:::sear4.foo2.bar | sear4.fo.x.y | sear4.foo1.bar | sear4.foo4.bar | sear4.fo.o.bar::192.168.120.79
+IP6:::dst = 2001\:a\:\:dd5b\:aa7b\:b4a2\:e42/102, nh = \:\:, mt = 2504159086::sear6.foo2.bar | sear6.foo1.bar | sear6.fo.x.y | sear6.fo.o.bar | sear6.foo3.bar | sear6.foo4.bar:
 
 <<<
-size: 1616
+size: 1618
 location: src/tests/client/test-client.py:test_004()/567
 cmd: $NMCLI --mode tabular --terse -f GENERAL,CAPABILITIES,WIFI-PROPERTIES,AP,WIRED-PROPERTIES,WIMAX-PROPERTIES,NSP,IP4,DHCP4,IP6,DHCP6,BOND,TEAM,BRIDGE,VLAN,BLUETOOTH,CONNECTIONS device show wlan0
 lang: C
 returncode: 0
-stdout: 1311 bytes
+stdout: 1313 bytes
 >>>
 GENERAL:wlan0:wifi:NMDeviceWifi:/org/freedesktop/NetworkManager/Devices/3:::virtual:::13\:E0\:74\:85\:7C\:D9:0:100 (connected):0 (No reason given):0 (unknown):0 (unknown):/sys/devices/virtual/wlan0::wlan0:no:yes:yes:no:no::con-vpn-1:UUID-con-vpn-1-REPLACED-REPLACED-REP:/org/freedesktop/NetworkManager/ActiveConnection/2:unknown
 CAPABILITIES:no:21 Mb/s:no:no
@@ -30253,19 +30337,19 @@ WIFI-PROPERTIES:yes:yes:yes:yes:yes:yes:yes:unknown:unknown:no:no
 AP[1]: :C0\:E2\:BE\:E8\:EF\:B6:wlan0-ap-2:Infra:1:54 Mbit/s:92:****:WPA1 WPA2
 AP[2]: :61\:95\:77\:AC\:1E\:4C:wlan0-ap-1:Infra:1:54 Mbit/s:81:****:WPA1
 AP[3]: :9B\:F6\:B7\:EC\:97\:76:wlan0-ap-3:Infra:1:54 Mbit/s:55:**  :WPA3
-IP4:192.168.228.18/32 | 192.168.209.179/25:192.168.41.120:::sear4.foo2.bar | sear4.fo.x.y | sear4.foo1.bar | sear4.foo4.bar | sear4.fo.o.bar:192.168.120.79
+IP4:192.168.228.18/32 | 192.168.209.179/25:192.168.41.120:::sear4.foo2.bar | sear4.fo.x.y | sear4.foo1.bar | sear4.foo4.bar | sear4.fo.o.bar::192.168.120.79
 DHCP4:dhcp-4-opt-0 = val-0 | dhcp-4-opt-2 = val-2 | dhcp-4-opt-4 = val-4 | dhcp-4-opt-7 = val-7
-IP6:::dst = 2001\:a\:\:dd5b\:aa7b\:b4a2\:e42/102, nh = \:\:, mt = 2504159086::sear6.foo2.bar | sear6.foo1.bar | sear6.fo.x.y | sear6.fo.o.bar | sear6.foo3.bar | sear6.foo4.bar
+IP6:::dst = 2001\:a\:\:dd5b\:aa7b\:b4a2\:e42/102, nh = \:\:, mt = 2504159086::sear6.foo2.bar | sear6.foo1.bar | sear6.fo.x.y | sear6.fo.o.bar | sear6.foo3.bar | sear6.foo4.bar:
 DHCP6:dhcp-6-opt-1 = val-1 | dhcp-6-opt-2 = val-2 | dhcp-6-opt-3 = val-3 | dhcp-6-opt-4 = val-4 | dhcp-6-opt-5 = val-5
 CONNECTIONS:/org/freedesktop/NetworkManager/Settings/Connection/{2}:UUID-con-xx1-REPLACED-REPLACED-REPLA | con-xx1
 
 <<<
-size: 1653
+size: 1655
 location: src/tests/client/test-client.py:test_004()/568
 cmd: $NMCLI --mode tabular --terse -f GENERAL,CAPABILITIES,WIFI-PROPERTIES,AP,WIRED-PROPERTIES,WIMAX-PROPERTIES,NSP,IP4,DHCP4,IP6,DHCP6,BOND,TEAM,BRIDGE,VLAN,BLUETOOTH,CONNECTIONS device show wlan0
 lang: pl_PL.UTF-8
 returncode: 0
-stdout: 1338 bytes
+stdout: 1340 bytes
 >>>
 GENERAL:wlan0:wifi:NMDeviceWifi:/org/freedesktop/NetworkManager/Devices/3:::virtual:::13\:E0\:74\:85\:7C\:D9:0:100 (connected):0 (No reason given):0 (unknown):0 (unknown):/sys/devices/virtual/wlan0::wlan0:no:yes:yes:no:no::con-vpn-1:UUID-con-vpn-1-REPLACED-REPLACED-REP:/org/freedesktop/NetworkManager/ActiveConnection/2:unknown
 CAPABILITIES:no:21 Mb/s:no:no
@@ -30273,9 +30357,9 @@ WIFI-PROPERTIES:yes:yes:yes:yes:yes:yes:yes:unknown:unknown:no:no
 AP[1]: :C0\:E2\:BE\:E8\:EF\:B6:wlan0-ap-2:Infrastruktura:1:54 Mb/s:92:****:WPA1 WPA2
 AP[2]: :61\:95\:77\:AC\:1E\:4C:wlan0-ap-1:Infrastruktura:1:54 Mb/s:81:****:WPA1
 AP[3]: :9B\:F6\:B7\:EC\:97\:76:wlan0-ap-3:Infrastruktura:1:54 Mb/s:55:**  :WPA3
-IP4:192.168.228.18/32 | 192.168.209.179/25:192.168.41.120:::sear4.foo2.bar | sear4.fo.x.y | sear4.foo1.bar | sear4.foo4.bar | sear4.fo.o.bar:192.168.120.79
+IP4:192.168.228.18/32 | 192.168.209.179/25:192.168.41.120:::sear4.foo2.bar | sear4.fo.x.y | sear4.foo1.bar | sear4.foo4.bar | sear4.fo.o.bar::192.168.120.79
 DHCP4:dhcp-4-opt-0 = val-0 | dhcp-4-opt-2 = val-2 | dhcp-4-opt-4 = val-4 | dhcp-4-opt-7 = val-7
-IP6:::dst = 2001\:a\:\:dd5b\:aa7b\:b4a2\:e42/102, nh = \:\:, mt = 2504159086::sear6.foo2.bar | sear6.foo1.bar | sear6.fo.x.y | sear6.fo.o.bar | sear6.foo3.bar | sear6.foo4.bar
+IP6:::dst = 2001\:a\:\:dd5b\:aa7b\:b4a2\:e42/102, nh = \:\:, mt = 2504159086::sear6.foo2.bar | sear6.foo1.bar | sear6.fo.x.y | sear6.fo.o.bar | sear6.foo3.bar | sear6.foo4.bar:
 DHCP6:dhcp-6-opt-1 = val-1 | dhcp-6-opt-2 = val-2 | dhcp-6-opt-3 = val-3 | dhcp-6-opt-4 = val-4 | dhcp-6-opt-5 = val-5
 CONNECTIONS:/org/freedesktop/NetworkManager/Settings/Connection/{2}:UUID-con-xx1-REPLACED-REPLACED-REPLA | con-xx1
 
@@ -30352,94 +30436,94 @@ UUID-con-xx1-REPLACED-REPLACED-REPLA
 
 
 <<<
-size: 826
+size: 832
 location: src/tests/client/test-client.py:test_004()/573
 cmd: $NMCLI --mode tabular --terse --color yes con s con-vpn-1
 lang: C
 returncode: 0
-stdout: 657 bytes
+stdout: 663 bytes
 >>>
 connection:con-vpn-1:UUID-con-vpn-1-REPLACED-REPLACED-REP::vpn::yes:0:-1:0:-1:0:no:::::-1::0:unknown:default:-1:-1:-1
-ipv4:auto::::0::::-1:0::no:no:::0:yes:::0x0:no:yes:-1::
-ipv6:auto::::0::::-1:0::no:no:no:yes:-1:stable-privacy:0:::0:yes::0x0:
+ipv4:auto::::0::::-1:0::no:no:::0:yes:::0x0:no:yes:-1:-1::
+ipv6:auto::::0::::-1:0::no:no:no:yes:-1:-1:stable-privacy:0:::0:yes::0x0:
 vpn:org.freedesktop.NetworkManager.openvpn::key1 = val1, key2 = val2, key3 = val3:<hidden>:no:0
 proxy:none:no::
 GENERAL:con-vpn-1:UUID-con-vpn-1-REPLACED-REPLACED-REP:wlan0:wlan0:activated:no:no::yes:/org/freedesktop/NetworkManager/ActiveConnection/2:/org/freedesktop/NetworkManager/Settings/Connection/3::
 VPN:openvpn:::*** VPN connection con-vpn-1 ***:5 - VPN connected:key1 = val1 | key2 = val2 | key3 = val3
 
 <<<
-size: 836
+size: 842
 location: src/tests/client/test-client.py:test_004()/574
 cmd: $NMCLI --mode tabular --terse --color yes con s con-vpn-1
 lang: pl_PL.UTF-8
 returncode: 0
-stdout: 657 bytes
+stdout: 663 bytes
 >>>
 connection:con-vpn-1:UUID-con-vpn-1-REPLACED-REPLACED-REP::vpn::yes:0:-1:0:-1:0:no:::::-1::0:unknown:default:-1:-1:-1
-ipv4:auto::::0::::-1:0::no:no:::0:yes:::0x0:no:yes:-1::
-ipv6:auto::::0::::-1:0::no:no:no:yes:-1:stable-privacy:0:::0:yes::0x0:
+ipv4:auto::::0::::-1:0::no:no:::0:yes:::0x0:no:yes:-1:-1::
+ipv6:auto::::0::::-1:0::no:no:no:yes:-1:-1:stable-privacy:0:::0:yes::0x0:
 vpn:org.freedesktop.NetworkManager.openvpn::key1 = val1, key2 = val2, key3 = val3:<hidden>:no:0
 proxy:none:no::
 GENERAL:con-vpn-1:UUID-con-vpn-1-REPLACED-REPLACED-REP:wlan0:wlan0:activated:no:no::yes:/org/freedesktop/NetworkManager/ActiveConnection/2:/org/freedesktop/NetworkManager/Settings/Connection/3::
 VPN:openvpn:::*** VPN connection con-vpn-1 ***:5 - VPN connected:key1 = val1 | key2 = val2 | key3 = val3
 
 <<<
-size: 826
+size: 832
 location: src/tests/client/test-client.py:test_004()/575
 cmd: $NMCLI --mode tabular --terse --color yes con s con-vpn-1
 lang: C
 returncode: 0
-stdout: 657 bytes
+stdout: 663 bytes
 >>>
 connection:con-vpn-1:UUID-con-vpn-1-REPLACED-REPLACED-REP::vpn::yes:0:-1:0:-1:0:no:::::-1::0:unknown:default:-1:-1:-1
-ipv4:auto::::0::::-1:0::no:no:::0:yes:::0x0:no:yes:-1::
-ipv6:auto::::0::::-1:0::no:no:no:yes:-1:stable-privacy:0:::0:yes::0x0:
+ipv4:auto::::0::::-1:0::no:no:::0:yes:::0x0:no:yes:-1:-1::
+ipv6:auto::::0::::-1:0::no:no:no:yes:-1:-1:stable-privacy:0:::0:yes::0x0:
 vpn:org.freedesktop.NetworkManager.openvpn::key1 = val1, key2 = val2, key3 = val3:<hidden>:no:0
 proxy:none:no::
 GENERAL:con-vpn-1:UUID-con-vpn-1-REPLACED-REPLACED-REP:wlan0:wlan0:activated:no:no::yes:/org/freedesktop/NetworkManager/ActiveConnection/2:/org/freedesktop/NetworkManager/Settings/Connection/3::
 VPN:openvpn:::*** VPN connection con-vpn-1 ***:5 - VPN connected:key1 = val1 | key2 = val2 | key3 = val3
 
 <<<
-size: 836
+size: 842
 location: src/tests/client/test-client.py:test_004()/576
 cmd: $NMCLI --mode tabular --terse --color yes con s con-vpn-1
 lang: pl_PL.UTF-8
 returncode: 0
-stdout: 657 bytes
+stdout: 663 bytes
 >>>
 connection:con-vpn-1:UUID-con-vpn-1-REPLACED-REPLACED-REP::vpn::yes:0:-1:0:-1:0:no:::::-1::0:unknown:default:-1:-1:-1
-ipv4:auto::::0::::-1:0::no:no:::0:yes:::0x0:no:yes:-1::
-ipv6:auto::::0::::-1:0::no:no:no:yes:-1:stable-privacy:0:::0:yes::0x0:
+ipv4:auto::::0::::-1:0::no:no:::0:yes:::0x0:no:yes:-1:-1::
+ipv6:auto::::0::::-1:0::no:no:no:yes:-1:-1:stable-privacy:0:::0:yes::0x0:
 vpn:org.freedesktop.NetworkManager.openvpn::key1 = val1, key2 = val2, key3 = val3:<hidden>:no:0
 proxy:none:no::
 GENERAL:con-vpn-1:UUID-con-vpn-1-REPLACED-REPLACED-REP:wlan0:wlan0:activated:no:no::yes:/org/freedesktop/NetworkManager/ActiveConnection/2:/org/freedesktop/NetworkManager/Settings/Connection/3::
 VPN:openvpn:::*** VPN connection con-vpn-1 ***:5 - VPN connected:key1 = val1 | key2 = val2 | key3 = val3
 
 <<<
-size: 533
+size: 539
 location: src/tests/client/test-client.py:test_004()/577
 cmd: $NMCLI --mode tabular --terse --color yes -f ALL con s con-vpn-1
 lang: C
 returncode: 0
-stdout: 357 bytes
+stdout: 363 bytes
 >>>
 connection:con-vpn-1:UUID-con-vpn-1-REPLACED-REPLACED-REP::vpn::yes:0:-1:0:-1:0:no:::::-1::0:unknown:default:-1:-1:-1
-ipv4:auto::::0::::-1:0::no:no:::0:yes:::0x0:no:yes:-1::
-ipv6:auto::::0::::-1:0::no:no:no:yes:-1:stable-privacy:0:::0:yes::0x0:
+ipv4:auto::::0::::-1:0::no:no:::0:yes:::0x0:no:yes:-1:-1::
+ipv6:auto::::0::::-1:0::no:no:no:yes:-1:-1:stable-privacy:0:::0:yes::0x0:
 vpn:org.freedesktop.NetworkManager.openvpn::key1 = val1, key2 = val2, key3 = val3:<hidden>:no:0
 proxy:none:no::
 
 <<<
-size: 543
+size: 549
 location: src/tests/client/test-client.py:test_004()/578
 cmd: $NMCLI --mode tabular --terse --color yes -f ALL con s con-vpn-1
 lang: pl_PL.UTF-8
 returncode: 0
-stdout: 357 bytes
+stdout: 363 bytes
 >>>
 connection:con-vpn-1:UUID-con-vpn-1-REPLACED-REPLACED-REP::vpn::yes:0:-1:0:-1:0:no:::::-1::0:unknown:default:-1:-1:-1
-ipv4:auto::::0::::-1:0::no:no:::0:yes:::0x0:no:yes:-1::
-ipv6:auto::::0::::-1:0::no:no:no:yes:-1:stable-privacy:0:::0:yes::0x0:
+ipv4:auto::::0::::-1:0::no:no:::0:yes:::0x0:no:yes:-1:-1::
+ipv6:auto::::0::::-1:0::no:no:no:yes:-1:-1:stable-privacy:0:::0:yes::0x0:
 vpn:org.freedesktop.NetworkManager.openvpn::key1 = val1, key2 = val2, key3 = val3:<hidden>:no:0
 proxy:none:no::
 
@@ -30540,12 +30624,12 @@ stdout: 888 bytes
 wlan1:wifi:unavailable:unknown:unknown:/org/freedesktop/NetworkManager/Devices/5:::
 
 <<<
-size: 3103
+size: 3113
 location: src/tests/client/test-client.py:test_004()/587
 cmd: $NMCLI --mode tabular --terse --color yes dev show
 lang: C
 returncode: 0
-stdout: 2940 bytes
+stdout: 2950 bytes
 >>>
 wlan0
 wifi
@@ -30554,8 +30638,8 @@ wifi
 100 (connected)
 con-vpn-1
 /org/freedesktop/NetworkManager/ActiveConnection/2
-IP4:192.168.228.18/32 | 192.168.209.179/25:192.168.41.120:::sear4.foo2.bar | sear4.fo.x.y | sear4.foo1.bar | sear4.foo4.bar | sear4.fo.o.bar:192.168.120.79
-IP6:::dst = 2001\:a\:\:dd5b\:aa7b\:b4a2\:e42/102, nh = \:\:, mt = 2504159086::sear6.foo2.bar | sear6.foo1.bar | sear6.fo.x.y | sear6.fo.o.bar | sear6.foo3.bar | sear6.foo4.bar
+IP4:192.168.228.18/32 | 192.168.209.179/25:192.168.41.120:::sear4.foo2.bar | sear4.fo.x.y | sear4.foo1.bar | sear4.foo4.bar | sear4.fo.o.bar::192.168.120.79
+IP6:::dst = 2001\:a\:\:dd5b\:aa7b\:b4a2\:e42/102, nh = \:\:, mt = 2504159086::sear6.foo2.bar | sear6.foo1.bar | sear6.fo.x.y | sear6.fo.o.bar | sear6.foo3.bar | sear6.foo4.bar:
 
 eth0
 ethernet
@@ -30565,8 +30649,8 @@ AB\:B7\:BF\:E2\:48\:E8
 
 
 WIRED-PROPERTIES:on:
-IP4:192.168.49.34/22 | 192.168.135.86/19:::192.168.45.230 | 192.168.180.201 | 192.168.253.2:sear4.foo2.bar | sear4.foo1.bar:192.168.163.23 | 192.168.151.246
-IP6:2001\:a\:\:ed81\:3d7\:c2e9\:df82/99:::2001\:a\:\:2703\:f06\:9619\:d89f | 2001\:a\:\:3a75\:3682\:c683\:8541 | 2001\:a\:\:584e\:912\:d5ee\:c74f:sear6.foo4.bar | sear6.fo.o.bar
+IP4:192.168.49.34/22 | 192.168.135.86/19:::192.168.45.230 | 192.168.180.201 | 192.168.253.2:sear4.foo2.bar | sear4.foo1.bar::192.168.163.23 | 192.168.151.246
+IP6:2001\:a\:\:ed81\:3d7\:c2e9\:df82/99:::2001\:a\:\:2703\:f06\:9619\:d89f | 2001\:a\:\:3a75\:3682\:c683\:8541 | 2001\:a\:\:584e\:912\:d5ee\:c74f:sear6.foo4.bar | sear6.fo.o.bar:
 
 eth1
 ethernet
@@ -30576,8 +30660,8 @@ E7\:78\:B1\:93\:2B\:22
 
 
 WIRED-PROPERTIES:on:
-IP4:192.168.127.210/25:192.168.88.4:dst = 192.168.222.35/19, nh = 192.168.170.142, mt = 3609264321 | dst = 192.168.135.81/32, nh = 192.168.32.11, mt = 1316413247 | dst = 192.168.24.65/26, nh = 192.168.23.163, mt = 3855574583:192.168.16.144 | 192.168.79.53 | 192.168.237.155:sear4.foo4.bar | sear4.foo3.bar | sear4.foo1.bar:192.168.211.91 | 192.168.58.182 | 192.168.114.97
-IP6:2001\:a\:\:1c1\:c178\:169f\:2b80/93 | 2001\:a\:\:1f79\:e0fb\:87b9\:3cc6/123::dst = 2001\:a\:\:3166\:7ed1\:e4ae\:7612/123, nh = \:\::2001\:a\:\:edda\:955\:dcf4\:23d4 | 2001\:a\:\:109f\:aa0f\:fb4a\:9d5a | 2001\:a\:\:61cf\:7c82\:e9c0\:c952:sear6.foo1.bar
+IP4:192.168.127.210/25:192.168.88.4:dst = 192.168.222.35/19, nh = 192.168.170.142, mt = 3609264321 | dst = 192.168.135.81/32, nh = 192.168.32.11, mt = 1316413247 | dst = 192.168.24.65/26, nh = 192.168.23.163, mt = 3855574583:192.168.16.144 | 192.168.79.53 | 192.168.237.155:sear4.foo4.bar | sear4.foo3.bar | sear4.foo1.bar::192.168.211.91 | 192.168.58.182 | 192.168.114.97
+IP6:2001\:a\:\:1c1\:c178\:169f\:2b80/93 | 2001\:a\:\:1f79\:e0fb\:87b9\:3cc6/123::dst = 2001\:a\:\:3166\:7ed1\:e4ae\:7612/123, nh = \:\::2001\:a\:\:edda\:955\:dcf4\:23d4 | 2001\:a\:\:109f\:aa0f\:fb4a\:9d5a | 2001\:a\:\:61cf\:7c82\:e9c0\:c952:sear6.foo1.bar:
 
 wlan1
 wifi
@@ -30586,8 +30670,8 @@ wifi
 20 (unavailable)
 
 
-IP4::192.168.57.160:dst = 192.168.36.106/21, nh = 192.168.199.128, mt = 979274165 | dst = 192.168.238.130/19, nh = 0.0.0.0 | dst = 192.168.224.39/32, nh = 192.168.148.69:192.168.61.83:sear4.foo4.bar | sear4.fo.x.y | sear4.foo2.bar | sear4.foo1.bar | sear4.fo.o.bar | sear4.foo3.bar:
-IP6:2001\:a\:\:fa05\:2ab4\:9300\:e8fe/116 | 2001\:a\:\:e9cf\:bd3\:caba\:99b3/86 | 2001\:a\:\:2be6\:44fa\:2c95\:5559/78:2001\:a\:\:4d70\:d91a\:770f\:2319:dst = 2001\:a\:\:3cb2\:719d\:bb00\:b22f/66, nh = 2001\:a\:\:81b1\:58b9\:7237\:3511, mt = 2280277732 | dst = 2001\:a\:\:986f\:983c\:5eb\:1c7d/99, nh = \:\:, mt = 1204008676:2001\:a\:\:85e7\:3d7d\:53e8\:50ac | 2001\:a\:\:1c5\:9cb5\:e86d\:25a5:sear6.foo4.bar | sear6.foo2.bar
+IP4::192.168.57.160:dst = 192.168.36.106/21, nh = 192.168.199.128, mt = 979274165 | dst = 192.168.238.130/19, nh = 0.0.0.0 | dst = 192.168.224.39/32, nh = 192.168.148.69:192.168.61.83:sear4.foo4.bar | sear4.fo.x.y | sear4.foo2.bar | sear4.foo1.bar | sear4.fo.o.bar | sear4.foo3.bar::
+IP6:2001\:a\:\:fa05\:2ab4\:9300\:e8fe/116 | 2001\:a\:\:e9cf\:bd3\:caba\:99b3/86 | 2001\:a\:\:2be6\:44fa\:2c95\:5559/78:2001\:a\:\:4d70\:d91a\:770f\:2319:dst = 2001\:a\:\:3cb2\:719d\:bb00\:b22f/66, nh = 2001\:a\:\:81b1\:58b9\:7237\:3511, mt = 2280277732 | dst = 2001\:a\:\:986f\:983c\:5eb\:1c7d/99, nh = \:\:, mt = 1204008676:2001\:a\:\:85e7\:3d7d\:53e8\:50ac | 2001\:a\:\:1c5\:9cb5\:e86d\:25a5:sear6.foo4.bar | sear6.foo2.bar:
 
 wlan1
 wifi
@@ -30596,16 +30680,16 @@ wifi
 20 (unavailable)
 
 
-IP4:192.168.97.124/29 | 192.168.76.154/18::dst = 192.168.33.233/22, nh = 192.168.222.210, mt = 2810496551:192.168.107.109:sear4.fo.o.bar | sear4.fo.x.y | sear4.foo2.bar | sear4.foo3.bar | sear4.foo4.bar:192.168.60.60 | 192.168.63.92
-IP6:2001\:a\:\:88ca\:3654\:96b\:ab44/89::dst = 2001\:a\:\:cc8b\:7c09\:4673\:bbb0/85, nh = \:\:, mt = 2821465568 | dst = 2001\:a\:\:a976\:2488\:f49f\:b48/106, nh = 2001\:a\:\:62ae\:c734\:fc7b\:e931, mt = 2248613879 | dst = 2001\:a\:\:afb7\:4449\:3787\:8bb4/123, nh = \:\::2001\:a\:\:2934\:bd66\:550d\:ec19:sear6.fo.x.y
+IP4:192.168.97.124/29 | 192.168.76.154/18::dst = 192.168.33.233/22, nh = 192.168.222.210, mt = 2810496551:192.168.107.109:sear4.fo.o.bar | sear4.fo.x.y | sear4.foo2.bar | sear4.foo3.bar | sear4.foo4.bar::192.168.60.60 | 192.168.63.92
+IP6:2001\:a\:\:88ca\:3654\:96b\:ab44/89::dst = 2001\:a\:\:cc8b\:7c09\:4673\:bbb0/85, nh = \:\:, mt = 2821465568 | dst = 2001\:a\:\:a976\:2488\:f49f\:b48/106, nh = 2001\:a\:\:62ae\:c734\:fc7b\:e931, mt = 2248613879 | dst = 2001\:a\:\:afb7\:4449\:3787\:8bb4/123, nh = \:\::2001\:a\:\:2934\:bd66\:550d\:ec19:sear6.fo.x.y:
 
 <<<
-size: 3113
+size: 3123
 location: src/tests/client/test-client.py:test_004()/588
 cmd: $NMCLI --mode tabular --terse --color yes dev show
 lang: pl_PL.UTF-8
 returncode: 0
-stdout: 2940 bytes
+stdout: 2950 bytes
 >>>
 wlan0
 wifi
@@ -30614,8 +30698,8 @@ wifi
 100 (connected)
 con-vpn-1
 /org/freedesktop/NetworkManager/ActiveConnection/2
-IP4:192.168.228.18/32 | 192.168.209.179/25:192.168.41.120:::sear4.foo2.bar | sear4.fo.x.y | sear4.foo1.bar | sear4.foo4.bar | sear4.fo.o.bar:192.168.120.79
-IP6:::dst = 2001\:a\:\:dd5b\:aa7b\:b4a2\:e42/102, nh = \:\:, mt = 2504159086::sear6.foo2.bar | sear6.foo1.bar | sear6.fo.x.y | sear6.fo.o.bar | sear6.foo3.bar | sear6.foo4.bar
+IP4:192.168.228.18/32 | 192.168.209.179/25:192.168.41.120:::sear4.foo2.bar | sear4.fo.x.y | sear4.foo1.bar | sear4.foo4.bar | sear4.fo.o.bar::192.168.120.79
+IP6:::dst = 2001\:a\:\:dd5b\:aa7b\:b4a2\:e42/102, nh = \:\:, mt = 2504159086::sear6.foo2.bar | sear6.foo1.bar | sear6.fo.x.y | sear6.fo.o.bar | sear6.foo3.bar | sear6.foo4.bar:
 
 eth0
 ethernet
@@ -30625,8 +30709,8 @@ AB\:B7\:BF\:E2\:48\:E8
 
 
 WIRED-PROPERTIES:on:
-IP4:192.168.49.34/22 | 192.168.135.86/19:::192.168.45.230 | 192.168.180.201 | 192.168.253.2:sear4.foo2.bar | sear4.foo1.bar:192.168.163.23 | 192.168.151.246
-IP6:2001\:a\:\:ed81\:3d7\:c2e9\:df82/99:::2001\:a\:\:2703\:f06\:9619\:d89f | 2001\:a\:\:3a75\:3682\:c683\:8541 | 2001\:a\:\:584e\:912\:d5ee\:c74f:sear6.foo4.bar | sear6.fo.o.bar
+IP4:192.168.49.34/22 | 192.168.135.86/19:::192.168.45.230 | 192.168.180.201 | 192.168.253.2:sear4.foo2.bar | sear4.foo1.bar::192.168.163.23 | 192.168.151.246
+IP6:2001\:a\:\:ed81\:3d7\:c2e9\:df82/99:::2001\:a\:\:2703\:f06\:9619\:d89f | 2001\:a\:\:3a75\:3682\:c683\:8541 | 2001\:a\:\:584e\:912\:d5ee\:c74f:sear6.foo4.bar | sear6.fo.o.bar:
 
 eth1
 ethernet
@@ -30636,8 +30720,8 @@ E7\:78\:B1\:93\:2B\:22
 
 
 WIRED-PROPERTIES:on:
-IP4:192.168.127.210/25:192.168.88.4:dst = 192.168.222.35/19, nh = 192.168.170.142, mt = 3609264321 | dst = 192.168.135.81/32, nh = 192.168.32.11, mt = 1316413247 | dst = 192.168.24.65/26, nh = 192.168.23.163, mt = 3855574583:192.168.16.144 | 192.168.79.53 | 192.168.237.155:sear4.foo4.bar | sear4.foo3.bar | sear4.foo1.bar:192.168.211.91 | 192.168.58.182 | 192.168.114.97
-IP6:2001\:a\:\:1c1\:c178\:169f\:2b80/93 | 2001\:a\:\:1f79\:e0fb\:87b9\:3cc6/123::dst = 2001\:a\:\:3166\:7ed1\:e4ae\:7612/123, nh = \:\::2001\:a\:\:edda\:955\:dcf4\:23d4 | 2001\:a\:\:109f\:aa0f\:fb4a\:9d5a | 2001\:a\:\:61cf\:7c82\:e9c0\:c952:sear6.foo1.bar
+IP4:192.168.127.210/25:192.168.88.4:dst = 192.168.222.35/19, nh = 192.168.170.142, mt = 3609264321 | dst = 192.168.135.81/32, nh = 192.168.32.11, mt = 1316413247 | dst = 192.168.24.65/26, nh = 192.168.23.163, mt = 3855574583:192.168.16.144 | 192.168.79.53 | 192.168.237.155:sear4.foo4.bar | sear4.foo3.bar | sear4.foo1.bar::192.168.211.91 | 192.168.58.182 | 192.168.114.97
+IP6:2001\:a\:\:1c1\:c178\:169f\:2b80/93 | 2001\:a\:\:1f79\:e0fb\:87b9\:3cc6/123::dst = 2001\:a\:\:3166\:7ed1\:e4ae\:7612/123, nh = \:\::2001\:a\:\:edda\:955\:dcf4\:23d4 | 2001\:a\:\:109f\:aa0f\:fb4a\:9d5a | 2001\:a\:\:61cf\:7c82\:e9c0\:c952:sear6.foo1.bar:
 
 wlan1
 wifi
@@ -30646,8 +30730,8 @@ wifi
 20 (unavailable)
 
 
-IP4::192.168.57.160:dst = 192.168.36.106/21, nh = 192.168.199.128, mt = 979274165 | dst = 192.168.238.130/19, nh = 0.0.0.0 | dst = 192.168.224.39/32, nh = 192.168.148.69:192.168.61.83:sear4.foo4.bar | sear4.fo.x.y | sear4.foo2.bar | sear4.foo1.bar | sear4.fo.o.bar | sear4.foo3.bar:
-IP6:2001\:a\:\:fa05\:2ab4\:9300\:e8fe/116 | 2001\:a\:\:e9cf\:bd3\:caba\:99b3/86 | 2001\:a\:\:2be6\:44fa\:2c95\:5559/78:2001\:a\:\:4d70\:d91a\:770f\:2319:dst = 2001\:a\:\:3cb2\:719d\:bb00\:b22f/66, nh = 2001\:a\:\:81b1\:58b9\:7237\:3511, mt = 2280277732 | dst = 2001\:a\:\:986f\:983c\:5eb\:1c7d/99, nh = \:\:, mt = 1204008676:2001\:a\:\:85e7\:3d7d\:53e8\:50ac | 2001\:a\:\:1c5\:9cb5\:e86d\:25a5:sear6.foo4.bar | sear6.foo2.bar
+IP4::192.168.57.160:dst = 192.168.36.106/21, nh = 192.168.199.128, mt = 979274165 | dst = 192.168.238.130/19, nh = 0.0.0.0 | dst = 192.168.224.39/32, nh = 192.168.148.69:192.168.61.83:sear4.foo4.bar | sear4.fo.x.y | sear4.foo2.bar | sear4.foo1.bar | sear4.fo.o.bar | sear4.foo3.bar::
+IP6:2001\:a\:\:fa05\:2ab4\:9300\:e8fe/116 | 2001\:a\:\:e9cf\:bd3\:caba\:99b3/86 | 2001\:a\:\:2be6\:44fa\:2c95\:5559/78:2001\:a\:\:4d70\:d91a\:770f\:2319:dst = 2001\:a\:\:3cb2\:719d\:bb00\:b22f/66, nh = 2001\:a\:\:81b1\:58b9\:7237\:3511, mt = 2280277732 | dst = 2001\:a\:\:986f\:983c\:5eb\:1c7d/99, nh = \:\:, mt = 1204008676:2001\:a\:\:85e7\:3d7d\:53e8\:50ac | 2001\:a\:\:1c5\:9cb5\:e86d\:25a5:sear6.foo4.bar | sear6.foo2.bar:
 
 wlan1
 wifi
@@ -30656,16 +30740,16 @@ wifi
 20 (unavailable)
 
 
-IP4:192.168.97.124/29 | 192.168.76.154/18::dst = 192.168.33.233/22, nh = 192.168.222.210, mt = 2810496551:192.168.107.109:sear4.fo.o.bar | sear4.fo.x.y | sear4.foo2.bar | sear4.foo3.bar | sear4.foo4.bar:192.168.60.60 | 192.168.63.92
-IP6:2001\:a\:\:88ca\:3654\:96b\:ab44/89::dst = 2001\:a\:\:cc8b\:7c09\:4673\:bbb0/85, nh = \:\:, mt = 2821465568 | dst = 2001\:a\:\:a976\:2488\:f49f\:b48/106, nh = 2001\:a\:\:62ae\:c734\:fc7b\:e931, mt = 2248613879 | dst = 2001\:a\:\:afb7\:4449\:3787\:8bb4/123, nh = \:\::2001\:a\:\:2934\:bd66\:550d\:ec19:sear6.fo.x.y
+IP4:192.168.97.124/29 | 192.168.76.154/18::dst = 192.168.33.233/22, nh = 192.168.222.210, mt = 2810496551:192.168.107.109:sear4.fo.o.bar | sear4.fo.x.y | sear4.foo2.bar | sear4.foo3.bar | sear4.foo4.bar::192.168.60.60 | 192.168.63.92
+IP6:2001\:a\:\:88ca\:3654\:96b\:ab44/89::dst = 2001\:a\:\:cc8b\:7c09\:4673\:bbb0/85, nh = \:\:, mt = 2821465568 | dst = 2001\:a\:\:a976\:2488\:f49f\:b48/106, nh = 2001\:a\:\:62ae\:c734\:fc7b\:e931, mt = 2248613879 | dst = 2001\:a\:\:afb7\:4449\:3787\:8bb4/123, nh = \:\::2001\:a\:\:2934\:bd66\:550d\:ec19:sear6.fo.x.y:
 
 <<<
-size: 7180
+size: 7190
 location: src/tests/client/test-client.py:test_004()/589
 cmd: $NMCLI --mode tabular --terse --color yes -f all dev show
 lang: C
 returncode: 0
-stdout: 7010 bytes
+stdout: 7020 bytes
 >>>
 GENERAL:wlan0:wifi:NMDeviceWifi:/org/freedesktop/NetworkManager/Devices/3:::virtual:::13\:E0\:74\:85\:7C\:D9:0:100 (connected):0 (No reason given):0 (unknown):0 (unknown):/sys/devices/virtual/wlan0::wlan0:no:yes:yes:no:no::con-vpn-1:UUID-con-vpn-1-REPLACED-REPLACED-REP:/org/freedesktop/NetworkManager/ActiveConnection/2:unknown
 CAPABILITIES:no:21 Mb/s:no:no
@@ -30674,9 +30758,9 @@ WIFI-PROPERTIES:yes:yes:yes:yes:yes:yes:yes:unknown:unknown:no:no
 AP[1]: :C0\:E2\:BE\:E8\:EF\:B6:wlan0-ap-2:Infra:1:54 Mbit/s:92:****:WPA1 WPA2
 AP[2]: :61\:95\:77\:AC\:1E\:4C:wlan0-ap-1:Infra:1:54 Mbit/s:81:****:WPA1
 AP[3]: :9B\:F6\:B7\:EC\:97\:76:wlan0-ap-3:Infra:1:54 Mbit/s:55:**  :WPA3
-IP4:192.168.228.18/32 | 192.168.209.179/25:192.168.41.120:::sear4.foo2.bar | sear4.fo.x.y | sear4.foo1.bar | sear4.foo4.bar | sear4.fo.o.bar:192.168.120.79
+IP4:192.168.228.18/32 | 192.168.209.179/25:192.168.41.120:::sear4.foo2.bar | sear4.fo.x.y | sear4.foo1.bar | sear4.foo4.bar | sear4.fo.o.bar::192.168.120.79
 DHCP4:dhcp-4-opt-0 = val-0 | dhcp-4-opt-2 = val-2 | dhcp-4-opt-4 = val-4 | dhcp-4-opt-7 = val-7
-IP6:::dst = 2001\:a\:\:dd5b\:aa7b\:b4a2\:e42/102, nh = \:\:, mt = 2504159086::sear6.foo2.bar | sear6.foo1.bar | sear6.fo.x.y | sear6.fo.o.bar | sear6.foo3.bar | sear6.foo4.bar
+IP6:::dst = 2001\:a\:\:dd5b\:aa7b\:b4a2\:e42/102, nh = \:\:, mt = 2504159086::sear6.foo2.bar | sear6.foo1.bar | sear6.fo.x.y | sear6.fo.o.bar | sear6.foo3.bar | sear6.foo4.bar:
 DHCP6:dhcp-6-opt-1 = val-1 | dhcp-6-opt-2 = val-2 | dhcp-6-opt-3 = val-3 | dhcp-6-opt-4 = val-4 | dhcp-6-opt-5 = val-5
 CONNECTIONS:/org/freedesktop/NetworkManager/Settings/Connection/{2}:UUID-con-xx1-REPLACED-REPLACED-REPLA | con-xx1
 
@@ -30684,9 +30768,9 @@ GENERAL:eth0:ethernet:NMDeviceEthernet:/org/freedesktop/NetworkManager/Devices/1
 CAPABILITIES:no:100 Mb/s:no:no
 INTERFACE-FLAGS:yes:yes:no:no
 WIRED-PROPERTIES:on:
-IP4:192.168.49.34/22 | 192.168.135.86/19:::192.168.45.230 | 192.168.180.201 | 192.168.253.2:sear4.foo2.bar | sear4.foo1.bar:192.168.163.23 | 192.168.151.246
+IP4:192.168.49.34/22 | 192.168.135.86/19:::192.168.45.230 | 192.168.180.201 | 192.168.253.2:sear4.foo2.bar | sear4.foo1.bar::192.168.163.23 | 192.168.151.246
 DHCP4:dhcp-4-opt-8 = val-8 | dhcp-4-opt-9 = val-9
-IP6:2001\:a\:\:ed81\:3d7\:c2e9\:df82/99:::2001\:a\:\:2703\:f06\:9619\:d89f | 2001\:a\:\:3a75\:3682\:c683\:8541 | 2001\:a\:\:584e\:912\:d5ee\:c74f:sear6.foo4.bar | sear6.fo.o.bar
+IP6:2001\:a\:\:ed81\:3d7\:c2e9\:df82/99:::2001\:a\:\:2703\:f06\:9619\:d89f | 2001\:a\:\:3a75\:3682\:c683\:8541 | 2001\:a\:\:584e\:912\:d5ee\:c74f:sear6.foo4.bar | sear6.fo.o.bar:
 DHCP6:dhcp-6-opt-0 = val-0 | dhcp-6-opt-1 = val-1 | dhcp-6-opt-2 = val-2 | dhcp-6-opt-3 = val-3 | dhcp-6-opt-4 = val-4 | dhcp-6-opt-5 = val-5 | dhcp-6-opt-6 = val-6 | dhcp-6-opt-7 = val-7 | dhcp-6-opt-8 = val-8 | dhcp-6-opt-9 = val-9
 CONNECTIONS:/org/freedesktop/NetworkManager/Settings/Connection/{1}:5fcfd6d7-1e63-3332-8826-a7eda103792d | con-1
 
@@ -30694,9 +30778,9 @@ GENERAL:eth1:ethernet:NMDeviceEthernet:/org/freedesktop/NetworkManager/Devices/2
 CAPABILITIES:no:100 Mb/s:no:no
 INTERFACE-FLAGS:yes:yes:no:no
 WIRED-PROPERTIES:on:
-IP4:192.168.127.210/25:192.168.88.4:dst = 192.168.222.35/19, nh = 192.168.170.142, mt = 3609264321 | dst = 192.168.135.81/32, nh = 192.168.32.11, mt = 1316413247 | dst = 192.168.24.65/26, nh = 192.168.23.163, mt = 3855574583:192.168.16.144 | 192.168.79.53 | 192.168.237.155:sear4.foo4.bar | sear4.foo3.bar | sear4.foo1.bar:192.168.211.91 | 192.168.58.182 | 192.168.114.97
+IP4:192.168.127.210/25:192.168.88.4:dst = 192.168.222.35/19, nh = 192.168.170.142, mt = 3609264321 | dst = 192.168.135.81/32, nh = 192.168.32.11, mt = 1316413247 | dst = 192.168.24.65/26, nh = 192.168.23.163, mt = 3855574583:192.168.16.144 | 192.168.79.53 | 192.168.237.155:sear4.foo4.bar | sear4.foo3.bar | sear4.foo1.bar::192.168.211.91 | 192.168.58.182 | 192.168.114.97
 DHCP4:dhcp-4-opt-0 = val-0 | dhcp-4-opt-1 = val-1 | dhcp-4-opt-2 = val-2 | dhcp-4-opt-3 = val-3 | dhcp-4-opt-4 = val-4 | dhcp-4-opt-5 = val-5 | dhcp-4-opt-7 = val-7 | dhcp-4-opt-8 = val-8 | dhcp-4-opt-9 = val-9
-IP6:2001\:a\:\:1c1\:c178\:169f\:2b80/93 | 2001\:a\:\:1f79\:e0fb\:87b9\:3cc6/123::dst = 2001\:a\:\:3166\:7ed1\:e4ae\:7612/123, nh = \:\::2001\:a\:\:edda\:955\:dcf4\:23d4 | 2001\:a\:\:109f\:aa0f\:fb4a\:9d5a | 2001\:a\:\:61cf\:7c82\:e9c0\:c952:sear6.foo1.bar
+IP6:2001\:a\:\:1c1\:c178\:169f\:2b80/93 | 2001\:a\:\:1f79\:e0fb\:87b9\:3cc6/123::dst = 2001\:a\:\:3166\:7ed1\:e4ae\:7612/123, nh = \:\::2001\:a\:\:edda\:955\:dcf4\:23d4 | 2001\:a\:\:109f\:aa0f\:fb4a\:9d5a | 2001\:a\:\:61cf\:7c82\:e9c0\:c952:sear6.foo1.bar:
 DHCP6:dhcp-6-opt-2 = val-2 | dhcp-6-opt-5 = val-5 | dhcp-6-opt-6 = val-6 | dhcp-6-opt-8 = val-8 | dhcp-6-opt-9 = val-9
 CONNECTIONS:/org/freedesktop/NetworkManager/Settings/Connection/{1}:5fcfd6d7-1e63-3332-8826-a7eda103792d | con-1
 
@@ -30705,9 +30789,9 @@ CAPABILITIES:no:unknown:no:no
 INTERFACE-FLAGS:yes:yes:no:no
 WIFI-PROPERTIES:yes:yes:yes:yes:yes:yes:yes:unknown:unknown:no:no
 AP[1]: :94\:2B\:E8\:F6\:D2\:86:wlan1-ap-4:Infra:1:54 Mbit/s:48:**  :WPA1 WPA2
-IP4::192.168.57.160:dst = 192.168.36.106/21, nh = 192.168.199.128, mt = 979274165 | dst = 192.168.238.130/19, nh = 0.0.0.0 | dst = 192.168.224.39/32, nh = 192.168.148.69:192.168.61.83:sear4.foo4.bar | sear4.fo.x.y | sear4.foo2.bar | sear4.foo1.bar | sear4.fo.o.bar | sear4.foo3.bar:
+IP4::192.168.57.160:dst = 192.168.36.106/21, nh = 192.168.199.128, mt = 979274165 | dst = 192.168.238.130/19, nh = 0.0.0.0 | dst = 192.168.224.39/32, nh = 192.168.148.69:192.168.61.83:sear4.foo4.bar | sear4.fo.x.y | sear4.foo2.bar | sear4.foo1.bar | sear4.fo.o.bar | sear4.foo3.bar::
 DHCP4:dhcp-4-opt-0 = val-0 | dhcp-4-opt-1 = val-1 | dhcp-4-opt-2 = val-2 | dhcp-4-opt-4 = val-4 | dhcp-4-opt-6 = val-6 | dhcp-4-opt-7 = val-7 | dhcp-4-opt-8 = val-8 | dhcp-4-opt-9 = val-9
-IP6:2001\:a\:\:fa05\:2ab4\:9300\:e8fe/116 | 2001\:a\:\:e9cf\:bd3\:caba\:99b3/86 | 2001\:a\:\:2be6\:44fa\:2c95\:5559/78:2001\:a\:\:4d70\:d91a\:770f\:2319:dst = 2001\:a\:\:3cb2\:719d\:bb00\:b22f/66, nh = 2001\:a\:\:81b1\:58b9\:7237\:3511, mt = 2280277732 | dst = 2001\:a\:\:986f\:983c\:5eb\:1c7d/99, nh = \:\:, mt = 1204008676:2001\:a\:\:85e7\:3d7d\:53e8\:50ac | 2001\:a\:\:1c5\:9cb5\:e86d\:25a5:sear6.foo4.bar | sear6.foo2.bar
+IP6:2001\:a\:\:fa05\:2ab4\:9300\:e8fe/116 | 2001\:a\:\:e9cf\:bd3\:caba\:99b3/86 | 2001\:a\:\:2be6\:44fa\:2c95\:5559/78:2001\:a\:\:4d70\:d91a\:770f\:2319:dst = 2001\:a\:\:3cb2\:719d\:bb00\:b22f/66, nh = 2001\:a\:\:81b1\:58b9\:7237\:3511, mt = 2280277732 | dst = 2001\:a\:\:986f\:983c\:5eb\:1c7d/99, nh = \:\:, mt = 1204008676:2001\:a\:\:85e7\:3d7d\:53e8\:50ac | 2001\:a\:\:1c5\:9cb5\:e86d\:25a5:sear6.foo4.bar | sear6.foo2.bar:
 DHCP6:dhcp-6-opt-0 = val-0 | dhcp-6-opt-1 = val-1 | dhcp-6-opt-2 = val-2 | dhcp-6-opt-3 = val-3 | dhcp-6-opt-4 = val-4 | dhcp-6-opt-5 = val-5 | dhcp-6-opt-6 = val-6 | dhcp-6-opt-7 = val-7 | dhcp-6-opt-9 = val-9
 CONNECTIONS:/org/freedesktop/NetworkManager/Settings/Connection/{2}:UUID-con-xx1-REPLACED-REPLACED-REPLA | con-xx1
 
@@ -30715,19 +30799,19 @@ GENERAL:wlan1:wifi:NMDeviceWifi:/org/freedesktop/NetworkManager/Devices/5:::virt
 CAPABILITIES:no:unknown:no:no
 INTERFACE-FLAGS:yes:yes:no:no
 WIFI-PROPERTIES:yes:yes:yes:yes:yes:yes:yes:unknown:unknown:no:no
-IP4:192.168.97.124/29 | 192.168.76.154/18::dst = 192.168.33.233/22, nh = 192.168.222.210, mt = 2810496551:192.168.107.109:sear4.fo.o.bar | sear4.fo.x.y | sear4.foo2.bar | sear4.foo3.bar | sear4.foo4.bar:192.168.60.60 | 192.168.63.92
+IP4:192.168.97.124/29 | 192.168.76.154/18::dst = 192.168.33.233/22, nh = 192.168.222.210, mt = 2810496551:192.168.107.109:sear4.fo.o.bar | sear4.fo.x.y | sear4.foo2.bar | sear4.foo3.bar | sear4.foo4.bar::192.168.60.60 | 192.168.63.92
 DHCP4:dhcp-4-opt-0 = val-0 | dhcp-4-opt-5 = val-5
-IP6:2001\:a\:\:88ca\:3654\:96b\:ab44/89::dst = 2001\:a\:\:cc8b\:7c09\:4673\:bbb0/85, nh = \:\:, mt = 2821465568 | dst = 2001\:a\:\:a976\:2488\:f49f\:b48/106, nh = 2001\:a\:\:62ae\:c734\:fc7b\:e931, mt = 2248613879 | dst = 2001\:a\:\:afb7\:4449\:3787\:8bb4/123, nh = \:\::2001\:a\:\:2934\:bd66\:550d\:ec19:sear6.fo.x.y
+IP6:2001\:a\:\:88ca\:3654\:96b\:ab44/89::dst = 2001\:a\:\:cc8b\:7c09\:4673\:bbb0/85, nh = \:\:, mt = 2821465568 | dst = 2001\:a\:\:a976\:2488\:f49f\:b48/106, nh = 2001\:a\:\:62ae\:c734\:fc7b\:e931, mt = 2248613879 | dst = 2001\:a\:\:afb7\:4449\:3787\:8bb4/123, nh = \:\::2001\:a\:\:2934\:bd66\:550d\:ec19:sear6.fo.x.y:
 DHCP6:dhcp-6-opt-2 = val-2 | dhcp-6-opt-6 = val-6 | dhcp-6-opt-7 = val-7 | dhcp-6-opt-8 = val-8 | dhcp-6-opt-9 = val-9
 CONNECTIONS:/org/freedesktop/NetworkManager/Settings/Connection/{2}:UUID-con-xx1-REPLACED-REPLACED-REPLA | con-xx1
 
 <<<
-size: 7226
+size: 7236
 location: src/tests/client/test-client.py:test_004()/590
 cmd: $NMCLI --mode tabular --terse --color yes -f all dev show
 lang: pl_PL.UTF-8
 returncode: 0
-stdout: 7046 bytes
+stdout: 7056 bytes
 >>>
 GENERAL:wlan0:wifi:NMDeviceWifi:/org/freedesktop/NetworkManager/Devices/3:::virtual:::13\:E0\:74\:85\:7C\:D9:0:100 (connected):0 (No reason given):0 (unknown):0 (unknown):/sys/devices/virtual/wlan0::wlan0:no:yes:yes:no:no::con-vpn-1:UUID-con-vpn-1-REPLACED-REPLACED-REP:/org/freedesktop/NetworkManager/ActiveConnection/2:unknown
 CAPABILITIES:no:21 Mb/s:no:no
@@ -30736,9 +30820,9 @@ WIFI-PROPERTIES:yes:yes:yes:yes:yes:yes:yes:unknown:unknown:no:no
 AP[1]: :C0\:E2\:BE\:E8\:EF\:B6:wlan0-ap-2:Infrastruktura:1:54 Mb/s:92:****:WPA1 WPA2
 AP[2]: :61\:95\:77\:AC\:1E\:4C:wlan0-ap-1:Infrastruktura:1:54 Mb/s:81:****:WPA1
 AP[3]: :9B\:F6\:B7\:EC\:97\:76:wlan0-ap-3:Infrastruktura:1:54 Mb/s:55:**  :WPA3
-IP4:192.168.228.18/32 | 192.168.209.179/25:192.168.41.120:::sear4.foo2.bar | sear4.fo.x.y | sear4.foo1.bar | sear4.foo4.bar | sear4.fo.o.bar:192.168.120.79
+IP4:192.168.228.18/32 | 192.168.209.179/25:192.168.41.120:::sear4.foo2.bar | sear4.fo.x.y | sear4.foo1.bar | sear4.foo4.bar | sear4.fo.o.bar::192.168.120.79
 DHCP4:dhcp-4-opt-0 = val-0 | dhcp-4-opt-2 = val-2 | dhcp-4-opt-4 = val-4 | dhcp-4-opt-7 = val-7
-IP6:::dst = 2001\:a\:\:dd5b\:aa7b\:b4a2\:e42/102, nh = \:\:, mt = 2504159086::sear6.foo2.bar | sear6.foo1.bar | sear6.fo.x.y | sear6.fo.o.bar | sear6.foo3.bar | sear6.foo4.bar
+IP6:::dst = 2001\:a\:\:dd5b\:aa7b\:b4a2\:e42/102, nh = \:\:, mt = 2504159086::sear6.foo2.bar | sear6.foo1.bar | sear6.fo.x.y | sear6.fo.o.bar | sear6.foo3.bar | sear6.foo4.bar:
 DHCP6:dhcp-6-opt-1 = val-1 | dhcp-6-opt-2 = val-2 | dhcp-6-opt-3 = val-3 | dhcp-6-opt-4 = val-4 | dhcp-6-opt-5 = val-5
 CONNECTIONS:/org/freedesktop/NetworkManager/Settings/Connection/{2}:UUID-con-xx1-REPLACED-REPLACED-REPLA | con-xx1
 
@@ -30746,9 +30830,9 @@ GENERAL:eth0:ethernet:NMDeviceEthernet:/org/freedesktop/NetworkManager/Devices/1
 CAPABILITIES:no:100 Mb/s:no:no
 INTERFACE-FLAGS:yes:yes:no:no
 WIRED-PROPERTIES:on:
-IP4:192.168.49.34/22 | 192.168.135.86/19:::192.168.45.230 | 192.168.180.201 | 192.168.253.2:sear4.foo2.bar | sear4.foo1.bar:192.168.163.23 | 192.168.151.246
+IP4:192.168.49.34/22 | 192.168.135.86/19:::192.168.45.230 | 192.168.180.201 | 192.168.253.2:sear4.foo2.bar | sear4.foo1.bar::192.168.163.23 | 192.168.151.246
 DHCP4:dhcp-4-opt-8 = val-8 | dhcp-4-opt-9 = val-9
-IP6:2001\:a\:\:ed81\:3d7\:c2e9\:df82/99:::2001\:a\:\:2703\:f06\:9619\:d89f | 2001\:a\:\:3a75\:3682\:c683\:8541 | 2001\:a\:\:584e\:912\:d5ee\:c74f:sear6.foo4.bar | sear6.fo.o.bar
+IP6:2001\:a\:\:ed81\:3d7\:c2e9\:df82/99:::2001\:a\:\:2703\:f06\:9619\:d89f | 2001\:a\:\:3a75\:3682\:c683\:8541 | 2001\:a\:\:584e\:912\:d5ee\:c74f:sear6.foo4.bar | sear6.fo.o.bar:
 DHCP6:dhcp-6-opt-0 = val-0 | dhcp-6-opt-1 = val-1 | dhcp-6-opt-2 = val-2 | dhcp-6-opt-3 = val-3 | dhcp-6-opt-4 = val-4 | dhcp-6-opt-5 = val-5 | dhcp-6-opt-6 = val-6 | dhcp-6-opt-7 = val-7 | dhcp-6-opt-8 = val-8 | dhcp-6-opt-9 = val-9
 CONNECTIONS:/org/freedesktop/NetworkManager/Settings/Connection/{1}:5fcfd6d7-1e63-3332-8826-a7eda103792d | con-1
 
@@ -30756,9 +30840,9 @@ GENERAL:eth1:ethernet:NMDeviceEthernet:/org/freedesktop/NetworkManager/Devices/2
 CAPABILITIES:no:100 Mb/s:no:no
 INTERFACE-FLAGS:yes:yes:no:no
 WIRED-PROPERTIES:on:
-IP4:192.168.127.210/25:192.168.88.4:dst = 192.168.222.35/19, nh = 192.168.170.142, mt = 3609264321 | dst = 192.168.135.81/32, nh = 192.168.32.11, mt = 1316413247 | dst = 192.168.24.65/26, nh = 192.168.23.163, mt = 3855574583:192.168.16.144 | 192.168.79.53 | 192.168.237.155:sear4.foo4.bar | sear4.foo3.bar | sear4.foo1.bar:192.168.211.91 | 192.168.58.182 | 192.168.114.97
+IP4:192.168.127.210/25:192.168.88.4:dst = 192.168.222.35/19, nh = 192.168.170.142, mt = 3609264321 | dst = 192.168.135.81/32, nh = 192.168.32.11, mt = 1316413247 | dst = 192.168.24.65/26, nh = 192.168.23.163, mt = 3855574583:192.168.16.144 | 192.168.79.53 | 192.168.237.155:sear4.foo4.bar | sear4.foo3.bar | sear4.foo1.bar::192.168.211.91 | 192.168.58.182 | 192.168.114.97
 DHCP4:dhcp-4-opt-0 = val-0 | dhcp-4-opt-1 = val-1 | dhcp-4-opt-2 = val-2 | dhcp-4-opt-3 = val-3 | dhcp-4-opt-4 = val-4 | dhcp-4-opt-5 = val-5 | dhcp-4-opt-7 = val-7 | dhcp-4-opt-8 = val-8 | dhcp-4-opt-9 = val-9
-IP6:2001\:a\:\:1c1\:c178\:169f\:2b80/93 | 2001\:a\:\:1f79\:e0fb\:87b9\:3cc6/123::dst = 2001\:a\:\:3166\:7ed1\:e4ae\:7612/123, nh = \:\::2001\:a\:\:edda\:955\:dcf4\:23d4 | 2001\:a\:\:109f\:aa0f\:fb4a\:9d5a | 2001\:a\:\:61cf\:7c82\:e9c0\:c952:sear6.foo1.bar
+IP6:2001\:a\:\:1c1\:c178\:169f\:2b80/93 | 2001\:a\:\:1f79\:e0fb\:87b9\:3cc6/123::dst = 2001\:a\:\:3166\:7ed1\:e4ae\:7612/123, nh = \:\::2001\:a\:\:edda\:955\:dcf4\:23d4 | 2001\:a\:\:109f\:aa0f\:fb4a\:9d5a | 2001\:a\:\:61cf\:7c82\:e9c0\:c952:sear6.foo1.bar:
 DHCP6:dhcp-6-opt-2 = val-2 | dhcp-6-opt-5 = val-5 | dhcp-6-opt-6 = val-6 | dhcp-6-opt-8 = val-8 | dhcp-6-opt-9 = val-9
 CONNECTIONS:/org/freedesktop/NetworkManager/Settings/Connection/{1}:5fcfd6d7-1e63-3332-8826-a7eda103792d | con-1
 
@@ -30767,9 +30851,9 @@ CAPABILITIES:no:unknown:no:no
 INTERFACE-FLAGS:yes:yes:no:no
 WIFI-PROPERTIES:yes:yes:yes:yes:yes:yes:yes:unknown:unknown:no:no
 AP[1]: :94\:2B\:E8\:F6\:D2\:86:wlan1-ap-4:Infrastruktura:1:54 Mb/s:48:**  :WPA1 WPA2
-IP4::192.168.57.160:dst = 192.168.36.106/21, nh = 192.168.199.128, mt = 979274165 | dst = 192.168.238.130/19, nh = 0.0.0.0 | dst = 192.168.224.39/32, nh = 192.168.148.69:192.168.61.83:sear4.foo4.bar | sear4.fo.x.y | sear4.foo2.bar | sear4.foo1.bar | sear4.fo.o.bar | sear4.foo3.bar:
+IP4::192.168.57.160:dst = 192.168.36.106/21, nh = 192.168.199.128, mt = 979274165 | dst = 192.168.238.130/19, nh = 0.0.0.0 | dst = 192.168.224.39/32, nh = 192.168.148.69:192.168.61.83:sear4.foo4.bar | sear4.fo.x.y | sear4.foo2.bar | sear4.foo1.bar | sear4.fo.o.bar | sear4.foo3.bar::
 DHCP4:dhcp-4-opt-0 = val-0 | dhcp-4-opt-1 = val-1 | dhcp-4-opt-2 = val-2 | dhcp-4-opt-4 = val-4 | dhcp-4-opt-6 = val-6 | dhcp-4-opt-7 = val-7 | dhcp-4-opt-8 = val-8 | dhcp-4-opt-9 = val-9
-IP6:2001\:a\:\:fa05\:2ab4\:9300\:e8fe/116 | 2001\:a\:\:e9cf\:bd3\:caba\:99b3/86 | 2001\:a\:\:2be6\:44fa\:2c95\:5559/78:2001\:a\:\:4d70\:d91a\:770f\:2319:dst = 2001\:a\:\:3cb2\:719d\:bb00\:b22f/66, nh = 2001\:a\:\:81b1\:58b9\:7237\:3511, mt = 2280277732 | dst = 2001\:a\:\:986f\:983c\:5eb\:1c7d/99, nh = \:\:, mt = 1204008676:2001\:a\:\:85e7\:3d7d\:53e8\:50ac | 2001\:a\:\:1c5\:9cb5\:e86d\:25a5:sear6.foo4.bar | sear6.foo2.bar
+IP6:2001\:a\:\:fa05\:2ab4\:9300\:e8fe/116 | 2001\:a\:\:e9cf\:bd3\:caba\:99b3/86 | 2001\:a\:\:2be6\:44fa\:2c95\:5559/78:2001\:a\:\:4d70\:d91a\:770f\:2319:dst = 2001\:a\:\:3cb2\:719d\:bb00\:b22f/66, nh = 2001\:a\:\:81b1\:58b9\:7237\:3511, mt = 2280277732 | dst = 2001\:a\:\:986f\:983c\:5eb\:1c7d/99, nh = \:\:, mt = 1204008676:2001\:a\:\:85e7\:3d7d\:53e8\:50ac | 2001\:a\:\:1c5\:9cb5\:e86d\:25a5:sear6.foo4.bar | sear6.foo2.bar:
 DHCP6:dhcp-6-opt-0 = val-0 | dhcp-6-opt-1 = val-1 | dhcp-6-opt-2 = val-2 | dhcp-6-opt-3 = val-3 | dhcp-6-opt-4 = val-4 | dhcp-6-opt-5 = val-5 | dhcp-6-opt-6 = val-6 | dhcp-6-opt-7 = val-7 | dhcp-6-opt-9 = val-9
 CONNECTIONS:/org/freedesktop/NetworkManager/Settings/Connection/{2}:UUID-con-xx1-REPLACED-REPLACED-REPLA | con-xx1
 
@@ -30777,19 +30861,19 @@ GENERAL:wlan1:wifi:NMDeviceWifi:/org/freedesktop/NetworkManager/Devices/5:::virt
 CAPABILITIES:no:unknown:no:no
 INTERFACE-FLAGS:yes:yes:no:no
 WIFI-PROPERTIES:yes:yes:yes:yes:yes:yes:yes:unknown:unknown:no:no
-IP4:192.168.97.124/29 | 192.168.76.154/18::dst = 192.168.33.233/22, nh = 192.168.222.210, mt = 2810496551:192.168.107.109:sear4.fo.o.bar | sear4.fo.x.y | sear4.foo2.bar | sear4.foo3.bar | sear4.foo4.bar:192.168.60.60 | 192.168.63.92
+IP4:192.168.97.124/29 | 192.168.76.154/18::dst = 192.168.33.233/22, nh = 192.168.222.210, mt = 2810496551:192.168.107.109:sear4.fo.o.bar | sear4.fo.x.y | sear4.foo2.bar | sear4.foo3.bar | sear4.foo4.bar::192.168.60.60 | 192.168.63.92
 DHCP4:dhcp-4-opt-0 = val-0 | dhcp-4-opt-5 = val-5
-IP6:2001\:a\:\:88ca\:3654\:96b\:ab44/89::dst = 2001\:a\:\:cc8b\:7c09\:4673\:bbb0/85, nh = \:\:, mt = 2821465568 | dst = 2001\:a\:\:a976\:2488\:f49f\:b48/106, nh = 2001\:a\:\:62ae\:c734\:fc7b\:e931, mt = 2248613879 | dst = 2001\:a\:\:afb7\:4449\:3787\:8bb4/123, nh = \:\::2001\:a\:\:2934\:bd66\:550d\:ec19:sear6.fo.x.y
+IP6:2001\:a\:\:88ca\:3654\:96b\:ab44/89::dst = 2001\:a\:\:cc8b\:7c09\:4673\:bbb0/85, nh = \:\:, mt = 2821465568 | dst = 2001\:a\:\:a976\:2488\:f49f\:b48/106, nh = 2001\:a\:\:62ae\:c734\:fc7b\:e931, mt = 2248613879 | dst = 2001\:a\:\:afb7\:4449\:3787\:8bb4/123, nh = \:\::2001\:a\:\:2934\:bd66\:550d\:ec19:sear6.fo.x.y:
 DHCP6:dhcp-6-opt-2 = val-2 | dhcp-6-opt-6 = val-6 | dhcp-6-opt-7 = val-7 | dhcp-6-opt-8 = val-8 | dhcp-6-opt-9 = val-9
 CONNECTIONS:/org/freedesktop/NetworkManager/Settings/Connection/{2}:UUID-con-xx1-REPLACED-REPLACED-REPLA | con-xx1
 
 <<<
-size: 613
+size: 615
 location: src/tests/client/test-client.py:test_004()/591
 cmd: $NMCLI --mode tabular --terse --color yes dev show wlan0
 lang: C
 returncode: 0
-stdout: 445 bytes
+stdout: 447 bytes
 >>>
 wlan0
 wifi
@@ -30798,16 +30882,16 @@ wifi
 100 (connected)
 con-vpn-1
 /org/freedesktop/NetworkManager/ActiveConnection/2
-IP4:192.168.228.18/32 | 192.168.209.179/25:192.168.41.120:::sear4.foo2.bar | sear4.fo.x.y | sear4.foo1.bar | sear4.foo4.bar | sear4.fo.o.bar:192.168.120.79
-IP6:::dst = 2001\:a\:\:dd5b\:aa7b\:b4a2\:e42/102, nh = \:\:, mt = 2504159086::sear6.foo2.bar | sear6.foo1.bar | sear6.fo.x.y | sear6.fo.o.bar | sear6.foo3.bar | sear6.foo4.bar
+IP4:192.168.228.18/32 | 192.168.209.179/25:192.168.41.120:::sear4.foo2.bar | sear4.fo.x.y | sear4.foo1.bar | sear4.foo4.bar | sear4.fo.o.bar::192.168.120.79
+IP6:::dst = 2001\:a\:\:dd5b\:aa7b\:b4a2\:e42/102, nh = \:\:, mt = 2504159086::sear6.foo2.bar | sear6.foo1.bar | sear6.fo.x.y | sear6.fo.o.bar | sear6.foo3.bar | sear6.foo4.bar:
 
 <<<
-size: 623
+size: 625
 location: src/tests/client/test-client.py:test_004()/592
 cmd: $NMCLI --mode tabular --terse --color yes dev show wlan0
 lang: pl_PL.UTF-8
 returncode: 0
-stdout: 445 bytes
+stdout: 447 bytes
 >>>
 wlan0
 wifi
@@ -30816,16 +30900,16 @@ wifi
 100 (connected)
 con-vpn-1
 /org/freedesktop/NetworkManager/ActiveConnection/2
-IP4:192.168.228.18/32 | 192.168.209.179/25:192.168.41.120:::sear4.foo2.bar | sear4.fo.x.y | sear4.foo1.bar | sear4.foo4.bar | sear4.fo.o.bar:192.168.120.79
-IP6:::dst = 2001\:a\:\:dd5b\:aa7b\:b4a2\:e42/102, nh = \:\:, mt = 2504159086::sear6.foo2.bar | sear6.foo1.bar | sear6.fo.x.y | sear6.fo.o.bar | sear6.foo3.bar | sear6.foo4.bar
+IP4:192.168.228.18/32 | 192.168.209.179/25:192.168.41.120:::sear4.foo2.bar | sear4.fo.x.y | sear4.foo1.bar | sear4.foo4.bar | sear4.fo.o.bar::192.168.120.79
+IP6:::dst = 2001\:a\:\:dd5b\:aa7b\:b4a2\:e42/102, nh = \:\:, mt = 2504159086::sear6.foo2.bar | sear6.foo1.bar | sear6.fo.x.y | sear6.fo.o.bar | sear6.foo3.bar | sear6.foo4.bar:
 
 <<<
-size: 1787
+size: 1789
 location: src/tests/client/test-client.py:test_004()/593
 cmd: $NMCLI --mode tabular --terse --color yes -f all dev show wlan0
 lang: C
 returncode: 0
-stdout: 1611 bytes
+stdout: 1613 bytes
 >>>
 GENERAL:wlan0:wifi:NMDeviceWifi:/org/freedesktop/NetworkManager/Devices/3:::virtual:::13\:E0\:74\:85\:7C\:D9:0:100 (connected):0 (No reason given):0 (unknown):0 (unknown):/sys/devices/virtual/wlan0::wlan0:no:yes:yes:no:no::con-vpn-1:UUID-con-vpn-1-REPLACED-REPLACED-REP:/org/freedesktop/NetworkManager/ActiveConnection/2:unknown
 CAPABILITIES:no:21 Mb/s:no:no
@@ -30834,19 +30918,19 @@ WIFI-PROPERTIES:yes:yes:yes:yes:yes:yes:yes:unknown:unknown:no:no
 AP[1]: :C0\:E2\:BE\:E8\:EF\:B6:wlan0-ap-2:Infra:1:54 Mbit/s:92:****:WPA1 WPA2
 AP[2]: :61\:95\:77\:AC\:1E\:4C:wlan0-ap-1:Infra:1:54 Mbit/s:81:****:WPA1
 AP[3]: :9B\:F6\:B7\:EC\:97\:76:wlan0-ap-3:Infra:1:54 Mbit/s:55:**  :WPA3
-IP4:192.168.228.18/32 | 192.168.209.179/25:192.168.41.120:::sear4.foo2.bar | sear4.fo.x.y | sear4.foo1.bar | sear4.foo4.bar | sear4.fo.o.bar:192.168.120.79
+IP4:192.168.228.18/32 | 192.168.209.179/25:192.168.41.120:::sear4.foo2.bar | sear4.fo.x.y | sear4.foo1.bar | sear4.foo4.bar | sear4.fo.o.bar::192.168.120.79
 DHCP4:dhcp-4-opt-0 = val-0 | dhcp-4-opt-2 = val-2 | dhcp-4-opt-4 = val-4 | dhcp-4-opt-7 = val-7
-IP6:::dst = 2001\:a\:\:dd5b\:aa7b\:b4a2\:e42/102, nh = \:\:, mt = 2504159086::sear6.foo2.bar | sear6.foo1.bar | sear6.fo.x.y | sear6.fo.o.bar | sear6.foo3.bar | sear6.foo4.bar
+IP6:::dst = 2001\:a\:\:dd5b\:aa7b\:b4a2\:e42/102, nh = \:\:, mt = 2504159086::sear6.foo2.bar | sear6.foo1.bar | sear6.fo.x.y | sear6.fo.o.bar | sear6.foo3.bar | sear6.foo4.bar:
 DHCP6:dhcp-6-opt-1 = val-1 | dhcp-6-opt-2 = val-2 | dhcp-6-opt-3 = val-3 | dhcp-6-opt-4 = val-4 | dhcp-6-opt-5 = val-5
 CONNECTIONS:/org/freedesktop/NetworkManager/Settings/Connection/{2}:UUID-con-xx1-REPLACED-REPLACED-REPLA | con-xx1
 
 <<<
-size: 1824
+size: 1826
 location: src/tests/client/test-client.py:test_004()/594
 cmd: $NMCLI --mode tabular --terse --color yes -f all dev show wlan0
 lang: pl_PL.UTF-8
 returncode: 0
-stdout: 1638 bytes
+stdout: 1640 bytes
 >>>
 GENERAL:wlan0:wifi:NMDeviceWifi:/org/freedesktop/NetworkManager/Devices/3:::virtual:::13\:E0\:74\:85\:7C\:D9:0:100 (connected):0 (No reason given):0 (unknown):0 (unknown):/sys/devices/virtual/wlan0::wlan0:no:yes:yes:no:no::con-vpn-1:UUID-con-vpn-1-REPLACED-REPLACED-REP:/org/freedesktop/NetworkManager/ActiveConnection/2:unknown
 CAPABILITIES:no:21 Mb/s:no:no
@@ -30855,9 +30939,9 @@ WIFI-PROPERTIES:yes:yes:yes:yes:yes:yes:yes:unknown:unknown:no:no
 AP[1]: :C0\:E2\:BE\:E8\:EF\:B6:wlan0-ap-2:Infrastruktura:1:54 Mb/s:92:****:WPA1 WPA2
 AP[2]: :61\:95\:77\:AC\:1E\:4C:wlan0-ap-1:Infrastruktura:1:54 Mb/s:81:****:WPA1
 AP[3]: :9B\:F6\:B7\:EC\:97\:76:wlan0-ap-3:Infrastruktura:1:54 Mb/s:55:**  :WPA3
-IP4:192.168.228.18/32 | 192.168.209.179/25:192.168.41.120:::sear4.foo2.bar | sear4.fo.x.y | sear4.foo1.bar | sear4.foo4.bar | sear4.fo.o.bar:192.168.120.79
+IP4:192.168.228.18/32 | 192.168.209.179/25:192.168.41.120:::sear4.foo2.bar | sear4.fo.x.y | sear4.foo1.bar | sear4.foo4.bar | sear4.fo.o.bar::192.168.120.79
 DHCP4:dhcp-4-opt-0 = val-0 | dhcp-4-opt-2 = val-2 | dhcp-4-opt-4 = val-4 | dhcp-4-opt-7 = val-7
-IP6:::dst = 2001\:a\:\:dd5b\:aa7b\:b4a2\:e42/102, nh = \:\:, mt = 2504159086::sear6.foo2.bar | sear6.foo1.bar | sear6.fo.x.y | sear6.fo.o.bar | sear6.foo3.bar | sear6.foo4.bar
+IP6:::dst = 2001\:a\:\:dd5b\:aa7b\:b4a2\:e42/102, nh = \:\:, mt = 2504159086::sear6.foo2.bar | sear6.foo1.bar | sear6.fo.x.y | sear6.fo.o.bar | sear6.foo3.bar | sear6.foo4.bar:
 DHCP6:dhcp-6-opt-1 = val-1 | dhcp-6-opt-2 = val-2 | dhcp-6-opt-3 = val-3 | dhcp-6-opt-4 = val-4 | dhcp-6-opt-5 = val-5
 CONNECTIONS:/org/freedesktop/NetworkManager/Settings/Connection/{2}:UUID-con-xx1-REPLACED-REPLACED-REPLA | con-xx1
 
@@ -31100,12 +31184,12 @@ stdout: 422 bytes
 
 
 <<<
-size: 1790
+size: 1792
 location: src/tests/client/test-client.py:test_004()/613
 cmd: $NMCLI --mode tabular --terse --color yes -f ALL device show wlan0
 lang: C
 returncode: 0
-stdout: 1611 bytes
+stdout: 1613 bytes
 >>>
 GENERAL:wlan0:wifi:NMDeviceWifi:/org/freedesktop/NetworkManager/Devices/3:::virtual:::13\:E0\:74\:85\:7C\:D9:0:100 (connected):0 (No reason given):0 (unknown):0 (unknown):/sys/devices/virtual/wlan0::wlan0:no:yes:yes:no:no::con-vpn-1:UUID-con-vpn-1-REPLACED-REPLACED-REP:/org/freedesktop/NetworkManager/ActiveConnection/2:unknown
 CAPABILITIES:no:21 Mb/s:no:no
@@ -31114,19 +31198,19 @@ WIFI-PROPERTIES:yes:yes:yes:yes:yes:yes:yes:unknown:unknown:no:no
 AP[1]: :C0\:E2\:BE\:E8\:EF\:B6:wlan0-ap-2:Infra:1:54 Mbit/s:92:****:WPA1 WPA2
 AP[2]: :61\:95\:77\:AC\:1E\:4C:wlan0-ap-1:Infra:1:54 Mbit/s:81:****:WPA1
 AP[3]: :9B\:F6\:B7\:EC\:97\:76:wlan0-ap-3:Infra:1:54 Mbit/s:55:**  :WPA3
-IP4:192.168.228.18/32 | 192.168.209.179/25:192.168.41.120:::sear4.foo2.bar | sear4.fo.x.y | sear4.foo1.bar | sear4.foo4.bar | sear4.fo.o.bar:192.168.120.79
+IP4:192.168.228.18/32 | 192.168.209.179/25:192.168.41.120:::sear4.foo2.bar | sear4.fo.x.y | sear4.foo1.bar | sear4.foo4.bar | sear4.fo.o.bar::192.168.120.79
 DHCP4:dhcp-4-opt-0 = val-0 | dhcp-4-opt-2 = val-2 | dhcp-4-opt-4 = val-4 | dhcp-4-opt-7 = val-7
-IP6:::dst = 2001\:a\:\:dd5b\:aa7b\:b4a2\:e42/102, nh = \:\:, mt = 2504159086::sear6.foo2.bar | sear6.foo1.bar | sear6.fo.x.y | sear6.fo.o.bar | sear6.foo3.bar | sear6.foo4.bar
+IP6:::dst = 2001\:a\:\:dd5b\:aa7b\:b4a2\:e42/102, nh = \:\:, mt = 2504159086::sear6.foo2.bar | sear6.foo1.bar | sear6.fo.x.y | sear6.fo.o.bar | sear6.foo3.bar | sear6.foo4.bar:
 DHCP6:dhcp-6-opt-1 = val-1 | dhcp-6-opt-2 = val-2 | dhcp-6-opt-3 = val-3 | dhcp-6-opt-4 = val-4 | dhcp-6-opt-5 = val-5
 CONNECTIONS:/org/freedesktop/NetworkManager/Settings/Connection/{2}:UUID-con-xx1-REPLACED-REPLACED-REPLA | con-xx1
 
 <<<
-size: 1827
+size: 1829
 location: src/tests/client/test-client.py:test_004()/614
 cmd: $NMCLI --mode tabular --terse --color yes -f ALL device show wlan0
 lang: pl_PL.UTF-8
 returncode: 0
-stdout: 1638 bytes
+stdout: 1640 bytes
 >>>
 GENERAL:wlan0:wifi:NMDeviceWifi:/org/freedesktop/NetworkManager/Devices/3:::virtual:::13\:E0\:74\:85\:7C\:D9:0:100 (connected):0 (No reason given):0 (unknown):0 (unknown):/sys/devices/virtual/wlan0::wlan0:no:yes:yes:no:no::con-vpn-1:UUID-con-vpn-1-REPLACED-REPLACED-REP:/org/freedesktop/NetworkManager/ActiveConnection/2:unknown
 CAPABILITIES:no:21 Mb/s:no:no
@@ -31135,19 +31219,19 @@ WIFI-PROPERTIES:yes:yes:yes:yes:yes:yes:yes:unknown:unknown:no:no
 AP[1]: :C0\:E2\:BE\:E8\:EF\:B6:wlan0-ap-2:Infrastruktura:1:54 Mb/s:92:****:WPA1 WPA2
 AP[2]: :61\:95\:77\:AC\:1E\:4C:wlan0-ap-1:Infrastruktura:1:54 Mb/s:81:****:WPA1
 AP[3]: :9B\:F6\:B7\:EC\:97\:76:wlan0-ap-3:Infrastruktura:1:54 Mb/s:55:**  :WPA3
-IP4:192.168.228.18/32 | 192.168.209.179/25:192.168.41.120:::sear4.foo2.bar | sear4.fo.x.y | sear4.foo1.bar | sear4.foo4.bar | sear4.fo.o.bar:192.168.120.79
+IP4:192.168.228.18/32 | 192.168.209.179/25:192.168.41.120:::sear4.foo2.bar | sear4.fo.x.y | sear4.foo1.bar | sear4.foo4.bar | sear4.fo.o.bar::192.168.120.79
 DHCP4:dhcp-4-opt-0 = val-0 | dhcp-4-opt-2 = val-2 | dhcp-4-opt-4 = val-4 | dhcp-4-opt-7 = val-7
-IP6:::dst = 2001\:a\:\:dd5b\:aa7b\:b4a2\:e42/102, nh = \:\:, mt = 2504159086::sear6.foo2.bar | sear6.foo1.bar | sear6.fo.x.y | sear6.fo.o.bar | sear6.foo3.bar | sear6.foo4.bar
+IP6:::dst = 2001\:a\:\:dd5b\:aa7b\:b4a2\:e42/102, nh = \:\:, mt = 2504159086::sear6.foo2.bar | sear6.foo1.bar | sear6.fo.x.y | sear6.fo.o.bar | sear6.foo3.bar | sear6.foo4.bar:
 DHCP6:dhcp-6-opt-1 = val-1 | dhcp-6-opt-2 = val-2 | dhcp-6-opt-3 = val-3 | dhcp-6-opt-4 = val-4 | dhcp-6-opt-5 = val-5
 CONNECTIONS:/org/freedesktop/NetworkManager/Settings/Connection/{2}:UUID-con-xx1-REPLACED-REPLACED-REPLA | con-xx1
 
 <<<
-size: 626
+size: 628
 location: src/tests/client/test-client.py:test_004()/615
 cmd: $NMCLI --mode tabular --terse --color yes -f COMMON device show wlan0
 lang: C
 returncode: 0
-stdout: 445 bytes
+stdout: 447 bytes
 >>>
 wlan0
 wifi
@@ -31156,16 +31240,16 @@ wifi
 100 (connected)
 con-vpn-1
 /org/freedesktop/NetworkManager/ActiveConnection/2
-IP4:192.168.228.18/32 | 192.168.209.179/25:192.168.41.120:::sear4.foo2.bar | sear4.fo.x.y | sear4.foo1.bar | sear4.foo4.bar | sear4.fo.o.bar:192.168.120.79
-IP6:::dst = 2001\:a\:\:dd5b\:aa7b\:b4a2\:e42/102, nh = \:\:, mt = 2504159086::sear6.foo2.bar | sear6.foo1.bar | sear6.fo.x.y | sear6.fo.o.bar | sear6.foo3.bar | sear6.foo4.bar
+IP4:192.168.228.18/32 | 192.168.209.179/25:192.168.41.120:::sear4.foo2.bar | sear4.fo.x.y | sear4.foo1.bar | sear4.foo4.bar | sear4.fo.o.bar::192.168.120.79
+IP6:::dst = 2001\:a\:\:dd5b\:aa7b\:b4a2\:e42/102, nh = \:\:, mt = 2504159086::sear6.foo2.bar | sear6.foo1.bar | sear6.fo.x.y | sear6.fo.o.bar | sear6.foo3.bar | sear6.foo4.bar:
 
 <<<
-size: 636
+size: 638
 location: src/tests/client/test-client.py:test_004()/616
 cmd: $NMCLI --mode tabular --terse --color yes -f COMMON device show wlan0
 lang: pl_PL.UTF-8
 returncode: 0
-stdout: 445 bytes
+stdout: 447 bytes
 >>>
 wlan0
 wifi
@@ -31174,16 +31258,16 @@ wifi
 100 (connected)
 con-vpn-1
 /org/freedesktop/NetworkManager/ActiveConnection/2
-IP4:192.168.228.18/32 | 192.168.209.179/25:192.168.41.120:::sear4.foo2.bar | sear4.fo.x.y | sear4.foo1.bar | sear4.foo4.bar | sear4.fo.o.bar:192.168.120.79
-IP6:::dst = 2001\:a\:\:dd5b\:aa7b\:b4a2\:e42/102, nh = \:\:, mt = 2504159086::sear6.foo2.bar | sear6.foo1.bar | sear6.fo.x.y | sear6.fo.o.bar | sear6.foo3.bar | sear6.foo4.bar
+IP4:192.168.228.18/32 | 192.168.209.179/25:192.168.41.120:::sear4.foo2.bar | sear4.fo.x.y | sear4.foo1.bar | sear4.foo4.bar | sear4.fo.o.bar::192.168.120.79
+IP6:::dst = 2001\:a\:\:dd5b\:aa7b\:b4a2\:e42/102, nh = \:\:, mt = 2504159086::sear6.foo2.bar | sear6.foo1.bar | sear6.fo.x.y | sear6.fo.o.bar | sear6.foo3.bar | sear6.foo4.bar:
 
 <<<
-size: 1898
+size: 1900
 location: src/tests/client/test-client.py:test_004()/617
 cmd: $NMCLI --mode tabular --terse --color yes -f GENERAL,CAPABILITIES,WIFI-PROPERTIES,AP,WIRED-PROPERTIES,WIMAX-PROPERTIES,NSP,IP4,DHCP4,IP6,DHCP6,BOND,TEAM,BRIDGE,VLAN,BLUETOOTH,CONNECTIONS device show wlan0
 lang: C
 returncode: 0
-stdout: 1581 bytes
+stdout: 1583 bytes
 >>>
 GENERAL:wlan0:wifi:NMDeviceWifi:/org/freedesktop/NetworkManager/Devices/3:::virtual:::13\:E0\:74\:85\:7C\:D9:0:100 (connected):0 (No reason given):0 (unknown):0 (unknown):/sys/devices/virtual/wlan0::wlan0:no:yes:yes:no:no::con-vpn-1:UUID-con-vpn-1-REPLACED-REPLACED-REP:/org/freedesktop/NetworkManager/ActiveConnection/2:unknown
 CAPABILITIES:no:21 Mb/s:no:no
@@ -31191,19 +31275,19 @@ WIFI-PROPERTIES:yes:yes:yes:yes:yes:yes:yes:unknown:unknown:no:no
 AP[1]: :C0\:E2\:BE\:E8\:EF\:B6:wlan0-ap-2:Infra:1:54 Mbit/s:92:****:WPA1 WPA2
 AP[2]: :61\:95\:77\:AC\:1E\:4C:wlan0-ap-1:Infra:1:54 Mbit/s:81:****:WPA1
 AP[3]: :9B\:F6\:B7\:EC\:97\:76:wlan0-ap-3:Infra:1:54 Mbit/s:55:**  :WPA3
-IP4:192.168.228.18/32 | 192.168.209.179/25:192.168.41.120:::sear4.foo2.bar | sear4.fo.x.y | sear4.foo1.bar | sear4.foo4.bar | sear4.fo.o.bar:192.168.120.79
+IP4:192.168.228.18/32 | 192.168.209.179/25:192.168.41.120:::sear4.foo2.bar | sear4.fo.x.y | sear4.foo1.bar | sear4.foo4.bar | sear4.fo.o.bar::192.168.120.79
 DHCP4:dhcp-4-opt-0 = val-0 | dhcp-4-opt-2 = val-2 | dhcp-4-opt-4 = val-4 | dhcp-4-opt-7 = val-7
-IP6:::dst = 2001\:a\:\:dd5b\:aa7b\:b4a2\:e42/102, nh = \:\:, mt = 2504159086::sear6.foo2.bar | sear6.foo1.bar | sear6.fo.x.y | sear6.fo.o.bar | sear6.foo3.bar | sear6.foo4.bar
+IP6:::dst = 2001\:a\:\:dd5b\:aa7b\:b4a2\:e42/102, nh = \:\:, mt = 2504159086::sear6.foo2.bar | sear6.foo1.bar | sear6.fo.x.y | sear6.fo.o.bar | sear6.foo3.bar | sear6.foo4.bar:
 DHCP6:dhcp-6-opt-1 = val-1 | dhcp-6-opt-2 = val-2 | dhcp-6-opt-3 = val-3 | dhcp-6-opt-4 = val-4 | dhcp-6-opt-5 = val-5
 CONNECTIONS:/org/freedesktop/NetworkManager/Settings/Connection/{2}:UUID-con-xx1-REPLACED-REPLACED-REPLA | con-xx1
 
 <<<
-size: 1935
+size: 1937
 location: src/tests/client/test-client.py:test_004()/618
 cmd: $NMCLI --mode tabular --terse --color yes -f GENERAL,CAPABILITIES,WIFI-PROPERTIES,AP,WIRED-PROPERTIES,WIMAX-PROPERTIES,NSP,IP4,DHCP4,IP6,DHCP6,BOND,TEAM,BRIDGE,VLAN,BLUETOOTH,CONNECTIONS device show wlan0
 lang: pl_PL.UTF-8
 returncode: 0
-stdout: 1608 bytes
+stdout: 1610 bytes
 >>>
 GENERAL:wlan0:wifi:NMDeviceWifi:/org/freedesktop/NetworkManager/Devices/3:::virtual:::13\:E0\:74\:85\:7C\:D9:0:100 (connected):0 (No reason given):0 (unknown):0 (unknown):/sys/devices/virtual/wlan0::wlan0:no:yes:yes:no:no::con-vpn-1:UUID-con-vpn-1-REPLACED-REPLACED-REP:/org/freedesktop/NetworkManager/ActiveConnection/2:unknown
 CAPABILITIES:no:21 Mb/s:no:no
@@ -31211,9 +31295,9 @@ WIFI-PROPERTIES:yes:yes:yes:yes:yes:yes:yes:unknown:unknown:no:no
 AP[1]: :C0\:E2\:BE\:E8\:EF\:B6:wlan0-ap-2:Infrastruktura:1:54 Mb/s:92:****:WPA1 WPA2
 AP[2]: :61\:95\:77\:AC\:1E\:4C:wlan0-ap-1:Infrastruktura:1:54 Mb/s:81:****:WPA1
 AP[3]: :9B\:F6\:B7\:EC\:97\:76:wlan0-ap-3:Infrastruktura:1:54 Mb/s:55:**  :WPA3
-IP4:192.168.228.18/32 | 192.168.209.179/25:192.168.41.120:::sear4.foo2.bar | sear4.fo.x.y | sear4.foo1.bar | sear4.foo4.bar | sear4.fo.o.bar:192.168.120.79
+IP4:192.168.228.18/32 | 192.168.209.179/25:192.168.41.120:::sear4.foo2.bar | sear4.fo.x.y | sear4.foo1.bar | sear4.foo4.bar | sear4.fo.o.bar::192.168.120.79
 DHCP4:dhcp-4-opt-0 = val-0 | dhcp-4-opt-2 = val-2 | dhcp-4-opt-4 = val-4 | dhcp-4-opt-7 = val-7
-IP6:::dst = 2001\:a\:\:dd5b\:aa7b\:b4a2\:e42/102, nh = \:\:, mt = 2504159086::sear6.foo2.bar | sear6.foo1.bar | sear6.fo.x.y | sear6.fo.o.bar | sear6.foo3.bar | sear6.foo4.bar
+IP6:::dst = 2001\:a\:\:dd5b\:aa7b\:b4a2\:e42/102, nh = \:\:, mt = 2504159086::sear6.foo2.bar | sear6.foo1.bar | sear6.fo.x.y | sear6.fo.o.bar | sear6.foo3.bar | sear6.foo4.bar:
 DHCP6:dhcp-6-opt-1 = val-1 | dhcp-6-opt-2 = val-2 | dhcp-6-opt-3 = val-3 | dhcp-6-opt-4 = val-4 | dhcp-6-opt-5 = val-5
 CONNECTIONS:/org/freedesktop/NetworkManager/Settings/Connection/{2}:UUID-con-xx1-REPLACED-REPLACED-REPLA | con-xx1
 
@@ -31290,12 +31374,12 @@ UUID-con-xx1-REPLACED-REPLACED-REPLA
 
 
 <<<
-size: 5172
+size: 5278
 location: src/tests/client/test-client.py:test_004()/623
 cmd: $NMCLI --mode multiline con s con-vpn-1
 lang: C
 returncode: 0
-stdout: 5020 bytes
+stdout: 5126 bytes
 >>>
 connection.id:                          con-vpn-1
 connection.uuid:                        UUID-con-vpn-1-REPLACED-REPLACED-REP
@@ -31343,6 +31427,7 @@ ipv4.dhcp-fqdn:                         --
 ipv4.dhcp-hostname-flags:               0x0 (none)
 ipv4.never-default:                     no
 ipv4.may-fail:                          yes
+ipv4.required-timeout:                  -1 (default)
 ipv4.dad-timeout:                       -1 (default)
 ipv4.dhcp-vendor-class-identifier:      --
 ipv4.dhcp-reject-servers:               --
@@ -31361,6 +31446,7 @@ ipv6.ignore-auto-routes:                no
 ipv6.ignore-auto-dns:                   no
 ipv6.never-default:                     no
 ipv6.may-fail:                          yes
+ipv6.required-timeout:                  -1 (default)
 ipv6.ip6-privacy:                       -1 (unknown)
 ipv6.addr-gen-mode:                     stable-privacy
 ipv6.ra-timeout:                        0 (default)
@@ -31404,12 +31490,12 @@ VPN.CFG[2]:                             key2 = val2
 VPN.CFG[3]:                             key3 = val3
 
 <<<
-size: 5202
+size: 5308
 location: src/tests/client/test-client.py:test_004()/624
 cmd: $NMCLI --mode multiline con s con-vpn-1
 lang: pl_PL.UTF-8
 returncode: 0
-stdout: 5040 bytes
+stdout: 5146 bytes
 >>>
 connection.id:                          con-vpn-1
 connection.uuid:                        UUID-con-vpn-1-REPLACED-REPLACED-REP
@@ -31457,6 +31543,7 @@ ipv4.dhcp-fqdn:                         --
 ipv4.dhcp-hostname-flags:               0x0 (none)
 ipv4.never-default:                     nie
 ipv4.may-fail:                          tak
+ipv4.required-timeout:                  -1 (default)
 ipv4.dad-timeout:                       -1 (default)
 ipv4.dhcp-vendor-class-identifier:      --
 ipv4.dhcp-reject-servers:               --
@@ -31475,6 +31562,7 @@ ipv6.ignore-auto-routes:                nie
 ipv6.ignore-auto-dns:                   nie
 ipv6.never-default:                     nie
 ipv6.may-fail:                          tak
+ipv6.required-timeout:                  -1 (default)
 ipv6.ip6-privacy:                       -1 (unknown)
 ipv6.addr-gen-mode:                     stable-privacy
 ipv6.ra-timeout:                        0 (default)
@@ -31518,12 +31606,12 @@ VPN.CFG[2]:                             key2 = val2
 VPN.CFG[3]:                             key3 = val3
 
 <<<
-size: 5172
+size: 5278
 location: src/tests/client/test-client.py:test_004()/625
 cmd: $NMCLI --mode multiline con s con-vpn-1
 lang: C
 returncode: 0
-stdout: 5020 bytes
+stdout: 5126 bytes
 >>>
 connection.id:                          con-vpn-1
 connection.uuid:                        UUID-con-vpn-1-REPLACED-REPLACED-REP
@@ -31571,6 +31659,7 @@ ipv4.dhcp-fqdn:                         --
 ipv4.dhcp-hostname-flags:               0x0 (none)
 ipv4.never-default:                     no
 ipv4.may-fail:                          yes
+ipv4.required-timeout:                  -1 (default)
 ipv4.dad-timeout:                       -1 (default)
 ipv4.dhcp-vendor-class-identifier:      --
 ipv4.dhcp-reject-servers:               --
@@ -31589,6 +31678,7 @@ ipv6.ignore-auto-routes:                no
 ipv6.ignore-auto-dns:                   no
 ipv6.never-default:                     no
 ipv6.may-fail:                          yes
+ipv6.required-timeout:                  -1 (default)
 ipv6.ip6-privacy:                       -1 (unknown)
 ipv6.addr-gen-mode:                     stable-privacy
 ipv6.ra-timeout:                        0 (default)
@@ -31632,12 +31722,12 @@ VPN.CFG[2]:                             key2 = val2
 VPN.CFG[3]:                             key3 = val3
 
 <<<
-size: 5202
+size: 5308
 location: src/tests/client/test-client.py:test_004()/626
 cmd: $NMCLI --mode multiline con s con-vpn-1
 lang: pl_PL.UTF-8
 returncode: 0
-stdout: 5040 bytes
+stdout: 5146 bytes
 >>>
 connection.id:                          con-vpn-1
 connection.uuid:                        UUID-con-vpn-1-REPLACED-REPLACED-REP
@@ -31685,6 +31775,7 @@ ipv4.dhcp-fqdn:                         --
 ipv4.dhcp-hostname-flags:               0x0 (none)
 ipv4.never-default:                     nie
 ipv4.may-fail:                          tak
+ipv4.required-timeout:                  -1 (default)
 ipv4.dad-timeout:                       -1 (default)
 ipv4.dhcp-vendor-class-identifier:      --
 ipv4.dhcp-reject-servers:               --
@@ -31703,6 +31794,7 @@ ipv6.ignore-auto-routes:                nie
 ipv6.ignore-auto-dns:                   nie
 ipv6.never-default:                     nie
 ipv6.may-fail:                          tak
+ipv6.required-timeout:                  -1 (default)
 ipv6.ip6-privacy:                       -1 (unknown)
 ipv6.addr-gen-mode:                     stable-privacy
 ipv6.ra-timeout:                        0 (default)
@@ -31746,12 +31838,12 @@ VPN.CFG[2]:                             key2 = val2
 VPN.CFG[3]:                             key3 = val3
 
 <<<
-size: 4045
+size: 4151
 location: src/tests/client/test-client.py:test_004()/627
 cmd: $NMCLI --mode multiline -f ALL con s con-vpn-1
 lang: C
 returncode: 0
-stdout: 3886 bytes
+stdout: 3992 bytes
 >>>
 connection.id:                          con-vpn-1
 connection.uuid:                        UUID-con-vpn-1-REPLACED-REPLACED-REP
@@ -31799,6 +31891,7 @@ ipv4.dhcp-fqdn:                         --
 ipv4.dhcp-hostname-flags:               0x0 (none)
 ipv4.never-default:                     no
 ipv4.may-fail:                          yes
+ipv4.required-timeout:                  -1 (default)
 ipv4.dad-timeout:                       -1 (default)
 ipv4.dhcp-vendor-class-identifier:      --
 ipv4.dhcp-reject-servers:               --
@@ -31817,6 +31910,7 @@ ipv6.ignore-auto-routes:                no
 ipv6.ignore-auto-dns:                   no
 ipv6.never-default:                     no
 ipv6.may-fail:                          yes
+ipv6.required-timeout:                  -1 (default)
 ipv6.ip6-privacy:                       -1 (unknown)
 ipv6.addr-gen-mode:                     stable-privacy
 ipv6.ra-timeout:                        0 (default)
@@ -31839,12 +31933,12 @@ proxy.pac-url:                          --
 proxy.pac-script:                       --
 
 <<<
-size: 4065
+size: 4171
 location: src/tests/client/test-client.py:test_004()/628
 cmd: $NMCLI --mode multiline -f ALL con s con-vpn-1
 lang: pl_PL.UTF-8
 returncode: 0
-stdout: 3896 bytes
+stdout: 4002 bytes
 >>>
 connection.id:                          con-vpn-1
 connection.uuid:                        UUID-con-vpn-1-REPLACED-REPLACED-REP
@@ -31892,6 +31986,7 @@ ipv4.dhcp-fqdn:                         --
 ipv4.dhcp-hostname-flags:               0x0 (none)
 ipv4.never-default:                     nie
 ipv4.may-fail:                          tak
+ipv4.required-timeout:                  -1 (default)
 ipv4.dad-timeout:                       -1 (default)
 ipv4.dhcp-vendor-class-identifier:      --
 ipv4.dhcp-reject-servers:               --
@@ -31910,6 +32005,7 @@ ipv6.ignore-auto-routes:                nie
 ipv6.ignore-auto-dns:                   nie
 ipv6.never-default:                     nie
 ipv6.may-fail:                          tak
+ipv6.required-timeout:                  -1 (default)
 ipv6.ip6-privacy:                       -1 (unknown)
 ipv6.addr-gen-mode:                     stable-privacy
 ipv6.ra-timeout:                        0 (default)
@@ -35026,12 +35122,12 @@ connection.type:                        802-11-wireless
 connection.interface-name:              --
 
 <<<
-size: 5184
+size: 5290
 location: src/tests/client/test-client.py:test_004()/673
 cmd: $NMCLI --mode multiline --color yes con s con-vpn-1
 lang: C
 returncode: 0
-stdout: 5020 bytes
+stdout: 5126 bytes
 >>>
 connection.id:                          con-vpn-1
 connection.uuid:                        UUID-con-vpn-1-REPLACED-REPLACED-REP
@@ -35079,6 +35175,7 @@ ipv4.dhcp-fqdn:                         --
 ipv4.dhcp-hostname-flags:               0x0 (none)
 ipv4.never-default:                     no
 ipv4.may-fail:                          yes
+ipv4.required-timeout:                  -1 (default)
 ipv4.dad-timeout:                       -1 (default)
 ipv4.dhcp-vendor-class-identifier:      --
 ipv4.dhcp-reject-servers:               --
@@ -35097,6 +35194,7 @@ ipv6.ignore-auto-routes:                no
 ipv6.ignore-auto-dns:                   no
 ipv6.never-default:                     no
 ipv6.may-fail:                          yes
+ipv6.required-timeout:                  -1 (default)
 ipv6.ip6-privacy:                       -1 (unknown)
 ipv6.addr-gen-mode:                     stable-privacy
 ipv6.ra-timeout:                        0 (default)
@@ -35140,12 +35238,12 @@ VPN.CFG[2]:                             key2 = val2
 VPN.CFG[3]:                             key3 = val3
 
 <<<
-size: 5214
+size: 5320
 location: src/tests/client/test-client.py:test_004()/674
 cmd: $NMCLI --mode multiline --color yes con s con-vpn-1
 lang: pl_PL.UTF-8
 returncode: 0
-stdout: 5040 bytes
+stdout: 5146 bytes
 >>>
 connection.id:                          con-vpn-1
 connection.uuid:                        UUID-con-vpn-1-REPLACED-REPLACED-REP
@@ -35193,6 +35291,7 @@ ipv4.dhcp-fqdn:                         --
 ipv4.dhcp-hostname-flags:               0x0 (none)
 ipv4.never-default:                     nie
 ipv4.may-fail:                          tak
+ipv4.required-timeout:                  -1 (default)
 ipv4.dad-timeout:                       -1 (default)
 ipv4.dhcp-vendor-class-identifier:      --
 ipv4.dhcp-reject-servers:               --
@@ -35211,6 +35310,7 @@ ipv6.ignore-auto-routes:                nie
 ipv6.ignore-auto-dns:                   nie
 ipv6.never-default:                     nie
 ipv6.may-fail:                          tak
+ipv6.required-timeout:                  -1 (default)
 ipv6.ip6-privacy:                       -1 (unknown)
 ipv6.addr-gen-mode:                     stable-privacy
 ipv6.ra-timeout:                        0 (default)
@@ -35254,12 +35354,12 @@ VPN.CFG[2]:                             key2 = val2
 VPN.CFG[3]:                             key3 = val3
 
 <<<
-size: 5184
+size: 5290
 location: src/tests/client/test-client.py:test_004()/675
 cmd: $NMCLI --mode multiline --color yes con s con-vpn-1
 lang: C
 returncode: 0
-stdout: 5020 bytes
+stdout: 5126 bytes
 >>>
 connection.id:                          con-vpn-1
 connection.uuid:                        UUID-con-vpn-1-REPLACED-REPLACED-REP
@@ -35307,6 +35407,7 @@ ipv4.dhcp-fqdn:                         --
 ipv4.dhcp-hostname-flags:               0x0 (none)
 ipv4.never-default:                     no
 ipv4.may-fail:                          yes
+ipv4.required-timeout:                  -1 (default)
 ipv4.dad-timeout:                       -1 (default)
 ipv4.dhcp-vendor-class-identifier:      --
 ipv4.dhcp-reject-servers:               --
@@ -35325,6 +35426,7 @@ ipv6.ignore-auto-routes:                no
 ipv6.ignore-auto-dns:                   no
 ipv6.never-default:                     no
 ipv6.may-fail:                          yes
+ipv6.required-timeout:                  -1 (default)
 ipv6.ip6-privacy:                       -1 (unknown)
 ipv6.addr-gen-mode:                     stable-privacy
 ipv6.ra-timeout:                        0 (default)
@@ -35368,12 +35470,12 @@ VPN.CFG[2]:                             key2 = val2
 VPN.CFG[3]:                             key3 = val3
 
 <<<
-size: 5214
+size: 5320
 location: src/tests/client/test-client.py:test_004()/676
 cmd: $NMCLI --mode multiline --color yes con s con-vpn-1
 lang: pl_PL.UTF-8
 returncode: 0
-stdout: 5040 bytes
+stdout: 5146 bytes
 >>>
 connection.id:                          con-vpn-1
 connection.uuid:                        UUID-con-vpn-1-REPLACED-REPLACED-REP
@@ -35421,6 +35523,7 @@ ipv4.dhcp-fqdn:                         --
 ipv4.dhcp-hostname-flags:               0x0 (none)
 ipv4.never-default:                     nie
 ipv4.may-fail:                          tak
+ipv4.required-timeout:                  -1 (default)
 ipv4.dad-timeout:                       -1 (default)
 ipv4.dhcp-vendor-class-identifier:      --
 ipv4.dhcp-reject-servers:               --
@@ -35439,6 +35542,7 @@ ipv6.ignore-auto-routes:                nie
 ipv6.ignore-auto-dns:                   nie
 ipv6.never-default:                     nie
 ipv6.may-fail:                          tak
+ipv6.required-timeout:                  -1 (default)
 ipv6.ip6-privacy:                       -1 (unknown)
 ipv6.addr-gen-mode:                     stable-privacy
 ipv6.ra-timeout:                        0 (default)
@@ -35482,12 +35586,12 @@ VPN.CFG[2]:                             key2 = val2
 VPN.CFG[3]:                             key3 = val3
 
 <<<
-size: 4057
+size: 4163
 location: src/tests/client/test-client.py:test_004()/677
 cmd: $NMCLI --mode multiline --color yes -f ALL con s con-vpn-1
 lang: C
 returncode: 0
-stdout: 3886 bytes
+stdout: 3992 bytes
 >>>
 connection.id:                          con-vpn-1
 connection.uuid:                        UUID-con-vpn-1-REPLACED-REPLACED-REP
@@ -35535,6 +35639,7 @@ ipv4.dhcp-fqdn:                         --
 ipv4.dhcp-hostname-flags:               0x0 (none)
 ipv4.never-default:                     no
 ipv4.may-fail:                          yes
+ipv4.required-timeout:                  -1 (default)
 ipv4.dad-timeout:                       -1 (default)
 ipv4.dhcp-vendor-class-identifier:      --
 ipv4.dhcp-reject-servers:               --
@@ -35553,6 +35658,7 @@ ipv6.ignore-auto-routes:                no
 ipv6.ignore-auto-dns:                   no
 ipv6.never-default:                     no
 ipv6.may-fail:                          yes
+ipv6.required-timeout:                  -1 (default)
 ipv6.ip6-privacy:                       -1 (unknown)
 ipv6.addr-gen-mode:                     stable-privacy
 ipv6.ra-timeout:                        0 (default)
@@ -35575,12 +35681,12 @@ proxy.pac-url:                          --
 proxy.pac-script:                       --
 
 <<<
-size: 4077
+size: 4183
 location: src/tests/client/test-client.py:test_004()/678
 cmd: $NMCLI --mode multiline --color yes -f ALL con s con-vpn-1
 lang: pl_PL.UTF-8
 returncode: 0
-stdout: 3896 bytes
+stdout: 4002 bytes
 >>>
 connection.id:                          con-vpn-1
 connection.uuid:                        UUID-con-vpn-1-REPLACED-REPLACED-REP
@@ -35628,6 +35734,7 @@ ipv4.dhcp-fqdn:                         --
 ipv4.dhcp-hostname-flags:               0x0 (none)
 ipv4.never-default:                     nie
 ipv4.may-fail:                          tak
+ipv4.required-timeout:                  -1 (default)
 ipv4.dad-timeout:                       -1 (default)
 ipv4.dhcp-vendor-class-identifier:      --
 ipv4.dhcp-reject-servers:               --
@@ -35646,6 +35753,7 @@ ipv6.ignore-auto-routes:                nie
 ipv6.ignore-auto-dns:                   nie
 ipv6.never-default:                     nie
 ipv6.may-fail:                          tak
+ipv6.required-timeout:                  -1 (default)
 ipv6.ip6-privacy:                       -1 (unknown)
 ipv6.addr-gen-mode:                     stable-privacy
 ipv6.ra-timeout:                        0 (default)
@@ -38762,12 +38870,12 @@ connection.type:                        802-11-wireless
 connection.interface-name:              --
 
 <<<
-size: 6193
+size: 6299
 location: src/tests/client/test-client.py:test_004()/723
 cmd: $NMCLI --mode multiline --pretty con s con-vpn-1
 lang: C
 returncode: 0
-stdout: 6032 bytes
+stdout: 6138 bytes
 >>>
 ===============================================================================
                     Connection profile details (con-vpn-1)
@@ -38819,6 +38927,7 @@ ipv4.dhcp-fqdn:                         --
 ipv4.dhcp-hostname-flags:               0x0 (none)
 ipv4.never-default:                     no
 ipv4.may-fail:                          yes
+ipv4.required-timeout:                  -1 (default)
 ipv4.dad-timeout:                       -1 (default)
 ipv4.dhcp-vendor-class-identifier:      --
 ipv4.dhcp-reject-servers:               --
@@ -38838,6 +38947,7 @@ ipv6.ignore-auto-routes:                no
 ipv6.ignore-auto-dns:                   no
 ipv6.never-default:                     no
 ipv6.may-fail:                          yes
+ipv6.required-timeout:                  -1 (default)
 ipv6.ip6-privacy:                       -1 (unknown)
 ipv6.addr-gen-mode:                     stable-privacy
 ipv6.ra-timeout:                        0 (default)
@@ -38889,12 +38999,12 @@ VPN.CFG[3]:                             key3 = val3
 -------------------------------------------------------------------------------
 
 <<<
-size: 6235
+size: 6341
 location: src/tests/client/test-client.py:test_004()/724
 cmd: $NMCLI --mode multiline --pretty con s con-vpn-1
 lang: pl_PL.UTF-8
 returncode: 0
-stdout: 6064 bytes
+stdout: 6170 bytes
 >>>
 ===============================================================================
                    Szczegóły profilu połączenia (con-vpn-1)
@@ -38946,6 +39056,7 @@ ipv4.dhcp-fqdn:                         --
 ipv4.dhcp-hostname-flags:               0x0 (none)
 ipv4.never-default:                     nie
 ipv4.may-fail:                          tak
+ipv4.required-timeout:                  -1 (default)
 ipv4.dad-timeout:                       -1 (default)
 ipv4.dhcp-vendor-class-identifier:      --
 ipv4.dhcp-reject-servers:               --
@@ -38965,6 +39076,7 @@ ipv6.ignore-auto-routes:                nie
 ipv6.ignore-auto-dns:                   nie
 ipv6.never-default:                     nie
 ipv6.may-fail:                          tak
+ipv6.required-timeout:                  -1 (default)
 ipv6.ip6-privacy:                       -1 (unknown)
 ipv6.addr-gen-mode:                     stable-privacy
 ipv6.ra-timeout:                        0 (default)
@@ -39016,12 +39128,12 @@ VPN.CFG[3]:                             key3 = val3
 -------------------------------------------------------------------------------
 
 <<<
-size: 6193
+size: 6299
 location: src/tests/client/test-client.py:test_004()/725
 cmd: $NMCLI --mode multiline --pretty con s con-vpn-1
 lang: C
 returncode: 0
-stdout: 6032 bytes
+stdout: 6138 bytes
 >>>
 ===============================================================================
                     Connection profile details (con-vpn-1)
@@ -39073,6 +39185,7 @@ ipv4.dhcp-fqdn:                         --
 ipv4.dhcp-hostname-flags:               0x0 (none)
 ipv4.never-default:                     no
 ipv4.may-fail:                          yes
+ipv4.required-timeout:                  -1 (default)
 ipv4.dad-timeout:                       -1 (default)
 ipv4.dhcp-vendor-class-identifier:      --
 ipv4.dhcp-reject-servers:               --
@@ -39092,6 +39205,7 @@ ipv6.ignore-auto-routes:                no
 ipv6.ignore-auto-dns:                   no
 ipv6.never-default:                     no
 ipv6.may-fail:                          yes
+ipv6.required-timeout:                  -1 (default)
 ipv6.ip6-privacy:                       -1 (unknown)
 ipv6.addr-gen-mode:                     stable-privacy
 ipv6.ra-timeout:                        0 (default)
@@ -39143,12 +39257,12 @@ VPN.CFG[3]:                             key3 = val3
 -------------------------------------------------------------------------------
 
 <<<
-size: 6235
+size: 6341
 location: src/tests/client/test-client.py:test_004()/726
 cmd: $NMCLI --mode multiline --pretty con s con-vpn-1
 lang: pl_PL.UTF-8
 returncode: 0
-stdout: 6064 bytes
+stdout: 6170 bytes
 >>>
 ===============================================================================
                    Szczegóły profilu połączenia (con-vpn-1)
@@ -39200,6 +39314,7 @@ ipv4.dhcp-fqdn:                         --
 ipv4.dhcp-hostname-flags:               0x0 (none)
 ipv4.never-default:                     nie
 ipv4.may-fail:                          tak
+ipv4.required-timeout:                  -1 (default)
 ipv4.dad-timeout:                       -1 (default)
 ipv4.dhcp-vendor-class-identifier:      --
 ipv4.dhcp-reject-servers:               --
@@ -39219,6 +39334,7 @@ ipv6.ignore-auto-routes:                nie
 ipv6.ignore-auto-dns:                   nie
 ipv6.never-default:                     nie
 ipv6.may-fail:                          tak
+ipv6.required-timeout:                  -1 (default)
 ipv6.ip6-privacy:                       -1 (unknown)
 ipv6.addr-gen-mode:                     stable-privacy
 ipv6.ra-timeout:                        0 (default)
@@ -39270,12 +39386,12 @@ VPN.CFG[3]:                             key3 = val3
 -------------------------------------------------------------------------------
 
 <<<
-size: 4673
+size: 4779
 location: src/tests/client/test-client.py:test_004()/727
 cmd: $NMCLI --mode multiline --pretty -f ALL con s con-vpn-1
 lang: C
 returncode: 0
-stdout: 4505 bytes
+stdout: 4611 bytes
 >>>
 ===============================================================================
                     Connection profile details (con-vpn-1)
@@ -39327,6 +39443,7 @@ ipv4.dhcp-fqdn:                         --
 ipv4.dhcp-hostname-flags:               0x0 (none)
 ipv4.never-default:                     no
 ipv4.may-fail:                          yes
+ipv4.required-timeout:                  -1 (default)
 ipv4.dad-timeout:                       -1 (default)
 ipv4.dhcp-vendor-class-identifier:      --
 ipv4.dhcp-reject-servers:               --
@@ -39346,6 +39463,7 @@ ipv6.ignore-auto-routes:                no
 ipv6.ignore-auto-dns:                   no
 ipv6.never-default:                     no
 ipv6.may-fail:                          yes
+ipv6.required-timeout:                  -1 (default)
 ipv6.ip6-privacy:                       -1 (unknown)
 ipv6.addr-gen-mode:                     stable-privacy
 ipv6.ra-timeout:                        0 (default)
@@ -39371,12 +39489,12 @@ proxy.pac-script:                       --
 -------------------------------------------------------------------------------
 
 <<<
-size: 4698
+size: 4804
 location: src/tests/client/test-client.py:test_004()/728
 cmd: $NMCLI --mode multiline --pretty -f ALL con s con-vpn-1
 lang: pl_PL.UTF-8
 returncode: 0
-stdout: 4520 bytes
+stdout: 4626 bytes
 >>>
 ===============================================================================
                    Szczegóły profilu połączenia (con-vpn-1)
@@ -39428,6 +39546,7 @@ ipv4.dhcp-fqdn:                         --
 ipv4.dhcp-hostname-flags:               0x0 (none)
 ipv4.never-default:                     nie
 ipv4.may-fail:                          tak
+ipv4.required-timeout:                  -1 (default)
 ipv4.dad-timeout:                       -1 (default)
 ipv4.dhcp-vendor-class-identifier:      --
 ipv4.dhcp-reject-servers:               --
@@ -39447,6 +39566,7 @@ ipv6.ignore-auto-routes:                nie
 ipv6.ignore-auto-dns:                   nie
 ipv6.never-default:                     nie
 ipv6.may-fail:                          tak
+ipv6.required-timeout:                  -1 (default)
 ipv6.ip6-privacy:                       -1 (unknown)
 ipv6.addr-gen-mode:                     stable-privacy
 ipv6.ra-timeout:                        0 (default)
@@ -43200,12 +43320,12 @@ connection.interface-name:              --
 -------------------------------------------------------------------------------
 
 <<<
-size: 6205
+size: 6311
 location: src/tests/client/test-client.py:test_004()/773
 cmd: $NMCLI --mode multiline --pretty --color yes con s con-vpn-1
 lang: C
 returncode: 0
-stdout: 6032 bytes
+stdout: 6138 bytes
 >>>
 ===============================================================================
                     Connection profile details (con-vpn-1)
@@ -43257,6 +43377,7 @@ ipv4.dhcp-fqdn:                         --
 ipv4.dhcp-hostname-flags:               0x0 (none)
 ipv4.never-default:                     no
 ipv4.may-fail:                          yes
+ipv4.required-timeout:                  -1 (default)
 ipv4.dad-timeout:                       -1 (default)
 ipv4.dhcp-vendor-class-identifier:      --
 ipv4.dhcp-reject-servers:               --
@@ -43276,6 +43397,7 @@ ipv6.ignore-auto-routes:                no
 ipv6.ignore-auto-dns:                   no
 ipv6.never-default:                     no
 ipv6.may-fail:                          yes
+ipv6.required-timeout:                  -1 (default)
 ipv6.ip6-privacy:                       -1 (unknown)
 ipv6.addr-gen-mode:                     stable-privacy
 ipv6.ra-timeout:                        0 (default)
@@ -43327,12 +43449,12 @@ VPN.CFG[3]:                             key3 = val3
 -------------------------------------------------------------------------------
 
 <<<
-size: 6247
+size: 6353
 location: src/tests/client/test-client.py:test_004()/774
 cmd: $NMCLI --mode multiline --pretty --color yes con s con-vpn-1
 lang: pl_PL.UTF-8
 returncode: 0
-stdout: 6064 bytes
+stdout: 6170 bytes
 >>>
 ===============================================================================
                    Szczegóły profilu połączenia (con-vpn-1)
@@ -43384,6 +43506,7 @@ ipv4.dhcp-fqdn:                         --
 ipv4.dhcp-hostname-flags:               0x0 (none)
 ipv4.never-default:                     nie
 ipv4.may-fail:                          tak
+ipv4.required-timeout:                  -1 (default)
 ipv4.dad-timeout:                       -1 (default)
 ipv4.dhcp-vendor-class-identifier:      --
 ipv4.dhcp-reject-servers:               --
@@ -43403,6 +43526,7 @@ ipv6.ignore-auto-routes:                nie
 ipv6.ignore-auto-dns:                   nie
 ipv6.never-default:                     nie
 ipv6.may-fail:                          tak
+ipv6.required-timeout:                  -1 (default)
 ipv6.ip6-privacy:                       -1 (unknown)
 ipv6.addr-gen-mode:                     stable-privacy
 ipv6.ra-timeout:                        0 (default)
@@ -43454,12 +43578,12 @@ VPN.CFG[3]:                             key3 = val3
 -------------------------------------------------------------------------------
 
 <<<
-size: 6205
+size: 6311
 location: src/tests/client/test-client.py:test_004()/775
 cmd: $NMCLI --mode multiline --pretty --color yes con s con-vpn-1
 lang: C
 returncode: 0
-stdout: 6032 bytes
+stdout: 6138 bytes
 >>>
 ===============================================================================
                     Connection profile details (con-vpn-1)
@@ -43511,6 +43635,7 @@ ipv4.dhcp-fqdn:                         --
 ipv4.dhcp-hostname-flags:               0x0 (none)
 ipv4.never-default:                     no
 ipv4.may-fail:                          yes
+ipv4.required-timeout:                  -1 (default)
 ipv4.dad-timeout:                       -1 (default)
 ipv4.dhcp-vendor-class-identifier:      --
 ipv4.dhcp-reject-servers:               --
@@ -43530,6 +43655,7 @@ ipv6.ignore-auto-routes:                no
 ipv6.ignore-auto-dns:                   no
 ipv6.never-default:                     no
 ipv6.may-fail:                          yes
+ipv6.required-timeout:                  -1 (default)
 ipv6.ip6-privacy:                       -1 (unknown)
 ipv6.addr-gen-mode:                     stable-privacy
 ipv6.ra-timeout:                        0 (default)
@@ -43581,12 +43707,12 @@ VPN.CFG[3]:                             key3 = val3
 -------------------------------------------------------------------------------
 
 <<<
-size: 6247
+size: 6353
 location: src/tests/client/test-client.py:test_004()/776
 cmd: $NMCLI --mode multiline --pretty --color yes con s con-vpn-1
 lang: pl_PL.UTF-8
 returncode: 0
-stdout: 6064 bytes
+stdout: 6170 bytes
 >>>
 ===============================================================================
                    Szczegóły profilu połączenia (con-vpn-1)
@@ -43638,6 +43764,7 @@ ipv4.dhcp-fqdn:                         --
 ipv4.dhcp-hostname-flags:               0x0 (none)
 ipv4.never-default:                     nie
 ipv4.may-fail:                          tak
+ipv4.required-timeout:                  -1 (default)
 ipv4.dad-timeout:                       -1 (default)
 ipv4.dhcp-vendor-class-identifier:      --
 ipv4.dhcp-reject-servers:               --
@@ -43657,6 +43784,7 @@ ipv6.ignore-auto-routes:                nie
 ipv6.ignore-auto-dns:                   nie
 ipv6.never-default:                     nie
 ipv6.may-fail:                          tak
+ipv6.required-timeout:                  -1 (default)
 ipv6.ip6-privacy:                       -1 (unknown)
 ipv6.addr-gen-mode:                     stable-privacy
 ipv6.ra-timeout:                        0 (default)
@@ -43708,12 +43836,12 @@ VPN.CFG[3]:                             key3 = val3
 -------------------------------------------------------------------------------
 
 <<<
-size: 4685
+size: 4791
 location: src/tests/client/test-client.py:test_004()/777
 cmd: $NMCLI --mode multiline --pretty --color yes -f ALL con s con-vpn-1
 lang: C
 returncode: 0
-stdout: 4505 bytes
+stdout: 4611 bytes
 >>>
 ===============================================================================
                     Connection profile details (con-vpn-1)
@@ -43765,6 +43893,7 @@ ipv4.dhcp-fqdn:                         --
 ipv4.dhcp-hostname-flags:               0x0 (none)
 ipv4.never-default:                     no
 ipv4.may-fail:                          yes
+ipv4.required-timeout:                  -1 (default)
 ipv4.dad-timeout:                       -1 (default)
 ipv4.dhcp-vendor-class-identifier:      --
 ipv4.dhcp-reject-servers:               --
@@ -43784,6 +43913,7 @@ ipv6.ignore-auto-routes:                no
 ipv6.ignore-auto-dns:                   no
 ipv6.never-default:                     no
 ipv6.may-fail:                          yes
+ipv6.required-timeout:                  -1 (default)
 ipv6.ip6-privacy:                       -1 (unknown)
 ipv6.addr-gen-mode:                     stable-privacy
 ipv6.ra-timeout:                        0 (default)
@@ -43809,12 +43939,12 @@ proxy.pac-script:                       --
 -------------------------------------------------------------------------------
 
 <<<
-size: 4710
+size: 4816
 location: src/tests/client/test-client.py:test_004()/778
 cmd: $NMCLI --mode multiline --pretty --color yes -f ALL con s con-vpn-1
 lang: pl_PL.UTF-8
 returncode: 0
-stdout: 4520 bytes
+stdout: 4626 bytes
 >>>
 ===============================================================================
                    Szczegóły profilu połączenia (con-vpn-1)
@@ -43866,6 +43996,7 @@ ipv4.dhcp-fqdn:                         --
 ipv4.dhcp-hostname-flags:               0x0 (none)
 ipv4.never-default:                     nie
 ipv4.may-fail:                          tak
+ipv4.required-timeout:                  -1 (default)
 ipv4.dad-timeout:                       -1 (default)
 ipv4.dhcp-vendor-class-identifier:      --
 ipv4.dhcp-reject-servers:               --
@@ -43885,6 +44016,7 @@ ipv6.ignore-auto-routes:                nie
 ipv6.ignore-auto-dns:                   nie
 ipv6.never-default:                     nie
 ipv6.may-fail:                          tak
+ipv6.required-timeout:                  -1 (default)
 ipv6.ip6-privacy:                       -1 (unknown)
 ipv6.addr-gen-mode:                     stable-privacy
 ipv6.ra-timeout:                        0 (default)
@@ -47638,12 +47770,12 @@ connection.interface-name:              --
 -------------------------------------------------------------------------------
 
 <<<
-size: 2622
+size: 2672
 location: src/tests/client/test-client.py:test_004()/823
 cmd: $NMCLI --mode multiline --terse con s con-vpn-1
 lang: C
 returncode: 0
-stdout: 2462 bytes
+stdout: 2512 bytes
 >>>
 connection.id:con-vpn-1
 connection.uuid:UUID-con-vpn-1-REPLACED-REPLACED-REP
@@ -47691,6 +47823,7 @@ ipv4.dhcp-fqdn:
 ipv4.dhcp-hostname-flags:0x0
 ipv4.never-default:no
 ipv4.may-fail:yes
+ipv4.required-timeout:-1
 ipv4.dad-timeout:-1
 ipv4.dhcp-vendor-class-identifier:
 ipv4.dhcp-reject-servers:
@@ -47709,6 +47842,7 @@ ipv6.ignore-auto-routes:no
 ipv6.ignore-auto-dns:no
 ipv6.never-default:no
 ipv6.may-fail:yes
+ipv6.required-timeout:-1
 ipv6.ip6-privacy:-1
 ipv6.addr-gen-mode:stable-privacy
 ipv6.ra-timeout:0
@@ -47752,12 +47886,12 @@ VPN.CFG[2]:key2 = val2
 VPN.CFG[3]:key3 = val3
 
 <<<
-size: 2632
+size: 2682
 location: src/tests/client/test-client.py:test_004()/824
 cmd: $NMCLI --mode multiline --terse con s con-vpn-1
 lang: pl_PL.UTF-8
 returncode: 0
-stdout: 2462 bytes
+stdout: 2512 bytes
 >>>
 connection.id:con-vpn-1
 connection.uuid:UUID-con-vpn-1-REPLACED-REPLACED-REP
@@ -47805,6 +47939,7 @@ ipv4.dhcp-fqdn:
 ipv4.dhcp-hostname-flags:0x0
 ipv4.never-default:no
 ipv4.may-fail:yes
+ipv4.required-timeout:-1
 ipv4.dad-timeout:-1
 ipv4.dhcp-vendor-class-identifier:
 ipv4.dhcp-reject-servers:
@@ -47823,6 +47958,7 @@ ipv6.ignore-auto-routes:no
 ipv6.ignore-auto-dns:no
 ipv6.never-default:no
 ipv6.may-fail:yes
+ipv6.required-timeout:-1
 ipv6.ip6-privacy:-1
 ipv6.addr-gen-mode:stable-privacy
 ipv6.ra-timeout:0
@@ -47866,12 +48002,12 @@ VPN.CFG[2]:key2 = val2
 VPN.CFG[3]:key3 = val3
 
 <<<
-size: 2622
+size: 2672
 location: src/tests/client/test-client.py:test_004()/825
 cmd: $NMCLI --mode multiline --terse con s con-vpn-1
 lang: C
 returncode: 0
-stdout: 2462 bytes
+stdout: 2512 bytes
 >>>
 connection.id:con-vpn-1
 connection.uuid:UUID-con-vpn-1-REPLACED-REPLACED-REP
@@ -47919,6 +48055,7 @@ ipv4.dhcp-fqdn:
 ipv4.dhcp-hostname-flags:0x0
 ipv4.never-default:no
 ipv4.may-fail:yes
+ipv4.required-timeout:-1
 ipv4.dad-timeout:-1
 ipv4.dhcp-vendor-class-identifier:
 ipv4.dhcp-reject-servers:
@@ -47937,6 +48074,7 @@ ipv6.ignore-auto-routes:no
 ipv6.ignore-auto-dns:no
 ipv6.never-default:no
 ipv6.may-fail:yes
+ipv6.required-timeout:-1
 ipv6.ip6-privacy:-1
 ipv6.addr-gen-mode:stable-privacy
 ipv6.ra-timeout:0
@@ -47980,12 +48118,12 @@ VPN.CFG[2]:key2 = val2
 VPN.CFG[3]:key3 = val3
 
 <<<
-size: 2632
+size: 2682
 location: src/tests/client/test-client.py:test_004()/826
 cmd: $NMCLI --mode multiline --terse con s con-vpn-1
 lang: pl_PL.UTF-8
 returncode: 0
-stdout: 2462 bytes
+stdout: 2512 bytes
 >>>
 connection.id:con-vpn-1
 connection.uuid:UUID-con-vpn-1-REPLACED-REPLACED-REP
@@ -48033,6 +48171,7 @@ ipv4.dhcp-fqdn:
 ipv4.dhcp-hostname-flags:0x0
 ipv4.never-default:no
 ipv4.may-fail:yes
+ipv4.required-timeout:-1
 ipv4.dad-timeout:-1
 ipv4.dhcp-vendor-class-identifier:
 ipv4.dhcp-reject-servers:
@@ -48051,6 +48190,7 @@ ipv6.ignore-auto-routes:no
 ipv6.ignore-auto-dns:no
 ipv6.never-default:no
 ipv6.may-fail:yes
+ipv6.required-timeout:-1
 ipv6.ip6-privacy:-1
 ipv6.addr-gen-mode:stable-privacy
 ipv6.ra-timeout:0
@@ -48094,12 +48234,12 @@ VPN.CFG[2]:key2 = val2
 VPN.CFG[3]:key3 = val3
 
 <<<
-size: 2047
+size: 2097
 location: src/tests/client/test-client.py:test_004()/827
 cmd: $NMCLI --mode multiline --terse -f ALL con s con-vpn-1
 lang: C
 returncode: 0
-stdout: 1880 bytes
+stdout: 1930 bytes
 >>>
 connection.id:con-vpn-1
 connection.uuid:UUID-con-vpn-1-REPLACED-REPLACED-REP
@@ -48147,6 +48287,7 @@ ipv4.dhcp-fqdn:
 ipv4.dhcp-hostname-flags:0x0
 ipv4.never-default:no
 ipv4.may-fail:yes
+ipv4.required-timeout:-1
 ipv4.dad-timeout:-1
 ipv4.dhcp-vendor-class-identifier:
 ipv4.dhcp-reject-servers:
@@ -48165,6 +48306,7 @@ ipv6.ignore-auto-routes:no
 ipv6.ignore-auto-dns:no
 ipv6.never-default:no
 ipv6.may-fail:yes
+ipv6.required-timeout:-1
 ipv6.ip6-privacy:-1
 ipv6.addr-gen-mode:stable-privacy
 ipv6.ra-timeout:0
@@ -48187,12 +48329,12 @@ proxy.pac-url:
 proxy.pac-script:
 
 <<<
-size: 2057
+size: 2107
 location: src/tests/client/test-client.py:test_004()/828
 cmd: $NMCLI --mode multiline --terse -f ALL con s con-vpn-1
 lang: pl_PL.UTF-8
 returncode: 0
-stdout: 1880 bytes
+stdout: 1930 bytes
 >>>
 connection.id:con-vpn-1
 connection.uuid:UUID-con-vpn-1-REPLACED-REPLACED-REP
@@ -48240,6 +48382,7 @@ ipv4.dhcp-fqdn:
 ipv4.dhcp-hostname-flags:0x0
 ipv4.never-default:no
 ipv4.may-fail:yes
+ipv4.required-timeout:-1
 ipv4.dad-timeout:-1
 ipv4.dhcp-vendor-class-identifier:
 ipv4.dhcp-reject-servers:
@@ -48258,6 +48401,7 @@ ipv6.ignore-auto-routes:no
 ipv6.ignore-auto-dns:no
 ipv6.never-default:no
 ipv6.may-fail:yes
+ipv6.required-timeout:-1
 ipv6.ip6-privacy:-1
 ipv6.addr-gen-mode:stable-privacy
 ipv6.ra-timeout:0
@@ -51374,12 +51518,12 @@ connection.type:802-11-wireless
 connection.interface-name:
 
 <<<
-size: 2634
+size: 2684
 location: src/tests/client/test-client.py:test_004()/873
 cmd: $NMCLI --mode multiline --terse --color yes con s con-vpn-1
 lang: C
 returncode: 0
-stdout: 2462 bytes
+stdout: 2512 bytes
 >>>
 connection.id:con-vpn-1
 connection.uuid:UUID-con-vpn-1-REPLACED-REPLACED-REP
@@ -51427,6 +51571,7 @@ ipv4.dhcp-fqdn:
 ipv4.dhcp-hostname-flags:0x0
 ipv4.never-default:no
 ipv4.may-fail:yes
+ipv4.required-timeout:-1
 ipv4.dad-timeout:-1
 ipv4.dhcp-vendor-class-identifier:
 ipv4.dhcp-reject-servers:
@@ -51445,6 +51590,7 @@ ipv6.ignore-auto-routes:no
 ipv6.ignore-auto-dns:no
 ipv6.never-default:no
 ipv6.may-fail:yes
+ipv6.required-timeout:-1
 ipv6.ip6-privacy:-1
 ipv6.addr-gen-mode:stable-privacy
 ipv6.ra-timeout:0
@@ -51488,12 +51634,12 @@ VPN.CFG[2]:key2 = val2
 VPN.CFG[3]:key3 = val3
 
 <<<
-size: 2644
+size: 2694
 location: src/tests/client/test-client.py:test_004()/874
 cmd: $NMCLI --mode multiline --terse --color yes con s con-vpn-1
 lang: pl_PL.UTF-8
 returncode: 0
-stdout: 2462 bytes
+stdout: 2512 bytes
 >>>
 connection.id:con-vpn-1
 connection.uuid:UUID-con-vpn-1-REPLACED-REPLACED-REP
@@ -51541,6 +51687,7 @@ ipv4.dhcp-fqdn:
 ipv4.dhcp-hostname-flags:0x0
 ipv4.never-default:no
 ipv4.may-fail:yes
+ipv4.required-timeout:-1
 ipv4.dad-timeout:-1
 ipv4.dhcp-vendor-class-identifier:
 ipv4.dhcp-reject-servers:
@@ -51559,6 +51706,7 @@ ipv6.ignore-auto-routes:no
 ipv6.ignore-auto-dns:no
 ipv6.never-default:no
 ipv6.may-fail:yes
+ipv6.required-timeout:-1
 ipv6.ip6-privacy:-1
 ipv6.addr-gen-mode:stable-privacy
 ipv6.ra-timeout:0
@@ -51602,12 +51750,12 @@ VPN.CFG[2]:key2 = val2
 VPN.CFG[3]:key3 = val3
 
 <<<
-size: 2634
+size: 2684
 location: src/tests/client/test-client.py:test_004()/875
 cmd: $NMCLI --mode multiline --terse --color yes con s con-vpn-1
 lang: C
 returncode: 0
-stdout: 2462 bytes
+stdout: 2512 bytes
 >>>
 connection.id:con-vpn-1
 connection.uuid:UUID-con-vpn-1-REPLACED-REPLACED-REP
@@ -51655,6 +51803,7 @@ ipv4.dhcp-fqdn:
 ipv4.dhcp-hostname-flags:0x0
 ipv4.never-default:no
 ipv4.may-fail:yes
+ipv4.required-timeout:-1
 ipv4.dad-timeout:-1
 ipv4.dhcp-vendor-class-identifier:
 ipv4.dhcp-reject-servers:
@@ -51673,6 +51822,7 @@ ipv6.ignore-auto-routes:no
 ipv6.ignore-auto-dns:no
 ipv6.never-default:no
 ipv6.may-fail:yes
+ipv6.required-timeout:-1
 ipv6.ip6-privacy:-1
 ipv6.addr-gen-mode:stable-privacy
 ipv6.ra-timeout:0
@@ -51716,12 +51866,12 @@ VPN.CFG[2]:key2 = val2
 VPN.CFG[3]:key3 = val3
 
 <<<
-size: 2644
+size: 2694
 location: src/tests/client/test-client.py:test_004()/876
 cmd: $NMCLI --mode multiline --terse --color yes con s con-vpn-1
 lang: pl_PL.UTF-8
 returncode: 0
-stdout: 2462 bytes
+stdout: 2512 bytes
 >>>
 connection.id:con-vpn-1
 connection.uuid:UUID-con-vpn-1-REPLACED-REPLACED-REP
@@ -51769,6 +51919,7 @@ ipv4.dhcp-fqdn:
 ipv4.dhcp-hostname-flags:0x0
 ipv4.never-default:no
 ipv4.may-fail:yes
+ipv4.required-timeout:-1
 ipv4.dad-timeout:-1
 ipv4.dhcp-vendor-class-identifier:
 ipv4.dhcp-reject-servers:
@@ -51787,6 +51938,7 @@ ipv6.ignore-auto-routes:no
 ipv6.ignore-auto-dns:no
 ipv6.never-default:no
 ipv6.may-fail:yes
+ipv6.required-timeout:-1
 ipv6.ip6-privacy:-1
 ipv6.addr-gen-mode:stable-privacy
 ipv6.ra-timeout:0
@@ -51830,12 +51982,12 @@ VPN.CFG[2]:key2 = val2
 VPN.CFG[3]:key3 = val3
 
 <<<
-size: 2059
+size: 2109
 location: src/tests/client/test-client.py:test_004()/877
 cmd: $NMCLI --mode multiline --terse --color yes -f ALL con s con-vpn-1
 lang: C
 returncode: 0
-stdout: 1880 bytes
+stdout: 1930 bytes
 >>>
 connection.id:con-vpn-1
 connection.uuid:UUID-con-vpn-1-REPLACED-REPLACED-REP
@@ -51883,6 +52035,7 @@ ipv4.dhcp-fqdn:
 ipv4.dhcp-hostname-flags:0x0
 ipv4.never-default:no
 ipv4.may-fail:yes
+ipv4.required-timeout:-1
 ipv4.dad-timeout:-1
 ipv4.dhcp-vendor-class-identifier:
 ipv4.dhcp-reject-servers:
@@ -51901,6 +52054,7 @@ ipv6.ignore-auto-routes:no
 ipv6.ignore-auto-dns:no
 ipv6.never-default:no
 ipv6.may-fail:yes
+ipv6.required-timeout:-1
 ipv6.ip6-privacy:-1
 ipv6.addr-gen-mode:stable-privacy
 ipv6.ra-timeout:0
@@ -51923,12 +52077,12 @@ proxy.pac-url:
 proxy.pac-script:
 
 <<<
-size: 2069
+size: 2119
 location: src/tests/client/test-client.py:test_004()/878
 cmd: $NMCLI --mode multiline --terse --color yes -f ALL con s con-vpn-1
 lang: pl_PL.UTF-8
 returncode: 0
-stdout: 1880 bytes
+stdout: 1930 bytes
 >>>
 connection.id:con-vpn-1
 connection.uuid:UUID-con-vpn-1-REPLACED-REPLACED-REP
@@ -51976,6 +52130,7 @@ ipv4.dhcp-fqdn:
 ipv4.dhcp-hostname-flags:0x0
 ipv4.never-default:no
 ipv4.may-fail:yes
+ipv4.required-timeout:-1
 ipv4.dad-timeout:-1
 ipv4.dhcp-vendor-class-identifier:
 ipv4.dhcp-reject-servers:
@@ -51994,6 +52149,7 @@ ipv6.ignore-auto-routes:no
 ipv6.ignore-auto-dns:no
 ipv6.never-default:no
 ipv6.may-fail:yes
+ipv6.required-timeout:-1
 ipv6.ip6-privacy:-1
 ipv6.addr-gen-mode:stable-privacy
 ipv6.ra-timeout:0