about summary refs log tree commit diff
diff options
context:
space:
mode:
authorMichael Biebl <biebl@debian.org>2022-12-03 22:59:09 +0100
committerMichael Biebl <biebl@debian.org>2022-12-03 22:59:09 +0100
commit06356c8ac470c1fa46f881b0598ec48a653e69ae (patch)
tree42e7714b4caedf4d23ebefd42d8d0afebc6f3569
parent78ecd0c8a4a337e38470f3fae5db74daf61ba86a (diff)
parent372b62c2c25eb1f2e811f84849e9b69c40ae6245 (diff)
Merge branch 'debian/master' into debian/bullseye-backports
-rw-r--r--Makefile.am33
-rw-r--r--Makefile.in273
-rw-r--r--NEWS51
-rwxr-xr-xbuild-aux/config.rpath6
-rwxr-xr-xconfigure76
-rw-r--r--configure.ac2
-rw-r--r--debian/changelog26
-rw-r--r--debian/control4
-rw-r--r--debian/libnm0.symbols31
-rwxr-xr-xdebian/rules2
-rw-r--r--docs/api/Makefile.am16
-rw-r--r--docs/api/Makefile.in15
-rw-r--r--docs/api/dbus-org.freedesktop.NetworkManager.xml2
-rw-r--r--docs/api/html/gdbus-org.freedesktop.NetworkManager.html2
-rw-r--r--docs/api/html/index.html2
-rw-r--r--docs/api/html/nm-dbus-types.html5
-rw-r--r--docs/api/html/nm-settings-dbus.html8
-rw-r--r--docs/api/html/nm-settings-nmcli.html2
-rw-r--r--docs/api/version.xml2
-rw-r--r--docs/libnm/html/NMAccessPoint.html4
-rw-r--r--docs/libnm/html/NMCheckpoint.html1
-rw-r--r--docs/libnm/html/NMClient.html20
-rw-r--r--docs/libnm/html/NMConnection.html14
-rw-r--r--docs/libnm/html/NMDevice.html4
-rw-r--r--docs/libnm/html/NMDevice6Lowpan.html24
-rw-r--r--docs/libnm/html/NMDeviceDummy.html7
-rw-r--r--docs/libnm/html/NMDeviceIPTunnel.html1
-rw-r--r--docs/libnm/html/NMDeviceMacsec.html9
-rw-r--r--docs/libnm/html/NMDeviceMacvlan.html7
-rw-r--r--docs/libnm/html/NMDeviceOvsBridge.html1
-rw-r--r--docs/libnm/html/NMDeviceOvsInterface.html1
-rw-r--r--docs/libnm/html/NMDeviceOvsPort.html1
-rw-r--r--docs/libnm/html/NMDevicePpp.html1
-rw-r--r--docs/libnm/html/NMDeviceTun.html28
-rw-r--r--docs/libnm/html/NMDeviceVeth.html3
-rw-r--r--docs/libnm/html/NMDeviceVrf.html1
-rw-r--r--docs/libnm/html/NMDeviceVxlan.html11
-rw-r--r--docs/libnm/html/NMDeviceWifiP2P.html8
-rw-r--r--docs/libnm/html/NMDeviceWireGuard.html1
-rw-r--r--docs/libnm/html/NMDeviceWpan.html25
-rw-r--r--docs/libnm/html/NMRemoteConnection.html1
-rw-r--r--docs/libnm/html/NMSetting.html9
-rw-r--r--docs/libnm/html/NMSetting6Lowpan.html4
-rw-r--r--docs/libnm/html/NMSetting8021x.html82
-rw-r--r--docs/libnm/html/NMSettingAdsl.html14
-rw-r--r--docs/libnm/html/NMSettingBond.html2
-rw-r--r--docs/libnm/html/NMSettingBridge.html44
-rw-r--r--docs/libnm/html/NMSettingBridgePort.html6
-rw-r--r--docs/libnm/html/NMSettingCdma.html8
-rw-r--r--docs/libnm/html/NMSettingConnection.html36
-rw-r--r--docs/libnm/html/NMSettingDcb.html38
-rw-r--r--docs/libnm/html/NMSettingEthtool.html2
-rw-r--r--docs/libnm/html/NMSettingGeneric.html2
-rw-r--r--docs/libnm/html/NMSettingGsm.html18
-rw-r--r--docs/libnm/html/NMSettingHostname.html2
-rw-r--r--docs/libnm/html/NMSettingIP4Config.html4
-rw-r--r--docs/libnm/html/NMSettingIP6Config.html2
-rw-r--r--docs/libnm/html/NMSettingIPConfig.html4
-rw-r--r--docs/libnm/html/NMSettingIPTunnel.html72
-rw-r--r--docs/libnm/html/NMSettingInfiniband.html8
-rw-r--r--docs/libnm/html/NMSettingMacvlan.html1
-rw-r--r--docs/libnm/html/NMSettingOvsBridge.html2
-rw-r--r--docs/libnm/html/NMSettingOvsExternalIDs.html1
-rw-r--r--docs/libnm/html/NMSettingSerial.html10
-rw-r--r--docs/libnm/html/NMSettingSriov.html30
-rw-r--r--docs/libnm/html/NMSettingTCConfig.html4
-rw-r--r--docs/libnm/html/NMSettingTeam.html3
-rw-r--r--docs/libnm/html/NMSettingTeamPort.html2
-rw-r--r--docs/libnm/html/NMSettingTun.html1
-rw-r--r--docs/libnm/html/NMSettingUser.html2
-rw-r--r--docs/libnm/html/NMSettingVlan.html34
-rw-r--r--docs/libnm/html/NMSettingVpn.html1
-rw-r--r--docs/libnm/html/NMSettingWireGuard.html20
-rw-r--r--docs/libnm/html/NMSettingWired.html18
-rw-r--r--docs/libnm/html/NMSettingWireless.html29
-rw-r--r--docs/libnm/html/NMSettingWirelessSecurity.html61
-rw-r--r--docs/libnm/html/NMSettingWpan.html12
-rw-r--r--docs/libnm/html/NMVpnConnection.html8
-rw-r--r--docs/libnm/html/NMVpnPluginInfo.html2
-rw-r--r--docs/libnm/html/NMVpnPluginOld.html50
-rw-r--r--docs/libnm/html/NMVpnServicePlugin.html13
-rw-r--r--docs/libnm/html/NMWifiP2PPeer.html5
-rw-r--r--docs/libnm/html/NMWimaxNsp.html4
-rw-r--r--docs/libnm/html/api-index-full.html724
-rw-r--r--docs/libnm/html/index.html2
-rw-r--r--docs/libnm/html/libnm-nm-dbus-interface.html3
-rw-r--r--docs/libnm/html/libnm-nm-errors.html6
-rw-r--r--docs/libnm/html/libnm-nm-utils.html52
-rw-r--r--docs/libnm/html/libnm-nm-version.html16
-rw-r--r--docs/libnm/html/libnm.devhelp2176
-rw-r--r--docs/libnm/html/object-tree.html8
-rw-r--r--docs/libnm/html/usage.html2
-rw-r--r--docs/libnm/libnm-sections.txt8
-rw-r--r--docs/libnm/version.xml2
-rw-r--r--introspection/org.freedesktop.NetworkManager.xml2
-rw-r--r--m4/gettext.m428
-rw-r--r--m4/host-cpu-c-abi.m411
-rw-r--r--m4/iconv.m467
-rw-r--r--m4/intlmacosx.m42
-rw-r--r--m4/lib-ld.m46
-rw-r--r--m4/lib-link.m423
-rw-r--r--m4/lib-prefix.m417
-rw-r--r--m4/nls.m42
-rw-r--r--m4/po.m412
-rw-r--r--m4/progtest.m412
-rw-r--r--man/NetworkManager-dispatcher.84
-rw-r--r--man/NetworkManager-wait-online.service.84
-rw-r--r--man/NetworkManager.86
-rw-r--r--man/NetworkManager.conf.56
-rw-r--r--man/nm-cloud-setup.86
-rw-r--r--man/nm-initrd-generator.86
-rw-r--r--man/nm-online.16
-rw-r--r--man/nm-openvswitch.76
-rw-r--r--man/nm-settings-dbus.510
-rw-r--r--man/nm-settings-dbus.xml10
-rw-r--r--man/nm-settings-docs-dbus.xml10
-rw-r--r--man/nm-settings-docs-nmcli.xml2
-rw-r--r--man/nm-settings-ifcfg-rh.56
-rw-r--r--man/nm-settings-ifcfg-rh.xml2
-rw-r--r--man/nm-settings-keyfile.56
-rw-r--r--man/nm-settings-keyfile.xml2
-rw-r--r--man/nm-settings-nmcli.510
-rw-r--r--man/nm-settings-nmcli.xml6
-rw-r--r--man/nmcli-examples.76
-rw-r--r--man/nmcli.16
-rw-r--r--man/nmtui.16
-rw-r--r--meson.build2
-rw-r--r--po/Makevars2
-rw-r--r--po/NetworkManager.pot586
-rw-r--r--po/as.po86
-rw-r--r--po/be@latin.po86
-rw-r--r--po/bg.po86
-rw-r--r--po/bn_IN.po86
-rw-r--r--po/bs.po86
-rw-r--r--po/ca.po86
-rw-r--r--po/cs.po86
-rw-r--r--po/da.po86
-rw-r--r--po/de.po86
-rw-r--r--po/dz.po86
-rw-r--r--po/el.po86
-rw-r--r--po/en_CA.po86
-rw-r--r--po/en_GB.po86
-rw-r--r--po/eo.po86
-rw-r--r--po/es.po86
-rw-r--r--po/et.po86
-rw-r--r--po/eu.po86
-rw-r--r--po/fi.po86
-rw-r--r--po/fr.po95
-rw-r--r--po/gd.po86
-rw-r--r--po/gl.po86
-rw-r--r--po/gu.po86
-rw-r--r--po/he.po86
-rw-r--r--po/hi.po86
-rw-r--r--po/hr.gmobin364800 -> 363906 bytes
-rw-r--r--po/hr.po95
-rw-r--r--po/hu.po86
-rw-r--r--po/id.po86
-rw-r--r--po/it.po86
-rw-r--r--po/ja.po95
-rw-r--r--po/ka.po86
-rw-r--r--po/kn.po86
-rw-r--r--po/ko.po95
-rw-r--r--po/ku.po86
-rw-r--r--po/lt.po86
-rw-r--r--po/lv.po86
-rw-r--r--po/mk.po86
-rw-r--r--po/ml.po86
-rw-r--r--po/mr.po86
-rw-r--r--po/nb.po86
-rw-r--r--po/ne.po86
-rw-r--r--po/nl.po86
-rw-r--r--po/oc.po86
-rw-r--r--po/or.po86
-rw-r--r--po/pa.po86
-rw-r--r--po/pl.po86
-rw-r--r--po/pt.po86
-rw-r--r--po/pt_BR.po86
-rw-r--r--po/ro.po86
-rw-r--r--po/ru.gmobin543682 -> 542614 bytes
-rw-r--r--po/ru.po95
-rw-r--r--po/rw.po86
-rw-r--r--po/sk.po86
-rw-r--r--po/sl.po86
-rw-r--r--po/sq.po86
-rw-r--r--po/sr.po86
-rw-r--r--po/sr@latin.po86
-rw-r--r--po/sv.po86
-rw-r--r--po/ta.po86
-rw-r--r--po/te.po86
-rw-r--r--po/th.po86
-rw-r--r--po/tr.po86
-rw-r--r--po/uk.gmobin619135 -> 616159 bytes
-rw-r--r--po/uk.po95
-rw-r--r--po/vi.po86
-rw-r--r--po/wa.po86
-rw-r--r--po/zh_CN.gmobin369599 -> 368913 bytes
-rw-r--r--po/zh_CN.po95
-rw-r--r--po/zh_HK.po86
-rw-r--r--po/zh_TW.po86
-rw-r--r--src/core/NetworkManagerUtils.c1
-rw-r--r--src/core/devices/nm-device-bond.c95
-rw-r--r--src/core/devices/nm-device-ethernet.c10
-rw-r--r--src/core/devices/nm-device-private.h5
-rw-r--r--src/core/devices/nm-device-veth.c4
-rw-r--r--src/core/devices/nm-device.c105
-rw-r--r--src/core/devices/nm-device.h5
-rw-r--r--src/core/devices/ovs/nm-ovsdb.c155
-rw-r--r--src/core/devices/team/nm-device-team.c91
-rw-r--r--src/core/devices/wwan/nm-modem-ofono.c11
-rw-r--r--src/core/dhcp/nm-dhcp-client.c175
-rw-r--r--src/core/dhcp/nm-dhcp-helper.c19
-rw-r--r--src/core/dns/nm-dns-manager.c9
-rw-r--r--src/core/nm-config-data.c57
-rw-r--r--src/core/nm-connectivity.c5
-rw-r--r--src/core/nm-firewall-utils.c125
-rw-r--r--src/core/nm-firewall-utils.h13
-rw-r--r--src/core/nm-l3cfg.c2
-rw-r--r--src/core/nm-policy.c143
-rw-r--r--src/core/settings/plugins/ifcfg-rh/nms-ifcfg-rh-reader.c58
-rw-r--r--src/core/settings/plugins/ifcfg-rh/nms-ifcfg-rh-writer.c9
-rw-r--r--src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-ipoib9
-rw-r--r--src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test_roundtrip_ethtool-6.cexpected15
-rw-r--r--src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test_roundtrip_ethtool-7.cexpected15
-rw-r--r--src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test_roundtrip_ethtool-8.cexpected15
-rw-r--r--src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test_roundtrip_ethtool-9.cexpected15
-rw-r--r--src/core/settings/plugins/ifcfg-rh/tests/test-ifcfg-rh.c228
-rw-r--r--src/core/settings/plugins/keyfile/tests/test-keyfile-settings.c13
-rw-r--r--src/libnm-base/nm-ethtool-base.c12
-rw-r--r--src/libnm-base/nm-ethtool-base.h2
-rw-r--r--src/libnm-client-impl/libnm.ver34
-rw-r--r--src/libnm-client-impl/meson.build1
-rw-r--r--src/libnm-client-impl/nm-client.c6
-rw-r--r--src/libnm-client-impl/nm-device-6lowpan.c23
-rw-r--r--src/libnm-client-impl/nm-device-macsec.c2
-rw-r--r--src/libnm-client-impl/nm-device-tun.c2
-rw-r--r--src/libnm-client-impl/nm-device-veth.c2
-rw-r--r--src/libnm-client-impl/nm-device-vxlan.c4
-rw-r--r--src/libnm-client-impl/nm-device-wifi-p2p.c2
-rw-r--r--src/libnm-client-impl/nm-device-wpan.c19
-rw-r--r--src/libnm-client-impl/nm-remote-connection.c2
-rw-r--r--src/libnm-client-impl/nm-settings-docs-gir.xml8
-rw-r--r--src/libnm-client-impl/nm-vpn-plugin-old.c22
-rw-r--r--src/libnm-client-impl/nm-vpn-service-plugin.c30
-rw-r--r--src/libnm-client-impl/tests/meson.build12
-rwxr-xr-xsrc/libnm-client-impl/tests/test-gir.py153
-rw-r--r--src/libnm-client-public/nm-checkpoint.h2
-rw-r--r--src/libnm-client-public/nm-client.h5
-rw-r--r--src/libnm-client-public/nm-device-6lowpan.h8
-rw-r--r--src/libnm-client-public/nm-device-dummy.h2
-rw-r--r--src/libnm-client-public/nm-device-ip-tunnel.h2
-rw-r--r--src/libnm-client-public/nm-device-macsec.h4
-rw-r--r--src/libnm-client-public/nm-device-macvlan.h2
-rw-r--r--src/libnm-client-public/nm-device-ovs-bridge.h2
-rw-r--r--src/libnm-client-public/nm-device-ovs-interface.h2
-rw-r--r--src/libnm-client-public/nm-device-ovs-port.h2
-rw-r--r--src/libnm-client-public/nm-device-ppp.h3
-rw-r--r--src/libnm-client-public/nm-device-tun.h2
-rw-r--r--src/libnm-client-public/nm-device-veth.h4
-rw-r--r--src/libnm-client-public/nm-device-vrf.h2
-rw-r--r--src/libnm-client-public/nm-device-vxlan.h6
-rw-r--r--src/libnm-client-public/nm-device-wifi-p2p.h2
-rw-r--r--src/libnm-client-public/nm-device-wireguard.h2
-rw-r--r--src/libnm-client-public/nm-device-wpan.h6
-rw-r--r--src/libnm-client-public/nm-vpn-plugin-old.h6
-rw-r--r--src/libnm-client-public/nm-vpn-service-plugin.h2
-rw-r--r--src/libnm-client-public/nm-wifi-p2p-peer.h2
-rw-r--r--src/libnm-core-impl/nm-connection.c14
-rw-r--r--src/libnm-core-impl/nm-setting-6lowpan.c6
-rw-r--r--src/libnm-core-impl/nm-setting-bond-port.c8
-rw-r--r--src/libnm-core-impl/nm-setting-bond.c71
-rw-r--r--src/libnm-core-impl/nm-setting-bridge.c30
-rw-r--r--src/libnm-core-impl/nm-setting-connection.c2
-rw-r--r--src/libnm-core-impl/nm-setting-ethtool.c18
-rw-r--r--src/libnm-core-impl/nm-setting-hostname.c2
-rw-r--r--src/libnm-core-impl/nm-setting-ip-config.c6
-rw-r--r--src/libnm-core-impl/nm-setting-ip-tunnel.c6
-rw-r--r--src/libnm-core-impl/nm-setting-ip4-config.c6
-rw-r--r--src/libnm-core-impl/nm-setting-ip6-config.c3
-rw-r--r--src/libnm-core-impl/nm-setting-ovs-bridge.c2
-rw-r--r--src/libnm-core-impl/nm-setting-ovs-external-ids.c2
-rw-r--r--src/libnm-core-impl/nm-setting-sriov.c4
-rw-r--r--src/libnm-core-impl/nm-setting-tc-config.c4
-rw-r--r--src/libnm-core-impl/nm-setting-user.c6
-rw-r--r--src/libnm-core-impl/nm-setting-vpn.c2
-rw-r--r--src/libnm-core-impl/nm-setting-wireguard.c2
-rw-r--r--src/libnm-core-impl/nm-setting-wireless-security.c4
-rw-r--r--src/libnm-core-impl/nm-setting-wpan.c14
-rw-r--r--src/libnm-core-impl/nm-setting.c16
-rw-r--r--src/libnm-core-impl/nm-utils.c20
-rw-r--r--src/libnm-core-impl/nm-vpn-editor-plugin.c12
-rw-r--r--src/libnm-core-impl/nm-vpn-plugin-info.c2
-rw-r--r--src/libnm-core-impl/tests/test-general.c3
-rw-r--r--src/libnm-core-impl/tests/test-setting.c61
-rw-r--r--src/libnm-core-intern/nm-core-internal.h5
-rw-r--r--src/libnm-core-public/nm-connection.h11
-rw-r--r--src/libnm-core-public/nm-dbus-interface.h4
-rw-r--r--src/libnm-core-public/nm-dbus-types.xml4
-rw-r--r--src/libnm-core-public/nm-setting-6lowpan.h4
-rw-r--r--src/libnm-core-public/nm-setting-connection.h6
-rw-r--r--src/libnm-core-public/nm-setting-hostname.h2
-rw-r--r--src/libnm-core-public/nm-setting-ip-config.h2
-rw-r--r--src/libnm-core-public/nm-setting-ip-tunnel.h6
-rw-r--r--src/libnm-core-public/nm-setting-ip4-config.h2
-rw-r--r--src/libnm-core-public/nm-setting-macvlan.h2
-rw-r--r--src/libnm-core-public/nm-setting-ovs-bridge.h2
-rw-r--r--src/libnm-core-public/nm-setting-sriov.h2
-rw-r--r--src/libnm-core-public/nm-setting-tc-config.h4
-rw-r--r--src/libnm-core-public/nm-setting-team.h2
-rw-r--r--src/libnm-core-public/nm-setting-tun.h2
-rw-r--r--src/libnm-core-public/nm-setting-vpn.h4
-rw-r--r--src/libnm-core-public/nm-setting-wireless-security.h2
-rw-r--r--src/libnm-core-public/nm-setting-wireless.h2
-rw-r--r--src/libnm-core-public/nm-setting-wpan.h12
-rw-r--r--src/libnm-core-public/nm-setting.h8
-rw-r--r--src/libnm-core-public/nm-utils.h8
-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-core-public/nm-vpn-plugin-info.h2
-rw-r--r--src/libnm-glib-aux/nm-keyfile-aux.c2
-rw-r--r--src/libnm-glib-aux/nm-shared-utils.c33
-rw-r--r--src/libnm-glib-aux/nm-shared-utils.h8
-rw-r--r--src/libnm-glib-aux/nm-str-buf.h9
-rw-r--r--src/libnm-glib-aux/tests/test-shared-general.c10
-rw-r--r--src/libnm-platform/nm-linux-platform.c81
-rw-r--r--src/libnm-platform/nm-netlink.c36
-rw-r--r--src/libnm-platform/nm-netlink.h6
-rw-r--r--src/libnm-platform/nm-platform.c14
-rw-r--r--src/libnm-platform/nm-platform.h3
-rw-r--r--src/libnm-platform/nmp-global-tracker.c20
-rw-r--r--src/libnm-platform/nmp-object.c7
-rw-r--r--src/libnm-platform/tests/test-nm-platform.c5
-rw-r--r--src/libnm-platform/wifi/nm-wifi-utils-nl80211.c2
-rw-r--r--src/libnm-platform/wpan/nm-wpan-utils.c2
-rw-r--r--src/libnm-std-aux/nm-std-aux.h4
-rw-r--r--src/libnmc-setting/settings-docs-input.xml10
-rw-r--r--src/libnmc-setting/settings-docs.h4
-rw-r--r--src/libnmc-setting/settings-docs.h.in4
-rw-r--r--src/nm-initrd-generator/nm-initrd-generator.h3
-rw-r--r--src/nm-initrd-generator/nmi-cmdline-reader.c6
-rw-r--r--src/nm-initrd-generator/nmi-dt-reader.c2
-rw-r--r--src/nm-initrd-generator/nmi-ibft-reader.c2
-rw-r--r--src/nm-initrd-generator/tests/test-cmdline-reader.c30
-rw-r--r--src/nm-initrd-generator/tests/test-ibft-reader.c6
-rw-r--r--src/nmcli/devices.c2
-rw-r--r--src/nmcli/generate-docs-nm-settings-nmcli.xml4
-rw-r--r--src/nmcli/generate-docs-nm-settings-nmcli.xml.in4
-rw-r--r--src/nmcli/meson.build2
348 files changed, 6472 insertions, 5131 deletions
diff --git a/Makefile.am b/Makefile.am
index 109326c3..7cdb1120 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -168,6 +168,23 @@ if !BUILD_DOCS
 dist_configure_check += dist-configure-check
 endif
 
+# Gettext's Makefile has a race with parallel builds during dist.
+# Hack around that.
+# See also:
+#   https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/1094#note_1435313
+#   https://lists.gnu.org/archive/html/bug-gettext/2022-06/msg00022.html
+#   https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/1405
+po/.Makefile.patched:
+	sed -i \
+	    -e 's#^dist2: \$$(srcdir)/stamp-po \$$(DISTFILES)#dist2: \$$(srcdir)/stamp-po\n\t\$$(MAKE) \$$(DISTFILES)#' \
+	    -e 's#^dist2: stamp-po \$$(DISTFILES)#dist2: stamp-po\n\t\$$(MAKE) \$$(DISTFILES)#' \
+	    "$(builddir)/po/Makefile" && \
+	touch "$(builddir)/po/.Makefile.patched"
+
+DISTCLEANFILES += po/.Makefile.patched
+
+dist: po/.Makefile.patched
+
 dist: $(dist_configure_check) $(dist_dependencies)
 
 ###############################################################################
@@ -1999,8 +2016,16 @@ src_libnm_client_impl_tests_programs_req_introspection = \
 	src/libnm-client-impl/tests/test-remote-settings-client \
 	src/libnm-client-impl/tests/test-secret-agent
 
+check-local-libnm-gir: $(builddir)/src/libnm-client-impl/NM-1.0.gir
+check-local-libnm-gir: $(srcdir)/src/libnm-client-impl/libnm.ver
+check-local-libnm-gir:
+	"$(PYTHON)" $(srcdir)/src/libnm-client-impl/tests/test-gir.py \
+		--gir $(builddir)/src/libnm-client-impl/NM-1.0.gir \
+		--ver $(srcdir)/src/libnm-client-impl/libnm.ver
+
 if HAVE_INTROSPECTION
 check_programs += $(src_libnm_client_impl_tests_programs_req_introspection)
+check_local += check-local-libnm-gir
 else
 check_programs_norun += $(src_libnm_client_impl_tests_programs_req_introspection)
 endif
@@ -2054,7 +2079,8 @@ $(src_libnm_client_impl_tests_test_remote_settings_client_OBJECTS): $(src_libnm_
 $(src_libnm_client_impl_tests_test_secret_agent_OBJECTS):           $(src_libnm_client_impl_NM_1_0_typelib)
 
 EXTRA_DIST += \
-	src/libnm-client-impl/tests/meson.build
+	src/libnm-client-impl/tests/meson.build \
+	src/libnm-client-impl/tests/test-gir.py
 
 ###############################################################################
 
@@ -3433,6 +3459,7 @@ EXTRA_DIST += \
 	src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-ibft \
 	src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-infiniband \
 	src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-ip6-disabled.cexpected \
+	src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-ipoib \
 	src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-link_local \
 	src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-minimal \
 	src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-misc-variables \
@@ -3559,6 +3586,10 @@ EXTRA_DIST += \
 	src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test_roundtrip_ethtool-3.cexpected \
 	src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test_roundtrip_ethtool-4.cexpected \
 	src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test_roundtrip_ethtool-5.cexpected \
+	src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test_roundtrip_ethtool-6.cexpected \
+	src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test_roundtrip_ethtool-7.cexpected \
+	src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test_roundtrip_ethtool-8.cexpected \
+	src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test_roundtrip_ethtool-9.cexpected \
 	src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test_write_wired_auto_negotiate_on.cexpected \
 	src/core/settings/plugins/ifcfg-rh/tests/network-scripts/keys-test-wifi-dynamic-wep-leap \
 	src/core/settings/plugins/ifcfg-rh/tests/network-scripts/keys-test-wifi-leap \
diff --git a/Makefile.in b/Makefile.in
index d85cdccb..51c5b09b 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -179,83 +179,84 @@ TESTS = $(am__EXEEXT_11)
 @BUILD_DOCS_TRUE@@HAVE_INTROSPECTION_TRUE@am__append_16 = src/nmcli/generate-docs-nm-settings-nmcli.xml
 @HAVE_INTROSPECTION_TRUE@am__append_17 = $(libnm_noinst_data)
 @HAVE_INTROSPECTION_TRUE@am__append_18 = $(src_libnm_client_impl_tests_programs_req_introspection)
-@HAVE_INTROSPECTION_FALSE@am__append_19 = $(src_libnm_client_impl_tests_programs_req_introspection)
-@REQUIRE_ROOT_TESTS_TRUE@am__append_20 = -DREQUIRE_ROOT_TESTS=1
+@HAVE_INTROSPECTION_TRUE@am__append_19 = check-local-libnm-gir
+@HAVE_INTROSPECTION_FALSE@am__append_20 = $(src_libnm_client_impl_tests_programs_req_introspection)
+@REQUIRE_ROOT_TESTS_TRUE@am__append_21 = -DREQUIRE_ROOT_TESTS=1
 
 ###############################################################################
 # src/core/ppp
 ###############################################################################
-@WITH_PPP_TRUE@am__append_21 = src/core/ppp/libnm-ppp-plugin.la
-@WITH_PPP_TRUE@am__append_22 = src/core/ppp/nm-pppd-plugin.la
+@WITH_PPP_TRUE@am__append_22 = src/core/ppp/libnm-ppp-plugin.la
+@WITH_PPP_TRUE@am__append_23 = src/core/ppp/nm-pppd-plugin.la
 
 ###############################################################################
 # src/core/settings/plugins/ifcfg-rh
 ###############################################################################
-@CONFIG_PLUGIN_IFCFG_RH_TRUE@am__append_23 = src/core/settings/plugins/ifcfg-rh/libnm-settings-plugin-ifcfg-rh.la
-@CONFIG_PLUGIN_IFCFG_RH_TRUE@am__append_24 = \
+@CONFIG_PLUGIN_IFCFG_RH_TRUE@am__append_24 = src/core/settings/plugins/ifcfg-rh/libnm-settings-plugin-ifcfg-rh.la
+@CONFIG_PLUGIN_IFCFG_RH_TRUE@am__append_25 = \
 @CONFIG_PLUGIN_IFCFG_RH_TRUE@	src/core/settings/plugins/ifcfg-rh/libnmdbus-ifcfg-rh.la \
 @CONFIG_PLUGIN_IFCFG_RH_TRUE@	src/core/settings/plugins/ifcfg-rh/libnms-ifcfg-rh-core.la
 
-@CONFIG_PLUGIN_IFCFG_RH_TRUE@am__append_25 = $(nodist_src_core_settings_plugins_ifcfg_rh_libnmdbus_ifcfg_rh_la_SOURCES)
-@CONFIG_PLUGIN_IFCFG_RH_TRUE@am__append_26 = check-local-symbols-settings-ifcfg-rh
+@CONFIG_PLUGIN_IFCFG_RH_TRUE@am__append_26 = $(nodist_src_core_settings_plugins_ifcfg_rh_libnmdbus_ifcfg_rh_la_SOURCES)
+@CONFIG_PLUGIN_IFCFG_RH_TRUE@am__append_27 = check-local-symbols-settings-ifcfg-rh
 
 ###############################################################################
 # src/core/settings/plugins/ifcfg-rh/tests
 ###############################################################################
-@CONFIG_PLUGIN_IFCFG_RH_TRUE@am__append_27 = src/core/settings/plugins/ifcfg-rh/tests/test-ifcfg-rh
-@CONFIG_PLUGIN_IFCFG_RH_TRUE@am__append_28 = \
+@CONFIG_PLUGIN_IFCFG_RH_TRUE@am__append_28 = src/core/settings/plugins/ifcfg-rh/tests/test-ifcfg-rh
+@CONFIG_PLUGIN_IFCFG_RH_TRUE@am__append_29 = \
 @CONFIG_PLUGIN_IFCFG_RH_TRUE@	src/core/settings/plugins/ifcfg-rh/nm-ifup \
 @CONFIG_PLUGIN_IFCFG_RH_TRUE@	src/core/settings/plugins/ifcfg-rh/nm-ifdown
 
-@CONFIG_PLUGIN_IFCFG_RH_TRUE@am__append_29 = install-data-hook-ifcfg-rh
+@CONFIG_PLUGIN_IFCFG_RH_TRUE@am__append_30 = install-data-hook-ifcfg-rh
 
 ###############################################################################
-@CONFIG_PLUGIN_IFCFG_RH_TRUE@am__append_30 = src/core/settings/plugins/ifcfg-rh/nm-ifcfg-rh.conf
+@CONFIG_PLUGIN_IFCFG_RH_TRUE@am__append_31 = src/core/settings/plugins/ifcfg-rh/nm-ifcfg-rh.conf
 
 ###############################################################################
 # src/core/settings/plugins/ifupdown
 ###############################################################################
-@CONFIG_PLUGIN_IFUPDOWN_TRUE@am__append_31 = src/core/settings/plugins/ifupdown/libnm-settings-plugin-ifupdown.la
-@CONFIG_PLUGIN_IFUPDOWN_TRUE@am__append_32 = src/core/settings/plugins/ifupdown/libnms-ifupdown-core.la
-@CONFIG_PLUGIN_IFUPDOWN_TRUE@am__append_33 = check-local-symbols-settings-ifupdown
+@CONFIG_PLUGIN_IFUPDOWN_TRUE@am__append_32 = src/core/settings/plugins/ifupdown/libnm-settings-plugin-ifupdown.la
+@CONFIG_PLUGIN_IFUPDOWN_TRUE@am__append_33 = src/core/settings/plugins/ifupdown/libnms-ifupdown-core.la
+@CONFIG_PLUGIN_IFUPDOWN_TRUE@am__append_34 = check-local-symbols-settings-ifupdown
 
 ###############################################################################
-@CONFIG_PLUGIN_IFUPDOWN_TRUE@am__append_34 = src/core/settings/plugins/ifupdown/tests/test-ifupdown
+@CONFIG_PLUGIN_IFUPDOWN_TRUE@am__append_35 = src/core/settings/plugins/ifupdown/tests/test-ifupdown
 
 ###############################################################################
-@WITH_MODEM_MANAGER_1_TRUE@am__append_35 = src/core/devices/wwan/libnm-wwan.la \
+@WITH_MODEM_MANAGER_1_TRUE@am__append_36 = src/core/devices/wwan/libnm-wwan.la \
 @WITH_MODEM_MANAGER_1_TRUE@	src/core/devices/wwan/libnm-device-plugin-wwan.la \
 @WITH_MODEM_MANAGER_1_TRUE@	src/core/devices/bluetooth/libnm-device-plugin-bluetooth.la
-@WITH_MODEM_MANAGER_1_TRUE@@WITH_OFONO_TRUE@am__append_36 = \
+@WITH_MODEM_MANAGER_1_TRUE@@WITH_OFONO_TRUE@am__append_37 = \
 @WITH_MODEM_MANAGER_1_TRUE@@WITH_OFONO_TRUE@	src/core/devices/wwan/nm-modem-ofono.c \
 @WITH_MODEM_MANAGER_1_TRUE@@WITH_OFONO_TRUE@	src/core/devices/wwan/nm-modem-ofono.h
 
-@WITH_MODEM_MANAGER_1_TRUE@am__append_37 = check-local-devices-wwan \
+@WITH_MODEM_MANAGER_1_TRUE@am__append_38 = check-local-devices-wwan \
 @WITH_MODEM_MANAGER_1_TRUE@	check-local-devices-bluetooth
-@WITH_MODEM_MANAGER_1_TRUE@am__append_38 = src/core/devices/wwan/tests/test-service-providers
+@WITH_MODEM_MANAGER_1_TRUE@am__append_39 = src/core/devices/wwan/tests/test-service-providers
 
 ###############################################################################
 # src/core/devices/bluetooth
 ###############################################################################
-@WITH_MODEM_MANAGER_1_TRUE@am__append_39 = src/core/devices/bluetooth/libnm-bluetooth-utils.la
-@WITH_BLUEZ5_DUN_TRUE@@WITH_MODEM_MANAGER_1_TRUE@am__append_40 = \
+@WITH_MODEM_MANAGER_1_TRUE@am__append_40 = src/core/devices/bluetooth/libnm-bluetooth-utils.la
+@WITH_BLUEZ5_DUN_TRUE@@WITH_MODEM_MANAGER_1_TRUE@am__append_41 = \
 @WITH_BLUEZ5_DUN_TRUE@@WITH_MODEM_MANAGER_1_TRUE@	src/core/devices/bluetooth/nm-bluez5-dun.c \
 @WITH_BLUEZ5_DUN_TRUE@@WITH_MODEM_MANAGER_1_TRUE@	src/core/devices/bluetooth/nm-bluez5-dun.h \
 @WITH_BLUEZ5_DUN_TRUE@@WITH_MODEM_MANAGER_1_TRUE@	$(NULL)
 
-@WITH_BLUEZ5_DUN_TRUE@@WITH_MODEM_MANAGER_1_TRUE@am__append_41 = $(BLUEZ5_CFLAGS)
-@WITH_BLUEZ5_DUN_TRUE@@WITH_MODEM_MANAGER_1_TRUE@am__append_42 = $(BLUEZ5_LIBS)
+@WITH_BLUEZ5_DUN_TRUE@@WITH_MODEM_MANAGER_1_TRUE@am__append_42 = $(BLUEZ5_CFLAGS)
+@WITH_BLUEZ5_DUN_TRUE@@WITH_MODEM_MANAGER_1_TRUE@am__append_43 = $(BLUEZ5_LIBS)
 
 ###############################################################################
-@WITH_MODEM_MANAGER_1_TRUE@am__append_43 = \
+@WITH_MODEM_MANAGER_1_TRUE@am__append_44 = \
 @WITH_MODEM_MANAGER_1_TRUE@	src/core/devices/bluetooth/tests/nm-bt-test
 
 
 ###############################################################################
 # src/core/devices/wifi
 ###############################################################################
-@WITH_WIFI_TRUE@am__append_44 = src/core/devices/wifi/libnm-wifi-base.la
-@WITH_IWD_TRUE@@WITH_WIFI_TRUE@am__append_45 = \
+@WITH_WIFI_TRUE@am__append_45 = src/core/devices/wifi/libnm-wifi-base.la
+@WITH_IWD_TRUE@@WITH_WIFI_TRUE@am__append_46 = \
 @WITH_IWD_TRUE@@WITH_WIFI_TRUE@	src/core/devices/wifi/nm-device-iwd.c \
 @WITH_IWD_TRUE@@WITH_WIFI_TRUE@	src/core/devices/wifi/nm-device-iwd.h \
 @WITH_IWD_TRUE@@WITH_WIFI_TRUE@	src/core/devices/wifi/nm-device-iwd-p2p.c \
@@ -264,52 +265,52 @@ TESTS = $(am__EXEEXT_11)
 @WITH_IWD_TRUE@@WITH_WIFI_TRUE@	src/core/devices/wifi/nm-iwd-manager.h \
 @WITH_IWD_TRUE@@WITH_WIFI_TRUE@	$(NULL)
 
-@WITH_WIFI_TRUE@am__append_46 = src/core/devices/wifi/libnm-device-plugin-wifi.la
-@WITH_WIFI_TRUE@am__append_47 = check-local-devices-wifi
-@WITH_WIFI_TRUE@am__append_48 = src/core/devices/wifi/tests/test-devices-wifi
+@WITH_WIFI_TRUE@am__append_47 = src/core/devices/wifi/libnm-device-plugin-wifi.la
+@WITH_WIFI_TRUE@am__append_48 = check-local-devices-wifi
+@WITH_WIFI_TRUE@am__append_49 = src/core/devices/wifi/tests/test-devices-wifi
 
 ###############################################################################
 # src/core/devices/team
 ###############################################################################
-@WITH_TEAMDCTL_TRUE@am__append_49 = src/core/devices/team/libnm-device-plugin-team.la
-@WITH_TEAMDCTL_TRUE@am__append_50 = check-local-devices-team
-@WITH_OPENVSWITCH_TRUE@am__append_51 = src/core/devices/ovs/libnm-device-plugin-ovs.la
-@WITH_OPENVSWITCH_TRUE@am__append_52 = check-local-devices-ovs
-@BUILD_DOCS_TRUE@am__append_53 = $(libnmc_setting_settings_doc_h)
-@BUILD_DOCS_TRUE@am__append_54 = check-local-settings-docs
+@WITH_TEAMDCTL_TRUE@am__append_50 = src/core/devices/team/libnm-device-plugin-team.la
+@WITH_TEAMDCTL_TRUE@am__append_51 = check-local-devices-team
+@WITH_OPENVSWITCH_TRUE@am__append_52 = src/core/devices/ovs/libnm-device-plugin-ovs.la
+@WITH_OPENVSWITCH_TRUE@am__append_53 = check-local-devices-ovs
+@BUILD_DOCS_TRUE@am__append_54 = $(libnmc_setting_settings_doc_h)
+@BUILD_DOCS_TRUE@am__append_55 = check-local-settings-docs
 
 ###############################################################################
 # src/nmcli
 ###############################################################################
-@BUILD_NMCLI_TRUE@am__append_55 = src/nmcli/nmcli
-@BUILD_NMCLI_TRUE@am__append_56 = install-data-hook-nmcli
-@BUILD_NMCLI_TRUE@am__append_57 = uninstall-hook-nmcli
+@BUILD_NMCLI_TRUE@am__append_56 = src/nmcli/nmcli
+@BUILD_NMCLI_TRUE@am__append_57 = install-data-hook-nmcli
+@BUILD_NMCLI_TRUE@am__append_58 = uninstall-hook-nmcli
 
 ###############################################################################
 # src/libnmt-newt
 ###############################################################################
-@BUILD_NMTUI_TRUE@am__append_58 = src/libnmt-newt/libnmt-newt.a
+@BUILD_NMTUI_TRUE@am__append_59 = src/libnmt-newt/libnmt-newt.a
 
 ###############################################################################
 # src/nmtui
 ###############################################################################
-@BUILD_NMTUI_TRUE@am__append_59 = src/nmtui/nmtui
-@BUILD_NMTUI_TRUE@am__append_60 = install-exec-hook-nmtui
-@BUILD_NMTUI_TRUE@am__append_61 = uninstall-hook-nmtui
+@BUILD_NMTUI_TRUE@am__append_60 = src/nmtui/nmtui
+@BUILD_NMTUI_TRUE@am__append_61 = install-exec-hook-nmtui
+@BUILD_NMTUI_TRUE@am__append_62 = uninstall-hook-nmtui
 
 ###############################################################################
 # src/nm-cloud-setup
 ###############################################################################
-@BUILD_NM_CLOUD_SETUP_TRUE@am__append_62 = src/nm-cloud-setup/libnm-cloud-setup-core.a
-@BUILD_NM_CLOUD_SETUP_TRUE@am__append_63 = src/nm-cloud-setup/nm-cloud-setup
-@BUILD_NM_CLOUD_SETUP_TRUE@@HAVE_SYSTEMD_TRUE@am__append_64 = \
+@BUILD_NM_CLOUD_SETUP_TRUE@am__append_63 = src/nm-cloud-setup/libnm-cloud-setup-core.a
+@BUILD_NM_CLOUD_SETUP_TRUE@am__append_64 = src/nm-cloud-setup/nm-cloud-setup
+@BUILD_NM_CLOUD_SETUP_TRUE@@HAVE_SYSTEMD_TRUE@am__append_65 = \
 @BUILD_NM_CLOUD_SETUP_TRUE@@HAVE_SYSTEMD_TRUE@	src/nm-cloud-setup/nm-cloud-setup.service \
 @BUILD_NM_CLOUD_SETUP_TRUE@@HAVE_SYSTEMD_TRUE@	src/nm-cloud-setup/nm-cloud-setup.timer \
 @BUILD_NM_CLOUD_SETUP_TRUE@@HAVE_SYSTEMD_TRUE@	$(NULL)
 
-@BUILD_NM_CLOUD_SETUP_TRUE@@HAVE_SYSTEMD_TRUE@am__append_65 = install-data-hook-cloud-setup
-@BUILD_NM_CLOUD_SETUP_TRUE@@HAVE_SYSTEMD_TRUE@am__append_66 = uninstall-hook-cloud-setup
-@BUILD_NM_CLOUD_SETUP_TRUE@am__append_67 = \
+@BUILD_NM_CLOUD_SETUP_TRUE@@HAVE_SYSTEMD_TRUE@am__append_66 = install-data-hook-cloud-setup
+@BUILD_NM_CLOUD_SETUP_TRUE@@HAVE_SYSTEMD_TRUE@am__append_67 = uninstall-hook-cloud-setup
+@BUILD_NM_CLOUD_SETUP_TRUE@am__append_68 = \
 @BUILD_NM_CLOUD_SETUP_TRUE@	src/nm-cloud-setup/90-nm-cloud-setup.sh \
 @BUILD_NM_CLOUD_SETUP_TRUE@	src/nm-cloud-setup/meson.build \
 @BUILD_NM_CLOUD_SETUP_TRUE@	src/nm-cloud-setup/nm-cloud-setup.service.in \
@@ -317,60 +318,60 @@ TESTS = $(am__EXEEXT_11)
 @BUILD_NM_CLOUD_SETUP_TRUE@	src/nm-cloud-setup/tests/meson.build \
 @BUILD_NM_CLOUD_SETUP_TRUE@	$(NULL)
 
-@BUILD_NM_CLOUD_SETUP_TRUE@am__append_68 = \
+@BUILD_NM_CLOUD_SETUP_TRUE@am__append_69 = \
 @BUILD_NM_CLOUD_SETUP_TRUE@	src/nm-cloud-setup/nm-cloud-setup.service
 
-@BUILD_NM_CLOUD_SETUP_TRUE@am__append_69 = src/nm-cloud-setup/tests/test-cloud-setup-general
+@BUILD_NM_CLOUD_SETUP_TRUE@am__append_70 = src/nm-cloud-setup/tests/test-cloud-setup-general
 
 ###############################################################################
 # data
 ###############################################################################
-@HAVE_SYSTEMD_TRUE@am__append_70 = \
+@HAVE_SYSTEMD_TRUE@am__append_71 = \
 @HAVE_SYSTEMD_TRUE@	data/NetworkManager.service \
 @HAVE_SYSTEMD_TRUE@	data/NetworkManager-wait-online.service \
 @HAVE_SYSTEMD_TRUE@	data/NetworkManager-dispatcher.service \
 @HAVE_SYSTEMD_TRUE@	data/nm-priv-helper.service \
 @HAVE_SYSTEMD_TRUE@	$(NULL)
 
-@HAVE_INTROSPECTION_TRUE@am__append_71 = $(man_nm_settings_xml)
-@CONFIG_PLUGIN_IFCFG_RH_TRUE@am__append_72 = man/nm-settings-ifcfg-rh.5
-@CONFIG_PLUGIN_IFCFG_RH_FALSE@am__append_73 = man/nm-settings-ifcfg-rh.5
+@HAVE_INTROSPECTION_TRUE@am__append_72 = $(man_nm_settings_xml)
+@CONFIG_PLUGIN_IFCFG_RH_TRUE@am__append_73 = man/nm-settings-ifcfg-rh.5
 @CONFIG_PLUGIN_IFCFG_RH_FALSE@am__append_74 = man/nm-settings-ifcfg-rh.5
-@WITH_OPENVSWITCH_TRUE@am__append_75 = man/nm-openvswitch.7
-@WITH_OPENVSWITCH_FALSE@am__append_76 = man/nm-openvswitch.7
+@CONFIG_PLUGIN_IFCFG_RH_FALSE@am__append_75 = man/nm-settings-ifcfg-rh.5
+@WITH_OPENVSWITCH_TRUE@am__append_76 = man/nm-openvswitch.7
 @WITH_OPENVSWITCH_FALSE@am__append_77 = man/nm-openvswitch.7
-@BUILD_NM_CLOUD_SETUP_TRUE@am__append_78 = man/nm-cloud-setup.8
-@BUILD_NM_CLOUD_SETUP_FALSE@am__append_79 = man/nm-cloud-setup.8
+@WITH_OPENVSWITCH_FALSE@am__append_78 = man/nm-openvswitch.7
+@BUILD_NM_CLOUD_SETUP_TRUE@am__append_79 = man/nm-cloud-setup.8
 @BUILD_NM_CLOUD_SETUP_FALSE@am__append_80 = man/nm-cloud-setup.8
-@HAVE_DOCS_TRUE@am__append_81 = install-data-hook-man
-@HAVE_DOCS_TRUE@am__append_82 = uninstall-hook-man
-@HAVE_DOCS_TRUE@am__append_83 = $(man_pages) $(man_pages_autogen)
-@BUILD_DOCS_TRUE@am__append_84 = $(man_pages) $(man_pages_autogen)
+@BUILD_NM_CLOUD_SETUP_FALSE@am__append_81 = man/nm-cloud-setup.8
+@HAVE_DOCS_TRUE@am__append_82 = install-data-hook-man
+@HAVE_DOCS_TRUE@am__append_83 = uninstall-hook-man
+@HAVE_DOCS_TRUE@am__append_84 = $(man_pages) $(man_pages_autogen)
+@BUILD_DOCS_TRUE@am__append_85 = $(man_pages) $(man_pages_autogen)
 
 ###############################################################################
 # vapi
 ###############################################################################
-@ENABLE_VAPIGEN_TRUE@am__append_85 = \
+@ENABLE_VAPIGEN_TRUE@am__append_86 = \
 @ENABLE_VAPIGEN_TRUE@	vapi/libnm.vapi
 
-@ENABLE_VAPIGEN_TRUE@am__append_86 = \
+@ENABLE_VAPIGEN_TRUE@am__append_87 = \
 @ENABLE_VAPIGEN_TRUE@	$(VAPIGEN_VAPIS) \
 @ENABLE_VAPIGEN_TRUE@	$(VAPIGEN_VAPIS:.vapi=.deps)
 
-@ENABLE_VAPIGEN_TRUE@am__append_87 = $(VAPIGEN_VAPIS)
+@ENABLE_VAPIGEN_TRUE@am__append_88 = $(VAPIGEN_VAPIS)
 
 ###############################################################################
-@ENABLE_TESTS_TRUE@am__append_88 = $(check_programs) $(check_programs_norun)
-@ENABLE_TESTS_TRUE@am__append_89 = $(check_ltlibraries)
-@ENABLE_TESTS_FALSE@am__append_90 = $(check_programs) $(check_programs_norun)
-@ENABLE_TESTS_FALSE@am__append_91 = $(check_ltlibraries)
-@WITH_QT_TRUE@am__append_92 = \
+@ENABLE_TESTS_TRUE@am__append_89 = $(check_programs) $(check_programs_norun)
+@ENABLE_TESTS_TRUE@am__append_90 = $(check_ltlibraries)
+@ENABLE_TESTS_FALSE@am__append_91 = $(check_programs) $(check_programs_norun)
+@ENABLE_TESTS_FALSE@am__append_92 = $(check_ltlibraries)
+@WITH_QT_TRUE@am__append_93 = \
 @WITH_QT_TRUE@	examples/C/qt/add-connection-wired \
 @WITH_QT_TRUE@	examples/C/qt/list-connections \
 @WITH_QT_TRUE@	examples/C/qt/change-ipv4-addresses \
 @WITH_QT_TRUE@	examples/C/qt/monitor-nm-running
 
-@WITH_QT_TRUE@am__append_93 = \
+@WITH_QT_TRUE@am__append_94 = \
 @WITH_QT_TRUE@	examples/C/qt/monitor-nm-running.moc
 
 subdir = .
@@ -4225,13 +4226,13 @@ noinst_LTLIBRARIES = src/c-siphash/libc-siphash.la \
 	src/core/libNetworkManager.la \
 	src/libnm-systemd-core/libnm-systemd-core.la $(NULL) \
 	src/libnm-systemd-shared/libnm-systemd-shared.la \
-	src/nm-initrd-generator/libnmi-core.la $(am__append_24) \
-	$(am__append_32) $(am__append_39) $(am__append_44) \
-	src/nm-dispatcher/libnm-dispatcher-core.la $(am__append_89)
-check_LTLIBRARIES = $(am__append_91)
-noinst_LIBRARIES = $(am__append_58) $(am__append_62)
+	src/nm-initrd-generator/libnmi-core.la $(am__append_25) \
+	$(am__append_33) $(am__append_40) $(am__append_45) \
+	src/nm-dispatcher/libnm-dispatcher-core.la $(am__append_90)
+check_LTLIBRARIES = $(am__append_92)
+noinst_LIBRARIES = $(am__append_59) $(am__append_63)
 noinst_DATA = $(am__append_13)
-dist_libexec_SCRIPTS = $(am__append_28)
+dist_libexec_SCRIPTS = $(am__append_29)
 
 ###############################################################################
 lib_LTLIBRARIES = src/libnm-client-impl/libnm.la
@@ -4240,31 +4241,31 @@ plugin_LTLIBRARIES = $(core_plugins)
 ###############################################################################
 # src/core/devices/adsl
 ###############################################################################
-core_plugins = $(am__append_21) $(am__append_23) $(am__append_31) \
+core_plugins = $(am__append_22) $(am__append_24) $(am__append_32) \
 	src/core/devices/adsl/libnm-device-plugin-adsl.la \
-	$(am__append_35) $(am__append_46) $(am__append_49) \
-	$(am__append_51)
+	$(am__append_36) $(am__append_47) $(am__append_50) \
+	$(am__append_52)
 service_DATA = 
-man_MANS = $(am__append_83)
+man_MANS = $(am__append_84)
 examples_DATA = data/server.conf
 CLEANFILES = $(introspection_sources) $(DBUS_INTERFACE_DOCS) \
-	src/core/NetworkManager.ver $(am__append_25) \
+	src/core/NetworkManager.ver $(am__append_26) \
 	$(dispatcher_nmdbus_dispatcher_sources) \
 	src/nm-dispatcher/org.freedesktop.nm_dispatcher.service \
 	src/nm-priv-helper/org.freedesktop.nm_priv_helper.service \
-	$(am__append_68) src/tests/client/test-client.log \
+	$(am__append_69) src/tests/client/test-client.log \
 	data/NetworkManager-dispatcher.service \
 	data/NetworkManager-wait-online.service \
 	data/NetworkManager.service data/nm-priv-helper.service \
-	data/server.conf $(NULL) $(am__append_71) man/common.ent \
-	$(am__append_84) $(am__append_87) $(GLIB_GENERATED) \
+	data/server.conf $(NULL) $(am__append_72) man/common.ent \
+	$(am__append_85) $(am__append_88) $(GLIB_GENERATED) \
 	$(INTROSPECTION_GIRS) $(typelib_DATA) cscope.in.out cscope.out \
-	cscope.po.out $(NULL) $(am__append_93)
+	cscope.po.out $(NULL) $(am__append_94)
 
 ###############################################################################
-DISTCLEANFILES = config-extra.h $(polkit_policy_DATA) \
-	src/libnm-client-impl/libnm.pc $(am__append_16) \
-	$(am__append_17) $(am__append_53)
+DISTCLEANFILES = config-extra.h po/.Makefile.patched \
+	$(polkit_policy_DATA) src/libnm-client-impl/libnm.pc \
+	$(am__append_16) $(am__append_17) $(am__append_54)
 
 ###############################################################################
 
@@ -4351,6 +4352,7 @@ EXTRA_DIST = src/c-stdaux/src/c-stdaux.h $(NULL) \
 	tools/generate-docs-nm-settings-docs-gir.py \
 	src/libnm-client-impl/meson.build $(NULL) \
 	src/libnm-client-impl/tests/meson.build \
+	src/libnm-client-impl/tests/test-gir.py \
 	src/contrib/meson.build src/contrib/tests/meson.build $(NULL) \
 	src/libnm-systemd-shared/meson.build \
 	src/libnm-systemd-core/meson.build \
@@ -4667,6 +4669,7 @@ EXTRA_DIST = src/c-stdaux/src/c-stdaux.h $(NULL) \
 	src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-ibft \
 	src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-infiniband \
 	src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-ip6-disabled.cexpected \
+	src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-ipoib \
 	src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-link_local \
 	src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-minimal \
 	src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-misc-variables \
@@ -4793,6 +4796,10 @@ EXTRA_DIST = src/c-stdaux/src/c-stdaux.h $(NULL) \
 	src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test_roundtrip_ethtool-3.cexpected \
 	src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test_roundtrip_ethtool-4.cexpected \
 	src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test_roundtrip_ethtool-5.cexpected \
+	src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test_roundtrip_ethtool-6.cexpected \
+	src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test_roundtrip_ethtool-7.cexpected \
+	src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test_roundtrip_ethtool-8.cexpected \
+	src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test_roundtrip_ethtool-9.cexpected \
 	src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test_write_wired_auto_negotiate_on.cexpected \
 	src/core/settings/plugins/ifcfg-rh/tests/network-scripts/keys-test-wifi-dynamic-wep-leap \
 	src/core/settings/plugins/ifcfg-rh/tests/network-scripts/keys-test-wifi-leap \
@@ -4910,7 +4917,7 @@ EXTRA_DIST = src/c-stdaux/src/c-stdaux.h $(NULL) \
 	src/libnmc-setting/meson.build \
 	src/libnmc-setting/tests/meson.build \
 	src/libnmt-newt/meson.build src/nmtui/meson.build \
-	$(am__append_67) src/tests/client/test-client.sh \
+	$(am__append_68) src/tests/client/test-client.sh \
 	src/tests/client/test-client.py \
 	src/tests/client/test-client.check-on-disk/test_001.expected \
 	src/tests/client/test-client.check-on-disk/test_002.expected \
@@ -4924,7 +4931,7 @@ EXTRA_DIST = src/c-stdaux/src/c-stdaux.h $(NULL) \
 	data/NetworkManager-wait-online.service.in \
 	data/NetworkManager.service.in data/nm-priv-helper.service.in \
 	data/meson.build data/nm-shared.xml data/server.conf.in \
-	$(NULL) $(am__append_73) $(am__append_76) $(am__append_79) \
+	$(NULL) $(am__append_74) $(am__append_77) $(am__append_80) \
 	man/common.ent.in $(man_nm_settings_xml) $(addsuffix \
 	.xsl,$(basename $(man_nm_settings_xml))) $(man_pages) \
 	$(addsuffix .xml,$(basename $(man_pages))) \
@@ -5016,16 +5023,16 @@ EXTRA_DIST = src/c-stdaux/src/c-stdaux.h $(NULL) \
 EXTRA_LTLIBRARIES = 
 dist_hook = dist-hook-settings-ifcfg-rh-alias-files
 dist_dependencies = src/libnm-core-public/nm-vpn-dbus-types.xml \
-	src/libnm-core-public/nm-dbus-types.xml $(am__append_74) \
-	$(am__append_77) $(am__append_80) $(man_pages) \
+	src/libnm-core-public/nm-dbus-types.xml $(am__append_75) \
+	$(am__append_78) $(am__append_81) $(man_pages) \
 	$(man_pages_autogen)
 dist_configure_check = $(am__append_2)
-install_data_hook = install-data-hook-dirs $(am__append_29) \
-	install-data-hook-dispatcher $(am__append_56) $(am__append_65) \
-	$(am__append_81)
-install_exec_hook = $(am__append_60)
-uninstall_hook = $(am__append_57) $(am__append_61) $(am__append_66) \
+install_data_hook = install-data-hook-dirs $(am__append_30) \
+	install-data-hook-dispatcher $(am__append_57) $(am__append_66) \
 	$(am__append_82)
+install_exec_hook = $(am__append_61)
+uninstall_hook = $(am__append_58) $(am__append_62) $(am__append_67) \
+	$(am__append_83)
 BUILT_SOURCES = src/libnm-core-public/nm-vpn-dbus-types.xml \
 	src/libnm-core-public/nm-dbus-types.xml $(gir_DATA) \
 	$(typelib_DATA)
@@ -5039,9 +5046,9 @@ man_pages = man/NetworkManager-dispatcher.8 \
 	man/NetworkManager-wait-online.service.8 man/NetworkManager.8 \
 	man/NetworkManager.conf.5 man/nm-initrd-generator.8 \
 	man/nm-online.1 man/nmcli-examples.7 man/nmcli.1 man/nmtui.1 \
-	$(NULL) $(am__append_75) $(am__append_78)
+	$(NULL) $(am__append_76) $(am__append_79)
 man_pages_autogen = man/nm-settings-dbus.5 man/nm-settings-keyfile.5 \
-	man/nm-settings-nmcli.5 $(NULL) $(am__append_72)
+	man/nm-settings-nmcli.5 $(NULL) $(am__append_73)
 
 ###############################################################################
 
@@ -5089,8 +5096,8 @@ check_programs = src/libnm-platform/tests/test-nm-platform \
 	src/core/dhcp/tests/test-dhcp-dhclient \
 	src/core/dhcp/tests/test-dhcp-utils \
 	src/core/settings/plugins/keyfile/tests/test-keyfile-settings \
-	$(am__append_27) $(am__append_34) $(am__append_38) \
-	$(am__append_48) src/core/dnsmasq/tests/test-dnsmasq-utils \
+	$(am__append_28) $(am__append_35) $(am__append_39) \
+	$(am__append_49) src/core/dnsmasq/tests/test-dnsmasq-utils \
 	src/core/platform/tests/test-address-fake \
 	src/core/platform/tests/test-address-linux \
 	src/core/platform/tests/test-cleanup-fake \
@@ -5110,8 +5117,8 @@ check_programs = src/libnm-platform/tests/test-nm-platform \
 	src/core/tests/test-l3cfg src/core/tests/test-systemd \
 	src/core/tests/test-utils src/core/tests/test-wired-defname \
 	$(NULL) src/nm-dispatcher/tests/test-dispatcher-envp \
-	src/libnmc-setting/tests/test-libnmc-setting $(am__append_69)
-check_programs_norun = $(am__append_19) $(am__append_43) \
+	src/libnmc-setting/tests/test-libnmc-setting $(am__append_70)
+check_programs_norun = $(am__append_20) $(am__append_44) \
 	src/core/platform/tests/monitor \
 	src/core/ndisc/tests/test-ndisc-linux \
 	examples/C/glib/add-connection-gdbus \
@@ -5122,7 +5129,7 @@ check_programs_norun = $(am__append_19) $(am__append_43) \
 	examples/C/glib/list-connections-libnm \
 	examples/C/glib/monitor-nm-running-gdbus \
 	examples/C/glib/monitor-nm-state-gdbus \
-	examples/C/glib/vpn-import-libnm $(NULL) $(am__append_92)
+	examples/C/glib/vpn-import-libnm $(NULL) $(am__append_93)
 
 ###############################################################################
 
@@ -5136,20 +5143,20 @@ check_ltlibraries = $(am__append_7) $(am__append_8) $(am__append_9) \
 	src/libnmc-base/libnmc-base.la \
 	src/libnmc-setting/libnmc-setting.la
 check_local = check-docs check-local-exports-libnm $(am__append_15) \
-	check-config-options $(am__append_26) $(am__append_33) \
-	check-local-devices-adsl $(am__append_37) $(am__append_47) \
-	$(am__append_50) $(am__append_52) $(am__append_54) \
-	check-local-tests-client check-local-gitlab-ci check-tree \
-	check-po-msgfmt
-VAPIGEN_VAPIS = $(am__append_85)
-dbusservice_DATA = $(am__append_30) \
+	$(am__append_19) check-config-options $(am__append_27) \
+	$(am__append_34) check-local-devices-adsl $(am__append_38) \
+	$(am__append_48) $(am__append_51) $(am__append_53) \
+	$(am__append_55) check-local-tests-client \
+	check-local-gitlab-ci check-tree check-po-msgfmt
+VAPIGEN_VAPIS = $(am__append_86)
+dbusservice_DATA = $(am__append_31) \
 	src/nm-dispatcher/nm-dispatcher.conf \
 	src/nm-priv-helper/nm-priv-helper.conf \
 	src/core/org.freedesktop.NetworkManager.conf
 dbusactivation_DATA =  \
 	src/nm-dispatcher/org.freedesktop.nm_dispatcher.service \
 	src/nm-priv-helper/org.freedesktop.nm_priv_helper.service
-systemdsystemunit_DATA = $(am__append_64) $(am__append_70)
+systemdsystemunit_DATA = $(am__append_65) $(am__append_71)
 INTROSPECTION_GIRS = $(am__append_12)
 INTROSPECTION_SCANNER_ARGS = 
 INTROSPECTION_COMPILER_ARGS = 
@@ -5164,9 +5171,9 @@ nodist_libnminclude_HEADERS = $(src_libnm_core_public_mkenums_h) \
 pkgconfigdir = $(libdir)/pkgconfig
 pkgconfig_DATA = src/libnm-client-impl/libnm.pc
 pppd_plugindir = $(PPPD_PLUGIN_DIR)
-pppd_plugin_LTLIBRARIES = $(am__append_22)
+pppd_plugin_LTLIBRARIES = $(am__append_23)
 vapidir = $(datadir)/vala/vapi
-vapi_DATA = $(am__append_86)
+vapi_DATA = $(am__append_87)
 examplesdir = $(docdir)/examples
 rundir = $(runstatedir)/NetworkManager
 statedir = $(localstatedir)/lib/NetworkManager
@@ -6640,7 +6647,7 @@ src_core_cppflags = \
 	\
 	$(NULL)
 
-src_core_cppflags_test = $(src_core_cppflags) $(NULL) $(am__append_20)
+src_core_cppflags_test = $(src_core_cppflags) $(NULL) $(am__append_21)
 src_core_ldflags = $(CODE_COVERAGE_LDFLAGS)
 
 ###############################################################################
@@ -7531,7 +7538,7 @@ src_core_devices_adsl_libnm_device_plugin_adsl_la_LIBADD = \
 @WITH_MODEM_MANAGER_1_TRUE@	src/core/devices/wwan/nm-modem.h \
 @WITH_MODEM_MANAGER_1_TRUE@	src/core/devices/wwan/nm-service-providers.c \
 @WITH_MODEM_MANAGER_1_TRUE@	src/core/devices/wwan/nm-service-providers.h \
-@WITH_MODEM_MANAGER_1_TRUE@	$(NULL) $(am__append_36)
+@WITH_MODEM_MANAGER_1_TRUE@	$(NULL) $(am__append_37)
 @WITH_MODEM_MANAGER_1_TRUE@src_core_devices_wwan_libnm_wwan_la_CPPFLAGS = $(src_core_devices_wwan_cppflags)
 @WITH_MODEM_MANAGER_1_TRUE@src_core_devices_wwan_libnm_wwan_la_LDFLAGS = \
 @WITH_MODEM_MANAGER_1_TRUE@	-avoid-version \
@@ -7582,13 +7589,13 @@ src_core_devices_adsl_libnm_device_plugin_adsl_la_LIBADD = \
 @WITH_MODEM_MANAGER_1_TRUE@src_core_devices_bluetooth_libnm_bluetooth_utils_la_SOURCES = src/core/devices/bluetooth/nm-bluez-common.h \
 @WITH_MODEM_MANAGER_1_TRUE@	src/core/devices/bluetooth/nm-bt-error.c \
 @WITH_MODEM_MANAGER_1_TRUE@	src/core/devices/bluetooth/nm-bt-error.h \
-@WITH_MODEM_MANAGER_1_TRUE@	$(NULL) $(am__append_40)
+@WITH_MODEM_MANAGER_1_TRUE@	$(NULL) $(am__append_41)
 @WITH_MODEM_MANAGER_1_TRUE@src_core_devices_bluetooth_libnm_bluetooth_utils_la_CPPFLAGS =  \
 @WITH_MODEM_MANAGER_1_TRUE@	$(src_core_cppflags_base) $(NULL) \
-@WITH_MODEM_MANAGER_1_TRUE@	$(am__append_41)
+@WITH_MODEM_MANAGER_1_TRUE@	$(am__append_42)
 @WITH_MODEM_MANAGER_1_TRUE@src_core_devices_bluetooth_libnm_bluetooth_utils_la_LIBADD =  \
 @WITH_MODEM_MANAGER_1_TRUE@	$(GLIB_LIBS) $(NULL) \
-@WITH_MODEM_MANAGER_1_TRUE@	$(am__append_42)
+@WITH_MODEM_MANAGER_1_TRUE@	$(am__append_43)
 @WITH_MODEM_MANAGER_1_TRUE@src_core_devices_bluetooth_libnm_device_plugin_bluetooth_la_SOURCES = \
 @WITH_MODEM_MANAGER_1_TRUE@	src/core/devices/bluetooth/nm-bluez-manager.c \
 @WITH_MODEM_MANAGER_1_TRUE@	src/core/devices/bluetooth/nm-bluez-manager.h \
@@ -7636,7 +7643,7 @@ src_core_devices_adsl_libnm_device_plugin_adsl_la_LIBADD = \
 @WITH_WIFI_TRUE@	src/core/devices/wifi/nm-wifi-p2p-peer.h \
 @WITH_WIFI_TRUE@	src/core/devices/wifi/nm-wifi-utils.c \
 @WITH_WIFI_TRUE@	src/core/devices/wifi/nm-wifi-utils.h $(NULL) \
-@WITH_WIFI_TRUE@	$(am__append_45)
+@WITH_WIFI_TRUE@	$(am__append_46)
 @WITH_WIFI_TRUE@src_core_devices_wifi_libnm_wifi_base_la_CPPFLAGS = $(src_core_cppflags_device_plugin)
 @WITH_WIFI_TRUE@src_core_devices_wifi_libnm_wifi_base_la_LIBADD = \
 @WITH_WIFI_TRUE@	$(GLIB_LIBS)
@@ -21043,6 +21050,21 @@ dist-configure-check:
 	@echo "*** 'make dist' requires '--enable-gtk-doc --enable-introspection'. ***"
 	@false
 
+# Gettext's Makefile has a race with parallel builds during dist.
+# Hack around that.
+# See also:
+#   https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/1094#note_1435313
+#   https://lists.gnu.org/archive/html/bug-gettext/2022-06/msg00022.html
+#   https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/1405
+po/.Makefile.patched:
+	sed -i \
+	    -e 's#^dist2: \$$(srcdir)/stamp-po \$$(DISTFILES)#dist2: \$$(srcdir)/stamp-po\n\t\$$(MAKE) \$$(DISTFILES)#' \
+	    -e 's#^dist2: stamp-po \$$(DISTFILES)#dist2: stamp-po\n\t\$$(MAKE) \$$(DISTFILES)#' \
+	    "$(builddir)/po/Makefile" && \
+	touch "$(builddir)/po/.Makefile.patched"
+
+dist: po/.Makefile.patched
+
 dist: $(dist_configure_check) $(dist_dependencies)
 
 ###############################################################################
@@ -21181,6 +21203,13 @@ check-local-exports-libnm: src/libnm-client-impl/libnm.la
 @HAVE_INTROSPECTION_TRUE@man/nm-settings-docs-%.xml: src/libnm-client-impl/nm-property-infos-%.xml src/libnm-client-impl/nm-settings-docs-gir.xml tools/generate-docs-nm-settings-docs-merge.py man/common.ent
 @HAVE_INTROSPECTION_TRUE@	$(AM_V_GEN) "$(PYTHON)" $(srcdir)/tools/generate-docs-nm-settings-docs-merge.py $@ $(wordlist 1,2,$^)
 
+check-local-libnm-gir: $(builddir)/src/libnm-client-impl/NM-1.0.gir
+check-local-libnm-gir: $(srcdir)/src/libnm-client-impl/libnm.ver
+check-local-libnm-gir:
+	"$(PYTHON)" $(srcdir)/src/libnm-client-impl/tests/test-gir.py \
+		--gir $(builddir)/src/libnm-client-impl/NM-1.0.gir \
+		--ver $(srcdir)/src/libnm-client-impl/libnm.ver
+
 $(src_libnm_client_impl_tests_test_libnm_OBJECTS):                  $(src_libnm_core_public_mkenums_h) $(src_libnm_client_public_mkenums_h)
 $(src_libnm_client_impl_tests_test_nm_client_OBJECTS):              $(src_libnm_core_public_mkenums_h) $(src_libnm_client_public_mkenums_h)
 $(src_libnm_client_impl_tests_test_remote_settings_client_OBJECTS): $(src_libnm_core_public_mkenums_h) $(src_libnm_client_public_mkenums_h)
diff --git a/NEWS b/NEWS
index 8282b0fe..38f8b235 100644
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,54 @@
+===============================================
+NetworkManager-1.40.6
+Overview of changes since NetworkManager-1.40.4
+===============================================
+
+* team: also set empty port configuration so teamd
+  knows about the port.
+* team: restore port configuration after teamd respawn.
+
+===============================================
+NetworkManager-1.40.4
+Overview of changes since NetworkManager-1.40.2
+===============================================
+
+* dhcp: revert restarting DHCP when MAC address changes,
+  for example during a bond fail over.
+* various documentation fixes.
+* fix non-exported ABI in libnm which was wrongly present
+  in the header files but unusable so far.
+* ifcfg-rh: fix writing ethtool pause settings to file.
+* core: set "proto static" for manual routing rules configured
+  by NetworkManager.
+* Various minor bugfixes.
+
+===============================================
+NetworkManager-1.40.2
+Overview of changes since NetworkManager-1.40.0
+===============================================
+
+* Ensure that resolv.conf gets updated when the configuration changes.
+* Fix setting as bond primary an interface that doesn't exist yet when the
+  bond is activated.
+* The number of autoconnect retries is now accounted independently for each
+  device when there are profiles with multi-connect=multiple.
+* Don't print duplicate entries in the output of "NetworkManager
+  --print-config"
+* Fix the ifcfg-rh plugin to properly read infiniband P-Key connection
+  profiles without an explicit interface name.
+* Allow the removal of a bond port connection profile from the bond via
+  nmcli.
+* Fix race condition during the activation of veth profiles when the peer
+  already exists.
+* Decline the DHCPv6 lease if all addresses fail IPv6 duplicate address
+  detection (DAD).
+* Wait that devices get carrier before trying to resolve the system hostname
+  on them via DNS.
+* Fix race condition during the initial activation of OVS interfaces.
+* Profiles generated by nm-initrd-generator now have lower than default
+  priority.
+* Fix error when adding many SR-IOV virtual functions (VFs).
+
 =============================================
 NetworkManager-1.40
 Overview of changes since NetworkManager-1.38
diff --git a/build-aux/config.rpath b/build-aux/config.rpath
index 24be79cf..1e1ab679 100755
--- a/build-aux/config.rpath
+++ b/build-aux/config.rpath
@@ -2,7 +2,7 @@
 # Output a system dependent set of variables, describing how to set the
 # run time search path of shared libraries in an executable.
 #
-#   Copyright 1996-2020 Free Software Foundation, Inc.
+#   Copyright 1996-2022 Free Software Foundation, Inc.
 #   Taken from GNU libtool, 2001
 #   Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
 #
@@ -371,7 +371,7 @@ else
       hardcode_direct=yes
       hardcode_minus_L=yes
       ;;
-    freebsd* | dragonfly*)
+    freebsd* | dragonfly* | midnightbsd*)
       hardcode_libdir_flag_spec='-R$libdir'
       hardcode_direct=yes
       ;;
@@ -547,7 +547,7 @@ case "$host_os" in
   freebsd[23].*)
     library_names_spec='$libname$shrext$versuffix'
     ;;
-  freebsd* | dragonfly*)
+  freebsd* | dragonfly* | midnightbsd*)
     library_names_spec='$libname$shrext'
     ;;
   gnu*)
diff --git a/configure b/configure
index fe690381..a8bef9b3 100755
--- a/configure
+++ b/configure
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.71 for NetworkManager 1.40.0.
+# Generated by GNU Autoconf 2.71 for NetworkManager 1.40.6.
 #
 # Report bugs to <http://bugzilla.gnome.org/enter_bug.cgi?product=NetworkManager>.
 #
@@ -622,8 +622,8 @@ MAKEFLAGS=
 # Identity of this package.
 PACKAGE_NAME='NetworkManager'
 PACKAGE_TARNAME='NetworkManager'
-PACKAGE_VERSION='1.40.0'
-PACKAGE_STRING='NetworkManager 1.40.0'
+PACKAGE_VERSION='1.40.6'
+PACKAGE_STRING='NetworkManager 1.40.6'
 PACKAGE_BUGREPORT='http://bugzilla.gnome.org/enter_bug.cgi?product=NetworkManager'
 PACKAGE_URL=''
 
@@ -1744,7 +1744,7 @@ if test "$ac_init_help" = "long"; then
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures NetworkManager 1.40.0 to adapt to many kinds of systems.
+\`configure' configures NetworkManager 1.40.6 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1816,7 +1816,7 @@ fi
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of NetworkManager 1.40.0:";;
+     short | recursive ) echo "Configuration of NetworkManager 1.40.6:";;
    esac
   cat <<\_ACEOF
 
@@ -2171,7 +2171,7 @@ fi
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-NetworkManager configure 1.40.0
+NetworkManager configure 1.40.6
 generated by GNU Autoconf 2.71
 
 Copyright (C) 2021 Free Software Foundation, Inc.
@@ -2892,7 +2892,7 @@ cat >config.log <<_ACEOF
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by NetworkManager $as_me 1.40.0, which was
+It was created by NetworkManager $as_me 1.40.6, which was
 generated by GNU Autoconf 2.71.  Invocation command line was
 
   $ $0$ac_configure_args_raw
@@ -4388,7 +4388,7 @@ fi
 
 # Define the identity of the package.
  PACKAGE='NetworkManager'
- VERSION='1.40.0'
+ VERSION='1.40.6'
 
 
 printf "%s\n" "#define PACKAGE \"$PACKAGE\"" >>confdefs.h
@@ -7298,11 +7298,11 @@ if test x$ac_prog_cxx_stdcxx = xno
 then :
   { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CXX option to enable C++11 features" >&5
 printf %s "checking for $CXX option to enable C++11 features... " >&6; }
-if test ${ac_cv_prog_cxx_11+y}
+if test ${ac_cv_prog_cxx_cxx11+y}
 then :
   printf %s "(cached) " >&6
 else $as_nop
-  ac_cv_prog_cxx_11=no
+  ac_cv_prog_cxx_cxx11=no
 ac_save_CXX=$CXX
 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
@@ -7344,11 +7344,11 @@ if test x$ac_prog_cxx_stdcxx = xno
 then :
   { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CXX option to enable C++98 features" >&5
 printf %s "checking for $CXX option to enable C++98 features... " >&6; }
-if test ${ac_cv_prog_cxx_98+y}
+if test ${ac_cv_prog_cxx_cxx98+y}
 then :
   printf %s "(cached) " >&6
 else $as_nop
-  ac_cv_prog_cxx_98=no
+  ac_cv_prog_cxx_cxx98=no
 ac_save_CXX=$CXX
 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
@@ -19328,8 +19328,8 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 NM_MAJOR_VERSION=1
 NM_MINOR_VERSION=40
-NM_MICRO_VERSION=0
-NM_VERSION=1.40.0
+NM_MICRO_VERSION=6
+NM_VERSION=1.40.6
 
 
 
@@ -19337,7 +19337,7 @@ NM_VERSION=1.40.0
 
 
 
-NM_GIT_SHA=5d4802f7d869e2a91192dc75bf33cff892a3facf
+NM_GIT_SHA=ba35cff250dada15250902d8197b7901c21434cb
 
 if test """" != "no-config-h" ; then
 
@@ -20272,7 +20272,7 @@ else $as_nop
       *-*-aix*)
         cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
-#if defined __powerpc64__ || defined _ARCH_PPC64
+#if defined __powerpc64__ || defined __LP64__
                 int ok;
                #else
                 error fail
@@ -20562,7 +20562,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
            # be generating 64-bit code.
            cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
-#if defined __powerpc64__ || defined _ARCH_PPC64
+#if defined __powerpc64__ || defined __LP64__
                    int ok;
                   #else
                    error fail
@@ -20802,7 +20802,7 @@ then :
 else $as_nop
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
-#ifdef __ELF__
+#if defined __ELF__ || (defined __linux__ && defined __EDG__)
         Extensible Linking Format
         #endif
 
@@ -20820,7 +20820,7 @@ rm -rf conftest*
 fi
 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_elf" >&5
 printf "%s\n" "$gl_cv_elf" >&6; }
-  if test $gl_cv_elf; then
+  if test $gl_cv_elf = yes; then
     # Extract the ELF class of a file (5th byte) in decimal.
     # Cf. https://en.wikipedia.org/wiki/Executable_and_Linkable_Format#File_header
     if od -A x < /dev/null >/dev/null 2>/dev/null; then
@@ -20837,19 +20837,22 @@ printf "%s\n" "$gl_cv_elf" >&6; }
         echo
       }
     fi
+    # Use 'expr', not 'test', to compare the values of func_elfclass, because on
+    # Solaris 11 OpenIndiana and Solaris 11 OmniOS, the result is 001 or 002,
+    # not 1 or 2.
     case $HOST_CPU_C_ABI_32BIT in
       yes)
         # 32-bit ABI.
         acl_is_expected_elfclass ()
         {
-          test "`func_elfclass | sed -e 's/[ 	]//g'`" = 1
+          expr "`func_elfclass | sed -e 's/[ 	]//g'`" = 1 > /dev/null
         }
         ;;
       no)
         # 64-bit ABI.
         acl_is_expected_elfclass ()
         {
-          test "`func_elfclass | sed -e 's/[ 	]//g'`" = 2
+          expr "`func_elfclass | sed -e 's/[ 	]//g'`" = 2 > /dev/null
         }
         ;;
       *)
@@ -21379,7 +21382,14 @@ fi
                     fi
                     ;;
                   -l*)
-                                        names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'`
+                                                                                                                                                                dep=`echo "X$dep" | sed -e 's/^X-l//'`
+                    if test "X$dep" != Xc \
+                       || case $host_os in
+                            linux* | gnu* | k*bsd*-gnu) false ;;
+                            *)                          true ;;
+                          esac; then
+                      names_next_round="$names_next_round $dep"
+                    fi
                     ;;
                   *.la)
                                                                                 names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'`
@@ -21741,8 +21751,9 @@ int
 main (void)
 {
 int result = 0;
-  /* Test against AIX 5.1 bug: Failures are not distinguishable from successful
-     returns.  */
+  /* Test against AIX 5.1...7.2 bug: Failures are not distinguishable from
+     successful returns.  This is even documented in
+     <https://www.ibm.com/support/knowledgecenter/ssw_aix_72/i_bostechref/iconv.html> */
   {
     iconv_t cd_utf8_to_88591 = iconv_open ("ISO8859-1", "UTF-8");
     if (cd_utf8_to_88591 != (iconv_t)(-1))
@@ -22324,7 +22335,14 @@ fi
                     fi
                     ;;
                   -l*)
-                                        names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'`
+                                                                                                                                                                dep=`echo "X$dep" | sed -e 's/^X-l//'`
+                    if test "X$dep" != Xc \
+                       || case $host_os in
+                            linux* | gnu* | k*bsd*-gnu) false ;;
+                            *)                          true ;;
+                          esac; then
+                      names_next_round="$names_next_round $dep"
+                    fi
                     ;;
                   *.la)
                                                                                 names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'`
@@ -32768,7 +32786,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by NetworkManager $as_me 1.40.0, which was
+This file was extended by NetworkManager $as_me 1.40.6, which was
 generated by GNU Autoconf 2.71.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -32836,7 +32854,7 @@ ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config='$ac_cs_config_escaped'
 ac_cs_version="\\
-NetworkManager config.status 1.40.0
+NetworkManager config.status 1.40.6
 configured by $0, generated by GNU Autoconf 2.71,
   with options \\"\$ac_cs_config\\"
 
@@ -34859,7 +34877,9 @@ _LT_EOF
                 #      presentlang can be used as a fallback for messages
                 #      which are not translated in the desiredlang catalog).
                 case "$desiredlang" in
-                  "$presentlang"*) useit=yes;;
+                  "$presentlang" | "$presentlang"_* | "$presentlang".* | "$presentlang"@*)
+                    useit=yes
+                    ;;
                 esac
               done
               if test $useit = yes; then
diff --git a/configure.ac b/configure.ac
index 91548ed1..c71e34bf 100644
--- a/configure.ac
+++ b/configure.ac
@@ -8,7 +8,7 @@ dnl    "shared/nm-version-macros.h.in"
 dnl  - update number in meson.build
 m4_define([nm_major_version], [1])
 m4_define([nm_minor_version], [40])
-m4_define([nm_micro_version], [0])
+m4_define([nm_micro_version], [6])
 m4_define([nm_version],
           [nm_major_version.nm_minor_version.nm_micro_version])
 
diff --git a/debian/changelog b/debian/changelog
index 35e4fc65..ea14a40d 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,29 @@
+network-manager (1.40.6-1) unstable; urgency=medium
+
+  * New upstream version 1.40.6
+  * Depend on polkitd in preference to policykit-1.
+    The latter is a deprecated, transitional package, that also pulls in
+    pkexec, which network-manager doesn't need. Keep policykit-1 as an
+    alternative dependency to make backports easier.
+
+ -- Michael Biebl <biebl@debian.org>  Wed, 30 Nov 2022 22:59:25 +0100
+
+network-manager (1.40.4-1) unstable; urgency=medium
+
+  * New upstream version 1.40.4
+  * Update symbols file for libnm0
+  * Replace dependency on dbus with default-dbus-system-bus | dbus-system-bus.
+    This makes it easier to swap in alternative implementations like
+    dbus-broker.
+
+ -- Michael Biebl <biebl@debian.org>  Fri, 18 Nov 2022 18:41:10 +0100
+
+network-manager (1.40.2-1) unstable; urgency=medium
+
+  * New upstream version 1.40.2
+
+ -- Michael Biebl <biebl@debian.org>  Tue, 18 Oct 2022 12:29:15 +0200
+
 network-manager (1.40.0-1~bpo11+1) bullseye-backports; urgency=medium
 
   * Rebuild for bullseye-backports
diff --git a/debian/control b/debian/control
index a9e19cc3..556cec60 100644
--- a/debian/control
+++ b/debian/control
@@ -51,10 +51,10 @@ Pre-Depends: ${misc:Pre-Depends}
 Depends: ${shlibs:Depends},
          ${misc:Depends},
          libnm0 (= ${binary:Version}),
-         dbus,
+         default-dbus-system-bus | dbus-system-bus,
          udev,
          adduser,
-         policykit-1
+         polkitd | policykit-1
 Recommends: ppp,
             dnsmasq-base,
             modemmanager,
diff --git a/debian/libnm0.symbols b/debian/libnm0.symbols
index 4d2d79f0..9d8bf21c 100644
--- a/debian/libnm0.symbols
+++ b/debian/libnm0.symbols
@@ -31,6 +31,7 @@ libnm.so.0 libnm0 #MINVER#
  libnm_1_36_0@libnm_1_36_0 1.36.0
  libnm_1_38_0@libnm_1_38_0 1.38.0
  libnm_1_40_0@libnm_1_40_0 1.40.0
+ libnm_1_40_4@libnm_1_40_4 1.40.4
  libnm_1_4_0@libnm_1_4_0 1.4.0
  libnm_1_6_0@libnm_1_6_0 1.6.0
  libnm_1_8_0@libnm_1_8_0 1.8.0
@@ -268,6 +269,7 @@ libnm.so.0 libnm0 #MINVER#
  nm_connectivity_state_get_type@libnm_1_0_0 1.0.0
  nm_crypto_error_get_type@libnm_1_0_0 1.0.0
  nm_crypto_error_quark@libnm_1_0_0 1.0.0
+ nm_device_6lowpan_get_parent@libnm_1_40_4 1.40.4
  nm_device_6lowpan_get_type@libnm_1_14_0 1.14.0
  nm_device_adsl_get_carrier@libnm_1_0_0 1.0.0
  nm_device_adsl_get_type@libnm_1_0_0 1.0.0
@@ -371,6 +373,7 @@ libnm.so.0 libnm0 #MINVER#
  nm_device_macsec_get_hw_address@libnm_1_6_0 1.6.0
  nm_device_macsec_get_icv_length@libnm_1_6_0 1.6.0
  nm_device_macsec_get_include_sci@libnm_1_6_0 1.6.0
+ nm_device_macsec_get_parent@libnm_1_40_4 1.40.4
  nm_device_macsec_get_protect@libnm_1_6_0 1.6.0
  nm_device_macsec_get_replay_protect@libnm_1_6_0 1.6.0
  nm_device_macsec_get_scb@libnm_1_6_0 1.6.0
@@ -422,6 +425,7 @@ libnm.so.0 libnm0 #MINVER#
  nm_device_tun_get_type@libnm_1_2_0 1.2.0
  nm_device_tun_get_vnet_hdr@libnm_1_2_0 1.2.0
  nm_device_type_get_type@libnm_1_0_0 1.0.0
+ nm_device_veth_get_peer@libnm_1_40_4 1.40.4
  nm_device_veth_get_type@libnm_1_30_0 1.30.0
  nm_device_vlan_get_carrier@libnm_1_0_0 1.0.0
  nm_device_vlan_get_hw_address@libnm_1_0_0 1.0.0
@@ -431,6 +435,7 @@ libnm.so.0 libnm0 #MINVER#
  nm_device_vrf_get_table@libnm_1_24_0 1.24.0
  nm_device_vrf_get_type@libnm_1_24_0 1.24.0
  nm_device_vxlan_get_ageing@libnm_1_2_0 1.2.0
+ nm_device_vxlan_get_carrier@libnm_1_40_4 1.40.4
  nm_device_vxlan_get_dst_port@libnm_1_2_0 1.2.0
  nm_device_vxlan_get_group@libnm_1_2_0 1.2.0
  nm_device_vxlan_get_hw_address@libnm_1_2_0 1.2.0
@@ -442,6 +447,7 @@ libnm.so.0 libnm0 #MINVER#
  nm_device_vxlan_get_local@libnm_1_2_0 1.2.0
  nm_device_vxlan_get_parent@libnm_1_2_0 1.2.0
  nm_device_vxlan_get_proxy@libnm_1_2_0 1.2.0
+ nm_device_vxlan_get_rsc@libnm_1_40_4 1.40.4
  nm_device_vxlan_get_src_port_max@libnm_1_2_0 1.2.0
  nm_device_vxlan_get_src_port_min@libnm_1_2_0 1.2.0
  nm_device_vxlan_get_tos@libnm_1_2_0 1.2.0
@@ -459,6 +465,7 @@ libnm.so.0 libnm0 #MINVER#
  nm_device_wifi_get_permanent_hw_address@libnm_1_0_0 1.0.0
  nm_device_wifi_get_type@libnm_1_0_0 1.0.0
  nm_device_wifi_p2p_get_hw_address@libnm_1_16_0 1.16.0
+ nm_device_wifi_p2p_get_peer_by_path@libnm_1_40_4 1.40.4
  nm_device_wifi_p2p_get_peers@libnm_1_16_0 1.16.0
  nm_device_wifi_p2p_get_type@libnm_1_16_0 1.16.0
  nm_device_wifi_p2p_start_find@libnm_1_16_0 1.16.0
@@ -676,7 +683,9 @@ libnm.so.0 libnm0 #MINVER#
  nm_secret_agent_old_unregister@libnm_1_0_0 1.0.0
  nm_secret_agent_old_unregister_async@libnm_1_0_0 1.0.0
  nm_secret_agent_old_unregister_finish@libnm_1_0_0 1.0.0
+ nm_setting_6lowpan_get_parent@libnm_1_40_4 1.40.4
  nm_setting_6lowpan_get_type@libnm_1_14_0 1.14.0
+ nm_setting_6lowpan_new@libnm_1_40_4 1.40.4
  nm_setting_802_1x_add_altsubject_match@libnm_1_0_0 1.0.0
  nm_setting_802_1x_add_eap_method@libnm_1_0_0 1.0.0
  nm_setting_802_1x_add_phase2_altsubject_match@libnm_1_0_0 1.0.0
@@ -875,6 +884,7 @@ libnm.so.0 libnm0 #MINVER#
  nm_setting_connection_get_mdns@libnm_1_12_0 1.12.0
  nm_setting_connection_get_metered@libnm_1_0_6 1.0.6
  nm_setting_connection_get_metered@libnm_1_2_0 1.2.0
+ nm_setting_connection_get_mptcp_flags@libnm_1_40_4 1.40.4
  nm_setting_connection_get_mud_url@libnm_1_26_0 1.26.0
  nm_setting_connection_get_multi_connect@libnm_1_14_0 1.14.0
  nm_setting_connection_get_num_permissions@libnm_1_0_0 1.0.0
@@ -964,6 +974,7 @@ libnm.so.0 libnm0 #MINVER#
  nm_setting_hostname_get_only_from_default@libnm_1_30_0 1.30.0
  nm_setting_hostname_get_priority@libnm_1_30_0 1.30.0
  nm_setting_hostname_get_type@libnm_1_30_0 1.30.0
+ nm_setting_hostname_new@libnm_1_40_4 1.40.4
  nm_setting_infiniband_get_mac_address@libnm_1_0_0 1.0.0
  nm_setting_infiniband_get_mtu@libnm_1_0_0 1.0.0
  nm_setting_infiniband_get_p_key@libnm_1_0_0 1.0.0
@@ -975,6 +986,7 @@ libnm.so.0 libnm0 #MINVER#
  nm_setting_ip4_config_get_dhcp_client_id@libnm_1_0_0 1.0.0
  nm_setting_ip4_config_get_dhcp_fqdn@libnm_1_2_0 1.2.0
  nm_setting_ip4_config_get_dhcp_vendor_class_identifier@libnm_1_26_4 1.28.0
+ nm_setting_ip4_config_get_link_local@libnm_1_40_4 1.40.4
  nm_setting_ip4_config_get_type@libnm_1_0_0 1.0.0
  nm_setting_ip4_config_new@libnm_1_0_0 1.0.0
  nm_setting_ip4_link_local_get_type@libnm_1_40_0 1.40.0
@@ -1006,6 +1018,7 @@ libnm.so.0 libnm0 #MINVER#
  nm_setting_ip_config_get_dad_timeout@libnm_1_2_0 1.1.91
  nm_setting_ip_config_get_dhcp_hostname@libnm_1_0_0 1.0.0
  nm_setting_ip_config_get_dhcp_hostname_flags@libnm_1_22_0 1.22.0
+ nm_setting_ip_config_get_dhcp_iaid@libnm_1_40_4 1.40.4
  nm_setting_ip_config_get_dhcp_reject_servers@libnm_1_28_0 1.28.0
  nm_setting_ip_config_get_dhcp_send_hostname@libnm_1_0_0 1.0.0
  nm_setting_ip_config_get_dhcp_timeout@libnm_1_2_0 1.1.91
@@ -1046,7 +1059,9 @@ libnm.so.0 libnm0 #MINVER#
  nm_setting_ip_config_remove_route@libnm_1_0_0 1.0.0
  nm_setting_ip_config_remove_route_by_value@libnm_1_0_0 1.0.0
  nm_setting_ip_config_remove_routing_rule@libnm_1_18_0 1.18.0
+ nm_setting_ip_tunnel_get_encapsulation_limit@libnm_1_40_4 1.40.4
  nm_setting_ip_tunnel_get_flags@libnm_1_12_0 1.12.0
+ nm_setting_ip_tunnel_get_flow_label@libnm_1_40_4 1.40.4
  nm_setting_ip_tunnel_get_input_key@libnm_1_2_0 1.2.0
  nm_setting_ip_tunnel_get_local@libnm_1_2_0 1.2.0
  nm_setting_ip_tunnel_get_mode@libnm_1_2_0 1.2.0
@@ -1124,6 +1139,7 @@ libnm.so.0 libnm0 #MINVER#
  nm_setting_option_set@libnm_1_26_0 1.26.0
  nm_setting_option_set_boolean@libnm_1_26_0 1.26.0
  nm_setting_option_set_uint32@libnm_1_26_0 1.26.0
+ nm_setting_ovs_bridge_get_datapath_type@libnm_1_40_4 1.40.4
  nm_setting_ovs_bridge_get_fail_mode@libnm_1_10_0 1.10.0
  nm_setting_ovs_bridge_get_mcast_snooping_enable@libnm_1_10_0 1.10.0
  nm_setting_ovs_bridge_get_rstp_enable@libnm_1_10_0 1.10.0
@@ -1307,6 +1323,7 @@ libnm.so.0 libnm0 #MINVER#
  nm_setting_vpn_get_data_keys@libnm_1_12_0 1.12.0
  nm_setting_vpn_get_num_data_items@libnm_1_0_0 1.0.0
  nm_setting_vpn_get_num_secrets@libnm_1_0_0 1.0.0
+ nm_setting_vpn_get_persistent@libnm_1_40_4 1.40.4
  nm_setting_vpn_get_secret@libnm_1_0_0 1.0.0
  nm_setting_vpn_get_secret_keys@libnm_1_12_0 1.12.0
  nm_setting_vpn_get_service_type@libnm_1_0_0 1.0.0
@@ -1464,7 +1481,13 @@ libnm.so.0 libnm0 #MINVER#
  nm_setting_wireless_security_set_wep_key@libnm_1_0_0 1.0.0
  nm_setting_wireless_security_wps_method_get_type@libnm_1_10_0 1.10.0
  nm_setting_wireless_wake_on_wlan_get_type@libnm_1_12_0 1.12.0
+ nm_setting_wpan_get_channel@libnm_1_40_4 1.40.4
+ nm_setting_wpan_get_mac_address@libnm_1_40_4 1.40.4
+ nm_setting_wpan_get_page@libnm_1_40_4 1.40.4
+ nm_setting_wpan_get_pan_id@libnm_1_40_4 1.40.4
+ nm_setting_wpan_get_short_address@libnm_1_40_4 1.40.4
  nm_setting_wpan_get_type@libnm_1_14_0 1.14.0
+ nm_setting_wpan_new@libnm_1_40_4 1.40.4
  nm_settings_add_connection2_flags_get_type@libnm_1_20_0 1.20.0
  nm_settings_connection_flags_get_type@libnm_1_12_0 1.12.0
  nm_settings_error_get_type@libnm_1_0_0 1.0.0
@@ -1475,6 +1498,7 @@ libnm.so.0 libnm0 #MINVER#
  nm_simple_connection_new_clone@libnm_1_0_0 1.0.0
  nm_simple_connection_new_from_dbus@libnm_1_0_0 1.0.0
  nm_sriov_vf_add_vlan@libnm_1_14_0 1.14.0
+ nm_sriov_vf_attribute_validate@libnm_1_40_4 1.40.4
  nm_sriov_vf_dup@libnm_1_14_0 1.14.0
  nm_sriov_vf_equal@libnm_1_14_0 1.14.0
  nm_sriov_vf_get_attribute@libnm_1_14_0 1.14.0
@@ -1518,12 +1542,14 @@ libnm.so.0 libnm0 #MINVER#
  nm_tc_qdisc_unref@libnm_1_10_2 1.10.2
  nm_tc_tfilter_dup@libnm_1_10_2 1.10.2
  nm_tc_tfilter_equal@libnm_1_10_2 1.10.2
+ nm_tc_tfilter_get_action@libnm_1_40_4 1.40.4
  nm_tc_tfilter_get_handle@libnm_1_10_2 1.10.2
  nm_tc_tfilter_get_kind@libnm_1_10_2 1.10.2
  nm_tc_tfilter_get_parent@libnm_1_10_2 1.10.2
  nm_tc_tfilter_get_type@libnm_1_10_2 1.10.2
  nm_tc_tfilter_new@libnm_1_10_2 1.10.2
  nm_tc_tfilter_ref@libnm_1_10_2 1.10.2
+ nm_tc_tfilter_set_action@libnm_1_40_4 1.40.4
  nm_tc_tfilter_set_handle@libnm_1_10_2 1.10.2
  nm_tc_tfilter_unref@libnm_1_10_2 1.10.2
  nm_team_link_watcher_arp_ping_flags_get_type@libnm_1_10_2 1.10.2
@@ -1591,6 +1617,10 @@ libnm.so.0 libnm0 #MINVER#
  nm_utils_ip6_dns_to_variant@libnm_1_0_0 1.0.0
  nm_utils_ip6_routes_from_variant@libnm_1_0_0 1.0.0
  nm_utils_ip6_routes_to_variant@libnm_1_0_0 1.0.0
+ nm_utils_ip_addresses_from_variant@libnm_1_40_4 1.40.4
+ nm_utils_ip_addresses_to_variant@libnm_1_40_4 1.40.4
+ nm_utils_ip_routes_from_variant@libnm_1_40_4 1.40.4
+ nm_utils_ip_routes_to_variant@libnm_1_40_4 1.40.4
  nm_utils_ipaddr_valid@libnm_1_0_0 1.0.0
  nm_utils_is_empty_ssid@libnm_1_0_0 1.0.0
  nm_utils_is_json_object@libnm_1_6_0 1.6.0
@@ -1672,6 +1702,7 @@ libnm.so.0 libnm0 #MINVER#
  nm_vpn_plugin_info_new_with_data@libnm_1_2_0 1.2.0
  nm_vpn_plugin_info_set_editor_plugin@libnm_1_2_0 1.2.0
  nm_vpn_plugin_info_supports_hints@libnm_1_4_0 1.4.0
+ nm_vpn_plugin_info_supports_multiple@libnm_1_40_4 1.40.4
  nm_vpn_plugin_info_validate_filename@libnm_1_2_0 1.2.0
  nm_vpn_plugin_old_disconnect@libnm_1_0_0 1.0.0
  nm_vpn_plugin_old_failure@libnm_1_0_0 1.0.0
diff --git a/debian/rules b/debian/rules
index 18fb355f..140dbbe7 100755
--- a/debian/rules
+++ b/debian/rules
@@ -2,6 +2,8 @@
 
 include /usr/share/dpkg/architecture.mk
 
+# Disable lto here regardless of whether we enable the configure flag
+# https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/issues/1070
 export DEB_BUILD_MAINT_OPTIONS = hardening=+all optimize=-lto
 
 export PYTHON=/usr/bin/python3
diff --git a/docs/api/Makefile.am b/docs/api/Makefile.am
index c89dbc44..359e91fd 100644
--- a/docs/api/Makefile.am
+++ b/docs/api/Makefile.am
@@ -2,25 +2,12 @@ AUTOMAKE_OPTIONS = 1.7
 
 XSLTPROC = xsltproc --xinclude --nonet
 XMLS = $(wildcard $(top_srcdir)/introspection/nm-*.xml)
-
 GENERATED_FILES =
 
 if BUILD_DOCS
-
-settings-spec.xml: settings-spec.xsl $(top_builddir)/man/nm-settings-docs-dbus.xml
-	$(AM_V_GEN) (! test -f $@ || chmod u+w $@) && xsltproc --output $@ $^
-
-# Top-level SGML file includes (depends on) settings-spec.xml
-$(DOC_MAIN_SGML_FILE): settings-spec.xml
-
 GENERATED_FILES += settings-spec.xml
-
-all: $(GENERATED_FILES)
-
 endif
 
-####################################
-
 # The name of the module.
 DOC_MODULE=NetworkManager
 
@@ -130,7 +117,8 @@ setup-build.stamp:
 	fi
 	$(AM_V_at)touch setup-build.stamp
 
-####################################
+settings-spec.xml: settings-spec.xsl $(top_builddir)/man/nm-settings-docs-dbus.xml
+	$(AM_V_GEN) (! test -f $@ || chmod u+w $@) && xsltproc --output $@ $^
 
 EXTRA_DIST += \
 	version.xml.in \
diff --git a/docs/api/Makefile.in b/docs/api/Makefile.in
index dfa37d09..3ba87ce5 100644
--- a/docs/api/Makefile.in
+++ b/docs/api/Makefile.in
@@ -457,8 +457,6 @@ AUTOMAKE_OPTIONS = 1.7
 XMLS = $(wildcard $(top_srcdir)/introspection/nm-*.xml)
 GENERATED_FILES = $(am__append_1)
 
-####################################
-
 # The name of the module.
 DOC_MODULE = NetworkManager
 
@@ -550,8 +548,6 @@ SETUP_FILES = \
 	$(DOC_MODULE)-sections.txt	\
 	$(DOC_MODULE)-overrides.txt
 
-
-####################################
 EXTRA_DIST = $(HTML_IMAGES) $(SETUP_FILES) version.xml.in \
 	settings-spec.xsl meson.build $(GENERATED_FILES) $(NULL)
 DOC_STAMPS = setup-build.stamp scan-build.stamp sgml-build.stamp \
@@ -815,14 +811,6 @@ uninstall-am: uninstall-local
 .PRECIOUS: Makefile
 
 
-@BUILD_DOCS_TRUE@settings-spec.xml: settings-spec.xsl $(top_builddir)/man/nm-settings-docs-dbus.xml
-@BUILD_DOCS_TRUE@	$(AM_V_GEN) (! test -f $@ || chmod u+w $@) && xsltproc --output $@ $^
-
-# Top-level SGML file includes (depends on) settings-spec.xml
-@BUILD_DOCS_TRUE@$(DOC_MAIN_SGML_FILE): settings-spec.xml
-
-@BUILD_DOCS_TRUE@all: $(GENERATED_FILES)
-
 gtkdoc-check.test: Makefile
 	$(AM_V_GEN)echo "#!/bin/sh -e" > $@; \
 		echo "$(GTKDOC_CHECK_PATH) || exit 1" >> $@; \
@@ -1038,6 +1026,9 @@ setup-build.stamp:
 	fi
 	$(AM_V_at)touch setup-build.stamp
 
+settings-spec.xml: settings-spec.xsl $(top_builddir)/man/nm-settings-docs-dbus.xml
+	$(AM_V_GEN) (! test -f $@ || chmod u+w $@) && xsltproc --output $@ $^
+
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
 .NOEXPORT:
diff --git a/docs/api/dbus-org.freedesktop.NetworkManager.xml b/docs/api/dbus-org.freedesktop.NetworkManager.xml
index 31d0ad28..68c1cdbb 100644
--- a/docs/api/dbus-org.freedesktop.NetworkManager.xml
+++ b/docs/api/dbus-org.freedesktop.NetworkManager.xml
@@ -309,7 +309,7 @@ This method extends AddAndActivateConnection to allow passing further
 parameters. At this time the following options are supported:
 </para><para>
 * persist: A string value of either "disk" (default), "memory" or "volatile". If "memory" is passed, the connection will not be saved to disk. If "volatile" is passed, the connection will not be saved to disk and will be destroyed when disconnected.
-* bind-activation: Bind the activation lifetime. Set to "dbus-name" to automatically disconnect when the requesting process disappears from the bus. The default of "none" means the connection is kept activated normally.
+* bind-activation: Bind the activation lifetime. Set to "dbus-client" to automatically disconnect when the requesting process disappears from the bus. The default of "none" means the connection is kept activated normally.
 </para>
 <variablelist role="params">
 <varlistentry>
diff --git a/docs/api/html/gdbus-org.freedesktop.NetworkManager.html b/docs/api/html/gdbus-org.freedesktop.NetworkManager.html
index 628636fd..96ae6b68 100644
--- a/docs/api/html/gdbus-org.freedesktop.NetworkManager.html
+++ b/docs/api/html/gdbus-org.freedesktop.NetworkManager.html
@@ -371,7 +371,7 @@ parameters. At this time the following options are supported:
 </p>
 <p>
 * persist: A string value of either "disk" (default), "memory" or "volatile". If "memory" is passed, the connection will not be saved to disk. If "volatile" is passed, the connection will not be saved to disk and will be destroyed when disconnected.
-* bind-activation: Bind the activation lifetime. Set to "dbus-name" to automatically disconnect when the requesting process disappears from the bus. The default of "none" means the connection is kept activated normally.
+* bind-activation: Bind the activation lifetime. Set to "dbus-client" to automatically disconnect when the requesting process disappears from the bus. The default of "none" means the connection is kept activated normally.
 </p>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
diff --git a/docs/api/html/index.html b/docs/api/html/index.html
index e753eef1..ad46bacb 100644
--- a/docs/api/html/index.html
+++ b/docs/api/html/index.html
@@ -16,7 +16,7 @@
 <div>
 <div><table class="navigation" id="top" width="100%" cellpadding="2" cellspacing="0"><tr><th valign="middle"><p class="title">NetworkManager Reference Manual</p></th></tr></table></div>
 <div><p class="releaseinfo">
-      for NetworkManager 1.40.0
+      for NetworkManager 1.40.6
 
       The latest version of this documentation can be found on-line at
       <a class="ulink" href="https://networkmanager.dev/docs/api/latest/" target="_top">https://networkmanager.dev/docs/api/latest/</a>.
diff --git a/docs/api/html/nm-dbus-types.html b/docs/api/html/nm-dbus-types.html
index 46152667..d940c0f8 100644
--- a/docs/api/html/nm-dbus-types.html
+++ b/docs/api/html/nm-dbus-types.html
@@ -32,6 +32,7 @@
 <a name="NMCapability"></a><h3>enum NMCapability</h3>
 <p><a class="link" href="nm-dbus-types.html#NMCapability" title="enum NMCapability">NMCapability</a> names the numbers in the Capabilities property. Capabilities are positive numbers. They are part of stable API and a certain capability number is guaranteed not to change.</p>
 <p>The range 0x7000 - 0x7FFF of capabilities is guaranteed not to be used by upstream NetworkManager. It could thus be used for downstream extensions.</p>
+<p>Since: 1.6</p>
 <p></p>
 <div class="refsect3">
 <a name="id-1.4.17.2.3.4"></a><h4>Values</h4>
@@ -3070,7 +3071,7 @@
 <hr>
 <div class="refsect2">
 <a name="NMMetered"></a><h3>enum NMMetered</h3>
-<p>The NMMetered enum has two different purposes: one is to configure "connection.metered" setting of a connection profile in NMSettingConnection, and the other is to express the actual metered state of the NMDevice at a given moment.</p>
+<p>The NMMetered enum has two different purposes: one is to configure "connection.metered" setting of a connection profile in NMSettingConnection, and the other is to express the actual metered state of the <a href="/usr/share/gtk-doc/html/libnm/NMDevice.html#NMDevice-struct">NMDevice</a> at a given moment.</p>
 <p>For the connection profile only NM_METERED_UNKNOWN, NM_METERED_NO and NM_METERED_YES are allowed.</p>
 <p>The device's metered state at runtime is determined by the profile which is currently active. If the profile explicitly specifies NM_METERED_NO or NM_METERED_YES, then the device's metered state is as such. If the connection profile leaves it undecided at NM_METERED_UNKNOWN (the default), then NetworkManager tries to guess the metered state, for example based on the device type or on DHCP options (like Android devices exposing a "ANDROID_METERED" DHCP vendor option). This then leads to either NM_METERED_GUESS_NO or NM_METERED_GUESS_YES.</p>
 <p>Most applications probably should treat the runtime state NM_METERED_GUESS_YES like NM_METERED_YES, and all other states as not metered.</p>
@@ -3961,7 +3962,7 @@
 <div class="refsect2">
 <a name="NMCheckpointCreateFlags"></a><h3>enum NMCheckpointCreateFlags</h3>
 <p>The flags for CheckpointCreate call</p>
-<p>Since: 1.4 (gi flags generated since 1.12)</p>
+<p>Since: 1.12 (public since 1.4, g-ir since 1.12)</p>
 <p></p>
 <div class="refsect3">
 <a name="id-1.4.17.2.24.4"></a><h4>Values</h4>
diff --git a/docs/api/html/nm-settings-dbus.html b/docs/api/html/nm-settings-dbus.html
index 0903c329..854ca8f0 100644
--- a/docs/api/html/nm-settings-dbus.html
+++ b/docs/api/html/nm-settings-dbus.html
@@ -1742,9 +1742,7 @@
 <a name="nm-settings-dbus.property.ipv4.dhcp-vendor-class-identifier"></a>dhcp-vendor-class-identifier</td>
 <td align="left">string</td>
 <td align="left"> </td>
-<td> 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</td>
+<td> 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.</td>
 </tr>
 <tr>
 <td align="left">
@@ -1832,9 +1830,7 @@
 <td align="left">0</td>
 <td> Enable and disable the IPv4 link-local configuration independently of the ipv4.method configuration. This allows a link-local address (169.254.x.y/16) to be obtained in addition to other addresses, such as those manually configured or obtained from a DHCP server.
 
- When set to "auto", the value is dependent on "ipv4.method". When set to "default", it honors the global connection default, before falling back to "auto". Note that if "ipv4.method" is "disabled", then link local addressing is always disabled too. The default is "default".
-
- Since 1.40</td>
+ When set to "auto", the value is dependent on "ipv4.method". When set to "default", it honors the global connection default, before falling back to "auto". Note that if "ipv4.method" is "disabled", then link local addressing is always disabled too. The default is "default".</td>
 </tr>
 <tr>
 <td align="left">
diff --git a/docs/api/html/nm-settings-nmcli.html b/docs/api/html/nm-settings-nmcli.html
index 6968e035..17ef394f 100644
--- a/docs/api/html/nm-settings-nmcli.html
+++ b/docs/api/html/nm-settings-nmcli.html
@@ -2101,7 +2101,6 @@
 <td><p><span class="term"><code class="option"><a name="nm-settings-nmcli.property.ipv4.dhcp-vendor-class-identifier"></a>dhcp-vendor-class-identifier</code></span></p></td>
 <td>
 <p> 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.</p>
-<p> Since 1.28</p>
 <p>
             Format: string</p>
 </td>
@@ -2184,7 +2183,6 @@
 <td>
 <p> Enable and disable the IPv4 link-local configuration independently of the ipv4.method configuration. This allows a link-local address (169.254.x.y/16) to be obtained in addition to other addresses, such as those manually configured or obtained from a DHCP server.</p>
 <p> When set to "auto", the value is dependent on "ipv4.method". When set to "default", it honors the global connection default, before falling back to "auto". Note that if "ipv4.method" is "disabled", then link local addressing is always disabled too. The default is "default".</p>
-<p> Since 1.40</p>
 <p>
             Format: int32</p>
 </td>
diff --git a/docs/api/version.xml b/docs/api/version.xml
index 32b7211c..4adfc24b 100644
--- a/docs/api/version.xml
+++ b/docs/api/version.xml
@@ -1 +1 @@
-1.40.0
+1.40.6
diff --git a/docs/libnm/html/NMAccessPoint.html b/docs/libnm/html/NMAccessPoint.html
index cc8d8247..d174979d 100644
--- a/docs/libnm/html/NMAccessPoint.html
+++ b/docs/libnm/html/NMAccessPoint.html
@@ -577,7 +577,7 @@ with this function.</p>
 </tr>
 <tr>
 <td class="parameter_name"><p>connections</p></td>
-<td class="parameter_description"><p>an array of <span class="type">NMConnections</span> to
+<td class="parameter_description"><p>an array of <a href="/usr/share/gtk-doc/html/libnm-util/NMConnection.html#NMConnection-struct"><span class="type">NMConnections</span></a> to
 filter. </p></td>
 <td class="parameter_annotations"><span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> NMConnection]</span></td>
 </tr>
@@ -587,7 +587,7 @@ filter. </p></td>
 <div class="refsect3">
 <a name="nm-access-point-filter-connections.returns"></a><h4>Returns</h4>
 <p>an array of
-<span class="type">NMConnections</span> that could be activated with the given <em class="parameter"><code>ap</code></em>
+<a href="/usr/share/gtk-doc/html/libnm-util/NMConnection.html#NMConnection-struct"><span class="type">NMConnections</span></a> that could be activated with the given <em class="parameter"><code>ap</code></em>
 .  The array should
 be freed with <a href="https://developer.gnome.org/glib/unstable/glib-Pointer-Arrays.html#g-ptr-array-unref"><code class="function">g_ptr_array_unref()</code></a> when it is no longer required.</p>
 <p>WARNING: the transfer annotation for this function may not work correctly
diff --git a/docs/libnm/html/NMCheckpoint.html b/docs/libnm/html/NMCheckpoint.html
index 57a729dd..1e4f8e00 100644
--- a/docs/libnm/html/NMCheckpoint.html
+++ b/docs/libnm/html/NMCheckpoint.html
@@ -241,6 +241,7 @@ nm_checkpoint_get_rollback_timeout (<em class="parameter"><code><a class="link"
 <div class="refsect2">
 <a name="NMCheckpoint-struct"></a><h3>NMCheckpoint</h3>
 <pre class="programlisting">typedef struct _NMCheckpoint NMCheckpoint;</pre>
+<p class="since">Since: 1.12</p>
 </div>
 </div>
 <div class="refsect1">
diff --git a/docs/libnm/html/NMClient.html b/docs/libnm/html/NMClient.html
index 82cf2677..cb57834b 100644
--- a/docs/libnm/html/NMClient.html
+++ b/docs/libnm/html/NMClient.html
@@ -1287,6 +1287,10 @@
 <td class="function_name"><a class="link" href="NMClient.html#NM-CLIENT-ERROR:CAPS" title="NM_CLIENT_ERROR">NM_CLIENT_ERROR</a></td>
 </tr>
 <tr>
+<td class="typedef_keyword">typedef</td>
+<td class="function_name"><a class="link" href="NMClient.html#NMDnsEntry">NMDnsEntry</a></td>
+</tr>
+<tr>
 <td class="datatype_keyword"> </td>
 <td class="function_name"><a class="link" href="NMClient.html#NMClient-struct" title="NMClient">NMClient</a></td>
 </tr>
@@ -3400,8 +3404,8 @@ before being added. </p></td>
 </tr>
 <tr>
 <td class="parameter_name"><p>device</p></td>
-<td class="parameter_description"><p>the <a class="link" href="NMDevice.html" title="NMDevice"><span class="type">NMDevice</span></a></p></td>
-<td class="parameter_annotations"> </td>
+<td class="parameter_description"><p>the <a class="link" href="NMDevice.html" title="NMDevice"><span class="type">NMDevice</span></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
 </tr>
 <tr>
 <td class="parameter_name"><p>specific_object</p></td>
@@ -3542,8 +3546,8 @@ before being added. </p></td>
 </tr>
 <tr>
 <td class="parameter_name"><p>device</p></td>
-<td class="parameter_description"><p>the <a class="link" href="NMDevice.html" title="NMDevice"><span class="type">NMDevice</span></a></p></td>
-<td class="parameter_annotations"> </td>
+<td class="parameter_description"><p>the <a class="link" href="NMDevice.html" title="NMDevice"><span class="type">NMDevice</span></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
 </tr>
 <tr>
 <td class="parameter_name"><p>specific_object</p></td>
@@ -3636,6 +3640,7 @@ failure, in which case <em class="parameter"><code>error</code></em>
 will be set. </p>
 <p><span class="annotation">[<acronym title="The caller owns the data, and is responsible for free it."><span class="acronym">transfer full</span></acronym>]</span></p>
 </div>
+<p class="since">Since: 1.16</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -5829,6 +5834,13 @@ operation succeeded, but the object that was allegedly created (eg,
 </div>
 <hr>
 <div class="refsect2">
+<a name="NMDnsEntry"></a><h3>NMDnsEntry</h3>
+<pre class="programlisting">typedef struct NMDnsEntry NMDnsEntry;
+</pre>
+<p class="since">Since: 1.6</p>
+</div>
+<hr>
+<div class="refsect2">
 <a name="NMClient-struct"></a><h3>NMClient</h3>
 <pre class="programlisting">typedef struct _NMClient NMClient;</pre>
 <p>NMClient contains a cache of the objects of NetworkManager's D-Bus API.
diff --git a/docs/libnm/html/NMConnection.html b/docs/libnm/html/NMConnection.html
index e195ef4c..7c20ebdf 100644
--- a/docs/libnm/html/NMConnection.html
+++ b/docs/libnm/html/NMConnection.html
@@ -1318,7 +1318,7 @@ failed (tried to update secrets for a setting that doesn't exist, etc)</p>
 nm_connection_set_path (<em class="parameter"><code><a class="link" href="NMConnection.html" title="NMConnection"><span class="type">NMConnection</span></a> *connection</code></em>,
                         <em class="parameter"><code>const <span class="type">char</span> *path</code></em>);</pre>
 <p>Sets the D-Bus path of the connection.  This property is not serialized, and
-is only for the reference of the caller.  Sets the <span class="type">“pathâ€</span>
+is only for the reference of the caller.  Sets the <a href="/usr/share/gtk-doc/html/libnm-util/NMConnection.html#NMConnection--path"><span class="type">“pathâ€</span></a>
 property.</p>
 <div class="refsect3">
 <a name="nm-connection-set-path.parameters"></a><h4>Parameters</h4>
@@ -1409,7 +1409,7 @@ nm_connection_is_type (<em class="parameter"><code><a class="link" href="NMConne
                        <em class="parameter"><code>const <span class="type">char</span> *type</code></em>);</pre>
 <p>A convenience function to check if the given <em class="parameter"><code>connection</code></em>
  is a particular
-type (ie wired, Wi-Fi, ppp, etc). Checks the <span class="type">“typeâ€</span>
+type (ie wired, Wi-Fi, ppp, etc). Checks the <a href="/usr/share/gtk-doc/html/libnm-util/NMSettingConnection.html#NMSettingConnection--type"><span class="type">“typeâ€</span></a>
 property of the connection and matches that against <em class="parameter"><code>type</code></em>
 .</p>
 <div class="refsect3">
@@ -2265,7 +2265,7 @@ nm_connection_get_setting_ovs_bridge (<em class="parameter"><code><a class="link
 <p>an <a class="link" href="NMSettingOvsBridge.html" title="NMSettingOvsBridge"><span class="type">NMSettingOvsBridge</span></a> if the connection contains one, otherwise <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p>
 <p><span class="annotation">[<acronym title="The data is owned by the callee, which is responsible of freeing it."><span class="acronym">transfer none</span></acronym>]</span></p>
 </div>
-<p class="since">Since: 1.10</p>
+<p class="since">Since: 1.14</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -2294,7 +2294,7 @@ nm_connection_get_setting_ovs_interface
 <p>an <a class="link" href="NMSettingOvsInterface.html" title="NMSettingOvsInterface"><span class="type">NMSettingOvsInterface</span></a> if the connection contains one, otherwise <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p>
 <p><span class="annotation">[<acronym title="The data is owned by the callee, which is responsible of freeing it."><span class="acronym">transfer none</span></acronym>]</span></p>
 </div>
-<p class="since">Since: 1.10</p>
+<p class="since">Since: 1.14</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -2322,7 +2322,7 @@ nm_connection_get_setting_ovs_patch (<em class="parameter"><code><a class="link"
 <p>an <a class="link" href="NMSettingOvsPatch.html" title="NMSettingOvsPatch"><span class="type">NMSettingOvsPatch</span></a> if the connection contains one, otherwise <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p>
 <p><span class="annotation">[<acronym title="The data is owned by the callee, which is responsible of freeing it."><span class="acronym">transfer none</span></acronym>]</span></p>
 </div>
-<p class="since">Since: 1.10</p>
+<p class="since">Since: 1.14</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -2350,7 +2350,7 @@ nm_connection_get_setting_ovs_port (<em class="parameter"><code><a class="link"
 <p>an <a class="link" href="NMSettingOvsPort.html" title="NMSettingOvsPort"><span class="type">NMSettingOvsPort</span></a> if the connection contains one, otherwise <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p>
 <p><span class="annotation">[<acronym title="The data is owned by the callee, which is responsible of freeing it."><span class="acronym">transfer none</span></acronym>]</span></p>
 </div>
-<p class="since">Since: 1.10</p>
+<p class="since">Since: 1.14</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -2515,7 +2515,7 @@ nm_connection_get_setting_tun (<em class="parameter"><code><a class="link" href=
 <p>an <a class="link" href="NMSettingTun.html" title="NMSettingTun"><span class="type">NMSettingTun</span></a> if the connection contains one, otherwise <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p>
 <p><span class="annotation">[<acronym title="The data is owned by the callee, which is responsible of freeing it."><span class="acronym">transfer none</span></acronym>]</span></p>
 </div>
-<p class="since">Since: 1.2</p>
+<p class="since">Since: 1.14</p>
 </div>
 <hr>
 <div class="refsect2">
diff --git a/docs/libnm/html/NMDevice.html b/docs/libnm/html/NMDevice.html
index ac125f88..e152c456 100644
--- a/docs/libnm/html/NMDevice.html
+++ b/docs/libnm/html/NMDevice.html
@@ -2673,7 +2673,7 @@ incompatible with the device. To get the full list of connections see
 </tr>
 <tr>
 <td class="parameter_name"><p>connections</p></td>
-<td class="parameter_description"><p>an array of <span class="type">NMConnections</span> to filter. </p></td>
+<td class="parameter_description"><p>an array of <a href="/usr/share/gtk-doc/html/libnm-util/NMConnection.html#NMConnection-struct"><span class="type">NMConnections</span></a> to filter. </p></td>
 <td class="parameter_annotations"><span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> NMConnection]</span></td>
 </tr>
 </tbody>
@@ -2682,7 +2682,7 @@ incompatible with the device. To get the full list of connections see
 <div class="refsect3">
 <a name="nm-device-filter-connections.returns"></a><h4>Returns</h4>
 <p>an array of
-<span class="type">NMConnections</span> that could be activated with the given <em class="parameter"><code>device</code></em>
+<a href="/usr/share/gtk-doc/html/libnm-util/NMConnection.html#NMConnection-struct"><span class="type">NMConnections</span></a> that could be activated with the given <em class="parameter"><code>device</code></em>
 .  The array
 should be freed with <a href="https://developer.gnome.org/glib/unstable/glib-Pointer-Arrays.html#g-ptr-array-unref"><code class="function">g_ptr_array_unref()</code></a> when it is no longer required.</p>
 <p>WARNING: the transfer annotation for this function may not work correctly
diff --git a/docs/libnm/html/NMDevice6Lowpan.html b/docs/libnm/html/NMDevice6Lowpan.html
index 7f7ad0fc..96e11196 100644
--- a/docs/libnm/html/NMDevice6Lowpan.html
+++ b/docs/libnm/html/NMDevice6Lowpan.html
@@ -40,24 +40,14 @@
 <col width="150px" class="functions_proto_type">
 <col class="functions_proto_name">
 </colgroup>
-<tbody>
-<tr>
+<tbody><tr>
 <td class="function_type">
 <a class="link" href="NMDevice.html" title="NMDevice"><span class="returnvalue">NMDevice</span></a> *
 </td>
 <td class="function_name">
 <a class="link" href="NMDevice6Lowpan.html#nm-device-6lowpan-get-parent" title="nm_device_6lowpan_get_parent ()">nm_device_6lowpan_get_parent</a> <span class="c_punctuation">()</span>
 </td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">4</span>
-</td>
-<td class="function_name">
-<a class="link" href="NMDevice6Lowpan.html#NM-DEPRECATED-IN-1-24-FOR:CAPS" title="NM_DEPRECATED_IN_1_24_FOR ()">NM_DEPRECATED_IN_1_24_FOR</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-</tbody>
+</tr></tbody>
 </table></div>
 </div>
 <div class="refsect1">
@@ -136,14 +126,7 @@ nm_device_6lowpan_get_parent (<em class="parameter"><code><a class="link" href="
 <p>the device's parent device. </p>
 <p><span class="annotation">[<acronym title="The data is owned by the callee, which is responsible of freeing it."><span class="acronym">transfer none</span></acronym>]</span></p>
 </div>
-<p class="since">Since: 1.14</p>
-</div>
-<hr>
-<div class="refsect2">
-<a name="NM-DEPRECATED-IN-1-24-FOR:CAPS"></a><h3>NM_DEPRECATED_IN_1_24_FOR ()</h3>
-<pre class="programlisting"><span class="returnvalue">4</span>
-NM_DEPRECATED_IN_1_24_FOR ();</pre>
-<div class="warning"><p><code class="literal">NM_DEPRECATED_IN_1_24_FOR</code> is deprecated and should not be used in newly-written code.</p></div>
+<p class="since">Since: 1.42, 1.40.4</p>
 </div>
 </div>
 <div class="refsect1">
@@ -163,6 +146,7 @@ NM_DEPRECATED_IN_1_24_FOR ();</pre>
 <div class="refsect2">
 <a name="NMDevice6Lowpan-struct"></a><h3>NMDevice6Lowpan</h3>
 <pre class="programlisting">typedef struct _NMDevice6Lowpan NMDevice6Lowpan;</pre>
+<p class="since">Since: 1.14</p>
 </div>
 </div>
 <div class="refsect1">
diff --git a/docs/libnm/html/NMDeviceDummy.html b/docs/libnm/html/NMDeviceDummy.html
index f363c920..0d95a63f 100644
--- a/docs/libnm/html/NMDeviceDummy.html
+++ b/docs/libnm/html/NMDeviceDummy.html
@@ -41,10 +41,10 @@
 </colgroup>
 <tbody><tr>
 <td class="function_type">
-<span class="returnvalue">4</span>
+<span class="returnvalue">0</span>
 </td>
 <td class="function_name">
-<a class="link" href="NMDevice6Lowpan.html#NM-DEPRECATED-IN-1-24-FOR:CAPS" title="NM_DEPRECATED_IN_1_24_FOR ()">NM_DEPRECATED_IN_1_24_FOR</a> <span class="c_punctuation">()</span>
+<a class="link" href="NMDeviceDummy.html#NM-DEPRECATED-IN-1-24-FOR:CAPS" title="NM_DEPRECATED_IN_1_24_FOR ()">NM_DEPRECATED_IN_1_24_FOR</a> <span class="c_punctuation">()</span>
 </td>
 </tr></tbody>
 </table></div>
@@ -83,7 +83,7 @@
 <a name="NMDeviceDummy.functions_details"></a><h2>Functions</h2>
 <div class="refsect2">
 <a name="NM-DEPRECATED-IN-1-24-FOR:CAPS"></a><h3>NM_DEPRECATED_IN_1_24_FOR ()</h3>
-<pre class="programlisting"><span class="returnvalue">4</span>
+<pre class="programlisting"><span class="returnvalue">0</span>
 NM_DEPRECATED_IN_1_24_FOR ();</pre>
 <div class="warning"><p><code class="literal">NM_DEPRECATED_IN_1_24_FOR</code> is deprecated and should not be used in newly-written code.</p></div>
 </div>
@@ -99,6 +99,7 @@ NM_DEPRECATED_IN_1_24_FOR ();</pre>
 <div class="refsect2">
 <a name="NMDeviceDummy-struct"></a><h3>NMDeviceDummy</h3>
 <pre class="programlisting">typedef struct _NMDeviceDummy NMDeviceDummy;</pre>
+<p class="since">Since: 1.8</p>
 </div>
 </div>
 </div>
diff --git a/docs/libnm/html/NMDeviceIPTunnel.html b/docs/libnm/html/NMDeviceIPTunnel.html
index dae1eb56..0c1284c1 100644
--- a/docs/libnm/html/NMDeviceIPTunnel.html
+++ b/docs/libnm/html/NMDeviceIPTunnel.html
@@ -682,6 +682,7 @@ nm_device_ip_tunnel_get_flags (<em class="parameter"><code><a class="link" href=
 <div class="refsect2">
 <a name="NMDeviceIPTunnel-struct"></a><h3>NMDeviceIPTunnel</h3>
 <pre class="programlisting">typedef struct _NMDeviceIPTunnel NMDeviceIPTunnel;</pre>
+<p class="since">Since: 1.2</p>
 </div>
 </div>
 <div class="refsect1">
diff --git a/docs/libnm/html/NMDeviceMacsec.html b/docs/libnm/html/NMDeviceMacsec.html
index a310cda5..83f7f703 100644
--- a/docs/libnm/html/NMDeviceMacsec.html
+++ b/docs/libnm/html/NMDeviceMacsec.html
@@ -51,10 +51,10 @@
 </tr>
 <tr>
 <td class="function_type">
-<span class="returnvalue">4</span>
+<span class="returnvalue">0</span>
 </td>
 <td class="function_name">
-<a class="link" href="NMDevice6Lowpan.html#NM-DEPRECATED-IN-1-24-FOR:CAPS" title="NM_DEPRECATED_IN_1_24_FOR ()">NM_DEPRECATED_IN_1_24_FOR</a> <span class="c_punctuation">()</span>
+<a class="link" href="NMDeviceDummy.html#NM-DEPRECATED-IN-1-24-FOR:CAPS" title="NM_DEPRECATED_IN_1_24_FOR ()">NM_DEPRECATED_IN_1_24_FOR</a> <span class="c_punctuation">()</span>
 </td>
 </tr>
 <tr>
@@ -342,12 +342,12 @@ nm_device_macsec_get_parent (<em class="parameter"><code><a class="link" href="N
 <p>the device's parent device. </p>
 <p><span class="annotation">[<acronym title="The data is owned by the callee, which is responsible of freeing it."><span class="acronym">transfer none</span></acronym>]</span></p>
 </div>
-<p class="since">Since: 1.6</p>
+<p class="since">Since: 1.42, 1.40.4</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="NM-DEPRECATED-IN-1-24-FOR:CAPS"></a><h3>NM_DEPRECATED_IN_1_24_FOR ()</h3>
-<pre class="programlisting"><span class="returnvalue">4</span>
+<pre class="programlisting"><span class="returnvalue">0</span>
 NM_DEPRECATED_IN_1_24_FOR ();</pre>
 <div class="warning"><p><code class="literal">NM_DEPRECATED_IN_1_24_FOR</code> is deprecated and should not be used in newly-written code.</p></div>
 </div>
@@ -770,6 +770,7 @@ nm_device_macsec_get_replay_protect (<em class="parameter"><code><a class="link"
 <div class="refsect2">
 <a name="NMDeviceMacsec-struct"></a><h3>NMDeviceMacsec</h3>
 <pre class="programlisting">typedef struct _NMDeviceMacsec NMDeviceMacsec;</pre>
+<p class="since">Since: 1.6</p>
 </div>
 </div>
 <div class="refsect1">
diff --git a/docs/libnm/html/NMDeviceMacvlan.html b/docs/libnm/html/NMDeviceMacvlan.html
index c034178f..ee7e068a 100644
--- a/docs/libnm/html/NMDeviceMacvlan.html
+++ b/docs/libnm/html/NMDeviceMacvlan.html
@@ -74,10 +74,10 @@
 </tr>
 <tr>
 <td class="function_type">
-<span class="returnvalue">4</span>
+<span class="returnvalue">0</span>
 </td>
 <td class="function_name">
-<a class="link" href="NMDevice6Lowpan.html#NM-DEPRECATED-IN-1-24-FOR:CAPS" title="NM_DEPRECATED_IN_1_24_FOR ()">NM_DEPRECATED_IN_1_24_FOR</a> <span class="c_punctuation">()</span>
+<a class="link" href="NMDeviceDummy.html#NM-DEPRECATED-IN-1-24-FOR:CAPS" title="NM_DEPRECATED_IN_1_24_FOR ()">NM_DEPRECATED_IN_1_24_FOR</a> <span class="c_punctuation">()</span>
 </td>
 </tr>
 </tbody>
@@ -276,7 +276,7 @@ nm_device_macvlan_get_tap (<em class="parameter"><code><a class="link" href="NMD
 <hr>
 <div class="refsect2">
 <a name="NM-DEPRECATED-IN-1-24-FOR:CAPS"></a><h3>NM_DEPRECATED_IN_1_24_FOR ()</h3>
-<pre class="programlisting"><span class="returnvalue">4</span>
+<pre class="programlisting"><span class="returnvalue">0</span>
 NM_DEPRECATED_IN_1_24_FOR ();</pre>
 <div class="warning"><p><code class="literal">NM_DEPRECATED_IN_1_24_FOR</code> is deprecated and should not be used in newly-written code.</p></div>
 </div>
@@ -316,6 +316,7 @@ NM_DEPRECATED_IN_1_24_FOR ();</pre>
 <div class="refsect2">
 <a name="NMDeviceMacvlan-struct"></a><h3>NMDeviceMacvlan</h3>
 <pre class="programlisting">typedef struct _NMDeviceMacvlan NMDeviceMacvlan;</pre>
+<p class="since">Since: 1.2</p>
 </div>
 </div>
 <div class="refsect1">
diff --git a/docs/libnm/html/NMDeviceOvsBridge.html b/docs/libnm/html/NMDeviceOvsBridge.html
index 180c3e81..527ab9c1 100644
--- a/docs/libnm/html/NMDeviceOvsBridge.html
+++ b/docs/libnm/html/NMDeviceOvsBridge.html
@@ -144,6 +144,7 @@ copy used by the device, and must not be modified. </p>
 <div class="refsect2">
 <a name="NMDeviceOvsBridge-struct"></a><h3>NMDeviceOvsBridge</h3>
 <pre class="programlisting">typedef struct _NMDeviceOvsBridge NMDeviceOvsBridge;</pre>
+<p class="since">Since: 1.10</p>
 </div>
 </div>
 <div class="refsect1">
diff --git a/docs/libnm/html/NMDeviceOvsInterface.html b/docs/libnm/html/NMDeviceOvsInterface.html
index 58e76d48..a1f3fd7b 100644
--- a/docs/libnm/html/NMDeviceOvsInterface.html
+++ b/docs/libnm/html/NMDeviceOvsInterface.html
@@ -65,6 +65,7 @@
 <div class="refsect2">
 <a name="NMDeviceOvsInterface-struct"></a><h3>NMDeviceOvsInterface</h3>
 <pre class="programlisting">typedef struct _NMDeviceOvsInterface NMDeviceOvsInterface;</pre>
+<p class="since">Since: 1.10</p>
 </div>
 </div>
 </div>
diff --git a/docs/libnm/html/NMDeviceOvsPort.html b/docs/libnm/html/NMDeviceOvsPort.html
index b15ac45c..9f51f3e2 100644
--- a/docs/libnm/html/NMDeviceOvsPort.html
+++ b/docs/libnm/html/NMDeviceOvsPort.html
@@ -144,6 +144,7 @@ copy used by the device, and must not be modified. </p>
 <div class="refsect2">
 <a name="NMDeviceOvsPort-struct"></a><h3>NMDeviceOvsPort</h3>
 <pre class="programlisting">typedef struct _NMDeviceOvsPort NMDeviceOvsPort;</pre>
+<p class="since">Since: 1.10</p>
 </div>
 </div>
 <div class="refsect1">
diff --git a/docs/libnm/html/NMDevicePpp.html b/docs/libnm/html/NMDevicePpp.html
index 2272269e..e44bffc7 100644
--- a/docs/libnm/html/NMDevicePpp.html
+++ b/docs/libnm/html/NMDevicePpp.html
@@ -65,6 +65,7 @@
 <div class="refsect2">
 <a name="NMDevicePpp-struct"></a><h3>NMDevicePpp</h3>
 <pre class="programlisting">typedef struct _NMDevicePpp NMDevicePpp;</pre>
+<p class="since">Since: 1.10</p>
 </div>
 </div>
 </div>
diff --git a/docs/libnm/html/NMDeviceTun.html b/docs/libnm/html/NMDeviceTun.html
index 8662e739..21b82f23 100644
--- a/docs/libnm/html/NMDeviceTun.html
+++ b/docs/libnm/html/NMDeviceTun.html
@@ -43,10 +43,10 @@
 <tbody>
 <tr>
 <td class="function_type">
-<span class="returnvalue">4</span>
+<span class="returnvalue">0</span>
 </td>
 <td class="function_name">
-<a class="link" href="NMDevice6Lowpan.html#NM-DEPRECATED-IN-1-24-FOR:CAPS" title="NM_DEPRECATED_IN_1_24_FOR ()">NM_DEPRECATED_IN_1_24_FOR</a> <span class="c_punctuation">()</span>
+<a class="link" href="NMDeviceDummy.html#NM-DEPRECATED-IN-1-24-FOR:CAPS" title="NM_DEPRECATED_IN_1_24_FOR ()">NM_DEPRECATED_IN_1_24_FOR</a> <span class="c_punctuation">()</span>
 </td>
 </tr>
 <tr>
@@ -200,7 +200,7 @@
 <a name="NMDeviceTun.functions_details"></a><h2>Functions</h2>
 <div class="refsect2">
 <a name="NM-DEPRECATED-IN-1-24-FOR:CAPS"></a><h3>NM_DEPRECATED_IN_1_24_FOR ()</h3>
-<pre class="programlisting"><span class="returnvalue">4</span>
+<pre class="programlisting"><span class="returnvalue">0</span>
 NM_DEPRECATED_IN_1_24_FOR ();</pre>
 <div class="warning"><p><code class="literal">NM_DEPRECATED_IN_1_24_FOR</code> is deprecated and should not be used in newly-written code.</p></div>
 </div>
@@ -290,6 +290,27 @@ nm_device_tun_get_group (<em class="parameter"><code><a class="link" href="NMDev
 <a name="nm-device-tun-get-no-pi"></a><h3>nm_device_tun_get_no_pi ()</h3>
 <pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 nm_device_tun_get_no_pi (<em class="parameter"><code><a class="link" href="NMDeviceTun.html" title="NMDeviceTun"><span class="type">NMDeviceTun</span></a> *device</code></em>);</pre>
+<p>Returns whether the <a class="link" href="NMDeviceTun.html" title="NMDeviceTun"><span class="type">NMDeviceTun</span></a> has the IFF_NO_PI flag.</p>
+<div class="refsect3">
+<a name="nm-device-tun-get-no-pi.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>device</p></td>
+<td class="parameter_description"><p>a <a class="link" href="NMDeviceTun.html" title="NMDeviceTun"><span class="type">NMDeviceTun</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="nm-device-tun-get-no-pi.returns"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the device has the flag, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise</p>
+</div>
+<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -393,6 +414,7 @@ nm_device_tun_get_multi_queue (<em class="parameter"><code><a class="link" href=
 <div class="refsect2">
 <a name="NMDeviceTun-struct"></a><h3>NMDeviceTun</h3>
 <pre class="programlisting">typedef struct _NMDeviceTun NMDeviceTun;</pre>
+<p class="since">Since: 1.2</p>
 </div>
 </div>
 <div class="refsect1">
diff --git a/docs/libnm/html/NMDeviceVeth.html b/docs/libnm/html/NMDeviceVeth.html
index b74ad941..6f135a0d 100644
--- a/docs/libnm/html/NMDeviceVeth.html
+++ b/docs/libnm/html/NMDeviceVeth.html
@@ -123,7 +123,7 @@ nm_device_veth_get_peer (<em class="parameter"><code><a class="link" href="NMDev
 <p>the device's peer device. </p>
 <p><span class="annotation">[<acronym title="The data is owned by the callee, which is responsible of freeing it."><span class="acronym">transfer none</span></acronym>]</span></p>
 </div>
-<p class="since">Since: 1.30</p>
+<p class="since">Since: 1.42, 1.40.4</p>
 </div>
 </div>
 <div class="refsect1">
@@ -137,6 +137,7 @@ nm_device_veth_get_peer (<em class="parameter"><code><a class="link" href="NMDev
 <div class="refsect2">
 <a name="NMDeviceVeth-struct"></a><h3>NMDeviceVeth</h3>
 <pre class="programlisting">typedef struct _NMDeviceVeth NMDeviceVeth;</pre>
+<p class="since">Since: 1.30</p>
 </div>
 </div>
 <div class="refsect1">
diff --git a/docs/libnm/html/NMDeviceVrf.html b/docs/libnm/html/NMDeviceVrf.html
index 3ed71874..881d52ff 100644
--- a/docs/libnm/html/NMDeviceVrf.html
+++ b/docs/libnm/html/NMDeviceVrf.html
@@ -134,6 +134,7 @@ nm_device_vrf_get_table (<em class="parameter"><code><a class="link" href="NMDev
 <div class="refsect2">
 <a name="NMDeviceVrf-struct"></a><h3>NMDeviceVrf</h3>
 <pre class="programlisting">typedef struct _NMDeviceVrf NMDeviceVrf;</pre>
+<p class="since">Since: 1.24</p>
 </div>
 </div>
 <div class="refsect1">
diff --git a/docs/libnm/html/NMDeviceVxlan.html b/docs/libnm/html/NMDeviceVxlan.html
index 1a6907e6..c288d09b 100644
--- a/docs/libnm/html/NMDeviceVxlan.html
+++ b/docs/libnm/html/NMDeviceVxlan.html
@@ -43,10 +43,10 @@
 <tbody>
 <tr>
 <td class="function_type">
-<span class="returnvalue">4</span>
+<span class="returnvalue">0</span>
 </td>
 <td class="function_name">
-<a class="link" href="NMDevice6Lowpan.html#NM-DEPRECATED-IN-1-24-FOR:CAPS" title="NM_DEPRECATED_IN_1_24_FOR ()">NM_DEPRECATED_IN_1_24_FOR</a> <span class="c_punctuation">()</span>
+<a class="link" href="NMDeviceDummy.html#NM-DEPRECATED-IN-1-24-FOR:CAPS" title="NM_DEPRECATED_IN_1_24_FOR ()">NM_DEPRECATED_IN_1_24_FOR</a> <span class="c_punctuation">()</span>
 </td>
 </tr>
 <tr>
@@ -388,7 +388,7 @@
 <a name="NMDeviceVxlan.functions_details"></a><h2>Functions</h2>
 <div class="refsect2">
 <a name="NM-DEPRECATED-IN-1-24-FOR:CAPS"></a><h3>NM_DEPRECATED_IN_1_24_FOR ()</h3>
-<pre class="programlisting"><span class="returnvalue">4</span>
+<pre class="programlisting"><span class="returnvalue">0</span>
 NM_DEPRECATED_IN_1_24_FOR ();</pre>
 <div class="warning"><p><code class="literal">NM_DEPRECATED_IN_1_24_FOR</code> is deprecated and should not be used in newly-written code.</p></div>
 </div>
@@ -419,7 +419,7 @@ nm_device_vxlan_get_carrier (<em class="parameter"><code><a class="link" href="N
 <p>This property is not implemented yet, and the function always returns
 FALSE.</p>
 </div>
-<p class="since">Since: 1.2</p>
+<p class="since">Since: 1.42, 1.40.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -786,7 +786,7 @@ nm_device_vxlan_get_rsc (<em class="parameter"><code><a class="link" href="NMDev
 <a name="nm-device-vxlan-get-rsc.returns"></a><h4>Returns</h4>
 <p> whether route short circuit is turned on</p>
 </div>
-<p class="since">Since: 1.2</p>
+<p class="since">Since: 1.42, 1.40.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -954,6 +954,7 @@ nm_device_vxlan_get_l3miss (<em class="parameter"><code><a class="link" href="NM
 <div class="refsect2">
 <a name="NMDeviceVxlan-struct"></a><h3>NMDeviceVxlan</h3>
 <pre class="programlisting">typedef struct _NMDeviceVxlan NMDeviceVxlan;</pre>
+<p class="since">Since: 1.2</p>
 </div>
 </div>
 <div class="refsect1">
diff --git a/docs/libnm/html/NMDeviceWifiP2P.html b/docs/libnm/html/NMDeviceWifiP2P.html
index 7d0bd519..b5944e1e 100644
--- a/docs/libnm/html/NMDeviceWifiP2P.html
+++ b/docs/libnm/html/NMDeviceWifiP2P.html
@@ -44,10 +44,10 @@
 <tbody>
 <tr>
 <td class="function_type">
-<span class="returnvalue">4</span>
+<span class="returnvalue">0</span>
 </td>
 <td class="function_name">
-<a class="link" href="NMDevice6Lowpan.html#NM-DEPRECATED-IN-1-24-FOR:CAPS" title="NM_DEPRECATED_IN_1_24_FOR ()">NM_DEPRECATED_IN_1_24_FOR</a> <span class="c_punctuation">()</span>
+<a class="link" href="NMDeviceDummy.html#NM-DEPRECATED-IN-1-24-FOR:CAPS" title="NM_DEPRECATED_IN_1_24_FOR ()">NM_DEPRECATED_IN_1_24_FOR</a> <span class="c_punctuation">()</span>
 </td>
 </tr>
 <tr>
@@ -180,7 +180,7 @@
 <a name="NMDeviceWifiP2P.functions_details"></a><h2>Functions</h2>
 <div class="refsect2">
 <a name="NM-DEPRECATED-IN-1-24-FOR:CAPS"></a><h3>NM_DEPRECATED_IN_1_24_FOR ()</h3>
-<pre class="programlisting"><span class="returnvalue">4</span>
+<pre class="programlisting"><span class="returnvalue">0</span>
 NM_DEPRECATED_IN_1_24_FOR ();</pre>
 <div class="warning"><p><code class="literal">NM_DEPRECATED_IN_1_24_FOR</code> is deprecated and should not be used in newly-written code.</p></div>
 </div>
@@ -218,7 +218,7 @@ nm_device_wifi_p2p_get_peer_by_path (<em class="parameter"><code><a class="link"
 <p>the peer or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if none is found. </p>
 <p><span class="annotation">[<acronym title="The data is owned by the callee, which is responsible of freeing it."><span class="acronym">transfer none</span></acronym>]</span></p>
 </div>
-<p class="since">Since: 1.16</p>
+<p class="since">Since: 1.42, 1.40.4</p>
 </div>
 <hr>
 <div class="refsect2">
diff --git a/docs/libnm/html/NMDeviceWireGuard.html b/docs/libnm/html/NMDeviceWireGuard.html
index 519b9a62..bb13e92f 100644
--- a/docs/libnm/html/NMDeviceWireGuard.html
+++ b/docs/libnm/html/NMDeviceWireGuard.html
@@ -243,6 +243,7 @@ See: ip-rule(8)</p>
 <div class="refsect2">
 <a name="NMDeviceWireGuard-struct"></a><h3>NMDeviceWireGuard</h3>
 <pre class="programlisting">typedef struct _NMDeviceWireGuard NMDeviceWireGuard;</pre>
+<p class="since">Since: 1.14</p>
 </div>
 </div>
 <div class="refsect1">
diff --git a/docs/libnm/html/NMDeviceWpan.html b/docs/libnm/html/NMDeviceWpan.html
index db0cc11b..b17f1afb 100644
--- a/docs/libnm/html/NMDeviceWpan.html
+++ b/docs/libnm/html/NMDeviceWpan.html
@@ -33,23 +33,6 @@
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
 <div class="refsect1">
-<a name="NMDeviceWpan.functions"></a><h2>Functions</h2>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="150px" class="functions_proto_type">
-<col class="functions_proto_name">
-</colgroup>
-<tbody><tr>
-<td class="function_type">
-<span class="returnvalue">4</span>
-</td>
-<td class="function_name">
-<a class="link" href="NMDevice6Lowpan.html#NM-DEPRECATED-IN-1-24-FOR:CAPS" title="NM_DEPRECATED_IN_1_24_FOR ()">NM_DEPRECATED_IN_1_24_FOR</a> <span class="c_punctuation">()</span>
-</td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect1">
 <a name="NMDeviceWpan.other"></a><h2>Types and Values</h2>
 <div class="informaltable"><table class="informaltable" width="100%" border="0">
 <colgroup>
@@ -81,12 +64,7 @@
 </div>
 <div class="refsect1">
 <a name="NMDeviceWpan.functions_details"></a><h2>Functions</h2>
-<div class="refsect2">
-<a name="NM-DEPRECATED-IN-1-24-FOR:CAPS"></a><h3>NM_DEPRECATED_IN_1_24_FOR ()</h3>
-<pre class="programlisting"><span class="returnvalue">4</span>
-NM_DEPRECATED_IN_1_24_FOR ();</pre>
-<div class="warning"><p><code class="literal">NM_DEPRECATED_IN_1_24_FOR</code> is deprecated and should not be used in newly-written code.</p></div>
-</div>
+<p></p>
 </div>
 <div class="refsect1">
 <a name="NMDeviceWpan.other_details"></a><h2>Types and Values</h2>
@@ -99,6 +77,7 @@ NM_DEPRECATED_IN_1_24_FOR ();</pre>
 <div class="refsect2">
 <a name="NMDeviceWpan-struct"></a><h3>NMDeviceWpan</h3>
 <pre class="programlisting">typedef struct _NMDeviceWpan NMDeviceWpan;</pre>
+<p class="since">Since: 1.14</p>
 </div>
 </div>
 </div>
diff --git a/docs/libnm/html/NMRemoteConnection.html b/docs/libnm/html/NMRemoteConnection.html
index dedf951f..feae6e7b 100644
--- a/docs/libnm/html/NMRemoteConnection.html
+++ b/docs/libnm/html/NMRemoteConnection.html
@@ -382,6 +382,7 @@ nm_remote_connection_update2_finish (<em class="parameter"><code><a class="link"
 <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p>
 <p><span class="annotation">[<acronym title="The caller owns the data, and is responsible for free it."><span class="acronym">transfer full</span></acronym>]</span></p>
 </div>
+<p class="since">Since: 1.12</p>
 </div>
 <hr>
 <div class="refsect2">
diff --git a/docs/libnm/html/NMSetting.html b/docs/libnm/html/NMSetting.html
index 36675132..d7259309 100644
--- a/docs/libnm/html/NMSetting.html
+++ b/docs/libnm/html/NMSetting.html
@@ -868,7 +868,7 @@ nm_setting_option_get (<em class="parameter"><code><a class="link" href="NMSetti
 is not set. </p>
 <p><span class="annotation">[<acronym title="The data is owned by the callee, which is responsible of freeing it."><span class="acronym">transfer none</span></acronym>]</span></p>
 </div>
-<p class="since">Since: 1.26.</p>
+<p class="since">Since: 1.26</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1178,19 +1178,19 @@ on <em class="parameter"><code>setting</code></em>
 <a name="NMSetting.other_details"></a><h2>Types and Values</h2>
 <div class="refsect2">
 <a name="NM-SETTING-PARAM-REQUIRED:CAPS"></a><h3>NM_SETTING_PARAM_REQUIRED</h3>
-<pre class="programlisting">#define NM_SETTING_PARAM_REQUIRED (1 &lt;&lt; (1 + G_PARAM_USER_SHIFT))
+<pre class="programlisting">#define NM_SETTING_PARAM_REQUIRED 0x200
 </pre>
 </div>
 <hr>
 <div class="refsect2">
 <a name="NM-SETTING-PARAM-SECRET:CAPS"></a><h3>NM_SETTING_PARAM_SECRET</h3>
-<pre class="programlisting">#define NM_SETTING_PARAM_SECRET (1 &lt;&lt; (2 + G_PARAM_USER_SHIFT))
+<pre class="programlisting">#define NM_SETTING_PARAM_SECRET 0x400
 </pre>
 </div>
 <hr>
 <div class="refsect2">
 <a name="NM-SETTING-PARAM-FUZZY-IGNORE:CAPS"></a><h3>NM_SETTING_PARAM_FUZZY_IGNORE</h3>
-<pre class="programlisting">#define NM_SETTING_PARAM_FUZZY_IGNORE (1 &lt;&lt; (3 + G_PARAM_USER_SHIFT))
+<pre class="programlisting">#define NM_SETTING_PARAM_FUZZY_IGNORE 0x800
 </pre>
 </div>
 <hr>
@@ -1398,6 +1398,7 @@ overridden by user-controlled defaults configuration, is "never".</p>
 </tbody>
 </table></div>
 </div>
+<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
diff --git a/docs/libnm/html/NMSetting6Lowpan.html b/docs/libnm/html/NMSetting6Lowpan.html
index f179af2b..742af78b 100644
--- a/docs/libnm/html/NMSetting6Lowpan.html
+++ b/docs/libnm/html/NMSetting6Lowpan.html
@@ -93,7 +93,7 @@ nm_setting_6lowpan_new (<em class="parameter"><code><span class="type">void</spa
 <p>the new empty <a class="link" href="NMSetting6Lowpan.html" title="NMSetting6Lowpan"><span class="type">NMSetting6Lowpan</span></a> object. </p>
 <p><span class="annotation">[<acronym title="The caller owns the data, and is responsible for free it."><span class="acronym">transfer full</span></acronym>]</span></p>
 </div>
-<p class="since">Since: 1.14</p>
+<p class="since">Since: 1.42, 1.40.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -119,7 +119,7 @@ nm_setting_6lowpan_get_parent (<em class="parameter"><code><a class="link" href=
 <a name="nm-setting-6lowpan-get-parent.returns"></a><h4>Returns</h4>
 <p> the <span class="type">“parentâ€</span> property of the setting</p>
 </div>
-<p class="since">Since: 1.14</p>
+<p class="since">Since: 1.42, 1.40.4</p>
 </div>
 </div>
 <div class="refsect1">
diff --git a/docs/libnm/html/NMSetting8021x.html b/docs/libnm/html/NMSetting8021x.html
index f8759573..c79db83f 100644
--- a/docs/libnm/html/NMSetting8021x.html
+++ b/docs/libnm/html/NMSetting8021x.html
@@ -1106,7 +1106,7 @@ nm_setting_802_1x_get_eap_method (<em class="parameter"><code><a class="link" hr
 nm_setting_802_1x_add_eap_method (<em class="parameter"><code><a class="link" href="NMSetting8021x.html" title="NMSetting8021x"><span class="type">NMSetting8021x</span></a> *setting</code></em>,
                                   <em class="parameter"><code>const <span class="type">char</span> *eap</code></em>);</pre>
 <p>Adds an allowed EAP method.  The setting is not valid until at least one
-EAP method has been added.  See <span class="type">“eapâ€</span> property for a list of
+EAP method has been added.  See <a href="/usr/share/gtk-doc/html/libnm-util/NMSetting8021x.html#NMSetting8021x--eap"><span class="type">“eapâ€</span></a> property for a list of
 allowed EAP methods.</p>
 <div class="refsect3">
 <a name="nm-setting-802-1x-add-eap-method.parameters"></a><h4>Parameters</h4>
@@ -1259,7 +1259,7 @@ nm_setting_802_1x_get_anonymous_identity
                                (<em class="parameter"><code><a class="link" href="NMSetting8021x.html" title="NMSetting8021x"><span class="type">NMSetting8021x</span></a> *setting</code></em>);</pre>
 <p>Returns the anonymous identifier used by some EAP methods (like TTLS) to
 authenticate the user in the outer unencrypted "phase 1" authentication.  The
-inner "phase 2" authentication will use the <span class="type">“identityâ€</span> in
+inner "phase 2" authentication will use the <a href="/usr/share/gtk-doc/html/libnm-util/NMSetting8021x.html#NMSetting8021x--identity"><span class="type">“identityâ€</span></a> in
 a secure form, if applicable for that EAP method.</p>
 <div class="refsect3">
 <a name="nm-setting-802-1x-get-anonymous-identity.parameters"></a><h4>Parameters</h4>
@@ -1312,9 +1312,9 @@ nm_setting_802_1x_get_pac_file (<em class="parameter"><code><a class="link" href
 <a name="nm-setting-802-1x-get-system-ca-certs"></a><h3>nm_setting_802_1x_get_system_ca_certs ()</h3>
 <pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 nm_setting_802_1x_get_system_ca_certs (<em class="parameter"><code><a class="link" href="NMSetting8021x.html" title="NMSetting8021x"><span class="type">NMSetting8021x</span></a> *setting</code></em>);</pre>
-<p>Sets the <span class="type">“system-ca-certsâ€</span> property. The
-<span class="type">“ca-pathâ€</span> and <span class="type">“phase2-ca-pathâ€</span>
-properties are ignored if the <span class="type">“system-ca-certsâ€</span> property is
+<p>Sets the <a href="/usr/share/gtk-doc/html/libnm-util/NMSetting8021x.html#NMSetting8021x--system-ca-certs"><span class="type">“system-ca-certsâ€</span></a> property. The
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSetting8021x.html#NMSetting8021x--ca-path"><span class="type">“ca-pathâ€</span></a> and <a href="/usr/share/gtk-doc/html/libnm-util/NMSetting8021x.html#NMSetting8021x--phase2-ca-path"><span class="type">“phase2-ca-pathâ€</span></a>
+properties are ignored if the <a href="/usr/share/gtk-doc/html/libnm-util/NMSetting8021x.html#NMSetting8021x--system-ca-certs"><span class="type">“system-ca-certsâ€</span></a> property is
 <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, in which case a system-wide CA certificate directory specified at
 compile time (using the --system-ca-path configure option) is used in place
 of these properties.</p>
@@ -1346,7 +1346,7 @@ nm_setting_802_1x_get_ca_path (<em class="parameter"><code><a class="link" href=
 <p>Returns the path of the CA certificate directory if previously set.  Systems
 will often have a directory that contains multiple individual CA certificates
 which the supplicant can then add to the verification chain.  This may be
-used in addition to the <span class="type">“ca-certâ€</span> property to add more CA
+used in addition to the <a href="/usr/share/gtk-doc/html/libnm-util/NMSetting8021x.html#NMSetting8021x--ca-cert"><span class="type">“ca-certâ€</span></a> property to add more CA
 certificates for verifying the network to client.</p>
 <div class="refsect3">
 <a name="nm-setting-802-1x-get-ca-path.parameters"></a><h4>Parameters</h4>
@@ -1376,7 +1376,7 @@ nm_setting_802_1x_get_phase2_ca_path (<em class="parameter"><code><a class="link
 <p>Returns the path of the "phase 2" CA certificate directory if previously set.
 Systems will often have a directory that contains multiple individual CA
 certificates which the supplicant can then add to the verification chain.
-This may be used in addition to the <span class="type">“phase2-ca-certâ€</span> property
+This may be used in addition to the <a href="/usr/share/gtk-doc/html/libnm-util/NMSetting8021x.html#NMSetting8021x--phase2-ca-cert"><span class="type">“phase2-ca-certâ€</span></a> property
 to add more CA certificates for verifying the network to client.</p>
 <div class="refsect3">
 <a name="nm-setting-802-1x-get-phase2-ca-path.parameters"></a><h4>Parameters</h4>
@@ -1531,7 +1531,7 @@ nm_setting_802_1x_set_ca_cert (<em class="parameter"><code><a class="link" href=
                                <em class="parameter"><code><a class="link" href="NMSetting8021x.html#NMSetting8021xCKScheme" title="enum NMSetting8021xCKScheme"><span class="type">NMSetting8021xCKScheme</span></a> scheme</code></em>,
                                <em class="parameter"><code><a class="link" href="NMSetting8021x.html#NMSetting8021xCKFormat" title="enum NMSetting8021xCKFormat"><span class="type">NMSetting8021xCKFormat</span></a> *out_format</code></em>,
                                <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
-<p>Reads a certificate from disk and sets the <span class="type">“ca-certâ€</span> property
+<p>Reads a certificate from disk and sets the <a href="/usr/share/gtk-doc/html/libnm-util/NMSetting8021x.html#NMSetting8021x--ca-cert"><span class="type">“ca-certâ€</span></a> property
 with the raw certificate data if using the <a class="link" href="NMSetting8021x.html#NM-SETTING-802-1X-CK-SCHEME-BLOB:CAPS"><code class="literal">NM_SETTING_802_1X_CK_SCHEME_BLOB</code></a>
 scheme, or with the path to the certificate file if using the
 <a class="link" href="NMSetting8021x.html#NM-SETTING-802-1X-CK-SCHEME-PATH:CAPS"><code class="literal">NM_SETTING_802_1X_CK_SCHEME_PATH</code></a> scheme.</p>
@@ -1606,7 +1606,7 @@ nm_setting_802_1x_get_ca_cert_password
 <div class="refsect3">
 <a name="nm-setting-802-1x-get-ca-cert-password.returns"></a><h4>Returns</h4>
 <p> the password used to access the CA certificate stored in
-<span class="type">“ca-certâ€</span> property. Only makes sense if the certificate
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSetting8021x.html#NMSetting8021x--ca-cert"><span class="type">“ca-certâ€</span></a> property. Only makes sense if the certificate
 is stored on a PKCS#11 token that requires a login.</p>
 </div>
 <p class="since">Since: 1.8</p>
@@ -1661,7 +1661,7 @@ nm_setting_802_1x_get_subject_match (<em class="parameter"><code><a class="link"
 </div>
 <div class="refsect3">
 <a name="nm-setting-802-1x-get-subject-match.returns"></a><h4>Returns</h4>
-<p> the <span class="type">“subject-matchâ€</span> property. This is the
+<p> the <a href="/usr/share/gtk-doc/html/libnm-util/NMSetting8021x.html#NMSetting8021x--subject-match"><span class="type">“subject-matchâ€</span></a> property. This is the
 substring to be matched against the subject of the authentication
 server certificate, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> no subject verification is to be
 performed.</p>
@@ -1674,7 +1674,7 @@ performed.</p>
 nm_setting_802_1x_get_num_altsubject_matches
                                (<em class="parameter"><code><a class="link" href="NMSetting8021x.html" title="NMSetting8021x"><span class="type">NMSetting8021x</span></a> *setting</code></em>);</pre>
 <p>Returns the number of entries in the
-<span class="type">“altsubject-matchesâ€</span> property of this setting.</p>
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSetting8021x.html#NMSetting8021x--altsubject-matches"><span class="type">“altsubject-matchesâ€</span></a> property of this setting.</p>
 <div class="refsect3">
 <a name="nm-setting-802-1x-get-num-altsubject-matches.parameters"></a><h4>Parameters</h4>
 <div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -2044,7 +2044,7 @@ nm_setting_802_1x_set_client_cert (<em class="parameter"><code><a class="link" h
                                    <em class="parameter"><code><a class="link" href="NMSetting8021x.html#NMSetting8021xCKScheme" title="enum NMSetting8021xCKScheme"><span class="type">NMSetting8021xCKScheme</span></a> scheme</code></em>,
                                    <em class="parameter"><code><a class="link" href="NMSetting8021x.html#NMSetting8021xCKFormat" title="enum NMSetting8021xCKFormat"><span class="type">NMSetting8021xCKFormat</span></a> *out_format</code></em>,
                                    <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
-<p>Reads a certificate from disk and sets the <span class="type">“client-certâ€</span>
+<p>Reads a certificate from disk and sets the <a href="/usr/share/gtk-doc/html/libnm-util/NMSetting8021x.html#NMSetting8021x--client-cert"><span class="type">“client-certâ€</span></a>
 property with the raw certificate data if using the
 <a class="link" href="NMSetting8021x.html#NM-SETTING-802-1X-CK-SCHEME-BLOB:CAPS"><code class="literal">NM_SETTING_802_1X_CK_SCHEME_BLOB</code></a> scheme, or with the path to the certificate
 file if using the <a class="link" href="NMSetting8021x.html#NM-SETTING-802-1X-CK-SCHEME-PATH:CAPS"><code class="literal">NM_SETTING_802_1X_CK_SCHEME_PATH</code></a> scheme.</p>
@@ -2123,7 +2123,7 @@ nm_setting_802_1x_get_client_cert_password
 <div class="refsect3">
 <a name="nm-setting-802-1x-get-client-cert-password.returns"></a><h4>Returns</h4>
 <p> the password used to access the client certificate stored in
-<span class="type">“client-certâ€</span> property. Only makes sense if the certificate
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSetting8021x.html#NMSetting8021x--client-cert"><span class="type">“client-certâ€</span></a> property. Only makes sense if the certificate
 is stored on a PKCS#11 token that requires a login.</p>
 </div>
 <p class="since">Since: 1.8</p>
@@ -2179,7 +2179,7 @@ nm_setting_802_1x_get_phase1_peapver (<em class="parameter"><code><a class="link
 <div class="refsect3">
 <a name="nm-setting-802-1x-get-phase1-peapver.returns"></a><h4>Returns</h4>
 <p> the "phase 1" PEAP version to be used when authenticating with
-EAP-PEAP as contained in the <span class="type">“phase1-peapverâ€</span> property.  Valid
+EAP-PEAP as contained in the <a href="/usr/share/gtk-doc/html/libnm-util/NMSetting8021x.html#NMSetting8021x--phase1-peapver"><span class="type">“phase1-peapverâ€</span></a> property.  Valid
 values are <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> (unset), "0" (PEAP version 0), and "1" (PEAP version 1).</p>
 </div>
 </div>
@@ -2208,7 +2208,7 @@ nm_setting_802_1x_get_phase1_peaplabel
 <a name="nm-setting-802-1x-get-phase1-peaplabel.returns"></a><h4>Returns</h4>
 <p> whether the "phase 1" PEAP label is new-style or old-style, to be
 used when authenticating with EAP-PEAP, as contained in the
-<span class="type">“phase1-peaplabelâ€</span> property.  Valid values are <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> (unset),
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSetting8021x.html#NMSetting8021x--phase1-peaplabel"><span class="type">“phase1-peaplabelâ€</span></a> property.  Valid values are <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> (unset),
 "0" (use old-style label), and "1" (use new-style label).  See the
 wpa_supplicant documentation for more details.</p>
 </div>
@@ -2237,7 +2237,7 @@ nm_setting_802_1x_get_phase1_fast_provisioning
 <div class="refsect3">
 <a name="nm-setting-802-1x-get-phase1-fast-provisioning.returns"></a><h4>Returns</h4>
 <p> whether "phase 1" PEAP fast provisioning should be used, as specified
-by the <span class="type">“phase1-fast-provisioningâ€</span> property.  See the
+by the <a href="/usr/share/gtk-doc/html/libnm-util/NMSetting8021x.html#NMSetting8021x--phase1-fast-provisioning"><span class="type">“phase1-fast-provisioningâ€</span></a> property.  See the
 wpa_supplicant documentation for more details.</p>
 </div>
 </div>
@@ -2264,7 +2264,7 @@ nm_setting_802_1x_get_phase2_auth (<em class="parameter"><code><a class="link" h
 <div class="refsect3">
 <a name="nm-setting-802-1x-get-phase2-auth.returns"></a><h4>Returns</h4>
 <p> the "phase 2" non-EAP (ex MD5) allowed authentication method as
-specified by the <span class="type">“phase2-authâ€</span> property.</p>
+specified by the <a href="/usr/share/gtk-doc/html/libnm-util/NMSetting8021x.html#NMSetting8021x--phase2-auth"><span class="type">“phase2-authâ€</span></a> property.</p>
 </div>
 </div>
 <hr>
@@ -2290,7 +2290,7 @@ nm_setting_802_1x_get_phase2_autheap (<em class="parameter"><code><a class="link
 <div class="refsect3">
 <a name="nm-setting-802-1x-get-phase2-autheap.returns"></a><h4>Returns</h4>
 <p> the "phase 2" EAP-based (ex TLS) allowed authentication method as
-specified by the <span class="type">“phase2-autheapâ€</span> property.</p>
+specified by the <a href="/usr/share/gtk-doc/html/libnm-util/NMSetting8021x.html#NMSetting8021x--phase2-autheap"><span class="type">“phase2-autheapâ€</span></a> property.</p>
 </div>
 </div>
 <hr>
@@ -2431,7 +2431,7 @@ nm_setting_802_1x_set_phase2_ca_cert (<em class="parameter"><code><a class="link
                                       <em class="parameter"><code><a class="link" href="NMSetting8021x.html#NMSetting8021xCKScheme" title="enum NMSetting8021xCKScheme"><span class="type">NMSetting8021xCKScheme</span></a> scheme</code></em>,
                                       <em class="parameter"><code><a class="link" href="NMSetting8021x.html#NMSetting8021xCKFormat" title="enum NMSetting8021xCKFormat"><span class="type">NMSetting8021xCKFormat</span></a> *out_format</code></em>,
                                       <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
-<p>Reads a certificate from disk and sets the <span class="type">“phase2-ca-certâ€</span>
+<p>Reads a certificate from disk and sets the <a href="/usr/share/gtk-doc/html/libnm-util/NMSetting8021x.html#NMSetting8021x--phase2-ca-cert"><span class="type">“phase2-ca-certâ€</span></a>
 property with the raw certificate data if using the
 <a class="link" href="NMSetting8021x.html#NM-SETTING-802-1X-CK-SCHEME-BLOB:CAPS"><code class="literal">NM_SETTING_802_1X_CK_SCHEME_BLOB</code></a> scheme, or with the path to the certificate
 file if using the <a class="link" href="NMSetting8021x.html#NM-SETTING-802-1X-CK-SCHEME-PATH:CAPS"><code class="literal">NM_SETTING_802_1X_CK_SCHEME_PATH</code></a> scheme.</p>
@@ -2506,7 +2506,7 @@ nm_setting_802_1x_get_phase2_ca_cert_password
 <div class="refsect3">
 <a name="nm-setting-802-1x-get-phase2-ca-cert-password.returns"></a><h4>Returns</h4>
 <p> the password used to access the "phase2" CA certificate stored in
-<span class="type">“phase2-ca-certâ€</span> property. Only makes sense if the certificate
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSetting8021x.html#NMSetting8021x--phase2-ca-cert"><span class="type">“phase2-ca-certâ€</span></a> property. Only makes sense if the certificate
 is stored on a PKCS#11 token that requires a login.</p>
 </div>
 <p class="since">Since: 1.8</p>
@@ -2535,7 +2535,7 @@ nm_setting_802_1x_get_phase2_ca_cert_password_flags
 <div class="refsect3">
 <a name="nm-setting-802-1x-get-phase2-ca-cert-password-flags.returns"></a><h4>Returns</h4>
 <p> the <a class="link" href="NMSetting.html#NMSettingSecretFlags" title="enum NMSettingSecretFlags"><span class="type">NMSettingSecretFlags</span></a> pertaining to the
-<span class="type">“phase2-private-key-passwordâ€</span></p>
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSetting8021x.html#NMSetting8021x--phase2-private-key-password"><span class="type">“phase2-private-key-passwordâ€</span></a></p>
 </div>
 <p class="since">Since: 1.8</p>
 </div>
@@ -2562,7 +2562,7 @@ nm_setting_802_1x_get_phase2_subject_match
 </div>
 <div class="refsect3">
 <a name="nm-setting-802-1x-get-phase2-subject-match.returns"></a><h4>Returns</h4>
-<p> the <span class="type">“phase2-subject-matchâ€</span> property. This is
+<p> the <a href="/usr/share/gtk-doc/html/libnm-util/NMSetting8021x.html#NMSetting8021x--phase2-subject-match"><span class="type">“phase2-subject-matchâ€</span></a> property. This is
 the substring to be matched against the subject of the "phase 2"
 authentication server certificate, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> no subject verification
 is to be performed.</p>
@@ -2575,7 +2575,7 @@ is to be performed.</p>
 nm_setting_802_1x_get_num_phase2_altsubject_matches
                                (<em class="parameter"><code><a class="link" href="NMSetting8021x.html" title="NMSetting8021x"><span class="type">NMSetting8021x</span></a> *setting</code></em>);</pre>
 <p>Returns the number of entries in the
-<span class="type">“phase2-altsubject-matchesâ€</span> property of this setting.</p>
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSetting8021x.html#NMSetting8021x--phase2-altsubject-matches"><span class="type">“phase2-altsubject-matchesâ€</span></a> property of this setting.</p>
 <div class="refsect3">
 <a name="nm-setting-802-1x-get-num-phase2-altsubject-matches.parameters"></a><h4>Parameters</h4>
 <div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -2952,7 +2952,7 @@ nm_setting_802_1x_set_phase2_client_cert
                                 <em class="parameter"><code><a class="link" href="NMSetting8021x.html#NMSetting8021xCKScheme" title="enum NMSetting8021xCKScheme"><span class="type">NMSetting8021xCKScheme</span></a> scheme</code></em>,
                                 <em class="parameter"><code><a class="link" href="NMSetting8021x.html#NMSetting8021xCKFormat" title="enum NMSetting8021xCKFormat"><span class="type">NMSetting8021xCKFormat</span></a> *out_format</code></em>,
                                 <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
-<p>Reads a certificate from disk and sets the <span class="type">“phase2-client-certâ€</span>
+<p>Reads a certificate from disk and sets the <a href="/usr/share/gtk-doc/html/libnm-util/NMSetting8021x.html#NMSetting8021x--phase2-client-cert"><span class="type">“phase2-client-certâ€</span></a>
 property with the raw certificate data if using the
 <a class="link" href="NMSetting8021x.html#NM-SETTING-802-1X-CK-SCHEME-BLOB:CAPS"><code class="literal">NM_SETTING_802_1X_CK_SCHEME_BLOB</code></a> scheme, or with the path to the certificate
 file if using the <a class="link" href="NMSetting8021x.html#NM-SETTING-802-1X-CK-SCHEME-PATH:CAPS"><code class="literal">NM_SETTING_802_1X_CK_SCHEME_PATH</code></a> scheme.</p>
@@ -3031,7 +3031,7 @@ nm_setting_802_1x_get_phase2_client_cert_password
 <div class="refsect3">
 <a name="nm-setting-802-1x-get-phase2-client-cert-password.returns"></a><h4>Returns</h4>
 <p> the password used to access the "phase2" client certificate stored in
-<span class="type">“phase2-client-certâ€</span> property. Only makes sense if the certificate
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSetting8021x.html#NMSetting8021x--phase2-client-cert"><span class="type">“phase2-client-certâ€</span></a> property. Only makes sense if the certificate
 is stored on a PKCS#11 token that requires a login.</p>
 </div>
 <p class="since">Since: 1.8</p>
@@ -3087,7 +3087,7 @@ nm_setting_802_1x_get_password (<em class="parameter"><code><a class="link" href
 <div class="refsect3">
 <a name="nm-setting-802-1x-get-password.returns"></a><h4>Returns</h4>
 <p> the password used by the authentication method, if any, as specified
-by the <span class="type">“passwordâ€</span> property</p>
+by the <a href="/usr/share/gtk-doc/html/libnm-util/NMSetting8021x.html#NMSetting8021x--password"><span class="type">“passwordâ€</span></a> property</p>
 </div>
 </div>
 <hr>
@@ -3112,7 +3112,7 @@ nm_setting_802_1x_get_password_flags (<em class="parameter"><code><a class="link
 </div>
 <div class="refsect3">
 <a name="nm-setting-802-1x-get-password-flags.returns"></a><h4>Returns</h4>
-<p> the <a class="link" href="NMSetting.html#NMSettingSecretFlags" title="enum NMSettingSecretFlags"><span class="type">NMSettingSecretFlags</span></a> pertaining to the <span class="type">“passwordâ€</span></p>
+<p> the <a class="link" href="NMSetting.html#NMSettingSecretFlags" title="enum NMSettingSecretFlags"><span class="type">NMSettingSecretFlags</span></a> pertaining to the <a href="/usr/share/gtk-doc/html/libnm-util/NMSetting8021x.html#NMSetting8021x--password"><span class="type">“passwordâ€</span></a></p>
 </div>
 </div>
 <hr>
@@ -3139,7 +3139,7 @@ nm_setting_802_1x_get_password_raw (<em class="parameter"><code><a class="link"
 <a name="nm-setting-802-1x-get-password-raw.returns"></a><h4>Returns</h4>
 <p>the password used by the authentication method as a
 UTF-8-encoded array of bytes, as specified by the
-<span class="type">“password-rawâ€</span> property. </p>
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSetting8021x.html#NMSetting8021x--password-raw"><span class="type">“password-rawâ€</span></a> property. </p>
 <p><span class="annotation">[<acronym title="The data is owned by the callee, which is responsible of freeing it."><span class="acronym">transfer none</span></acronym>]</span></p>
 </div>
 </div>
@@ -3167,7 +3167,7 @@ nm_setting_802_1x_get_password_raw_flags
 <div class="refsect3">
 <a name="nm-setting-802-1x-get-password-raw-flags.returns"></a><h4>Returns</h4>
 <p> the <a class="link" href="NMSetting.html#NMSettingSecretFlags" title="enum NMSettingSecretFlags"><span class="type">NMSettingSecretFlags</span></a> pertaining to the
-<span class="type">“password-rawâ€</span></p>
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSetting8021x.html#NMSetting8021x--password-raw"><span class="type">“password-rawâ€</span></a></p>
 </div>
 </div>
 <hr>
@@ -3193,7 +3193,7 @@ nm_setting_802_1x_get_pin (<em class="parameter"><code><a class="link" href="NMS
 <div class="refsect3">
 <a name="nm-setting-802-1x-get-pin.returns"></a><h4>Returns</h4>
 <p> the PIN used by the authentication method, if any, as specified
-by the <span class="type">“pinâ€</span> property</p>
+by the <a href="/usr/share/gtk-doc/html/libnm-util/NMSetting8021x.html#NMSetting8021x--pin"><span class="type">“pinâ€</span></a> property</p>
 </div>
 </div>
 <hr>
@@ -3219,7 +3219,7 @@ nm_setting_802_1x_get_pin_flags (<em class="parameter"><code><a class="link" hre
 <div class="refsect3">
 <a name="nm-setting-802-1x-get-pin-flags.returns"></a><h4>Returns</h4>
 <p> the <a class="link" href="NMSetting.html#NMSettingSecretFlags" title="enum NMSettingSecretFlags"><span class="type">NMSettingSecretFlags</span></a> pertaining to the
-<span class="type">“pinâ€</span></p>
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSetting8021x.html#NMSetting8021x--pin"><span class="type">“pinâ€</span></a></p>
 </div>
 </div>
 <hr>
@@ -3363,14 +3363,14 @@ nm_setting_802_1x_set_private_key (<em class="parameter"><code><a class="link" h
 when EAP-TLS is used as either the "phase 1" or "phase 2" 802.1x
 authentication method.</p>
 <p>This function reads a private key from disk and sets the
-<span class="type">“private-keyâ€</span> property with the private key file data if using
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSetting8021x.html#NMSetting8021x--private-key"><span class="type">“private-keyâ€</span></a> property with the private key file data if using
 the <a class="link" href="NMSetting8021x.html#NM-SETTING-802-1X-CK-SCHEME-BLOB:CAPS"><code class="literal">NM_SETTING_802_1X_CK_SCHEME_BLOB</code></a> scheme, or with the path to the private
 key file if using the <a class="link" href="NMSetting8021x.html#NM-SETTING-802-1X-CK-SCHEME-PATH:CAPS"><code class="literal">NM_SETTING_802_1X_CK_SCHEME_PATH</code></a> scheme.</p>
 <p>If <em class="parameter"><code>password</code></em>
  is given, this function attempts to decrypt the private key to
 verify that <em class="parameter"><code>password</code></em>
  is correct, and if it is, updates the
-<span class="type">“private-key-passwordâ€</span> property with the given <em class="parameter"><code>password</code></em>
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSetting8021x.html#NMSetting8021x--private-key-password"><span class="type">“private-key-passwordâ€</span></a> property with the given <em class="parameter"><code>password</code></em>
 .  If
 the decryption is unsuccessful, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> is returned, <em class="parameter"><code>error</code></em>
  is set, and no
@@ -3461,7 +3461,7 @@ nm_setting_802_1x_get_private_key_password
 <a name="nm-setting-802-1x-get-private-key-password.returns"></a><h4>Returns</h4>
 <p> the private key password used to decrypt the private key if
 previously set with <a class="link" href="NMSetting8021x.html#nm-setting-802-1x-set-private-key" title="nm_setting_802_1x_set_private_key ()"><code class="function">nm_setting_802_1x_set_private_key()</code></a>, or the
-<span class="type">“private-key-passwordâ€</span> property.</p>
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSetting8021x.html#NMSetting8021x--private-key-password"><span class="type">“private-key-passwordâ€</span></a> property.</p>
 </div>
 </div>
 <hr>
@@ -3488,7 +3488,7 @@ nm_setting_802_1x_get_private_key_password_flags
 <div class="refsect3">
 <a name="nm-setting-802-1x-get-private-key-password-flags.returns"></a><h4>Returns</h4>
 <p> the <a class="link" href="NMSetting.html#NMSettingSecretFlags" title="enum NMSettingSecretFlags"><span class="type">NMSettingSecretFlags</span></a> pertaining to the
-<span class="type">“private-key-passwordâ€</span></p>
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSetting8021x.html#NMSetting8021x--private-key-password"><span class="type">“private-key-passwordâ€</span></a></p>
 </div>
 </div>
 <hr>
@@ -3515,7 +3515,7 @@ nm_setting_802_1x_get_private_key_format
 <div class="refsect3">
 <a name="nm-setting-802-1x-get-private-key-format.returns"></a><h4>Returns</h4>
 <p> the data format of the private key data stored in the
-<span class="type">“private-keyâ€</span> property</p>
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSetting8021x.html#NMSetting8021x--private-key"><span class="type">“private-keyâ€</span></a> property</p>
 </div>
 </div>
 <hr>
@@ -3661,14 +3661,14 @@ nm_setting_802_1x_set_phase2_private_key
 when EAP-TLS is used as either the "phase 1" or "phase 2" 802.1x
 authentication method.</p>
 <p>This function reads a private key from disk and sets the
-<span class="type">“phase2-private-keyâ€</span> property with the private key file data if
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSetting8021x.html#NMSetting8021x--phase2-private-key"><span class="type">“phase2-private-keyâ€</span></a> property with the private key file data if
 using the <a class="link" href="NMSetting8021x.html#NM-SETTING-802-1X-CK-SCHEME-BLOB:CAPS"><code class="literal">NM_SETTING_802_1X_CK_SCHEME_BLOB</code></a> scheme, or with the path to the
 private key file if using the <a class="link" href="NMSetting8021x.html#NM-SETTING-802-1X-CK-SCHEME-PATH:CAPS"><code class="literal">NM_SETTING_802_1X_CK_SCHEME_PATH</code></a> scheme.</p>
 <p>If <em class="parameter"><code>password</code></em>
  is given, this function attempts to decrypt the private key to
 verify that <em class="parameter"><code>password</code></em>
  is correct, and if it is, updates the
-<span class="type">“phase2-private-key-passwordâ€</span> property with the given
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSetting8021x.html#NMSetting8021x--phase2-private-key-password"><span class="type">“phase2-private-key-passwordâ€</span></a> property with the given
 <em class="parameter"><code>password</code></em>
 .  If the decryption is unsuccessful, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> is returned, <em class="parameter"><code>error</code></em>
  is
@@ -3760,7 +3760,7 @@ nm_setting_802_1x_get_phase2_private_key_password
 <a name="nm-setting-802-1x-get-phase2-private-key-password.returns"></a><h4>Returns</h4>
 <p> the private key password used to decrypt the private key if
 previously set with <a class="link" href="NMSetting8021x.html#nm-setting-802-1x-set-phase2-private-key" title="nm_setting_802_1x_set_phase2_private_key ()"><code class="function">nm_setting_802_1x_set_phase2_private_key()</code></a> or the
-<span class="type">“phase2-private-key-passwordâ€</span> property.</p>
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSetting8021x.html#NMSetting8021x--phase2-private-key-password"><span class="type">“phase2-private-key-passwordâ€</span></a> property.</p>
 </div>
 </div>
 <hr>
@@ -3787,7 +3787,7 @@ nm_setting_802_1x_get_phase2_private_key_password_flags
 <div class="refsect3">
 <a name="nm-setting-802-1x-get-phase2-private-key-password-flags.returns"></a><h4>Returns</h4>
 <p> the <a class="link" href="NMSetting.html#NMSettingSecretFlags" title="enum NMSettingSecretFlags"><span class="type">NMSettingSecretFlags</span></a> pertaining to the
-<span class="type">“phase2-private-key-passwordâ€</span></p>
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSetting8021x.html#NMSetting8021x--phase2-private-key-password"><span class="type">“phase2-private-key-passwordâ€</span></a></p>
 </div>
 </div>
 <hr>
@@ -3814,7 +3814,7 @@ nm_setting_802_1x_get_phase2_private_key_format
 <div class="refsect3">
 <a name="nm-setting-802-1x-get-phase2-private-key-format.returns"></a><h4>Returns</h4>
 <p> the data format of the "phase 2" private key data stored in the
-<span class="type">“phase2-private-keyâ€</span> property</p>
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSetting8021x.html#NMSetting8021x--phase2-private-key"><span class="type">“phase2-private-keyâ€</span></a> property</p>
 </div>
 </div>
 <hr>
diff --git a/docs/libnm/html/NMSettingAdsl.html b/docs/libnm/html/NMSettingAdsl.html
index 6ae00ebd..1aa75c7c 100644
--- a/docs/libnm/html/NMSettingAdsl.html
+++ b/docs/libnm/html/NMSettingAdsl.html
@@ -204,7 +204,7 @@ nm_setting_adsl_get_username (<em class="parameter"><code><a class="link" href="
 </div>
 <div class="refsect3">
 <a name="nm-setting-adsl-get-username.returns"></a><h4>Returns</h4>
-<p> the <span class="type">“usernameâ€</span> property of the setting</p>
+<p> the <a href="/usr/share/gtk-doc/html/libnm-util/NMSettingAdsl.html#NMSettingAdsl--username"><span class="type">“usernameâ€</span></a> property of the setting</p>
 </div>
 </div>
 <hr>
@@ -229,7 +229,7 @@ nm_setting_adsl_get_password (<em class="parameter"><code><a class="link" href="
 </div>
 <div class="refsect3">
 <a name="nm-setting-adsl-get-password.returns"></a><h4>Returns</h4>
-<p> the <span class="type">“passwordâ€</span> property of the setting</p>
+<p> the <a href="/usr/share/gtk-doc/html/libnm-util/NMSettingAdsl.html#NMSettingAdsl--password"><span class="type">“passwordâ€</span></a> property of the setting</p>
 </div>
 </div>
 <hr>
@@ -254,7 +254,7 @@ nm_setting_adsl_get_protocol (<em class="parameter"><code><a class="link" href="
 </div>
 <div class="refsect3">
 <a name="nm-setting-adsl-get-protocol.returns"></a><h4>Returns</h4>
-<p> the <span class="type">“protocolâ€</span> property of the setting</p>
+<p> the <a href="/usr/share/gtk-doc/html/libnm-util/NMSettingAdsl.html#NMSettingAdsl--protocol"><span class="type">“protocolâ€</span></a> property of the setting</p>
 </div>
 </div>
 <hr>
@@ -279,7 +279,7 @@ nm_setting_adsl_get_encapsulation (<em class="parameter"><code><a class="link" h
 </div>
 <div class="refsect3">
 <a name="nm-setting-adsl-get-encapsulation.returns"></a><h4>Returns</h4>
-<p> the <span class="type">“encapsulationâ€</span> property of the setting</p>
+<p> the <a href="/usr/share/gtk-doc/html/libnm-util/NMSettingAdsl.html#NMSettingAdsl--encapsulation"><span class="type">“encapsulationâ€</span></a> property of the setting</p>
 </div>
 </div>
 <hr>
@@ -304,7 +304,7 @@ nm_setting_adsl_get_vpi (<em class="parameter"><code><a class="link" href="NMSet
 </div>
 <div class="refsect3">
 <a name="nm-setting-adsl-get-vpi.returns"></a><h4>Returns</h4>
-<p> the <span class="type">“vpiâ€</span> property of the setting</p>
+<p> the <a href="/usr/share/gtk-doc/html/libnm-util/NMSettingAdsl.html#NMSettingAdsl--vpi"><span class="type">“vpiâ€</span></a> property of the setting</p>
 </div>
 </div>
 <hr>
@@ -329,7 +329,7 @@ nm_setting_adsl_get_vci (<em class="parameter"><code><a class="link" href="NMSet
 </div>
 <div class="refsect3">
 <a name="nm-setting-adsl-get-vci.returns"></a><h4>Returns</h4>
-<p> the <span class="type">“vciâ€</span> property of the setting</p>
+<p> the <a href="/usr/share/gtk-doc/html/libnm-util/NMSettingAdsl.html#NMSettingAdsl--vci"><span class="type">“vciâ€</span></a> property of the setting</p>
 </div>
 </div>
 <hr>
@@ -354,7 +354,7 @@ nm_setting_adsl_get_password_flags (<em class="parameter"><code><a class="link"
 </div>
 <div class="refsect3">
 <a name="nm-setting-adsl-get-password-flags.returns"></a><h4>Returns</h4>
-<p> the <a class="link" href="NMSetting.html#NMSettingSecretFlags" title="enum NMSettingSecretFlags"><span class="type">NMSettingSecretFlags</span></a> pertaining to the <span class="type">“passwordâ€</span></p>
+<p> the <a class="link" href="NMSetting.html#NMSettingSecretFlags" title="enum NMSettingSecretFlags"><span class="type">NMSettingSecretFlags</span></a> pertaining to the <a href="/usr/share/gtk-doc/html/libnm-util/NMSettingAdsl.html#NMSettingAdsl--password"><span class="type">“passwordâ€</span></a></p>
 </div>
 </div>
 </div>
diff --git a/docs/libnm/html/NMSettingBond.html b/docs/libnm/html/NMSettingBond.html
index 75ffeb87..7f850594 100644
--- a/docs/libnm/html/NMSettingBond.html
+++ b/docs/libnm/html/NMSettingBond.html
@@ -577,7 +577,7 @@ nm_setting_bond_get_option_default (<em class="parameter"><code><a class="link"
 <div class="refsect3">
 <a name="nm-setting-bond-get-option-default.returns"></a><h4>Returns</h4>
 <p> the value of the bond option if not overridden by an entry in
-the <span class="type">“optionsâ€</span> property.</p>
+the <a href="/usr/share/gtk-doc/html/libnm-util/NMSettingBond.html#NMSettingBond--options"><span class="type">“optionsâ€</span></a> property.</p>
 </div>
 </div>
 <hr>
diff --git a/docs/libnm/html/NMSettingBridge.html b/docs/libnm/html/NMSettingBridge.html
index be894860..4cd226a6 100644
--- a/docs/libnm/html/NMSettingBridge.html
+++ b/docs/libnm/html/NMSettingBridge.html
@@ -592,7 +592,7 @@ nm_setting_bridge_get_mac_address (<em class="parameter"><code><a class="link" h
 </div>
 <div class="refsect3">
 <a name="nm-setting-bridge-get-mac-address.returns"></a><h4>Returns</h4>
-<p> the <span class="type">“mac-addressâ€</span> property of the setting</p>
+<p> the <a href="/usr/share/gtk-doc/html/libnm-util/NMSettingBridge.html#NMSettingBridge--mac-address"><span class="type">“mac-addressâ€</span></a> property of the setting</p>
 </div>
 </div>
 <hr>
@@ -617,7 +617,7 @@ nm_setting_bridge_get_stp (<em class="parameter"><code><a class="link" href="NMS
 </div>
 <div class="refsect3">
 <a name="nm-setting-bridge-get-stp.returns"></a><h4>Returns</h4>
-<p> the <span class="type">“stpâ€</span> property of the setting</p>
+<p> the <a href="/usr/share/gtk-doc/html/libnm-util/NMSettingBridge.html#NMSettingBridge--stp"><span class="type">“stpâ€</span></a> property of the setting</p>
 </div>
 </div>
 <hr>
@@ -642,7 +642,7 @@ nm_setting_bridge_get_priority (<em class="parameter"><code><a class="link" href
 </div>
 <div class="refsect3">
 <a name="nm-setting-bridge-get-priority.returns"></a><h4>Returns</h4>
-<p> the <span class="type">“priorityâ€</span> property of the setting</p>
+<p> the <a href="/usr/share/gtk-doc/html/libnm-util/NMSettingBridge.html#NMSettingBridge--priority"><span class="type">“priorityâ€</span></a> property of the setting</p>
 </div>
 </div>
 <hr>
@@ -667,7 +667,7 @@ nm_setting_bridge_get_forward_delay (<em class="parameter"><code><a class="link"
 </div>
 <div class="refsect3">
 <a name="nm-setting-bridge-get-forward-delay.returns"></a><h4>Returns</h4>
-<p> the <span class="type">“forward-delayâ€</span> property of the setting</p>
+<p> the <a href="/usr/share/gtk-doc/html/libnm-util/NMSettingBridge.html#NMSettingBridge--forward-delay"><span class="type">“forward-delayâ€</span></a> property of the setting</p>
 </div>
 </div>
 <hr>
@@ -692,7 +692,7 @@ nm_setting_bridge_get_hello_time (<em class="parameter"><code><a class="link" hr
 </div>
 <div class="refsect3">
 <a name="nm-setting-bridge-get-hello-time.returns"></a><h4>Returns</h4>
-<p> the <span class="type">“hello-timeâ€</span> property of the setting</p>
+<p> the <a href="/usr/share/gtk-doc/html/libnm-util/NMSettingBridge.html#NMSettingBridge--hello-time"><span class="type">“hello-timeâ€</span></a> property of the setting</p>
 </div>
 </div>
 <hr>
@@ -717,7 +717,7 @@ nm_setting_bridge_get_max_age (<em class="parameter"><code><a class="link" href=
 </div>
 <div class="refsect3">
 <a name="nm-setting-bridge-get-max-age.returns"></a><h4>Returns</h4>
-<p> the <span class="type">“max-ageâ€</span> property of the setting</p>
+<p> the <a href="/usr/share/gtk-doc/html/libnm-util/NMSettingBridge.html#NMSettingBridge--max-age"><span class="type">“max-ageâ€</span></a> property of the setting</p>
 </div>
 </div>
 <hr>
@@ -742,7 +742,7 @@ nm_setting_bridge_get_ageing_time (<em class="parameter"><code><a class="link" h
 </div>
 <div class="refsect3">
 <a name="nm-setting-bridge-get-ageing-time.returns"></a><h4>Returns</h4>
-<p> the <span class="type">“ageing-timeâ€</span> property of the setting</p>
+<p> the <a href="/usr/share/gtk-doc/html/libnm-util/NMSettingBridge.html#NMSettingBridge--ageing-time"><span class="type">“ageing-timeâ€</span></a> property of the setting</p>
 </div>
 </div>
 <hr>
@@ -1516,8 +1516,8 @@ nm_setting_bridge_get_group_address (<em class="parameter"><code>const <a class=
 <div class="refsect3">
 <a name="nm-setting-bridge-get-group-address.returns"></a><h4>Returns</h4>
 <p> the <span class="type">“group-addressâ€</span> property of the setting</p>
-<p>Since 1.24</p>
 </div>
+<p class="since">Since: 1.24</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1542,8 +1542,8 @@ nm_setting_bridge_get_vlan_protocol (<em class="parameter"><code>const <a class=
 <div class="refsect3">
 <a name="nm-setting-bridge-get-vlan-protocol.returns"></a><h4>Returns</h4>
 <p> the <span class="type">“vlan-protocolâ€</span> property of the setting</p>
-<p>Since 1.24</p>
 </div>
+<p class="since">Since: 1.24</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1569,8 +1569,8 @@ nm_setting_bridge_get_vlan_stats_enabled
 <div class="refsect3">
 <a name="nm-setting-bridge-get-vlan-stats-enabled.returns"></a><h4>Returns</h4>
 <p> the <span class="type">“vlan-stats-enabledâ€</span> property of the setting</p>
-<p>Since 1.24</p>
 </div>
+<p class="since">Since: 1.24</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1596,8 +1596,8 @@ nm_setting_bridge_get_multicast_router
 <div class="refsect3">
 <a name="nm-setting-bridge-get-multicast-router.returns"></a><h4>Returns</h4>
 <p> the <span class="type">“multicast-routerâ€</span> property of the setting</p>
-<p>Since 1.24</p>
 </div>
+<p class="since">Since: 1.24</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1623,8 +1623,8 @@ nm_setting_bridge_get_multicast_query_use_ifaddr
 <div class="refsect3">
 <a name="nm-setting-bridge-get-multicast-query-use-ifaddr.returns"></a><h4>Returns</h4>
 <p> the <span class="type">“multicast-query-use-ifaddrâ€</span> property of the setting</p>
-<p>Since 1.24</p>
 </div>
+<p class="since">Since: 1.24</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1650,8 +1650,8 @@ nm_setting_bridge_get_multicast_querier
 <div class="refsect3">
 <a name="nm-setting-bridge-get-multicast-querier.returns"></a><h4>Returns</h4>
 <p> the <span class="type">“multicast-querierâ€</span> property of the setting</p>
-<p>Since 1.24</p>
 </div>
+<p class="since">Since: 1.24</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1677,8 +1677,8 @@ nm_setting_bridge_get_multicast_hash_max
 <div class="refsect3">
 <a name="nm-setting-bridge-get-multicast-hash-max.returns"></a><h4>Returns</h4>
 <p> the <span class="type">“multicast-hash-maxâ€</span> property of the setting</p>
-<p>Since 1.26</p>
 </div>
+<p class="since">Since: 1.26</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1704,8 +1704,8 @@ nm_setting_bridge_get_multicast_last_member_count
 <div class="refsect3">
 <a name="nm-setting-bridge-get-multicast-last-member-count.returns"></a><h4>Returns</h4>
 <p> the <span class="type">“multicast-last-member-countâ€</span> property of the setting</p>
-<p>Since 1.26</p>
 </div>
+<p class="since">Since: 1.26</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1731,8 +1731,8 @@ nm_setting_bridge_get_multicast_last_member_interval
 <div class="refsect3">
 <a name="nm-setting-bridge-get-multicast-last-member-interval.returns"></a><h4>Returns</h4>
 <p> the <span class="type">“multicast-last-member-intervalâ€</span> property of the setting</p>
-<p>Since 1.26</p>
 </div>
+<p class="since">Since: 1.26</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1758,8 +1758,8 @@ nm_setting_bridge_get_multicast_membership_interval
 <div class="refsect3">
 <a name="nm-setting-bridge-get-multicast-membership-interval.returns"></a><h4>Returns</h4>
 <p> the <span class="type">“multicast-membership-intervalâ€</span> property of the setting</p>
-<p>Since 1.26</p>
 </div>
+<p class="since">Since: 1.26</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1785,8 +1785,8 @@ nm_setting_bridge_get_multicast_querier_interval
 <div class="refsect3">
 <a name="nm-setting-bridge-get-multicast-querier-interval.returns"></a><h4>Returns</h4>
 <p> the <span class="type">“multicast-querier-intervalâ€</span> property of the setting</p>
-<p>Since 1.26</p>
 </div>
+<p class="since">Since: 1.26</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1812,8 +1812,8 @@ nm_setting_bridge_get_multicast_query_interval
 <div class="refsect3">
 <a name="nm-setting-bridge-get-multicast-query-interval.returns"></a><h4>Returns</h4>
 <p> the <span class="type">“multicast-query-intervalâ€</span> property of the setting</p>
-<p>Since 1.26</p>
 </div>
+<p class="since">Since: 1.26</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1839,8 +1839,8 @@ nm_setting_bridge_get_multicast_query_response_interval
 <div class="refsect3">
 <a name="nm-setting-bridge-get-multicast-query-response-interval.returns"></a><h4>Returns</h4>
 <p> the <span class="type">“multicast-query-response-intervalâ€</span> property of the setting</p>
-<p>Since 1.26</p>
 </div>
+<p class="since">Since: 1.26</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1866,8 +1866,8 @@ nm_setting_bridge_get_multicast_startup_query_count
 <div class="refsect3">
 <a name="nm-setting-bridge-get-multicast-startup-query-count.returns"></a><h4>Returns</h4>
 <p> the <span class="type">“multicast-query-response-intervalâ€</span> property of the setting</p>
-<p>Since 1.26</p>
 </div>
+<p class="since">Since: 1.26</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1893,8 +1893,8 @@ nm_setting_bridge_get_multicast_startup_query_interval
 <div class="refsect3">
 <a name="nm-setting-bridge-get-multicast-startup-query-interval.returns"></a><h4>Returns</h4>
 <p> the <span class="type">“multicast-startup-query-intervalâ€</span> property of the setting</p>
-<p>Since 1.26</p>
 </div>
+<p class="since">Since: 1.26</p>
 </div>
 </div>
 <div class="refsect1">
diff --git a/docs/libnm/html/NMSettingBridgePort.html b/docs/libnm/html/NMSettingBridgePort.html
index dfd522e0..d6044d66 100644
--- a/docs/libnm/html/NMSettingBridgePort.html
+++ b/docs/libnm/html/NMSettingBridgePort.html
@@ -193,7 +193,7 @@ nm_setting_bridge_port_get_priority (<em class="parameter"><code><a class="link"
 </div>
 <div class="refsect3">
 <a name="nm-setting-bridge-port-get-priority.returns"></a><h4>Returns</h4>
-<p> the <span class="type">“priorityâ€</span> property of the setting</p>
+<p> the <a href="/usr/share/gtk-doc/html/libnm-util/NMSettingBridgePort.html#NMSettingBridgePort--priority"><span class="type">“priorityâ€</span></a> property of the setting</p>
 </div>
 </div>
 <hr>
@@ -218,7 +218,7 @@ nm_setting_bridge_port_get_path_cost (<em class="parameter"><code><a class="link
 </div>
 <div class="refsect3">
 <a name="nm-setting-bridge-port-get-path-cost.returns"></a><h4>Returns</h4>
-<p> the <span class="type">“path-costâ€</span> property of the setting</p>
+<p> the <a href="/usr/share/gtk-doc/html/libnm-util/NMSettingBridgePort.html#NMSettingBridgePort--path-cost"><span class="type">“path-costâ€</span></a> property of the setting</p>
 </div>
 </div>
 <hr>
@@ -244,7 +244,7 @@ nm_setting_bridge_port_get_hairpin_mode
 </div>
 <div class="refsect3">
 <a name="nm-setting-bridge-port-get-hairpin-mode.returns"></a><h4>Returns</h4>
-<p> the <span class="type">“hairpin-modeâ€</span> property of the setting</p>
+<p> the <a href="/usr/share/gtk-doc/html/libnm-util/NMSettingBridgePort.html#NMSettingBridgePort--hairpin-mode"><span class="type">“hairpin-modeâ€</span></a> property of the setting</p>
 </div>
 </div>
 <hr>
diff --git a/docs/libnm/html/NMSettingCdma.html b/docs/libnm/html/NMSettingCdma.html
index 4b7fa909..e0e96e90 100644
--- a/docs/libnm/html/NMSettingCdma.html
+++ b/docs/libnm/html/NMSettingCdma.html
@@ -162,7 +162,7 @@ nm_setting_cdma_get_number (<em class="parameter"><code><a class="link" href="NM
 </div>
 <div class="refsect3">
 <a name="nm-setting-cdma-get-number.returns"></a><h4>Returns</h4>
-<p> the <span class="type">“numberâ€</span> property of the setting</p>
+<p> the <a href="/usr/share/gtk-doc/html/libnm-util/NMSettingCdma.html#NMSettingCdma--number"><span class="type">“numberâ€</span></a> property of the setting</p>
 </div>
 </div>
 <hr>
@@ -187,7 +187,7 @@ nm_setting_cdma_get_username (<em class="parameter"><code><a class="link" href="
 </div>
 <div class="refsect3">
 <a name="nm-setting-cdma-get-username.returns"></a><h4>Returns</h4>
-<p> the <span class="type">“usernameâ€</span> property of the setting</p>
+<p> the <a href="/usr/share/gtk-doc/html/libnm-util/NMSettingCdma.html#NMSettingCdma--username"><span class="type">“usernameâ€</span></a> property of the setting</p>
 </div>
 </div>
 <hr>
@@ -212,7 +212,7 @@ nm_setting_cdma_get_password (<em class="parameter"><code><a class="link" href="
 </div>
 <div class="refsect3">
 <a name="nm-setting-cdma-get-password.returns"></a><h4>Returns</h4>
-<p> the <span class="type">“passwordâ€</span> property of the setting</p>
+<p> the <a href="/usr/share/gtk-doc/html/libnm-util/NMSettingCdma.html#NMSettingCdma--password"><span class="type">“passwordâ€</span></a> property of the setting</p>
 </div>
 </div>
 <hr>
@@ -237,7 +237,7 @@ nm_setting_cdma_get_password_flags (<em class="parameter"><code><a class="link"
 </div>
 <div class="refsect3">
 <a name="nm-setting-cdma-get-password-flags.returns"></a><h4>Returns</h4>
-<p> the <a class="link" href="NMSetting.html#NMSettingSecretFlags" title="enum NMSettingSecretFlags"><span class="type">NMSettingSecretFlags</span></a> pertaining to the <span class="type">“passwordâ€</span></p>
+<p> the <a class="link" href="NMSetting.html#NMSettingSecretFlags" title="enum NMSettingSecretFlags"><span class="type">NMSettingSecretFlags</span></a> pertaining to the <a href="/usr/share/gtk-doc/html/libnm-util/NMSettingCdma.html#NMSettingCdma--password"><span class="type">“passwordâ€</span></a></p>
 </div>
 </div>
 <hr>
diff --git a/docs/libnm/html/NMSettingConnection.html b/docs/libnm/html/NMSettingConnection.html
index e03307c8..3db17611 100644
--- a/docs/libnm/html/NMSettingConnection.html
+++ b/docs/libnm/html/NMSettingConnection.html
@@ -538,7 +538,7 @@ nm_setting_connection_new (<em class="parameter"><code><span class="type">void</
 <a name="nm-setting-connection-get-id"></a><h3>nm_setting_connection_get_id ()</h3>
 <pre class="programlisting">const <span class="returnvalue">char</span> *
 nm_setting_connection_get_id (<em class="parameter"><code><a class="link" href="NMSettingConnection.html" title="NMSettingConnection"><span class="type">NMSettingConnection</span></a> *setting</code></em>);</pre>
-<p>Returns the <span class="type">“idâ€</span> property of the connection.</p>
+<p>Returns the <a href="/usr/share/gtk-doc/html/libnm-util/NMSettingConnection.html#NMSettingConnection--id"><span class="type">“idâ€</span></a> property of the connection.</p>
 <div class="refsect3">
 <a name="nm-setting-connection-get-id.parameters"></a><h4>Parameters</h4>
 <div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -564,7 +564,7 @@ nm_setting_connection_get_id (<em class="parameter"><code><a class="link" href="
 <a name="nm-setting-connection-get-uuid"></a><h3>nm_setting_connection_get_uuid ()</h3>
 <pre class="programlisting">const <span class="returnvalue">char</span> *
 nm_setting_connection_get_uuid (<em class="parameter"><code><a class="link" href="NMSettingConnection.html" title="NMSettingConnection"><span class="type">NMSettingConnection</span></a> *setting</code></em>);</pre>
-<p>Returns the <span class="type">“uuidâ€</span> property of the connection.</p>
+<p>Returns the <a href="/usr/share/gtk-doc/html/libnm-util/NMSettingConnection.html#NMSettingConnection--uuid"><span class="type">“uuidâ€</span></a> property of the connection.</p>
 <div class="refsect3">
 <a name="nm-setting-connection-get-uuid.parameters"></a><h4>Parameters</h4>
 <div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -618,7 +618,7 @@ nm_setting_connection_get_stable_id (<em class="parameter"><code><a class="link"
 <pre class="programlisting">const <span class="returnvalue">char</span> *
 nm_setting_connection_get_interface_name
                                (<em class="parameter"><code><a class="link" href="NMSettingConnection.html" title="NMSettingConnection"><span class="type">NMSettingConnection</span></a> *setting</code></em>);</pre>
-<p>Returns the <span class="type">“interface-nameâ€</span> property of the connection.</p>
+<p>Returns the <a href="/usr/share/gtk-doc/html/libnm-util/NMSettingConnection.html#NMSettingConnection--interface-name"><span class="type">“interface-nameâ€</span></a> property of the connection.</p>
 <div class="refsect3">
 <a name="nm-setting-connection-get-interface-name.parameters"></a><h4>Parameters</h4>
 <div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -645,7 +645,7 @@ nm_setting_connection_get_interface_name
 <pre class="programlisting">const <span class="returnvalue">char</span> *
 nm_setting_connection_get_connection_type
                                (<em class="parameter"><code><a class="link" href="NMSettingConnection.html" title="NMSettingConnection"><span class="type">NMSettingConnection</span></a> *setting</code></em>);</pre>
-<p>Returns the <span class="type">“typeâ€</span> property of the connection.</p>
+<p>Returns the <a href="/usr/share/gtk-doc/html/libnm-util/NMSettingConnection.html#NMSettingConnection--type"><span class="type">“typeâ€</span></a> property of the connection.</p>
 <div class="refsect3">
 <a name="nm-setting-connection-get-connection-type.parameters"></a><h4>Parameters</h4>
 <div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -671,7 +671,7 @@ nm_setting_connection_get_connection_type
 <a name="nm-setting-connection-get-autoconnect"></a><h3>nm_setting_connection_get_autoconnect ()</h3>
 <pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 nm_setting_connection_get_autoconnect (<em class="parameter"><code><a class="link" href="NMSettingConnection.html" title="NMSettingConnection"><span class="type">NMSettingConnection</span></a> *setting</code></em>);</pre>
-<p>Returns the <span class="type">“autoconnectâ€</span> property of the connection.</p>
+<p>Returns the <a href="/usr/share/gtk-doc/html/libnm-util/NMSettingConnection.html#NMSettingConnection--autoconnect"><span class="type">“autoconnectâ€</span></a> property of the connection.</p>
 <div class="refsect3">
 <a name="nm-setting-connection-get-autoconnect.parameters"></a><h4>Parameters</h4>
 <div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -781,7 +781,7 @@ nm_setting_connection_get_multi_connect
 <a name="nm-setting-connection-get-timestamp"></a><h3>nm_setting_connection_get_timestamp ()</h3>
 <pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint64"><span class="returnvalue">guint64</span></a>
 nm_setting_connection_get_timestamp (<em class="parameter"><code><a class="link" href="NMSettingConnection.html" title="NMSettingConnection"><span class="type">NMSettingConnection</span></a> *setting</code></em>);</pre>
-<p>Returns the <span class="type">“timestampâ€</span> property of the connection.</p>
+<p>Returns the <a href="/usr/share/gtk-doc/html/libnm-util/NMSettingConnection.html#NMSettingConnection--timestamp"><span class="type">“timestampâ€</span></a> property of the connection.</p>
 <div class="refsect3">
 <a name="nm-setting-connection-get-timestamp.parameters"></a><h4>Parameters</h4>
 <div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -807,7 +807,7 @@ nm_setting_connection_get_timestamp (<em class="parameter"><code><a class="link"
 <a name="nm-setting-connection-get-read-only"></a><h3>nm_setting_connection_get_read_only ()</h3>
 <pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 nm_setting_connection_get_read_only (<em class="parameter"><code><a class="link" href="NMSettingConnection.html" title="NMSettingConnection"><span class="type">NMSettingConnection</span></a> *setting</code></em>);</pre>
-<p>Returns the <span class="type">“read-onlyâ€</span> property of the connection.</p>
+<p>Returns the <a href="/usr/share/gtk-doc/html/libnm-util/NMSettingConnection.html#NMSettingConnection--read-only"><span class="type">“read-onlyâ€</span></a> property of the connection.</p>
 <div class="refsect3">
 <a name="nm-setting-connection-get-read-only.parameters"></a><h4>Parameters</h4>
 <div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -834,7 +834,7 @@ nm_setting_connection_get_read_only (<em class="parameter"><code><a class="link"
 <pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint32"><span class="returnvalue">guint32</span></a>
 nm_setting_connection_get_num_permissions
                                (<em class="parameter"><code><a class="link" href="NMSettingConnection.html" title="NMSettingConnection"><span class="type">NMSettingConnection</span></a> *setting</code></em>);</pre>
-<p>Returns the number of entries in the <span class="type">“permissionsâ€</span>
+<p>Returns the number of entries in the <a href="/usr/share/gtk-doc/html/libnm-util/NMSettingConnection.html#NMSettingConnection--permissions"><span class="type">“permissionsâ€</span></a>
 property of this setting.</p>
 <div class="refsect3">
 <a name="nm-setting-connection-get-num-permissions.parameters"></a><h4>Parameters</h4>
@@ -865,7 +865,7 @@ nm_setting_connection_get_permission (<em class="parameter"><code><a class="link
                                       <em class="parameter"><code>const <span class="type">char</span> **out_ptype</code></em>,
                                       <em class="parameter"><code>const <span class="type">char</span> **out_pitem</code></em>,
                                       <em class="parameter"><code>const <span class="type">char</span> **out_detail</code></em>);</pre>
-<p>Retrieve one of the entries of the <span class="type">“permissionsâ€</span> property
+<p>Retrieve one of the entries of the <a href="/usr/share/gtk-doc/html/libnm-util/NMSettingConnection.html#NMSettingConnection--permissions"><span class="type">“permissionsâ€</span></a> property
 of this setting.</p>
 <div class="refsect3">
 <a name="nm-setting-connection-get-permission.parameters"></a><h4>Parameters</h4>
@@ -896,7 +896,7 @@ unless the entry is invalid, in which case it returns "invalid".</p></td>
 <td class="parameter_name"><p>out_pitem</p></td>
 <td class="parameter_description"><p>on return, the permission item (formatted according to <em class="parameter"><code>ptype</code></em>
 , see
-<span class="type">“permissionsâ€</span> for more detail</p></td>
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSettingConnection.html#NMSettingConnection--permissions"><span class="type">“permissionsâ€</span></a> for more detail</p></td>
 <td class="parameter_annotations"> </td>
 </tr>
 <tr>
@@ -918,7 +918,7 @@ was invalid</p>
 <a name="nm-setting-connection-get-zone"></a><h3>nm_setting_connection_get_zone ()</h3>
 <pre class="programlisting">const <span class="returnvalue">char</span> *
 nm_setting_connection_get_zone (<em class="parameter"><code><a class="link" href="NMSettingConnection.html" title="NMSettingConnection"><span class="type">NMSettingConnection</span></a> *setting</code></em>);</pre>
-<p>Returns the <span class="type">“zoneâ€</span> property of the connection.</p>
+<p>Returns the <a href="/usr/share/gtk-doc/html/libnm-util/NMSettingConnection.html#NMSettingConnection--zone"><span class="type">“zoneâ€</span></a> property of the connection.</p>
 <div class="refsect3">
 <a name="nm-setting-connection-get-zone.parameters"></a><h4>Parameters</h4>
 <div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -986,7 +986,7 @@ nm_setting_connection_add_permission (<em class="parameter"><code><a class="link
 <p>Adds a permission to the connection's permission list.  At this time, only
 the "user" permission type is supported, and <em class="parameter"><code>pitem</code></em>
  must be a username. See
-<span class="type">“permissionsâ€</span>: for more details.</p>
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSettingConnection.html#NMSettingConnection--permissions"><span class="type">“permissionsâ€</span></a>: for more details.</p>
 <div class="refsect3">
 <a name="nm-setting-connection-add-permission.parameters"></a><h4>Parameters</h4>
 <div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -1075,7 +1075,7 @@ nm_setting_connection_remove_permission_by_value
 <p>Removes the permission from the connection.
 At this time, only the "user" permission type is supported, and <em class="parameter"><code>pitem</code></em>
  must
-be a username. See <span class="type">“permissionsâ€</span>: for more details.</p>
+be a username. See <a href="/usr/share/gtk-doc/html/libnm-util/NMSettingConnection.html#NMSettingConnection--permissions"><span class="type">“permissionsâ€</span></a>: for more details.</p>
 <div class="refsect3">
 <a name="nm-setting-connection-remove-permission-by-value.parameters"></a><h4>Parameters</h4>
 <div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -1119,7 +1119,7 @@ be a username. See <span class="type">“permissionsâ€</span>: for more details
 <a name="nm-setting-connection-get-master"></a><h3>nm_setting_connection_get_master ()</h3>
 <pre class="programlisting">const <span class="returnvalue">char</span> *
 nm_setting_connection_get_master (<em class="parameter"><code><a class="link" href="NMSettingConnection.html" title="NMSettingConnection"><span class="type">NMSettingConnection</span></a> *setting</code></em>);</pre>
-<p>Returns the <span class="type">“masterâ€</span> property of the connection.</p>
+<p>Returns the <a href="/usr/share/gtk-doc/html/libnm-util/NMSettingConnection.html#NMSettingConnection--master"><span class="type">“masterâ€</span></a> property of the connection.</p>
 <div class="refsect3">
 <a name="nm-setting-connection-get-master.parameters"></a><h4>Parameters</h4>
 <div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -1182,7 +1182,7 @@ against <em class="parameter"><code>setting</code></em>
 <a name="nm-setting-connection-get-slave-type"></a><h3>nm_setting_connection_get_slave_type ()</h3>
 <pre class="programlisting">const <span class="returnvalue">char</span> *
 nm_setting_connection_get_slave_type (<em class="parameter"><code><a class="link" href="NMSettingConnection.html" title="NMSettingConnection"><span class="type">NMSettingConnection</span></a> *setting</code></em>);</pre>
-<p>Returns the <span class="type">“slave-typeâ€</span> property of the connection.</p>
+<p>Returns the <a href="/usr/share/gtk-doc/html/libnm-util/NMSettingConnection.html#NMSettingConnection--slave-type"><span class="type">“slave-typeâ€</span></a> property of the connection.</p>
 <div class="refsect3">
 <a name="nm-setting-connection-get-slave-type.parameters"></a><h4>Parameters</h4>
 <div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -1422,7 +1422,7 @@ nm_setting_connection_get_gateway_ping_timeout
 </div>
 <div class="refsect3">
 <a name="nm-setting-connection-get-gateway-ping-timeout.returns"></a><h4>Returns</h4>
-<p> the value contained in the <span class="type">“gateway-ping-timeoutâ€</span>
+<p> the value contained in the <a href="/usr/share/gtk-doc/html/libnm-util/NMSettingConnection.html#NMSettingConnection--gateway-ping-timeout"><span class="type">“gateway-ping-timeoutâ€</span></a>
 property.</p>
 </div>
 </div>
@@ -1612,7 +1612,7 @@ nm_setting_connection_get_mptcp_flags (<em class="parameter"><code><a class="lin
 <a name="nm-setting-connection-get-mptcp-flags.returns"></a><h4>Returns</h4>
 <p> the <span class="type">“mptcp-flagsâ€</span> property of the setting.</p>
 </div>
-<p class="since">Since: 1.40</p>
+<p class="since">Since: 1.42, 1.40.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1928,6 +1928,7 @@ master is activated</p>
 </tbody>
 </table></div>
 </div>
+<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1966,6 +1967,7 @@ master is activated</p>
 </tbody>
 </table></div>
 </div>
+<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
diff --git a/docs/libnm/html/NMSettingDcb.html b/docs/libnm/html/NMSettingDcb.html
index 4370ce9d..853854df 100644
--- a/docs/libnm/html/NMSettingDcb.html
+++ b/docs/libnm/html/NMSettingDcb.html
@@ -354,7 +354,7 @@ nm_setting_dcb_get_app_fcoe_flags (<em class="parameter"><code><a class="link" h
 </div>
 <div class="refsect3">
 <a name="nm-setting-dcb-get-app-fcoe-flags.returns"></a><h4>Returns</h4>
-<p> the <span class="type">“app-fcoe-flagsâ€</span> property of the setting</p>
+<p> the <a href="/usr/share/gtk-doc/html/libnm-util/NMSettingDcb.html#NMSettingDcb--app-fcoe-flags"><span class="type">“app-fcoe-flagsâ€</span></a> property of the setting</p>
 </div>
 </div>
 <hr>
@@ -379,7 +379,7 @@ nm_setting_dcb_get_app_fcoe_priority (<em class="parameter"><code><a class="link
 </div>
 <div class="refsect3">
 <a name="nm-setting-dcb-get-app-fcoe-priority.returns"></a><h4>Returns</h4>
-<p> the <span class="type">“app-fcoe-priorityâ€</span> property of the setting</p>
+<p> the <a href="/usr/share/gtk-doc/html/libnm-util/NMSettingDcb.html#NMSettingDcb--app-fcoe-priority"><span class="type">“app-fcoe-priorityâ€</span></a> property of the setting</p>
 </div>
 </div>
 <hr>
@@ -404,7 +404,7 @@ nm_setting_dcb_get_app_fcoe_mode (<em class="parameter"><code><a class="link" hr
 </div>
 <div class="refsect3">
 <a name="nm-setting-dcb-get-app-fcoe-mode.returns"></a><h4>Returns</h4>
-<p> the <span class="type">“app-fcoe-modeâ€</span> property of the setting</p>
+<p> the <a href="/usr/share/gtk-doc/html/libnm-util/NMSettingDcb.html#NMSettingDcb--app-fcoe-mode"><span class="type">“app-fcoe-modeâ€</span></a> property of the setting</p>
 </div>
 </div>
 <hr>
@@ -429,7 +429,7 @@ nm_setting_dcb_get_app_iscsi_flags (<em class="parameter"><code><a class="link"
 </div>
 <div class="refsect3">
 <a name="nm-setting-dcb-get-app-iscsi-flags.returns"></a><h4>Returns</h4>
-<p> the <span class="type">“app-iscsi-flagsâ€</span> property of the setting</p>
+<p> the <a href="/usr/share/gtk-doc/html/libnm-util/NMSettingDcb.html#NMSettingDcb--app-iscsi-flags"><span class="type">“app-iscsi-flagsâ€</span></a> property of the setting</p>
 </div>
 </div>
 <hr>
@@ -454,7 +454,7 @@ nm_setting_dcb_get_app_iscsi_priority (<em class="parameter"><code><a class="lin
 </div>
 <div class="refsect3">
 <a name="nm-setting-dcb-get-app-iscsi-priority.returns"></a><h4>Returns</h4>
-<p> the <span class="type">“app-iscsi-priorityâ€</span> property of the setting</p>
+<p> the <a href="/usr/share/gtk-doc/html/libnm-util/NMSettingDcb.html#NMSettingDcb--app-iscsi-priority"><span class="type">“app-iscsi-priorityâ€</span></a> property of the setting</p>
 </div>
 </div>
 <hr>
@@ -479,7 +479,7 @@ nm_setting_dcb_get_app_fip_flags (<em class="parameter"><code><a class="link" hr
 </div>
 <div class="refsect3">
 <a name="nm-setting-dcb-get-app-fip-flags.returns"></a><h4>Returns</h4>
-<p> the <span class="type">“app-fip-flagsâ€</span> property of the setting</p>
+<p> the <a href="/usr/share/gtk-doc/html/libnm-util/NMSettingDcb.html#NMSettingDcb--app-fip-flags"><span class="type">“app-fip-flagsâ€</span></a> property of the setting</p>
 </div>
 </div>
 <hr>
@@ -504,7 +504,7 @@ nm_setting_dcb_get_app_fip_priority (<em class="parameter"><code><a class="link"
 </div>
 <div class="refsect3">
 <a name="nm-setting-dcb-get-app-fip-priority.returns"></a><h4>Returns</h4>
-<p> the <span class="type">“app-fip-priorityâ€</span> property of the setting</p>
+<p> the <a href="/usr/share/gtk-doc/html/libnm-util/NMSettingDcb.html#NMSettingDcb--app-fip-priority"><span class="type">“app-fip-priorityâ€</span></a> property of the setting</p>
 </div>
 </div>
 <hr>
@@ -530,7 +530,7 @@ nm_setting_dcb_get_priority_flow_control_flags
 </div>
 <div class="refsect3">
 <a name="nm-setting-dcb-get-priority-flow-control-flags.returns"></a><h4>Returns</h4>
-<p> the <span class="type">“priority-flow-control-flagsâ€</span> property of the setting</p>
+<p> the <a href="/usr/share/gtk-doc/html/libnm-util/NMSettingDcb.html#NMSettingDcb--priority-flow-control-flags"><span class="type">“priority-flow-control-flagsâ€</span></a> property of the setting</p>
 </div>
 </div>
 <hr>
@@ -577,7 +577,7 @@ nm_setting_dcb_set_priority_flow_control
                                (<em class="parameter"><code><a class="link" href="NMSettingDcb.html" title="NMSettingDcb"><span class="type">NMSettingDcb</span></a> *setting</code></em>,
                                 <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> user_priority</code></em>,
                                 <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> enabled</code></em>);</pre>
-<p>These values are only valid when <span class="type">“priority-flow-controlâ€</span> includes
+<p>These values are only valid when <a href="/usr/share/gtk-doc/html/libnm-util/NMSettingDcb.html#NMSettingDcb--priority-flow-control"><span class="type">“priority-flow-controlâ€</span></a> includes
 the <a class="link" href="NMSettingDcb.html#NM-SETTING-DCB-FLAG-ENABLE:CAPS"><code class="literal">NM_SETTING_DCB_FLAG_ENABLE</code></a> flag.</p>
 <div class="refsect3">
 <a name="nm-setting-dcb-set-priority-flow-control.parameters"></a><h4>Parameters</h4>
@@ -630,7 +630,7 @@ nm_setting_dcb_get_priority_group_flags
 </div>
 <div class="refsect3">
 <a name="nm-setting-dcb-get-priority-group-flags.returns"></a><h4>Returns</h4>
-<p> the <span class="type">“priority-group-flagsâ€</span> property of the setting</p>
+<p> the <a href="/usr/share/gtk-doc/html/libnm-util/NMSettingDcb.html#NMSettingDcb--priority-group-flags"><span class="type">“priority-group-flagsâ€</span></a> property of the setting</p>
 </div>
 </div>
 <hr>
@@ -665,7 +665,7 @@ nm_setting_dcb_get_priority_group_id (<em class="parameter"><code><a class="link
 <a name="nm-setting-dcb-get-priority-group-id.returns"></a><h4>Returns</h4>
 <p> the group number <em class="parameter"><code>user_priority</code></em>
 is assigned to.  These values are
-only valid when <span class="type">“priority-group-flagsâ€</span> includes the
+only valid when <a href="/usr/share/gtk-doc/html/libnm-util/NMSettingDcb.html#NMSettingDcb--priority-group-flags"><span class="type">“priority-group-flagsâ€</span></a> includes the
 <a class="link" href="NMSettingDcb.html#NM-SETTING-DCB-FLAG-ENABLE:CAPS"><code class="literal">NM_SETTING_DCB_FLAG_ENABLE</code></a> flag.</p>
 </div>
 </div>
@@ -676,7 +676,7 @@ only valid when <span class="type">“priority-group-flagsâ€</span> includes th
 nm_setting_dcb_set_priority_group_id (<em class="parameter"><code><a class="link" href="NMSettingDcb.html" title="NMSettingDcb"><span class="type">NMSettingDcb</span></a> *setting</code></em>,
                                       <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> user_priority</code></em>,
                                       <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> group_id</code></em>);</pre>
-<p>These values are only valid when <span class="type">“priority-group-flagsâ€</span> includes
+<p>These values are only valid when <a href="/usr/share/gtk-doc/html/libnm-util/NMSettingDcb.html#NMSettingDcb--priority-group-flags"><span class="type">“priority-group-flagsâ€</span></a> includes
 the <a class="link" href="NMSettingDcb.html#NM-SETTING-DCB-FLAG-ENABLE:CAPS"><code class="literal">NM_SETTING_DCB_FLAG_ENABLE</code></a> flag.</p>
 <div class="refsect3">
 <a name="nm-setting-dcb-set-priority-group-id.parameters"></a><h4>Parameters</h4>
@@ -741,7 +741,7 @@ nm_setting_dcb_get_priority_group_bandwidth
 <a name="nm-setting-dcb-get-priority-group-bandwidth.returns"></a><h4>Returns</h4>
 <p> the bandwidth percentage assigned to <em class="parameter"><code>group_id</code></em>
 .  These values are
-only valid when <span class="type">“priority-group-flagsâ€</span> includes the
+only valid when <a href="/usr/share/gtk-doc/html/libnm-util/NMSettingDcb.html#NMSettingDcb--priority-group-flags"><span class="type">“priority-group-flagsâ€</span></a> includes the
 <a class="link" href="NMSettingDcb.html#NM-SETTING-DCB-FLAG-ENABLE:CAPS"><code class="literal">NM_SETTING_DCB_FLAG_ENABLE</code></a> flag.</p>
 </div>
 </div>
@@ -753,7 +753,7 @@ nm_setting_dcb_set_priority_group_bandwidth
                                (<em class="parameter"><code><a class="link" href="NMSettingDcb.html" title="NMSettingDcb"><span class="type">NMSettingDcb</span></a> *setting</code></em>,
                                 <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> group_id</code></em>,
                                 <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> bandwidth_percent</code></em>);</pre>
-<p>These values are only valid when <span class="type">“priority-group-flagsâ€</span> includes
+<p>These values are only valid when <a href="/usr/share/gtk-doc/html/libnm-util/NMSettingDcb.html#NMSettingDcb--priority-group-flags"><span class="type">“priority-group-flagsâ€</span></a> includes
 the <a class="link" href="NMSettingDcb.html#NM-SETTING-DCB-FLAG-ENABLE:CAPS"><code class="literal">NM_SETTING_DCB_FLAG_ENABLE</code></a> flag.</p>
 <div class="refsect3">
 <a name="nm-setting-dcb-set-priority-group-bandwidth.parameters"></a><h4>Parameters</h4>
@@ -816,7 +816,7 @@ nm_setting_dcb_get_priority_bandwidth (<em class="parameter"><code><a class="lin
 <a name="nm-setting-dcb-get-priority-bandwidth.returns"></a><h4>Returns</h4>
 <p> the allowed bandwidth percentage of <em class="parameter"><code>user_priority</code></em>
 in its priority group.
-These values are only valid when <span class="type">“priority-group-flagsâ€</span> includes the
+These values are only valid when <a href="/usr/share/gtk-doc/html/libnm-util/NMSettingDcb.html#NMSettingDcb--priority-group-flags"><span class="type">“priority-group-flagsâ€</span></a> includes the
 <a class="link" href="NMSettingDcb.html#NM-SETTING-DCB-FLAG-ENABLE:CAPS"><code class="literal">NM_SETTING_DCB_FLAG_ENABLE</code></a> flag.</p>
 </div>
 </div>
@@ -827,7 +827,7 @@ These values are only valid when <span class="type">“priority-group-flagsâ€</
 nm_setting_dcb_set_priority_bandwidth (<em class="parameter"><code><a class="link" href="NMSettingDcb.html" title="NMSettingDcb"><span class="type">NMSettingDcb</span></a> *setting</code></em>,
                                        <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> user_priority</code></em>,
                                        <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> bandwidth_percent</code></em>);</pre>
-<p>These values are only valid when <span class="type">“priority-group-flagsâ€</span> includes
+<p>These values are only valid when <a href="/usr/share/gtk-doc/html/libnm-util/NMSettingDcb.html#NMSettingDcb--priority-group-flags"><span class="type">“priority-group-flagsâ€</span></a> includes
 the <a class="link" href="NMSettingDcb.html#NM-SETTING-DCB-FLAG-ENABLE:CAPS"><code class="literal">NM_SETTING_DCB_FLAG_ENABLE</code></a> flag.</p>
 <div class="refsect3">
 <a name="nm-setting-dcb-set-priority-bandwidth.parameters"></a><h4>Parameters</h4>
@@ -893,7 +893,7 @@ nm_setting_dcb_get_priority_strict_bandwidth
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if <em class="parameter"><code>user_priority</code></em>
 may use all of the bandwidth allocated to its
 assigned group, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if not. These values are only valid when
-<span class="type">“priority-group-flagsâ€</span> includes the <a class="link" href="NMSettingDcb.html#NM-SETTING-DCB-FLAG-ENABLE:CAPS"><code class="literal">NM_SETTING_DCB_FLAG_ENABLE</code></a> flag.</p>
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSettingDcb.html#NMSettingDcb--priority-group-flags"><span class="type">“priority-group-flagsâ€</span></a> includes the <a class="link" href="NMSettingDcb.html#NM-SETTING-DCB-FLAG-ENABLE:CAPS"><code class="literal">NM_SETTING_DCB_FLAG_ENABLE</code></a> flag.</p>
 </div>
 </div>
 <hr>
@@ -904,7 +904,7 @@ nm_setting_dcb_set_priority_strict_bandwidth
                                (<em class="parameter"><code><a class="link" href="NMSettingDcb.html" title="NMSettingDcb"><span class="type">NMSettingDcb</span></a> *setting</code></em>,
                                 <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> user_priority</code></em>,
                                 <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> strict</code></em>);</pre>
-<p>These values are only valid when <span class="type">“priority-group-flagsâ€</span> includes
+<p>These values are only valid when <a href="/usr/share/gtk-doc/html/libnm-util/NMSettingDcb.html#NMSettingDcb--priority-group-flags"><span class="type">“priority-group-flagsâ€</span></a> includes
 the <a class="link" href="NMSettingDcb.html#NM-SETTING-DCB-FLAG-ENABLE:CAPS"><code class="literal">NM_SETTING_DCB_FLAG_ENABLE</code></a> flag.</p>
 <div class="refsect3">
 <a name="nm-setting-dcb-set-priority-strict-bandwidth.parameters"></a><h4>Parameters</h4>
@@ -969,7 +969,7 @@ nm_setting_dcb_get_priority_traffic_class
 <a name="nm-setting-dcb-get-priority-traffic-class.returns"></a><h4>Returns</h4>
 <p> the traffic class assigned to <em class="parameter"><code>user_priority</code></em>
 . These values are only
-valid when <span class="type">“priority-group-flagsâ€</span> includes the
+valid when <a href="/usr/share/gtk-doc/html/libnm-util/NMSettingDcb.html#NMSettingDcb--priority-group-flags"><span class="type">“priority-group-flagsâ€</span></a> includes the
 <a class="link" href="NMSettingDcb.html#NM-SETTING-DCB-FLAG-ENABLE:CAPS"><code class="literal">NM_SETTING_DCB_FLAG_ENABLE</code></a> flag.</p>
 </div>
 </div>
diff --git a/docs/libnm/html/NMSettingEthtool.html b/docs/libnm/html/NMSettingEthtool.html
index c99302eb..d7f53331 100644
--- a/docs/libnm/html/NMSettingEthtool.html
+++ b/docs/libnm/html/NMSettingEthtool.html
@@ -263,7 +263,7 @@ nm_setting_ethtool_get_optnames (<em class="parameter"><code><a class="link" hre
 <p>use <a class="link" href="NMSetting.html#nm-setting-option-get-all-names" title="nm_setting_option_get_all_names ()"><code class="function">nm_setting_option_get_all_names()</code></a> instead.</p>
 </div>
 <p>This returns all options names that are set. This includes the feature names
-like <code class="literal">NM_ETHTOOL_OPTNAME_FEATURE_GRO</code>. See <a class="link" href="NMSettingEthtool.html#nm-ethtool-optname-is-feature" title="nm_ethtool_optname_is_feature ()"><code class="function">nm_ethtool_optname_is_feature()</code></a> to
+like <a href="libnm-nm-ethtool-utils.html#NM-ETHTOOL-OPTNAME-FEATURE-GRO:CAPS"><code class="literal">NM_ETHTOOL_OPTNAME_FEATURE_GRO</code></a>. See <a class="link" href="NMSettingEthtool.html#nm-ethtool-optname-is-feature" title="nm_ethtool_optname_is_feature ()"><code class="function">nm_ethtool_optname_is_feature()</code></a> to
 check whether the option name is valid for offload features.</p>
 <div class="refsect3">
 <a name="nm-setting-ethtool-get-optnames.parameters"></a><h4>Parameters</h4>
diff --git a/docs/libnm/html/NMSettingGeneric.html b/docs/libnm/html/NMSettingGeneric.html
index 4a10561c..2a3b9d16 100644
--- a/docs/libnm/html/NMSettingGeneric.html
+++ b/docs/libnm/html/NMSettingGeneric.html
@@ -67,7 +67,7 @@
 optional properties that apply to "generic" devices (ie, devices that
 NetworkManager does not specifically recognize).</p>
 <p>There are currently no properties on this object; it exists only to be
-the "connection type" setting on <span class="type">NMConnections</span> for generic devices.</p>
+the "connection type" setting on <a href="/usr/share/gtk-doc/html/libnm-util/NMConnection.html#NMConnection-struct"><span class="type">NMConnections</span></a> for generic devices.</p>
 </div>
 <div class="refsect1">
 <a name="NMSettingGeneric.functions_details"></a><h2>Functions</h2>
diff --git a/docs/libnm/html/NMSettingGsm.html b/docs/libnm/html/NMSettingGsm.html
index b6477e6f..35c275cd 100644
--- a/docs/libnm/html/NMSettingGsm.html
+++ b/docs/libnm/html/NMSettingGsm.html
@@ -290,7 +290,7 @@ nm_setting_gsm_get_username (<em class="parameter"><code><a class="link" href="N
 </div>
 <div class="refsect3">
 <a name="nm-setting-gsm-get-username.returns"></a><h4>Returns</h4>
-<p> the <span class="type">“usernameâ€</span> property of the setting</p>
+<p> the <a href="/usr/share/gtk-doc/html/libnm-util/NMSettingGsm.html#NMSettingGsm--username"><span class="type">“usernameâ€</span></a> property of the setting</p>
 </div>
 </div>
 <hr>
@@ -315,7 +315,7 @@ nm_setting_gsm_get_password (<em class="parameter"><code><a class="link" href="N
 </div>
 <div class="refsect3">
 <a name="nm-setting-gsm-get-password.returns"></a><h4>Returns</h4>
-<p> the <span class="type">“passwordâ€</span> property of the setting</p>
+<p> the <a href="/usr/share/gtk-doc/html/libnm-util/NMSettingGsm.html#NMSettingGsm--password"><span class="type">“passwordâ€</span></a> property of the setting</p>
 </div>
 </div>
 <hr>
@@ -340,7 +340,7 @@ nm_setting_gsm_get_apn (<em class="parameter"><code><a class="link" href="NMSett
 </div>
 <div class="refsect3">
 <a name="nm-setting-gsm-get-apn.returns"></a><h4>Returns</h4>
-<p> the <span class="type">“apnâ€</span> property of the setting</p>
+<p> the <a href="/usr/share/gtk-doc/html/libnm-util/NMSettingGsm.html#NMSettingGsm--apn"><span class="type">“apnâ€</span></a> property of the setting</p>
 </div>
 </div>
 <hr>
@@ -365,7 +365,7 @@ nm_setting_gsm_get_network_id (<em class="parameter"><code><a class="link" href=
 </div>
 <div class="refsect3">
 <a name="nm-setting-gsm-get-network-id.returns"></a><h4>Returns</h4>
-<p> the <span class="type">“network-idâ€</span> property of the setting</p>
+<p> the <a href="/usr/share/gtk-doc/html/libnm-util/NMSettingGsm.html#NMSettingGsm--network-id"><span class="type">“network-idâ€</span></a> property of the setting</p>
 </div>
 </div>
 <hr>
@@ -390,7 +390,7 @@ nm_setting_gsm_get_pin (<em class="parameter"><code><a class="link" href="NMSett
 </div>
 <div class="refsect3">
 <a name="nm-setting-gsm-get-pin.returns"></a><h4>Returns</h4>
-<p> the <span class="type">“pinâ€</span> property of the setting</p>
+<p> the <a href="/usr/share/gtk-doc/html/libnm-util/NMSettingGsm.html#NMSettingGsm--pin"><span class="type">“pinâ€</span></a> property of the setting</p>
 </div>
 </div>
 <hr>
@@ -415,7 +415,7 @@ nm_setting_gsm_get_home_only (<em class="parameter"><code><a class="link" href="
 </div>
 <div class="refsect3">
 <a name="nm-setting-gsm-get-home-only.returns"></a><h4>Returns</h4>
-<p> the <span class="type">“home-onlyâ€</span> property of the setting</p>
+<p> the <a href="/usr/share/gtk-doc/html/libnm-util/NMSettingGsm.html#NMSettingGsm--home-only"><span class="type">“home-onlyâ€</span></a> property of the setting</p>
 </div>
 </div>
 <hr>
@@ -548,7 +548,7 @@ nm_setting_gsm_get_number (<em class="parameter"><code><a class="link" href="NMS
 </div>
 <div class="refsect3">
 <a name="nm-setting-gsm-get-number.returns"></a><h4>Returns</h4>
-<p> the <span class="type">“numberâ€</span> property of the setting</p>
+<p> the <a href="/usr/share/gtk-doc/html/libnm-util/NMSettingGsm.html#NMSettingGsm--number"><span class="type">“numberâ€</span></a> property of the setting</p>
 </div>
 </div>
 <hr>
@@ -573,7 +573,7 @@ nm_setting_gsm_get_pin_flags (<em class="parameter"><code><a class="link" href="
 </div>
 <div class="refsect3">
 <a name="nm-setting-gsm-get-pin-flags.returns"></a><h4>Returns</h4>
-<p> the <a class="link" href="NMSetting.html#NMSettingSecretFlags" title="enum NMSettingSecretFlags"><span class="type">NMSettingSecretFlags</span></a> pertaining to the <span class="type">“pinâ€</span></p>
+<p> the <a class="link" href="NMSetting.html#NMSettingSecretFlags" title="enum NMSettingSecretFlags"><span class="type">NMSettingSecretFlags</span></a> pertaining to the <a href="/usr/share/gtk-doc/html/libnm-util/NMSettingGsm.html#NMSettingGsm--pin"><span class="type">“pinâ€</span></a></p>
 </div>
 </div>
 <hr>
@@ -598,7 +598,7 @@ nm_setting_gsm_get_password_flags (<em class="parameter"><code><a class="link" h
 </div>
 <div class="refsect3">
 <a name="nm-setting-gsm-get-password-flags.returns"></a><h4>Returns</h4>
-<p> the <a class="link" href="NMSetting.html#NMSettingSecretFlags" title="enum NMSettingSecretFlags"><span class="type">NMSettingSecretFlags</span></a> pertaining to the <span class="type">“passwordâ€</span></p>
+<p> the <a class="link" href="NMSetting.html#NMSettingSecretFlags" title="enum NMSettingSecretFlags"><span class="type">NMSettingSecretFlags</span></a> pertaining to the <a href="/usr/share/gtk-doc/html/libnm-util/NMSettingGsm.html#NMSettingGsm--password"><span class="type">“passwordâ€</span></a></p>
 </div>
 </div>
 </div>
diff --git a/docs/libnm/html/NMSettingHostname.html b/docs/libnm/html/NMSettingHostname.html
index 5ad796ae..5f3e812d 100644
--- a/docs/libnm/html/NMSettingHostname.html
+++ b/docs/libnm/html/NMSettingHostname.html
@@ -133,7 +133,7 @@ nm_setting_hostname_new (<em class="parameter"><code><span class="type">void</sp
 <p>the new empty <a class="link" href="NMSettingHostname.html" title="NMSettingHostname"><span class="type">NMSettingHostname</span></a> object. </p>
 <p><span class="annotation">[<acronym title="The caller owns the data, and is responsible for free it."><span class="acronym">transfer full</span></acronym>]</span></p>
 </div>
-<p class="since">Since: 1.30</p>
+<p class="since">Since: 1.42, 1.40.4</p>
 </div>
 <hr>
 <div class="refsect2">
diff --git a/docs/libnm/html/NMSettingIP4Config.html b/docs/libnm/html/NMSettingIP4Config.html
index 5fac8aff..aa26a2f3 100644
--- a/docs/libnm/html/NMSettingIP4Config.html
+++ b/docs/libnm/html/NMSettingIP4Config.html
@@ -179,7 +179,7 @@ nm_setting_ip4_config_new (<em class="parameter"><code><span class="type">void</
 <pre class="programlisting">const <span class="returnvalue">char</span> *
 nm_setting_ip4_config_get_dhcp_client_id
                                (<em class="parameter"><code><a class="link" href="NMSettingIP4Config.html" title="NMSettingIP4Config"><span class="type">NMSettingIP4Config</span></a> *setting</code></em>);</pre>
-<p>Returns the value contained in the <span class="type">“dhcp-client-idâ€</span>
+<p>Returns the value contained in the <a href="/usr/share/gtk-doc/html/libnm-util/NMSettingIP4Config.html#NMSettingIP4Config--dhcp-client-id"><span class="type">“dhcp-client-idâ€</span></a>
 property.</p>
 <div class="refsect3">
 <a name="nm-setting-ip4-config-get-dhcp-client-id.parameters"></a><h4>Parameters</h4>
@@ -285,7 +285,7 @@ property.</p>
 <a name="nm-setting-ip4-config-get-link-local.returns"></a><h4>Returns</h4>
 <p> the link-local configuration</p>
 </div>
-<p class="since">Since: 1.40</p>
+<p class="since">Since: 1.42, 1.40.4</p>
 </div>
 </div>
 <div class="refsect1">
diff --git a/docs/libnm/html/NMSettingIP6Config.html b/docs/libnm/html/NMSettingIP6Config.html
index 452f5796..fe805d0f 100644
--- a/docs/libnm/html/NMSettingIP6Config.html
+++ b/docs/libnm/html/NMSettingIP6Config.html
@@ -215,7 +215,7 @@ nm_setting_ip6_config_new (<em class="parameter"><code><span class="type">void</
 <a name="nm-setting-ip6-config-get-ip6-privacy"></a><h3>nm_setting_ip6_config_get_ip6_privacy ()</h3>
 <pre class="programlisting"><a class="link" href="NMSettingIP6Config.html#NMSettingIP6ConfigPrivacy" title="enum NMSettingIP6ConfigPrivacy"><span class="returnvalue">NMSettingIP6ConfigPrivacy</span></a>
 nm_setting_ip6_config_get_ip6_privacy (<em class="parameter"><code><a class="link" href="NMSettingIP6Config.html" title="NMSettingIP6Config"><span class="type">NMSettingIP6Config</span></a> *setting</code></em>);</pre>
-<p>Returns the value contained in the <span class="type">“ip6-privacyâ€</span>
+<p>Returns the value contained in the <a href="/usr/share/gtk-doc/html/libnm-util/NMSettingIP6Config.html#NMSettingIP6Config--ip6-privacy"><span class="type">“ip6-privacyâ€</span></a>
 property.</p>
 <div class="refsect3">
 <a name="nm-setting-ip6-config-get-ip6-privacy.parameters"></a><h4>Parameters</h4>
diff --git a/docs/libnm/html/NMSettingIPConfig.html b/docs/libnm/html/NMSettingIPConfig.html
index 7b4be85c..82ea7af2 100644
--- a/docs/libnm/html/NMSettingIPConfig.html
+++ b/docs/libnm/html/NMSettingIPConfig.html
@@ -1704,6 +1704,7 @@ to.</p></td>
 <p> 0 if the two objects have the same values (according to their flags)
 or a integer indicating the compare order.</p>
 </div>
+<p class="since">Since: 1.22</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -4796,6 +4797,7 @@ a default configuration, while the former explicitly means "no-options".</p>
 <a name="nm-setting-ip-config-has-dns-options.returns"></a><h4>Returns</h4>
 <p> whether DNS options are initialized or left unset (the default).</p>
 </div>
+<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -5894,7 +5896,7 @@ property.</p>
 <a name="nm-setting-ip-config-get-dhcp-iaid.returns"></a><h4>Returns</h4>
 <p> the configured DHCP IAID (Identity Association Identifier)</p>
 </div>
-<p class="since">Since: 1.22</p>
+<p class="since">Since: 1.42, 1.40.4</p>
 </div>
 <hr>
 <div class="refsect2">
diff --git a/docs/libnm/html/NMSettingIPTunnel.html b/docs/libnm/html/NMSettingIPTunnel.html
index 88bc354e..97d92639 100644
--- a/docs/libnm/html/NMSettingIPTunnel.html
+++ b/docs/libnm/html/NMSettingIPTunnel.html
@@ -514,7 +514,7 @@ nm_setting_ip_tunnel_get_encapsulation_limit
 <a name="nm-setting-ip-tunnel-get-encapsulation-limit.returns"></a><h4>Returns</h4>
 <p> the encapsulation limit value</p>
 </div>
-<p class="since">Since: 1.2</p>
+<p class="since">Since: 1.42, 1.40.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -541,7 +541,7 @@ nm_setting_ip_tunnel_get_flow_label (<em class="parameter"><code><a class="link"
 <a name="nm-setting-ip-tunnel-get-flow-label.returns"></a><h4>Returns</h4>
 <p> the flow label value</p>
 </div>
-<p class="since">Since: 1.2</p>
+<p class="since">Since: 1.42, 1.40.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -575,6 +575,27 @@ nm_setting_ip_tunnel_get_mtu (<em class="parameter"><code><a class="link" href="
 <a name="nm-setting-ip-tunnel-get-flags"></a><h3>nm_setting_ip_tunnel_get_flags ()</h3>
 <pre class="programlisting"><a class="link" href="NMSettingIPTunnel.html#NMIPTunnelFlags" title="enum NMIPTunnelFlags"><span class="returnvalue">NMIPTunnelFlags</span></a>
 nm_setting_ip_tunnel_get_flags (<em class="parameter"><code><a class="link" href="NMSettingIPTunnel.html" title="NMSettingIPTunnel"><span class="type">NMSettingIPTunnel</span></a> *setting</code></em>);</pre>
+<p>Returns the <span class="type">“flagsâ€</span> property of the setting.</p>
+<div class="refsect3">
+<a name="nm-setting-ip-tunnel-get-flags.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>setting</p></td>
+<td class="parameter_description"><p>the <a class="link" href="NMSettingIPTunnel.html" title="NMSettingIPTunnel"><span class="type">NMSettingIPTunnel</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="nm-setting-ip-tunnel-get-flags.returns"></a><h4>Returns</h4>
+<p> the tunnel flags</p>
+</div>
+<p class="since">Since: 1.12</p>
 </div>
 </div>
 <div class="refsect1">
@@ -665,6 +686,7 @@ nm_setting_ip_tunnel_get_flags (<em class="parameter"><code><a class="link" href
 <hr>
 <div class="refsect2">
 <a name="NMIPTunnelFlags"></a><h3>enum NMIPTunnelFlags</h3>
+<p>IP tunnel flags.</p>
 <div class="refsect3">
 <a name="NMIPTunnelFlags.members"></a><h4>Members</h4>
 <div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -676,42 +698,60 @@ nm_setting_ip_tunnel_get_flags (<em class="parameter"><code><a class="link" href
 <tbody>
 <tr>
 <td class="enum_member_name"><p><a name="NM-IP-TUNNEL-FLAG-NONE:CAPS"></a>NM_IP_TUNNEL_FLAG_NONE</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>no flag</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="NM-IP-TUNNEL-FLAG-IP6-IGN-ENCAP-LIMIT:CAPS"></a>NM_IP_TUNNEL_FLAG_IP6_IGN_ENCAP_LIMIT</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>don't add encapsulation limit
+if one isn't present in inner packet</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="NM-IP-TUNNEL-FLAG-IP6-USE-ORIG-TCLASS:CAPS"></a>NM_IP_TUNNEL_FLAG_IP6_USE_ORIG_TCLASS</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>copy the traffic class field
+from the inner packet</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="NM-IP-TUNNEL-FLAG-IP6-USE-ORIG-FLOWLABEL:CAPS"></a>NM_IP_TUNNEL_FLAG_IP6_USE_ORIG_FLOWLABEL</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>copy the flowlabel from the
+inner packet</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="NM-IP-TUNNEL-FLAG-IP6-MIP6-DEV:CAPS"></a>NM_IP_TUNNEL_FLAG_IP6_MIP6_DEV</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>used for Mobile IPv6</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="NM-IP-TUNNEL-FLAG-IP6-RCV-DSCP-COPY:CAPS"></a>NM_IP_TUNNEL_FLAG_IP6_RCV_DSCP_COPY</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>copy DSCP from the outer packet</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="NM-IP-TUNNEL-FLAG-IP6-USE-ORIG-FWMARK:CAPS"></a>NM_IP_TUNNEL_FLAG_IP6_USE_ORIG_FWMARK</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>copy fwmark from inner packet</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 </tbody>
 </table></div>
 </div>
+<p class="since">Since: 1.12</p>
 </div>
 </div>
 </div>
diff --git a/docs/libnm/html/NMSettingInfiniband.html b/docs/libnm/html/NMSettingInfiniband.html
index 185907d0..c4c2ef31 100644
--- a/docs/libnm/html/NMSettingInfiniband.html
+++ b/docs/libnm/html/NMSettingInfiniband.html
@@ -169,7 +169,7 @@ nm_setting_infiniband_get_mac_address (<em class="parameter"><code><a class="lin
 </div>
 <div class="refsect3">
 <a name="nm-setting-infiniband-get-mac-address.returns"></a><h4>Returns</h4>
-<p> the <span class="type">“mac-addressâ€</span> property of the setting</p>
+<p> the <a href="/usr/share/gtk-doc/html/libnm-util/NMSettingInfiniband.html#NMSettingInfiniband--mac-address"><span class="type">“mac-addressâ€</span></a> property of the setting</p>
 </div>
 </div>
 <hr>
@@ -194,7 +194,7 @@ nm_setting_infiniband_get_mtu (<em class="parameter"><code><a class="link" href=
 </div>
 <div class="refsect3">
 <a name="nm-setting-infiniband-get-mtu.returns"></a><h4>Returns</h4>
-<p> the <span class="type">“mtuâ€</span> property of the setting</p>
+<p> the <a href="/usr/share/gtk-doc/html/libnm-util/NMSettingInfiniband.html#NMSettingInfiniband--mtu"><span class="type">“mtuâ€</span></a> property of the setting</p>
 </div>
 </div>
 <hr>
@@ -285,8 +285,8 @@ nm_setting_infiniband_get_parent (<em class="parameter"><code><a class="link" hr
 <pre class="programlisting">const <span class="returnvalue">char</span> *
 nm_setting_infiniband_get_virtual_interface_name
                                (<em class="parameter"><code><a class="link" href="NMSettingInfiniband.html" title="NMSettingInfiniband"><span class="type">NMSettingInfiniband</span></a> *setting</code></em>);</pre>
-<p>Returns the interface name created by combining <span class="type">“parentâ€</span>
-and <span class="type">“p-keyâ€</span>. (If either property is unset, this will
+<p>Returns the interface name created by combining <a href="/usr/share/gtk-doc/html/libnm-util/NMSettingInfiniband.html#NMSettingInfiniband--parent"><span class="type">“parentâ€</span></a>
+and <a href="/usr/share/gtk-doc/html/libnm-util/NMSettingInfiniband.html#NMSettingInfiniband--p-key"><span class="type">“p-keyâ€</span></a>. (If either property is unset, this will
 return <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.)</p>
 <div class="refsect3">
 <a name="nm-setting-infiniband-get-virtual-interface-name.parameters"></a><h4>Parameters</h4>
diff --git a/docs/libnm/html/NMSettingMacvlan.html b/docs/libnm/html/NMSettingMacvlan.html
index 2b084c14..4979cf0e 100644
--- a/docs/libnm/html/NMSettingMacvlan.html
+++ b/docs/libnm/html/NMSettingMacvlan.html
@@ -345,6 +345,7 @@ nm_setting_macvlan_get_tap (<em class="parameter"><code><a class="link" href="NM
 </tbody>
 </table></div>
 </div>
+<p class="since">Since: 1.2</p>
 </div>
 </div>
 </div>
diff --git a/docs/libnm/html/NMSettingOvsBridge.html b/docs/libnm/html/NMSettingOvsBridge.html
index 9d0a6da9..e72e64ef 100644
--- a/docs/libnm/html/NMSettingOvsBridge.html
+++ b/docs/libnm/html/NMSettingOvsBridge.html
@@ -272,7 +272,7 @@ nm_setting_ovs_bridge_get_datapath_type
 <a name="nm-setting-ovs-bridge-get-datapath-type.returns"></a><h4>Returns</h4>
 <p> the <span class="type">“datapath_typeâ€</span> property of the setting</p>
 </div>
-<p class="since">Since: 1.20</p>
+<p class="since">Since: 1.42, 1.40.4</p>
 </div>
 </div>
 <div class="refsect1">
diff --git a/docs/libnm/html/NMSettingOvsExternalIDs.html b/docs/libnm/html/NMSettingOvsExternalIDs.html
index 639dd644..87b5da95 100644
--- a/docs/libnm/html/NMSettingOvsExternalIDs.html
+++ b/docs/libnm/html/NMSettingOvsExternalIDs.html
@@ -162,6 +162,7 @@ nm_setting_ovs_external_ids_get_data_keys
 <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>-terminated array containing each key from the table. </p>
 <p><span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=out_len][<acronym title="The data is owned by the callee, which is responsible of freeing it."><span class="acronym">transfer none</span></acronym>]</span></p>
 </div>
+<p class="since">Since: 1.30</p>
 </div>
 <hr>
 <div class="refsect2">
diff --git a/docs/libnm/html/NMSettingSerial.html b/docs/libnm/html/NMSettingSerial.html
index b4f5f1f5..efed6596 100644
--- a/docs/libnm/html/NMSettingSerial.html
+++ b/docs/libnm/html/NMSettingSerial.html
@@ -178,7 +178,7 @@ nm_setting_serial_get_baud (<em class="parameter"><code><a class="link" href="NM
 </div>
 <div class="refsect3">
 <a name="nm-setting-serial-get-baud.returns"></a><h4>Returns</h4>
-<p> the <span class="type">“baudâ€</span> property of the setting</p>
+<p> the <a href="/usr/share/gtk-doc/html/libnm-util/NMSettingSerial.html#NMSettingSerial--baud"><span class="type">“baudâ€</span></a> property of the setting</p>
 </div>
 </div>
 <hr>
@@ -203,7 +203,7 @@ nm_setting_serial_get_bits (<em class="parameter"><code><a class="link" href="NM
 </div>
 <div class="refsect3">
 <a name="nm-setting-serial-get-bits.returns"></a><h4>Returns</h4>
-<p> the <span class="type">“bitsâ€</span> property of the setting</p>
+<p> the <a href="/usr/share/gtk-doc/html/libnm-util/NMSettingSerial.html#NMSettingSerial--bits"><span class="type">“bitsâ€</span></a> property of the setting</p>
 </div>
 </div>
 <hr>
@@ -228,7 +228,7 @@ nm_setting_serial_get_parity (<em class="parameter"><code><a class="link" href="
 </div>
 <div class="refsect3">
 <a name="nm-setting-serial-get-parity.returns"></a><h4>Returns</h4>
-<p> the <span class="type">“parityâ€</span> property of the setting</p>
+<p> the <a href="/usr/share/gtk-doc/html/libnm-util/NMSettingSerial.html#NMSettingSerial--parity"><span class="type">“parityâ€</span></a> property of the setting</p>
 </div>
 </div>
 <hr>
@@ -253,7 +253,7 @@ nm_setting_serial_get_stopbits (<em class="parameter"><code><a class="link" href
 </div>
 <div class="refsect3">
 <a name="nm-setting-serial-get-stopbits.returns"></a><h4>Returns</h4>
-<p> the <span class="type">“stopbitsâ€</span> property of the setting</p>
+<p> the <a href="/usr/share/gtk-doc/html/libnm-util/NMSettingSerial.html#NMSettingSerial--stopbits"><span class="type">“stopbitsâ€</span></a> property of the setting</p>
 </div>
 </div>
 <hr>
@@ -278,7 +278,7 @@ nm_setting_serial_get_send_delay (<em class="parameter"><code><a class="link" hr
 </div>
 <div class="refsect3">
 <a name="nm-setting-serial-get-send-delay.returns"></a><h4>Returns</h4>
-<p> the <span class="type">“send-delayâ€</span> property of the setting</p>
+<p> the <a href="/usr/share/gtk-doc/html/libnm-util/NMSettingSerial.html#NMSettingSerial--send-delay"><span class="type">“send-delayâ€</span></a> property of the setting</p>
 </div>
 </div>
 </div>
diff --git a/docs/libnm/html/NMSettingSriov.html b/docs/libnm/html/NMSettingSriov.html
index a1b42911..81600da0 100644
--- a/docs/libnm/html/NMSettingSriov.html
+++ b/docs/libnm/html/NMSettingSriov.html
@@ -795,6 +795,34 @@ nm_sriov_vf_get_vlan_qos (<em class="parameter"><code>const <a class="link" href
 <pre class="programlisting"><a class="link" href="NMSettingSriov.html#NMSriovVFVlanProtocol" title="enum NMSriovVFVlanProtocol"><span class="returnvalue">NMSriovVFVlanProtocol</span></a>
 nm_sriov_vf_get_vlan_protocol (<em class="parameter"><code>const <a class="link" href="NMSettingSriov.html#NMSriovVF"><span class="type">NMSriovVF</span></a> *vf</code></em>,
                                <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> vlan_id</code></em>);</pre>
+<p>Returns the configured protocol for the given VLAN.</p>
+<div class="refsect3">
+<a name="nm-sriov-vf-get-vlan-protocol.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>vf</p></td>
+<td class="parameter_description"><p>the <a class="link" href="NMSettingSriov.html#NMSriovVF"><span class="type">NMSriovVF</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>vlan_id</p></td>
+<td class="parameter_description"><p>the VLAN id</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="nm-sriov-vf-get-vlan-protocol.returns"></a><h4>Returns</h4>
+<p> the configured protocol</p>
+</div>
+<p class="since">Since: 1.14</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1121,7 +1149,7 @@ the value is of the correct type and well-formed.</p>
 <a name="nm-sriov-vf-attribute-validate.returns"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the attribute is valid, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise</p>
 </div>
-<p class="since">Since: 1.14</p>
+<p class="since">Since: 1.42, 1.40.4</p>
 </div>
 </div>
 <div class="refsect1">
diff --git a/docs/libnm/html/NMSettingTCConfig.html b/docs/libnm/html/NMSettingTCConfig.html
index 50bebca4..ea07415d 100644
--- a/docs/libnm/html/NMSettingTCConfig.html
+++ b/docs/libnm/html/NMSettingTCConfig.html
@@ -1376,7 +1376,7 @@ nm_tc_tfilter_get_action (<em class="parameter"><code><a class="link" href="NMSe
 <a name="nm-tc-tfilter-get-action.returns"></a><h4>Returns</h4>
 <p> the action associated with a traffic filter.</p>
 </div>
-<p class="since">Since: 1.12</p>
+<p class="since">Since: 1.42, 1.40.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1407,7 +1407,7 @@ nm_tc_tfilter_set_action (<em class="parameter"><code><a class="link" href="NMSe
 </tbody>
 </table></div>
 </div>
-<p class="since">Since: 1.12</p>
+<p class="since">Since: 1.42, 1.40.4</p>
 </div>
 <hr>
 <div class="refsect2">
diff --git a/docs/libnm/html/NMSettingTeam.html b/docs/libnm/html/NMSettingTeam.html
index 431b3923..1af5bc5f 100644
--- a/docs/libnm/html/NMSettingTeam.html
+++ b/docs/libnm/html/NMSettingTeam.html
@@ -1202,7 +1202,7 @@ nm_setting_team_get_config (<em class="parameter"><code><a class="link" href="NM
 </div>
 <div class="refsect3">
 <a name="nm-setting-team-get-config.returns"></a><h4>Returns</h4>
-<p> the <span class="type">“configâ€</span> property of the setting</p>
+<p> the <a href="/usr/share/gtk-doc/html/libnm-util/NMSettingTeam.html#NMSettingTeam--config"><span class="type">“configâ€</span></a> property of the setting</p>
 </div>
 </div>
 <hr>
@@ -1955,6 +1955,7 @@ option 'validate_inactive' is enabled (set to true).</p>
 </tbody>
 </table></div>
 </div>
+<p class="since">Since: 1.12</p>
 </div>
 <hr>
 <div class="refsect2">
diff --git a/docs/libnm/html/NMSettingTeamPort.html b/docs/libnm/html/NMSettingTeamPort.html
index b2dc9bfa..bd6712a5 100644
--- a/docs/libnm/html/NMSettingTeamPort.html
+++ b/docs/libnm/html/NMSettingTeamPort.html
@@ -236,7 +236,7 @@ nm_setting_team_port_get_config (<em class="parameter"><code><a class="link" hre
 </div>
 <div class="refsect3">
 <a name="nm-setting-team-port-get-config.returns"></a><h4>Returns</h4>
-<p> the <span class="type">“configâ€</span> property of the setting</p>
+<p> the <a href="/usr/share/gtk-doc/html/libnm-util/NMSettingTeamPort.html#NMSettingTeamPort--config"><span class="type">“configâ€</span></a> property of the setting</p>
 </div>
 </div>
 <hr>
diff --git a/docs/libnm/html/NMSettingTun.html b/docs/libnm/html/NMSettingTun.html
index 0d1a7357..3b6fb181 100644
--- a/docs/libnm/html/NMSettingTun.html
+++ b/docs/libnm/html/NMSettingTun.html
@@ -402,6 +402,7 @@ nm_setting_tun_get_multi_queue (<em class="parameter"><code><a class="link" href
 </tbody>
 </table></div>
 </div>
+<p class="since">Since: 1.2</p>
 </div>
 </div>
 </div>
diff --git a/docs/libnm/html/NMSettingUser.html b/docs/libnm/html/NMSettingUser.html
index d268e29c..a00c80cb 100644
--- a/docs/libnm/html/NMSettingUser.html
+++ b/docs/libnm/html/NMSettingUser.html
@@ -123,6 +123,7 @@ nm_setting_user_new (<em class="parameter"><code><span class="type">void</span><
 <a name="nm-setting-user-new.returns"></a><h4>Returns</h4>
 <p> the new empty <a class="link" href="NMSettingUser.html" title="NMSettingUser"><span class="type">NMSettingUser</span></a> object</p>
 </div>
+<p class="since">Since: 1.8</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -158,6 +159,7 @@ nm_setting_user_get_keys (<em class="parameter"><code><a class="link" href="NMSe
 <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>-terminated array containing each key from the table. </p>
 <p><span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=out_len][<acronym title="The data is owned by the callee, which is responsible of freeing it."><span class="acronym">transfer none</span></acronym>]</span></p>
 </div>
+<p class="since">Since: 1.8</p>
 </div>
 <hr>
 <div class="refsect2">
diff --git a/docs/libnm/html/NMSettingVlan.html b/docs/libnm/html/NMSettingVlan.html
index 7b992456..69d1733c 100644
--- a/docs/libnm/html/NMSettingVlan.html
+++ b/docs/libnm/html/NMSettingVlan.html
@@ -233,7 +233,7 @@ nm_setting_vlan_get_parent (<em class="parameter"><code><a class="link" href="NM
 </div>
 <div class="refsect3">
 <a name="nm-setting-vlan-get-parent.returns"></a><h4>Returns</h4>
-<p> the <span class="type">“parentâ€</span> property of the setting</p>
+<p> the <a href="/usr/share/gtk-doc/html/libnm-util/NMSettingVlan.html#NMSettingVlan--parent"><span class="type">“parentâ€</span></a> property of the setting</p>
 </div>
 </div>
 <hr>
@@ -258,7 +258,7 @@ nm_setting_vlan_get_id (<em class="parameter"><code><a class="link" href="NMSett
 </div>
 <div class="refsect3">
 <a name="nm-setting-vlan-get-id.returns"></a><h4>Returns</h4>
-<p> the <span class="type">“idâ€</span> property of the setting</p>
+<p> the <a href="/usr/share/gtk-doc/html/libnm-util/NMSettingVlan.html#NMSettingVlan--id"><span class="type">“idâ€</span></a> property of the setting</p>
 </div>
 </div>
 <hr>
@@ -283,7 +283,7 @@ nm_setting_vlan_get_flags (<em class="parameter"><code><a class="link" href="NMS
 </div>
 <div class="refsect3">
 <a name="nm-setting-vlan-get-flags.returns"></a><h4>Returns</h4>
-<p> the <span class="type">“flagsâ€</span> property of the setting</p>
+<p> the <a href="/usr/share/gtk-doc/html/libnm-util/NMSettingVlan.html#NMSettingVlan--flags"><span class="type">“flagsâ€</span></a> property of the setting</p>
 </div>
 </div>
 <hr>
@@ -293,7 +293,7 @@ nm_setting_vlan_get_flags (<em class="parameter"><code><a class="link" href="NMS
 nm_setting_vlan_get_num_priorities (<em class="parameter"><code><a class="link" href="NMSettingVlan.html" title="NMSettingVlan"><span class="type">NMSettingVlan</span></a> *setting</code></em>,
                                     <em class="parameter"><code><a class="link" href="NMSettingVlan.html#NMVlanPriorityMap" title="enum NMVlanPriorityMap"><span class="type">NMVlanPriorityMap</span></a> map</code></em>);</pre>
 <p>Returns the number of entries in the
-<span class="type">“ingress_priority_mapâ€</span> or <span class="type">“egress_priority_mapâ€</span>
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSettingVlan.html#NMSettingVlan--ingress-priority-map"><span class="type">“ingress_priority_mapâ€</span></a> or <a href="/usr/share/gtk-doc/html/libnm-util/NMSettingVlan.html#NMSettingVlan--egress-priority-map"><span class="type">“egress_priority_mapâ€</span></a>
 properties of this setting.</p>
 <div class="refsect3">
 <a name="nm-setting-vlan-get-num-priorities.parameters"></a><h4>Parameters</h4>
@@ -331,8 +331,8 @@ nm_setting_vlan_get_priority (<em class="parameter"><code><a class="link" href="
                               <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> idx</code></em>,
                               <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> *out_from</code></em>,
                               <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> *out_to</code></em>);</pre>
-<p>Retrieve one of the entries of the <span class="type">“ingress_priority_mapâ€</span>
-or <span class="type">“egress_priority_mapâ€</span> properties of this setting.</p>
+<p>Retrieve one of the entries of the <a href="/usr/share/gtk-doc/html/libnm-util/NMSettingVlan.html#NMSettingVlan--ingress-priority-map"><span class="type">“ingress_priority_mapâ€</span></a>
+or <a href="/usr/share/gtk-doc/html/libnm-util/NMSettingVlan.html#NMSettingVlan--egress-priority-map"><span class="type">“egress_priority_mapâ€</span></a> properties of this setting.</p>
 <div class="refsect3">
 <a name="nm-setting-vlan-get-priority.parameters"></a><h4>Parameters</h4>
 <div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -384,8 +384,8 @@ nm_setting_vlan_add_priority (<em class="parameter"><code><a class="link" href="
                               <em class="parameter"><code><a class="link" href="NMSettingVlan.html#NMVlanPriorityMap" title="enum NMVlanPriorityMap"><span class="type">NMVlanPriorityMap</span></a> map</code></em>,
                               <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> from</code></em>,
                               <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> to</code></em>);</pre>
-<p>Adds a priority mapping to the <span class="type">“ingress_priority_mapâ€</span> or
-<span class="type">“egress_priority_mapâ€</span> properties of the setting. If <em class="parameter"><code>from</code></em>
+<p>Adds a priority mapping to the <a href="/usr/share/gtk-doc/html/libnm-util/NMSettingVlan.html#NMSettingVlan--ingress-priority-map"><span class="type">“ingress_priority_mapâ€</span></a> or
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSettingVlan.html#NMSettingVlan--egress-priority-map"><span class="type">“egress_priority_mapâ€</span></a> properties of the setting. If <em class="parameter"><code>from</code></em>
  is
 already in the given priority map, this function will overwrite the
 existing entry with the new <em class="parameter"><code>to</code></em>
@@ -448,7 +448,7 @@ nm_setting_vlan_remove_priority (<em class="parameter"><code><a class="link" hre
                                  <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> idx</code></em>);</pre>
 <p>Removes the priority map at index <em class="parameter"><code>idx</code></em>
  from the
-<span class="type">“ingress_priority_mapâ€</span> or <span class="type">“egress_priority_mapâ€</span>
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSettingVlan.html#NMSettingVlan--ingress-priority-map"><span class="type">“ingress_priority_mapâ€</span></a> or <a href="/usr/share/gtk-doc/html/libnm-util/NMSettingVlan.html#NMSettingVlan--egress-priority-map"><span class="type">“egress_priority_mapâ€</span></a>
 properties.</p>
 <div class="refsect3">
 <a name="nm-setting-vlan-remove-priority.parameters"></a><h4>Parameters</h4>
@@ -489,8 +489,8 @@ nm_setting_vlan_remove_priority_by_value
                                 <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> to</code></em>);</pre>
 <p>Removes the priority map <em class="parameter"><code>form</code></em>
 :<em class="parameter"><code>to</code></em>
- from the <span class="type">“ingress_priority_mapâ€</span>
-or <span class="type">“egress_priority_mapâ€</span> (according to <em class="parameter"><code>map</code></em>
+ from the <a href="/usr/share/gtk-doc/html/libnm-util/NMSettingVlan.html#NMSettingVlan--ingress-priority-map"><span class="type">“ingress_priority_mapâ€</span></a>
+or <a href="/usr/share/gtk-doc/html/libnm-util/NMSettingVlan.html#NMSettingVlan--egress-priority-map"><span class="type">“egress_priority_mapâ€</span></a> (according to <em class="parameter"><code>map</code></em>
  argument)
 properties.</p>
 <div class="refsect3">
@@ -541,8 +541,8 @@ nm_setting_vlan_remove_priority_str_by_value
                                 <em class="parameter"><code><a class="link" href="NMSettingVlan.html#NMVlanPriorityMap" title="enum NMVlanPriorityMap"><span class="type">NMVlanPriorityMap</span></a> map</code></em>,
                                 <em class="parameter"><code>const <span class="type">char</span> *str</code></em>);</pre>
 <p>Removes the priority map <em class="parameter"><code>str</code></em>
- from the <span class="type">“ingress_priority_mapâ€</span>
-or <span class="type">“egress_priority_mapâ€</span> (according to <em class="parameter"><code>map</code></em>
+ from the <a href="/usr/share/gtk-doc/html/libnm-util/NMSettingVlan.html#NMSettingVlan--ingress-priority-map"><span class="type">“ingress_priority_mapâ€</span></a>
+or <a href="/usr/share/gtk-doc/html/libnm-util/NMSettingVlan.html#NMSettingVlan--egress-priority-map"><span class="type">“egress_priority_mapâ€</span></a> (according to <em class="parameter"><code>map</code></em>
  argument)
 properties.</p>
 <div class="refsect3">
@@ -583,8 +583,8 @@ properties.</p>
 <pre class="programlisting"><span class="returnvalue">void</span>
 nm_setting_vlan_clear_priorities (<em class="parameter"><code><a class="link" href="NMSettingVlan.html" title="NMSettingVlan"><span class="type">NMSettingVlan</span></a> *setting</code></em>,
                                   <em class="parameter"><code><a class="link" href="NMSettingVlan.html#NMVlanPriorityMap" title="enum NMVlanPriorityMap"><span class="type">NMVlanPriorityMap</span></a> map</code></em>);</pre>
-<p>Clear all the entries from <span class="type">“ingress_priority_mapâ€</span> or
-<span class="type">“egress_priority_mapâ€</span> properties.</p>
+<p>Clear all the entries from <a href="/usr/share/gtk-doc/html/libnm-util/NMSettingVlan.html#NMSettingVlan--ingress-priority-map"><span class="type">“ingress_priority_mapâ€</span></a> or
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSettingVlan.html#NMSettingVlan--egress-priority-map"><span class="type">“egress_priority_mapâ€</span></a> properties.</p>
 <div class="refsect3">
 <a name="nm-setting-vlan-clear-priorities.parameters"></a><h4>Parameters</h4>
 <div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -615,8 +615,8 @@ nm_setting_vlan_clear_priorities (<em class="parameter"><code><a class="link" hr
 nm_setting_vlan_add_priority_str (<em class="parameter"><code><a class="link" href="NMSettingVlan.html" title="NMSettingVlan"><span class="type">NMSettingVlan</span></a> *setting</code></em>,
                                   <em class="parameter"><code><a class="link" href="NMSettingVlan.html#NMVlanPriorityMap" title="enum NMVlanPriorityMap"><span class="type">NMVlanPriorityMap</span></a> map</code></em>,
                                   <em class="parameter"><code>const <span class="type">char</span> *str</code></em>);</pre>
-<p>Adds a priority map entry into either the <span class="type">“ingress_priority_mapâ€</span>
-or the <span class="type">“egress_priority_mapâ€</span> properties.  The priority map maps
+<p>Adds a priority map entry into either the <a href="/usr/share/gtk-doc/html/libnm-util/NMSettingVlan.html#NMSettingVlan--ingress-priority-map"><span class="type">“ingress_priority_mapâ€</span></a>
+or the <a href="/usr/share/gtk-doc/html/libnm-util/NMSettingVlan.html#NMSettingVlan--egress-priority-map"><span class="type">“egress_priority_mapâ€</span></a> properties.  The priority map maps
 the Linux SKB priorities to 802.1p priorities.</p>
 <div class="refsect3">
 <a name="nm-setting-vlan-add-priority-str.parameters"></a><h4>Parameters</h4>
diff --git a/docs/libnm/html/NMSettingVpn.html b/docs/libnm/html/NMSettingVpn.html
index b7d49ee4..d90c1369 100644
--- a/docs/libnm/html/NMSettingVpn.html
+++ b/docs/libnm/html/NMSettingVpn.html
@@ -354,6 +354,7 @@ nm_setting_vpn_get_persistent (<em class="parameter"><code><a class="link" href=
 <a name="nm-setting-vpn-get-persistent.returns"></a><h4>Returns</h4>
 <p> the <span class="type">“persistentâ€</span> property of the setting</p>
 </div>
+<p class="since">Since: 1.42, 1.40.4</p>
 </div>
 <hr>
 <div class="refsect2">
diff --git a/docs/libnm/html/NMSettingWireGuard.html b/docs/libnm/html/NMSettingWireGuard.html
index 34f5415b..4faf4634 100644
--- a/docs/libnm/html/NMSettingWireGuard.html
+++ b/docs/libnm/html/NMSettingWireGuard.html
@@ -1611,6 +1611,26 @@ is unchanged.</p>
 <a name="nm-setting-wireguard-clear-peers"></a><h3>nm_setting_wireguard_clear_peers ()</h3>
 <pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
 nm_setting_wireguard_clear_peers (<em class="parameter"><code><a class="link" href="NMSettingWireGuard.html" title="NMSettingWireGuard"><span class="type">NMSettingWireGuard</span></a> *self</code></em>);</pre>
+<div class="refsect3">
+<a name="nm-setting-wireguard-clear-peers.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>the <a class="link" href="NMSettingWireGuard.html" title="NMSettingWireGuard"><span class="type">NMSettingWireGuard</span></a> instance</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="nm-setting-wireguard-clear-peers.returns"></a><h4>Returns</h4>
+<p> the number of cleared peers.</p>
+</div>
+<p class="since">Since: 1.16</p>
 </div>
 <hr>
 <div class="refsect2">
diff --git a/docs/libnm/html/NMSettingWired.html b/docs/libnm/html/NMSettingWired.html
index 247660e5..6389ac4b 100644
--- a/docs/libnm/html/NMSettingWired.html
+++ b/docs/libnm/html/NMSettingWired.html
@@ -372,7 +372,7 @@ nm_setting_wired_get_port (<em class="parameter"><code><a class="link" href="NMS
 </div>
 <div class="refsect3">
 <a name="nm-setting-wired-get-port.returns"></a><h4>Returns</h4>
-<p> the <span class="type">“portâ€</span> property of the setting</p>
+<p> the <a href="/usr/share/gtk-doc/html/libnm-util/NMSettingWired.html#NMSettingWired--port"><span class="type">“portâ€</span></a> property of the setting</p>
 </div>
 </div>
 <hr>
@@ -397,7 +397,7 @@ nm_setting_wired_get_speed (<em class="parameter"><code><a class="link" href="NM
 </div>
 <div class="refsect3">
 <a name="nm-setting-wired-get-speed.returns"></a><h4>Returns</h4>
-<p> the <span class="type">“speedâ€</span> property of the setting</p>
+<p> the <a href="/usr/share/gtk-doc/html/libnm-util/NMSettingWired.html#NMSettingWired--speed"><span class="type">“speedâ€</span></a> property of the setting</p>
 </div>
 </div>
 <hr>
@@ -422,7 +422,7 @@ nm_setting_wired_get_duplex (<em class="parameter"><code><a class="link" href="N
 </div>
 <div class="refsect3">
 <a name="nm-setting-wired-get-duplex.returns"></a><h4>Returns</h4>
-<p> the <span class="type">“duplexâ€</span> property of the setting</p>
+<p> the <a href="/usr/share/gtk-doc/html/libnm-util/NMSettingWired.html#NMSettingWired--duplex"><span class="type">“duplexâ€</span></a> property of the setting</p>
 </div>
 </div>
 <hr>
@@ -447,7 +447,7 @@ nm_setting_wired_get_auto_negotiate (<em class="parameter"><code><a class="link"
 </div>
 <div class="refsect3">
 <a name="nm-setting-wired-get-auto-negotiate.returns"></a><h4>Returns</h4>
-<p> the <span class="type">“auto-negotiateâ€</span> property of the setting</p>
+<p> the <a href="/usr/share/gtk-doc/html/libnm-util/NMSettingWired.html#NMSettingWired--auto-negotiate"><span class="type">“auto-negotiateâ€</span></a> property of the setting</p>
 </div>
 </div>
 <hr>
@@ -472,7 +472,7 @@ nm_setting_wired_get_mac_address (<em class="parameter"><code><a class="link" hr
 </div>
 <div class="refsect3">
 <a name="nm-setting-wired-get-mac-address.returns"></a><h4>Returns</h4>
-<p> the <span class="type">“mac-addressâ€</span> property of the setting</p>
+<p> the <a href="/usr/share/gtk-doc/html/libnm-util/NMSettingWired.html#NMSettingWired--mac-address"><span class="type">“mac-addressâ€</span></a> property of the setting</p>
 </div>
 </div>
 <hr>
@@ -498,7 +498,7 @@ nm_setting_wired_get_cloned_mac_address
 </div>
 <div class="refsect3">
 <a name="nm-setting-wired-get-cloned-mac-address.returns"></a><h4>Returns</h4>
-<p> the <span class="type">“cloned-mac-addressâ€</span> property of the setting</p>
+<p> the <a href="/usr/share/gtk-doc/html/libnm-util/NMSettingWired.html#NMSettingWired--cloned-mac-address"><span class="type">“cloned-mac-addressâ€</span></a> property of the setting</p>
 </div>
 </div>
 <hr>
@@ -578,7 +578,7 @@ nm_setting_wired_get_mac_address_blacklist
 </div>
 <div class="refsect3">
 <a name="nm-setting-wired-get-mac-address-blacklist.returns"></a><h4>Returns</h4>
-<p> the <span class="type">“mac-address-blacklistâ€</span> property of the setting</p>
+<p> the <a href="/usr/share/gtk-doc/html/libnm-util/NMSettingWired.html#NMSettingWired--mac-address-blacklist"><span class="type">“mac-address-blacklistâ€</span></a> property of the setting</p>
 </div>
 </div>
 <hr>
@@ -650,7 +650,7 @@ at index <em class="parameter"><code>idx</code></em>
 nm_setting_wired_add_mac_blacklist_item
                                (<em class="parameter"><code><a class="link" href="NMSettingWired.html" title="NMSettingWired"><span class="type">NMSettingWired</span></a> *setting</code></em>,
                                 <em class="parameter"><code>const <span class="type">char</span> *mac</code></em>);</pre>
-<p>Adds a new MAC address to the <span class="type">“mac-address-blacklistâ€</span> property.</p>
+<p>Adds a new MAC address to the <a href="/usr/share/gtk-doc/html/libnm-util/NMSettingWired.html#NMSettingWired--mac-address-blacklist"><span class="type">“mac-address-blacklistâ€</span></a> property.</p>
 <div class="refsect3">
 <a name="nm-setting-wired-add-mac-blacklist-item.parameters"></a><h4>Parameters</h4>
 <div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -793,7 +793,7 @@ nm_setting_wired_get_mtu (<em class="parameter"><code><a class="link" href="NMSe
 </div>
 <div class="refsect3">
 <a name="nm-setting-wired-get-mtu.returns"></a><h4>Returns</h4>
-<p> the <span class="type">“mtuâ€</span> property of the setting</p>
+<p> the <a href="/usr/share/gtk-doc/html/libnm-util/NMSettingWired.html#NMSettingWired--mtu"><span class="type">“mtuâ€</span></a> property of the setting</p>
 </div>
 </div>
 <hr>
diff --git a/docs/libnm/html/NMSettingWireless.html b/docs/libnm/html/NMSettingWireless.html
index 5c0b26aa..8f937cbc 100644
--- a/docs/libnm/html/NMSettingWireless.html
+++ b/docs/libnm/html/NMSettingWireless.html
@@ -417,7 +417,7 @@ nm_setting_wireless_get_ssid (<em class="parameter"><code><a class="link" href="
 </div>
 <div class="refsect3">
 <a name="nm-setting-wireless-get-ssid.returns"></a><h4>Returns</h4>
-<p>the <span class="type">“ssidâ€</span> property of the setting. </p>
+<p>the <a href="/usr/share/gtk-doc/html/libnm-util/NMSettingWireless.html#NMSettingWireless--ssid"><span class="type">“ssidâ€</span></a> property of the setting. </p>
 <p><span class="annotation">[<acronym title="The data is owned by the callee, which is responsible of freeing it."><span class="acronym">transfer none</span></acronym>]</span></p>
 </div>
 </div>
@@ -443,7 +443,7 @@ nm_setting_wireless_get_mode (<em class="parameter"><code><a class="link" href="
 </div>
 <div class="refsect3">
 <a name="nm-setting-wireless-get-mode.returns"></a><h4>Returns</h4>
-<p> the <span class="type">“modeâ€</span> property of the setting</p>
+<p> the <a href="/usr/share/gtk-doc/html/libnm-util/NMSettingWireless.html#NMSettingWireless--mode"><span class="type">“modeâ€</span></a> property of the setting</p>
 </div>
 </div>
 <hr>
@@ -468,7 +468,7 @@ nm_setting_wireless_get_band (<em class="parameter"><code><a class="link" href="
 </div>
 <div class="refsect3">
 <a name="nm-setting-wireless-get-band.returns"></a><h4>Returns</h4>
-<p> the <span class="type">“bandâ€</span> property of the setting</p>
+<p> the <a href="/usr/share/gtk-doc/html/libnm-util/NMSettingWireless.html#NMSettingWireless--band"><span class="type">“bandâ€</span></a> property of the setting</p>
 </div>
 </div>
 <hr>
@@ -493,7 +493,7 @@ nm_setting_wireless_get_channel (<em class="parameter"><code><a class="link" hre
 </div>
 <div class="refsect3">
 <a name="nm-setting-wireless-get-channel.returns"></a><h4>Returns</h4>
-<p> the <span class="type">“channelâ€</span> property of the setting</p>
+<p> the <a href="/usr/share/gtk-doc/html/libnm-util/NMSettingWireless.html#NMSettingWireless--channel"><span class="type">“channelâ€</span></a> property of the setting</p>
 </div>
 </div>
 <hr>
@@ -518,7 +518,7 @@ nm_setting_wireless_get_bssid (<em class="parameter"><code><a class="link" href=
 </div>
 <div class="refsect3">
 <a name="nm-setting-wireless-get-bssid.returns"></a><h4>Returns</h4>
-<p> the <span class="type">“bssidâ€</span> property of the setting</p>
+<p> the <a href="/usr/share/gtk-doc/html/libnm-util/NMSettingWireless.html#NMSettingWireless--bssid"><span class="type">“bssidâ€</span></a> property of the setting</p>
 </div>
 </div>
 <hr>
@@ -543,7 +543,7 @@ nm_setting_wireless_get_rate (<em class="parameter"><code><a class="link" href="
 </div>
 <div class="refsect3">
 <a name="nm-setting-wireless-get-rate.returns"></a><h4>Returns</h4>
-<p> the <span class="type">“rateâ€</span> property of the setting</p>
+<p> the <a href="/usr/share/gtk-doc/html/libnm-util/NMSettingWireless.html#NMSettingWireless--rate"><span class="type">“rateâ€</span></a> property of the setting</p>
 </div>
 </div>
 <hr>
@@ -568,7 +568,7 @@ nm_setting_wireless_get_tx_power (<em class="parameter"><code><a class="link" hr
 </div>
 <div class="refsect3">
 <a name="nm-setting-wireless-get-tx-power.returns"></a><h4>Returns</h4>
-<p> the <span class="type">“tx-powerâ€</span> property of the setting</p>
+<p> the <a href="/usr/share/gtk-doc/html/libnm-util/NMSettingWireless.html#NMSettingWireless--tx-power"><span class="type">“tx-powerâ€</span></a> property of the setting</p>
 </div>
 </div>
 <hr>
@@ -593,7 +593,7 @@ nm_setting_wireless_get_mac_address (<em class="parameter"><code><a class="link"
 </div>
 <div class="refsect3">
 <a name="nm-setting-wireless-get-mac-address.returns"></a><h4>Returns</h4>
-<p> the <span class="type">“mac-addressâ€</span> property of the setting</p>
+<p> the <a href="/usr/share/gtk-doc/html/libnm-util/NMSettingWireless.html#NMSettingWireless--mac-address"><span class="type">“mac-addressâ€</span></a> property of the setting</p>
 </div>
 </div>
 <hr>
@@ -619,7 +619,7 @@ nm_setting_wireless_get_cloned_mac_address
 </div>
 <div class="refsect3">
 <a name="nm-setting-wireless-get-cloned-mac-address.returns"></a><h4>Returns</h4>
-<p> the <span class="type">“cloned-mac-addressâ€</span> property of the setting</p>
+<p> the <a href="/usr/share/gtk-doc/html/libnm-util/NMSettingWireless.html#NMSettingWireless--cloned-mac-address"><span class="type">“cloned-mac-addressâ€</span></a> property of the setting</p>
 </div>
 </div>
 <hr>
@@ -672,7 +672,7 @@ nm_setting_wireless_get_mac_address_blacklist
 </div>
 <div class="refsect3">
 <a name="nm-setting-wireless-get-mac-address-blacklist.returns"></a><h4>Returns</h4>
-<p> the <span class="type">“mac-address-blacklistâ€</span> property of the setting</p>
+<p> the <a href="/usr/share/gtk-doc/html/libnm-util/NMSettingWireless.html#NMSettingWireless--mac-address-blacklist"><span class="type">“mac-address-blacklistâ€</span></a> property of the setting</p>
 </div>
 </div>
 <hr>
@@ -744,7 +744,7 @@ at index <em class="parameter"><code>idx</code></em>
 nm_setting_wireless_add_mac_blacklist_item
                                (<em class="parameter"><code><a class="link" href="NMSettingWireless.html" title="NMSettingWireless"><span class="type">NMSettingWireless</span></a> *setting</code></em>,
                                 <em class="parameter"><code>const <span class="type">char</span> *mac</code></em>);</pre>
-<p>Adds a new MAC address to the <span class="type">“mac-address-blacklistâ€</span> property.</p>
+<p>Adds a new MAC address to the <a href="/usr/share/gtk-doc/html/libnm-util/NMSettingWireless.html#NMSettingWireless--mac-address-blacklist"><span class="type">“mac-address-blacklistâ€</span></a> property.</p>
 <div class="refsect3">
 <a name="nm-setting-wireless-add-mac-blacklist-item.parameters"></a><h4>Parameters</h4>
 <div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -887,7 +887,7 @@ nm_setting_wireless_get_mtu (<em class="parameter"><code><a class="link" href="N
 </div>
 <div class="refsect3">
 <a name="nm-setting-wireless-get-mtu.returns"></a><h4>Returns</h4>
-<p> the <span class="type">“mtuâ€</span> property of the setting</p>
+<p> the <a href="/usr/share/gtk-doc/html/libnm-util/NMSettingWireless.html#NMSettingWireless--mtu"><span class="type">“mtuâ€</span></a> property of the setting</p>
 </div>
 </div>
 <hr>
@@ -912,7 +912,7 @@ nm_setting_wireless_get_hidden (<em class="parameter"><code><a class="link" href
 </div>
 <div class="refsect3">
 <a name="nm-setting-wireless-get-hidden.returns"></a><h4>Returns</h4>
-<p> the <span class="type">“hiddenâ€</span> property of the setting</p>
+<p> the <a href="/usr/share/gtk-doc/html/libnm-util/NMSettingWireless.html#NMSettingWireless--hidden"><span class="type">“hiddenâ€</span></a> property of the setting</p>
 </div>
 </div>
 <hr>
@@ -937,7 +937,7 @@ nm_setting_wireless_get_powersave (<em class="parameter"><code><a class="link" h
 </div>
 <div class="refsect3">
 <a name="nm-setting-wireless-get-powersave.returns"></a><h4>Returns</h4>
-<p> the <span class="type">“powersaveâ€</span> property of the setting</p>
+<p> the <a href="/usr/share/gtk-doc/html/libnm-util/NMSettingWireless.html#NMSettingWireless--powersave"><span class="type">“powersaveâ€</span></a> property of the setting</p>
 </div>
 <p class="since">Since: 1.2</p>
 </div>
@@ -1501,6 +1501,7 @@ for this connection.</p>
 </tbody>
 </table></div>
 </div>
+<p class="since">Since: 1.2</p>
 </div>
 </div>
 </div>
diff --git a/docs/libnm/html/NMSettingWirelessSecurity.html b/docs/libnm/html/NMSettingWirelessSecurity.html
index 951217cb..617735d0 100644
--- a/docs/libnm/html/NMSettingWirelessSecurity.html
+++ b/docs/libnm/html/NMSettingWirelessSecurity.html
@@ -479,7 +479,7 @@ nm_setting_wireless_security_get_key_mgmt
 </div>
 <div class="refsect3">
 <a name="nm-setting-wireless-security-get-key-mgmt.returns"></a><h4>Returns</h4>
-<p> the <span class="type">“key-mgmtâ€</span> property of the setting</p>
+<p> the <a href="/usr/share/gtk-doc/html/libnm-util/NMSettingWirelessSecurity.html#NMSettingWirelessSecurity--key-mgmt"><span class="type">“key-mgmtâ€</span></a> property of the setting</p>
 </div>
 </div>
 <hr>
@@ -1070,6 +1070,26 @@ specified then all groupwise encryption algorithms are allowed.</p>
 <a name="nm-setting-wireless-security-get-pmf"></a><h3>nm_setting_wireless_security_get_pmf ()</h3>
 <pre class="programlisting"><a class="link" href="NMSettingWirelessSecurity.html#NMSettingWirelessSecurityPmf" title="enum NMSettingWirelessSecurityPmf"><span class="returnvalue">NMSettingWirelessSecurityPmf</span></a>
 nm_setting_wireless_security_get_pmf (<em class="parameter"><code><a class="link" href="NMSettingWirelessSecurity.html" title="NMSettingWirelessSecurity"><span class="type">NMSettingWirelessSecurity</span></a> *setting</code></em>);</pre>
+<div class="refsect3">
+<a name="nm-setting-wireless-security-get-pmf.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>setting</p></td>
+<td class="parameter_description"><p>the <a class="link" href="NMSettingWirelessSecurity.html" title="NMSettingWirelessSecurity"><span class="type">NMSettingWirelessSecurity</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="nm-setting-wireless-security-get-pmf.returns"></a><h4>Returns</h4>
+<p> the <span class="type">“pmfâ€</span> property of the setting</p>
+</div>
+<p class="since">Since: 1.10</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1093,7 +1113,7 @@ nm_setting_wireless_security_get_psk (<em class="parameter"><code><a class="link
 </div>
 <div class="refsect3">
 <a name="nm-setting-wireless-security-get-psk.returns"></a><h4>Returns</h4>
-<p> the <span class="type">“pskâ€</span> property of the setting</p>
+<p> the <a href="/usr/share/gtk-doc/html/libnm-util/NMSettingWirelessSecurity.html#NMSettingWirelessSecurity--psk"><span class="type">“pskâ€</span></a> property of the setting</p>
 </div>
 </div>
 <hr>
@@ -1120,7 +1140,7 @@ nm_setting_wireless_security_get_psk_flags
 <div class="refsect3">
 <a name="nm-setting-wireless-security-get-psk-flags.returns"></a><h4>Returns</h4>
 <p> the <a class="link" href="NMSetting.html#NMSettingSecretFlags" title="enum NMSettingSecretFlags"><span class="type">NMSettingSecretFlags</span></a> pertaining to the
-<span class="type">“pskâ€</span></p>
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSettingWirelessSecurity.html#NMSettingWirelessSecurity--psk"><span class="type">“pskâ€</span></a></p>
 </div>
 </div>
 <hr>
@@ -1146,7 +1166,7 @@ nm_setting_wireless_security_get_leap_username
 </div>
 <div class="refsect3">
 <a name="nm-setting-wireless-security-get-leap-username.returns"></a><h4>Returns</h4>
-<p> the <span class="type">“leap-usernameâ€</span> property of the setting</p>
+<p> the <a href="/usr/share/gtk-doc/html/libnm-util/NMSettingWirelessSecurity.html#NMSettingWirelessSecurity--leap-username"><span class="type">“leap-usernameâ€</span></a> property of the setting</p>
 </div>
 </div>
 <hr>
@@ -1172,7 +1192,7 @@ nm_setting_wireless_security_get_leap_password
 </div>
 <div class="refsect3">
 <a name="nm-setting-wireless-security-get-leap-password.returns"></a><h4>Returns</h4>
-<p> the <span class="type">“leap-passwordâ€</span> property of the setting</p>
+<p> the <a href="/usr/share/gtk-doc/html/libnm-util/NMSettingWirelessSecurity.html#NMSettingWirelessSecurity--leap-password"><span class="type">“leap-passwordâ€</span></a> property of the setting</p>
 </div>
 </div>
 <hr>
@@ -1199,7 +1219,7 @@ nm_setting_wireless_security_get_leap_password_flags
 <div class="refsect3">
 <a name="nm-setting-wireless-security-get-leap-password-flags.returns"></a><h4>Returns</h4>
 <p> the <a class="link" href="NMSetting.html#NMSettingSecretFlags" title="enum NMSettingSecretFlags"><span class="type">NMSettingSecretFlags</span></a> pertaining to the
-<span class="type">“leap-passwordâ€</span></p>
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSettingWirelessSecurity.html#NMSettingWirelessSecurity--leap-password"><span class="type">“leap-passwordâ€</span></a></p>
 </div>
 </div>
 <hr>
@@ -1267,7 +1287,7 @@ nm_setting_wireless_security_set_wep_key
 <tr>
 <td class="parameter_name"><p>key</p></td>
 <td class="parameter_description"><p>the WEP key as a string, in either hexadecimal, ASCII, or passphrase
-form as determined by the value of the <span class="type">“wep-key-typeâ€</span>
+form as determined by the value of the <a href="/usr/share/gtk-doc/html/libnm-util/NMSettingWirelessSecurity.html#NMSettingWirelessSecurity--wep-key-type"><span class="type">“wep-key-typeâ€</span></a>
 property.</p></td>
 <td class="parameter_annotations"> </td>
 </tr>
@@ -1298,7 +1318,7 @@ nm_setting_wireless_security_get_wep_tx_keyidx
 </div>
 <div class="refsect3">
 <a name="nm-setting-wireless-security-get-wep-tx-keyidx.returns"></a><h4>Returns</h4>
-<p> the <span class="type">“wep-tx-keyidxâ€</span> property of the setting</p>
+<p> the <a href="/usr/share/gtk-doc/html/libnm-util/NMSettingWirelessSecurity.html#NMSettingWirelessSecurity--wep-tx-keyidx"><span class="type">“wep-tx-keyidxâ€</span></a> property of the setting</p>
 </div>
 </div>
 <hr>
@@ -1324,7 +1344,7 @@ nm_setting_wireless_security_get_auth_alg
 </div>
 <div class="refsect3">
 <a name="nm-setting-wireless-security-get-auth-alg.returns"></a><h4>Returns</h4>
-<p> the <span class="type">“auth-algâ€</span> property of the setting</p>
+<p> the <a href="/usr/share/gtk-doc/html/libnm-util/NMSettingWirelessSecurity.html#NMSettingWirelessSecurity--auth-alg"><span class="type">“auth-algâ€</span></a> property of the setting</p>
 </div>
 </div>
 <hr>
@@ -1376,7 +1396,7 @@ nm_setting_wireless_security_get_wep_key_type
 </div>
 <div class="refsect3">
 <a name="nm-setting-wireless-security-get-wep-key-type.returns"></a><h4>Returns</h4>
-<p> the <span class="type">“wep-key-typeâ€</span> property of the setting</p>
+<p> the <a href="/usr/share/gtk-doc/html/libnm-util/NMSettingWirelessSecurity.html#NMSettingWirelessSecurity--wep-key-type"><span class="type">“wep-key-typeâ€</span></a> property of the setting</p>
 </div>
 </div>
 <hr>
@@ -1411,6 +1431,26 @@ nm_setting_wireless_security_get_wps_method
 <a name="nm-setting-wireless-security-get-fils"></a><h3>nm_setting_wireless_security_get_fils ()</h3>
 <pre class="programlisting"><a class="link" href="NMSettingWirelessSecurity.html#NMSettingWirelessSecurityFils" title="enum NMSettingWirelessSecurityFils"><span class="returnvalue">NMSettingWirelessSecurityFils</span></a>
 nm_setting_wireless_security_get_fils (<em class="parameter"><code><a class="link" href="NMSettingWirelessSecurity.html" title="NMSettingWirelessSecurity"><span class="type">NMSettingWirelessSecurity</span></a> *setting</code></em>);</pre>
+<div class="refsect3">
+<a name="nm-setting-wireless-security-get-fils.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>setting</p></td>
+<td class="parameter_description"><p>the <a class="link" href="NMSettingWirelessSecurity.html" title="NMSettingWirelessSecurity"><span class="type">NMSettingWirelessSecurity</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="nm-setting-wireless-security-get-fils.returns"></a><h4>Returns</h4>
+<p> the <span class="type">“filsâ€</span> property of the setting</p>
+</div>
+<p class="since">Since: 1.12</p>
 </div>
 </div>
 <div class="refsect1">
@@ -1533,6 +1573,7 @@ the actual WEP key using the MD5 hash algorithm.</p>
 </tbody>
 </table></div>
 </div>
+<p class="since">Since: 1.10</p>
 </div>
 <hr>
 <div class="refsect2">
diff --git a/docs/libnm/html/NMSettingWpan.html b/docs/libnm/html/NMSettingWpan.html
index 3c13f380..5355e7ad 100644
--- a/docs/libnm/html/NMSettingWpan.html
+++ b/docs/libnm/html/NMSettingWpan.html
@@ -149,7 +149,7 @@ nm_setting_wpan_new (<em class="parameter"><code><span class="type">void</span><
 <p>the new empty <a class="link" href="NMSettingWpan.html" title="NMSettingWpan"><span class="type">NMSettingWpan</span></a> object. </p>
 <p><span class="annotation">[<acronym title="The caller owns the data, and is responsible for free it."><span class="acronym">transfer full</span></acronym>]</span></p>
 </div>
-<p class="since">Since: 1.14</p>
+<p class="since">Since: 1.42, 1.40.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -175,7 +175,7 @@ nm_setting_wpan_get_mac_address (<em class="parameter"><code><a class="link" hre
 <a name="nm-setting-wpan-get-mac-address.returns"></a><h4>Returns</h4>
 <p> the <span class="type">“mac-addressâ€</span> property of the setting</p>
 </div>
-<p class="since">Since: 1.14</p>
+<p class="since">Since: 1.42, 1.40.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -201,7 +201,7 @@ nm_setting_wpan_get_pan_id (<em class="parameter"><code><a class="link" href="NM
 <a name="nm-setting-wpan-get-pan-id.returns"></a><h4>Returns</h4>
 <p> the <span class="type">“pan-idâ€</span> property of the setting</p>
 </div>
-<p class="since">Since: 1.14</p>
+<p class="since">Since: 1.42, 1.40.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -227,7 +227,7 @@ nm_setting_wpan_get_short_address (<em class="parameter"><code><a class="link" h
 <a name="nm-setting-wpan-get-short-address.returns"></a><h4>Returns</h4>
 <p> the <span class="type">“short-addressâ€</span> property of the setting</p>
 </div>
-<p class="since">Since: 1.14</p>
+<p class="since">Since: 1.42, 1.40.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -253,7 +253,7 @@ nm_setting_wpan_get_page (<em class="parameter"><code><a class="link" href="NMSe
 <a name="nm-setting-wpan-get-page.returns"></a><h4>Returns</h4>
 <p> the <span class="type">“pageâ€</span> property of the setting</p>
 </div>
-<p class="since">Since: 1.16</p>
+<p class="since">Since: 1.42, 1.40.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -279,7 +279,7 @@ nm_setting_wpan_get_channel (<em class="parameter"><code><a class="link" href="N
 <a name="nm-setting-wpan-get-channel.returns"></a><h4>Returns</h4>
 <p> the <span class="type">“channelâ€</span> property of the setting</p>
 </div>
-<p class="since">Since: 1.16</p>
+<p class="since">Since: 1.42, 1.40.4</p>
 </div>
 </div>
 <div class="refsect1">
diff --git a/docs/libnm/html/NMVpnConnection.html b/docs/libnm/html/NMVpnConnection.html
index 1aeca777..bacd8318 100644
--- a/docs/libnm/html/NMVpnConnection.html
+++ b/docs/libnm/html/NMVpnConnection.html
@@ -44,7 +44,7 @@
 <tbody>
 <tr>
 <td class="function_type">
-<a href="/usr/share/gtk-doc/html/NetworkManager/nm-vpn-dbus-types.html#NMVpnConnectionState"><span class="returnvalue">NMVpnConnectionState</span></a>
+<a href="libnm-nm-vpn-dbus-interface.html#NMVpnConnectionState"><span class="returnvalue">NMVpnConnectionState</span></a>
 </td>
 <td class="function_name">
 <a class="link" href="NMVpnConnection.html#nm-vpn-connection-get-vpn-state" title="nm_vpn_connection_get_vpn_state ()">nm_vpn_connection_get_vpn_state</a> <span class="c_punctuation">()</span>
@@ -76,7 +76,7 @@
 <td class="property_flags">Read</td>
 </tr>
 <tr>
-<td class="property_type"><a href="/usr/share/gtk-doc/html/NetworkManager/nm-vpn-dbus-types.html#NMVpnConnectionState"><span class="type">NMVpnConnectionState</span></a></td>
+<td class="property_type"><a href="libnm-nm-vpn-dbus-interface.html#NMVpnConnectionState"><span class="type">NMVpnConnectionState</span></a></td>
 <td class="property_name"><a class="link" href="NMVpnConnection.html#NMVpnConnection--vpn-state" title="The “vpn-state†property">vpn-state</a></td>
 <td class="property_flags">Read</td>
 </tr>
@@ -136,7 +136,7 @@
 <a name="NMVpnConnection.functions_details"></a><h2>Functions</h2>
 <div class="refsect2">
 <a name="nm-vpn-connection-get-vpn-state"></a><h3>nm_vpn_connection_get_vpn_state ()</h3>
-<pre class="programlisting"><a href="/usr/share/gtk-doc/html/NetworkManager/nm-vpn-dbus-types.html#NMVpnConnectionState"><span class="returnvalue">NMVpnConnectionState</span></a>
+<pre class="programlisting"><a href="libnm-nm-vpn-dbus-interface.html#NMVpnConnectionState"><span class="returnvalue">NMVpnConnectionState</span></a>
 nm_vpn_connection_get_vpn_state (<em class="parameter"><code><a class="link" href="NMVpnConnection.html" title="NMVpnConnection"><span class="type">NMVpnConnection</span></a> *vpn</code></em>);</pre>
 <p>Gets the current <a class="link" href="NMVpnConnection.html" title="NMVpnConnection"><span class="type">NMVpnConnection</span></a> state.</p>
 <div class="refsect3">
@@ -219,7 +219,7 @@ string used by the connection, and must not be modified.</p>
 <hr>
 <div class="refsect2">
 <a name="NMVpnConnection--vpn-state"></a><h3>The <code class="literal">“vpn-stateâ€</code> property</h3>
-<pre class="programlisting">  “vpn-state†               <a href="/usr/share/gtk-doc/html/NetworkManager/nm-vpn-dbus-types.html#NMVpnConnectionState"><span class="type">NMVpnConnectionState</span></a></pre>
+<pre class="programlisting">  “vpn-state†               <a href="libnm-nm-vpn-dbus-interface.html#NMVpnConnectionState"><span class="type">NMVpnConnectionState</span></a></pre>
 <p>The VPN state of the active VPN connection.</p>
 <p>Owner: NMVpnConnection</p>
 <p>Flags: Read</p>
diff --git a/docs/libnm/html/NMVpnPluginInfo.html b/docs/libnm/html/NMVpnPluginInfo.html
index 45880d12..696d2bd8 100644
--- a/docs/libnm/html/NMVpnPluginInfo.html
+++ b/docs/libnm/html/NMVpnPluginInfo.html
@@ -613,7 +613,7 @@ nm_vpn_plugin_info_supports_multiple (<em class="parameter"><code><a class="link
 <a name="nm-vpn-plugin-info-supports-multiple.returns"></a><h4>Returns</h4>
 <p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the service supports multiple instances with different bus names, otherwise <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a></p>
 </div>
-<p class="since">Since: 1.2</p>
+<p class="since">Since: 1.42, 1.40.4</p>
 </div>
 <hr>
 <div class="refsect2">
diff --git a/docs/libnm/html/NMVpnPluginOld.html b/docs/libnm/html/NMVpnPluginOld.html
index bf6a322c..c66e3496 100644
--- a/docs/libnm/html/NMVpnPluginOld.html
+++ b/docs/libnm/html/NMVpnPluginOld.html
@@ -53,7 +53,7 @@
 </tr>
 <tr>
 <td class="function_type">
-<a href="/usr/share/gtk-doc/html/NetworkManager/nm-vpn-dbus-types.html#NMVpnServiceState"><span class="returnvalue">NMVpnServiceState</span></a>
+<a href="libnm-nm-vpn-dbus-interface.html#NMVpnServiceState"><span class="returnvalue">NMVpnServiceState</span></a>
 </td>
 <td class="function_name">
 <a class="link" href="NMVpnPluginOld.html#nm-vpn-plugin-old-get-state" title="nm_vpn_plugin_old_get_state ()">nm_vpn_plugin_old_get_state</a> <span class="c_punctuation">()</span>
@@ -96,27 +96,11 @@
 <span class="returnvalue">void</span>
 </td>
 <td class="function_name">
-<a class="link" href="NMVpnPluginOld.html#nm-vpn-plugin-old-set-config" title="nm_vpn_plugin_old_set_config ()">nm_vpn_plugin_old_set_config</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">void</span>
-</td>
-<td class="function_name">
 <a class="link" href="NMVpnPluginOld.html#nm-vpn-plugin-old-set-ip4-config" title="nm_vpn_plugin_old_set_ip4_config ()">nm_vpn_plugin_old_set_ip4_config</a> <span class="c_punctuation">()</span>
 </td>
 </tr>
 <tr>
 <td class="function_type">
-<span class="returnvalue">void</span>
-</td>
-<td class="function_name">
-<a class="link" href="NMVpnPluginOld.html#nm-vpn-plugin-old-set-ip6-config" title="nm_vpn_plugin_old_set_ip6_config ()">nm_vpn_plugin_old_set_ip6_config</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
 <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 </td>
 <td class="function_name">
@@ -158,7 +142,7 @@
 <td class="property_flags">Read / Write / Construct Only</td>
 </tr>
 <tr>
-<td class="property_type"><a href="/usr/share/gtk-doc/html/NetworkManager/nm-vpn-dbus-types.html#NMVpnServiceState"><span class="type">NMVpnServiceState</span></a></td>
+<td class="property_type"><a href="libnm-nm-vpn-dbus-interface.html#NMVpnServiceState"><span class="type">NMVpnServiceState</span></a></td>
 <td class="property_name"><a class="link" href="NMVpnPluginOld.html#NMVpnPluginOld--state" title="The “state†property">state</a></td>
 <td class="property_flags">Read / Write</td>
 </tr>
@@ -274,7 +258,7 @@ nm_vpn_plugin_old_get_connection (<em class="parameter"><code><a class="link" hr
 <hr>
 <div class="refsect2">
 <a name="nm-vpn-plugin-old-get-state"></a><h3>nm_vpn_plugin_old_get_state ()</h3>
-<pre class="programlisting"><a href="/usr/share/gtk-doc/html/NetworkManager/nm-vpn-dbus-types.html#NMVpnServiceState"><span class="returnvalue">NMVpnServiceState</span></a>
+<pre class="programlisting"><a href="libnm-nm-vpn-dbus-interface.html#NMVpnServiceState"><span class="returnvalue">NMVpnServiceState</span></a>
 nm_vpn_plugin_old_get_state (<em class="parameter"><code><a class="link" href="NMVpnPluginOld.html" title="NMVpnPluginOld"><span class="type">NMVpnPluginOld</span></a> *plugin</code></em>);</pre>
 <div class="warning">
 <p><code class="literal">nm_vpn_plugin_old_get_state</code> has been deprecated since version 1.2 and should not be used in newly-written code.</p>
@@ -286,7 +270,7 @@ nm_vpn_plugin_old_get_state (<em class="parameter"><code><a class="link" href="N
 <a name="nm-vpn-plugin-old-set-state"></a><h3>nm_vpn_plugin_old_set_state ()</h3>
 <pre class="programlisting"><span class="returnvalue">void</span>
 nm_vpn_plugin_old_set_state (<em class="parameter"><code><a class="link" href="NMVpnPluginOld.html" title="NMVpnPluginOld"><span class="type">NMVpnPluginOld</span></a> *plugin</code></em>,
-                             <em class="parameter"><code><a href="/usr/share/gtk-doc/html/NetworkManager/nm-vpn-dbus-types.html#NMVpnServiceState"><span class="type">NMVpnServiceState</span></a> state</code></em>);</pre>
+                             <em class="parameter"><code><a href="libnm-nm-vpn-dbus-interface.html#NMVpnServiceState"><span class="type">NMVpnServiceState</span></a> state</code></em>);</pre>
 <div class="warning">
 <p><code class="literal">nm_vpn_plugin_old_set_state</code> has been deprecated since version 1.2 and should not be used in newly-written code.</p>
 <p>Replaced by NMVpnServicePlugin.</p>
@@ -352,7 +336,7 @@ nm_vpn_plugin_old_set_login_banner (<em class="parameter"><code><a class="link"
 <a name="nm-vpn-plugin-old-failure"></a><h3>nm_vpn_plugin_old_failure ()</h3>
 <pre class="programlisting"><span class="returnvalue">void</span>
 nm_vpn_plugin_old_failure (<em class="parameter"><code><a class="link" href="NMVpnPluginOld.html" title="NMVpnPluginOld"><span class="type">NMVpnPluginOld</span></a> *plugin</code></em>,
-                           <em class="parameter"><code><a href="/usr/share/gtk-doc/html/NetworkManager/nm-vpn-dbus-types.html#NMVpnPluginFailure"><span class="type">NMVpnPluginFailure</span></a> reason</code></em>);</pre>
+                           <em class="parameter"><code><a href="libnm-nm-vpn-dbus-interface.html#NMVpnPluginFailure"><span class="type">NMVpnPluginFailure</span></a> reason</code></em>);</pre>
 <div class="warning">
 <p><code class="literal">nm_vpn_plugin_old_failure</code> has been deprecated since version 1.2 and should not be used in newly-written code.</p>
 <p>Replaced by NMVpnServicePlugin.</p>
@@ -360,17 +344,6 @@ nm_vpn_plugin_old_failure (<em class="parameter"><code><a class="link" href="NMV
 </div>
 <hr>
 <div class="refsect2">
-<a name="nm-vpn-plugin-old-set-config"></a><h3>nm_vpn_plugin_old_set_config ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>
-nm_vpn_plugin_old_set_config (<em class="parameter"><code><a class="link" href="NMVpnPluginOld.html" title="NMVpnPluginOld"><span class="type">NMVpnPluginOld</span></a> *plugin</code></em>,
-                              <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> *config</code></em>);</pre>
-<div class="warning">
-<p><code class="literal">nm_vpn_plugin_old_set_config</code> has been deprecated since version 1.2 and should not be used in newly-written code.</p>
-<p>Replaced by NMVpnServicePlugin.</p>
-</div>
-</div>
-<hr>
-<div class="refsect2">
 <a name="nm-vpn-plugin-old-set-ip4-config"></a><h3>nm_vpn_plugin_old_set_ip4_config ()</h3>
 <pre class="programlisting"><span class="returnvalue">void</span>
 nm_vpn_plugin_old_set_ip4_config (<em class="parameter"><code><a class="link" href="NMVpnPluginOld.html" title="NMVpnPluginOld"><span class="type">NMVpnPluginOld</span></a> *plugin</code></em>,
@@ -382,17 +355,6 @@ nm_vpn_plugin_old_set_ip4_config (<em class="parameter"><code><a class="link" hr
 </div>
 <hr>
 <div class="refsect2">
-<a name="nm-vpn-plugin-old-set-ip6-config"></a><h3>nm_vpn_plugin_old_set_ip6_config ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>
-nm_vpn_plugin_old_set_ip6_config (<em class="parameter"><code><a class="link" href="NMVpnPluginOld.html" title="NMVpnPluginOld"><span class="type">NMVpnPluginOld</span></a> *plugin</code></em>,
-                                  <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> *ip6_config</code></em>);</pre>
-<div class="warning">
-<p><code class="literal">nm_vpn_plugin_old_set_ip6_config</code> has been deprecated since version 1.2 and should not be used in newly-written code.</p>
-<p>Replaced by NMVpnServicePlugin.</p>
-</div>
-</div>
-<hr>
-<div class="refsect2">
 <a name="nm-vpn-plugin-old-disconnect"></a><h3>nm_vpn_plugin_old_disconnect ()</h3>
 <pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 nm_vpn_plugin_old_disconnect (<em class="parameter"><code><a class="link" href="NMVpnPluginOld.html" title="NMVpnPluginOld"><span class="type">NMVpnPluginOld</span></a> *plugin</code></em>,
@@ -535,7 +497,7 @@ to flags, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macro
 <hr>
 <div class="refsect2">
 <a name="NMVpnPluginOld--state"></a><h3>The <code class="literal">“stateâ€</code> property</h3>
-<pre class="programlisting">  “state†                   <a href="/usr/share/gtk-doc/html/NetworkManager/nm-vpn-dbus-types.html#NMVpnServiceState"><span class="type">NMVpnServiceState</span></a></pre>
+<pre class="programlisting">  “state†                   <a href="libnm-nm-vpn-dbus-interface.html#NMVpnServiceState"><span class="type">NMVpnServiceState</span></a></pre>
 <p>The state of the plugin.</p>
 <div class="warning">
 <p><code class="literal">NMVpnPluginOld:state</code> has been deprecated since version 1.2 and should not be used in newly-written code.</p>
diff --git a/docs/libnm/html/NMVpnServicePlugin.html b/docs/libnm/html/NMVpnServicePlugin.html
index 965727a3..fea3574a 100644
--- a/docs/libnm/html/NMVpnServicePlugin.html
+++ b/docs/libnm/html/NMVpnServicePlugin.html
@@ -150,7 +150,7 @@
 <td class="property_flags">Read / Write / Construct Only</td>
 </tr>
 <tr>
-<td class="property_type"><a href="/usr/share/gtk-doc/html/NetworkManager/nm-vpn-dbus-types.html#NMVpnServiceState"><span class="type">NMVpnServiceState</span></a></td>
+<td class="property_type"><a href="libnm-nm-vpn-dbus-interface.html#NMVpnServiceState"><span class="type">NMVpnServiceState</span></a></td>
 <td class="property_name"><a class="link" href="NMVpnServicePlugin.html#NMVpnServicePlugin--state" title="The “state†property">state</a></td>
 <td class="property_flags">Read / Write</td>
 </tr>
@@ -318,13 +318,15 @@ information to complete the request.</p>
 nm_vpn_service_plugin_set_login_banner
                                (<em class="parameter"><code><a class="link" href="NMVpnServicePlugin.html" title="NMVpnServicePlugin"><span class="type">NMVpnServicePlugin</span></a> *plugin</code></em>,
                                 <em class="parameter"><code>const <span class="type">char</span> *banner</code></em>);</pre>
+<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="nm-vpn-service-plugin-failure"></a><h3>nm_vpn_service_plugin_failure ()</h3>
 <pre class="programlisting"><span class="returnvalue">void</span>
 nm_vpn_service_plugin_failure (<em class="parameter"><code><a class="link" href="NMVpnServicePlugin.html" title="NMVpnServicePlugin"><span class="type">NMVpnServicePlugin</span></a> *plugin</code></em>,
-                               <em class="parameter"><code><a href="/usr/share/gtk-doc/html/NetworkManager/nm-vpn-dbus-types.html#NMVpnPluginFailure"><span class="type">NMVpnPluginFailure</span></a> reason</code></em>);</pre>
+                               <em class="parameter"><code><a href="libnm-nm-vpn-dbus-interface.html#NMVpnPluginFailure"><span class="type">NMVpnPluginFailure</span></a> reason</code></em>);</pre>
+<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -332,6 +334,7 @@ nm_vpn_service_plugin_failure (<em class="parameter"><code><a class="link" href=
 <pre class="programlisting"><span class="returnvalue">void</span>
 nm_vpn_service_plugin_set_config (<em class="parameter"><code><a class="link" href="NMVpnServicePlugin.html" title="NMVpnServicePlugin"><span class="type">NMVpnServicePlugin</span></a> *plugin</code></em>,
                                   <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> *config</code></em>);</pre>
+<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -339,6 +342,7 @@ nm_vpn_service_plugin_set_config (<em class="parameter"><code><a class="link" hr
 <pre class="programlisting"><span class="returnvalue">void</span>
 nm_vpn_service_plugin_set_ip4_config (<em class="parameter"><code><a class="link" href="NMVpnServicePlugin.html" title="NMVpnServicePlugin"><span class="type">NMVpnServicePlugin</span></a> *plugin</code></em>,
                                       <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> *ip4_config</code></em>);</pre>
+<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -346,6 +350,7 @@ nm_vpn_service_plugin_set_ip4_config (<em class="parameter"><code><a class="link
 <pre class="programlisting"><span class="returnvalue">void</span>
 nm_vpn_service_plugin_set_ip6_config (<em class="parameter"><code><a class="link" href="NMVpnServicePlugin.html" title="NMVpnServicePlugin"><span class="type">NMVpnServicePlugin</span></a> *plugin</code></em>,
                                       <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> *ip6_config</code></em>);</pre>
+<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -353,6 +358,7 @@ nm_vpn_service_plugin_set_ip6_config (<em class="parameter"><code><a class="link
 <pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 nm_vpn_service_plugin_disconnect (<em class="parameter"><code><a class="link" href="NMVpnServicePlugin.html" title="NMVpnServicePlugin"><span class="type">NMVpnServicePlugin</span></a> *plugin</code></em>,
                                   <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **err</code></em>);</pre>
+<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -499,6 +505,7 @@ to flags, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macro
 <div class="refsect2">
 <a name="NMVpnServicePlugin-struct"></a><h3>NMVpnServicePlugin</h3>
 <pre class="programlisting">typedef struct _NMVpnServicePlugin NMVpnServicePlugin;</pre>
+<p class="since">Since: 1.2</p>
 </div>
 </div>
 <div class="refsect1">
@@ -515,7 +522,7 @@ to flags, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macro
 <hr>
 <div class="refsect2">
 <a name="NMVpnServicePlugin--state"></a><h3>The <code class="literal">“stateâ€</code> property</h3>
-<pre class="programlisting">  “state†                   <a href="/usr/share/gtk-doc/html/NetworkManager/nm-vpn-dbus-types.html#NMVpnServiceState"><span class="type">NMVpnServiceState</span></a></pre>
+<pre class="programlisting">  “state†                   <a href="libnm-nm-vpn-dbus-interface.html#NMVpnServiceState"><span class="type">NMVpnServiceState</span></a></pre>
 <p>The state of the plugin.</p>
 <p>Owner: NMVpnServicePlugin</p>
 <p>Flags: Read / Write</p>
diff --git a/docs/libnm/html/NMWifiP2PPeer.html b/docs/libnm/html/NMWifiP2PPeer.html
index b945792e..074d90d8 100644
--- a/docs/libnm/html/NMWifiP2PPeer.html
+++ b/docs/libnm/html/NMWifiP2PPeer.html
@@ -572,7 +572,7 @@ with this function.</p>
 </tr>
 <tr>
 <td class="parameter_name"><p>connections</p></td>
-<td class="parameter_description"><p>an array of <span class="type">NMConnections</span> to
+<td class="parameter_description"><p>an array of <a href="/usr/share/gtk-doc/html/libnm-util/NMConnection.html#NMConnection-struct"><span class="type">NMConnections</span></a> to
 filter. </p></td>
 <td class="parameter_annotations"><span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> NMConnection]</span></td>
 </tr>
@@ -582,7 +582,7 @@ filter. </p></td>
 <div class="refsect3">
 <a name="nm-wifi-p2p-peer-filter-connections.returns"></a><h4>Returns</h4>
 <p>an array of
-<span class="type">NMConnections</span> that could be activated with the given <em class="parameter"><code>peer</code></em>
+<a href="/usr/share/gtk-doc/html/libnm-util/NMConnection.html#NMConnection-struct"><span class="type">NMConnections</span></a> that could be activated with the given <em class="parameter"><code>peer</code></em>
 . The array should
 be freed with <a href="https://developer.gnome.org/glib/unstable/glib-Pointer-Arrays.html#g-ptr-array-unref"><code class="function">g_ptr_array_unref()</code></a> when it is no longer required. </p>
 <p><span class="annotation">[<acronym title="The caller owns the data container, but not the data inside it."><span class="acronym">transfer container</span></acronym>][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> NMConnection]</span></p>
@@ -696,6 +696,7 @@ against</p></td>
 <div class="refsect2">
 <a name="NMWifiP2PPeer-struct"></a><h3>NMWifiP2PPeer</h3>
 <pre class="programlisting">typedef struct _NMWifiP2PPeer NMWifiP2PPeer;</pre>
+<p class="since">Since: 1.16</p>
 </div>
 </div>
 <div class="refsect1">
diff --git a/docs/libnm/html/NMWimaxNsp.html b/docs/libnm/html/NMWimaxNsp.html
index c6ffe501..0c103ec7 100644
--- a/docs/libnm/html/NMWimaxNsp.html
+++ b/docs/libnm/html/NMWimaxNsp.html
@@ -269,7 +269,7 @@ connections will match the <em class="parameter"><code>nsp</code></em>
 </tr>
 <tr>
 <td class="parameter_name"><p>connections</p></td>
-<td class="parameter_description"><p>an array of <span class="type">NMConnections</span> to
+<td class="parameter_description"><p>an array of <a href="/usr/share/gtk-doc/html/libnm-util/NMConnection.html#NMConnection-struct"><span class="type">NMConnections</span></a> to
 filter. </p></td>
 <td class="parameter_annotations"><span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> NMConnection]</span></td>
 </tr>
@@ -279,7 +279,7 @@ filter. </p></td>
 <div class="refsect3">
 <a name="nm-wimax-nsp-filter-connections.returns"></a><h4>Returns</h4>
 <p>an array of
-<span class="type">NMConnections</span> that could be activated with the given <em class="parameter"><code>nsp</code></em>
+<a href="/usr/share/gtk-doc/html/libnm-util/NMConnection.html#NMConnection-struct"><span class="type">NMConnections</span></a> that could be activated with the given <em class="parameter"><code>nsp</code></em>
 .  The array should
 be freed with <a href="https://developer.gnome.org/glib/unstable/glib-Pointer-Arrays.html#g-ptr-array-unref"><code class="function">g_ptr_array_unref()</code></a> when it is no longer required. </p>
 <p><span class="annotation">[<acronym title="The caller owns the data, and is responsible for free it."><span class="acronym">transfer full</span></acronym>][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> NMConnection]</span></p>
diff --git a/docs/libnm/html/api-index-full.html b/docs/libnm/html/api-index-full.html
index 7a730e98..33cd7161 100644
--- a/docs/libnm/html/api-index-full.html
+++ b/docs/libnm/html/api-index-full.html
@@ -425,19 +425,19 @@ NMClientNotifyEventWithPtrCb, user_function in <a class="link" href="NMIPConfig.
 </dt>
 <dd></dd>
 <dt>
-NMConnection, struct in NMSettingOvs
+<a href="/usr/share/gtk-doc/html/libnm-util/NMConnection.html#NMConnection-struct">NMConnection</a>, struct in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
-NMConnection::changed, object signal in NMSettingOvs
+<a href="/usr/share/gtk-doc/html/libnm-util/NMConnection.html#NMConnection-changed">NMConnection::changed</a>, object signal in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
-NMConnection::secrets-cleared, object signal in NMSettingOvs
+<a href="/usr/share/gtk-doc/html/libnm-util/NMConnection.html#NMConnection-secrets-cleared">NMConnection::secrets-cleared</a>, object signal in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
-NMConnection::secrets-updated, object signal in NMSettingOvs
+<a href="/usr/share/gtk-doc/html/libnm-util/NMConnection.html#NMConnection-secrets-updated">NMConnection::secrets-updated</a>, object signal in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
@@ -1217,6 +1217,10 @@ NMDhcpConfigClass, struct in <a class="link" href="NMIPConfig.html" title="NMIPC
 </dt>
 <dd></dd>
 <dt>
+<a class="link" href="NMClient.html#NMDnsEntry">NMDnsEntry</a>, typedef in <a class="link" href="NMClient.html" title="NMClient">NMClient</a>
+</dt>
+<dd></dd>
+<dt>
 <a class="link" href="NMSettingIPConfig.html#NMIPAddressCmpFlags" title="enum NMIPAddressCmpFlags">NMIPAddressCmpFlags</a>, enum in <a class="link" href="NMSettingIPConfig.html" title="NMSettingIPConfig">NMSettingIPConfig</a>
 </dt>
 <dd></dd>
@@ -1689,7 +1693,7 @@ _NMObjectClassFieldInfo, struct in <a class="link" href="NMIPConfig.html" title=
 </dt>
 <dd></dd>
 <dt>
-NMSetting, struct in NMSettingOvs
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSetting.html#NMSetting-struct">NMSetting</a>, struct in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
@@ -1705,11 +1709,11 @@ NMSetting8021x, struct in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
-NMSetting8021x:altsubject-matches, object property in NMSettingOvs
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSetting8021x.html#NMSetting8021x--altsubject-matches">NMSetting8021x:altsubject-matches</a>, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
-NMSetting8021x:anonymous-identity, object property in NMSettingOvs
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSetting8021x.html#NMSetting8021x--anonymous-identity">NMSetting8021x:anonymous-identity</a>, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
@@ -1717,7 +1721,7 @@ NMSetting8021x:auth-timeout, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
-NMSetting8021x:ca-cert, object property in NMSettingOvs
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSetting8021x.html#NMSetting8021x--ca-cert">NMSetting8021x:ca-cert</a>, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
@@ -1729,11 +1733,11 @@ NMSetting8021x:ca-cert-password-flags, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
-NMSetting8021x:ca-path, object property in NMSettingOvs
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSetting8021x.html#NMSetting8021x--ca-path">NMSetting8021x:ca-path</a>, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
-NMSetting8021x:client-cert, object property in NMSettingOvs
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSetting8021x.html#NMSetting8021x--client-cert">NMSetting8021x:client-cert</a>, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
@@ -1753,11 +1757,11 @@ NMSetting8021x:domain-suffix-match, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
-NMSetting8021x:eap, object property in NMSettingOvs
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSetting8021x.html#NMSetting8021x--eap">NMSetting8021x:eap</a>, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
-NMSetting8021x:identity, object property in NMSettingOvs
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSetting8021x.html#NMSetting8021x--identity">NMSetting8021x:identity</a>, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
@@ -1765,23 +1769,23 @@ NMSetting8021x:optional, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
-NMSetting8021x:pac-file, object property in NMSettingOvs
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSetting8021x.html#NMSetting8021x--pac-file">NMSetting8021x:pac-file</a>, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
-NMSetting8021x:password, object property in NMSettingOvs
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSetting8021x.html#NMSetting8021x--password">NMSetting8021x:password</a>, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
-NMSetting8021x:password-flags, object property in NMSettingOvs
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSetting8021x.html#NMSetting8021x--password-flags">NMSetting8021x:password-flags</a>, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
-NMSetting8021x:password-raw, object property in NMSettingOvs
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSetting8021x.html#NMSetting8021x--password-raw">NMSetting8021x:password-raw</a>, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
-NMSetting8021x:password-raw-flags, object property in NMSettingOvs
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSetting8021x.html#NMSetting8021x--password-raw-flags">NMSetting8021x:password-raw-flags</a>, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
@@ -1789,31 +1793,31 @@ NMSetting8021x:phase1-auth-flags, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
-NMSetting8021x:phase1-fast-provisioning, object property in NMSettingOvs
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSetting8021x.html#NMSetting8021x--phase1-fast-provisioning">NMSetting8021x:phase1-fast-provisioning</a>, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
-NMSetting8021x:phase1-peaplabel, object property in NMSettingOvs
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSetting8021x.html#NMSetting8021x--phase1-peaplabel">NMSetting8021x:phase1-peaplabel</a>, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
-NMSetting8021x:phase1-peapver, object property in NMSettingOvs
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSetting8021x.html#NMSetting8021x--phase1-peapver">NMSetting8021x:phase1-peapver</a>, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
-NMSetting8021x:phase2-altsubject-matches, object property in NMSettingOvs
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSetting8021x.html#NMSetting8021x--phase2-altsubject-matches">NMSetting8021x:phase2-altsubject-matches</a>, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
-NMSetting8021x:phase2-auth, object property in NMSettingOvs
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSetting8021x.html#NMSetting8021x--phase2-auth">NMSetting8021x:phase2-auth</a>, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
-NMSetting8021x:phase2-autheap, object property in NMSettingOvs
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSetting8021x.html#NMSetting8021x--phase2-autheap">NMSetting8021x:phase2-autheap</a>, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
-NMSetting8021x:phase2-ca-cert, object property in NMSettingOvs
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSetting8021x.html#NMSetting8021x--phase2-ca-cert">NMSetting8021x:phase2-ca-cert</a>, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
@@ -1825,11 +1829,11 @@ NMSetting8021x:phase2-ca-cert-password-flags, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
-NMSetting8021x:phase2-ca-path, object property in NMSettingOvs
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSetting8021x.html#NMSetting8021x--phase2-ca-path">NMSetting8021x:phase2-ca-path</a>, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
-NMSetting8021x:phase2-client-cert, object property in NMSettingOvs
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSetting8021x.html#NMSetting8021x--phase2-client-cert">NMSetting8021x:phase2-client-cert</a>, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
@@ -1849,47 +1853,47 @@ NMSetting8021x:phase2-domain-suffix-match, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
-NMSetting8021x:phase2-private-key, object property in NMSettingOvs
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSetting8021x.html#NMSetting8021x--phase2-private-key">NMSetting8021x:phase2-private-key</a>, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
-NMSetting8021x:phase2-private-key-password, object property in NMSettingOvs
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSetting8021x.html#NMSetting8021x--phase2-private-key-password">NMSetting8021x:phase2-private-key-password</a>, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
-NMSetting8021x:phase2-private-key-password-flags, object property in NMSettingOvs
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSetting8021x.html#NMSetting8021x--phase2-private-key-password-flags">NMSetting8021x:phase2-private-key-password-flags</a>, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
-NMSetting8021x:phase2-subject-match, object property in NMSettingOvs
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSetting8021x.html#NMSetting8021x--phase2-subject-match">NMSetting8021x:phase2-subject-match</a>, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
-NMSetting8021x:pin, object property in NMSettingOvs
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSetting8021x.html#NMSetting8021x--pin">NMSetting8021x:pin</a>, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
-NMSetting8021x:pin-flags, object property in NMSettingOvs
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSetting8021x.html#NMSetting8021x--pin-flags">NMSetting8021x:pin-flags</a>, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
-NMSetting8021x:private-key, object property in NMSettingOvs
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSetting8021x.html#NMSetting8021x--private-key">NMSetting8021x:private-key</a>, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
-NMSetting8021x:private-key-password, object property in NMSettingOvs
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSetting8021x.html#NMSetting8021x--private-key-password">NMSetting8021x:private-key-password</a>, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
-NMSetting8021x:private-key-password-flags, object property in NMSettingOvs
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSetting8021x.html#NMSetting8021x--private-key-password-flags">NMSetting8021x:private-key-password-flags</a>, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
-NMSetting8021x:subject-match, object property in NMSettingOvs
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSetting8021x.html#NMSetting8021x--subject-match">NMSetting8021x:subject-match</a>, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
-NMSetting8021x:system-ca-certs, object property in NMSettingOvs
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSetting8021x.html#NMSetting8021x--system-ca-certs">NMSetting8021x:system-ca-certs</a>, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
@@ -1905,7 +1909,7 @@ NMSetting8021x:system-ca-certs, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
-NMSetting:name, object property in NMSettingOvs
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSetting.html#NMSetting--name">NMSetting:name</a>, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
@@ -1913,31 +1917,31 @@ NMSettingAdsl, struct in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
-NMSettingAdsl:encapsulation, object property in NMSettingOvs
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSettingAdsl.html#NMSettingAdsl--encapsulation">NMSettingAdsl:encapsulation</a>, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
-NMSettingAdsl:password, object property in NMSettingOvs
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSettingAdsl.html#NMSettingAdsl--password">NMSettingAdsl:password</a>, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
-NMSettingAdsl:password-flags, object property in NMSettingOvs
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSettingAdsl.html#NMSettingAdsl--password-flags">NMSettingAdsl:password-flags</a>, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
-NMSettingAdsl:protocol, object property in NMSettingOvs
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSettingAdsl.html#NMSettingAdsl--protocol">NMSettingAdsl:protocol</a>, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
-NMSettingAdsl:username, object property in NMSettingOvs
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSettingAdsl.html#NMSettingAdsl--username">NMSettingAdsl:username</a>, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
-NMSettingAdsl:vci, object property in NMSettingOvs
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSettingAdsl.html#NMSettingAdsl--vci">NMSettingAdsl:vci</a>, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
-NMSettingAdsl:vpi, object property in NMSettingOvs
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSettingAdsl.html#NMSettingAdsl--vpi">NMSettingAdsl:vpi</a>, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
@@ -1945,11 +1949,11 @@ NMSettingBluetooth, struct in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
-NMSettingBluetooth:bdaddr, object property in NMSettingOvs
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSettingBluetooth.html#NMSettingBluetooth--bdaddr">NMSettingBluetooth:bdaddr</a>, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
-NMSettingBluetooth:type, object property in NMSettingOvs
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSettingBluetooth.html#NMSettingBluetooth--type">NMSettingBluetooth:type</a>, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
@@ -1957,7 +1961,7 @@ NMSettingBond, struct in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
-NMSettingBond:options, object property in NMSettingOvs
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSettingBond.html#NMSettingBond--options">NMSettingBond:options</a>, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
@@ -1973,11 +1977,11 @@ NMSettingBridge, struct in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
-NMSettingBridge:ageing-time, object property in NMSettingOvs
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSettingBridge.html#NMSettingBridge--ageing-time">NMSettingBridge:ageing-time</a>, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
-NMSettingBridge:forward-delay, object property in NMSettingOvs
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSettingBridge.html#NMSettingBridge--forward-delay">NMSettingBridge:forward-delay</a>, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
@@ -1989,15 +1993,15 @@ NMSettingBridge:group-forward-mask, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
-NMSettingBridge:hello-time, object property in NMSettingOvs
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSettingBridge.html#NMSettingBridge--hello-time">NMSettingBridge:hello-time</a>, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
-NMSettingBridge:mac-address, object property in NMSettingOvs
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSettingBridge.html#NMSettingBridge--mac-address">NMSettingBridge:mac-address</a>, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
-NMSettingBridge:max-age, object property in NMSettingOvs
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSettingBridge.html#NMSettingBridge--max-age">NMSettingBridge:max-age</a>, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
@@ -2053,11 +2057,11 @@ NMSettingBridge:multicast-startup-query-interval, object property in NMSettingOv
 </dt>
 <dd></dd>
 <dt>
-NMSettingBridge:priority, object property in NMSettingOvs
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSettingBridge.html#NMSettingBridge--priority">NMSettingBridge:priority</a>, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
-NMSettingBridge:stp, object property in NMSettingOvs
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSettingBridge.html#NMSettingBridge--stp">NMSettingBridge:stp</a>, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
@@ -2085,15 +2089,15 @@ NMSettingBridgePort, struct in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
-NMSettingBridgePort:hairpin-mode, object property in NMSettingOvs
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSettingBridgePort.html#NMSettingBridgePort--hairpin-mode">NMSettingBridgePort:hairpin-mode</a>, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
-NMSettingBridgePort:path-cost, object property in NMSettingOvs
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSettingBridgePort.html#NMSettingBridgePort--path-cost">NMSettingBridgePort:path-cost</a>, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
-NMSettingBridgePort:priority, object property in NMSettingOvs
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSettingBridgePort.html#NMSettingBridgePort--priority">NMSettingBridgePort:priority</a>, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
@@ -2109,19 +2113,19 @@ NMSettingCdma:mtu, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
-NMSettingCdma:number, object property in NMSettingOvs
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSettingCdma.html#NMSettingCdma--number">NMSettingCdma:number</a>, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
-NMSettingCdma:password, object property in NMSettingOvs
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSettingCdma.html#NMSettingCdma--password">NMSettingCdma:password</a>, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
-NMSettingCdma:password-flags, object property in NMSettingOvs
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSettingCdma.html#NMSettingCdma--password-flags">NMSettingCdma:password-flags</a>, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
-NMSettingCdma:username, object property in NMSettingOvs
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSettingCdma.html#NMSettingCdma--username">NMSettingCdma:username</a>, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
@@ -2133,7 +2137,7 @@ NMSettingCdma:username, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
-NMSettingConnection, struct in NMSettingOvs
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSettingConnection.html#NMSettingConnection-struct">NMSettingConnection</a>, struct in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
@@ -2141,7 +2145,7 @@ NMSettingConnection:auth-retries, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
-NMSettingConnection:autoconnect, object property in NMSettingOvs
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSettingConnection.html#NMSettingConnection--autoconnect">NMSettingConnection:autoconnect</a>, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
@@ -2161,15 +2165,15 @@ NMSettingConnection:dns-over-tls, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
-NMSettingConnection:gateway-ping-timeout, object property in NMSettingOvs
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSettingConnection.html#NMSettingConnection--gateway-ping-timeout">NMSettingConnection:gateway-ping-timeout</a>, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
-NMSettingConnection:id, object property in NMSettingOvs
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSettingConnection.html#NMSettingConnection--id">NMSettingConnection:id</a>, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
-NMSettingConnection:interface-name, object property in NMSettingOvs
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSettingConnection.html#NMSettingConnection--interface-name">NMSettingConnection:interface-name</a>, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
@@ -2181,7 +2185,7 @@ NMSettingConnection:llmnr, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
-NMSettingConnection:master, object property in NMSettingOvs
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSettingConnection.html#NMSettingConnection--master">NMSettingConnection:master</a>, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
@@ -2205,19 +2209,19 @@ NMSettingConnection:multi-connect, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
-NMSettingConnection:permissions, object property in NMSettingOvs
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSettingConnection.html#NMSettingConnection--permissions">NMSettingConnection:permissions</a>, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
-NMSettingConnection:read-only, object property in NMSettingOvs
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSettingConnection.html#NMSettingConnection--read-only">NMSettingConnection:read-only</a>, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
-NMSettingConnection:secondaries, object property in NMSettingOvs
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSettingConnection.html#NMSettingConnection--secondaries">NMSettingConnection:secondaries</a>, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
-NMSettingConnection:slave-type, object property in NMSettingOvs
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSettingConnection.html#NMSettingConnection--slave-type">NMSettingConnection:slave-type</a>, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
@@ -2225,15 +2229,15 @@ NMSettingConnection:stable-id, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
-NMSettingConnection:timestamp, object property in NMSettingOvs
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSettingConnection.html#NMSettingConnection--timestamp">NMSettingConnection:timestamp</a>, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
-NMSettingConnection:type, object property in NMSettingOvs
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSettingConnection.html#NMSettingConnection--type">NMSettingConnection:type</a>, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
-NMSettingConnection:uuid, object property in NMSettingOvs
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSettingConnection.html#NMSettingConnection--uuid">NMSettingConnection:uuid</a>, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
@@ -2245,7 +2249,7 @@ NMSettingConnection:wait-device-timeout, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
-NMSettingConnection:zone, object property in NMSettingOvs
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSettingConnection.html#NMSettingConnection--zone">NMSettingConnection:zone</a>, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
@@ -2273,63 +2277,63 @@ NMSettingDcb, struct in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
-NMSettingDcb:app-fcoe-flags, object property in NMSettingOvs
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSettingDcb.html#NMSettingDcb--app-fcoe-flags">NMSettingDcb:app-fcoe-flags</a>, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
-NMSettingDcb:app-fcoe-mode, object property in NMSettingOvs
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSettingDcb.html#NMSettingDcb--app-fcoe-mode">NMSettingDcb:app-fcoe-mode</a>, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
-NMSettingDcb:app-fcoe-priority, object property in NMSettingOvs
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSettingDcb.html#NMSettingDcb--app-fcoe-priority">NMSettingDcb:app-fcoe-priority</a>, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
-NMSettingDcb:app-fip-flags, object property in NMSettingOvs
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSettingDcb.html#NMSettingDcb--app-fip-flags">NMSettingDcb:app-fip-flags</a>, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
-NMSettingDcb:app-fip-priority, object property in NMSettingOvs
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSettingDcb.html#NMSettingDcb--app-fip-priority">NMSettingDcb:app-fip-priority</a>, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
-NMSettingDcb:app-iscsi-flags, object property in NMSettingOvs
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSettingDcb.html#NMSettingDcb--app-iscsi-flags">NMSettingDcb:app-iscsi-flags</a>, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
-NMSettingDcb:app-iscsi-priority, object property in NMSettingOvs
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSettingDcb.html#NMSettingDcb--app-iscsi-priority">NMSettingDcb:app-iscsi-priority</a>, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
-NMSettingDcb:priority-bandwidth, object property in NMSettingOvs
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSettingDcb.html#NMSettingDcb--priority-bandwidth">NMSettingDcb:priority-bandwidth</a>, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
-NMSettingDcb:priority-flow-control, object property in NMSettingOvs
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSettingDcb.html#NMSettingDcb--priority-flow-control">NMSettingDcb:priority-flow-control</a>, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
-NMSettingDcb:priority-flow-control-flags, object property in NMSettingOvs
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSettingDcb.html#NMSettingDcb--priority-flow-control-flags">NMSettingDcb:priority-flow-control-flags</a>, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
-NMSettingDcb:priority-group-bandwidth, object property in NMSettingOvs
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSettingDcb.html#NMSettingDcb--priority-group-bandwidth">NMSettingDcb:priority-group-bandwidth</a>, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
-NMSettingDcb:priority-group-flags, object property in NMSettingOvs
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSettingDcb.html#NMSettingDcb--priority-group-flags">NMSettingDcb:priority-group-flags</a>, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
-NMSettingDcb:priority-group-id, object property in NMSettingOvs
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSettingDcb.html#NMSettingDcb--priority-group-id">NMSettingDcb:priority-group-id</a>, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
-NMSettingDcb:priority-strict-bandwidth, object property in NMSettingOvs
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSettingDcb.html#NMSettingDcb--priority-strict-bandwidth">NMSettingDcb:priority-strict-bandwidth</a>, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
-NMSettingDcb:priority-traffic-class, object property in NMSettingOvs
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSettingDcb.html#NMSettingDcb--priority-traffic-class">NMSettingDcb:priority-traffic-class</a>, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
@@ -2357,7 +2361,7 @@ NMSettingGsm, struct in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
-NMSettingGsm:apn, object property in NMSettingOvs
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSettingGsm.html#NMSettingGsm--apn">NMSettingGsm:apn</a>, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
@@ -2369,7 +2373,7 @@ NMSettingGsm:device-id, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
-NMSettingGsm:home-only, object property in NMSettingOvs
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSettingGsm.html#NMSettingGsm--home-only">NMSettingGsm:home-only</a>, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
@@ -2377,27 +2381,27 @@ NMSettingGsm:mtu, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
-NMSettingGsm:network-id, object property in NMSettingOvs
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSettingGsm.html#NMSettingGsm--network-id">NMSettingGsm:network-id</a>, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
-NMSettingGsm:number, object property in NMSettingOvs
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSettingGsm.html#NMSettingGsm--number">NMSettingGsm:number</a>, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
-NMSettingGsm:password, object property in NMSettingOvs
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSettingGsm.html#NMSettingGsm--password">NMSettingGsm:password</a>, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
-NMSettingGsm:password-flags, object property in NMSettingOvs
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSettingGsm.html#NMSettingGsm--password-flags">NMSettingGsm:password-flags</a>, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
-NMSettingGsm:pin, object property in NMSettingOvs
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSettingGsm.html#NMSettingGsm--pin">NMSettingGsm:pin</a>, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
-NMSettingGsm:pin-flags, object property in NMSettingOvs
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSettingGsm.html#NMSettingGsm--pin-flags">NMSettingGsm:pin-flags</a>, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
@@ -2409,7 +2413,7 @@ NMSettingGsm:sim-operator-id, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
-NMSettingGsm:username, object property in NMSettingOvs
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSettingGsm.html#NMSettingGsm--username">NMSettingGsm:username</a>, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
@@ -2437,23 +2441,23 @@ NMSettingInfiniband, struct in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
-NMSettingInfiniband:mac-address, object property in NMSettingOvs
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSettingInfiniband.html#NMSettingInfiniband--mac-address">NMSettingInfiniband:mac-address</a>, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
-NMSettingInfiniband:mtu, object property in NMSettingOvs
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSettingInfiniband.html#NMSettingInfiniband--mtu">NMSettingInfiniband:mtu</a>, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
-NMSettingInfiniband:p-key, object property in NMSettingOvs
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSettingInfiniband.html#NMSettingInfiniband--p-key">NMSettingInfiniband:p-key</a>, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
-NMSettingInfiniband:parent, object property in NMSettingOvs
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSettingInfiniband.html#NMSettingInfiniband--parent">NMSettingInfiniband:parent</a>, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
-NMSettingInfiniband:transport-mode, object property in NMSettingOvs
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSettingInfiniband.html#NMSettingInfiniband--transport-mode">NMSettingInfiniband:transport-mode</a>, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
@@ -2461,7 +2465,7 @@ NMSettingIP4Config, struct in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
-NMSettingIP4Config:dhcp-client-id, object property in NMSettingOvs
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSettingIP4Config.html#NMSettingIP4Config--dhcp-client-id">NMSettingIP4Config:dhcp-client-id</a>, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
@@ -2493,7 +2497,7 @@ NMSettingIP6Config:dhcp-duid, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
-NMSettingIP6Config:ip6-privacy, object property in NMSettingOvs
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSettingIP6Config.html#NMSettingIP6Config--ip6-privacy">NMSettingIP6Config:ip6-privacy</a>, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
@@ -2765,15 +2769,15 @@ NMSettingOlpcMesh, struct in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
-NMSettingOlpcMesh:channel, object property in NMSettingOvs
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSettingOlpcMesh.html#NMSettingOlpcMesh--channel">NMSettingOlpcMesh:channel</a>, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
-NMSettingOlpcMesh:dhcp-anycast-address, object property in NMSettingOvs
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSettingOlpcMesh.html#NMSettingOlpcMesh--dhcp-anycast-address">NMSettingOlpcMesh:dhcp-anycast-address</a>, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
-NMSettingOlpcMesh:ssid, object property in NMSettingOvs
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSettingOlpcMesh.html#NMSettingOlpcMesh--ssid">NMSettingOlpcMesh:ssid</a>, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
@@ -3005,23 +3009,23 @@ NMSettingSerial, struct in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
-NMSettingSerial:baud, object property in NMSettingOvs
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSettingSerial.html#NMSettingSerial--baud">NMSettingSerial:baud</a>, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
-NMSettingSerial:bits, object property in NMSettingOvs
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSettingSerial.html#NMSettingSerial--bits">NMSettingSerial:bits</a>, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
-NMSettingSerial:parity, object property in NMSettingOvs
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSettingSerial.html#NMSettingSerial--parity">NMSettingSerial:parity</a>, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
-NMSettingSerial:send-delay, object property in NMSettingOvs
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSettingSerial.html#NMSettingSerial--send-delay">NMSettingSerial:send-delay</a>, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
-NMSettingSerial:stopbits, object property in NMSettingOvs
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSettingSerial.html#NMSettingSerial--stopbits">NMSettingSerial:stopbits</a>, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
@@ -3069,7 +3073,7 @@ NMSettingTeam, struct in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
-NMSettingTeam:config, object property in NMSettingOvs
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSettingTeam.html#NMSettingTeam--config">NMSettingTeam:config</a>, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
@@ -3137,7 +3141,7 @@ NMSettingTeamPort, struct in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
-NMSettingTeamPort:config, object property in NMSettingOvs
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSettingTeamPort.html#NMSettingTeamPort--config">NMSettingTeamPort:config</a>, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
@@ -3221,23 +3225,23 @@ NMSettingVlan, struct in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
-NMSettingVlan:egress-priority-map, object property in NMSettingOvs
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSettingVlan.html#NMSettingVlan--egress-priority-map">NMSettingVlan:egress-priority-map</a>, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
-NMSettingVlan:flags, object property in NMSettingOvs
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSettingVlan.html#NMSettingVlan--flags">NMSettingVlan:flags</a>, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
-NMSettingVlan:id, object property in NMSettingOvs
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSettingVlan.html#NMSettingVlan--id">NMSettingVlan:id</a>, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
-NMSettingVlan:ingress-priority-map, object property in NMSettingOvs
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSettingVlan.html#NMSettingVlan--ingress-priority-map">NMSettingVlan:ingress-priority-map</a>, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
-NMSettingVlan:parent, object property in NMSettingOvs
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSettingVlan.html#NMSettingVlan--parent">NMSettingVlan:parent</a>, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
@@ -3365,11 +3369,11 @@ NMSettingWimax, struct in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
-NMSettingWimax:mac-address, object property in NMSettingOvs
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSettingWimax.html#NMSettingWimax--mac-address">NMSettingWimax:mac-address</a>, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
-NMSettingWimax:network-name, object property in NMSettingOvs
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSettingWimax.html#NMSettingWimax--network-name">NMSettingWimax:network-name</a>, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
@@ -3381,15 +3385,15 @@ NMSettingWired:accept-all-mac-addresses, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
-NMSettingWired:auto-negotiate, object property in NMSettingOvs
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSettingWired.html#NMSettingWired--auto-negotiate">NMSettingWired:auto-negotiate</a>, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
-NMSettingWired:cloned-mac-address, object property in NMSettingOvs
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSettingWired.html#NMSettingWired--cloned-mac-address">NMSettingWired:cloned-mac-address</a>, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
-NMSettingWired:duplex, object property in NMSettingOvs
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSettingWired.html#NMSettingWired--duplex">NMSettingWired:duplex</a>, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
@@ -3397,35 +3401,35 @@ NMSettingWired:generate-mac-address-mask, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
-NMSettingWired:mac-address, object property in NMSettingOvs
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSettingWired.html#NMSettingWired--mac-address">NMSettingWired:mac-address</a>, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
-NMSettingWired:mac-address-blacklist, object property in NMSettingOvs
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSettingWired.html#NMSettingWired--mac-address-blacklist">NMSettingWired:mac-address-blacklist</a>, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
-NMSettingWired:mtu, object property in NMSettingOvs
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSettingWired.html#NMSettingWired--mtu">NMSettingWired:mtu</a>, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
-NMSettingWired:port, object property in NMSettingOvs
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSettingWired.html#NMSettingWired--port">NMSettingWired:port</a>, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
-NMSettingWired:s390-nettype, object property in NMSettingOvs
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSettingWired.html#NMSettingWired--s390-nettype">NMSettingWired:s390-nettype</a>, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
-NMSettingWired:s390-options, object property in NMSettingOvs
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSettingWired.html#NMSettingWired--s390-options">NMSettingWired:s390-options</a>, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
-NMSettingWired:s390-subchannels, object property in NMSettingOvs
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSettingWired.html#NMSettingWired--s390-subchannels">NMSettingWired:s390-subchannels</a>, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
-NMSettingWired:speed, object property in NMSettingOvs
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSettingWired.html#NMSettingWired--speed">NMSettingWired:speed</a>, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
@@ -3485,19 +3489,19 @@ NMSettingWireless:ap-isolation, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
-NMSettingWireless:band, object property in NMSettingOvs
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSettingWireless.html#NMSettingWireless--band">NMSettingWireless:band</a>, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
-NMSettingWireless:bssid, object property in NMSettingOvs
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSettingWireless.html#NMSettingWireless--bssid">NMSettingWireless:bssid</a>, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
-NMSettingWireless:channel, object property in NMSettingOvs
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSettingWireless.html#NMSettingWireless--channel">NMSettingWireless:channel</a>, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
-NMSettingWireless:cloned-mac-address, object property in NMSettingOvs
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSettingWireless.html#NMSettingWireless--cloned-mac-address">NMSettingWireless:cloned-mac-address</a>, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
@@ -3505,15 +3509,15 @@ NMSettingWireless:generate-mac-address-mask, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
-NMSettingWireless:hidden, object property in NMSettingOvs
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSettingWireless.html#NMSettingWireless--hidden">NMSettingWireless:hidden</a>, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
-NMSettingWireless:mac-address, object property in NMSettingOvs
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSettingWireless.html#NMSettingWireless--mac-address">NMSettingWireless:mac-address</a>, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
-NMSettingWireless:mac-address-blacklist, object property in NMSettingOvs
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSettingWireless.html#NMSettingWireless--mac-address-blacklist">NMSettingWireless:mac-address-blacklist</a>, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
@@ -3521,31 +3525,31 @@ NMSettingWireless:mac-address-randomization, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
-NMSettingWireless:mode, object property in NMSettingOvs
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSettingWireless.html#NMSettingWireless--mode">NMSettingWireless:mode</a>, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
-NMSettingWireless:mtu, object property in NMSettingOvs
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSettingWireless.html#NMSettingWireless--mtu">NMSettingWireless:mtu</a>, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
-NMSettingWireless:powersave, object property in NMSettingOvs
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSettingWireless.html#NMSettingWireless--powersave">NMSettingWireless:powersave</a>, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
-NMSettingWireless:rate, object property in NMSettingOvs
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSettingWireless.html#NMSettingWireless--rate">NMSettingWireless:rate</a>, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
-NMSettingWireless:seen-bssids, object property in NMSettingOvs
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSettingWireless.html#NMSettingWireless--seen-bssids">NMSettingWireless:seen-bssids</a>, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
-NMSettingWireless:ssid, object property in NMSettingOvs
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSettingWireless.html#NMSettingWireless--ssid">NMSettingWireless:ssid</a>, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
-NMSettingWireless:tx-power, object property in NMSettingOvs
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSettingWireless.html#NMSettingWireless--tx-power">NMSettingWireless:tx-power</a>, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
@@ -3561,7 +3565,7 @@ NMSettingWirelessSecurity, struct in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
-NMSettingWirelessSecurity:auth-alg, object property in NMSettingOvs
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSettingWirelessSecurity.html#NMSettingWirelessSecurity--auth-alg">NMSettingWirelessSecurity:auth-alg</a>, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
@@ -3569,27 +3573,27 @@ NMSettingWirelessSecurity:fils, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
-NMSettingWirelessSecurity:group, object property in NMSettingOvs
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSettingWirelessSecurity.html#NMSettingWirelessSecurity--group">NMSettingWirelessSecurity:group</a>, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
-NMSettingWirelessSecurity:key-mgmt, object property in NMSettingOvs
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSettingWirelessSecurity.html#NMSettingWirelessSecurity--key-mgmt">NMSettingWirelessSecurity:key-mgmt</a>, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
-NMSettingWirelessSecurity:leap-password, object property in NMSettingOvs
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSettingWirelessSecurity.html#NMSettingWirelessSecurity--leap-password">NMSettingWirelessSecurity:leap-password</a>, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
-NMSettingWirelessSecurity:leap-password-flags, object property in NMSettingOvs
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSettingWirelessSecurity.html#NMSettingWirelessSecurity--leap-password-flags">NMSettingWirelessSecurity:leap-password-flags</a>, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
-NMSettingWirelessSecurity:leap-username, object property in NMSettingOvs
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSettingWirelessSecurity.html#NMSettingWirelessSecurity--leap-username">NMSettingWirelessSecurity:leap-username</a>, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
-NMSettingWirelessSecurity:pairwise, object property in NMSettingOvs
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSettingWirelessSecurity.html#NMSettingWirelessSecurity--pairwise">NMSettingWirelessSecurity:pairwise</a>, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
@@ -3597,43 +3601,43 @@ NMSettingWirelessSecurity:pmf, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
-NMSettingWirelessSecurity:proto, object property in NMSettingOvs
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSettingWirelessSecurity.html#NMSettingWirelessSecurity--proto">NMSettingWirelessSecurity:proto</a>, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
-NMSettingWirelessSecurity:psk, object property in NMSettingOvs
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSettingWirelessSecurity.html#NMSettingWirelessSecurity--psk">NMSettingWirelessSecurity:psk</a>, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
-NMSettingWirelessSecurity:psk-flags, object property in NMSettingOvs
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSettingWirelessSecurity.html#NMSettingWirelessSecurity--psk-flags">NMSettingWirelessSecurity:psk-flags</a>, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
-NMSettingWirelessSecurity:wep-key-flags, object property in NMSettingOvs
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSettingWirelessSecurity.html#NMSettingWirelessSecurity--wep-key-flags">NMSettingWirelessSecurity:wep-key-flags</a>, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
-NMSettingWirelessSecurity:wep-key-type, object property in NMSettingOvs
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSettingWirelessSecurity.html#NMSettingWirelessSecurity--wep-key-type">NMSettingWirelessSecurity:wep-key-type</a>, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
-NMSettingWirelessSecurity:wep-key0, object property in NMSettingOvs
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSettingWirelessSecurity.html#NMSettingWirelessSecurity--wep-key0">NMSettingWirelessSecurity:wep-key0</a>, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
-NMSettingWirelessSecurity:wep-key1, object property in NMSettingOvs
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSettingWirelessSecurity.html#NMSettingWirelessSecurity--wep-key1">NMSettingWirelessSecurity:wep-key1</a>, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
-NMSettingWirelessSecurity:wep-key2, object property in NMSettingOvs
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSettingWirelessSecurity.html#NMSettingWirelessSecurity--wep-key2">NMSettingWirelessSecurity:wep-key2</a>, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
-NMSettingWirelessSecurity:wep-key3, object property in NMSettingOvs
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSettingWirelessSecurity.html#NMSettingWirelessSecurity--wep-key3">NMSettingWirelessSecurity:wep-key3</a>, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
-NMSettingWirelessSecurity:wep-tx-keyidx, object property in NMSettingOvs
+<a href="/usr/share/gtk-doc/html/libnm-util/NMSettingWirelessSecurity.html#NMSettingWirelessSecurity--wep-tx-keyidx">NMSettingWirelessSecurity:wep-tx-keyidx</a>, object property in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
@@ -3761,11 +3765,11 @@ NMUtilsPredicateStr, user_function in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
-<a href="/usr/share/gtk-doc/html/NetworkManager/nm-vpn-dbus-types.html#NMVpnConnectionState">NMVpnConnectionState</a>, enum in nm-vpn-dbus-interface
+<a href="libnm-nm-vpn-dbus-interface.html#NMVpnConnectionState">NMVpnConnectionState</a>, enum in nm-vpn-dbus-interface
 </dt>
 <dd></dd>
 <dt>
-<a href="/usr/share/gtk-doc/html/NetworkManager/nm-vpn-dbus-types.html#NMVpnConnectionStateReason">NMVpnConnectionStateReason</a>, enum in nm-vpn-dbus-interface
+<a href="libnm-nm-vpn-dbus-interface.html#NMVpnConnectionStateReason">NMVpnConnectionStateReason</a>, enum in nm-vpn-dbus-interface
 </dt>
 <dd></dd>
 <dt>
@@ -3817,7 +3821,7 @@ NMUtilsPredicateStr, user_function in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
-<a href="/usr/share/gtk-doc/html/NetworkManager/nm-vpn-dbus-types.html#NMVpnPluginFailure">NMVpnPluginFailure</a>, enum in nm-vpn-dbus-interface
+<a href="libnm-nm-vpn-dbus-interface.html#NMVpnPluginFailure">NMVpnPluginFailure</a>, enum in nm-vpn-dbus-interface
 </dt>
 <dd></dd>
 <dt>
@@ -3929,7 +3933,7 @@ NMUtilsPredicateStr, user_function in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
-<a href="/usr/share/gtk-doc/html/NetworkManager/nm-vpn-dbus-types.html#NMVpnServiceState">NMVpnServiceState</a>, enum in nm-vpn-dbus-interface
+<a href="libnm-nm-vpn-dbus-interface.html#NMVpnServiceState">NMVpnServiceState</a>, enum in nm-vpn-dbus-interface
 </dt>
 <dd></dd>
 <dt>
@@ -4233,7 +4237,7 @@ NMUtilsPredicateStr, user_function in NMSettingOvs
 </dt>
 <dd></dd>
 <dt>
-NM_API_VERSION, macro in nm-version-macros
+<a href="libnm-nm-version-macros.html#NM-API-VERSION:CAPS">NM_API_VERSION</a>, macro in nm-version-macros
 </dt>
 <dd></dd>
 <dt>
@@ -4325,6 +4329,10 @@ nm_auto_unref_nml_dbusobj, macro in <a class="link" href="NMIPConfig.html" title
 </dt>
 <dd></dd>
 <dt>
+<a class="link" href="libnm-nm-version.html#NM-AVAILABLE-IN-1-40-4:CAPS" title="NM_AVAILABLE_IN_1_40_4">NM_AVAILABLE_IN_1_40_4</a>, macro in <a class="link" href="libnm-nm-version.html" title="nm-version">nm-version</a>
+</dt>
+<dd></dd>
+<dt>
 <a class="link" href="libnm-nm-version.html#NM-AVAILABLE-IN-1-6:CAPS" title="NM_AVAILABLE_IN_1_6">NM_AVAILABLE_IN_1_6</a>, macro in <a class="link" href="libnm-nm-version.html" title="nm-version">nm-version</a>
 </dt>
 <dd></dd>
@@ -4421,7 +4429,7 @@ nm_auto_unref_nml_dbusobj, macro in <a class="link" href="NMIPConfig.html" title
 </dt>
 <dd></dd>
 <dt>
-NM_CHECK_VERSION, macro in nm-version-macros
+<a href="libnm-nm-version-macros.html#NM-CHECK-VERSION:CAPS">NM_CHECK_VERSION</a>, macro in nm-version-macros
 </dt>
 <dd></dd>
 <dt>
@@ -5277,7 +5285,7 @@ NM_CLIENT_NOTIFY_EVENT_PRIO_GPROP, macro in <a class="link" href="NMIPConfig.htm
 </dt>
 <dd></dd>
 <dt>
-nm_conn_wireguard_import, function in nm-conn-utils
+<a href="libnm-nm-conn-utils.html#nm-conn-wireguard-import">nm_conn_wireguard_import</a>, function in nm-conn-utils
 </dt>
 <dd></dd>
 <dt>
@@ -5481,11 +5489,11 @@ nm_context_busy_watcher_quark, function in <a class="link" href="NMIPConfig.html
 </dt>
 <dd></dd>
 <dt>
-NM_DBUS_INTERFACE_VPN, macro in nm-vpn-dbus-interface
+<a href="/usr/share/gtk-doc/html/libnm-util/libnm-util-NetworkManagerVPN.html#NM-DBUS-INTERFACE-VPN:CAPS">NM_DBUS_INTERFACE_VPN</a>, macro in nm-vpn-dbus-interface
 </dt>
 <dd></dd>
 <dt>
-NM_DBUS_INTERFACE_VPN_CONNECTION, macro in nm-vpn-dbus-interface
+<a href="/usr/share/gtk-doc/html/libnm-util/libnm-util-NetworkManagerVPN.html#NM-DBUS-INTERFACE-VPN-CONNECTION:CAPS">NM_DBUS_INTERFACE_VPN_CONNECTION</a>, macro in nm-vpn-dbus-interface
 </dt>
 <dd></dd>
 <dt>
@@ -5497,15 +5505,15 @@ NM_DBUS_INTERFACE_VPN_CONNECTION, macro in nm-vpn-dbus-interface
 </dt>
 <dd></dd>
 <dt>
-NM_DBUS_INVALID_VPN_CONNECTION, macro in nm-vpn-dbus-interface
+<a href="/usr/share/gtk-doc/html/libnm-util/libnm-util-NetworkManagerVPN.html#NM-DBUS-INVALID-VPN-CONNECTION:CAPS">NM_DBUS_INVALID_VPN_CONNECTION</a>, macro in nm-vpn-dbus-interface
 </dt>
 <dd></dd>
 <dt>
-NM_DBUS_NO_ACTIVE_VPN_CONNECTION, macro in nm-vpn-dbus-interface
+<a href="/usr/share/gtk-doc/html/libnm-util/libnm-util-NetworkManagerVPN.html#NM-DBUS-NO-ACTIVE-VPN-CONNECTION:CAPS">NM_DBUS_NO_ACTIVE_VPN_CONNECTION</a>, macro in nm-vpn-dbus-interface
 </dt>
 <dd></dd>
 <dt>
-NM_DBUS_NO_VPN_CONNECTIONS, macro in nm-vpn-dbus-interface
+<a href="/usr/share/gtk-doc/html/libnm-util/libnm-util-NetworkManagerVPN.html#NM-DBUS-NO-VPN-CONNECTIONS:CAPS">NM_DBUS_NO_VPN_CONNECTIONS</a>, macro in nm-vpn-dbus-interface
 </dt>
 <dd></dd>
 <dt>
@@ -5541,11 +5549,11 @@ nm_dbus_path_not_empty, function in <a class="link" href="NMIPConfig.html" title
 </dt>
 <dd></dd>
 <dt>
-NM_DBUS_PATH_VPN, macro in nm-vpn-dbus-interface
+<a href="/usr/share/gtk-doc/html/libnm-util/libnm-util-NetworkManagerVPN.html#NM-DBUS-PATH-VPN:CAPS">NM_DBUS_PATH_VPN</a>, macro in nm-vpn-dbus-interface
 </dt>
 <dd></dd>
 <dt>
-NM_DBUS_PATH_VPN_CONNECTION, macro in nm-vpn-dbus-interface
+<a href="/usr/share/gtk-doc/html/libnm-util/libnm-util-NetworkManagerVPN.html#NM-DBUS-PATH-VPN-CONNECTION:CAPS">NM_DBUS_PATH_VPN_CONNECTION</a>, macro in nm-vpn-dbus-interface
 </dt>
 <dd></dd>
 <dt>
@@ -5561,67 +5569,67 @@ NM_DBUS_PATH_VPN_CONNECTION, macro in nm-vpn-dbus-interface
 </dt>
 <dd></dd>
 <dt>
-NM_DBUS_VPN_ALREADY_STARTED, macro in nm-vpn-dbus-interface
+<a href="/usr/share/gtk-doc/html/libnm-util/libnm-util-NetworkManagerVPN.html#NM-DBUS-VPN-ALREADY-STARTED:CAPS">NM_DBUS_VPN_ALREADY_STARTED</a>, macro in nm-vpn-dbus-interface
 </dt>
 <dd></dd>
 <dt>
-NM_DBUS_VPN_ALREADY_STOPPED, macro in nm-vpn-dbus-interface
+<a href="/usr/share/gtk-doc/html/libnm-util/libnm-util-NetworkManagerVPN.html#NM-DBUS-VPN-ALREADY-STOPPED:CAPS">NM_DBUS_VPN_ALREADY_STOPPED</a>, macro in nm-vpn-dbus-interface
 </dt>
 <dd></dd>
 <dt>
-NM_DBUS_VPN_BAD_ARGUMENTS, macro in nm-vpn-dbus-interface
+<a href="/usr/share/gtk-doc/html/libnm-util/libnm-util-NetworkManagerVPN.html#NM-DBUS-VPN-BAD-ARGUMENTS:CAPS">NM_DBUS_VPN_BAD_ARGUMENTS</a>, macro in nm-vpn-dbus-interface
 </dt>
 <dd></dd>
 <dt>
-NM_DBUS_VPN_ERROR_PREFIX, macro in nm-vpn-dbus-interface
+<a href="/usr/share/gtk-doc/html/libnm-util/libnm-util-NetworkManagerVPN.html#NM-DBUS-VPN-ERROR-PREFIX:CAPS">NM_DBUS_VPN_ERROR_PREFIX</a>, macro in nm-vpn-dbus-interface
 </dt>
 <dd></dd>
 <dt>
-NM_DBUS_VPN_INTERACTIVE_NOT_SUPPORTED, macro in nm-vpn-dbus-interface
+<a href="/usr/share/gtk-doc/html/libnm-util/libnm-util-NetworkManagerVPN.html#NM-DBUS-VPN-INTERACTIVE-NOT-SUPPORTED:CAPS">NM_DBUS_VPN_INTERACTIVE_NOT_SUPPORTED</a>, macro in nm-vpn-dbus-interface
 </dt>
 <dd></dd>
 <dt>
-NM_DBUS_VPN_SIGNAL_CONNECT_FAILED, macro in nm-vpn-dbus-interface
+<a href="/usr/share/gtk-doc/html/libnm-util/libnm-util-NetworkManagerVPN.html#NM-DBUS-VPN-SIGNAL-CONNECT-FAILED:CAPS">NM_DBUS_VPN_SIGNAL_CONNECT_FAILED</a>, macro in nm-vpn-dbus-interface
 </dt>
 <dd></dd>
 <dt>
-NM_DBUS_VPN_SIGNAL_IP4_CONFIG, macro in nm-vpn-dbus-interface
+<a href="/usr/share/gtk-doc/html/libnm-util/libnm-util-NetworkManagerVPN.html#NM-DBUS-VPN-SIGNAL-IP4-CONFIG:CAPS">NM_DBUS_VPN_SIGNAL_IP4_CONFIG</a>, macro in nm-vpn-dbus-interface
 </dt>
 <dd></dd>
 <dt>
-NM_DBUS_VPN_SIGNAL_IP_CONFIG_BAD, macro in nm-vpn-dbus-interface
+<a href="/usr/share/gtk-doc/html/libnm-util/libnm-util-NetworkManagerVPN.html#NM-DBUS-VPN-SIGNAL-IP-CONFIG-BAD:CAPS">NM_DBUS_VPN_SIGNAL_IP_CONFIG_BAD</a>, macro in nm-vpn-dbus-interface
 </dt>
 <dd></dd>
 <dt>
-NM_DBUS_VPN_SIGNAL_LAUNCH_FAILED, macro in nm-vpn-dbus-interface
+<a href="/usr/share/gtk-doc/html/libnm-util/libnm-util-NetworkManagerVPN.html#NM-DBUS-VPN-SIGNAL-LAUNCH-FAILED:CAPS">NM_DBUS_VPN_SIGNAL_LAUNCH_FAILED</a>, macro in nm-vpn-dbus-interface
 </dt>
 <dd></dd>
 <dt>
-NM_DBUS_VPN_SIGNAL_LOGIN_BANNER, macro in nm-vpn-dbus-interface
+<a href="/usr/share/gtk-doc/html/libnm-util/libnm-util-NetworkManagerVPN.html#NM-DBUS-VPN-SIGNAL-LOGIN-BANNER:CAPS">NM_DBUS_VPN_SIGNAL_LOGIN_BANNER</a>, macro in nm-vpn-dbus-interface
 </dt>
 <dd></dd>
 <dt>
-NM_DBUS_VPN_SIGNAL_LOGIN_FAILED, macro in nm-vpn-dbus-interface
+<a href="/usr/share/gtk-doc/html/libnm-util/libnm-util-NetworkManagerVPN.html#NM-DBUS-VPN-SIGNAL-LOGIN-FAILED:CAPS">NM_DBUS_VPN_SIGNAL_LOGIN_FAILED</a>, macro in nm-vpn-dbus-interface
 </dt>
 <dd></dd>
 <dt>
-NM_DBUS_VPN_SIGNAL_STATE_CHANGE, macro in nm-vpn-dbus-interface
+<a href="/usr/share/gtk-doc/html/libnm-util/libnm-util-NetworkManagerVPN.html#NM-DBUS-VPN-SIGNAL-STATE-CHANGE:CAPS">NM_DBUS_VPN_SIGNAL_STATE_CHANGE</a>, macro in nm-vpn-dbus-interface
 </dt>
 <dd></dd>
 <dt>
-NM_DBUS_VPN_SIGNAL_VPN_CONFIG_BAD, macro in nm-vpn-dbus-interface
+<a href="/usr/share/gtk-doc/html/libnm-util/libnm-util-NetworkManagerVPN.html#NM-DBUS-VPN-SIGNAL-VPN-CONFIG-BAD:CAPS">NM_DBUS_VPN_SIGNAL_VPN_CONFIG_BAD</a>, macro in nm-vpn-dbus-interface
 </dt>
 <dd></dd>
 <dt>
-NM_DBUS_VPN_STARTING_IN_PROGRESS, macro in nm-vpn-dbus-interface
+<a href="/usr/share/gtk-doc/html/libnm-util/libnm-util-NetworkManagerVPN.html#NM-DBUS-VPN-STARTING-IN-PROGRESS:CAPS">NM_DBUS_VPN_STARTING_IN_PROGRESS</a>, macro in nm-vpn-dbus-interface
 </dt>
 <dd></dd>
 <dt>
-NM_DBUS_VPN_STOPPING_IN_PROGRESS, macro in nm-vpn-dbus-interface
+<a href="/usr/share/gtk-doc/html/libnm-util/libnm-util-NetworkManagerVPN.html#NM-DBUS-VPN-STOPPING-IN-PROGRESS:CAPS">NM_DBUS_VPN_STOPPING_IN_PROGRESS</a>, macro in nm-vpn-dbus-interface
 </dt>
 <dd></dd>
 <dt>
-NM_DBUS_VPN_WRONG_STATE, macro in nm-vpn-dbus-interface
+<a href="/usr/share/gtk-doc/html/libnm-util/libnm-util-NetworkManagerVPN.html#NM-DBUS-VPN-WRONG-STATE:CAPS">NM_DBUS_VPN_WRONG_STATE</a>, macro in nm-vpn-dbus-interface
 </dt>
 <dd></dd>
 <dt>
@@ -5705,7 +5713,7 @@ NM_DBUS_VPN_WRONG_STATE, macro in nm-vpn-dbus-interface
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="NMDevice6Lowpan.html#NM-DEPRECATED-IN-1-24-FOR:CAPS" title="NM_DEPRECATED_IN_1_24_FOR ()">NM_DEPRECATED_IN_1_24_FOR</a>, function in <a class="link" href="libnm-nm-version.html" title="nm-version">nm-version</a>
+<a class="link" href="NMDeviceDummy.html#NM-DEPRECATED-IN-1-24-FOR:CAPS" title="NM_DEPRECATED_IN_1_24_FOR ()">NM_DEPRECATED_IN_1_24_FOR</a>, function in <a class="link" href="libnm-nm-version.html" title="nm-version">nm-version</a>
 </dt>
 <dd></dd>
 <dt>
@@ -7177,327 +7185,327 @@ NM_DBUS_VPN_WRONG_STATE, macro in nm-vpn-dbus-interface
 </dt>
 <dd></dd>
 <dt>
-NM_ENCODE_VERSION, macro in nm-version-macros
+<a href="libnm-nm-version-macros.html#NM-ENCODE-VERSION:CAPS">NM_ENCODE_VERSION</a>, macro in nm-version-macros
 </dt>
 <dd></dd>
 <dt>
-NM_ETHTOOL_OPTNAME_COALESCE_ADAPTIVE_RX, macro in nm-ethtool-utils
+<a href="libnm-nm-ethtool-utils.html#NM-ETHTOOL-OPTNAME-COALESCE-ADAPTIVE-RX:CAPS">NM_ETHTOOL_OPTNAME_COALESCE_ADAPTIVE_RX</a>, macro in nm-ethtool-utils
 </dt>
 <dd></dd>
 <dt>
-NM_ETHTOOL_OPTNAME_COALESCE_ADAPTIVE_TX, macro in nm-ethtool-utils
+<a href="libnm-nm-ethtool-utils.html#NM-ETHTOOL-OPTNAME-COALESCE-ADAPTIVE-TX:CAPS">NM_ETHTOOL_OPTNAME_COALESCE_ADAPTIVE_TX</a>, macro in nm-ethtool-utils
 </dt>
 <dd></dd>
 <dt>
-NM_ETHTOOL_OPTNAME_COALESCE_PKT_RATE_HIGH, macro in nm-ethtool-utils
+<a href="libnm-nm-ethtool-utils.html#NM-ETHTOOL-OPTNAME-COALESCE-PKT-RATE-HIGH:CAPS">NM_ETHTOOL_OPTNAME_COALESCE_PKT_RATE_HIGH</a>, macro in nm-ethtool-utils
 </dt>
 <dd></dd>
 <dt>
-NM_ETHTOOL_OPTNAME_COALESCE_PKT_RATE_LOW, macro in nm-ethtool-utils
+<a href="libnm-nm-ethtool-utils.html#NM-ETHTOOL-OPTNAME-COALESCE-PKT-RATE-LOW:CAPS">NM_ETHTOOL_OPTNAME_COALESCE_PKT_RATE_LOW</a>, macro in nm-ethtool-utils
 </dt>
 <dd></dd>
 <dt>
-NM_ETHTOOL_OPTNAME_COALESCE_RX_FRAMES, macro in nm-ethtool-utils
+<a href="libnm-nm-ethtool-utils.html#NM-ETHTOOL-OPTNAME-COALESCE-RX-FRAMES:CAPS">NM_ETHTOOL_OPTNAME_COALESCE_RX_FRAMES</a>, macro in nm-ethtool-utils
 </dt>
 <dd></dd>
 <dt>
-NM_ETHTOOL_OPTNAME_COALESCE_RX_FRAMES_HIGH, macro in nm-ethtool-utils
+<a href="libnm-nm-ethtool-utils.html#NM-ETHTOOL-OPTNAME-COALESCE-RX-FRAMES-HIGH:CAPS">NM_ETHTOOL_OPTNAME_COALESCE_RX_FRAMES_HIGH</a>, macro in nm-ethtool-utils
 </dt>
 <dd></dd>
 <dt>
-NM_ETHTOOL_OPTNAME_COALESCE_RX_FRAMES_IRQ, macro in nm-ethtool-utils
+<a href="libnm-nm-ethtool-utils.html#NM-ETHTOOL-OPTNAME-COALESCE-RX-FRAMES-IRQ:CAPS">NM_ETHTOOL_OPTNAME_COALESCE_RX_FRAMES_IRQ</a>, macro in nm-ethtool-utils
 </dt>
 <dd></dd>
 <dt>
-NM_ETHTOOL_OPTNAME_COALESCE_RX_FRAMES_LOW, macro in nm-ethtool-utils
+<a href="libnm-nm-ethtool-utils.html#NM-ETHTOOL-OPTNAME-COALESCE-RX-FRAMES-LOW:CAPS">NM_ETHTOOL_OPTNAME_COALESCE_RX_FRAMES_LOW</a>, macro in nm-ethtool-utils
 </dt>
 <dd></dd>
 <dt>
-NM_ETHTOOL_OPTNAME_COALESCE_RX_USECS, macro in nm-ethtool-utils
+<a href="libnm-nm-ethtool-utils.html#NM-ETHTOOL-OPTNAME-COALESCE-RX-USECS:CAPS">NM_ETHTOOL_OPTNAME_COALESCE_RX_USECS</a>, macro in nm-ethtool-utils
 </dt>
 <dd></dd>
 <dt>
-NM_ETHTOOL_OPTNAME_COALESCE_RX_USECS_HIGH, macro in nm-ethtool-utils
+<a href="libnm-nm-ethtool-utils.html#NM-ETHTOOL-OPTNAME-COALESCE-RX-USECS-HIGH:CAPS">NM_ETHTOOL_OPTNAME_COALESCE_RX_USECS_HIGH</a>, macro in nm-ethtool-utils
 </dt>
 <dd></dd>
 <dt>
-NM_ETHTOOL_OPTNAME_COALESCE_RX_USECS_IRQ, macro in nm-ethtool-utils
+<a href="libnm-nm-ethtool-utils.html#NM-ETHTOOL-OPTNAME-COALESCE-RX-USECS-IRQ:CAPS">NM_ETHTOOL_OPTNAME_COALESCE_RX_USECS_IRQ</a>, macro in nm-ethtool-utils
 </dt>
 <dd></dd>
 <dt>
-NM_ETHTOOL_OPTNAME_COALESCE_RX_USECS_LOW, macro in nm-ethtool-utils
+<a href="libnm-nm-ethtool-utils.html#NM-ETHTOOL-OPTNAME-COALESCE-RX-USECS-LOW:CAPS">NM_ETHTOOL_OPTNAME_COALESCE_RX_USECS_LOW</a>, macro in nm-ethtool-utils
 </dt>
 <dd></dd>
 <dt>
-NM_ETHTOOL_OPTNAME_COALESCE_SAMPLE_INTERVAL, macro in nm-ethtool-utils
+<a href="libnm-nm-ethtool-utils.html#NM-ETHTOOL-OPTNAME-COALESCE-SAMPLE-INTERVAL:CAPS">NM_ETHTOOL_OPTNAME_COALESCE_SAMPLE_INTERVAL</a>, macro in nm-ethtool-utils
 </dt>
 <dd></dd>
 <dt>
-NM_ETHTOOL_OPTNAME_COALESCE_STATS_BLOCK_USECS, macro in nm-ethtool-utils
+<a href="libnm-nm-ethtool-utils.html#NM-ETHTOOL-OPTNAME-COALESCE-STATS-BLOCK-USECS:CAPS">NM_ETHTOOL_OPTNAME_COALESCE_STATS_BLOCK_USECS</a>, macro in nm-ethtool-utils
 </dt>
 <dd></dd>
 <dt>
-NM_ETHTOOL_OPTNAME_COALESCE_TX_FRAMES, macro in nm-ethtool-utils
+<a href="libnm-nm-ethtool-utils.html#NM-ETHTOOL-OPTNAME-COALESCE-TX-FRAMES:CAPS">NM_ETHTOOL_OPTNAME_COALESCE_TX_FRAMES</a>, macro in nm-ethtool-utils
 </dt>
 <dd></dd>
 <dt>
-NM_ETHTOOL_OPTNAME_COALESCE_TX_FRAMES_HIGH, macro in nm-ethtool-utils
+<a href="libnm-nm-ethtool-utils.html#NM-ETHTOOL-OPTNAME-COALESCE-TX-FRAMES-HIGH:CAPS">NM_ETHTOOL_OPTNAME_COALESCE_TX_FRAMES_HIGH</a>, macro in nm-ethtool-utils
 </dt>
 <dd></dd>
 <dt>
-NM_ETHTOOL_OPTNAME_COALESCE_TX_FRAMES_IRQ, macro in nm-ethtool-utils
+<a href="libnm-nm-ethtool-utils.html#NM-ETHTOOL-OPTNAME-COALESCE-TX-FRAMES-IRQ:CAPS">NM_ETHTOOL_OPTNAME_COALESCE_TX_FRAMES_IRQ</a>, macro in nm-ethtool-utils
 </dt>
 <dd></dd>
 <dt>
-NM_ETHTOOL_OPTNAME_COALESCE_TX_FRAMES_LOW, macro in nm-ethtool-utils
+<a href="libnm-nm-ethtool-utils.html#NM-ETHTOOL-OPTNAME-COALESCE-TX-FRAMES-LOW:CAPS">NM_ETHTOOL_OPTNAME_COALESCE_TX_FRAMES_LOW</a>, macro in nm-ethtool-utils
 </dt>
 <dd></dd>
 <dt>
-NM_ETHTOOL_OPTNAME_COALESCE_TX_USECS, macro in nm-ethtool-utils
+<a href="libnm-nm-ethtool-utils.html#NM-ETHTOOL-OPTNAME-COALESCE-TX-USECS:CAPS">NM_ETHTOOL_OPTNAME_COALESCE_TX_USECS</a>, macro in nm-ethtool-utils
 </dt>
 <dd></dd>
 <dt>
-NM_ETHTOOL_OPTNAME_COALESCE_TX_USECS_HIGH, macro in nm-ethtool-utils
+<a href="libnm-nm-ethtool-utils.html#NM-ETHTOOL-OPTNAME-COALESCE-TX-USECS-HIGH:CAPS">NM_ETHTOOL_OPTNAME_COALESCE_TX_USECS_HIGH</a>, macro in nm-ethtool-utils
 </dt>
 <dd></dd>
 <dt>
-NM_ETHTOOL_OPTNAME_COALESCE_TX_USECS_IRQ, macro in nm-ethtool-utils
+<a href="libnm-nm-ethtool-utils.html#NM-ETHTOOL-OPTNAME-COALESCE-TX-USECS-IRQ:CAPS">NM_ETHTOOL_OPTNAME_COALESCE_TX_USECS_IRQ</a>, macro in nm-ethtool-utils
 </dt>
 <dd></dd>
 <dt>
-NM_ETHTOOL_OPTNAME_COALESCE_TX_USECS_LOW, macro in nm-ethtool-utils
+<a href="libnm-nm-ethtool-utils.html#NM-ETHTOOL-OPTNAME-COALESCE-TX-USECS-LOW:CAPS">NM_ETHTOOL_OPTNAME_COALESCE_TX_USECS_LOW</a>, macro in nm-ethtool-utils
 </dt>
 <dd></dd>
 <dt>
-NM_ETHTOOL_OPTNAME_FEATURE_ESP_HW_OFFLOAD, macro in nm-ethtool-utils
+<a href="libnm-nm-ethtool-utils.html#NM-ETHTOOL-OPTNAME-FEATURE-ESP-HW-OFFLOAD:CAPS">NM_ETHTOOL_OPTNAME_FEATURE_ESP_HW_OFFLOAD</a>, macro in nm-ethtool-utils
 </dt>
 <dd></dd>
 <dt>
-NM_ETHTOOL_OPTNAME_FEATURE_ESP_TX_CSUM_HW_OFFLOAD, macro in nm-ethtool-utils
+<a href="libnm-nm-ethtool-utils.html#NM-ETHTOOL-OPTNAME-FEATURE-ESP-TX-CSUM-HW-OFFLOAD:CAPS">NM_ETHTOOL_OPTNAME_FEATURE_ESP_TX_CSUM_HW_OFFLOAD</a>, macro in nm-ethtool-utils
 </dt>
 <dd></dd>
 <dt>
-NM_ETHTOOL_OPTNAME_FEATURE_FCOE_MTU, macro in nm-ethtool-utils
+<a href="libnm-nm-ethtool-utils.html#NM-ETHTOOL-OPTNAME-FEATURE-FCOE-MTU:CAPS">NM_ETHTOOL_OPTNAME_FEATURE_FCOE_MTU</a>, macro in nm-ethtool-utils
 </dt>
 <dd></dd>
 <dt>
-NM_ETHTOOL_OPTNAME_FEATURE_GRO, macro in nm-ethtool-utils
+<a href="libnm-nm-ethtool-utils.html#NM-ETHTOOL-OPTNAME-FEATURE-GRO:CAPS">NM_ETHTOOL_OPTNAME_FEATURE_GRO</a>, macro in nm-ethtool-utils
 </dt>
 <dd></dd>
 <dt>
-NM_ETHTOOL_OPTNAME_FEATURE_GSO, macro in nm-ethtool-utils
+<a href="libnm-nm-ethtool-utils.html#NM-ETHTOOL-OPTNAME-FEATURE-GSO:CAPS">NM_ETHTOOL_OPTNAME_FEATURE_GSO</a>, macro in nm-ethtool-utils
 </dt>
 <dd></dd>
 <dt>
-NM_ETHTOOL_OPTNAME_FEATURE_HIGHDMA, macro in nm-ethtool-utils
+<a href="libnm-nm-ethtool-utils.html#NM-ETHTOOL-OPTNAME-FEATURE-HIGHDMA:CAPS">NM_ETHTOOL_OPTNAME_FEATURE_HIGHDMA</a>, macro in nm-ethtool-utils
 </dt>
 <dd></dd>
 <dt>
-NM_ETHTOOL_OPTNAME_FEATURE_HW_TC_OFFLOAD, macro in nm-ethtool-utils
+<a href="libnm-nm-ethtool-utils.html#NM-ETHTOOL-OPTNAME-FEATURE-HW-TC-OFFLOAD:CAPS">NM_ETHTOOL_OPTNAME_FEATURE_HW_TC_OFFLOAD</a>, macro in nm-ethtool-utils
 </dt>
 <dd></dd>
 <dt>
-NM_ETHTOOL_OPTNAME_FEATURE_L2_FWD_OFFLOAD, macro in nm-ethtool-utils
+<a href="libnm-nm-ethtool-utils.html#NM-ETHTOOL-OPTNAME-FEATURE-L2-FWD-OFFLOAD:CAPS">NM_ETHTOOL_OPTNAME_FEATURE_L2_FWD_OFFLOAD</a>, macro in nm-ethtool-utils
 </dt>
 <dd></dd>
 <dt>
-NM_ETHTOOL_OPTNAME_FEATURE_LOOPBACK, macro in nm-ethtool-utils
+<a href="libnm-nm-ethtool-utils.html#NM-ETHTOOL-OPTNAME-FEATURE-LOOPBACK:CAPS">NM_ETHTOOL_OPTNAME_FEATURE_LOOPBACK</a>, macro in nm-ethtool-utils
 </dt>
 <dd></dd>
 <dt>
-NM_ETHTOOL_OPTNAME_FEATURE_LRO, macro in nm-ethtool-utils
+<a href="libnm-nm-ethtool-utils.html#NM-ETHTOOL-OPTNAME-FEATURE-LRO:CAPS">NM_ETHTOOL_OPTNAME_FEATURE_LRO</a>, macro in nm-ethtool-utils
 </dt>
 <dd></dd>
 <dt>
-NM_ETHTOOL_OPTNAME_FEATURE_MACSEC_HW_OFFLOAD, macro in nm-ethtool-utils
+<a href="libnm-nm-ethtool-utils.html#NM-ETHTOOL-OPTNAME-FEATURE-MACSEC-HW-OFFLOAD:CAPS">NM_ETHTOOL_OPTNAME_FEATURE_MACSEC_HW_OFFLOAD</a>, macro in nm-ethtool-utils
 </dt>
 <dd></dd>
 <dt>
-NM_ETHTOOL_OPTNAME_FEATURE_NTUPLE, macro in nm-ethtool-utils
+<a href="libnm-nm-ethtool-utils.html#NM-ETHTOOL-OPTNAME-FEATURE-NTUPLE:CAPS">NM_ETHTOOL_OPTNAME_FEATURE_NTUPLE</a>, macro in nm-ethtool-utils
 </dt>
 <dd></dd>
 <dt>
-NM_ETHTOOL_OPTNAME_FEATURE_RX, macro in nm-ethtool-utils
+<a href="libnm-nm-ethtool-utils.html#NM-ETHTOOL-OPTNAME-FEATURE-RX:CAPS">NM_ETHTOOL_OPTNAME_FEATURE_RX</a>, macro in nm-ethtool-utils
 </dt>
 <dd></dd>
 <dt>
-NM_ETHTOOL_OPTNAME_FEATURE_RXHASH, macro in nm-ethtool-utils
+<a href="libnm-nm-ethtool-utils.html#NM-ETHTOOL-OPTNAME-FEATURE-RXHASH:CAPS">NM_ETHTOOL_OPTNAME_FEATURE_RXHASH</a>, macro in nm-ethtool-utils
 </dt>
 <dd></dd>
 <dt>
-NM_ETHTOOL_OPTNAME_FEATURE_RXVLAN, macro in nm-ethtool-utils
+<a href="libnm-nm-ethtool-utils.html#NM-ETHTOOL-OPTNAME-FEATURE-RXVLAN:CAPS">NM_ETHTOOL_OPTNAME_FEATURE_RXVLAN</a>, macro in nm-ethtool-utils
 </dt>
 <dd></dd>
 <dt>
-NM_ETHTOOL_OPTNAME_FEATURE_RX_ALL, macro in nm-ethtool-utils
+<a href="libnm-nm-ethtool-utils.html#NM-ETHTOOL-OPTNAME-FEATURE-RX-ALL:CAPS">NM_ETHTOOL_OPTNAME_FEATURE_RX_ALL</a>, macro in nm-ethtool-utils
 </dt>
 <dd></dd>
 <dt>
-NM_ETHTOOL_OPTNAME_FEATURE_RX_FCS, macro in nm-ethtool-utils
+<a href="libnm-nm-ethtool-utils.html#NM-ETHTOOL-OPTNAME-FEATURE-RX-FCS:CAPS">NM_ETHTOOL_OPTNAME_FEATURE_RX_FCS</a>, macro in nm-ethtool-utils
 </dt>
 <dd></dd>
 <dt>
-NM_ETHTOOL_OPTNAME_FEATURE_RX_GRO_HW, macro in nm-ethtool-utils
+<a href="libnm-nm-ethtool-utils.html#NM-ETHTOOL-OPTNAME-FEATURE-RX-GRO-HW:CAPS">NM_ETHTOOL_OPTNAME_FEATURE_RX_GRO_HW</a>, macro in nm-ethtool-utils
 </dt>
 <dd></dd>
 <dt>
-NM_ETHTOOL_OPTNAME_FEATURE_RX_GRO_LIST, macro in nm-ethtool-utils
+<a href="libnm-nm-ethtool-utils.html#NM-ETHTOOL-OPTNAME-FEATURE-RX-GRO-LIST:CAPS">NM_ETHTOOL_OPTNAME_FEATURE_RX_GRO_LIST</a>, macro in nm-ethtool-utils
 </dt>
 <dd></dd>
 <dt>
-NM_ETHTOOL_OPTNAME_FEATURE_RX_UDP_GRO_FORWARDING, macro in nm-ethtool-utils
+<a href="libnm-nm-ethtool-utils.html#NM-ETHTOOL-OPTNAME-FEATURE-RX-UDP-GRO-FORWARDING:CAPS">NM_ETHTOOL_OPTNAME_FEATURE_RX_UDP_GRO_FORWARDING</a>, macro in nm-ethtool-utils
 </dt>
 <dd></dd>
 <dt>
-NM_ETHTOOL_OPTNAME_FEATURE_RX_UDP_TUNNEL_PORT_OFFLOAD, macro in nm-ethtool-utils
+<a href="libnm-nm-ethtool-utils.html#NM-ETHTOOL-OPTNAME-FEATURE-RX-UDP-TUNNEL-PORT-OFFLOAD:CAPS">NM_ETHTOOL_OPTNAME_FEATURE_RX_UDP_TUNNEL_PORT_OFFLOAD</a>, macro in nm-ethtool-utils
 </dt>
 <dd></dd>
 <dt>
-NM_ETHTOOL_OPTNAME_FEATURE_RX_VLAN_FILTER, macro in nm-ethtool-utils
+<a href="libnm-nm-ethtool-utils.html#NM-ETHTOOL-OPTNAME-FEATURE-RX-VLAN-FILTER:CAPS">NM_ETHTOOL_OPTNAME_FEATURE_RX_VLAN_FILTER</a>, macro in nm-ethtool-utils
 </dt>
 <dd></dd>
 <dt>
-NM_ETHTOOL_OPTNAME_FEATURE_RX_VLAN_STAG_FILTER, macro in nm-ethtool-utils
+<a href="libnm-nm-ethtool-utils.html#NM-ETHTOOL-OPTNAME-FEATURE-RX-VLAN-STAG-FILTER:CAPS">NM_ETHTOOL_OPTNAME_FEATURE_RX_VLAN_STAG_FILTER</a>, macro in nm-ethtool-utils
 </dt>
 <dd></dd>
 <dt>
-NM_ETHTOOL_OPTNAME_FEATURE_RX_VLAN_STAG_HW_PARSE, macro in nm-ethtool-utils
+<a href="libnm-nm-ethtool-utils.html#NM-ETHTOOL-OPTNAME-FEATURE-RX-VLAN-STAG-HW-PARSE:CAPS">NM_ETHTOOL_OPTNAME_FEATURE_RX_VLAN_STAG_HW_PARSE</a>, macro in nm-ethtool-utils
 </dt>
 <dd></dd>
 <dt>
-NM_ETHTOOL_OPTNAME_FEATURE_SG, macro in nm-ethtool-utils
+<a href="libnm-nm-ethtool-utils.html#NM-ETHTOOL-OPTNAME-FEATURE-SG:CAPS">NM_ETHTOOL_OPTNAME_FEATURE_SG</a>, macro in nm-ethtool-utils
 </dt>
 <dd></dd>
 <dt>
-NM_ETHTOOL_OPTNAME_FEATURE_TLS_HW_RECORD, macro in nm-ethtool-utils
+<a href="libnm-nm-ethtool-utils.html#NM-ETHTOOL-OPTNAME-FEATURE-TLS-HW-RECORD:CAPS">NM_ETHTOOL_OPTNAME_FEATURE_TLS_HW_RECORD</a>, macro in nm-ethtool-utils
 </dt>
 <dd></dd>
 <dt>
-NM_ETHTOOL_OPTNAME_FEATURE_TLS_HW_RX_OFFLOAD, macro in nm-ethtool-utils
+<a href="libnm-nm-ethtool-utils.html#NM-ETHTOOL-OPTNAME-FEATURE-TLS-HW-RX-OFFLOAD:CAPS">NM_ETHTOOL_OPTNAME_FEATURE_TLS_HW_RX_OFFLOAD</a>, macro in nm-ethtool-utils
 </dt>
 <dd></dd>
 <dt>
-NM_ETHTOOL_OPTNAME_FEATURE_TLS_HW_TX_OFFLOAD, macro in nm-ethtool-utils
+<a href="libnm-nm-ethtool-utils.html#NM-ETHTOOL-OPTNAME-FEATURE-TLS-HW-TX-OFFLOAD:CAPS">NM_ETHTOOL_OPTNAME_FEATURE_TLS_HW_TX_OFFLOAD</a>, macro in nm-ethtool-utils
 </dt>
 <dd></dd>
 <dt>
-NM_ETHTOOL_OPTNAME_FEATURE_TSO, macro in nm-ethtool-utils
+<a href="libnm-nm-ethtool-utils.html#NM-ETHTOOL-OPTNAME-FEATURE-TSO:CAPS">NM_ETHTOOL_OPTNAME_FEATURE_TSO</a>, macro in nm-ethtool-utils
 </dt>
 <dd></dd>
 <dt>
-NM_ETHTOOL_OPTNAME_FEATURE_TX, macro in nm-ethtool-utils
+<a href="libnm-nm-ethtool-utils.html#NM-ETHTOOL-OPTNAME-FEATURE-TX:CAPS">NM_ETHTOOL_OPTNAME_FEATURE_TX</a>, macro in nm-ethtool-utils
 </dt>
 <dd></dd>
 <dt>
-NM_ETHTOOL_OPTNAME_FEATURE_TXVLAN, macro in nm-ethtool-utils
+<a href="libnm-nm-ethtool-utils.html#NM-ETHTOOL-OPTNAME-FEATURE-TXVLAN:CAPS">NM_ETHTOOL_OPTNAME_FEATURE_TXVLAN</a>, macro in nm-ethtool-utils
 </dt>
 <dd></dd>
 <dt>
-NM_ETHTOOL_OPTNAME_FEATURE_TX_CHECKSUM_FCOE_CRC, macro in nm-ethtool-utils
+<a href="libnm-nm-ethtool-utils.html#NM-ETHTOOL-OPTNAME-FEATURE-TX-CHECKSUM-FCOE-CRC:CAPS">NM_ETHTOOL_OPTNAME_FEATURE_TX_CHECKSUM_FCOE_CRC</a>, macro in nm-ethtool-utils
 </dt>
 <dd></dd>
 <dt>
-NM_ETHTOOL_OPTNAME_FEATURE_TX_CHECKSUM_IPV4, macro in nm-ethtool-utils
+<a href="libnm-nm-ethtool-utils.html#NM-ETHTOOL-OPTNAME-FEATURE-TX-CHECKSUM-IPV4:CAPS">NM_ETHTOOL_OPTNAME_FEATURE_TX_CHECKSUM_IPV4</a>, macro in nm-ethtool-utils
 </dt>
 <dd></dd>
 <dt>
-NM_ETHTOOL_OPTNAME_FEATURE_TX_CHECKSUM_IPV6, macro in nm-ethtool-utils
+<a href="libnm-nm-ethtool-utils.html#NM-ETHTOOL-OPTNAME-FEATURE-TX-CHECKSUM-IPV6:CAPS">NM_ETHTOOL_OPTNAME_FEATURE_TX_CHECKSUM_IPV6</a>, macro in nm-ethtool-utils
 </dt>
 <dd></dd>
 <dt>
-NM_ETHTOOL_OPTNAME_FEATURE_TX_CHECKSUM_IP_GENERIC, macro in nm-ethtool-utils
+<a href="libnm-nm-ethtool-utils.html#NM-ETHTOOL-OPTNAME-FEATURE-TX-CHECKSUM-IP-GENERIC:CAPS">NM_ETHTOOL_OPTNAME_FEATURE_TX_CHECKSUM_IP_GENERIC</a>, macro in nm-ethtool-utils
 </dt>
 <dd></dd>
 <dt>
-NM_ETHTOOL_OPTNAME_FEATURE_TX_CHECKSUM_SCTP, macro in nm-ethtool-utils
+<a href="libnm-nm-ethtool-utils.html#NM-ETHTOOL-OPTNAME-FEATURE-TX-CHECKSUM-SCTP:CAPS">NM_ETHTOOL_OPTNAME_FEATURE_TX_CHECKSUM_SCTP</a>, macro in nm-ethtool-utils
 </dt>
 <dd></dd>
 <dt>
-NM_ETHTOOL_OPTNAME_FEATURE_TX_ESP_SEGMENTATION, macro in nm-ethtool-utils
+<a href="libnm-nm-ethtool-utils.html#NM-ETHTOOL-OPTNAME-FEATURE-TX-ESP-SEGMENTATION:CAPS">NM_ETHTOOL_OPTNAME_FEATURE_TX_ESP_SEGMENTATION</a>, macro in nm-ethtool-utils
 </dt>
 <dd></dd>
 <dt>
-NM_ETHTOOL_OPTNAME_FEATURE_TX_FCOE_SEGMENTATION, macro in nm-ethtool-utils
+<a href="libnm-nm-ethtool-utils.html#NM-ETHTOOL-OPTNAME-FEATURE-TX-FCOE-SEGMENTATION:CAPS">NM_ETHTOOL_OPTNAME_FEATURE_TX_FCOE_SEGMENTATION</a>, macro in nm-ethtool-utils
 </dt>
 <dd></dd>
 <dt>
-NM_ETHTOOL_OPTNAME_FEATURE_TX_GRE_CSUM_SEGMENTATION, macro in nm-ethtool-utils
+<a href="libnm-nm-ethtool-utils.html#NM-ETHTOOL-OPTNAME-FEATURE-TX-GRE-CSUM-SEGMENTATION:CAPS">NM_ETHTOOL_OPTNAME_FEATURE_TX_GRE_CSUM_SEGMENTATION</a>, macro in nm-ethtool-utils
 </dt>
 <dd></dd>
 <dt>
-NM_ETHTOOL_OPTNAME_FEATURE_TX_GRE_SEGMENTATION, macro in nm-ethtool-utils
+<a href="libnm-nm-ethtool-utils.html#NM-ETHTOOL-OPTNAME-FEATURE-TX-GRE-SEGMENTATION:CAPS">NM_ETHTOOL_OPTNAME_FEATURE_TX_GRE_SEGMENTATION</a>, macro in nm-ethtool-utils
 </dt>
 <dd></dd>
 <dt>
-NM_ETHTOOL_OPTNAME_FEATURE_TX_GSO_LIST, macro in nm-ethtool-utils
+<a href="libnm-nm-ethtool-utils.html#NM-ETHTOOL-OPTNAME-FEATURE-TX-GSO-LIST:CAPS">NM_ETHTOOL_OPTNAME_FEATURE_TX_GSO_LIST</a>, macro in nm-ethtool-utils
 </dt>
 <dd></dd>
 <dt>
-NM_ETHTOOL_OPTNAME_FEATURE_TX_GSO_PARTIAL, macro in nm-ethtool-utils
+<a href="libnm-nm-ethtool-utils.html#NM-ETHTOOL-OPTNAME-FEATURE-TX-GSO-PARTIAL:CAPS">NM_ETHTOOL_OPTNAME_FEATURE_TX_GSO_PARTIAL</a>, macro in nm-ethtool-utils
 </dt>
 <dd></dd>
 <dt>
-NM_ETHTOOL_OPTNAME_FEATURE_TX_GSO_ROBUST, macro in nm-ethtool-utils
+<a href="libnm-nm-ethtool-utils.html#NM-ETHTOOL-OPTNAME-FEATURE-TX-GSO-ROBUST:CAPS">NM_ETHTOOL_OPTNAME_FEATURE_TX_GSO_ROBUST</a>, macro in nm-ethtool-utils
 </dt>
 <dd></dd>
 <dt>
-NM_ETHTOOL_OPTNAME_FEATURE_TX_IPXIP4_SEGMENTATION, macro in nm-ethtool-utils
+<a href="libnm-nm-ethtool-utils.html#NM-ETHTOOL-OPTNAME-FEATURE-TX-IPXIP4-SEGMENTATION:CAPS">NM_ETHTOOL_OPTNAME_FEATURE_TX_IPXIP4_SEGMENTATION</a>, macro in nm-ethtool-utils
 </dt>
 <dd></dd>
 <dt>
-NM_ETHTOOL_OPTNAME_FEATURE_TX_IPXIP6_SEGMENTATION, macro in nm-ethtool-utils
+<a href="libnm-nm-ethtool-utils.html#NM-ETHTOOL-OPTNAME-FEATURE-TX-IPXIP6-SEGMENTATION:CAPS">NM_ETHTOOL_OPTNAME_FEATURE_TX_IPXIP6_SEGMENTATION</a>, macro in nm-ethtool-utils
 </dt>
 <dd></dd>
 <dt>
-NM_ETHTOOL_OPTNAME_FEATURE_TX_NOCACHE_COPY, macro in nm-ethtool-utils
+<a href="libnm-nm-ethtool-utils.html#NM-ETHTOOL-OPTNAME-FEATURE-TX-NOCACHE-COPY:CAPS">NM_ETHTOOL_OPTNAME_FEATURE_TX_NOCACHE_COPY</a>, macro in nm-ethtool-utils
 </dt>
 <dd></dd>
 <dt>
-NM_ETHTOOL_OPTNAME_FEATURE_TX_SCATTER_GATHER, macro in nm-ethtool-utils
+<a href="libnm-nm-ethtool-utils.html#NM-ETHTOOL-OPTNAME-FEATURE-TX-SCATTER-GATHER:CAPS">NM_ETHTOOL_OPTNAME_FEATURE_TX_SCATTER_GATHER</a>, macro in nm-ethtool-utils
 </dt>
 <dd></dd>
 <dt>
-NM_ETHTOOL_OPTNAME_FEATURE_TX_SCATTER_GATHER_FRAGLIST, macro in nm-ethtool-utils
+<a href="libnm-nm-ethtool-utils.html#NM-ETHTOOL-OPTNAME-FEATURE-TX-SCATTER-GATHER-FRAGLIST:CAPS">NM_ETHTOOL_OPTNAME_FEATURE_TX_SCATTER_GATHER_FRAGLIST</a>, macro in nm-ethtool-utils
 </dt>
 <dd></dd>
 <dt>
-NM_ETHTOOL_OPTNAME_FEATURE_TX_SCTP_SEGMENTATION, macro in nm-ethtool-utils
+<a href="libnm-nm-ethtool-utils.html#NM-ETHTOOL-OPTNAME-FEATURE-TX-SCTP-SEGMENTATION:CAPS">NM_ETHTOOL_OPTNAME_FEATURE_TX_SCTP_SEGMENTATION</a>, macro in nm-ethtool-utils
 </dt>
 <dd></dd>
 <dt>
-NM_ETHTOOL_OPTNAME_FEATURE_TX_TCP6_SEGMENTATION, macro in nm-ethtool-utils
+<a href="libnm-nm-ethtool-utils.html#NM-ETHTOOL-OPTNAME-FEATURE-TX-TCP6-SEGMENTATION:CAPS">NM_ETHTOOL_OPTNAME_FEATURE_TX_TCP6_SEGMENTATION</a>, macro in nm-ethtool-utils
 </dt>
 <dd></dd>
 <dt>
-NM_ETHTOOL_OPTNAME_FEATURE_TX_TCP_ECN_SEGMENTATION, macro in nm-ethtool-utils
+<a href="libnm-nm-ethtool-utils.html#NM-ETHTOOL-OPTNAME-FEATURE-TX-TCP-ECN-SEGMENTATION:CAPS">NM_ETHTOOL_OPTNAME_FEATURE_TX_TCP_ECN_SEGMENTATION</a>, macro in nm-ethtool-utils
 </dt>
 <dd></dd>
 <dt>
-NM_ETHTOOL_OPTNAME_FEATURE_TX_TCP_MANGLEID_SEGMENTATION, macro in nm-ethtool-utils
+<a href="libnm-nm-ethtool-utils.html#NM-ETHTOOL-OPTNAME-FEATURE-TX-TCP-MANGLEID-SEGMENTATION:CAPS">NM_ETHTOOL_OPTNAME_FEATURE_TX_TCP_MANGLEID_SEGMENTATION</a>, macro in nm-ethtool-utils
 </dt>
 <dd></dd>
 <dt>
-NM_ETHTOOL_OPTNAME_FEATURE_TX_TCP_SEGMENTATION, macro in nm-ethtool-utils
+<a href="libnm-nm-ethtool-utils.html#NM-ETHTOOL-OPTNAME-FEATURE-TX-TCP-SEGMENTATION:CAPS">NM_ETHTOOL_OPTNAME_FEATURE_TX_TCP_SEGMENTATION</a>, macro in nm-ethtool-utils
 </dt>
 <dd></dd>
 <dt>
-NM_ETHTOOL_OPTNAME_FEATURE_TX_TUNNEL_REMCSUM_SEGMENTATION, macro in nm-ethtool-utils
+<a href="libnm-nm-ethtool-utils.html#NM-ETHTOOL-OPTNAME-FEATURE-TX-TUNNEL-REMCSUM-SEGMENTATION:CAPS">NM_ETHTOOL_OPTNAME_FEATURE_TX_TUNNEL_REMCSUM_SEGMENTATION</a>, macro in nm-ethtool-utils
 </dt>
 <dd></dd>
 <dt>
-NM_ETHTOOL_OPTNAME_FEATURE_TX_UDP_SEGMENTATION, macro in nm-ethtool-utils
+<a href="libnm-nm-ethtool-utils.html#NM-ETHTOOL-OPTNAME-FEATURE-TX-UDP-SEGMENTATION:CAPS">NM_ETHTOOL_OPTNAME_FEATURE_TX_UDP_SEGMENTATION</a>, macro in nm-ethtool-utils
 </dt>
 <dd></dd>
 <dt>
-NM_ETHTOOL_OPTNAME_FEATURE_TX_UDP_TNL_CSUM_SEGMENTATION, macro in nm-ethtool-utils
+<a href="libnm-nm-ethtool-utils.html#NM-ETHTOOL-OPTNAME-FEATURE-TX-UDP-TNL-CSUM-SEGMENTATION:CAPS">NM_ETHTOOL_OPTNAME_FEATURE_TX_UDP_TNL_CSUM_SEGMENTATION</a>, macro in nm-ethtool-utils
 </dt>
 <dd></dd>
 <dt>
-NM_ETHTOOL_OPTNAME_FEATURE_TX_UDP_TNL_SEGMENTATION, macro in nm-ethtool-utils
+<a href="libnm-nm-ethtool-utils.html#NM-ETHTOOL-OPTNAME-FEATURE-TX-UDP-TNL-SEGMENTATION:CAPS">NM_ETHTOOL_OPTNAME_FEATURE_TX_UDP_TNL_SEGMENTATION</a>, macro in nm-ethtool-utils
 </dt>
 <dd></dd>
 <dt>
-NM_ETHTOOL_OPTNAME_FEATURE_TX_VLAN_STAG_HW_INSERT, macro in nm-ethtool-utils
+<a href="libnm-nm-ethtool-utils.html#NM-ETHTOOL-OPTNAME-FEATURE-TX-VLAN-STAG-HW-INSERT:CAPS">NM_ETHTOOL_OPTNAME_FEATURE_TX_VLAN_STAG_HW_INSERT</a>, macro in nm-ethtool-utils
 </dt>
 <dd></dd>
 <dt>
@@ -7517,31 +7525,31 @@ NM_ETHTOOL_OPTNAME_FEATURE_TX_VLAN_STAG_HW_INSERT, macro in nm-ethtool-utils
 </dt>
 <dd></dd>
 <dt>
-NM_ETHTOOL_OPTNAME_PAUSE_AUTONEG, macro in nm-ethtool-utils
+<a href="libnm-nm-ethtool-utils.html#NM-ETHTOOL-OPTNAME-PAUSE-AUTONEG:CAPS">NM_ETHTOOL_OPTNAME_PAUSE_AUTONEG</a>, macro in nm-ethtool-utils
 </dt>
 <dd></dd>
 <dt>
-NM_ETHTOOL_OPTNAME_PAUSE_RX, macro in nm-ethtool-utils
+<a href="libnm-nm-ethtool-utils.html#NM-ETHTOOL-OPTNAME-PAUSE-RX:CAPS">NM_ETHTOOL_OPTNAME_PAUSE_RX</a>, macro in nm-ethtool-utils
 </dt>
 <dd></dd>
 <dt>
-NM_ETHTOOL_OPTNAME_PAUSE_TX, macro in nm-ethtool-utils
+<a href="libnm-nm-ethtool-utils.html#NM-ETHTOOL-OPTNAME-PAUSE-TX:CAPS">NM_ETHTOOL_OPTNAME_PAUSE_TX</a>, macro in nm-ethtool-utils
 </dt>
 <dd></dd>
 <dt>
-NM_ETHTOOL_OPTNAME_RING_RX, macro in nm-ethtool-utils
+<a href="libnm-nm-ethtool-utils.html#NM-ETHTOOL-OPTNAME-RING-RX:CAPS">NM_ETHTOOL_OPTNAME_RING_RX</a>, macro in nm-ethtool-utils
 </dt>
 <dd></dd>
 <dt>
-NM_ETHTOOL_OPTNAME_RING_RX_JUMBO, macro in nm-ethtool-utils
+<a href="libnm-nm-ethtool-utils.html#NM-ETHTOOL-OPTNAME-RING-RX-JUMBO:CAPS">NM_ETHTOOL_OPTNAME_RING_RX_JUMBO</a>, macro in nm-ethtool-utils
 </dt>
 <dd></dd>
 <dt>
-NM_ETHTOOL_OPTNAME_RING_RX_MINI, macro in nm-ethtool-utils
+<a href="libnm-nm-ethtool-utils.html#NM-ETHTOOL-OPTNAME-RING-RX-MINI:CAPS">NM_ETHTOOL_OPTNAME_RING_RX_MINI</a>, macro in nm-ethtool-utils
 </dt>
 <dd></dd>
 <dt>
-NM_ETHTOOL_OPTNAME_RING_TX, macro in nm-ethtool-utils
+<a href="libnm-nm-ethtool-utils.html#NM-ETHTOOL-OPTNAME-RING-TX:CAPS">NM_ETHTOOL_OPTNAME_RING_TX</a>, macro in nm-ethtool-utils
 </dt>
 <dd></dd>
 <dt>
@@ -8201,7 +8209,7 @@ NM_ETHTOOL_OPTNAME_RING_TX, macro in nm-ethtool-utils
 </dt>
 <dd></dd>
 <dt>
-NM_MAJOR_VERSION, macro in nm-version-macros
+<a href="libnm-nm-version-macros.html#NM-MAJOR-VERSION:CAPS">NM_MAJOR_VERSION</a>, macro in nm-version-macros
 </dt>
 <dd></dd>
 <dt>
@@ -8213,11 +8221,11 @@ NM_MAJOR_VERSION, macro in nm-version-macros
 </dt>
 <dd></dd>
 <dt>
-NM_MICRO_VERSION, macro in nm-version-macros
+<a href="libnm-nm-version-macros.html#NM-MICRO-VERSION:CAPS">NM_MICRO_VERSION</a>, macro in nm-version-macros
 </dt>
 <dd></dd>
 <dt>
-NM_MINOR_VERSION, macro in nm-version-macros
+<a href="libnm-nm-version-macros.html#NM-MINOR-VERSION:CAPS">NM_MINOR_VERSION</a>, macro in nm-version-macros
 </dt>
 <dd></dd>
 <dt>
@@ -14321,103 +14329,107 @@ nm_utils_wincaps_to_dash, function in <a class="link" href="NMIPConfig.html" tit
 </dt>
 <dd></dd>
 <dt>
-NM_VERSION, macro in nm-version-macros
+<a href="libnm-nm-version-macros.html#NM-VERSION:CAPS">NM_VERSION</a>, macro in nm-version-macros
 </dt>
 <dd></dd>
 <dt>
-NM_VERSION_0_9_10, macro in nm-version-macros
+<a href="libnm-nm-version-macros.html#NM-VERSION-0-9-10:CAPS">NM_VERSION_0_9_10</a>, macro in nm-version-macros
 </dt>
 <dd></dd>
 <dt>
-NM_VERSION_0_9_8, macro in nm-version-macros
+<a href="libnm-nm-version-macros.html#NM-VERSION-0-9-8:CAPS">NM_VERSION_0_9_8</a>, macro in nm-version-macros
 </dt>
 <dd></dd>
 <dt>
-NM_VERSION_1_0, macro in nm-version-macros
+<a href="libnm-nm-version-macros.html#NM-VERSION-1-0:CAPS">NM_VERSION_1_0</a>, macro in nm-version-macros
 </dt>
 <dd></dd>
 <dt>
-NM_VERSION_1_10, macro in nm-version-macros
+<a href="libnm-nm-version-macros.html#NM-VERSION-1-10:CAPS">NM_VERSION_1_10</a>, macro in nm-version-macros
 </dt>
 <dd></dd>
 <dt>
-NM_VERSION_1_12, macro in nm-version-macros
+<a href="libnm-nm-version-macros.html#NM-VERSION-1-12:CAPS">NM_VERSION_1_12</a>, macro in nm-version-macros
 </dt>
 <dd></dd>
 <dt>
-NM_VERSION_1_14, macro in nm-version-macros
+<a href="libnm-nm-version-macros.html#NM-VERSION-1-14:CAPS">NM_VERSION_1_14</a>, macro in nm-version-macros
 </dt>
 <dd></dd>
 <dt>
-NM_VERSION_1_16, macro in nm-version-macros
+<a href="libnm-nm-version-macros.html#NM-VERSION-1-16:CAPS">NM_VERSION_1_16</a>, macro in nm-version-macros
 </dt>
 <dd></dd>
 <dt>
-NM_VERSION_1_18, macro in nm-version-macros
+<a href="libnm-nm-version-macros.html#NM-VERSION-1-18:CAPS">NM_VERSION_1_18</a>, macro in nm-version-macros
 </dt>
 <dd></dd>
 <dt>
-NM_VERSION_1_2, macro in nm-version-macros
+<a href="libnm-nm-version-macros.html#NM-VERSION-1-2:CAPS">NM_VERSION_1_2</a>, macro in nm-version-macros
 </dt>
 <dd></dd>
 <dt>
-NM_VERSION_1_20, macro in nm-version-macros
+<a href="libnm-nm-version-macros.html#NM-VERSION-1-20:CAPS">NM_VERSION_1_20</a>, macro in nm-version-macros
 </dt>
 <dd></dd>
 <dt>
-NM_VERSION_1_22, macro in nm-version-macros
+<a href="libnm-nm-version-macros.html#NM-VERSION-1-22:CAPS">NM_VERSION_1_22</a>, macro in nm-version-macros
 </dt>
 <dd></dd>
 <dt>
-NM_VERSION_1_24, macro in nm-version-macros
+<a href="libnm-nm-version-macros.html#NM-VERSION-1-24:CAPS">NM_VERSION_1_24</a>, macro in nm-version-macros
 </dt>
 <dd></dd>
 <dt>
-NM_VERSION_1_26, macro in nm-version-macros
+<a href="libnm-nm-version-macros.html#NM-VERSION-1-26:CAPS">NM_VERSION_1_26</a>, macro in nm-version-macros
 </dt>
 <dd></dd>
 <dt>
-NM_VERSION_1_28, macro in nm-version-macros
+<a href="libnm-nm-version-macros.html#NM-VERSION-1-28:CAPS">NM_VERSION_1_28</a>, macro in nm-version-macros
 </dt>
 <dd></dd>
 <dt>
-NM_VERSION_1_30, macro in nm-version-macros
+<a href="libnm-nm-version-macros.html#NM-VERSION-1-30:CAPS">NM_VERSION_1_30</a>, macro in nm-version-macros
 </dt>
 <dd></dd>
 <dt>
-NM_VERSION_1_32, macro in nm-version-macros
+<a href="libnm-nm-version-macros.html#NM-VERSION-1-32:CAPS">NM_VERSION_1_32</a>, macro in nm-version-macros
 </dt>
 <dd></dd>
 <dt>
-NM_VERSION_1_34, macro in nm-version-macros
+<a href="libnm-nm-version-macros.html#NM-VERSION-1-34:CAPS">NM_VERSION_1_34</a>, macro in nm-version-macros
 </dt>
 <dd></dd>
 <dt>
-NM_VERSION_1_36, macro in nm-version-macros
+<a href="libnm-nm-version-macros.html#NM-VERSION-1-36:CAPS">NM_VERSION_1_36</a>, macro in nm-version-macros
 </dt>
 <dd></dd>
 <dt>
-NM_VERSION_1_38, macro in nm-version-macros
+<a href="libnm-nm-version-macros.html#NM-VERSION-1-38:CAPS">NM_VERSION_1_38</a>, macro in nm-version-macros
 </dt>
 <dd></dd>
 <dt>
-NM_VERSION_1_4, macro in nm-version-macros
+<a href="libnm-nm-version-macros.html#NM-VERSION-1-4:CAPS">NM_VERSION_1_4</a>, macro in nm-version-macros
 </dt>
 <dd></dd>
 <dt>
-NM_VERSION_1_40, macro in nm-version-macros
+<a href="libnm-nm-version-macros.html#NM-VERSION-1-40:CAPS">NM_VERSION_1_40</a>, macro in nm-version-macros
 </dt>
 <dd></dd>
 <dt>
-NM_VERSION_1_6, macro in nm-version-macros
+NM_VERSION_1_40_4, macro in nm-version-macros
 </dt>
 <dd></dd>
 <dt>
-NM_VERSION_1_8, macro in nm-version-macros
+<a href="libnm-nm-version-macros.html#NM-VERSION-1-6:CAPS">NM_VERSION_1_6</a>, macro in nm-version-macros
 </dt>
 <dd></dd>
 <dt>
-NM_VERSION_CUR_STABLE, macro in nm-version-macros
+<a href="libnm-nm-version-macros.html#NM-VERSION-1-8:CAPS">NM_VERSION_1_8</a>, macro in nm-version-macros
+</dt>
+<dd></dd>
+<dt>
+<a href="libnm-nm-version-macros.html#NM-VERSION-CUR-STABLE:CAPS">NM_VERSION_CUR_STABLE</a>, macro in nm-version-macros
 </dt>
 <dd></dd>
 <dt>
@@ -14429,7 +14441,7 @@ NM_VERSION_CUR_STABLE, macro in nm-version-macros
 </dt>
 <dd></dd>
 <dt>
-NM_VERSION_NEXT_STABLE, macro in nm-version-macros
+<a href="libnm-nm-version-macros.html#NM-VERSION-NEXT-STABLE:CAPS">NM_VERSION_NEXT_STABLE</a>, macro in nm-version-macros
 </dt>
 <dd></dd>
 <dt>
@@ -14453,11 +14465,11 @@ NM_VERSION_NEXT_STABLE, macro in nm-version-macros
 </dt>
 <dd></dd>
 <dt>
-NM_VPN_DBUS_PLUGIN_INTERFACE, macro in nm-vpn-dbus-interface
+<a href="/usr/share/gtk-doc/html/libnm-util/libnm-util-NetworkManagerVPN.html#NM-VPN-DBUS-PLUGIN-INTERFACE:CAPS">NM_VPN_DBUS_PLUGIN_INTERFACE</a>, macro in nm-vpn-dbus-interface
 </dt>
 <dd></dd>
 <dt>
-NM_VPN_DBUS_PLUGIN_PATH, macro in nm-vpn-dbus-interface
+<a href="/usr/share/gtk-doc/html/libnm-util/libnm-util-NetworkManagerVPN.html#NM-VPN-DBUS-PLUGIN-PATH:CAPS">NM_VPN_DBUS_PLUGIN_PATH</a>, macro in nm-vpn-dbus-interface
 </dt>
 <dd></dd>
 <dt>
@@ -14525,35 +14537,35 @@ NM_VPN_DBUS_PLUGIN_PATH, macro in nm-vpn-dbus-interface
 </dt>
 <dd></dd>
 <dt>
-NM_VPN_PLUGIN_CAN_PERSIST, macro in nm-vpn-dbus-interface
+<a href="/usr/share/gtk-doc/html/libnm-util/libnm-util-NetworkManagerVPN.html#NM-VPN-PLUGIN-CAN-PERSIST:CAPS">NM_VPN_PLUGIN_CAN_PERSIST</a>, macro in nm-vpn-dbus-interface
 </dt>
 <dd></dd>
 <dt>
-NM_VPN_PLUGIN_CONFIG_BANNER, macro in nm-vpn-dbus-interface
+<a href="/usr/share/gtk-doc/html/libnm-util/libnm-util-NetworkManagerVPN.html#NM-VPN-PLUGIN-CONFIG-BANNER:CAPS">NM_VPN_PLUGIN_CONFIG_BANNER</a>, macro in nm-vpn-dbus-interface
 </dt>
 <dd></dd>
 <dt>
-NM_VPN_PLUGIN_CONFIG_EXT_GATEWAY, macro in nm-vpn-dbus-interface
+<a href="/usr/share/gtk-doc/html/libnm-util/libnm-util-NetworkManagerVPN.html#NM-VPN-PLUGIN-CONFIG-EXT-GATEWAY:CAPS">NM_VPN_PLUGIN_CONFIG_EXT_GATEWAY</a>, macro in nm-vpn-dbus-interface
 </dt>
 <dd></dd>
 <dt>
-NM_VPN_PLUGIN_CONFIG_HAS_IP4, macro in nm-vpn-dbus-interface
+<a href="/usr/share/gtk-doc/html/libnm-util/libnm-util-NetworkManagerVPN.html#NM-VPN-PLUGIN-CONFIG-HAS-IP4:CAPS">NM_VPN_PLUGIN_CONFIG_HAS_IP4</a>, macro in nm-vpn-dbus-interface
 </dt>
 <dd></dd>
 <dt>
-NM_VPN_PLUGIN_CONFIG_HAS_IP6, macro in nm-vpn-dbus-interface
+<a href="/usr/share/gtk-doc/html/libnm-util/libnm-util-NetworkManagerVPN.html#NM-VPN-PLUGIN-CONFIG-HAS-IP6:CAPS">NM_VPN_PLUGIN_CONFIG_HAS_IP6</a>, macro in nm-vpn-dbus-interface
 </dt>
 <dd></dd>
 <dt>
-NM_VPN_PLUGIN_CONFIG_MTU, macro in nm-vpn-dbus-interface
+<a href="/usr/share/gtk-doc/html/libnm-util/libnm-util-NetworkManagerVPN.html#NM-VPN-PLUGIN-CONFIG-MTU:CAPS">NM_VPN_PLUGIN_CONFIG_MTU</a>, macro in nm-vpn-dbus-interface
 </dt>
 <dd></dd>
 <dt>
-NM_VPN_PLUGIN_CONFIG_PROXY_PAC, macro in nm-vpn-dbus-interface
+<a href="libnm-nm-vpn-dbus-interface.html#NM-VPN-PLUGIN-CONFIG-PROXY-PAC:CAPS">NM_VPN_PLUGIN_CONFIG_PROXY_PAC</a>, macro in nm-vpn-dbus-interface
 </dt>
 <dd></dd>
 <dt>
-NM_VPN_PLUGIN_CONFIG_TUNDEV, macro in nm-vpn-dbus-interface
+<a href="/usr/share/gtk-doc/html/libnm-util/libnm-util-NetworkManagerVPN.html#NM-VPN-PLUGIN-CONFIG-TUNDEV:CAPS">NM_VPN_PLUGIN_CONFIG_TUNDEV</a>, macro in nm-vpn-dbus-interface
 </dt>
 <dd></dd>
 <dt>
@@ -14689,115 +14701,115 @@ NM_VPN_PLUGIN_CONFIG_TUNDEV, macro in nm-vpn-dbus-interface
 </dt>
 <dd></dd>
 <dt>
-NM_VPN_PLUGIN_IP4_CONFIG_ADDRESS, macro in nm-vpn-dbus-interface
+<a href="/usr/share/gtk-doc/html/libnm-util/libnm-util-NetworkManagerVPN.html#NM-VPN-PLUGIN-IP4-CONFIG-ADDRESS:CAPS">NM_VPN_PLUGIN_IP4_CONFIG_ADDRESS</a>, macro in nm-vpn-dbus-interface
 </dt>
 <dd></dd>
 <dt>
-NM_VPN_PLUGIN_IP4_CONFIG_BANNER, macro in nm-vpn-dbus-interface
+<a href="/usr/share/gtk-doc/html/libnm-util/libnm-util-NetworkManagerVPN.html#NM-VPN-PLUGIN-IP4-CONFIG-BANNER:CAPS">NM_VPN_PLUGIN_IP4_CONFIG_BANNER</a>, macro in nm-vpn-dbus-interface
 </dt>
 <dd></dd>
 <dt>
-NM_VPN_PLUGIN_IP4_CONFIG_DNS, macro in nm-vpn-dbus-interface
+<a href="/usr/share/gtk-doc/html/libnm-util/libnm-util-NetworkManagerVPN.html#NM-VPN-PLUGIN-IP4-CONFIG-DNS:CAPS">NM_VPN_PLUGIN_IP4_CONFIG_DNS</a>, macro in nm-vpn-dbus-interface
 </dt>
 <dd></dd>
 <dt>
-NM_VPN_PLUGIN_IP4_CONFIG_DOMAIN, macro in nm-vpn-dbus-interface
+<a href="/usr/share/gtk-doc/html/libnm-util/libnm-util-NetworkManagerVPN.html#NM-VPN-PLUGIN-IP4-CONFIG-DOMAIN:CAPS">NM_VPN_PLUGIN_IP4_CONFIG_DOMAIN</a>, macro in nm-vpn-dbus-interface
 </dt>
 <dd></dd>
 <dt>
-NM_VPN_PLUGIN_IP4_CONFIG_DOMAINS, macro in nm-vpn-dbus-interface
+<a href="/usr/share/gtk-doc/html/libnm-util/libnm-util-NetworkManagerVPN.html#NM-VPN-PLUGIN-IP4-CONFIG-DOMAINS:CAPS">NM_VPN_PLUGIN_IP4_CONFIG_DOMAINS</a>, macro in nm-vpn-dbus-interface
 </dt>
 <dd></dd>
 <dt>
-NM_VPN_PLUGIN_IP4_CONFIG_EXT_GATEWAY, macro in nm-vpn-dbus-interface
+<a href="/usr/share/gtk-doc/html/libnm-util/libnm-util-NetworkManagerVPN.html#NM-VPN-PLUGIN-IP4-CONFIG-EXT-GATEWAY:CAPS">NM_VPN_PLUGIN_IP4_CONFIG_EXT_GATEWAY</a>, macro in nm-vpn-dbus-interface
 </dt>
 <dd></dd>
 <dt>
-NM_VPN_PLUGIN_IP4_CONFIG_GATEWAY, macro in nm-vpn-dbus-interface
+<a href="/usr/share/gtk-doc/html/libnm-util/libnm-util-NetworkManagerVPN.html#NM-VPN-PLUGIN-IP4-CONFIG-GATEWAY:CAPS">NM_VPN_PLUGIN_IP4_CONFIG_GATEWAY</a>, macro in nm-vpn-dbus-interface
 </dt>
 <dd></dd>
 <dt>
-NM_VPN_PLUGIN_IP4_CONFIG_INT_GATEWAY, macro in nm-vpn-dbus-interface
+<a href="/usr/share/gtk-doc/html/libnm-util/libnm-util-NetworkManagerVPN.html#NM-VPN-PLUGIN-IP4-CONFIG-INT-GATEWAY:CAPS">NM_VPN_PLUGIN_IP4_CONFIG_INT_GATEWAY</a>, macro in nm-vpn-dbus-interface
 </dt>
 <dd></dd>
 <dt>
-NM_VPN_PLUGIN_IP4_CONFIG_MSS, macro in nm-vpn-dbus-interface
+<a href="/usr/share/gtk-doc/html/libnm-util/libnm-util-NetworkManagerVPN.html#NM-VPN-PLUGIN-IP4-CONFIG-MSS:CAPS">NM_VPN_PLUGIN_IP4_CONFIG_MSS</a>, macro in nm-vpn-dbus-interface
 </dt>
 <dd></dd>
 <dt>
-NM_VPN_PLUGIN_IP4_CONFIG_MTU, macro in nm-vpn-dbus-interface
+<a href="/usr/share/gtk-doc/html/libnm-util/libnm-util-NetworkManagerVPN.html#NM-VPN-PLUGIN-IP4-CONFIG-MTU:CAPS">NM_VPN_PLUGIN_IP4_CONFIG_MTU</a>, macro in nm-vpn-dbus-interface
 </dt>
 <dd></dd>
 <dt>
-NM_VPN_PLUGIN_IP4_CONFIG_NBNS, macro in nm-vpn-dbus-interface
+<a href="/usr/share/gtk-doc/html/libnm-util/libnm-util-NetworkManagerVPN.html#NM-VPN-PLUGIN-IP4-CONFIG-NBNS:CAPS">NM_VPN_PLUGIN_IP4_CONFIG_NBNS</a>, macro in nm-vpn-dbus-interface
 </dt>
 <dd></dd>
 <dt>
-NM_VPN_PLUGIN_IP4_CONFIG_NEVER_DEFAULT, macro in nm-vpn-dbus-interface
+<a href="/usr/share/gtk-doc/html/libnm-util/libnm-util-NetworkManagerVPN.html#NM-VPN-PLUGIN-IP4-CONFIG-NEVER-DEFAULT:CAPS">NM_VPN_PLUGIN_IP4_CONFIG_NEVER_DEFAULT</a>, macro in nm-vpn-dbus-interface
 </dt>
 <dd></dd>
 <dt>
-NM_VPN_PLUGIN_IP4_CONFIG_PREFIX, macro in nm-vpn-dbus-interface
+<a href="/usr/share/gtk-doc/html/libnm-util/libnm-util-NetworkManagerVPN.html#NM-VPN-PLUGIN-IP4-CONFIG-PREFIX:CAPS">NM_VPN_PLUGIN_IP4_CONFIG_PREFIX</a>, macro in nm-vpn-dbus-interface
 </dt>
 <dd></dd>
 <dt>
-NM_VPN_PLUGIN_IP4_CONFIG_PRESERVE_ROUTES, macro in nm-vpn-dbus-interface
+<a href="libnm-nm-vpn-dbus-interface.html#NM-VPN-PLUGIN-IP4-CONFIG-PRESERVE-ROUTES:CAPS">NM_VPN_PLUGIN_IP4_CONFIG_PRESERVE_ROUTES</a>, macro in nm-vpn-dbus-interface
 </dt>
 <dd></dd>
 <dt>
-NM_VPN_PLUGIN_IP4_CONFIG_PTP, macro in nm-vpn-dbus-interface
+<a href="/usr/share/gtk-doc/html/libnm-util/libnm-util-NetworkManagerVPN.html#NM-VPN-PLUGIN-IP4-CONFIG-PTP:CAPS">NM_VPN_PLUGIN_IP4_CONFIG_PTP</a>, macro in nm-vpn-dbus-interface
 </dt>
 <dd></dd>
 <dt>
-NM_VPN_PLUGIN_IP4_CONFIG_ROUTES, macro in nm-vpn-dbus-interface
+<a href="/usr/share/gtk-doc/html/libnm-util/libnm-util-NetworkManagerVPN.html#NM-VPN-PLUGIN-IP4-CONFIG-ROUTES:CAPS">NM_VPN_PLUGIN_IP4_CONFIG_ROUTES</a>, macro in nm-vpn-dbus-interface
 </dt>
 <dd></dd>
 <dt>
-NM_VPN_PLUGIN_IP4_CONFIG_TUNDEV, macro in nm-vpn-dbus-interface
+<a href="/usr/share/gtk-doc/html/libnm-util/libnm-util-NetworkManagerVPN.html#NM-VPN-PLUGIN-IP4-CONFIG-TUNDEV:CAPS">NM_VPN_PLUGIN_IP4_CONFIG_TUNDEV</a>, macro in nm-vpn-dbus-interface
 </dt>
 <dd></dd>
 <dt>
-NM_VPN_PLUGIN_IP6_CONFIG_ADDRESS, macro in nm-vpn-dbus-interface
+<a href="/usr/share/gtk-doc/html/libnm-util/libnm-util-NetworkManagerVPN.html#NM-VPN-PLUGIN-IP6-CONFIG-ADDRESS:CAPS">NM_VPN_PLUGIN_IP6_CONFIG_ADDRESS</a>, macro in nm-vpn-dbus-interface
 </dt>
 <dd></dd>
 <dt>
-NM_VPN_PLUGIN_IP6_CONFIG_DNS, macro in nm-vpn-dbus-interface
+<a href="/usr/share/gtk-doc/html/libnm-util/libnm-util-NetworkManagerVPN.html#NM-VPN-PLUGIN-IP6-CONFIG-DNS:CAPS">NM_VPN_PLUGIN_IP6_CONFIG_DNS</a>, macro in nm-vpn-dbus-interface
 </dt>
 <dd></dd>
 <dt>
-NM_VPN_PLUGIN_IP6_CONFIG_DOMAIN, macro in nm-vpn-dbus-interface
+<a href="/usr/share/gtk-doc/html/libnm-util/libnm-util-NetworkManagerVPN.html#NM-VPN-PLUGIN-IP6-CONFIG-DOMAIN:CAPS">NM_VPN_PLUGIN_IP6_CONFIG_DOMAIN</a>, macro in nm-vpn-dbus-interface
 </dt>
 <dd></dd>
 <dt>
-NM_VPN_PLUGIN_IP6_CONFIG_DOMAINS, macro in nm-vpn-dbus-interface
+<a href="/usr/share/gtk-doc/html/libnm-util/libnm-util-NetworkManagerVPN.html#NM-VPN-PLUGIN-IP6-CONFIG-DOMAINS:CAPS">NM_VPN_PLUGIN_IP6_CONFIG_DOMAINS</a>, macro in nm-vpn-dbus-interface
 </dt>
 <dd></dd>
 <dt>
-NM_VPN_PLUGIN_IP6_CONFIG_INT_GATEWAY, macro in nm-vpn-dbus-interface
+<a href="/usr/share/gtk-doc/html/libnm-util/libnm-util-NetworkManagerVPN.html#NM-VPN-PLUGIN-IP6-CONFIG-INT-GATEWAY:CAPS">NM_VPN_PLUGIN_IP6_CONFIG_INT_GATEWAY</a>, macro in nm-vpn-dbus-interface
 </dt>
 <dd></dd>
 <dt>
-NM_VPN_PLUGIN_IP6_CONFIG_MSS, macro in nm-vpn-dbus-interface
+<a href="/usr/share/gtk-doc/html/libnm-util/libnm-util-NetworkManagerVPN.html#NM-VPN-PLUGIN-IP6-CONFIG-MSS:CAPS">NM_VPN_PLUGIN_IP6_CONFIG_MSS</a>, macro in nm-vpn-dbus-interface
 </dt>
 <dd></dd>
 <dt>
-NM_VPN_PLUGIN_IP6_CONFIG_NEVER_DEFAULT, macro in nm-vpn-dbus-interface
+<a href="/usr/share/gtk-doc/html/libnm-util/libnm-util-NetworkManagerVPN.html#NM-VPN-PLUGIN-IP6-CONFIG-NEVER-DEFAULT:CAPS">NM_VPN_PLUGIN_IP6_CONFIG_NEVER_DEFAULT</a>, macro in nm-vpn-dbus-interface
 </dt>
 <dd></dd>
 <dt>
-NM_VPN_PLUGIN_IP6_CONFIG_PREFIX, macro in nm-vpn-dbus-interface
+<a href="/usr/share/gtk-doc/html/libnm-util/libnm-util-NetworkManagerVPN.html#NM-VPN-PLUGIN-IP6-CONFIG-PREFIX:CAPS">NM_VPN_PLUGIN_IP6_CONFIG_PREFIX</a>, macro in nm-vpn-dbus-interface
 </dt>
 <dd></dd>
 <dt>
-NM_VPN_PLUGIN_IP6_CONFIG_PRESERVE_ROUTES, macro in nm-vpn-dbus-interface
+<a href="libnm-nm-vpn-dbus-interface.html#NM-VPN-PLUGIN-IP6-CONFIG-PRESERVE-ROUTES:CAPS">NM_VPN_PLUGIN_IP6_CONFIG_PRESERVE_ROUTES</a>, macro in nm-vpn-dbus-interface
 </dt>
 <dd></dd>
 <dt>
-NM_VPN_PLUGIN_IP6_CONFIG_PTP, macro in nm-vpn-dbus-interface
+<a href="/usr/share/gtk-doc/html/libnm-util/libnm-util-NetworkManagerVPN.html#NM-VPN-PLUGIN-IP6-CONFIG-PTP:CAPS">NM_VPN_PLUGIN_IP6_CONFIG_PTP</a>, macro in nm-vpn-dbus-interface
 </dt>
 <dd></dd>
 <dt>
-NM_VPN_PLUGIN_IP6_CONFIG_ROUTES, macro in nm-vpn-dbus-interface
+<a href="/usr/share/gtk-doc/html/libnm-util/libnm-util-NetworkManagerVPN.html#NM-VPN-PLUGIN-IP6-CONFIG-ROUTES:CAPS">NM_VPN_PLUGIN_IP6_CONFIG_ROUTES</a>, macro in nm-vpn-dbus-interface
 </dt>
 <dd></dd>
 <dt>
@@ -14833,18 +14845,10 @@ NM_VPN_PLUGIN_IP6_CONFIG_ROUTES, macro in nm-vpn-dbus-interface
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="NMVpnPluginOld.html#nm-vpn-plugin-old-set-config" title="nm_vpn_plugin_old_set_config ()">nm_vpn_plugin_old_set_config</a>, function in <a class="link" href="NMVpnPluginOld.html" title="NMVpnPluginOld">NMVpnPluginOld</a>
-</dt>
-<dd></dd>
-<dt>
 <a class="link" href="NMVpnPluginOld.html#nm-vpn-plugin-old-set-ip4-config" title="nm_vpn_plugin_old_set_ip4_config ()">nm_vpn_plugin_old_set_ip4_config</a>, function in <a class="link" href="NMVpnPluginOld.html" title="NMVpnPluginOld">NMVpnPluginOld</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="NMVpnPluginOld.html#nm-vpn-plugin-old-set-ip6-config" title="nm_vpn_plugin_old_set_ip6_config ()">nm_vpn_plugin_old_set_ip6_config</a>, function in <a class="link" href="NMVpnPluginOld.html" title="NMVpnPluginOld">NMVpnPluginOld</a>
-</dt>
-<dd></dd>
-<dt>
 <a class="link" href="NMVpnPluginOld.html#nm-vpn-plugin-old-set-login-banner" title="nm_vpn_plugin_old_set_login_banner ()">nm_vpn_plugin_old_set_login_banner</a>, function in <a class="link" href="NMVpnPluginOld.html" title="NMVpnPluginOld">NMVpnPluginOld</a>
 </dt>
 <dd></dd>
diff --git a/docs/libnm/html/index.html b/docs/libnm/html/index.html
index f9ea840b..b8099088 100644
--- a/docs/libnm/html/index.html
+++ b/docs/libnm/html/index.html
@@ -15,7 +15,7 @@
 <div>
 <div><table class="navigation" id="top" width="100%" cellpadding="2" cellspacing="0"><tr><th valign="middle"><p class="title">libnm Reference Manual</p></th></tr></table></div>
 <div><p class="releaseinfo">
-      for libnm 1.40.0
+      for libnm 1.40.6
 
       The latest version of this documentation can be found on-line at
       <a class="ulink" href="https://networkmanager.dev/docs/libnm/latest/" target="_top">https://networkmanager.dev/docs/libnm/latest/</a>.
diff --git a/docs/libnm/html/libnm-nm-dbus-interface.html b/docs/libnm/html/libnm-nm-dbus-interface.html
index 36eb69f8..4db42937 100644
--- a/docs/libnm/html/libnm-nm-dbus-interface.html
+++ b/docs/libnm/html/libnm-nm-dbus-interface.html
@@ -960,6 +960,7 @@ is loaded. Since: 1.24.</p>
 </tbody>
 </table></div>
 </div>
+<p class="since">Since: 1.6</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -3312,7 +3313,7 @@ behavior. Since: 1.38.</p>
 </tbody>
 </table></div>
 </div>
-<p class="since">Since: 1.4 (gi flags generated since 1.12)</p>
+<p class="since">Since: 1.12 (public since 1.4, g-ir since 1.12)</p>
 </div>
 <hr>
 <div class="refsect2">
diff --git a/docs/libnm/html/libnm-nm-errors.html b/docs/libnm/html/libnm-nm-errors.html
index 6b16ef3a..7e8b4ede 100644
--- a/docs/libnm/html/libnm-nm-errors.html
+++ b/docs/libnm/html/libnm-nm-errors.html
@@ -254,7 +254,7 @@ nm_vpn_plugin_error_quark (<em class="parameter"><code><span class="type">void</
 <a name="NMAgentManagerError"></a><h3>enum NMAgentManagerError</h3>
 <p>Errors returned from the secret-agent manager.</p>
 <p>These errors may be returned from operations that could cause secrets to be
-requested (such as <code class="function">nm_client_activate_connection()</code>), and correspond to D-Bus
+requested (such as <a href="/usr/share/gtk-doc/html/libnm-glib/NMClient.html#nm-client-activate-connection"><code class="function">nm_client_activate_connection()</code></a>), and correspond to D-Bus
 errors in the "org.freedesktop.NetworkManager.AgentManager" namespace.</p>
 <div class="refsect3">
 <a name="NMAgentManagerError.members"></a><h4>Members</h4>
@@ -326,7 +326,7 @@ request</p>
 <div class="refsect2">
 <a name="NMConnectionError"></a><h3>enum NMConnectionError</h3>
 <p>Describes errors that may result from operations involving a <a class="link" href="NMConnection.html" title="NMConnection"><span class="type">NMConnection</span></a>
-or its <span class="type">NMSettings</span>.</p>
+or its <a href="/usr/share/gtk-doc/html/libnm-util/NMSetting.html#NMSetting-struct"><span class="type">NMSettings</span></a>.</p>
 <p>These errors may be returned directly from <a class="link" href="NMConnection.html" title="NMConnection"><span class="type">NMConnection</span></a> and <a class="link" href="NMSetting.html" title="NMSetting"><span class="type">NMSetting</span></a>
 methods, or may be returned from D-Bus operations (eg on <a class="link" href="NMClient.html" title="NMClient"><span class="type">NMClient</span></a> or
 <a class="link" href="NMDevice.html" title="NMDevice"><span class="type">NMDevice</span></a>), where they correspond to errors in the
@@ -737,7 +737,7 @@ activation but is not available.</p>
 when they encounter problems retrieving secrets on behalf of NM. They
 correspond to errors in the "org.freedesktop.NetworkManager.SecretManager"
 namespace.</p>
-<p>Client APIs such as <code class="function">nm_client_activate_connection()</code> will not see these error
+<p>Client APIs such as <a href="/usr/share/gtk-doc/html/libnm-glib/NMClient.html#nm-client-activate-connection"><code class="function">nm_client_activate_connection()</code></a> will not see these error
 codes; instead, the secret agent manager will translate them to the
 corresponding <a class="link" href="libnm-nm-errors.html#NMAgentManagerError" title="enum NMAgentManagerError"><span class="type">NMAgentManagerError</span></a> codes.</p>
 <div class="refsect3">
diff --git a/docs/libnm/html/libnm-nm-utils.html b/docs/libnm/html/libnm-nm-utils.html
index 42861d79..1eab93bc 100644
--- a/docs/libnm/html/libnm-nm-utils.html
+++ b/docs/libnm/html/libnm-nm-utils.html
@@ -1594,6 +1594,7 @@ include additional attributes.</p>
 . </p>
 <p><span class="annotation">[<acronym title="The data is owned by the callee, which is responsible of freeing it."><span class="acronym">transfer none</span></acronym>]</span></p>
 </div>
+<p class="since">Since: 1.42, 1.40.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1633,6 +1634,7 @@ objects.</p>
 <a href="https://developer.gnome.org/glib/unstable/glib-Pointer-Arrays.html#GPtrArray"><span class="type">GPtrArray</span></a> of <a class="link" href="NMSettingIPConfig.html#NMIPAddress"><span class="type">NMIPAddress</span></a> objects. </p>
 <p><span class="annotation">[<acronym title="The caller owns the data, and is responsible for free it."><span class="acronym">transfer full</span></acronym>][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> NMIPAddress]</span></p>
 </div>
+<p class="since">Since: 1.42, 1.40.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1664,6 +1666,7 @@ prefix, next hop, metric, and additional attributes).</p>
 . </p>
 <p><span class="annotation">[<acronym title="The data is owned by the callee, which is responsible of freeing it."><span class="acronym">transfer none</span></acronym>]</span></p>
 </div>
+<p class="since">Since: 1.42, 1.40.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1703,6 +1706,7 @@ prefix, next hop, metric, and additional attributes) into a <a href="https://dev
 <a href="https://developer.gnome.org/glib/unstable/glib-Pointer-Arrays.html#GPtrArray"><span class="type">GPtrArray</span></a> of <a class="link" href="NMSettingIPConfig.html#NMIPRoute"><span class="type">NMIPRoute</span></a> objects. </p>
 <p><span class="annotation">[<acronym title="The caller owns the data, and is responsible for free it."><span class="acronym">transfer full</span></acronym>][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> NMIPRoute]</span></p>
 </div>
+<p class="since">Since: 1.42, 1.40.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1712,7 +1716,7 @@ nm_utils_uuid_generate (<em class="parameter"><code><span class="type">void</spa
 <div class="refsect3">
 <a name="nm-utils-uuid-generate.returns"></a><h4>Returns</h4>
 <p> a newly allocated UUID suitable for use as the <a class="link" href="NMSettingConnection.html" title="NMSettingConnection"><span class="type">NMSettingConnection</span></a>
-object's <span class="type">“idâ€</span>: property.  Should be freed with <a href="https://developer.gnome.org/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a></p>
+object's <a href="/usr/share/gtk-doc/html/libnm-util/NMSettingConnection.html#NMSettingConnection--id"><span class="type">“idâ€</span></a>: property.  Should be freed with <a href="https://developer.gnome.org/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a></p>
 </div>
 </div>
 <hr>
@@ -2476,6 +2480,7 @@ function in net/core/dev.c.</p>
 argument. If you
 want to run against older versions of libnm, don't pass <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p>
 </div>
+<p class="since">Since: 1.6</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -2901,10 +2906,10 @@ or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#
 nm_utils_version (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
 <div class="refsect3">
 <a name="nm-utils-version.returns"></a><h4>Returns</h4>
-<p> the version ID of the libnm version. That is, the <code class="literal">NM_VERSION</code>
+<p> the version ID of the libnm version. That is, the <a href="libnm-nm-version-macros.html#NM-VERSION:CAPS"><code class="literal">NM_VERSION</code></a>
 at runtime.</p>
 </div>
-<p class="since">Since: 1.6.0</p>
+<p class="since">Since: 1.6</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -2976,6 +2981,41 @@ the one of the hash table first. </p>
 nm_utils_format_variant_attributes (<em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Hash-Tables.html#GHashTable"><span class="type">GHashTable</span></a> *attributes</code></em>,
                                     <em class="parameter"><code><span class="type">char</span> attr_separator</code></em>,
                                     <em class="parameter"><code><span class="type">char</span> key_value_separator</code></em>);</pre>
+<p>Format attributes to a string.</p>
+<div class="refsect3">
+<a name="nm-utils-format-variant-attributes.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>attributes</p></td>
+<td class="parameter_description"><p>a <a href="https://developer.gnome.org/glib/unstable/glib-Hash-Tables.html#GHashTable"><span class="type">GHashTable</span></a> mapping attribute names to <a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> values. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> utf8 GVariant]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>attr_separator</p></td>
+<td class="parameter_description"><p>the attribute separator character</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>key_value_separator</p></td>
+<td class="parameter_description"><p>character separating key and values</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="nm-utils-format-variant-attributes.returns"></a><h4>Returns</h4>
+<p>the string representing attributes, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>
+in case there are no attributes. </p>
+<p><span class="annotation">[<acronym title="The caller owns the data, and is responsible for free it."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+<p class="since">Since: 1.8</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -3275,6 +3315,12 @@ nm_utils_sriov_vf_from_str (<em class="parameter"><code>const <span class="type"
 <a name="nm-utils-get-timestamp-msec"></a><h3>nm_utils_get_timestamp_msec ()</h3>
 <pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gint64"><span class="returnvalue">gint64</span></a>
 nm_utils_get_timestamp_msec (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
+<p>Gets current time in milliseconds of CLOCK_BOOTTIME.</p>
+<div class="refsect3">
+<a name="nm-utils-get-timestamp-msec.returns"></a><h4>Returns</h4>
+<p> time in milliseconds</p>
+</div>
+<p class="since">Since: 1.12</p>
 </div>
 <hr>
 <div class="refsect2">
diff --git a/docs/libnm/html/libnm-nm-version.html b/docs/libnm/html/libnm-nm-version.html
index b6c12280..7db7a856 100644
--- a/docs/libnm/html/libnm-nm-version.html
+++ b/docs/libnm/html/libnm-nm-version.html
@@ -119,10 +119,10 @@
 </tr>
 <tr>
 <td class="function_type">
-<span class="returnvalue">4</span>
+<span class="returnvalue">0</span>
 </td>
 <td class="function_name">
-<a class="link" href="NMDevice6Lowpan.html#NM-DEPRECATED-IN-1-24-FOR:CAPS" title="NM_DEPRECATED_IN_1_24_FOR ()">NM_DEPRECATED_IN_1_24_FOR</a> <span class="c_punctuation">()</span>
+<a class="link" href="NMDeviceDummy.html#NM-DEPRECATED-IN-1-24-FOR:CAPS" title="NM_DEPRECATED_IN_1_24_FOR ()">NM_DEPRECATED_IN_1_24_FOR</a> <span class="c_punctuation">()</span>
 </td>
 </tr>
 <tr>
@@ -368,6 +368,10 @@
 <td class="define_keyword">#define</td>
 <td class="function_name"><a class="link" href="libnm-nm-version.html#NM-AVAILABLE-IN-1-40:CAPS" title="NM_AVAILABLE_IN_1_40">NM_AVAILABLE_IN_1_40</a></td>
 </tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="libnm-nm-version.html#NM-AVAILABLE-IN-1-40-4:CAPS" title="NM_AVAILABLE_IN_1_40_4">NM_AVAILABLE_IN_1_40_4</a></td>
+</tr>
 </tbody>
 </table></div>
 </div>
@@ -455,7 +459,7 @@
 <hr>
 <div class="refsect2">
 <a name="NM-DEPRECATED-IN-1-24-FOR:CAPS"></a><h3>NM_DEPRECATED_IN_1_24_FOR ()</h3>
-<pre class="programlisting"><span class="returnvalue">4</span>
+<pre class="programlisting"><span class="returnvalue">0</span>
 NM_DEPRECATED_IN_1_24_FOR ();</pre>
 <div class="warning"><p><code class="literal">NM_DEPRECATED_IN_1_24_FOR</code> is deprecated and should not be used in newly-written code.</p></div>
 </div>
@@ -783,6 +787,12 @@ NM_DEPRECATED_IN_1_24_FOR ();</pre>
 <pre class="programlisting">#define NM_AVAILABLE_IN_1_40 G_UNAVAILABLE(1, 40)
 </pre>
 </div>
+<hr>
+<div class="refsect2">
+<a name="NM-AVAILABLE-IN-1-40-4:CAPS"></a><h3>NM_AVAILABLE_IN_1_40_4</h3>
+<pre class="programlisting">#define NM_AVAILABLE_IN_1_40_4 G_UNAVAILABLE(1, 40.4)
+</pre>
+</div>
 </div>
 </div>
 <div class="footer">
diff --git a/docs/libnm/html/libnm.devhelp2 b/docs/libnm/html/libnm.devhelp2
index 18e1826c..c3b8145c 100644
--- a/docs/libnm/html/libnm.devhelp2
+++ b/docs/libnm/html/libnm.devhelp2
@@ -190,7 +190,7 @@
     <keyword type="function" name="nm_client_add_and_activate_connection_async ()" link="NMClient.html#nm-client-add-and-activate-connection-async"/>
     <keyword type="function" name="nm_client_add_and_activate_connection_finish ()" link="NMClient.html#nm-client-add-and-activate-connection-finish"/>
     <keyword type="function" name="nm_client_add_and_activate_connection2 ()" link="NMClient.html#nm-client-add-and-activate-connection2" since="1.16"/>
-    <keyword type="function" name="nm_client_add_and_activate_connection2_finish ()" link="NMClient.html#nm-client-add-and-activate-connection2-finish"/>
+    <keyword type="function" name="nm_client_add_and_activate_connection2_finish ()" link="NMClient.html#nm-client-add-and-activate-connection2-finish" since="1.16"/>
     <keyword type="function" name="nm_client_deactivate_connection ()" link="NMClient.html#nm-client-deactivate-connection" deprecated="1.22: Use nm_client_deactivate_connection_async() or GDBusConnection."/>
     <keyword type="function" name="nm_client_deactivate_connection_async ()" link="NMClient.html#nm-client-deactivate-connection-async"/>
     <keyword type="function" name="nm_client_deactivate_connection_finish ()" link="NMClient.html#nm-client-deactivate-connection-finish"/>
@@ -276,6 +276,7 @@
     <keyword type="macro" name="NM_CLIENT_ACTIVE_CONNECTION_REMOVED" link="NMClient.html#NM-CLIENT-ACTIVE-CONNECTION-REMOVED:CAPS"/>
     <keyword type="enum" name="enum NMClientError" link="NMClient.html#NMClientError"/>
     <keyword type="macro" name="NM_CLIENT_ERROR" link="NMClient.html#NM-CLIENT-ERROR:CAPS"/>
+    <keyword type="typedef" name="NMDnsEntry" link="NMClient.html#NMDnsEntry" since="1.6"/>
     <keyword type="struct" name="NMClient" link="NMClient.html#NMClient-struct"/>
     <keyword type="property" name="The “activating-connection†property" link="NMClient.html#NMClient--activating-connection"/>
     <keyword type="property" name="The “active-connections†property" link="NMClient.html#NMClient--active-connections"/>
@@ -441,7 +442,7 @@
     <keyword type="macro" name="NM_DBUS_PATH_SECRET_AGENT" link="libnm-nm-dbus-interface.html#NM-DBUS-PATH-SECRET-AGENT:CAPS"/>
     <keyword type="macro" name="NM_DBUS_INTERFACE_DNS_MANAGER" link="libnm-nm-dbus-interface.html#NM-DBUS-INTERFACE-DNS-MANAGER:CAPS"/>
     <keyword type="macro" name="NM_DBUS_PATH_DNS_MANAGER" link="libnm-nm-dbus-interface.html#NM-DBUS-PATH-DNS-MANAGER:CAPS"/>
-    <keyword type="enum" name="enum NMCapability" link="libnm-nm-dbus-interface.html#NMCapability"/>
+    <keyword type="enum" name="enum NMCapability" link="libnm-nm-dbus-interface.html#NMCapability" since="1.6"/>
     <keyword type="enum" name="enum NMState" link="libnm-nm-dbus-interface.html#NMState"/>
     <keyword type="enum" name="enum NMConnectivityState" link="libnm-nm-dbus-interface.html#NMConnectivityState"/>
     <keyword type="enum" name="enum NMDeviceType" link="libnm-nm-dbus-interface.html#NMDeviceType"/>
@@ -487,7 +488,7 @@
     <keyword type="macro" name="NM_LLDP_DEST_NEAREST_NON_TPMR_BRIDGE" link="libnm-nm-dbus-interface.html#NM-LLDP-DEST-NEAREST-NON-TPMR-BRIDGE:CAPS"/>
     <keyword type="macro" name="NM_LLDP_DEST_NEAREST_CUSTOMER_BRIDGE" link="libnm-nm-dbus-interface.html#NM-LLDP-DEST-NEAREST-CUSTOMER-BRIDGE:CAPS"/>
     <keyword type="enum" name="enum NMIPTunnelMode" link="libnm-nm-dbus-interface.html#NMIPTunnelMode" since="1.2"/>
-    <keyword type="enum" name="enum NMCheckpointCreateFlags" link="libnm-nm-dbus-interface.html#NMCheckpointCreateFlags" since="1.4 (gi flags generated since 1.12)"/>
+    <keyword type="enum" name="enum NMCheckpointCreateFlags" link="libnm-nm-dbus-interface.html#NMCheckpointCreateFlags" since="1.12 (public since 1.4, g-ir since 1.12)"/>
     <keyword type="enum" name="enum NMRollbackResult" link="libnm-nm-dbus-interface.html#NMRollbackResult" since="1.4"/>
     <keyword type="enum" name="enum NMSettingsConnectionFlags" link="libnm-nm-dbus-interface.html#NMSettingsConnectionFlags" since="1.12"/>
     <keyword type="enum" name="enum NMActivationStateFlags" link="libnm-nm-dbus-interface.html#NMActivationStateFlags" since="1.10"/>
@@ -549,16 +550,16 @@
     <keyword type="function" name="nm_connection_get_setting_macsec ()" link="NMConnection.html#nm-connection-get-setting-macsec" since="1.6"/>
     <keyword type="function" name="nm_connection_get_setting_macvlan ()" link="NMConnection.html#nm-connection-get-setting-macvlan" since="1.2"/>
     <keyword type="function" name="nm_connection_get_setting_olpc_mesh ()" link="NMConnection.html#nm-connection-get-setting-olpc-mesh"/>
-    <keyword type="function" name="nm_connection_get_setting_ovs_bridge ()" link="NMConnection.html#nm-connection-get-setting-ovs-bridge" since="1.10"/>
-    <keyword type="function" name="nm_connection_get_setting_ovs_interface ()" link="NMConnection.html#nm-connection-get-setting-ovs-interface" since="1.10"/>
-    <keyword type="function" name="nm_connection_get_setting_ovs_patch ()" link="NMConnection.html#nm-connection-get-setting-ovs-patch" since="1.10"/>
-    <keyword type="function" name="nm_connection_get_setting_ovs_port ()" link="NMConnection.html#nm-connection-get-setting-ovs-port" since="1.10"/>
+    <keyword type="function" name="nm_connection_get_setting_ovs_bridge ()" link="NMConnection.html#nm-connection-get-setting-ovs-bridge" since="1.14"/>
+    <keyword type="function" name="nm_connection_get_setting_ovs_interface ()" link="NMConnection.html#nm-connection-get-setting-ovs-interface" since="1.14"/>
+    <keyword type="function" name="nm_connection_get_setting_ovs_patch ()" link="NMConnection.html#nm-connection-get-setting-ovs-patch" since="1.14"/>
+    <keyword type="function" name="nm_connection_get_setting_ovs_port ()" link="NMConnection.html#nm-connection-get-setting-ovs-port" since="1.14"/>
     <keyword type="function" name="nm_connection_get_setting_ppp ()" link="NMConnection.html#nm-connection-get-setting-ppp"/>
     <keyword type="function" name="nm_connection_get_setting_pppoe ()" link="NMConnection.html#nm-connection-get-setting-pppoe"/>
     <keyword type="function" name="nm_connection_get_setting_proxy ()" link="NMConnection.html#nm-connection-get-setting-proxy" since="1.6"/>
     <keyword type="function" name="nm_connection_get_setting_serial ()" link="NMConnection.html#nm-connection-get-setting-serial"/>
     <keyword type="function" name="nm_connection_get_setting_tc_config ()" link="NMConnection.html#nm-connection-get-setting-tc-config" since="1.12"/>
-    <keyword type="function" name="nm_connection_get_setting_tun ()" link="NMConnection.html#nm-connection-get-setting-tun" since="1.2"/>
+    <keyword type="function" name="nm_connection_get_setting_tun ()" link="NMConnection.html#nm-connection-get-setting-tun" since="1.14"/>
     <keyword type="function" name="nm_connection_get_setting_vpn ()" link="NMConnection.html#nm-connection-get-setting-vpn"/>
     <keyword type="function" name="nm_connection_get_setting_wimax ()" link="NMConnection.html#nm-connection-get-setting-wimax"/>
     <keyword type="function" name="nm_connection_get_setting_adsl ()" link="NMConnection.html#nm-connection-get-setting-adsl"/>
@@ -579,7 +580,7 @@
     <keyword type="function" name="nm_simple_connection_new_from_dbus ()" link="NMSimpleConnection.html#nm-simple-connection-new-from-dbus"/>
     <keyword type="function" name="nm_simple_connection_new_clone ()" link="NMSimpleConnection.html#nm-simple-connection-new-clone"/>
     <keyword type="function" name="nm_remote_connection_update2 ()" link="NMRemoteConnection.html#nm-remote-connection-update2" since="1.12"/>
-    <keyword type="function" name="nm_remote_connection_update2_finish ()" link="NMRemoteConnection.html#nm-remote-connection-update2-finish"/>
+    <keyword type="function" name="nm_remote_connection_update2_finish ()" link="NMRemoteConnection.html#nm-remote-connection-update2-finish" since="1.12"/>
     <keyword type="function" name="nm_remote_connection_commit_changes ()" link="NMRemoteConnection.html#nm-remote-connection-commit-changes" deprecated="1.22: Use nm_remote_connection_commit_changes_async() or GDBusConnection."/>
     <keyword type="function" name="nm_remote_connection_commit_changes_async ()" link="NMRemoteConnection.html#nm-remote-connection-commit-changes-async"/>
     <keyword type="function" name="nm_remote_connection_commit_changes_finish ()" link="NMRemoteConnection.html#nm-remote-connection-commit-changes-finish"/>
@@ -621,7 +622,7 @@
     <keyword type="function" name="nm_setting_to_string ()" link="NMSetting.html#nm-setting-to-string"/>
     <keyword type="function" name="nm_setting_get_secret_flags ()" link="NMSetting.html#nm-setting-get-secret-flags"/>
     <keyword type="function" name="nm_setting_set_secret_flags ()" link="NMSetting.html#nm-setting-set-secret-flags"/>
-    <keyword type="function" name="nm_setting_option_get ()" link="NMSetting.html#nm-setting-option-get" since="1.26."/>
+    <keyword type="function" name="nm_setting_option_get ()" link="NMSetting.html#nm-setting-option-get" since="1.26"/>
     <keyword type="function" name="nm_setting_option_get_boolean ()" link="NMSetting.html#nm-setting-option-get-boolean" since="1.26"/>
     <keyword type="function" name="nm_setting_option_get_uint32 ()" link="NMSetting.html#nm-setting-option-get-uint32" since="1.26"/>
     <keyword type="function" name="nm_setting_option_set ()" link="NMSetting.html#nm-setting-option-set" since="1.26"/>
@@ -636,7 +637,7 @@
     <keyword type="macro" name="NM_SETTING_NAME" link="NMSetting.html#NM-SETTING-NAME:CAPS"/>
     <keyword type="enum" name="enum NMSettingSecretFlags" link="NMSetting.html#NMSettingSecretFlags"/>
     <keyword type="enum" name="enum NMSettingCompareFlags" link="NMSetting.html#NMSettingCompareFlags"/>
-    <keyword type="enum" name="enum NMSettingMacRandomization" link="NMSetting.html#NMSettingMacRandomization"/>
+    <keyword type="enum" name="enum NMSettingMacRandomization" link="NMSetting.html#NMSettingMacRandomization" since="1.2"/>
     <keyword type="enum" name="enum NMSettingDiffResult" link="NMSetting.html#NMSettingDiffResult"/>
     <keyword type="function" name="nm_setting_connection_new ()" link="NMSettingConnection.html#nm-setting-connection-new"/>
     <keyword type="function" name="nm_setting_connection_get_id ()" link="NMSettingConnection.html#nm-setting-connection-get-id"/>
@@ -673,7 +674,7 @@
     <keyword type="function" name="nm_setting_connection_get_mdns ()" link="NMSettingConnection.html#nm-setting-connection-get-mdns" since="1.12"/>
     <keyword type="function" name="nm_setting_connection_get_llmnr ()" link="NMSettingConnection.html#nm-setting-connection-get-llmnr" since="1.14"/>
     <keyword type="function" name="nm_setting_connection_get_dns_over_tls ()" link="NMSettingConnection.html#nm-setting-connection-get-dns-over-tls" since="1.34"/>
-    <keyword type="function" name="nm_setting_connection_get_mptcp_flags ()" link="NMSettingConnection.html#nm-setting-connection-get-mptcp-flags" since="1.40"/>
+    <keyword type="function" name="nm_setting_connection_get_mptcp_flags ()" link="NMSettingConnection.html#nm-setting-connection-get-mptcp-flags" since="1.42, 1.40.4"/>
     <keyword type="function" name="nm_setting_connection_get_wait_device_timeout ()" link="NMSettingConnection.html#nm-setting-connection-get-wait-device-timeout" since="1.20"/>
     <keyword type="function" name="nm_setting_connection_get_wait_activation_delay ()" link="NMSettingConnection.html#nm-setting-connection-get-wait-activation-delay" since="1.40"/>
     <keyword type="function" name="nm_setting_connection_get_mud_url ()" link="NMSettingConnection.html#nm-setting-connection-get-mud-url" since="1.26"/>
@@ -709,13 +710,13 @@
     <keyword type="macro" name="NM_SETTING_CONNECTION_WAIT_DEVICE_TIMEOUT" link="NMSettingConnection.html#NM-SETTING-CONNECTION-WAIT-DEVICE-TIMEOUT:CAPS"/>
     <keyword type="macro" name="NM_SETTING_CONNECTION_MUD_URL" link="NMSettingConnection.html#NM-SETTING-CONNECTION-MUD-URL:CAPS"/>
     <keyword type="macro" name="NM_SETTING_CONNECTION_WAIT_ACTIVATION_DELAY" link="NMSettingConnection.html#NM-SETTING-CONNECTION-WAIT-ACTIVATION-DELAY:CAPS"/>
-    <keyword type="enum" name="enum NMSettingConnectionAutoconnectSlaves" link="NMSettingConnection.html#NMSettingConnectionAutoconnectSlaves"/>
-    <keyword type="enum" name="enum NMSettingConnectionLldp" link="NMSettingConnection.html#NMSettingConnectionLldp"/>
+    <keyword type="enum" name="enum NMSettingConnectionAutoconnectSlaves" link="NMSettingConnection.html#NMSettingConnectionAutoconnectSlaves" since="1.2"/>
+    <keyword type="enum" name="enum NMSettingConnectionLldp" link="NMSettingConnection.html#NMSettingConnectionLldp" since="1.2"/>
     <keyword type="enum" name="enum NMSettingConnectionMdns" link="NMSettingConnection.html#NMSettingConnectionMdns" since="1.12"/>
     <keyword type="enum" name="enum NMSettingConnectionLlmnr" link="NMSettingConnection.html#NMSettingConnectionLlmnr" since="1.14"/>
     <keyword type="enum" name="enum NMSettingConnectionDnsOverTls" link="NMSettingConnection.html#NMSettingConnectionDnsOverTls" since="1.34"/>
-    <keyword type="function" name="nm_setting_6lowpan_new ()" link="NMSetting6Lowpan.html#nm-setting-6lowpan-new" since="1.14"/>
-    <keyword type="function" name="nm_setting_6lowpan_get_parent ()" link="NMSetting6Lowpan.html#nm-setting-6lowpan-get-parent" since="1.14"/>
+    <keyword type="function" name="nm_setting_6lowpan_new ()" link="NMSetting6Lowpan.html#nm-setting-6lowpan-new" since="1.42, 1.40.4"/>
+    <keyword type="function" name="nm_setting_6lowpan_get_parent ()" link="NMSetting6Lowpan.html#nm-setting-6lowpan-get-parent" since="1.42, 1.40.4"/>
     <keyword type="macro" name="NM_SETTING_6LOWPAN_SETTING_NAME" link="NMSetting6Lowpan.html#NM-SETTING-6LOWPAN-SETTING-NAME:CAPS"/>
     <keyword type="macro" name="NM_SETTING_6LOWPAN_PARENT" link="NMSetting6Lowpan.html#NM-SETTING-6LOWPAN-PARENT:CAPS"/>
     <keyword type="function" name="nm_setting_802_1x_new ()" link="NMSetting8021x.html#nm-setting-802-1x-new"/>
@@ -982,21 +983,21 @@
     <keyword type="function" name="nm_bridge_vlan_is_pvid ()" link="NMSettingBridge.html#nm-bridge-vlan-is-pvid" since="1.18"/>
     <keyword type="function" name="nm_bridge_vlan_to_str ()" link="NMSettingBridge.html#nm-bridge-vlan-to-str" since="1.18"/>
     <keyword type="function" name="nm_bridge_vlan_from_str ()" link="NMSettingBridge.html#nm-bridge-vlan-from-str" since="1.18"/>
-    <keyword type="function" name="nm_setting_bridge_get_group_address ()" link="NMSettingBridge.html#nm-setting-bridge-get-group-address"/>
-    <keyword type="function" name="nm_setting_bridge_get_vlan_protocol ()" link="NMSettingBridge.html#nm-setting-bridge-get-vlan-protocol"/>
-    <keyword type="function" name="nm_setting_bridge_get_vlan_stats_enabled ()" link="NMSettingBridge.html#nm-setting-bridge-get-vlan-stats-enabled"/>
-    <keyword type="function" name="nm_setting_bridge_get_multicast_router ()" link="NMSettingBridge.html#nm-setting-bridge-get-multicast-router"/>
-    <keyword type="function" name="nm_setting_bridge_get_multicast_query_use_ifaddr ()" link="NMSettingBridge.html#nm-setting-bridge-get-multicast-query-use-ifaddr"/>
-    <keyword type="function" name="nm_setting_bridge_get_multicast_querier ()" link="NMSettingBridge.html#nm-setting-bridge-get-multicast-querier"/>
-    <keyword type="function" name="nm_setting_bridge_get_multicast_hash_max ()" link="NMSettingBridge.html#nm-setting-bridge-get-multicast-hash-max"/>
-    <keyword type="function" name="nm_setting_bridge_get_multicast_last_member_count ()" link="NMSettingBridge.html#nm-setting-bridge-get-multicast-last-member-count"/>
-    <keyword type="function" name="nm_setting_bridge_get_multicast_last_member_interval ()" link="NMSettingBridge.html#nm-setting-bridge-get-multicast-last-member-interval"/>
-    <keyword type="function" name="nm_setting_bridge_get_multicast_membership_interval ()" link="NMSettingBridge.html#nm-setting-bridge-get-multicast-membership-interval"/>
-    <keyword type="function" name="nm_setting_bridge_get_multicast_querier_interval ()" link="NMSettingBridge.html#nm-setting-bridge-get-multicast-querier-interval"/>
-    <keyword type="function" name="nm_setting_bridge_get_multicast_query_interval ()" link="NMSettingBridge.html#nm-setting-bridge-get-multicast-query-interval"/>
-    <keyword type="function" name="nm_setting_bridge_get_multicast_query_response_interval ()" link="NMSettingBridge.html#nm-setting-bridge-get-multicast-query-response-interval"/>
-    <keyword type="function" name="nm_setting_bridge_get_multicast_startup_query_count ()" link="NMSettingBridge.html#nm-setting-bridge-get-multicast-startup-query-count"/>
-    <keyword type="function" name="nm_setting_bridge_get_multicast_startup_query_interval ()" link="NMSettingBridge.html#nm-setting-bridge-get-multicast-startup-query-interval"/>
+    <keyword type="function" name="nm_setting_bridge_get_group_address ()" link="NMSettingBridge.html#nm-setting-bridge-get-group-address" since="1.24"/>
+    <keyword type="function" name="nm_setting_bridge_get_vlan_protocol ()" link="NMSettingBridge.html#nm-setting-bridge-get-vlan-protocol" since="1.24"/>
+    <keyword type="function" name="nm_setting_bridge_get_vlan_stats_enabled ()" link="NMSettingBridge.html#nm-setting-bridge-get-vlan-stats-enabled" since="1.24"/>
+    <keyword type="function" name="nm_setting_bridge_get_multicast_router ()" link="NMSettingBridge.html#nm-setting-bridge-get-multicast-router" since="1.24"/>
+    <keyword type="function" name="nm_setting_bridge_get_multicast_query_use_ifaddr ()" link="NMSettingBridge.html#nm-setting-bridge-get-multicast-query-use-ifaddr" since="1.24"/>
+    <keyword type="function" name="nm_setting_bridge_get_multicast_querier ()" link="NMSettingBridge.html#nm-setting-bridge-get-multicast-querier" since="1.24"/>
+    <keyword type="function" name="nm_setting_bridge_get_multicast_hash_max ()" link="NMSettingBridge.html#nm-setting-bridge-get-multicast-hash-max" since="1.26"/>
+    <keyword type="function" name="nm_setting_bridge_get_multicast_last_member_count ()" link="NMSettingBridge.html#nm-setting-bridge-get-multicast-last-member-count" since="1.26"/>
+    <keyword type="function" name="nm_setting_bridge_get_multicast_last_member_interval ()" link="NMSettingBridge.html#nm-setting-bridge-get-multicast-last-member-interval" since="1.26"/>
+    <keyword type="function" name="nm_setting_bridge_get_multicast_membership_interval ()" link="NMSettingBridge.html#nm-setting-bridge-get-multicast-membership-interval" since="1.26"/>
+    <keyword type="function" name="nm_setting_bridge_get_multicast_querier_interval ()" link="NMSettingBridge.html#nm-setting-bridge-get-multicast-querier-interval" since="1.26"/>
+    <keyword type="function" name="nm_setting_bridge_get_multicast_query_interval ()" link="NMSettingBridge.html#nm-setting-bridge-get-multicast-query-interval" since="1.26"/>
+    <keyword type="function" name="nm_setting_bridge_get_multicast_query_response_interval ()" link="NMSettingBridge.html#nm-setting-bridge-get-multicast-query-response-interval" since="1.26"/>
+    <keyword type="function" name="nm_setting_bridge_get_multicast_startup_query_count ()" link="NMSettingBridge.html#nm-setting-bridge-get-multicast-startup-query-count" since="1.26"/>
+    <keyword type="function" name="nm_setting_bridge_get_multicast_startup_query_interval ()" link="NMSettingBridge.html#nm-setting-bridge-get-multicast-startup-query-interval" since="1.26"/>
     <keyword type="macro" name="NM_SETTING_BRIDGE_SETTING_NAME" link="NMSettingBridge.html#NM-SETTING-BRIDGE-SETTING-NAME:CAPS"/>
     <keyword type="macro" name="NM_SETTING_BRIDGE_MAC_ADDRESS" link="NMSettingBridge.html#NM-SETTING-BRIDGE-MAC-ADDRESS:CAPS"/>
     <keyword type="macro" name="NM_SETTING_BRIDGE_STP" link="NMSettingBridge.html#NM-SETTING-BRIDGE-STP:CAPS"/>
@@ -1124,7 +1125,7 @@
     <keyword type="macro" name="NM_SETTING_GSM_SIM_OPERATOR_ID" link="NMSettingGsm.html#NM-SETTING-GSM-SIM-OPERATOR-ID:CAPS"/>
     <keyword type="macro" name="NM_SETTING_GSM_MTU" link="NMSettingGsm.html#NM-SETTING-GSM-MTU:CAPS"/>
     <keyword type="macro" name="NM_SETTING_GSM_NUMBER" link="NMSettingGsm.html#NM-SETTING-GSM-NUMBER:CAPS"/>
-    <keyword type="function" name="nm_setting_hostname_new ()" link="NMSettingHostname.html#nm-setting-hostname-new" since="1.30"/>
+    <keyword type="function" name="nm_setting_hostname_new ()" link="NMSettingHostname.html#nm-setting-hostname-new" since="1.42, 1.40.4"/>
     <keyword type="function" name="nm_setting_hostname_get_priority ()" link="NMSettingHostname.html#nm-setting-hostname-get-priority" since="1.30"/>
     <keyword type="function" name="nm_setting_hostname_get_from_dhcp ()" link="NMSettingHostname.html#nm-setting-hostname-get-from-dhcp" since="1.30"/>
     <keyword type="function" name="nm_setting_hostname_get_from_dns_lookup ()" link="NMSettingHostname.html#nm-setting-hostname-get-from-dns-lookup" since="1.30"/>
@@ -1152,7 +1153,7 @@
     <keyword type="function" name="nm_ip_address_ref ()" link="NMSettingIPConfig.html#nm-ip-address-ref"/>
     <keyword type="function" name="nm_ip_address_unref ()" link="NMSettingIPConfig.html#nm-ip-address-unref"/>
     <keyword type="function" name="nm_ip_address_equal ()" link="NMSettingIPConfig.html#nm-ip-address-equal"/>
-    <keyword type="function" name="nm_ip_address_cmp_full ()" link="NMSettingIPConfig.html#nm-ip-address-cmp-full"/>
+    <keyword type="function" name="nm_ip_address_cmp_full ()" link="NMSettingIPConfig.html#nm-ip-address-cmp-full" since="1.22"/>
     <keyword type="function" name="nm_ip_address_dup ()" link="NMSettingIPConfig.html#nm-ip-address-dup" since="1.32"/>
     <keyword type="function" name="nm_ip_address_get_family ()" link="NMSettingIPConfig.html#nm-ip-address-get-family"/>
     <keyword type="function" name="nm_ip_address_get_address ()" link="NMSettingIPConfig.html#nm-ip-address-get-address"/>
@@ -1249,7 +1250,7 @@
     <keyword type="function" name="nm_setting_ip_config_remove_dns_search_by_value ()" link="NMSettingIPConfig.html#nm-setting-ip-config-remove-dns-search-by-value"/>
     <keyword type="function" name="nm_setting_ip_config_clear_dns_searches ()" link="NMSettingIPConfig.html#nm-setting-ip-config-clear-dns-searches"/>
     <keyword type="function" name="nm_setting_ip_config_get_num_dns_options ()" link="NMSettingIPConfig.html#nm-setting-ip-config-get-num-dns-options" since="1.2"/>
-    <keyword type="function" name="nm_setting_ip_config_has_dns_options ()" link="NMSettingIPConfig.html#nm-setting-ip-config-has-dns-options"/>
+    <keyword type="function" name="nm_setting_ip_config_has_dns_options ()" link="NMSettingIPConfig.html#nm-setting-ip-config-has-dns-options" since="1.2"/>
     <keyword type="function" name="nm_setting_ip_config_get_dns_option ()" link="NMSettingIPConfig.html#nm-setting-ip-config-get-dns-option" since="1.2"/>
     <keyword type="function" name="nm_setting_ip_config_add_dns_option ()" link="NMSettingIPConfig.html#nm-setting-ip-config-add-dns-option" since="1.2"/>
     <keyword type="function" name="nm_setting_ip_config_remove_dns_option ()" link="NMSettingIPConfig.html#nm-setting-ip-config-remove-dns-option" since="1.2"/>
@@ -1285,7 +1286,7 @@
     <keyword type="function" name="nm_setting_ip_config_get_dad_timeout ()" link="NMSettingIPConfig.html#nm-setting-ip-config-get-dad-timeout" since="1.2"/>
     <keyword type="function" name="nm_setting_ip_config_get_dhcp_timeout ()" link="NMSettingIPConfig.html#nm-setting-ip-config-get-dhcp-timeout" since="1.2"/>
     <keyword type="function" name="nm_setting_ip_config_get_required_timeout ()" link="NMSettingIPConfig.html#nm-setting-ip-config-get-required-timeout" since="1.34"/>
-    <keyword type="function" name="nm_setting_ip_config_get_dhcp_iaid ()" link="NMSettingIPConfig.html#nm-setting-ip-config-get-dhcp-iaid" since="1.22"/>
+    <keyword type="function" name="nm_setting_ip_config_get_dhcp_iaid ()" link="NMSettingIPConfig.html#nm-setting-ip-config-get-dhcp-iaid" since="1.42, 1.40.4"/>
     <keyword type="function" name="nm_setting_ip_config_get_dhcp_hostname_flags ()" link="NMSettingIPConfig.html#nm-setting-ip-config-get-dhcp-hostname-flags" since="1.22"/>
     <keyword type="function" name="nm_setting_ip_config_get_dhcp_reject_servers ()" link="NMSettingIPConfig.html#nm-setting-ip-config-get-dhcp-reject-servers" since="1.28"/>
     <keyword type="function" name="nm_setting_ip_config_add_dhcp_reject_server ()" link="NMSettingIPConfig.html#nm-setting-ip-config-add-dhcp-reject-server" since="1.28"/>
@@ -1367,10 +1368,10 @@
     <keyword type="function" name="nm_setting_ip_tunnel_get_path_mtu_discovery ()" link="NMSettingIPTunnel.html#nm-setting-ip-tunnel-get-path-mtu-discovery" since="1.2"/>
     <keyword type="function" name="nm_setting_ip_tunnel_get_input_key ()" link="NMSettingIPTunnel.html#nm-setting-ip-tunnel-get-input-key" since="1.2"/>
     <keyword type="function" name="nm_setting_ip_tunnel_get_output_key ()" link="NMSettingIPTunnel.html#nm-setting-ip-tunnel-get-output-key" since="1.2"/>
-    <keyword type="function" name="nm_setting_ip_tunnel_get_encapsulation_limit ()" link="NMSettingIPTunnel.html#nm-setting-ip-tunnel-get-encapsulation-limit" since="1.2"/>
-    <keyword type="function" name="nm_setting_ip_tunnel_get_flow_label ()" link="NMSettingIPTunnel.html#nm-setting-ip-tunnel-get-flow-label" since="1.2"/>
+    <keyword type="function" name="nm_setting_ip_tunnel_get_encapsulation_limit ()" link="NMSettingIPTunnel.html#nm-setting-ip-tunnel-get-encapsulation-limit" since="1.42, 1.40.4"/>
+    <keyword type="function" name="nm_setting_ip_tunnel_get_flow_label ()" link="NMSettingIPTunnel.html#nm-setting-ip-tunnel-get-flow-label" since="1.42, 1.40.4"/>
     <keyword type="function" name="nm_setting_ip_tunnel_get_mtu ()" link="NMSettingIPTunnel.html#nm-setting-ip-tunnel-get-mtu" since="1.2"/>
-    <keyword type="function" name="nm_setting_ip_tunnel_get_flags ()" link="NMSettingIPTunnel.html#nm-setting-ip-tunnel-get-flags"/>
+    <keyword type="function" name="nm_setting_ip_tunnel_get_flags ()" link="NMSettingIPTunnel.html#nm-setting-ip-tunnel-get-flags" since="1.12"/>
     <keyword type="macro" name="NM_SETTING_IP_TUNNEL_SETTING_NAME" link="NMSettingIPTunnel.html#NM-SETTING-IP-TUNNEL-SETTING-NAME:CAPS"/>
     <keyword type="macro" name="NM_SETTING_IP_TUNNEL_PARENT" link="NMSettingIPTunnel.html#NM-SETTING-IP-TUNNEL-PARENT:CAPS"/>
     <keyword type="macro" name="NM_SETTING_IP_TUNNEL_MODE" link="NMSettingIPTunnel.html#NM-SETTING-IP-TUNNEL-MODE:CAPS"/>
@@ -1385,12 +1386,12 @@
     <keyword type="macro" name="NM_SETTING_IP_TUNNEL_FLOW_LABEL" link="NMSettingIPTunnel.html#NM-SETTING-IP-TUNNEL-FLOW-LABEL:CAPS"/>
     <keyword type="macro" name="NM_SETTING_IP_TUNNEL_MTU" link="NMSettingIPTunnel.html#NM-SETTING-IP-TUNNEL-MTU:CAPS"/>
     <keyword type="macro" name="NM_SETTING_IP_TUNNEL_FLAGS" link="NMSettingIPTunnel.html#NM-SETTING-IP-TUNNEL-FLAGS:CAPS"/>
-    <keyword type="enum" name="enum NMIPTunnelFlags" link="NMSettingIPTunnel.html#NMIPTunnelFlags"/>
+    <keyword type="enum" name="enum NMIPTunnelFlags" link="NMSettingIPTunnel.html#NMIPTunnelFlags" since="1.12"/>
     <keyword type="function" name="nm_setting_ip4_config_new ()" link="NMSettingIP4Config.html#nm-setting-ip4-config-new"/>
     <keyword type="function" name="nm_setting_ip4_config_get_dhcp_client_id ()" link="NMSettingIP4Config.html#nm-setting-ip4-config-get-dhcp-client-id"/>
     <keyword type="function" name="nm_setting_ip4_config_get_dhcp_fqdn ()" link="NMSettingIP4Config.html#nm-setting-ip4-config-get-dhcp-fqdn" since="1.2"/>
     <keyword type="function" name="nm_setting_ip4_config_get_dhcp_vendor_class_identifier ()" link="NMSettingIP4Config.html#nm-setting-ip4-config-get-dhcp-vendor-class-identifier" since="1.28"/>
-    <keyword type="function" name="nm_setting_ip4_config_get_link_local ()" link="NMSettingIP4Config.html#nm-setting-ip4-config-get-link-local" since="1.40"/>
+    <keyword type="function" name="nm_setting_ip4_config_get_link_local ()" link="NMSettingIP4Config.html#nm-setting-ip4-config-get-link-local" since="1.42, 1.40.4"/>
     <keyword type="macro" name="NM_SETTING_IP4_CONFIG_SETTING_NAME" link="NMSettingIP4Config.html#NM-SETTING-IP4-CONFIG-SETTING-NAME:CAPS"/>
     <keyword type="macro" name="NM_SETTING_IP4_CONFIG_DHCP_CLIENT_ID" link="NMSettingIP4Config.html#NM-SETTING-IP4-CONFIG-DHCP-CLIENT-ID:CAPS"/>
     <keyword type="macro" name="NM_SETTING_IP4_CONFIG_DHCP_FQDN" link="NMSettingIP4Config.html#NM-SETTING-IP4-CONFIG-DHCP-FQDN:CAPS"/>
@@ -1459,7 +1460,7 @@
     <keyword type="macro" name="NM_SETTING_MACVLAN_MODE" link="NMSettingMacvlan.html#NM-SETTING-MACVLAN-MODE:CAPS"/>
     <keyword type="macro" name="NM_SETTING_MACVLAN_PROMISCUOUS" link="NMSettingMacvlan.html#NM-SETTING-MACVLAN-PROMISCUOUS:CAPS"/>
     <keyword type="macro" name="NM_SETTING_MACVLAN_TAP" link="NMSettingMacvlan.html#NM-SETTING-MACVLAN-TAP:CAPS"/>
-    <keyword type="enum" name="enum NMSettingMacvlanMode" link="NMSettingMacvlan.html#NMSettingMacvlanMode"/>
+    <keyword type="enum" name="enum NMSettingMacvlanMode" link="NMSettingMacvlan.html#NMSettingMacvlanMode" since="1.2"/>
     <keyword type="function" name="nm_setting_match_new ()" link="NMSettingMatch.html#nm-setting-match-new" since="1.32"/>
     <keyword type="function" name="nm_setting_match_get_num_interface_names ()" link="NMSettingMatch.html#nm-setting-match-get-num-interface-names" since="1.14"/>
     <keyword type="function" name="nm_setting_match_get_interface_name ()" link="NMSettingMatch.html#nm-setting-match-get-interface-name" since="1.14"/>
@@ -1507,7 +1508,7 @@
     <keyword type="function" name="nm_setting_ovs_bridge_get_mcast_snooping_enable ()" link="NMSettingOvsBridge.html#nm-setting-ovs-bridge-get-mcast-snooping-enable" since="1.10"/>
     <keyword type="function" name="nm_setting_ovs_bridge_get_rstp_enable ()" link="NMSettingOvsBridge.html#nm-setting-ovs-bridge-get-rstp-enable" since="1.10"/>
     <keyword type="function" name="nm_setting_ovs_bridge_get_stp_enable ()" link="NMSettingOvsBridge.html#nm-setting-ovs-bridge-get-stp-enable" since="1.10"/>
-    <keyword type="function" name="nm_setting_ovs_bridge_get_datapath_type ()" link="NMSettingOvsBridge.html#nm-setting-ovs-bridge-get-datapath-type" since="1.20"/>
+    <keyword type="function" name="nm_setting_ovs_bridge_get_datapath_type ()" link="NMSettingOvsBridge.html#nm-setting-ovs-bridge-get-datapath-type" since="1.42, 1.40.4"/>
     <keyword type="macro" name="NM_SETTING_OVS_BRIDGE_SETTING_NAME" link="NMSettingOvsBridge.html#NM-SETTING-OVS-BRIDGE-SETTING-NAME:CAPS"/>
     <keyword type="macro" name="NM_SETTING_OVS_BRIDGE_FAIL_MODE" link="NMSettingOvsBridge.html#NM-SETTING-OVS-BRIDGE-FAIL-MODE:CAPS"/>
     <keyword type="macro" name="NM_SETTING_OVS_BRIDGE_MCAST_SNOOPING_ENABLE" link="NMSettingOvsBridge.html#NM-SETTING-OVS-BRIDGE-MCAST-SNOOPING-ENABLE:CAPS"/>
@@ -1521,7 +1522,7 @@
     <keyword type="macro" name="NM_SETTING_OVS_DPDK_DEVARGS" link="NMSettingOvsDpdk.html#NM-SETTING-OVS-DPDK-DEVARGS:CAPS"/>
     <keyword type="macro" name="NM_SETTING_OVS_DPDK_N_RXQ" link="NMSettingOvsDpdk.html#NM-SETTING-OVS-DPDK-N-RXQ:CAPS"/>
     <keyword type="function" name="nm_setting_ovs_external_ids_new ()" link="NMSettingOvsExternalIDs.html#nm-setting-ovs-external-ids-new" since="1.30"/>
-    <keyword type="function" name="nm_setting_ovs_external_ids_get_data_keys ()" link="NMSettingOvsExternalIDs.html#nm-setting-ovs-external-ids-get-data-keys"/>
+    <keyword type="function" name="nm_setting_ovs_external_ids_get_data_keys ()" link="NMSettingOvsExternalIDs.html#nm-setting-ovs-external-ids-get-data-keys" since="1.30"/>
     <keyword type="function" name="nm_setting_ovs_external_ids_get_data ()" link="NMSettingOvsExternalIDs.html#nm-setting-ovs-external-ids-get-data" since="1.30"/>
     <keyword type="function" name="nm_setting_ovs_external_ids_set_data ()" link="NMSettingOvsExternalIDs.html#nm-setting-ovs-external-ids-set-data" since="1.30"/>
     <keyword type="function" name="nm_setting_ovs_external_ids_check_key ()" link="NMSettingOvsExternalIDs.html#nm-setting-ovs-external-ids-check-key" since="1.30"/>
@@ -1639,7 +1640,7 @@
     <keyword type="function" name="nm_sriov_vf_set_vlan_qos ()" link="NMSettingSriov.html#nm-sriov-vf-set-vlan-qos" since="1.14"/>
     <keyword type="function" name="nm_sriov_vf_set_vlan_protocol ()" link="NMSettingSriov.html#nm-sriov-vf-set-vlan-protocol" since="1.14"/>
     <keyword type="function" name="nm_sriov_vf_get_vlan_qos ()" link="NMSettingSriov.html#nm-sriov-vf-get-vlan-qos" since="1.14"/>
-    <keyword type="function" name="nm_sriov_vf_get_vlan_protocol ()" link="NMSettingSriov.html#nm-sriov-vf-get-vlan-protocol"/>
+    <keyword type="function" name="nm_sriov_vf_get_vlan_protocol ()" link="NMSettingSriov.html#nm-sriov-vf-get-vlan-protocol" since="1.14"/>
     <keyword type="function" name="nm_sriov_vf_new ()" link="NMSettingSriov.html#nm-sriov-vf-new" since="1.14"/>
     <keyword type="function" name="nm_sriov_vf_ref ()" link="NMSettingSriov.html#nm-sriov-vf-ref" since="1.14"/>
     <keyword type="function" name="nm_sriov_vf_unref ()" link="NMSettingSriov.html#nm-sriov-vf-unref" since="1.14"/>
@@ -1649,7 +1650,7 @@
     <keyword type="function" name="nm_sriov_vf_set_attribute ()" link="NMSettingSriov.html#nm-sriov-vf-set-attribute" since="1.14"/>
     <keyword type="function" name="nm_sriov_vf_get_attribute_names ()" link="NMSettingSriov.html#nm-sriov-vf-get-attribute-names" since="1.14"/>
     <keyword type="function" name="nm_sriov_vf_get_attribute ()" link="NMSettingSriov.html#nm-sriov-vf-get-attribute" since="1.14"/>
-    <keyword type="function" name="nm_sriov_vf_attribute_validate ()" link="NMSettingSriov.html#nm-sriov-vf-attribute-validate" since="1.14"/>
+    <keyword type="function" name="nm_sriov_vf_attribute_validate ()" link="NMSettingSriov.html#nm-sriov-vf-attribute-validate" since="1.42, 1.40.4"/>
     <keyword type="macro" name="NM_SETTING_SRIOV_SETTING_NAME" link="NMSettingSriov.html#NM-SETTING-SRIOV-SETTING-NAME:CAPS"/>
     <keyword type="macro" name="NM_SETTING_SRIOV_TOTAL_VFS" link="NMSettingSriov.html#NM-SETTING-SRIOV-TOTAL-VFS:CAPS"/>
     <keyword type="macro" name="NM_SETTING_SRIOV_VFS" link="NMSettingSriov.html#NM-SETTING-SRIOV-VFS:CAPS"/>
@@ -1690,8 +1691,8 @@
     <keyword type="function" name="nm_tc_tfilter_get_handle ()" link="NMSettingTCConfig.html#nm-tc-tfilter-get-handle" since="1.12"/>
     <keyword type="function" name="nm_tc_tfilter_set_handle ()" link="NMSettingTCConfig.html#nm-tc-tfilter-set-handle" since="1.12"/>
     <keyword type="function" name="nm_tc_tfilter_get_parent ()" link="NMSettingTCConfig.html#nm-tc-tfilter-get-parent" since="1.12"/>
-    <keyword type="function" name="nm_tc_tfilter_get_action ()" link="NMSettingTCConfig.html#nm-tc-tfilter-get-action" since="1.12"/>
-    <keyword type="function" name="nm_tc_tfilter_set_action ()" link="NMSettingTCConfig.html#nm-tc-tfilter-set-action" since="1.12"/>
+    <keyword type="function" name="nm_tc_tfilter_get_action ()" link="NMSettingTCConfig.html#nm-tc-tfilter-get-action" since="1.42, 1.40.4"/>
+    <keyword type="function" name="nm_tc_tfilter_set_action ()" link="NMSettingTCConfig.html#nm-tc-tfilter-set-action" since="1.42, 1.40.4"/>
     <keyword type="function" name="nm_setting_tc_config_new ()" link="NMSettingTCConfig.html#nm-setting-tc-config-new" since="1.12"/>
     <keyword type="function" name="nm_setting_tc_config_get_num_qdiscs ()" link="NMSettingTCConfig.html#nm-setting-tc-config-get-num-qdiscs" since="1.12"/>
     <keyword type="function" name="nm_setting_tc_config_get_qdisc ()" link="NMSettingTCConfig.html#nm-setting-tc-config-get-qdisc" since="1.12"/>
@@ -1775,7 +1776,7 @@
     <keyword type="function" name="nm_setting_team_remove_link_watcher ()" link="NMSettingTeam.html#nm-setting-team-remove-link-watcher" since="1.12"/>
     <keyword type="function" name="nm_setting_team_remove_link_watcher_by_value ()" link="NMSettingTeam.html#nm-setting-team-remove-link-watcher-by-value" since="1.12"/>
     <keyword type="function" name="nm_setting_team_clear_link_watchers ()" link="NMSettingTeam.html#nm-setting-team-clear-link-watchers" since="1.12"/>
-    <keyword type="enum" name="enum NMTeamLinkWatcherArpPingFlags" link="NMSettingTeam.html#NMTeamLinkWatcherArpPingFlags"/>
+    <keyword type="enum" name="enum NMTeamLinkWatcherArpPingFlags" link="NMSettingTeam.html#NMTeamLinkWatcherArpPingFlags" since="1.12"/>
     <keyword type="macro" name="NM_TEAM_LINK_WATCHER_ETHTOOL" link="NMSettingTeam.html#NM-TEAM-LINK-WATCHER-ETHTOOL:CAPS"/>
     <keyword type="macro" name="NM_TEAM_LINK_WATCHER_ARP_PING" link="NMSettingTeam.html#NM-TEAM-LINK-WATCHER-ARP-PING:CAPS"/>
     <keyword type="macro" name="NM_TEAM_LINK_WATCHER_NSNA_PING" link="NMSettingTeam.html#NM-TEAM-LINK-WATCHER-NSNA-PING:CAPS"/>
@@ -1831,9 +1832,9 @@
     <keyword type="macro" name="NM_SETTING_TUN_PI" link="NMSettingTun.html#NM-SETTING-TUN-PI:CAPS"/>
     <keyword type="macro" name="NM_SETTING_TUN_VNET_HDR" link="NMSettingTun.html#NM-SETTING-TUN-VNET-HDR:CAPS"/>
     <keyword type="macro" name="NM_SETTING_TUN_MULTI_QUEUE" link="NMSettingTun.html#NM-SETTING-TUN-MULTI-QUEUE:CAPS"/>
-    <keyword type="enum" name="enum NMSettingTunMode" link="NMSettingTun.html#NMSettingTunMode"/>
-    <keyword type="function" name="nm_setting_user_new ()" link="NMSettingUser.html#nm-setting-user-new"/>
-    <keyword type="function" name="nm_setting_user_get_keys ()" link="NMSettingUser.html#nm-setting-user-get-keys"/>
+    <keyword type="enum" name="enum NMSettingTunMode" link="NMSettingTun.html#NMSettingTunMode" since="1.2"/>
+    <keyword type="function" name="nm_setting_user_new ()" link="NMSettingUser.html#nm-setting-user-new" since="1.8"/>
+    <keyword type="function" name="nm_setting_user_get_keys ()" link="NMSettingUser.html#nm-setting-user-get-keys" since="1.8"/>
     <keyword type="function" name="nm_setting_user_get_data ()" link="NMSettingUser.html#nm-setting-user-get-data" since="1.8"/>
     <keyword type="function" name="nm_setting_user_set_data ()" link="NMSettingUser.html#nm-setting-user-set-data" since="1.8"/>
     <keyword type="function" name="nm_setting_user_check_key ()" link="NMSettingUser.html#nm-setting-user-check-key" since="1.8"/>
@@ -1869,7 +1870,7 @@
     <keyword type="function" name="nm_setting_vpn_new ()" link="NMSettingVpn.html#nm-setting-vpn-new"/>
     <keyword type="function" name="nm_setting_vpn_get_service_type ()" link="NMSettingVpn.html#nm-setting-vpn-get-service-type"/>
     <keyword type="function" name="nm_setting_vpn_get_user_name ()" link="NMSettingVpn.html#nm-setting-vpn-get-user-name"/>
-    <keyword type="function" name="nm_setting_vpn_get_persistent ()" link="NMSettingVpn.html#nm-setting-vpn-get-persistent"/>
+    <keyword type="function" name="nm_setting_vpn_get_persistent ()" link="NMSettingVpn.html#nm-setting-vpn-get-persistent" since="1.42, 1.40.4"/>
     <keyword type="function" name="nm_setting_vpn_get_num_data_items ()" link="NMSettingVpn.html#nm-setting-vpn-get-num-data-items"/>
     <keyword type="function" name="nm_setting_vpn_add_data_item ()" link="NMSettingVpn.html#nm-setting-vpn-add-data-item"/>
     <keyword type="function" name="nm_setting_vpn_get_data_item ()" link="NMSettingVpn.html#nm-setting-vpn-get-data-item"/>
@@ -2020,7 +2021,7 @@
     <keyword type="function" name="nm_setting_wireguard_set_peer ()" link="NMSettingWireGuard.html#nm-setting-wireguard-set-peer" since="1.16"/>
     <keyword type="function" name="nm_setting_wireguard_append_peer ()" link="NMSettingWireGuard.html#nm-setting-wireguard-append-peer" since="1.16"/>
     <keyword type="function" name="nm_setting_wireguard_remove_peer ()" link="NMSettingWireGuard.html#nm-setting-wireguard-remove-peer" since="1.16"/>
-    <keyword type="function" name="nm_setting_wireguard_clear_peers ()" link="NMSettingWireGuard.html#nm-setting-wireguard-clear-peers"/>
+    <keyword type="function" name="nm_setting_wireguard_clear_peers ()" link="NMSettingWireGuard.html#nm-setting-wireguard-clear-peers" since="1.16"/>
     <keyword type="function" name="nm_setting_wireguard_get_peer_routes ()" link="NMSettingWireGuard.html#nm-setting-wireguard-get-peer-routes" since="1.16"/>
     <keyword type="function" name="nm_setting_wireguard_get_mtu ()" link="NMSettingWireGuard.html#nm-setting-wireguard-get-mtu" since="1.16"/>
     <keyword type="function" name="nm_setting_wireguard_get_ip4_auto_default_route ()" link="NMSettingWireGuard.html#nm-setting-wireguard-get-ip4-auto-default-route" since="1.20"/>
@@ -2063,7 +2064,7 @@
     <keyword type="function" name="nm_setting_wireless_security_remove_group ()" link="NMSettingWirelessSecurity.html#nm-setting-wireless-security-remove-group"/>
     <keyword type="function" name="nm_setting_wireless_security_remove_group_by_value ()" link="NMSettingWirelessSecurity.html#nm-setting-wireless-security-remove-group-by-value"/>
     <keyword type="function" name="nm_setting_wireless_security_clear_groups ()" link="NMSettingWirelessSecurity.html#nm-setting-wireless-security-clear-groups"/>
-    <keyword type="function" name="nm_setting_wireless_security_get_pmf ()" link="NMSettingWirelessSecurity.html#nm-setting-wireless-security-get-pmf"/>
+    <keyword type="function" name="nm_setting_wireless_security_get_pmf ()" link="NMSettingWirelessSecurity.html#nm-setting-wireless-security-get-pmf" since="1.10"/>
     <keyword type="function" name="nm_setting_wireless_security_get_psk ()" link="NMSettingWirelessSecurity.html#nm-setting-wireless-security-get-psk"/>
     <keyword type="function" name="nm_setting_wireless_security_get_psk_flags ()" link="NMSettingWirelessSecurity.html#nm-setting-wireless-security-get-psk-flags"/>
     <keyword type="function" name="nm_setting_wireless_security_get_leap_username ()" link="NMSettingWirelessSecurity.html#nm-setting-wireless-security-get-leap-username"/>
@@ -2076,10 +2077,10 @@
     <keyword type="function" name="nm_setting_wireless_security_get_wep_key_flags ()" link="NMSettingWirelessSecurity.html#nm-setting-wireless-security-get-wep-key-flags"/>
     <keyword type="function" name="nm_setting_wireless_security_get_wep_key_type ()" link="NMSettingWirelessSecurity.html#nm-setting-wireless-security-get-wep-key-type"/>
     <keyword type="function" name="nm_setting_wireless_security_get_wps_method ()" link="NMSettingWirelessSecurity.html#nm-setting-wireless-security-get-wps-method" since="1.10"/>
-    <keyword type="function" name="nm_setting_wireless_security_get_fils ()" link="NMSettingWirelessSecurity.html#nm-setting-wireless-security-get-fils"/>
+    <keyword type="function" name="nm_setting_wireless_security_get_fils ()" link="NMSettingWirelessSecurity.html#nm-setting-wireless-security-get-fils" since="1.12"/>
     <keyword type="macro" name="NM_SETTING_WIRELESS_SECURITY_SETTING_NAME" link="NMSettingWirelessSecurity.html#NM-SETTING-WIRELESS-SECURITY-SETTING-NAME:CAPS"/>
     <keyword type="enum" name="enum NMWepKeyType" link="NMSettingWirelessSecurity.html#NMWepKeyType"/>
-    <keyword type="enum" name="enum NMSettingWirelessSecurityPmf" link="NMSettingWirelessSecurity.html#NMSettingWirelessSecurityPmf"/>
+    <keyword type="enum" name="enum NMSettingWirelessSecurityPmf" link="NMSettingWirelessSecurity.html#NMSettingWirelessSecurityPmf" since="1.10"/>
     <keyword type="enum" name="enum NMSettingWirelessSecurityWpsMethod" link="NMSettingWirelessSecurity.html#NMSettingWirelessSecurityWpsMethod" since="1.10"/>
     <keyword type="enum" name="enum NMSettingWirelessSecurityFils" link="NMSettingWirelessSecurity.html#NMSettingWirelessSecurityFils" since="1.12"/>
     <keyword type="macro" name="NM_SETTING_WIRELESS_SECURITY_KEY_MGMT" link="NMSettingWirelessSecurity.html#NM-SETTING-WIRELESS-SECURITY-KEY-MGMT:CAPS"/>
@@ -2154,13 +2155,13 @@
     <keyword type="macro" name="NM_SETTING_WIRELESS_MODE_AP" link="NMSettingWireless.html#NM-SETTING-WIRELESS-MODE-AP:CAPS"/>
     <keyword type="macro" name="NM_SETTING_WIRELESS_MODE_INFRA" link="NMSettingWireless.html#NM-SETTING-WIRELESS-MODE-INFRA:CAPS"/>
     <keyword type="macro" name="NM_SETTING_WIRELESS_MODE_MESH" link="NMSettingWireless.html#NM-SETTING-WIRELESS-MODE-MESH:CAPS" since="1.20"/>
-    <keyword type="enum" name="enum NMSettingWirelessPowersave" link="NMSettingWireless.html#NMSettingWirelessPowersave"/>
-    <keyword type="function" name="nm_setting_wpan_new ()" link="NMSettingWpan.html#nm-setting-wpan-new" since="1.14"/>
-    <keyword type="function" name="nm_setting_wpan_get_mac_address ()" link="NMSettingWpan.html#nm-setting-wpan-get-mac-address" since="1.14"/>
-    <keyword type="function" name="nm_setting_wpan_get_pan_id ()" link="NMSettingWpan.html#nm-setting-wpan-get-pan-id" since="1.14"/>
-    <keyword type="function" name="nm_setting_wpan_get_short_address ()" link="NMSettingWpan.html#nm-setting-wpan-get-short-address" since="1.14"/>
-    <keyword type="function" name="nm_setting_wpan_get_page ()" link="NMSettingWpan.html#nm-setting-wpan-get-page" since="1.16"/>
-    <keyword type="function" name="nm_setting_wpan_get_channel ()" link="NMSettingWpan.html#nm-setting-wpan-get-channel" since="1.16"/>
+    <keyword type="enum" name="enum NMSettingWirelessPowersave" link="NMSettingWireless.html#NMSettingWirelessPowersave" since="1.2"/>
+    <keyword type="function" name="nm_setting_wpan_new ()" link="NMSettingWpan.html#nm-setting-wpan-new" since="1.42, 1.40.4"/>
+    <keyword type="function" name="nm_setting_wpan_get_mac_address ()" link="NMSettingWpan.html#nm-setting-wpan-get-mac-address" since="1.42, 1.40.4"/>
+    <keyword type="function" name="nm_setting_wpan_get_pan_id ()" link="NMSettingWpan.html#nm-setting-wpan-get-pan-id" since="1.42, 1.40.4"/>
+    <keyword type="function" name="nm_setting_wpan_get_short_address ()" link="NMSettingWpan.html#nm-setting-wpan-get-short-address" since="1.42, 1.40.4"/>
+    <keyword type="function" name="nm_setting_wpan_get_page ()" link="NMSettingWpan.html#nm-setting-wpan-get-page" since="1.42, 1.40.4"/>
+    <keyword type="function" name="nm_setting_wpan_get_channel ()" link="NMSettingWpan.html#nm-setting-wpan-get-channel" since="1.42, 1.40.4"/>
     <keyword type="macro" name="NM_SETTING_WPAN_SETTING_NAME" link="NMSettingWpan.html#NM-SETTING-WPAN-SETTING-NAME:CAPS"/>
     <keyword type="macro" name="NM_SETTING_WPAN_MAC_ADDRESS" link="NMSettingWpan.html#NM-SETTING-WPAN-MAC-ADDRESS:CAPS"/>
     <keyword type="macro" name="NM_SETTING_WPAN_PAN_ID" link="NMSettingWpan.html#NM-SETTING-WPAN-PAN-ID:CAPS"/>
@@ -2300,8 +2301,7 @@
     <keyword type="property" name="The “udi†property" link="NMDevice.html#NMDevice--udi"/>
     <keyword type="property" name="The “vendor†property" link="NMDevice.html#NMDevice--vendor"/>
     <keyword type="signal" name="The “state-changed†signal" link="NMDevice.html#NMDevice-state-changed"/>
-    <keyword type="function" name="nm_device_6lowpan_get_parent ()" link="NMDevice6Lowpan.html#nm-device-6lowpan-get-parent" since="1.14"/>
-    <keyword type="function" name="NM_DEPRECATED_IN_1_24_FOR ()" link="NMDevice6Lowpan.html#NM-DEPRECATED-IN-1-24-FOR:CAPS" deprecated=""/>
+    <keyword type="function" name="nm_device_6lowpan_get_parent ()" link="NMDevice6Lowpan.html#nm-device-6lowpan-get-parent" since="1.42, 1.40.4"/>
     <keyword type="macro" name="NM_DEVICE_6LOWPAN_PARENT" link="NMDevice6Lowpan.html#NM-DEVICE-6LOWPAN-PARENT:CAPS"/>
     <keyword type="macro" name="NM_DEVICE_6LOWPAN_HW_ADDRESS" link="NMDevice6Lowpan.html#NM-DEVICE-6LOWPAN-HW-ADDRESS:CAPS"/>
     <keyword type="struct" name="NMDevice6Lowpan" link="NMDevice6Lowpan.html#NMDevice6Lowpan-struct"/>
@@ -2403,7 +2403,7 @@
     <keyword type="property" name="The “remote†property" link="NMDeviceIPTunnel.html#NMDeviceIPTunnel--remote"/>
     <keyword type="property" name="The “tos†property" link="NMDeviceIPTunnel.html#NMDeviceIPTunnel--tos"/>
     <keyword type="property" name="The “ttl†property" link="NMDeviceIPTunnel.html#NMDeviceIPTunnel--ttl"/>
-    <keyword type="function" name="nm_device_macsec_get_parent ()" link="NMDeviceMacsec.html#nm-device-macsec-get-parent" since="1.6"/>
+    <keyword type="function" name="nm_device_macsec_get_parent ()" link="NMDeviceMacsec.html#nm-device-macsec-get-parent" since="1.42, 1.40.4"/>
     <keyword type="function" name="NM_DEPRECATED_IN_1_24_FOR ()" link="NMDeviceMacsec.html#NM-DEPRECATED-IN-1-24-FOR:CAPS" deprecated=""/>
     <keyword type="function" name="nm_device_macsec_get_sci ()" link="NMDeviceMacsec.html#nm-device-macsec-get-sci" since="1.6"/>
     <keyword type="function" name="nm_device_macsec_get_icv_length ()" link="NMDeviceMacsec.html#nm-device-macsec-get-icv-length" since="1.6"/>
@@ -2511,7 +2511,7 @@
     <keyword type="function" name="nm_device_tun_get_mode ()" link="NMDeviceTun.html#nm-device-tun-get-mode" since="1.2"/>
     <keyword type="function" name="nm_device_tun_get_owner ()" link="NMDeviceTun.html#nm-device-tun-get-owner" since="1.2"/>
     <keyword type="function" name="nm_device_tun_get_group ()" link="NMDeviceTun.html#nm-device-tun-get-group" since="1.2"/>
-    <keyword type="function" name="nm_device_tun_get_no_pi ()" link="NMDeviceTun.html#nm-device-tun-get-no-pi"/>
+    <keyword type="function" name="nm_device_tun_get_no_pi ()" link="NMDeviceTun.html#nm-device-tun-get-no-pi" since="1.2"/>
     <keyword type="function" name="nm_device_tun_get_vnet_hdr ()" link="NMDeviceTun.html#nm-device-tun-get-vnet-hdr" since="1.2"/>
     <keyword type="function" name="nm_device_tun_get_multi_queue ()" link="NMDeviceTun.html#nm-device-tun-get-multi-queue" since="1.2"/>
     <keyword type="macro" name="NM_DEVICE_TUN_HW_ADDRESS" link="NMDeviceTun.html#NM-DEVICE-TUN-HW-ADDRESS:CAPS"/>
@@ -2528,7 +2528,7 @@
     <keyword type="property" name="The “no-pi†property" link="NMDeviceTun.html#NMDeviceTun--no-pi"/>
     <keyword type="property" name="The “owner†property" link="NMDeviceTun.html#NMDeviceTun--owner"/>
     <keyword type="property" name="The “vnet-hdr†property" link="NMDeviceTun.html#NMDeviceTun--vnet-hdr"/>
-    <keyword type="function" name="nm_device_veth_get_peer ()" link="NMDeviceVeth.html#nm-device-veth-get-peer" since="1.30"/>
+    <keyword type="function" name="nm_device_veth_get_peer ()" link="NMDeviceVeth.html#nm-device-veth-get-peer" since="1.42, 1.40.4"/>
     <keyword type="macro" name="NM_DEVICE_VETH_PEER" link="NMDeviceVeth.html#NM-DEVICE-VETH-PEER:CAPS"/>
     <keyword type="struct" name="NMDeviceVeth" link="NMDeviceVeth.html#NMDeviceVeth-struct"/>
     <keyword type="property" name="The “peer†property" link="NMDeviceVeth.html#NMDeviceVeth--peer"/>
@@ -2549,7 +2549,7 @@
     <keyword type="struct" name="NMDeviceVrf" link="NMDeviceVrf.html#NMDeviceVrf-struct"/>
     <keyword type="property" name="The “table†property" link="NMDeviceVrf.html#NMDeviceVrf--table"/>
     <keyword type="function" name="NM_DEPRECATED_IN_1_24_FOR ()" link="NMDeviceVxlan.html#NM-DEPRECATED-IN-1-24-FOR:CAPS" deprecated=""/>
-    <keyword type="function" name="nm_device_vxlan_get_carrier ()" link="NMDeviceVxlan.html#nm-device-vxlan-get-carrier" since="1.2"/>
+    <keyword type="function" name="nm_device_vxlan_get_carrier ()" link="NMDeviceVxlan.html#nm-device-vxlan-get-carrier" since="1.42, 1.40.4"/>
     <keyword type="function" name="nm_device_vxlan_get_parent ()" link="NMDeviceVxlan.html#nm-device-vxlan-get-parent" since="1.2"/>
     <keyword type="function" name="nm_device_vxlan_get_id ()" link="NMDeviceVxlan.html#nm-device-vxlan-get-id" since="1.2"/>
     <keyword type="function" name="nm_device_vxlan_get_group ()" link="NMDeviceVxlan.html#nm-device-vxlan-get-group" since="1.2"/>
@@ -2563,7 +2563,7 @@
     <keyword type="function" name="nm_device_vxlan_get_ttl ()" link="NMDeviceVxlan.html#nm-device-vxlan-get-ttl" since="1.2"/>
     <keyword type="function" name="nm_device_vxlan_get_limit ()" link="NMDeviceVxlan.html#nm-device-vxlan-get-limit" since="1.2"/>
     <keyword type="function" name="nm_device_vxlan_get_proxy ()" link="NMDeviceVxlan.html#nm-device-vxlan-get-proxy" since="1.2"/>
-    <keyword type="function" name="nm_device_vxlan_get_rsc ()" link="NMDeviceVxlan.html#nm-device-vxlan-get-rsc" since="1.2"/>
+    <keyword type="function" name="nm_device_vxlan_get_rsc ()" link="NMDeviceVxlan.html#nm-device-vxlan-get-rsc" since="1.42, 1.40.4"/>
     <keyword type="function" name="nm_device_vxlan_get_l2miss ()" link="NMDeviceVxlan.html#nm-device-vxlan-get-l2miss" since="1.2"/>
     <keyword type="function" name="nm_device_vxlan_get_l3miss ()" link="NMDeviceVxlan.html#nm-device-vxlan-get-l3miss" since="1.2"/>
     <keyword type="macro" name="NM_DEVICE_VXLAN_HW_ADDRESS" link="NMDeviceVxlan.html#NM-DEVICE-VXLAN-HW-ADDRESS:CAPS"/>
@@ -2603,7 +2603,7 @@
     <keyword type="property" name="The “tos†property" link="NMDeviceVxlan.html#NMDeviceVxlan--tos"/>
     <keyword type="property" name="The “ttl†property" link="NMDeviceVxlan.html#NMDeviceVxlan--ttl"/>
     <keyword type="function" name="NM_DEPRECATED_IN_1_24_FOR ()" link="NMDeviceWifiP2P.html#NM-DEPRECATED-IN-1-24-FOR:CAPS" deprecated=""/>
-    <keyword type="function" name="nm_device_wifi_p2p_get_peer_by_path ()" link="NMDeviceWifiP2P.html#nm-device-wifi-p2p-get-peer-by-path" since="1.16"/>
+    <keyword type="function" name="nm_device_wifi_p2p_get_peer_by_path ()" link="NMDeviceWifiP2P.html#nm-device-wifi-p2p-get-peer-by-path" since="1.42, 1.40.4"/>
     <keyword type="function" name="nm_device_wifi_p2p_get_peers ()" link="NMDeviceWifiP2P.html#nm-device-wifi-p2p-get-peers" since="1.16"/>
     <keyword type="function" name="nm_device_wifi_p2p_start_find ()" link="NMDeviceWifiP2P.html#nm-device-wifi-p2p-start-find" since="1.16"/>
     <keyword type="function" name="nm_device_wifi_p2p_start_find_finish ()" link="NMDeviceWifiP2P.html#nm-device-wifi-p2p-start-find-finish" since="1.16"/>
@@ -2686,7 +2686,6 @@
     <keyword type="property" name="The “fwmark†property" link="NMDeviceWireGuard.html#NMDeviceWireGuard--fwmark"/>
     <keyword type="property" name="The “listen-port†property" link="NMDeviceWireGuard.html#NMDeviceWireGuard--listen-port"/>
     <keyword type="property" name="The “public-key†property" link="NMDeviceWireGuard.html#NMDeviceWireGuard--public-key"/>
-    <keyword type="function" name="NM_DEPRECATED_IN_1_24_FOR ()" link="NMDeviceWpan.html#NM-DEPRECATED-IN-1-24-FOR:CAPS" deprecated=""/>
     <keyword type="macro" name="NM_DEVICE_WPAN_HW_ADDRESS" link="NMDeviceWpan.html#NM-DEVICE-WPAN-HW-ADDRESS:CAPS"/>
     <keyword type="struct" name="NMDeviceWpan" link="NMDeviceWpan.html#NMDeviceWpan-struct"/>
     <keyword type="function" name="nm_active_connection_get_connection ()" link="NMActiveConnection.html#nm-active-connection-get-connection"/>
@@ -2906,10 +2905,10 @@
     <keyword type="function" name="nm_utils_ip6_addresses_from_variant ()" link="libnm-nm-utils.html#nm-utils-ip6-addresses-from-variant"/>
     <keyword type="function" name="nm_utils_ip6_routes_to_variant ()" link="libnm-nm-utils.html#nm-utils-ip6-routes-to-variant"/>
     <keyword type="function" name="nm_utils_ip6_routes_from_variant ()" link="libnm-nm-utils.html#nm-utils-ip6-routes-from-variant"/>
-    <keyword type="function" name="nm_utils_ip_addresses_to_variant ()" link="libnm-nm-utils.html#nm-utils-ip-addresses-to-variant"/>
-    <keyword type="function" name="nm_utils_ip_addresses_from_variant ()" link="libnm-nm-utils.html#nm-utils-ip-addresses-from-variant"/>
-    <keyword type="function" name="nm_utils_ip_routes_to_variant ()" link="libnm-nm-utils.html#nm-utils-ip-routes-to-variant"/>
-    <keyword type="function" name="nm_utils_ip_routes_from_variant ()" link="libnm-nm-utils.html#nm-utils-ip-routes-from-variant"/>
+    <keyword type="function" name="nm_utils_ip_addresses_to_variant ()" link="libnm-nm-utils.html#nm-utils-ip-addresses-to-variant" since="1.42, 1.40.4"/>
+    <keyword type="function" name="nm_utils_ip_addresses_from_variant ()" link="libnm-nm-utils.html#nm-utils-ip-addresses-from-variant" since="1.42, 1.40.4"/>
+    <keyword type="function" name="nm_utils_ip_routes_to_variant ()" link="libnm-nm-utils.html#nm-utils-ip-routes-to-variant" since="1.42, 1.40.4"/>
+    <keyword type="function" name="nm_utils_ip_routes_from_variant ()" link="libnm-nm-utils.html#nm-utils-ip-routes-from-variant" since="1.42, 1.40.4"/>
     <keyword type="function" name="nm_utils_uuid_generate ()" link="libnm-nm-utils.html#nm-utils-uuid-generate"/>
     <keyword type="function" name="NMUtilsFileSearchInPathsPredicate ()" link="libnm-nm-utils.html#NMUtilsFileSearchInPathsPredicate"/>
     <keyword type="function" name="NMUtilsCheckFilePredicate ()" link="libnm-nm-utils.html#NMUtilsCheckFilePredicate"/>
@@ -2931,7 +2930,7 @@
     <keyword type="function" name="nm_utils_bin2hexstr ()" link="libnm-nm-utils.html#nm-utils-bin2hexstr"/>
     <keyword type="function" name="nm_utils_hexstr2bin ()" link="libnm-nm-utils.html#nm-utils-hexstr2bin"/>
     <keyword type="function" name="nm_utils_iface_valid_name ()" link="libnm-nm-utils.html#nm-utils-iface-valid-name" deprecated="1.6: Use nm_utils_is_valid_iface_name() instead, with better error reporting."/>
-    <keyword type="function" name="nm_utils_is_valid_iface_name ()" link="libnm-nm-utils.html#nm-utils-is-valid-iface-name"/>
+    <keyword type="function" name="nm_utils_is_valid_iface_name ()" link="libnm-nm-utils.html#nm-utils-is-valid-iface-name" since="1.6"/>
     <keyword type="function" name="nm_utils_is_uuid ()" link="libnm-nm-utils.html#nm-utils-is-uuid" deprecated=""/>
     <keyword type="function" name="nm_utils_inet4_ntop ()" link="libnm-nm-utils.html#nm-utils-inet4-ntop"/>
     <keyword type="function" name="nm_utils_inet6_ntop ()" link="libnm-nm-utils.html#nm-utils-inet6-ntop"/>
@@ -2942,9 +2941,9 @@
     <keyword type="function" name="nm_utils_enum_to_str ()" link="libnm-nm-utils.html#nm-utils-enum-to-str" since="1.2"/>
     <keyword type="function" name="nm_utils_enum_from_str ()" link="libnm-nm-utils.html#nm-utils-enum-from-str" since="1.2"/>
     <keyword type="function" name="nm_utils_enum_get_values ()" link="libnm-nm-utils.html#nm-utils-enum-get-values" since="1.2"/>
-    <keyword type="function" name="nm_utils_version ()" link="libnm-nm-utils.html#nm-utils-version" since="1.6.0"/>
+    <keyword type="function" name="nm_utils_version ()" link="libnm-nm-utils.html#nm-utils-version" since="1.6"/>
     <keyword type="function" name="nm_utils_parse_variant_attributes ()" link="libnm-nm-utils.html#nm-utils-parse-variant-attributes" since="1.8"/>
-    <keyword type="function" name="nm_utils_format_variant_attributes ()" link="libnm-nm-utils.html#nm-utils-format-variant-attributes"/>
+    <keyword type="function" name="nm_utils_format_variant_attributes ()" link="libnm-nm-utils.html#nm-utils-format-variant-attributes" since="1.8"/>
     <keyword type="function" name="nm_utils_tc_qdisc_from_str ()" link="libnm-nm-utils.html#nm-utils-tc-qdisc-from-str" since="1.12"/>
     <keyword type="function" name="nm_utils_tc_qdisc_to_str ()" link="libnm-nm-utils.html#nm-utils-tc-qdisc-to-str" since="1.12"/>
     <keyword type="function" name="nm_utils_tc_action_from_str ()" link="libnm-nm-utils.html#nm-utils-tc-action-from-str" since="1.12"/>
@@ -2953,7 +2952,7 @@
     <keyword type="function" name="nm_utils_tc_tfilter_to_str ()" link="libnm-nm-utils.html#nm-utils-tc-tfilter-to-str" since="1.12"/>
     <keyword type="function" name="nm_utils_sriov_vf_to_str ()" link="libnm-nm-utils.html#nm-utils-sriov-vf-to-str" since="1.14"/>
     <keyword type="function" name="nm_utils_sriov_vf_from_str ()" link="libnm-nm-utils.html#nm-utils-sriov-vf-from-str" since="1.14"/>
-    <keyword type="function" name="nm_utils_get_timestamp_msec ()" link="libnm-nm-utils.html#nm-utils-get-timestamp-msec"/>
+    <keyword type="function" name="nm_utils_get_timestamp_msec ()" link="libnm-nm-utils.html#nm-utils-get-timestamp-msec" since="1.12"/>
     <keyword type="function" name="nm_utils_base64secret_decode ()" link="libnm-nm-utils.html#nm-utils-base64secret-decode" since="1.16"/>
     <keyword type="enum" name="enum NMUtilsSecurityType" link="libnm-nm-utils.html#NMUtilsSecurityType"/>
     <keyword type="macro" name="NM_UTILS_HWADDR_LEN_MAX" link="libnm-nm-utils.html#NM-UTILS-HWADDR-LEN-MAX:CAPS"/>
@@ -3029,14 +3028,15 @@
     <keyword type="macro" name="NM_AVAILABLE_IN_1_38" link="libnm-nm-version.html#NM-AVAILABLE-IN-1-38:CAPS"/>
     <keyword type="macro" name="NM_DEPRECATED_IN_1_40" link="libnm-nm-version.html#NM-DEPRECATED-IN-1-40:CAPS"/>
     <keyword type="macro" name="NM_AVAILABLE_IN_1_40" link="libnm-nm-version.html#NM-AVAILABLE-IN-1-40:CAPS"/>
+    <keyword type="macro" name="NM_AVAILABLE_IN_1_40_4" link="libnm-nm-version.html#NM-AVAILABLE-IN-1-40-4:CAPS"/>
     <keyword type="function" name="nm_vpn_service_plugin_get_connection ()" link="NMVpnServicePlugin.html#nm-vpn-service-plugin-get-connection" since="1.2"/>
     <keyword type="function" name="nm_vpn_service_plugin_secrets_required ()" link="NMVpnServicePlugin.html#nm-vpn-service-plugin-secrets-required" since="1.2"/>
-    <keyword type="function" name="nm_vpn_service_plugin_set_login_banner ()" link="NMVpnServicePlugin.html#nm-vpn-service-plugin-set-login-banner"/>
-    <keyword type="function" name="nm_vpn_service_plugin_failure ()" link="NMVpnServicePlugin.html#nm-vpn-service-plugin-failure"/>
-    <keyword type="function" name="nm_vpn_service_plugin_set_config ()" link="NMVpnServicePlugin.html#nm-vpn-service-plugin-set-config"/>
-    <keyword type="function" name="nm_vpn_service_plugin_set_ip4_config ()" link="NMVpnServicePlugin.html#nm-vpn-service-plugin-set-ip4-config"/>
-    <keyword type="function" name="nm_vpn_service_plugin_set_ip6_config ()" link="NMVpnServicePlugin.html#nm-vpn-service-plugin-set-ip6-config"/>
-    <keyword type="function" name="nm_vpn_service_plugin_disconnect ()" link="NMVpnServicePlugin.html#nm-vpn-service-plugin-disconnect"/>
+    <keyword type="function" name="nm_vpn_service_plugin_set_login_banner ()" link="NMVpnServicePlugin.html#nm-vpn-service-plugin-set-login-banner" since="1.2"/>
+    <keyword type="function" name="nm_vpn_service_plugin_failure ()" link="NMVpnServicePlugin.html#nm-vpn-service-plugin-failure" since="1.2"/>
+    <keyword type="function" name="nm_vpn_service_plugin_set_config ()" link="NMVpnServicePlugin.html#nm-vpn-service-plugin-set-config" since="1.2"/>
+    <keyword type="function" name="nm_vpn_service_plugin_set_ip4_config ()" link="NMVpnServicePlugin.html#nm-vpn-service-plugin-set-ip4-config" since="1.2"/>
+    <keyword type="function" name="nm_vpn_service_plugin_set_ip6_config ()" link="NMVpnServicePlugin.html#nm-vpn-service-plugin-set-ip6-config" since="1.2"/>
+    <keyword type="function" name="nm_vpn_service_plugin_disconnect ()" link="NMVpnServicePlugin.html#nm-vpn-service-plugin-disconnect" since="1.2"/>
     <keyword type="function" name="nm_vpn_service_plugin_shutdown ()" link="NMVpnServicePlugin.html#nm-vpn-service-plugin-shutdown" since="1.12"/>
     <keyword type="function" name="nm_vpn_service_plugin_read_vpn_details ()" link="NMVpnServicePlugin.html#nm-vpn-service-plugin-read-vpn-details" since="1.2"/>
     <keyword type="function" name="nm_vpn_service_plugin_get_secret_flags ()" link="NMVpnServicePlugin.html#nm-vpn-service-plugin-get-secret-flags" since="1.2"/>
@@ -3065,7 +3065,7 @@
     <keyword type="function" name="nm_vpn_plugin_info_get_program ()" link="NMVpnPluginInfo.html#nm-vpn-plugin-info-get-program" since="1.2"/>
     <keyword type="function" name="nm_vpn_plugin_info_get_auth_dialog ()" link="NMVpnPluginInfo.html#nm-vpn-plugin-info-get-auth-dialog" since="1.4"/>
     <keyword type="function" name="nm_vpn_plugin_info_supports_hints ()" link="NMVpnPluginInfo.html#nm-vpn-plugin-info-supports-hints" since="1.4"/>
-    <keyword type="function" name="nm_vpn_plugin_info_supports_multiple ()" link="NMVpnPluginInfo.html#nm-vpn-plugin-info-supports-multiple" since="1.2"/>
+    <keyword type="function" name="nm_vpn_plugin_info_supports_multiple ()" link="NMVpnPluginInfo.html#nm-vpn-plugin-info-supports-multiple" since="1.42, 1.40.4"/>
     <keyword type="function" name="nm_vpn_plugin_info_get_aliases ()" link="NMVpnPluginInfo.html#nm-vpn-plugin-info-get-aliases" since="1.4"/>
     <keyword type="function" name="nm_vpn_plugin_info_lookup_property ()" link="NMVpnPluginInfo.html#nm-vpn-plugin-info-lookup-property" since="1.2"/>
     <keyword type="function" name="nm_vpn_plugin_info_validate_filename ()" link="NMVpnPluginInfo.html#nm-vpn-plugin-info-validate-filename" since="1.2"/>
@@ -3122,9 +3122,7 @@
     <keyword type="function" name="nm_vpn_plugin_old_secrets_required ()" link="NMVpnPluginOld.html#nm-vpn-plugin-old-secrets-required" deprecated="1.2: Replaced by NMVpnServicePlugin."/>
     <keyword type="function" name="nm_vpn_plugin_old_set_login_banner ()" link="NMVpnPluginOld.html#nm-vpn-plugin-old-set-login-banner" deprecated="1.2: Replaced by NMVpnServicePlugin."/>
     <keyword type="function" name="nm_vpn_plugin_old_failure ()" link="NMVpnPluginOld.html#nm-vpn-plugin-old-failure" deprecated="1.2: Replaced by NMVpnServicePlugin."/>
-    <keyword type="function" name="nm_vpn_plugin_old_set_config ()" link="NMVpnPluginOld.html#nm-vpn-plugin-old-set-config" deprecated="1.2: Replaced by NMVpnServicePlugin."/>
     <keyword type="function" name="nm_vpn_plugin_old_set_ip4_config ()" link="NMVpnPluginOld.html#nm-vpn-plugin-old-set-ip4-config" deprecated="1.2: Replaced by NMVpnServicePlugin."/>
-    <keyword type="function" name="nm_vpn_plugin_old_set_ip6_config ()" link="NMVpnPluginOld.html#nm-vpn-plugin-old-set-ip6-config" deprecated="1.2: Replaced by NMVpnServicePlugin."/>
     <keyword type="function" name="nm_vpn_plugin_old_disconnect ()" link="NMVpnPluginOld.html#nm-vpn-plugin-old-disconnect" deprecated="1.2: Replaced by NMVpnServicePlugin."/>
     <keyword type="function" name="nm_vpn_plugin_old_read_vpn_details ()" link="NMVpnPluginOld.html#nm-vpn-plugin-old-read-vpn-details" deprecated="1.2: Replaced by NMVpnServicePlugin."/>
     <keyword type="function" name="nm_vpn_plugin_old_get_secret_flags ()" link="NMVpnPluginOld.html#nm-vpn-plugin-old-get-secret-flags" deprecated="1.2: Replaced by NMVpnServicePlugin."/>
diff --git a/docs/libnm/html/object-tree.html b/docs/libnm/html/object-tree.html
index ebc3205c..518a390a 100644
--- a/docs/libnm/html/object-tree.html
+++ b/docs/libnm/html/object-tree.html
@@ -214,10 +214,10 @@
     <span class="lineart">├──</span> <a class="link" href="libnm-nm-dbus-interface.html#NMTernary" title="enum NMTernary">NMTernary</a>
     <span class="lineart">├──</span> <a class="link" href="libnm-nm-utils.html#NMUtilsSecurityType" title="enum NMUtilsSecurityType">NMUtilsSecurityType</a>
     <span class="lineart">├──</span> <a class="link" href="NMSettingVlan.html#NMVlanPriorityMap" title="enum NMVlanPriorityMap">NMVlanPriorityMap</a>
-    <span class="lineart">├──</span> <a href="/usr/share/gtk-doc/html/NetworkManager/nm-vpn-dbus-types.html#NMVpnConnectionState">NMVpnConnectionState</a>
-    <span class="lineart">├──</span> <a href="/usr/share/gtk-doc/html/NetworkManager/nm-vpn-dbus-types.html#NMVpnConnectionStateReason">NMVpnConnectionStateReason</a>
-    <span class="lineart">├──</span> <a href="/usr/share/gtk-doc/html/NetworkManager/nm-vpn-dbus-types.html#NMVpnPluginFailure">NMVpnPluginFailure</a>
-    <span class="lineart">├──</span> <a href="/usr/share/gtk-doc/html/NetworkManager/nm-vpn-dbus-types.html#NMVpnServiceState">NMVpnServiceState</a>
+    <span class="lineart">├──</span> <a href="libnm-nm-vpn-dbus-interface.html#NMVpnConnectionState">NMVpnConnectionState</a>
+    <span class="lineart">├──</span> <a href="libnm-nm-vpn-dbus-interface.html#NMVpnConnectionStateReason">NMVpnConnectionStateReason</a>
+    <span class="lineart">├──</span> <a href="libnm-nm-vpn-dbus-interface.html#NMVpnPluginFailure">NMVpnPluginFailure</a>
+    <span class="lineart">├──</span> <a href="libnm-nm-vpn-dbus-interface.html#NMVpnServiceState">NMVpnServiceState</a>
     <span class="lineart">├──</span> <a class="link" href="NMSettingWirelessSecurity.html#NMWepKeyType" title="enum NMWepKeyType">NMWepKeyType</a>
     <span class="lineart">╰──</span> <a class="link" href="libnm-nm-dbus-interface.html#NMWimaxNspNetworkType" title="enum NMWimaxNspNetworkType">NMWimaxNspNetworkType</a>
     <a href="/usr/share/gtk-doc/html/gobject/gobject-Boxed-Types.html">GBoxed</a>
diff --git a/docs/libnm/html/usage.html b/docs/libnm/html/usage.html
index 5b5fb9ab..9e47ca3e 100644
--- a/docs/libnm/html/usage.html
+++ b/docs/libnm/html/usage.html
@@ -96,7 +96,7 @@
         </p>
 <pre class="screen"><code class="prompt">$ </code><strong class="userinput"><code>cc $(pkg-config --libs --cflags libnm) -o hello-nm hello-nm.c</code></strong>
   <code class="prompt">$ </code><strong class="userinput"><code>./hello-nm</code></strong>
-  NetworkManager version: 1.40.0
+  NetworkManager version: 1.40.6
 
   <code class="prompt">$ </code></pre>
 <p>
diff --git a/docs/libnm/libnm-sections.txt b/docs/libnm/libnm-sections.txt
index 241dc854..e497c044 100644
--- a/docs/libnm/libnm-sections.txt
+++ b/docs/libnm/libnm-sections.txt
@@ -165,6 +165,7 @@ NM_CLIENT_ACTIVE_CONNECTION_REMOVED
 NMClientError
 NM_CLIENT_ERROR
 nm_client_error_quark
+NMDnsEntry
 nm_dns_entry_unref
 nm_dns_entry_get_interface
 nm_dns_entry_get_nameservers
@@ -268,7 +269,6 @@ nm_utils_file_is_pkcs12
 NMClient
 <SUBSECTION Standard>
 NMClientClass
-NMDnsEntry
 NM_CLIENT
 NM_CLIENT_CLASS
 NM_CLIENT_GET_CLASS
@@ -854,7 +854,6 @@ nm_lldp_neighbor_get_type
 NM_DEVICE_6LOWPAN_PARENT
 NM_DEVICE_6LOWPAN_HW_ADDRESS
 nm_device_6lowpan_get_parent
-NM_DEPRECATED_IN_1_24_FOR
 NMDevice6Lowpan
 <SUBSECTION Standard>
 NMDevice6LowpanClass
@@ -1522,7 +1521,6 @@ nm_device_wireguard_get_type
 <FILE>nm-device-wpan</FILE>
 <TITLE>NMDeviceWpan</TITLE>
 NM_DEVICE_WPAN_HW_ADDRESS
-NM_DEPRECATED_IN_1_24_FOR
 NMDeviceWpan
 <SUBSECTION Standard>
 NMDeviceWpanClass
@@ -4475,6 +4473,7 @@ NM_AVAILABLE_IN_1_38
 NM_DEPRECATED_IN_1_40
 NM_DEPRECATED_IN_1_40_FOR
 NM_AVAILABLE_IN_1_40
+NM_AVAILABLE_IN_1_40_4
 </SECTION>
 
 <SECTION>
@@ -4507,6 +4506,7 @@ NM_VERSION_1_34
 NM_VERSION_1_36
 NM_VERSION_1_38
 NM_VERSION_1_40
+NM_VERSION_1_40_4
 NM_API_VERSION
 NM_VERSION_CUR_STABLE
 NM_VERSION_NEXT_STABLE
@@ -4705,9 +4705,7 @@ nm_vpn_plugin_old_set_state
 nm_vpn_plugin_old_secrets_required
 nm_vpn_plugin_old_set_login_banner
 nm_vpn_plugin_old_failure
-nm_vpn_plugin_old_set_config
 nm_vpn_plugin_old_set_ip4_config
-nm_vpn_plugin_old_set_ip6_config
 nm_vpn_plugin_old_disconnect
 nm_vpn_plugin_old_read_vpn_details
 nm_vpn_plugin_old_get_secret_flags
diff --git a/docs/libnm/version.xml b/docs/libnm/version.xml
index 32b7211c..4adfc24b 100644
--- a/docs/libnm/version.xml
+++ b/docs/libnm/version.xml
@@ -1 +1 @@
-1.40.0
+1.40.6
diff --git a/introspection/org.freedesktop.NetworkManager.xml b/introspection/org.freedesktop.NetworkManager.xml
index 65859881..16185706 100644
--- a/introspection/org.freedesktop.NetworkManager.xml
+++ b/introspection/org.freedesktop.NetworkManager.xml
@@ -130,7 +130,7 @@
         parameters. At this time the following options are supported:
 
          * persist: A string value of either "disk" (default), "memory" or "volatile". If "memory" is passed, the connection will not be saved to disk. If "volatile" is passed, the connection will not be saved to disk and will be destroyed when disconnected.
-         * bind-activation: Bind the activation lifetime. Set to "dbus-name" to automatically disconnect when the requesting process disappears from the bus. The default of "none" means the connection is kept activated normally.
+         * bind-activation: Bind the activation lifetime. Set to "dbus-client" to automatically disconnect when the requesting process disappears from the bus. The default of "none" means the connection is kept activated normally.
     -->
     <method name="AddAndActivateConnection2">
       <arg name="connection" type="a{sa{sv}}" direction="in"/>
diff --git a/m4/gettext.m4 b/m4/gettext.m4
index 4f25a27d..f4492405 100644
--- a/m4/gettext.m4
+++ b/m4/gettext.m4
@@ -1,4 +1,4 @@
-# gettext.m4 serial 71 (gettext-0.20.2)
+# gettext.m4 serial 72 (gettext-0.21.1)
 dnl Copyright (C) 1995-2014, 2016, 2018-2020 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
@@ -55,22 +55,22 @@ dnl
 AC_DEFUN([AM_GNU_GETTEXT],
 [
   dnl Argument checking.
-  ifelse([$1], [], , [ifelse([$1], [external], , [ifelse([$1], [use-libtool], ,
+  m4_if([$1], [], , [m4_if([$1], [external], , [m4_if([$1], [use-libtool], ,
     [errprint([ERROR: invalid first argument to AM_GNU_GETTEXT
 ])])])])
-  ifelse(ifelse([$1], [], [old])[]ifelse([$1], [no-libtool], [old]), [old],
+  m4_if(m4_if([$1], [], [old])[]m4_if([$1], [no-libtool], [old]), [old],
     [errprint([ERROR: Use of AM_GNU_GETTEXT without [external] argument is no longer supported.
 ])])
-  ifelse([$2], [], , [ifelse([$2], [need-ngettext], , [ifelse([$2], [need-formatstring-macros], ,
+  m4_if([$2], [], , [m4_if([$2], [need-ngettext], , [m4_if([$2], [need-formatstring-macros], ,
     [errprint([ERROR: invalid second argument to AM_GNU_GETTEXT
 ])])])])
   define([gt_included_intl],
-    ifelse([$1], [external], [no], [yes]))
+    m4_if([$1], [external], [no], [yes]))
   gt_NEEDS_INIT
   AM_GNU_GETTEXT_NEED([$2])
 
   AC_REQUIRE([AM_PO_SUBDIRS])dnl
-  ifelse(gt_included_intl, yes, [
+  m4_if(gt_included_intl, yes, [
     AC_REQUIRE([AM_INTL_SUBDIR])dnl
   ])
 
@@ -88,7 +88,7 @@ AC_DEFUN([AM_GNU_GETTEXT],
   dnl - Invoke AM_ICONV_LINKFLAGS_BODY here, outside any 'if'.
   dnl - Control the expansions in more detail using AC_PROVIDE_IFELSE.
   dnl Since AC_PROVIDE_IFELSE is not documented, we avoid it.
-  ifelse(gt_included_intl, yes, , [
+  m4_if(gt_included_intl, yes, , [
     AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY])
   ])
 
@@ -98,7 +98,7 @@ AC_DEFUN([AM_GNU_GETTEXT],
   dnl Set USE_NLS.
   AC_REQUIRE([AM_NLS])
 
-  ifelse(gt_included_intl, yes, [
+  m4_if(gt_included_intl, yes, [
     BUILD_INCLUDED_LIBINTL=no
     USE_INCLUDED_LIBINTL=no
   ])
@@ -118,7 +118,7 @@ AC_DEFUN([AM_GNU_GETTEXT],
   dnl If we use NLS figure out what method
   if test "$USE_NLS" = "yes"; then
     gt_use_preinstalled_gnugettext=no
-    ifelse(gt_included_intl, yes, [
+    m4_if(gt_included_intl, yes, [
       AC_MSG_CHECKING([whether included gettext is requested])
       AC_ARG_WITH([included-gettext],
         [  --with-included-gettext use the GNU gettext library included here],
@@ -174,7 +174,7 @@ return * gettext ("")$gt_expression_test_code + __GNU_GETTEXT_SYMBOL_EXPRESSION
 
         if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" != "yes"; }; then
           dnl Sometimes libintl requires libiconv, so first search for libiconv.
-          ifelse(gt_included_intl, yes, , [
+          m4_if(gt_included_intl, yes, , [
             AM_ICONV_LINK
           ])
           dnl Search for libintl and define LIBINTL, LTLIBINTL and INCINTL
@@ -261,7 +261,7 @@ return * gettext ("")$gt_expression_test_code + __GNU_GETTEXT_SYMBOL_EXPRESSION
           INCINTL=
         fi
 
-    ifelse(gt_included_intl, yes, [
+    m4_if(gt_included_intl, yes, [
         if test "$gt_use_preinstalled_gnugettext" != "yes"; then
           dnl GNU gettext is not found in the C library.
           dnl Fall back on included GNU gettext library.
@@ -273,8 +273,8 @@ return * gettext ("")$gt_expression_test_code + __GNU_GETTEXT_SYMBOL_EXPRESSION
         dnl Mark actions used to generate GNU NLS library.
         BUILD_INCLUDED_LIBINTL=yes
         USE_INCLUDED_LIBINTL=yes
-        LIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.la $LIBICONV $LIBTHREAD"
-        LTLIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.la $LTLIBICONV $LTLIBTHREAD"
+        LIBINTL="m4_if([$3],[],\${top_builddir}/intl,[$3])/libintl.la $LIBICONV $LIBTHREAD"
+        LTLIBINTL="m4_if([$3],[],\${top_builddir}/intl,[$3])/libintl.la $LTLIBICONV $LTLIBTHREAD"
         LIBS=`echo " $LIBS " | sed -e 's/ -lintl / /' -e 's/^ //' -e 's/ $//'`
       fi
 
@@ -341,7 +341,7 @@ return * gettext ("")$gt_expression_test_code + __GNU_GETTEXT_SYMBOL_EXPRESSION
     POSUB=po
   fi
 
-  ifelse(gt_included_intl, yes, [
+  m4_if(gt_included_intl, yes, [
     dnl In GNU gettext we have to set BUILD_INCLUDED_LIBINTL to 'yes'
     dnl because some of the testsuite requires it.
     BUILD_INCLUDED_LIBINTL=yes
diff --git a/m4/host-cpu-c-abi.m4 b/m4/host-cpu-c-abi.m4
index 6db2aa25..b9223241 100644
--- a/m4/host-cpu-c-abi.m4
+++ b/m4/host-cpu-c-abi.m4
@@ -1,5 +1,5 @@
-# host-cpu-c-abi.m4 serial 13
-dnl Copyright (C) 2002-2020 Free Software Foundation, Inc.
+# host-cpu-c-abi.m4 serial 15
+dnl Copyright (C) 2002-2022 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
@@ -211,7 +211,7 @@ changequote([,])dnl
          # be generating 64-bit code.
          AC_COMPILE_IFELSE(
            [AC_LANG_SOURCE(
-              [[#if defined __powerpc64__ || defined _ARCH_PPC64
+              [[#if defined __powerpc64__ || defined __LP64__
                  int ok;
                 #else
                  error fail
@@ -382,6 +382,9 @@ EOF
 #ifndef __ia64__
 #undef __ia64__
 #endif
+#ifndef __loongarch64__
+#undef __loongarch64__
+#endif
 #ifndef __m68k__
 #undef __m68k__
 #endif
@@ -605,7 +608,7 @@ changequote([,])dnl
            # be generating 64-bit code.
            AC_COMPILE_IFELSE(
              [AC_LANG_SOURCE(
-                [[#if defined __powerpc64__ || defined _ARCH_PPC64
+                [[#if defined __powerpc64__ || defined __LP64__
                    int ok;
                   #else
                    error fail
diff --git a/m4/iconv.m4 b/m4/iconv.m4
index e593b727..00057953 100644
--- a/m4/iconv.m4
+++ b/m4/iconv.m4
@@ -1,5 +1,5 @@
-# iconv.m4 serial 21
-dnl Copyright (C) 2000-2002, 2007-2014, 2016-2020 Free Software Foundation,
+# iconv.m4 serial 24
+dnl Copyright (C) 2000-2002, 2007-2014, 2016-2022 Free Software Foundation,
 dnl Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
@@ -7,6 +7,12 @@ dnl with or without modifications, as long as this notice is preserved.
 
 dnl From Bruno Haible.
 
+AC_PREREQ([2.64])
+
+dnl Note: AM_ICONV is documented in the GNU gettext manual
+dnl <https://www.gnu.org/software/gettext/manual/html_node/AM_005fICONV.html>.
+dnl Don't make changes that are incompatible with that documentation!
+
 AC_DEFUN([AM_ICONV_LINKFLAGS_BODY],
 [
   dnl Prerequisites of AC_LIB_LINKFLAGS_BODY.
@@ -86,8 +92,9 @@ AC_DEFUN([AM_ICONV_LINK],
 #endif
              ]],
              [[int result = 0;
-  /* Test against AIX 5.1 bug: Failures are not distinguishable from successful
-     returns.  */
+  /* Test against AIX 5.1...7.2 bug: Failures are not distinguishable from
+     successful returns.  This is even documented in
+     <https://www.ibm.com/support/knowledgecenter/ssw_aix_72/i_bostechref/iconv.html> */
   {
     iconv_t cd_utf8_to_88591 = iconv_open ("ISO8859-1", "UTF-8");
     if (cd_utf8_to_88591 != (iconv_t)(-1))
@@ -225,8 +232,7 @@ AC_DEFUN([AM_ICONV_LINK],
   AC_SUBST([LTLIBICONV])
 ])
 
-dnl Define AM_ICONV using AC_DEFUN_ONCE for Autoconf >= 2.64, in order to
-dnl avoid warnings like
+dnl Define AM_ICONV using AC_DEFUN_ONCE, in order to avoid warnings like
 dnl "warning: AC_REQUIRE: `AM_ICONV' was expanded before it was required".
 dnl This is tricky because of the way 'aclocal' is implemented:
 dnl - It requires defining an auxiliary macro whose name ends in AC_DEFUN.
@@ -234,54 +240,43 @@ dnl   Otherwise aclocal's initial scan pass would miss the macro definition.
 dnl - It requires a line break inside the AC_DEFUN_ONCE and AC_DEFUN expansions.
 dnl   Otherwise aclocal would emit many "Use of uninitialized value $1"
 dnl   warnings.
-m4_define([gl_iconv_AC_DEFUN],
-  m4_version_prereq([2.64],
-    [[AC_DEFUN_ONCE(
-        [$1], [$2])]],
-    [m4_ifdef([gl_00GNULIB],
-       [[AC_DEFUN_ONCE(
-           [$1], [$2])]],
-       [[AC_DEFUN(
-           [$1], [$2])]])]))
-gl_iconv_AC_DEFUN([AM_ICONV],
+AC_DEFUN_ONCE([AM_ICONV],
 [
   AM_ICONV_LINK
   if test "$am_cv_func_iconv" = yes; then
-    AC_MSG_CHECKING([for iconv declaration])
-    AC_CACHE_VAL([am_cv_proto_iconv], [
-      AC_COMPILE_IFELSE(
-        [AC_LANG_PROGRAM(
-           [[
+    AC_CACHE_CHECK([whether iconv is compatible with its POSIX signature],
+      [gl_cv_iconv_nonconst],
+      [AC_COMPILE_IFELSE(
+         [AC_LANG_PROGRAM(
+            [[
 #include <stdlib.h>
 #include <iconv.h>
 extern
 #ifdef __cplusplus
 "C"
 #endif
-#if defined(__STDC__) || defined(_MSC_VER) || defined(__cplusplus)
 size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);
-#else
-size_t iconv();
-#endif
-           ]],
-           [[]])],
-        [am_cv_proto_iconv_arg1=""],
-        [am_cv_proto_iconv_arg1="const"])
-      am_cv_proto_iconv="extern size_t iconv (iconv_t cd, $am_cv_proto_iconv_arg1 char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);"])
-    am_cv_proto_iconv=`echo "[$]am_cv_proto_iconv" | tr -s ' ' | sed -e 's/( /(/'`
-    AC_MSG_RESULT([
-         $am_cv_proto_iconv])
+            ]],
+            [[]])],
+         [gl_cv_iconv_nonconst=yes],
+         [gl_cv_iconv_nonconst=no])
+      ])
   else
     dnl When compiling GNU libiconv on a system that does not have iconv yet,
     dnl pick the POSIX compliant declaration without 'const'.
-    am_cv_proto_iconv_arg1=""
+    gl_cv_iconv_nonconst=yes
+  fi
+  if test $gl_cv_iconv_nonconst = yes; then
+    iconv_arg1=""
+  else
+    iconv_arg1="const"
   fi
-  AC_DEFINE_UNQUOTED([ICONV_CONST], [$am_cv_proto_iconv_arg1],
+  AC_DEFINE_UNQUOTED([ICONV_CONST], [$iconv_arg1],
     [Define as const if the declaration of iconv() needs const.])
   dnl Also substitute ICONV_CONST in the gnulib generated <iconv.h>.
   m4_ifdef([gl_ICONV_H_DEFAULTS],
     [AC_REQUIRE([gl_ICONV_H_DEFAULTS])
-     if test -n "$am_cv_proto_iconv_arg1"; then
+     if test $gl_cv_iconv_nonconst != yes; then
        ICONV_CONST="const"
      fi
     ])
diff --git a/m4/intlmacosx.m4 b/m4/intlmacosx.m4
index ebd9937c..ecc88d6e 100644
--- a/m4/intlmacosx.m4
+++ b/m4/intlmacosx.m4
@@ -1,5 +1,5 @@
 # intlmacosx.m4 serial 8 (gettext-0.20.2)
-dnl Copyright (C) 2004-2014, 2016, 2019-2020 Free Software Foundation, Inc.
+dnl Copyright (C) 2004-2014, 2016, 2019-2022 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
diff --git a/m4/lib-ld.m4 b/m4/lib-ld.m4
index 98c348fa..934207a7 100644
--- a/m4/lib-ld.m4
+++ b/m4/lib-ld.m4
@@ -1,5 +1,5 @@
-# lib-ld.m4 serial 9
-dnl Copyright (C) 1996-2003, 2009-2020 Free Software Foundation, Inc.
+# lib-ld.m4 serial 10
+dnl Copyright (C) 1996-2003, 2009-2022 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
@@ -122,7 +122,7 @@ else
       *-*-aix*)
         AC_COMPILE_IFELSE(
           [AC_LANG_SOURCE(
-             [[#if defined __powerpc64__ || defined _ARCH_PPC64
+             [[#if defined __powerpc64__ || defined __LP64__
                 int ok;
                #else
                 error fail
diff --git a/m4/lib-link.m4 b/m4/lib-link.m4
index eecf70ec..3b75bcd0 100644
--- a/m4/lib-link.m4
+++ b/m4/lib-link.m4
@@ -1,5 +1,5 @@
-# lib-link.m4 serial 31
-dnl Copyright (C) 2001-2020 Free Software Foundation, Inc.
+# lib-link.m4 serial 33
+dnl Copyright (C) 2001-2022 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
@@ -196,8 +196,8 @@ AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
     eval additional_libdir3=\"$exec_prefix/$acl_libdirstem3\"
   ])
   AC_ARG_WITH(PACK[-prefix],
-[[  --with-]]PACK[[-prefix[=DIR]  search for ]PACKLIBS[ in DIR/include and DIR/lib
-  --without-]]PACK[[-prefix     don't search for ]PACKLIBS[ in includedir and libdir]],
+[[  --with-]]PACK[[-prefix[=DIR]  search for ]]PACKLIBS[[ in DIR/include and DIR/lib
+  --without-]]PACK[[-prefix     don't search for ]]PACKLIBS[[ in includedir and libdir]],
 [
     if test "X$withval" = "Xno"; then
       use_additional=no
@@ -631,7 +631,20 @@ AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
                     ;;
                   -l*)
                     dnl Handle this in the next round.
-                    names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'`
+                    dnl But on GNU systems, ignore -lc options, because
+                    dnl   - linking with libc is the default anyway,
+                    dnl   - linking with libc.a may produce an error
+                    dnl     "/usr/bin/ld: dynamic STT_GNU_IFUNC symbol `strcmp' with pointer equality in `/usr/lib/libc.a(strcmp.o)' can not be used when making an executable; recompile with -fPIE and relink with -pie"
+                    dnl     or may produce an executable that always crashes, see
+                    dnl     <https://lists.gnu.org/archive/html/grep-devel/2020-09/msg00052.html>.
+                    dep=`echo "X$dep" | sed -e 's/^X-l//'`
+                    if test "X$dep" != Xc \
+                       || case $host_os in
+                            linux* | gnu* | k*bsd*-gnu) false ;;
+                            *)                          true ;;
+                          esac; then
+                      names_next_round="$names_next_round $dep"
+                    fi
                     ;;
                   *.la)
                     dnl Handle this in the next round. Throw away the .la's
diff --git a/m4/lib-prefix.m4 b/m4/lib-prefix.m4
index c8a0b464..999f712f 100644
--- a/m4/lib-prefix.m4
+++ b/m4/lib-prefix.m4
@@ -1,5 +1,5 @@
-# lib-prefix.m4 serial 17
-dnl Copyright (C) 2001-2005, 2008-2020 Free Software Foundation, Inc.
+# lib-prefix.m4 serial 20
+dnl Copyright (C) 2001-2005, 2008-2022 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
@@ -174,14 +174,14 @@ AC_DEFUN([AC_LIB_PREPARE_MULTILIB],
 
   AC_CACHE_CHECK([for ELF binary format], [gl_cv_elf],
     [AC_EGREP_CPP([Extensible Linking Format],
-       [#ifdef __ELF__
+       [#if defined __ELF__ || (defined __linux__ && defined __EDG__)
         Extensible Linking Format
         #endif
        ],
        [gl_cv_elf=yes],
        [gl_cv_elf=no])
-     ])
-  if test $gl_cv_elf; then
+    ])
+  if test $gl_cv_elf = yes; then
     # Extract the ELF class of a file (5th byte) in decimal.
     # Cf. https://en.wikipedia.org/wiki/Executable_and_Linkable_Format#File_header
     if od -A x < /dev/null >/dev/null 2>/dev/null; then
@@ -198,20 +198,23 @@ AC_DEFUN([AC_LIB_PREPARE_MULTILIB],
         echo
       }
     fi
+    # Use 'expr', not 'test', to compare the values of func_elfclass, because on
+    # Solaris 11 OpenIndiana and Solaris 11 OmniOS, the result is 001 or 002,
+    # not 1 or 2.
 changequote(,)dnl
     case $HOST_CPU_C_ABI_32BIT in
       yes)
         # 32-bit ABI.
         acl_is_expected_elfclass ()
         {
-          test "`func_elfclass | sed -e 's/[ 	]//g'`" = 1
+          expr "`func_elfclass | sed -e 's/[ 	]//g'`" = 1 > /dev/null
         }
         ;;
       no)
         # 64-bit ABI.
         acl_is_expected_elfclass ()
         {
-          test "`func_elfclass | sed -e 's/[ 	]//g'`" = 2
+          expr "`func_elfclass | sed -e 's/[ 	]//g'`" = 2 > /dev/null
         }
         ;;
       *)
diff --git a/m4/nls.m4 b/m4/nls.m4
index 5a506fc4..7c11c90f 100644
--- a/m4/nls.m4
+++ b/m4/nls.m4
@@ -1,5 +1,5 @@
 # nls.m4 serial 6 (gettext-0.20.2)
-dnl Copyright (C) 1995-2003, 2005-2006, 2008-2014, 2016, 2019-2020 Free
+dnl Copyright (C) 1995-2003, 2005-2006, 2008-2014, 2016, 2019-2022 Free
 dnl Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
diff --git a/m4/po.m4 b/m4/po.m4
index 3778fd7a..2f14f8e2 100644
--- a/m4/po.m4
+++ b/m4/po.m4
@@ -1,5 +1,5 @@
-# po.m4 serial 31 (gettext-0.20.2)
-dnl Copyright (C) 1995-2014, 2016, 2018-2020 Free Software Foundation, Inc.
+# po.m4 serial 32 (gettext-0.21.1)
+dnl Copyright (C) 1995-2014, 2016, 2018-2022 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
@@ -179,7 +179,9 @@ changequote([,])dnl
                 #      presentlang can be used as a fallback for messages
                 #      which are not translated in the desiredlang catalog).
                 case "$desiredlang" in
-                  "$presentlang"*) useit=yes;;
+                  "$presentlang" | "$presentlang"_* | "$presentlang".* | "$presentlang"@*)
+                    useit=yes
+                    ;;
                 esac
               done
               if test $useit = yes; then
@@ -379,7 +381,9 @@ changequote([,])dnl
         #      presentlang can be used as a fallback for messages
         #      which are not translated in the desiredlang catalog).
         case "$desiredlang" in
-          "$presentlang"*) useit=yes;;
+          "$presentlang" | "$presentlang"_* | "$presentlang".* | "$presentlang"@*)
+            useit=yes
+            ;;
         esac
       done
       if test $useit = yes; then
diff --git a/m4/progtest.m4 b/m4/progtest.m4
index f28010ae..4a5b0b4c 100644
--- a/m4/progtest.m4
+++ b/m4/progtest.m4
@@ -1,5 +1,5 @@
-# progtest.m4 serial 8 (gettext-0.20.2)
-dnl Copyright (C) 1996-2003, 2005, 2008-2020 Free Software Foundation, Inc.
+# progtest.m4 serial 9 (gettext-0.21.1)
+dnl Copyright (C) 1996-2003, 2005, 2008-2022 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
@@ -16,7 +16,7 @@ dnl They are *not* in the public domain.
 dnl Authors:
 dnl   Ulrich Drepper <drepper@cygnus.com>, 1996.
 
-AC_PREREQ([2.50])
+AC_PREREQ([2.53])
 
 # Search path for a program which passes the given test.
 
@@ -61,7 +61,7 @@ AC_CACHE_VAL([ac_cv_path_$1],
     ;;
   *)
     ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR
-    for ac_dir in ifelse([$5], , $PATH, [$5]); do
+    for ac_dir in m4_if([$5], , $PATH, [$5]); do
       IFS="$ac_save_IFS"
       test -z "$ac_dir" && ac_dir=.
       for ac_exec_ext in '' $ac_executable_extensions; do
@@ -77,12 +77,12 @@ AC_CACHE_VAL([ac_cv_path_$1],
     IFS="$ac_save_IFS"
 dnl If no 4th arg is given, leave the cache variable unset,
 dnl so AC_PATH_PROGS will keep looking.
-ifelse([$4], , , [  test -z "[$]ac_cv_path_$1" && ac_cv_path_$1="$4"
+m4_if([$4], , , [  test -z "[$]ac_cv_path_$1" && ac_cv_path_$1="$4"
 ])dnl
     ;;
 esac])dnl
 $1="$ac_cv_path_$1"
-if test ifelse([$4], , [-n "[$]$1"], ["[$]$1" != "$4"]); then
+if test m4_if([$4], , [-n "[$]$1"], ["[$]$1" != "$4"]); then
   AC_MSG_RESULT([$][$1])
 else
   AC_MSG_RESULT([no])
diff --git a/man/NetworkManager-dispatcher.8 b/man/NetworkManager-dispatcher.8
index f196603c..d3f63517 100644
--- a/man/NetworkManager-dispatcher.8
+++ b/man/NetworkManager-dispatcher.8
@@ -2,9 +2,9 @@
 .\"     Title: NetworkManager-dispatcher
 .\"    Author: 
 .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
-.\"      Date: 08/26/2022
+.\"      Date: 11/30/2022
 .\"    Manual: Network management daemons
-.\"    Source: NetworkManager-dispatcher 1.40.0
+.\"    Source: NetworkManager-dispatcher 1.40.6
 .\"  Language: English
 .\"
 .TH "NETWORKMANAGER\-DISPATCHER" "8" "" "NetworkManager\-dispatcher 1\&" "Network management daemons"
diff --git a/man/NetworkManager-wait-online.service.8 b/man/NetworkManager-wait-online.service.8
index 6d448854..d9f16857 100644
--- a/man/NetworkManager-wait-online.service.8
+++ b/man/NetworkManager-wait-online.service.8
@@ -2,9 +2,9 @@
 .\"     Title: NetworkManager-wait-online.service
 .\"    Author: 
 .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
-.\"      Date: 08/26/2022
+.\"      Date: 11/30/2022
 .\"    Manual: Network management daemons
-.\"    Source: NetworkManager-wait-online.service 1.40.0
+.\"    Source: NetworkManager-wait-online.service 1.40.6
 .\"  Language: English
 .\"
 .TH "NETWORKMANAGER\-WAIT\-ONLINE\&" "8" "" "NetworkManager\-wait\-online\&" "Network management daemons"
diff --git a/man/NetworkManager.8 b/man/NetworkManager.8
index 8570a569..f2ab69e6 100644
--- a/man/NetworkManager.8
+++ b/man/NetworkManager.8
@@ -2,12 +2,12 @@
 .\"     Title: NetworkManager
 .\"    Author: 
 .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
-.\"      Date: 08/26/2022
+.\"      Date: 11/30/2022
 .\"    Manual: Network management daemons
-.\"    Source: NetworkManager 1.40.0
+.\"    Source: NetworkManager 1.40.6
 .\"  Language: English
 .\"
-.TH "NETWORKMANAGER" "8" "" "NetworkManager 1\&.40\&.0" "Network management daemons"
+.TH "NETWORKMANAGER" "8" "" "NetworkManager 1\&.40\&.6" "Network management daemons"
 .\" -----------------------------------------------------------------
 .\" * Define some portability stuff
 .\" -----------------------------------------------------------------
diff --git a/man/NetworkManager.conf.5 b/man/NetworkManager.conf.5
index 2adc374a..3373214a 100644
--- a/man/NetworkManager.conf.5
+++ b/man/NetworkManager.conf.5
@@ -2,12 +2,12 @@
 .\"     Title: NetworkManager.conf
 .\"    Author: 
 .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
-.\"      Date: 08/26/2022
+.\"      Date: 11/30/2022
 .\"    Manual: Configuration
-.\"    Source: NetworkManager 1.40.0
+.\"    Source: NetworkManager 1.40.6
 .\"  Language: English
 .\"
-.TH "NETWORKMANAGER\&.CONF" "5" "" "NetworkManager 1\&.40\&.0" "Configuration"
+.TH "NETWORKMANAGER\&.CONF" "5" "" "NetworkManager 1\&.40\&.6" "Configuration"
 .\" -----------------------------------------------------------------
 .\" * Define some portability stuff
 .\" -----------------------------------------------------------------
diff --git a/man/nm-cloud-setup.8 b/man/nm-cloud-setup.8
index 0d5a6c3e..a750efaa 100644
--- a/man/nm-cloud-setup.8
+++ b/man/nm-cloud-setup.8
@@ -2,12 +2,12 @@
 .\"     Title: nm-cloud-setup
 .\"    Author: 
 .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
-.\"      Date: 08/26/2022
+.\"      Date: 11/30/2022
 .\"    Manual: Automatic Network Configuration in Cloud with NetworkManager
-.\"    Source: NetworkManager 1.40.0
+.\"    Source: NetworkManager 1.40.6
 .\"  Language: English
 .\"
-.TH "NM\-CLOUD\-SETUP" "8" "" "NetworkManager 1\&.40\&.0" "Automatic Network Configuratio"
+.TH "NM\-CLOUD\-SETUP" "8" "" "NetworkManager 1\&.40\&.6" "Automatic Network Configuratio"
 .\" -----------------------------------------------------------------
 .\" * Define some portability stuff
 .\" -----------------------------------------------------------------
diff --git a/man/nm-initrd-generator.8 b/man/nm-initrd-generator.8
index 7ec3ecf7..f3b45def 100644
--- a/man/nm-initrd-generator.8
+++ b/man/nm-initrd-generator.8
@@ -2,12 +2,12 @@
 .\"     Title: nm-initrd-generator
 .\"    Author: 
 .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
-.\"      Date: 08/26/2022
+.\"      Date: 11/30/2022
 .\"    Manual: System Administration
-.\"    Source: NetworkManager 1.40.0
+.\"    Source: NetworkManager 1.40.6
 .\"  Language: English
 .\"
-.TH "NM\-INITRD\-GENERATOR" "8" "" "NetworkManager 1\&.40\&.0" "System Administration"
+.TH "NM\-INITRD\-GENERATOR" "8" "" "NetworkManager 1\&.40\&.6" "System Administration"
 .\" -----------------------------------------------------------------
 .\" * Define some portability stuff
 .\" -----------------------------------------------------------------
diff --git a/man/nm-online.1 b/man/nm-online.1
index cf0dc253..03bb9cfb 100644
--- a/man/nm-online.1
+++ b/man/nm-online.1
@@ -2,12 +2,12 @@
 .\"     Title: nm-online
 .\"    Author: 
 .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
-.\"      Date: 08/26/2022
+.\"      Date: 11/30/2022
 .\"    Manual: General Commands Manual
-.\"    Source: NetworkManager 1.40.0
+.\"    Source: NetworkManager 1.40.6
 .\"  Language: English
 .\"
-.TH "NM\-ONLINE" "1" "" "NetworkManager 1\&.40\&.0" "General Commands Manual"
+.TH "NM\-ONLINE" "1" "" "NetworkManager 1\&.40\&.6" "General Commands Manual"
 .\" -----------------------------------------------------------------
 .\" * Define some portability stuff
 .\" -----------------------------------------------------------------
diff --git a/man/nm-openvswitch.7 b/man/nm-openvswitch.7
index 4d43136e..73ea2a99 100644
--- a/man/nm-openvswitch.7
+++ b/man/nm-openvswitch.7
@@ -2,12 +2,12 @@
 .\"     Title: nm-openvswitch
 .\"    Author: 
 .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
-.\"      Date: 08/26/2022
+.\"      Date: 11/30/2022
 .\"    Manual: Open vSwitch support overview
-.\"    Source: NetworkManager 1.40.0
+.\"    Source: NetworkManager 1.40.6
 .\"  Language: English
 .\"
-.TH "NM\-OPENVSWITCH" "7" "" "NetworkManager 1\&.40\&.0" "Open vSwitch support overview"
+.TH "NM\-OPENVSWITCH" "7" "" "NetworkManager 1\&.40\&.6" "Open vSwitch support overview"
 .\" -----------------------------------------------------------------
 .\" * Define some portability stuff
 .\" -----------------------------------------------------------------
diff --git a/man/nm-settings-dbus.5 b/man/nm-settings-dbus.5
index 38b29ab1..57bcba96 100644
--- a/man/nm-settings-dbus.5
+++ b/man/nm-settings-dbus.5
@@ -2,12 +2,12 @@
 .\"     Title: nm-settings-dbus
 .\"    Author: 
 .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
-.\"      Date: 08/26/2022
+.\"      Date: 11/30/2022
 .\"    Manual: Configuration
-.\"    Source: NetworkManager 1.40.0
+.\"    Source: NetworkManager 1.40.6
 .\"  Language: English
 .\"
-.TH "NM\-SETTINGS\-DBUS" "5" "" "NetworkManager 1\&.40\&.0" "Configuration"
+.TH "NM\-SETTINGS\-DBUS" "5" "" "NetworkManager 1\&.40\&.6" "Configuration"
 .\" -----------------------------------------------------------------
 .\" * Define some portability stuff
 .\" -----------------------------------------------------------------
@@ -2196,8 +2196,6 @@ T}:T{
 \ \&
 T}:T{
 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
 T}
 T{
 dns
@@ -2302,8 +2300,6 @@ T}:T{
 Enable and disable the IPv4 link\-local configuration independently of the ipv4\&.method configuration\&. This allows a link\-local address (169\&.254\&.x\&.y/16) to be obtained in addition to other addresses, such as those manually configured or obtained from a DHCP server\&.
 
  When set to "auto", the value is dependent on "ipv4\&.method"\&. When set to "default", it honors the global connection default, before falling back to "auto"\&. Note that if "ipv4\&.method" is "disabled", then link local addressing is always disabled too\&. The default is "default"\&.
-
- Since 1\&.40
 T}
 T{
 may\-fail
diff --git a/man/nm-settings-dbus.xml b/man/nm-settings-dbus.xml
index 801989ab..d02addff 100644
--- a/man/nm-settings-dbus.xml
+++ b/man/nm-settings-dbus.xml
@@ -1,6 +1,6 @@
 <?xml version="1.0"?>
 <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
-<refentry id="nm-settings-dbus"><refentryinfo><title>nm-settings-dbus</title><author>NetworkManager developers</author></refentryinfo><refmeta><refentrytitle>nm-settings-dbus</refentrytitle><manvolnum>5</manvolnum><refmiscinfo class="source">NetworkManager</refmiscinfo><refmiscinfo class="manual">Configuration</refmiscinfo><refmiscinfo class="version">1.40.0</refmiscinfo></refmeta><refnamediv><refname>nm-settings-dbus</refname><refpurpose>Description of settings and properties of NetworkManager connection profiles on the D-Bus API</refpurpose></refnamediv><refsect1 id="description"><title>Description</title><para>
+<refentry id="nm-settings-dbus"><refentryinfo><title>nm-settings-dbus</title><author>NetworkManager developers</author></refentryinfo><refmeta><refentrytitle>nm-settings-dbus</refentrytitle><manvolnum>5</manvolnum><refmiscinfo class="source">NetworkManager</refmiscinfo><refmiscinfo class="manual">Configuration</refmiscinfo><refmiscinfo class="version">1.40.6</refmiscinfo></refmeta><refnamediv><refname>nm-settings-dbus</refname><refpurpose>Description of settings and properties of NetworkManager connection profiles on the D-Bus API</refpurpose></refnamediv><refsect1 id="description"><title>Description</title><para>
           NetworkManager is based on a concept of connection profiles, sometimes referred to as
           connections only. These connection profiles contain a network configuration. When
           NetworkManager activates a connection profile on a network device the configuration will
@@ -166,9 +166,7 @@
 
  This property is currently not implemented for DHCPv6.</entry></row><row><entry align="left" id="nm-settings-dbus.property.ipv4.dhcp-send-hostname">dhcp-send-hostname</entry><entry align="left">boolean</entry><entry align="left">TRUE</entry><entry> If TRUE, a hostname is sent to the DHCP server when acquiring a lease. Some DHCP servers use this hostname to update DNS databases, essentially providing a static hostname for the computer.  If the "dhcp-hostname" property is NULL and this property is TRUE, the current persistent hostname of the computer is sent.</entry></row><row><entry align="left" id="nm-settings-dbus.property.ipv4.dhcp-timeout">dhcp-timeout</entry><entry align="left">int32</entry><entry align="left">0</entry><entry> A timeout for a DHCP transaction in seconds. If zero (the default), a globally configured default is used. If still unspecified, a device specific timeout is used (usually 45 seconds).
 
- Set to 2147483647 (MAXINT32) for infinity.</entry></row><row><entry align="left" id="nm-settings-dbus.property.ipv4.dhcp-vendor-class-identifier">dhcp-vendor-class-identifier</entry><entry align="left">string</entry><entry align="left"/><entry> The Vendor Class Identifier DHCP option (60). Special characters in the data string may be escaped using C-style escapes, nevertheless this property cannot contain nul bytes. If the per-profile value is unspecified (the default), a global connection default gets consulted. If still unspecified, the DHCP option is not sent to the server.
-
- Since 1.28</entry></row><row><entry align="left" id="nm-settings-dbus.property.ipv4.dns">dns</entry><entry align="left">array of uint32</entry><entry align="left"/><entry>Array of IP addresses of DNS servers (as network-byte-order integers)</entry></row><row><entry align="left" id="nm-settings-dbus.property.ipv4.dns-options">dns-options</entry><entry align="left">array of string</entry><entry align="left"/><entry> Array of DNS options as described in man 5 resolv.conf.
+ Set to 2147483647 (MAXINT32) for infinity.</entry></row><row><entry align="left" id="nm-settings-dbus.property.ipv4.dhcp-vendor-class-identifier">dhcp-vendor-class-identifier</entry><entry align="left">string</entry><entry align="left"/><entry> The Vendor Class Identifier DHCP option (60). Special characters in the data string may be escaped using C-style escapes, nevertheless this property cannot contain nul bytes. If the per-profile value is unspecified (the default), a global connection default gets consulted. If still unspecified, the DHCP option is not sent to the server.</entry></row><row><entry align="left" id="nm-settings-dbus.property.ipv4.dns">dns</entry><entry align="left">array of uint32</entry><entry align="left"/><entry>Array of IP addresses of DNS servers (as network-byte-order integers)</entry></row><row><entry align="left" id="nm-settings-dbus.property.ipv4.dns-options">dns-options</entry><entry align="left">array of string</entry><entry align="left"/><entry> Array of DNS options as described in man 5 resolv.conf.
 
  NULL means that the options are unset and left at the default. In this case NetworkManager will use default options. This is distinct from an empty list of properties.
 
@@ -200,9 +198,7 @@
 
  Note that the gateway usually conflicts with routing that NetworkManager configures for WireGuard interfaces, so usually it should not be set in that case. See "ip4-auto-default-route".</entry></row><row><entry align="left" id="nm-settings-dbus.property.ipv4.ignore-auto-dns">ignore-auto-dns</entry><entry align="left">boolean</entry><entry align="left">FALSE</entry><entry> When "method" is set to "auto" and this property to TRUE, automatically configured name servers and search domains are ignored and only name servers and search domains specified in the "dns" and "dns-search" properties, if any, are used.</entry></row><row><entry align="left" id="nm-settings-dbus.property.ipv4.ignore-auto-routes">ignore-auto-routes</entry><entry align="left">boolean</entry><entry align="left">FALSE</entry><entry> When "method" is set to "auto" and this property to TRUE, automatically configured routes are ignored and only routes specified in the "routes" property, if any, are used.</entry></row><row><entry align="left" id="nm-settings-dbus.property.ipv4.link-local">link-local</entry><entry align="left">int32</entry><entry align="left">0</entry><entry> Enable and disable the IPv4 link-local configuration independently of the ipv4.method configuration. This allows a link-local address (169.254.x.y/16) to be obtained in addition to other addresses, such as those manually configured or obtained from a DHCP server.
 
- When set to "auto", the value is dependent on "ipv4.method". When set to "default", it honors the global connection default, before falling back to "auto". Note that if "ipv4.method" is "disabled", then link local addressing is always disabled too. The default is "default".
-
- Since 1.40</entry></row><row><entry align="left" id="nm-settings-dbus.property.ipv4.may-fail">may-fail</entry><entry align="left">boolean</entry><entry align="left">TRUE</entry><entry> If TRUE, allow overall network configuration to proceed even if the configuration specified by this property times out.  Note that at least one IP configuration must succeed or overall network configuration will still fail.  For example, in IPv6-only networks, setting this property to TRUE on the NMSettingIP4Config allows the overall network configuration to succeed if IPv4 configuration fails but IPv6 configuration completes successfully.</entry></row><row><entry align="left" id="nm-settings-dbus.property.ipv4.method">method</entry><entry align="left">string</entry><entry align="left"/><entry> IP configuration method.
+ When set to "auto", the value is dependent on "ipv4.method". When set to "default", it honors the global connection default, before falling back to "auto". Note that if "ipv4.method" is "disabled", then link local addressing is always disabled too. The default is "default".</entry></row><row><entry align="left" id="nm-settings-dbus.property.ipv4.may-fail">may-fail</entry><entry align="left">boolean</entry><entry align="left">TRUE</entry><entry> If TRUE, allow overall network configuration to proceed even if the configuration specified by this property times out.  Note that at least one IP configuration must succeed or overall network configuration will still fail.  For example, in IPv6-only networks, setting this property to TRUE on the NMSettingIP4Config allows the overall network configuration to succeed if IPv4 configuration fails but IPv6 configuration completes successfully.</entry></row><row><entry align="left" id="nm-settings-dbus.property.ipv4.method">method</entry><entry align="left">string</entry><entry align="left"/><entry> IP configuration method.
 
  NMSettingIP4Config and NMSettingIP6Config both support "disabled", "auto", "manual", and "link-local". See the subclass-specific documentation for other values.
 
diff --git a/man/nm-settings-docs-dbus.xml b/man/nm-settings-docs-dbus.xml
index c474005b..7158e86a 100644
--- a/man/nm-settings-docs-dbus.xml
+++ b/man/nm-settings-docs-dbus.xml
@@ -132,9 +132,7 @@
 
  This property is currently not implemented for DHCPv6.</description></property><property name="dhcp-send-hostname" name_upper="DHCP_SEND_HOSTNAME" type="boolean" default="TRUE"><description-docbook><para> If TRUE, a hostname is sent to the DHCP server when acquiring a lease. Some DHCP servers use this hostname to update DNS databases, essentially providing a static hostname for the computer.  If the "dhcp-hostname" property is NULL and this property is TRUE, the current persistent hostname of the computer is sent.</para></description-docbook><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 "dhcp-hostname" property is NULL and this property is TRUE, the current persistent hostname of the computer is sent.</description></property><property name="dhcp-timeout" name_upper="DHCP_TIMEOUT" type="int32" default="0"><description-docbook><para> 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).</para><para> Set to 2147483647 (MAXINT32) for infinity.</para></description-docbook><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.</description></property><property name="dhcp-vendor-class-identifier" name_upper="DHCP_VENDOR_CLASS_IDENTIFIER" type="string"><description-docbook><para> 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.</para><para> Since 1.28</para></description-docbook><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</description></property><property name="dns" name_upper="DNS" type="array of uint32"><description-docbook><para> Array of IP addresses of DNS servers.</para></description-docbook><description>Array of IP addresses of DNS servers (as network-byte-order integers)</description></property><property name="dns-options" name_upper="DNS_OPTIONS" type="array of string"><description-docbook><para> Array of DNS options as described in man 5 resolv.conf.</para><para> 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.</para><para> The currently supported options are "attempts", "debug", "edns0", "inet6", "ip6-bytestring", "ip6-dotint", "ndots", "no-check-names", "no-ip6-dotint", "no-reload", "no-tld-query", "rotate", "single-request", "single-request-reopen", "timeout", "trust-ad", "use-vc".</para><para> The "trust-ad" setting is only honored if the profile contributes name servers to resolv.conf, and if all contributing profiles have "trust-ad" enabled.</para><para> When using a caching DNS plugin (dnsmasq or systemd-resolved in NetworkManager.conf) then "edns0" and "trust-ad" are automatically added.</para></description-docbook><description> Array of DNS options as described in man 5 resolv.conf.
+ Set to 2147483647 (MAXINT32) for infinity.</description></property><property name="dhcp-vendor-class-identifier" name_upper="DHCP_VENDOR_CLASS_IDENTIFIER" type="string"><description-docbook><para> 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.</para></description-docbook><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.</description></property><property name="dns" name_upper="DNS" type="array of uint32"><description-docbook><para> Array of IP addresses of DNS servers.</para></description-docbook><description>Array of IP addresses of DNS servers (as network-byte-order integers)</description></property><property name="dns-options" name_upper="DNS_OPTIONS" type="array of string"><description-docbook><para> Array of DNS options as described in man 5 resolv.conf.</para><para> 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.</para><para> The currently supported options are "attempts", "debug", "edns0", "inet6", "ip6-bytestring", "ip6-dotint", "ndots", "no-check-names", "no-ip6-dotint", "no-reload", "no-tld-query", "rotate", "single-request", "single-request-reopen", "timeout", "trust-ad", "use-vc".</para><para> The "trust-ad" setting is only honored if the profile contributes name servers to resolv.conf, and if all contributing profiles have "trust-ad" enabled.</para><para> When using a caching DNS plugin (dnsmasq or systemd-resolved in NetworkManager.conf) then "edns0" and "trust-ad" are automatically added.</para></description-docbook><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.
 
@@ -164,11 +162,9 @@
 
  Setting the gateway causes NetworkManager to configure a standard default route with the gateway as next hop. This is ignored if "never-default" is set. An alternative is to configure the default route explicitly with a manual route and /0 as prefix length.
 
- Note that the gateway usually conflicts with routing that NetworkManager configures for WireGuard interfaces, so usually it should not be set in that case. See "ip4-auto-default-route".</description></property><property name="ignore-auto-dns" name_upper="IGNORE_AUTO_DNS" type="boolean" default="FALSE"><description-docbook><para> When "method" is set to "auto" and this property to TRUE, automatically configured name servers and search domains are ignored and only name servers and search domains specified in the "dns" and "dns-search" properties, if any, are used.</para></description-docbook><description> When "method" is set to "auto" and this property to TRUE, automatically configured name servers and search domains are ignored and only name servers and search domains specified in the "dns" and "dns-search" properties, if any, are used.</description></property><property name="ignore-auto-routes" name_upper="IGNORE_AUTO_ROUTES" type="boolean" default="FALSE"><description-docbook><para> When "method" is set to "auto" and this property to TRUE, automatically configured routes are ignored and only routes specified in the "routes" property, if any, are used.</para></description-docbook><description> When "method" is set to "auto" and this property to TRUE, automatically configured routes are ignored and only routes specified in the "routes" property, if any, are used.</description></property><property name="link-local" name_upper="LINK_LOCAL" type="int32" default="0"><description-docbook><para> Enable and disable the IPv4 link-local configuration independently of the ipv4.method configuration. This allows a link-local address (169.254.x.y/16) to be obtained in addition to other addresses, such as those manually configured or obtained from a DHCP server.</para><para> When set to "auto", the value is dependent on "ipv4.method". When set to "default", it honors the global connection default, before falling back to "auto". Note that if "ipv4.method" is "disabled", then link local addressing is always disabled too. The default is "default".</para><para> Since 1.40</para></description-docbook><description> Enable and disable the IPv4 link-local configuration independently of the ipv4.method configuration. This allows a link-local address (169.254.x.y/16) to be obtained in addition to other addresses, such as those manually configured or obtained from a DHCP server.
-
- When set to "auto", the value is dependent on "ipv4.method". When set to "default", it honors the global connection default, before falling back to "auto". Note that if "ipv4.method" is "disabled", then link local addressing is always disabled too. The default is "default".
+ Note that the gateway usually conflicts with routing that NetworkManager configures for WireGuard interfaces, so usually it should not be set in that case. See "ip4-auto-default-route".</description></property><property name="ignore-auto-dns" name_upper="IGNORE_AUTO_DNS" type="boolean" default="FALSE"><description-docbook><para> When "method" is set to "auto" and this property to TRUE, automatically configured name servers and search domains are ignored and only name servers and search domains specified in the "dns" and "dns-search" properties, if any, are used.</para></description-docbook><description> When "method" is set to "auto" and this property to TRUE, automatically configured name servers and search domains are ignored and only name servers and search domains specified in the "dns" and "dns-search" properties, if any, are used.</description></property><property name="ignore-auto-routes" name_upper="IGNORE_AUTO_ROUTES" type="boolean" default="FALSE"><description-docbook><para> When "method" is set to "auto" and this property to TRUE, automatically configured routes are ignored and only routes specified in the "routes" property, if any, are used.</para></description-docbook><description> When "method" is set to "auto" and this property to TRUE, automatically configured routes are ignored and only routes specified in the "routes" property, if any, are used.</description></property><property name="link-local" name_upper="LINK_LOCAL" type="int32" default="0"><description-docbook><para> Enable and disable the IPv4 link-local configuration independently of the ipv4.method configuration. This allows a link-local address (169.254.x.y/16) to be obtained in addition to other addresses, such as those manually configured or obtained from a DHCP server.</para><para> When set to "auto", the value is dependent on "ipv4.method". When set to "default", it honors the global connection default, before falling back to "auto". Note that if "ipv4.method" is "disabled", then link local addressing is always disabled too. The default is "default".</para></description-docbook><description> Enable and disable the IPv4 link-local configuration independently of the ipv4.method configuration. This allows a link-local address (169.254.x.y/16) to be obtained in addition to other addresses, such as those manually configured or obtained from a DHCP server.
 
- Since 1.40</description></property><property name="may-fail" name_upper="MAY_FAIL" type="boolean" default="TRUE"><description-docbook><para> 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.</para></description-docbook><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.</description></property><property name="method" name_upper="METHOD" type="string"><description-docbook><para> IP configuration method.</para><para> NMSettingIP4Config and NMSettingIP6Config both support "disabled", "auto", "manual", and "link-local". See the subclass-specific documentation for other values.</para><para> 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.</para><para> For methods that imply no upstream network, such as "shared" or "link-local", these properties must be empty.</para><para> 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.</para></description-docbook><description> IP configuration method.
+ When set to "auto", the value is dependent on "ipv4.method". When set to "default", it honors the global connection default, before falling back to "auto". Note that if "ipv4.method" is "disabled", then link local addressing is always disabled too. The default is "default".</description></property><property name="may-fail" name_upper="MAY_FAIL" type="boolean" default="TRUE"><description-docbook><para> 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.</para></description-docbook><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.</description></property><property name="method" name_upper="METHOD" type="string"><description-docbook><para> IP configuration method.</para><para> NMSettingIP4Config and NMSettingIP6Config both support "disabled", "auto", "manual", and "link-local". See the subclass-specific documentation for other values.</para><para> 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.</para><para> For methods that imply no upstream network, such as "shared" or "link-local", these properties must be empty.</para><para> 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.</para></description-docbook><description> IP configuration method.
 
  NMSettingIP4Config and NMSettingIP6Config both support "disabled", "auto", "manual", and "link-local". See the subclass-specific documentation for other values.
 
diff --git a/man/nm-settings-docs-nmcli.xml b/man/nm-settings-docs-nmcli.xml
index 41ca76a5..d2b7781c 100644
--- a/man/nm-settings-docs-nmcli.xml
+++ b/man/nm-settings-docs-nmcli.xml
@@ -1,4 +1,4 @@
-<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-docbook><para> 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.</para><para> Currently, this only applies to 802-1x authentication.</para></description-docbook><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.</description></property><property name="autoconnect" name_upper="AUTOCONNECT" type="boolean" default="TRUE" alias="autoconnect"><description-docbook><para> 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.</para><para> Autoconnect happens when the circumstances are suitable. That means for example that the device is currently managed and not active. Autoconnect thus never replaces or competes with an already active profile.</para><para> Note that autoconnect is not implemented for VPN profiles. See "secondaries" as an alternative to automatically connect VPN profiles.</para><para> If multiple profiles are ready to autoconnect on the same device, the one with the better "connection.autoconnect-priority" is chosen. If the priorities are equal, then the most recently connected profile is activated. If the profiles were not connected earlier or their "connection.timestamp" is identical, the choice is undefined.</para><para> Depending on "connection.multi-connect", a profile can (auto)connect only once at a time or multiple times.</para></description-docbook><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. Autoconnect happens when the circumstances are suitable. That means for example that the device is currently managed and not active. Autoconnect thus never replaces or competes with an already active profile. Note that autoconnect is not implemented for VPN profiles. See "secondaries" as an alternative to automatically connect VPN profiles. If multiple profiles are ready to autoconnect on the same device, the one with the better "connection.autoconnect-priority" is chosen. If the priorities are equal, then the most recently connected profile is activated. If the profiles were not connected earlier or their "connection.timestamp" is identical, the choice is undefined. Depending on "connection.multi-connect", a profile can (auto)connect only once at a time or multiple times.</description></property><property name="autoconnect-priority" name_upper="AUTOCONNECT_PRIORITY" type="int32" default="0"><description-docbook><para> The autoconnect priority in range -999 to 999. If the connection is set to autoconnect, connections with higher priority will be preferred. The higher number means higher priority. Defaults to 0. Note that this property only matters if there are more than one candidate profile to select for autoconnect. In case of equal priority, the profile used most recently is chosen.</para></description-docbook><description>The autoconnect priority in range -999 to 999. If the connection is set to autoconnect, connections with higher priority will be preferred. The higher number means higher priority. Defaults to 0. Note that this property only matters if there are more than one candidate profile to select for autoconnect. In case of equal priority, the profile used most recently is chosen.</description></property><property name="autoconnect-retries" name_upper="AUTOCONNECT_RETRIES" type="int32" default="-1"><description-docbook><para> 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.</para></description-docbook><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.</description></property><property name="autoconnect-slaves" name_upper="AUTOCONNECT_SLAVES" type="NMSettingConnectionAutoconnectSlaves (int32)"><description-docbook><para> Whether or not slaves of this connection should be automatically brought up when NetworkManager activates this connection. This only has a real effect for master connections. The properties "autoconnect", "autoconnect-priority" and "autoconnect-retries" are unrelated to this setting. The permitted values are: 0: leave slave connections untouched, 1: activate all the slave connections with this connection, -1: default. If -1 (default) is set, global connection.autoconnect-slaves is read to determine the real value. If it is default as well, this fallbacks to 0.</para></description-docbook><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 "autoconnect", "autoconnect-priority" and "autoconnect-retries" are unrelated to this setting. The permitted values are: 0: leave slave connections untouched, 1: activate all the slave connections with this connection, -1: default. If -1 (default) is set, global connection.autoconnect-slaves is read to determine the real value. If it is default as well, this fallbacks to 0.</description></property><property name="dns-over-tls" name_upper="DNS_OVER_TLS" type="int32" default="-1"><description-docbook><para> Whether DNSOverTls (dns-over-tls) is enabled for the connection. DNSOverTls is a technology which uses TLS to encrypt dns traffic.</para><para> The permitted values are: "yes" (2) use DNSOverTls and disabled fallback, "opportunistic" (1) use DNSOverTls but allow fallback to unencrypted resolution, "no" (0) don't ever use DNSOverTls. If unspecified "default" depends on the plugin used. Systemd-resolved uses global setting.</para><para> This feature requires a plugin which supports DNSOverTls. Otherwise, the setting has no effect. One such plugin is dns-systemd-resolved.</para></description-docbook><description>Whether DNSOverTls (dns-over-tls) is enabled for the connection. DNSOverTls is a technology which uses TLS to encrypt dns traffic. The permitted values are: "yes" (2) use DNSOverTls and disabled fallback, "opportunistic" (1) use DNSOverTls but allow fallback to unencrypted resolution, "no" (0) don't ever use DNSOverTls. If unspecified "default" depends on the plugin used. Systemd-resolved uses global setting. This feature requires a plugin which supports DNSOverTls. Otherwise, the setting has no effect. One such plugin is dns-systemd-resolved.</description></property><property name="gateway-ping-timeout" name_upper="GATEWAY_PING_TIMEOUT" type="uint32" default="0"><description-docbook><para> If greater than zero, delay success of IP addressing until either the timeout is reached, or an IP gateway replies to a ping.</para></description-docbook><description>If greater than zero, delay success of IP addressing until either the timeout is reached, or an IP gateway replies to a ping.</description></property><property name="id" name_upper="ID" type="string" alias="con-name"><description-docbook><para> A human readable unique identifier for the connection, like "Work Wi-Fi" or "T-Mobile 3G".</para></description-docbook><description>A human readable unique identifier for the connection, like "Work Wi-Fi" or "T-Mobile 3G".</description></property><property name="interface-name" name_upper="INTERFACE_NAME" type="string" alias="ifname"><description-docbook><para> 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).</para><para> For software devices this specifies the name of the created device.</para><para> 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.</para></description-docbook><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.</description></property><property name="lldp" name_upper="LLDP" type="int32" default="-1"><description-docbook><para> Whether LLDP is enabled for the connection.</para></description-docbook><description>Whether LLDP is enabled for the connection.</description></property><property name="llmnr" name_upper="LLMNR" type="int32" default="-1"><description-docbook><para> 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.</para><para> The permitted values are: "yes" (2) register hostname and resolving for the connection, "no" (0) disable LLMNR for the interface, "resolve" (1) do not register hostname but allow resolving of LLMNR host names If unspecified, "default" ultimately depends on the DNS plugin (which for systemd-resolved currently means "yes").</para><para> This feature requires a plugin which supports LLMNR. Otherwise, the setting has no effect. One such plugin is dns-systemd-resolved.</para></description-docbook><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: "yes" (2) register hostname and resolving for the connection, "no" (0) disable LLMNR for the interface, "resolve" (1) do not register hostname but allow resolving of LLMNR host names If unspecified, "default" ultimately depends on the DNS plugin (which for systemd-resolved currently means "yes"). This feature requires a plugin which supports LLMNR. Otherwise, the setting has no effect. One such plugin is dns-systemd-resolved.</description></property><property name="master" name_upper="MASTER" type="string" alias="master"><description-docbook><para> Interface name of the master device or UUID of the master connection.</para></description-docbook><description>Interface name of the master device or UUID of the master connection.</description></property><property name="mdns" name_upper="MDNS" type="int32" default="-1"><description-docbook><para> Whether mDNS is enabled for the connection.</para><para> The permitted values are: "yes" (2) register hostname and resolving for the connection, "no" (0) disable mDNS for the interface, "resolve" (1) do not register hostname but allow resolving of mDNS host names and "default" (-1) to allow lookup of a global default in NetworkManager.conf. If unspecified, "default" ultimately depends on the DNS plugin (which for systemd-resolved currently means "no").</para><para> This feature requires a plugin which supports mDNS. Otherwise, the setting has no effect. One such plugin is dns-systemd-resolved.</para></description-docbook><description>Whether mDNS is enabled for the connection. The permitted values are: "yes" (2) register hostname and resolving for the connection, "no" (0) disable mDNS for the interface, "resolve" (1) do not register hostname but allow resolving of mDNS host names and "default" (-1) to allow lookup of a global default in NetworkManager.conf. If unspecified, "default" ultimately depends on the DNS plugin (which for systemd-resolved currently means "no"). This feature requires a plugin which supports mDNS. Otherwise, the setting has no effect. One such plugin is dns-systemd-resolved.</description></property><property name="metered" name_upper="METERED" type="NMMetered (int32)"><description-docbook><para> Whether the connection is metered.</para><para> When updating this property on a currently activated connection, the change takes effect immediately.</para></description-docbook><description>Whether the connection is metered. When updating this property on a currently activated connection, the change takes effect immediately.</description></property><property name="mptcp-flags" name_upper="MPTCP_FLAGS" type="uint32" default="0"><description-docbook><para> Whether to configure MPTCP endpoints and the address flags. If MPTCP is enabled in NetworkManager, it will configure the addresses of the interface as MPTCP endpoints. Note that IPv4 loopback addresses (127.0.0.0/8), IPv4 link local addresses (169.254.0.0/16), the IPv6 loopback address (::1), IPv6 link local addresses (fe80::/10), IPv6 unique local addresses (ULA, fc00::/7) and IPv6 privacy extension addresses (rfc3041, ipv6.ip6-privacy) will be excluded from being configured as endpoints.</para><para> If "disabled" (0x1), MPTCP handling for the interface is disabled and no endpoints are registered.</para><para> The "enabled" (0x2) flag means that MPTCP handling is enabled. This flag can also be implied from the presence of other flags.</para><para> Even when enabled, MPTCP handling will by default still be disabled unless "/proc/sys/net/mptcp/enabled" sysctl is on. NetworkManager does not change the sysctl and this is up to the administrator or distribution. To configure endpoints even if the sysctl is disabled, "also-without-sysctl" (0x4) flag can be used. In that case, NetworkManager doesn't look at the sysctl and configures endpoints regardless.</para><para> Even when enabled, NetworkManager will only configure MPTCP endpoints for a certain address family, if there is a unicast default route (0.0.0.0/0 or ::/0) in the main routing table. The flag "also-without-default-route" (0x8) can override that.</para><para> When MPTCP handling is enabled then endpoints are configured with the specified address flags "signal" (0x10), "subflow" (0x20), "backup" (0x40), "fullmesh" (0x80). See ip-mptcp(8) manual for additional information about the flags.</para><para> If the flags are zero (0x0), the global connection default from NetworkManager.conf is honored. If still unspecified, the fallback is "enabled,subflow". Note that this means that MPTCP is by default done depending on the "/proc/sys/net/mptcp/enabled" sysctl.</para><para> NetworkManager does not change the MPTCP limits nor enable MPTCP via "/proc/sys/net/mptcp/enabled". That is a host configuration which the admin can change via sysctl and ip-mptcp.</para><para> Strict reverse path filtering (rp_filter) breaks many MPTCP use cases, so when MPTCP handling for IPv4 addresses on the interface is enabled, NetworkManager would loosen the strict reverse path filtering (1) to the loose setting (2).</para></description-docbook><description>Whether to configure MPTCP endpoints and the address flags. If MPTCP is enabled in NetworkManager, it will configure the addresses of the interface as MPTCP endpoints. Note that IPv4 loopback addresses (127.0.0.0/8), IPv4 link local addresses (169.254.0.0/16), the IPv6 loopback address (::1), IPv6 link local addresses (fe80::/10), IPv6 unique local addresses (ULA, fc00::/7) and IPv6 privacy extension addresses (rfc3041, ipv6.ip6-privacy) will be excluded from being configured as endpoints. If "disabled" (0x1), MPTCP handling for the interface is disabled and no endpoints are registered. The "enabled" (0x2) flag means that MPTCP handling is enabled. This flag can also be implied from the presence of other flags. Even when enabled, MPTCP handling will by default still be disabled unless "/proc/sys/net/mptcp/enabled" sysctl is on. NetworkManager does not change the sysctl and this is up to the administrator or distribution. To configure endpoints even if the sysctl is disabled, "also-without-sysctl" (0x4) flag can be used. In that case, NetworkManager doesn't look at the sysctl and configures endpoints regardless. Even when enabled, NetworkManager will only configure MPTCP endpoints for a certain address family, if there is a unicast default route (0.0.0.0/0 or ::/0) in the main routing table. The flag "also-without-default-route" (0x8) can override that. When MPTCP handling is enabled then endpoints are configured with the specified address flags "signal" (0x10), "subflow" (0x20), "backup" (0x40), "fullmesh" (0x80). See ip-mptcp(8) manual for additional information about the flags. If the flags are zero (0x0), the global connection default from NetworkManager.conf is honored. If still unspecified, the fallback is "enabled,subflow". Note that this means that MPTCP is by default done depending on the "/proc/sys/net/mptcp/enabled" sysctl. NetworkManager does not change the MPTCP limits nor enable MPTCP via "/proc/sys/net/mptcp/enabled". That is a host configuration which the admin can change via sysctl and ip-mptcp. Strict reverse path filtering (rp_filter) breaks many MPTCP use cases, so when MPTCP handling for IPv4 addresses on the interface is enabled, NetworkManager would loosen the strict reverse path filtering (1) to the loose setting (2).</description></property><property name="mud-url" name_upper="MUD_URL" type="string"><description-docbook><para> If configured, set to a Manufacturer Usage Description (MUD) URL that points to manufacturer-recommended network policies for IoT devices. It is transmitted as a DHCPv4 or DHCPv6 option. The value must be a valid URL starting with "https://".</para><para> The special value "none" is allowed to indicate that no MUD URL is used.</para><para> If the per-profile value is unspecified (the default), a global connection default gets consulted. If still unspecified, the ultimate default is "none".</para></description-docbook><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 "https://". The special value "none" is allowed to indicate that no MUD URL is used. If the per-profile value is unspecified (the default), a global connection default gets consulted. If still unspecified, the ultimate default is "none".</description></property><property name="multi-connect" name_upper="MULTI_CONNECT" type="int32" default="0"><description-docbook><para> Specifies whether the profile can be active multiple times at a particular moment. The value is of type NMConnectionMultiConnect.</para></description-docbook><description>Specifies whether the profile can be active multiple times at a particular moment. The value is of type NMConnectionMultiConnect.</description></property><property name="permissions" name_upper="PERMISSIONS" type="array of string"><description-docbook><para> An array of strings defining what access a given user has to this connection.  If this is NULL or empty, all users are allowed to access this connection; otherwise users are allowed if and only if they are in this list.  When this is not empty, the connection can be active only when one of the specified users is logged into an active session.  Each entry is of the form "[type]:[id]:[reserved]"; for example, "user:dcbw:blah".</para><para> At this time only the "user" [type] is allowed.  Any other values are ignored and reserved for future use.  [id] is the username that this permission refers to, which may not contain the ":" character. Any [reserved] information present must be ignored and is reserved for future use.  All of [type], [id], and [reserved] must be valid UTF-8.</para></description-docbook><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 "[type]:[id]:[reserved]"; for example, "user:dcbw:blah". At this time only the "user" [type] is allowed.  Any other values are ignored and reserved for future use.  [id] is the username that this permission refers to, which may not contain the ":" character. Any [reserved] information present must be ignored and is reserved for future use.  All of [type], [id], and [reserved] must be valid UTF-8.</description></property><property name="read-only" name_upper="READ_ONLY" type="boolean" default="FALSE"><description-docbook><para> 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.</para></description-docbook><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.</description></property><property name="secondaries" name_upper="SECONDARIES" type="array of string"><description-docbook><para> List of connection UUIDs that should be activated when the base connection itself is activated. Currently, only VPN connections are supported.</para></description-docbook><description>List of connection UUIDs that should be activated when the base connection itself is activated. Currently, only VPN connections are supported.</description></property><property name="slave-type" name_upper="SLAVE_TYPE" type="string" alias="slave-type"><description-docbook><para> Setting name of the device type of this slave's master connection (eg, "bond"), or NULL if this connection is not a slave.</para></description-docbook><description>Setting name of the device type of this slave's master connection (eg, "bond"), or NULL if this connection is not a slave.</description></property><property name="stable-id" name_upper="STABLE_ID" type="string"><description-docbook><para> 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.</para><para> 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].</para><para> 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. See NetworkManager(8) manual about the secret-key and the host identity.</para><para> The '$' character is treated special to perform dynamic substitutions at runtime. Currently, supported are "${CONNECTION}", "${DEVICE}", "${MAC}", "${BOOT}", "${RANDOM}". These effectively create unique IDs per-connection, per-device, per-boot, or every time. Note that "${DEVICE}" corresponds to the interface name of the device and "${MAC}" is the permanent MAC address of the device. Any unrecognized patterns following '$' are treated verbatim, however are reserved for future use. You are thus advised to avoid '$' or escape it as "$$". For example, set it to "${CONNECTION}-${BOOT}-${DEVICE}" to create a unique id for this connection that changes with every reboot and differs depending on the interface where the profile activates.</para><para> If the value is unset, a global connection default is consulted. If the value is still unset, the default is similar to "${CONNECTION}" and uses a unique, fixed ID for the connection.</para></description-docbook><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. See NetworkManager(8) manual about the secret-key and the host identity. The '$' character is treated special to perform dynamic substitutions at runtime. Currently, supported are "${CONNECTION}", "${DEVICE}", "${MAC}", "${BOOT}", "${RANDOM}". These effectively create unique IDs per-connection, per-device, per-boot, or every time. Note that "${DEVICE}" corresponds to the interface name of the device and "${MAC}" is the permanent MAC address of the device. Any unrecognized patterns following '$' are treated verbatim, however are reserved for future use. You are thus advised to avoid '$' or escape it as "$$". For example, set it to "${CONNECTION}-${BOOT}-${DEVICE}" to create a unique id for this connection that changes with every reboot and differs depending on the interface where the profile activates. If the value is unset, a global connection default is consulted. If the value is still unset, the default is similar to "${CONNECTION}" and uses a unique, fixed ID for the connection.</description></property><property name="timestamp" name_upper="TIMESTAMP" type="uint64" default="0"><description-docbook><para> The time, in seconds since the Unix Epoch, that the connection was last _successfully_ fully activated.</para><para> 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).</para></description-docbook><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).</description></property><property name="type" name_upper="TYPE" type="string" alias="type"><description-docbook><para> Base type of the connection. For hardware-dependent connections, should contain the setting name of the hardware-type specific setting (ie, "802-3-ethernet" or "802-11-wireless" or "bluetooth", etc), and for non-hardware dependent connections like VPN or otherwise, should contain the setting name of that setting type (ie, "vpn" or "bridge", etc).</para></description-docbook><description>Base type of the connection. For hardware-dependent connections, should contain the setting name of the hardware-type specific setting (ie, "802-3-ethernet" or "802-11-wireless" or "bluetooth", etc), and for non-hardware dependent connections like VPN or otherwise, should contain the setting name of that setting type (ie, "vpn" or "bridge", etc).</description></property><property name="uuid" name_upper="UUID" type="string"><description-docbook><para> A universally unique identifier for the connection, for example generated with libuuid.  It should be assigned when the connection is created, and never changed as long as the connection still applies to the same network.  For example, it should not be changed when the "id" property or NMSettingIP4Config changes, but might need to be re-created when the Wi-Fi SSID, mobile broadband network provider, or "type" property changes.</para><para> The UUID must be in the format "2815492f-7e56-435e-b2e9-246bd7cdc664" (ie, contains only hexadecimal characters and "-").</para></description-docbook><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 "id" property or NMSettingIP4Config changes, but might need to be re-created when the Wi-Fi SSID, mobile broadband network provider, or "type" property changes. The UUID must be in the format "2815492f-7e56-435e-b2e9-246bd7cdc664" (ie, contains only hexadecimal characters and "-").</description></property><property name="wait-activation-delay" name_upper="WAIT_ACTIVATION_DELAY" type="int32" default="-1"><description-docbook><para> Time in milliseconds to wait for connection to be considered activated. The wait will start after the pre-up dispatcher event.</para><para> The value 0 means no wait time. The default value is -1, which currently has the same meaning as no wait time.</para></description-docbook><description>Time in milliseconds to wait for connection to be considered activated. The wait will start after the pre-up dispatcher event. The value 0 means no wait time. The default value is -1, which currently has the same meaning as no wait time.</description></property><property name="wait-device-timeout" name_upper="WAIT_DEVICE_TIMEOUT" type="int32" default="-1"><description-docbook><para> 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.</para><para> The value 0 means no wait time. The default value is -1, which currently has the same meaning as no wait time.</para></description-docbook><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.</description></property><property name="zone" name_upper="ZONE" type="string"><description-docbook><para> The trust level of a the connection.  Free form case-insensitive string (for example "Home", "Work", "Public").  NULL or unspecified zone means the connection will be placed in the default zone as defined by the firewall.</para><para> When updating this property on a currently activated connection, the change takes effect immediately.</para></description-docbook><description>The trust level of a the connection.  Free form case-insensitive string (for example "Home", "Work", "Public").  NULL or unspecified zone means the connection will be placed in the default zone as defined by the firewall. When updating this property on a currently activated connection, the change takes effect immediately.</description></property></setting><setting name="6lowpan" description=" 6LoWPAN Settings" name_upper="6LOWPAN"><property name="parent" name_upper="PARENT" type="string" alias="dev"><description-docbook><para> If given, specifies the parent interface name or parent connection UUID from which this 6LowPAN interface should be created.</para></description-docbook><description>If given, specifies the parent interface name or parent connection UUID from which this 6LowPAN interface should be created.</description></property></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-docbook><para> 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.</para></description-docbook><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.</description></property><property name="anonymous-identity" name_upper="ANONYMOUS_IDENTITY" type="string"><description-docbook><para> Anonymous identity string for EAP authentication methods.  Used as the unencrypted identity with EAP types that support different tunneled identity like EAP-TTLS.</para></description-docbook><description>Anonymous identity string for EAP authentication methods.  Used as the unencrypted identity with EAP types that support different tunneled identity like EAP-TTLS.</description></property><property name="auth-timeout" name_upper="AUTH_TIMEOUT" type="int32" default="0"><description-docbook><para> A timeout for the authentication. Zero means the global default; if the global default is not set, the authentication timeout is 25 seconds.</para></description-docbook><description>A timeout for the authentication. Zero means the global default; if the global default is not set, the authentication timeout is 25 seconds.</description></property><property name="ca-cert" name_upper="CA_CERT" type="byte array"><description-docbook><para> Contains the CA certificate if used by the EAP method specified in the "eap" property.</para><para> Certificate data is specified using a "scheme"; three are currently supported: blob, path and pkcs#11 URL. When using the blob scheme this property should be set to the certificate's DER encoded data. When using the path scheme, this property should be set to the full UTF-8 encoded path of the certificate, prefixed with the string "file://" and ending with a terminating NUL byte. This property can be unset even if the EAP method supports CA certificates, but this allows man-in-the-middle attacks and is NOT recommended.</para><para> 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.</para></description-docbook><description>Contains the CA certificate if used by the EAP method specified in the "eap" property. Certificate data is specified using a "scheme"; three are currently supported: blob, path and pkcs#11 URL. When using the blob scheme this property should be set to the certificate's DER encoded data. When using the path scheme, this property should be set to the full UTF-8 encoded path of the certificate, prefixed with the string "file://" and ending with a terminating NUL byte. This property can be unset even if the EAP method supports CA certificates, but this allows man-in-the-middle attacks and is NOT recommended. Note that enabling NMSetting8021x:system-ca-certs will override this setting to use the built-in path, if the built-in path is not a directory.</description></property><property name="ca-cert-password" name_upper="CA_CERT_PASSWORD" type="string"><description-docbook><para> The password used to access the CA certificate stored in "ca-cert" property. Only makes sense if the certificate is stored on a PKCS#11 token that requires a login.</para></description-docbook><description>The password used to access the CA certificate stored in "ca-cert" property. Only makes sense if the certificate is stored on a PKCS#11 token that requires a login.</description></property><property name="ca-cert-password-flags" name_upper="CA_CERT_PASSWORD_FLAGS" type="NMSettingSecretFlags (uint32)"><description-docbook><para> Flags indicating how to handle the "ca-cert-password" property.</para></description-docbook><description>Flags indicating how to handle the "ca-cert-password" property.</description></property><property name="ca-path" name_upper="CA_PATH" type="string"><description-docbook><para> UTF-8 encoded path to a directory containing PEM or DER formatted certificates to be added to the verification chain in addition to the certificate specified in the "ca-cert" property.</para><para> If NMSetting8021x:system-ca-certs is enabled and the built-in CA path is an existing directory, then this setting is ignored.</para></description-docbook><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 "ca-cert" property. If NMSetting8021x:system-ca-certs is enabled and the built-in CA path is an existing directory, then this setting is ignored.</description></property><property name="client-cert" name_upper="CLIENT_CERT" type="byte array"><description-docbook><para> Contains the client certificate if used by the EAP method specified in the "eap" property.</para><para> Certificate data is specified using a "scheme"; two are currently supported: blob and path. When using the blob scheme (which is backwards compatible with NM 0.7.x) this property should be set to the certificate's DER encoded data. When using the path scheme, this property should be set to the full UTF-8 encoded path of the certificate, prefixed with the string "file://" and ending with a terminating NUL byte.</para></description-docbook><description>Contains the client certificate if used by the EAP method specified in the "eap" property. Certificate data is specified using a "scheme"; two are currently supported: blob and path. When using the blob scheme (which is backwards compatible with NM 0.7.x) this property should be set to the certificate's DER encoded data. When using the path scheme, this property should be set to the full UTF-8 encoded path of the certificate, prefixed with the string "file://" and ending with a terminating NUL byte.</description></property><property name="client-cert-password" name_upper="CLIENT_CERT_PASSWORD" type="string"><description-docbook><para> The password used to access the client certificate stored in "client-cert" property. Only makes sense if the certificate is stored on a PKCS#11 token that requires a login.</para></description-docbook><description>The password used to access the client certificate stored in "client-cert" property. Only makes sense if the certificate is stored on a PKCS#11 token that requires a login.</description></property><property name="client-cert-password-flags" name_upper="CLIENT_CERT_PASSWORD_FLAGS" type="NMSettingSecretFlags (uint32)"><description-docbook><para> Flags indicating how to handle the "client-cert-password" property.</para></description-docbook><description>Flags indicating how to handle the "client-cert-password" property.</description></property><property name="domain-match" name_upper="DOMAIN_MATCH" type="string"><description-docbook><para> Constraint for server domain name. If set, this list of FQDNs is used as a match requirement for dNSName element(s) of the certificate presented by the authentication server.  If a matching dNSName is found, this constraint is met.  If no dNSName values are present, this constraint is matched against SubjectName CN using the same comparison. Multiple valid FQDNs can be passed as a ";" delimited list.</para></description-docbook><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 ";" delimited list.</description></property><property name="domain-suffix-match" name_upper="DOMAIN_SUFFIX_MATCH" type="string"><description-docbook><para> Constraint for server domain name. If set, this FQDN is used as a suffix match requirement for dNSName element(s) of the certificate presented by the authentication server.  If a matching dNSName is found, this constraint is met.  If no dNSName values are present, this constraint is matched against SubjectName CN using same suffix match comparison. Since version 1.24, multiple valid FQDNs can be passed as a ";" delimited list.</para></description-docbook><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 ";" delimited list.</description></property><property name="eap" name_upper="EAP" type="array of string"><description-docbook><para> The allowed EAP method to be used when authenticating to the network with 802.1x.  Valid methods are: "leap", "md5", "tls", "peap", "ttls", "pwd", and "fast".  Each method requires different configuration using the properties of this setting; refer to wpa_supplicant documentation for the allowed combinations.</para></description-docbook><description>The allowed EAP method to be used when authenticating to the network with 802.1x.  Valid methods are: "leap", "md5", "tls", "peap", "ttls", "pwd", and "fast".  Each method requires different configuration using the properties of this setting; refer to wpa_supplicant documentation for the allowed combinations.</description></property><property name="identity" name_upper="IDENTITY" type="string"><description-docbook><para> Identity string for EAP authentication methods.  Often the user's user or login name.</para></description-docbook><description>Identity string for EAP authentication methods.  Often the user's user or login name.</description></property><property name="optional" name_upper="OPTIONAL" type="boolean" default="FALSE"><description-docbook><para> 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.</para></description-docbook><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.</description></property><property name="pac-file" name_upper="PAC_FILE" type="string"><description-docbook><para> UTF-8 encoded file path containing PAC for EAP-FAST.</para></description-docbook><description>UTF-8 encoded file path containing PAC for EAP-FAST.</description></property><property name="password" name_upper="PASSWORD" type="string"><description-docbook><para> UTF-8 encoded password used for EAP authentication methods. If both the "password" property and the "password-raw" property are specified, "password" is preferred.</para></description-docbook><description>UTF-8 encoded password used for EAP authentication methods. If both the "password" property and the "password-raw" property are specified, "password" is preferred.</description></property><property name="password-flags" name_upper="PASSWORD_FLAGS" type="NMSettingSecretFlags (uint32)"><description-docbook><para> Flags indicating how to handle the "password" property.</para></description-docbook><description>Flags indicating how to handle the "password" property.</description></property><property name="password-raw" name_upper="PASSWORD_RAW" type="byte array"><description-docbook><para> Password used for EAP authentication methods, given as a byte array to allow passwords in other encodings than UTF-8 to be used. If both the "password" property and the "password-raw" property are specified, "password" is preferred.</para></description-docbook><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 "password" property and the "password-raw" property are specified, "password" is preferred.</description></property><property name="password-raw-flags" name_upper="PASSWORD_RAW_FLAGS" type="NMSettingSecretFlags (uint32)"><description-docbook><para> Flags indicating how to handle the "password-raw" property.</para></description-docbook><description>Flags indicating how to handle the "password-raw" property.</description></property><property name="phase1-auth-flags" name_upper="PHASE1_AUTH_FLAGS" type="uint32" default="0"><description-docbook><para> Specifies authentication flags to use in "phase 1" outer authentication using NMSetting8021xAuthFlags options. The individual TLS versions can be explicitly disabled. If a certain TLS disable flag is not set, it is up to the supplicant to allow or forbid it. The TLS options map to tls_disable_tlsv1_x settings. See the wpa_supplicant documentation for more details.</para></description-docbook><description>Specifies authentication flags to use in "phase 1" outer authentication using NMSetting8021xAuthFlags options. The individual TLS versions can be explicitly disabled. If a certain TLS disable flag is not set, it is up to the supplicant to allow or forbid it. The TLS options map to tls_disable_tlsv1_x settings. See the wpa_supplicant documentation for more details.</description></property><property name="phase1-fast-provisioning" name_upper="PHASE1_FAST_PROVISIONING" type="string"><description-docbook><para> Enables or disables in-line provisioning of EAP-FAST credentials when FAST is specified as the EAP method in the "eap" property. Recognized values are "0" (disabled), "1" (allow unauthenticated provisioning), "2" (allow authenticated provisioning), and "3" (allow both authenticated and unauthenticated provisioning).  See the wpa_supplicant documentation for more details.</para></description-docbook><description>Enables or disables in-line provisioning of EAP-FAST credentials when FAST is specified as the EAP method in the "eap" property. Recognized values are "0" (disabled), "1" (allow unauthenticated provisioning), "2" (allow authenticated provisioning), and "3" (allow both authenticated and unauthenticated provisioning).  See the wpa_supplicant documentation for more details.</description></property><property name="phase1-peaplabel" name_upper="PHASE1_PEAPLABEL" type="string"><description-docbook><para> Forces use of the new PEAP label during key derivation.  Some RADIUS servers may require forcing the new PEAP label to interoperate with PEAPv1.  Set to "1" to force use of the new PEAP label.  See the wpa_supplicant documentation for more details.</para></description-docbook><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 "1" to force use of the new PEAP label.  See the wpa_supplicant documentation for more details.</description></property><property name="phase1-peapver" name_upper="PHASE1_PEAPVER" type="string"><description-docbook><para> Forces which PEAP version is used when PEAP is set as the EAP method in the "eap" property.  When unset, the version reported by the server will be used.  Sometimes when using older RADIUS servers, it is necessary to force the client to use a particular PEAP version.  To do so, this property may be set to "0" or "1" to force that specific PEAP version.</para></description-docbook><description>Forces which PEAP version is used when PEAP is set as the EAP method in the "eap" property.  When unset, the version reported by the server will be used.  Sometimes when using older RADIUS servers, it is necessary to force the client to use a particular PEAP version.  To do so, this property may be set to "0" or "1" to force that specific PEAP version.</description></property><property name="phase2-altsubject-matches" name_upper="PHASE2_ALTSUBJECT_MATCHES" type="array of string"><description-docbook><para> List of strings to be matched against the altSubjectName of the certificate presented by the authentication server during the inner "phase 2" authentication. If the list is empty, no verification of the server certificate's altSubjectName is performed.</para></description-docbook><description>List of strings to be matched against the altSubjectName of the certificate presented by the authentication server during the inner "phase 2" authentication. If the list is empty, no verification of the server certificate's altSubjectName is performed.</description></property><property name="phase2-auth" name_upper="PHASE2_AUTH" type="string"><description-docbook><para> Specifies the allowed "phase 2" inner authentication method when an EAP method that uses an inner TLS tunnel is specified in the "eap" property.  For TTLS this property selects one of the supported non-EAP inner methods: "pap", "chap", "mschap", "mschapv2" while "phase2-autheap" selects an EAP inner method.  For PEAP this selects an inner EAP method, one of: "gtc", "otp", "md5" and "tls". Each "phase 2" inner method requires specific parameters for successful authentication; see the wpa_supplicant documentation for more details. Both "phase2-auth" and "phase2-autheap" cannot be specified.</para></description-docbook><description>Specifies the allowed "phase 2" inner authentication method when an EAP method that uses an inner TLS tunnel is specified in the "eap" property.  For TTLS this property selects one of the supported non-EAP inner methods: "pap", "chap", "mschap", "mschapv2" while "phase2-autheap" selects an EAP inner method.  For PEAP this selects an inner EAP method, one of: "gtc", "otp", "md5" and "tls". Each "phase 2" inner method requires specific parameters for successful authentication; see the wpa_supplicant documentation for more details. Both "phase2-auth" and "phase2-autheap" cannot be specified.</description></property><property name="phase2-autheap" name_upper="PHASE2_AUTHEAP" type="string"><description-docbook><para> Specifies the allowed "phase 2" inner EAP-based authentication method when TTLS is specified in the "eap" property.  Recognized EAP-based "phase 2" methods are "md5", "mschapv2", "otp", "gtc", and "tls". Each "phase 2" inner method requires specific parameters for successful authentication; see the wpa_supplicant documentation for more details.</para></description-docbook><description>Specifies the allowed "phase 2" inner EAP-based authentication method when TTLS is specified in the "eap" property.  Recognized EAP-based "phase 2" methods are "md5", "mschapv2", "otp", "gtc", and "tls". Each "phase 2" inner method requires specific parameters for successful authentication; see the wpa_supplicant documentation for more details.</description></property><property name="phase2-ca-cert" name_upper="PHASE2_CA_CERT" type="byte array"><description-docbook><para> Contains the "phase 2" CA certificate if used by the EAP method specified in the "phase2-auth" or "phase2-autheap" properties.</para><para> Certificate data is specified using a "scheme"; three are currently supported: blob, path and pkcs#11 URL. When using the blob scheme this property should be set to the certificate's DER encoded data. When using the path scheme, this property should be set to the full UTF-8 encoded path of the certificate, prefixed with the string "file://" and ending with a terminating NUL byte. This property can be unset even if the EAP method supports CA certificates, but this allows man-in-the-middle attacks and is NOT recommended.</para><para> 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.</para></description-docbook><description>Contains the "phase 2" CA certificate if used by the EAP method specified in the "phase2-auth" or "phase2-autheap" properties. Certificate data is specified using a "scheme"; three are currently supported: blob, path and pkcs#11 URL. When using the blob scheme this property should be set to the certificate's DER encoded data. When using the path scheme, this property should be set to the full UTF-8 encoded path of the certificate, prefixed with the string "file://" and ending with a terminating NUL byte. This property can be unset even if the EAP method supports CA certificates, but this allows man-in-the-middle attacks and is NOT recommended. Note that enabling NMSetting8021x:system-ca-certs will override this setting to use the built-in path, if the built-in path is not a directory.</description></property><property name="phase2-ca-cert-password" name_upper="PHASE2_CA_CERT_PASSWORD" type="string"><description-docbook><para> The password used to access the "phase2" CA certificate stored in "phase2-ca-cert" property. Only makes sense if the certificate is stored on a PKCS#11 token that requires a login.</para></description-docbook><description>The password used to access the "phase2" CA certificate stored in "phase2-ca-cert" property. Only makes sense if the certificate is stored on a PKCS#11 token that requires a login.</description></property><property name="phase2-ca-cert-password-flags" name_upper="PHASE2_CA_CERT_PASSWORD_FLAGS" type="NMSettingSecretFlags (uint32)"><description-docbook><para> Flags indicating how to handle the "phase2-ca-cert-password" property.</para></description-docbook><description>Flags indicating how to handle the "phase2-ca-cert-password" property.</description></property><property name="phase2-ca-path" name_upper="PHASE2_CA_PATH" type="string"><description-docbook><para> UTF-8 encoded path to a directory containing PEM or DER formatted certificates to be added to the verification chain in addition to the certificate specified in the "phase2-ca-cert" property.</para><para> If NMSetting8021x:system-ca-certs is enabled and the built-in CA path is an existing directory, then this setting is ignored.</para></description-docbook><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 "phase2-ca-cert" property. If NMSetting8021x:system-ca-certs is enabled and the built-in CA path is an existing directory, then this setting is ignored.</description></property><property name="phase2-client-cert" name_upper="PHASE2_CLIENT_CERT" type="byte array"><description-docbook><para> Contains the "phase 2" client certificate if used by the EAP method specified in the "phase2-auth" or "phase2-autheap" properties.</para><para> Certificate data is specified using a "scheme"; two are currently supported: blob and path. When using the blob scheme (which is backwards compatible with NM 0.7.x) this property should be set to the certificate's DER encoded data. When using the path scheme, this property should be set to the full UTF-8 encoded path of the certificate, prefixed with the string "file://" and ending with a terminating NUL byte. This property can be unset even if the EAP method supports CA certificates, but this allows man-in-the-middle attacks and is NOT recommended.</para></description-docbook><description>Contains the "phase 2" client certificate if used by the EAP method specified in the "phase2-auth" or "phase2-autheap" properties. Certificate data is specified using a "scheme"; two are currently supported: blob and path. When using the blob scheme (which is backwards compatible with NM 0.7.x) this property should be set to the certificate's DER encoded data. When using the path scheme, this property should be set to the full UTF-8 encoded path of the certificate, prefixed with the string "file://" and ending with a terminating NUL byte. This property can be unset even if the EAP method supports CA certificates, but this allows man-in-the-middle attacks and is NOT recommended.</description></property><property name="phase2-client-cert-password" name_upper="PHASE2_CLIENT_CERT_PASSWORD" type="string"><description-docbook><para> The password used to access the "phase2" client certificate stored in "phase2-client-cert" property. Only makes sense if the certificate is stored on a PKCS#11 token that requires a login.</para></description-docbook><description>The password used to access the "phase2" client certificate stored in "phase2-client-cert" property. Only makes sense if the certificate is stored on a PKCS#11 token that requires a login.</description></property><property name="phase2-client-cert-password-flags" name_upper="PHASE2_CLIENT_CERT_PASSWORD_FLAGS" type="NMSettingSecretFlags (uint32)"><description-docbook><para> Flags indicating how to handle the "phase2-client-cert-password" property.</para></description-docbook><description>Flags indicating how to handle the "phase2-client-cert-password" property.</description></property><property name="phase2-domain-match" name_upper="PHASE2_DOMAIN_MATCH" type="string"><description-docbook><para> Constraint for server domain name. If set, this list of FQDNs is used as a match requirement for dNSName element(s) of the certificate presented by the authentication server during the inner "phase 2" authentication. If a matching dNSName is found, this constraint is met.  If no dNSName values are present, this constraint is matched against SubjectName CN using the same comparison. Multiple valid FQDNs can be passed as a ";" delimited list.</para></description-docbook><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 "phase 2" authentication. If a matching dNSName is found, this constraint is met.  If no dNSName values are present, this constraint is matched against SubjectName CN using the same comparison. Multiple valid FQDNs can be passed as a ";" delimited list.</description></property><property name="phase2-domain-suffix-match" name_upper="PHASE2_DOMAIN_SUFFIX_MATCH" type="string"><description-docbook><para> Constraint for server domain name. If set, this FQDN is used as a suffix match requirement for dNSName element(s) of the certificate presented by the authentication server during the inner "phase 2" authentication.  If a matching dNSName is found, this constraint is met.  If no dNSName values are present, this constraint is matched against SubjectName CN using same suffix match comparison. Since version 1.24, multiple valid FQDNs can be passed as a ";" delimited list.</para></description-docbook><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 "phase 2" authentication.  If a matching dNSName is found, this constraint is met.  If no dNSName values are present, this constraint is matched against SubjectName CN using same suffix match comparison. Since version 1.24, multiple valid FQDNs can be passed as a ";" delimited list.</description></property><property name="phase2-private-key" name_upper="PHASE2_PRIVATE_KEY" type="byte array"><description-docbook><para> Contains the "phase 2" inner private key when the "phase2-auth" or "phase2-autheap" property is set to "tls".</para><para> Key data is specified using a "scheme"; two are currently supported: blob and path. When using the blob scheme and private keys, this property should be set to the key's encrypted PEM encoded data. When using private keys with the path scheme, this property should be set to the full UTF-8 encoded path of the key, prefixed with the string "file://" and ending with a terminating NUL byte. When using PKCS#12 format private keys and the blob scheme, this property should be set to the PKCS#12 data and the "phase2-private-key-password" property must be set to password used to decrypt the PKCS#12 certificate and key. When using PKCS#12 files and the path scheme, this property should be set to the full UTF-8 encoded path of the key, prefixed with the string "file://" and ending with a terminating NUL byte, and as with the blob scheme the "phase2-private-key-password" property must be set to the password used to decode the PKCS#12 private key and certificate.</para></description-docbook><description>Contains the "phase 2" inner private key when the "phase2-auth" or "phase2-autheap" property is set to "tls". Key data is specified using a "scheme"; two are currently supported: blob and path. When using the blob scheme and private keys, this property should be set to the key's encrypted PEM encoded data. When using private keys with the path scheme, this property should be set to the full UTF-8 encoded path of the key, prefixed with the string "file://" and ending with a terminating NUL byte. When using PKCS#12 format private keys and the blob scheme, this property should be set to the PKCS#12 data and the "phase2-private-key-password" property must be set to password used to decrypt the PKCS#12 certificate and key. When using PKCS#12 files and the path scheme, this property should be set to the full UTF-8 encoded path of the key, prefixed with the string "file://" and ending with a terminating NUL byte, and as with the blob scheme the "phase2-private-key-password" property must be set to the password used to decode the PKCS#12 private key and certificate.</description></property><property name="phase2-private-key-password" name_upper="PHASE2_PRIVATE_KEY_PASSWORD" type="string"><description-docbook><para> The password used to decrypt the "phase 2" private key specified in the "phase2-private-key" property when the private key either uses the path scheme, or is a PKCS#12 format key.</para></description-docbook><description>The password used to decrypt the "phase 2" private key specified in the "phase2-private-key" property when the private key either uses the path scheme, or is a PKCS#12 format key.</description></property><property name="phase2-private-key-password-flags" name_upper="PHASE2_PRIVATE_KEY_PASSWORD_FLAGS" type="NMSettingSecretFlags (uint32)"><description-docbook><para> Flags indicating how to handle the "phase2-private-key-password" property.</para></description-docbook><description>Flags indicating how to handle the "phase2-private-key-password" property.</description></property><property name="phase2-subject-match" name_upper="PHASE2_SUBJECT_MATCH" type="string"><description-docbook><para> Substring to be matched against the subject of the certificate presented by the authentication server during the inner "phase 2" authentication. When unset, no verification of the authentication server certificate's subject is performed.  This property provides little security, if any, and its use is deprecated in favor of NMSetting8021x:phase2-domain-suffix-match.</para></description-docbook><description>Substring to be matched against the subject of the certificate presented by the authentication server during the inner "phase 2" authentication. When unset, no verification of the authentication server certificate's subject is performed.  This property provides little security, if any, and its use is deprecated in favor of NMSetting8021x:phase2-domain-suffix-match.</description></property><property name="pin" name_upper="PIN" type="string"><description-docbook><para> PIN used for EAP authentication methods.</para></description-docbook><description>PIN used for EAP authentication methods.</description></property><property name="pin-flags" name_upper="PIN_FLAGS" type="NMSettingSecretFlags (uint32)"><description-docbook><para> Flags indicating how to handle the "pin" property.</para></description-docbook><description>Flags indicating how to handle the "pin" property.</description></property><property name="private-key" name_upper="PRIVATE_KEY" type="byte array"><description-docbook><para> Contains the private key when the "eap" property is set to "tls".</para><para> Key data is specified using a "scheme"; two are currently supported: blob and path. When using the blob scheme and private keys, this property should be set to the key's encrypted PEM encoded data. When using private keys with the path scheme, this property should be set to the full UTF-8 encoded path of the key, prefixed with the string "file://" and ending with a terminating NUL byte. When using PKCS#12 format private keys and the blob scheme, this property should be set to the PKCS#12 data and the "private-key-password" property must be set to password used to decrypt the PKCS#12 certificate and key. When using PKCS#12 files and the path scheme, this property should be set to the full UTF-8 encoded path of the key, prefixed with the string "file://" and ending with a terminating NUL byte, and as with the blob scheme the "private-key-password" property must be set to the password used to decode the PKCS#12 private key and certificate.</para><para> WARNING: "private-key" is not a "secret" property, and thus unencrypted private key data using the BLOB scheme may be readable by unprivileged users.  Private keys should always be encrypted with a private key password to prevent unauthorized access to unencrypted private key data.</para></description-docbook><description>Contains the private key when the "eap" property is set to "tls". Key data is specified using a "scheme"; two are currently supported: blob and path. When using the blob scheme and private keys, this property should be set to the key's encrypted PEM encoded data. When using private keys with the path scheme, this property should be set to the full UTF-8 encoded path of the key, prefixed with the string "file://" and ending with a terminating NUL byte. When using PKCS#12 format private keys and the blob scheme, this property should be set to the PKCS#12 data and the "private-key-password" property must be set to password used to decrypt the PKCS#12 certificate and key. When using PKCS#12 files and the path scheme, this property should be set to the full UTF-8 encoded path of the key, prefixed with the string "file://" and ending with a terminating NUL byte, and as with the blob scheme the "private-key-password" property must be set to the password used to decode the PKCS#12 private key and certificate. WARNING: "private-key" is not a "secret" property, and thus unencrypted private key data using the BLOB scheme may be readable by unprivileged users.  Private keys should always be encrypted with a private key password to prevent unauthorized access to unencrypted private key data.</description></property><property name="private-key-password" name_upper="PRIVATE_KEY_PASSWORD" type="string"><description-docbook><para> The password used to decrypt the private key specified in the "private-key" property when the private key either uses the path scheme, or if the private key is a PKCS#12 format key.</para></description-docbook><description>The password used to decrypt the private key specified in the "private-key" property when the private key either uses the path scheme, or if the private key is a PKCS#12 format key.</description></property><property name="private-key-password-flags" name_upper="PRIVATE_KEY_PASSWORD_FLAGS" type="NMSettingSecretFlags (uint32)"><description-docbook><para> Flags indicating how to handle the "private-key-password" property.</para></description-docbook><description>Flags indicating how to handle the "private-key-password" property.</description></property><property name="subject-match" name_upper="SUBJECT_MATCH" type="string"><description-docbook><para> 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.</para></description-docbook><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.</description></property><property name="system-ca-certs" name_upper="SYSTEM_CA_CERTS" type="boolean" default="FALSE"><description-docbook><para> When TRUE, overrides the "ca-path" and "phase2-ca-path" properties using the system CA directory specified at configure time with the --system-ca-path switch.  The certificates in this directory are added to the verification chain in addition to any certificates specified by the "ca-cert" and "phase2-ca-cert" properties. If the path provided with --system-ca-path is rather a file name (bundle of trusted CA certificates), it overrides "ca-cert" and "phase2-ca-cert" properties instead (sets ca_cert/ca_cert2 options for wpa_supplicant).</para></description-docbook><description>When TRUE, overrides the "ca-path" and "phase2-ca-path" properties using the system CA directory specified at configure time with the --system-ca-path switch.  The certificates in this directory are added to the verification chain in addition to any certificates specified by the "ca-cert" and "phase2-ca-cert" properties. If the path provided with --system-ca-path is rather a file name (bundle of trusted CA certificates), it overrides "ca-cert" and "phase2-ca-cert" properties instead (sets ca_cert/ca_cert2 options for wpa_supplicant).</description></property></setting><setting name="adsl" description=" ADSL Settings" name_upper="ADSL"><property name="encapsulation" name_upper="ENCAPSULATION" type="string" alias="encapsulation"><description-docbook><para> Encapsulation of ADSL connection.  Can be "vcmux" or "llc".</para></description-docbook><description>Encapsulation of ADSL connection.  Can be "vcmux" or "llc".</description></property><property name="password" name_upper="PASSWORD" type="string" alias="password"><description-docbook><para> Password used to authenticate with the ADSL service.</para></description-docbook><description>Password used to authenticate with the ADSL service.</description></property><property name="password-flags" name_upper="PASSWORD_FLAGS" type="NMSettingSecretFlags (uint32)"><description-docbook><para> Flags indicating how to handle the "password" property.</para></description-docbook><description>Flags indicating how to handle the "password" property.</description></property><property name="protocol" name_upper="PROTOCOL" type="string" alias="protocol"><description-docbook><para> ADSL connection protocol.  Can be "pppoa", "pppoe" or "ipoatm".</para></description-docbook><description>ADSL connection protocol.  Can be "pppoa", "pppoe" or "ipoatm".</description></property><property name="username" name_upper="USERNAME" type="string" alias="username"><description-docbook><para> Username used to authenticate with the ADSL service.</para></description-docbook><description>Username used to authenticate with the ADSL service.</description></property><property name="vci" name_upper="VCI" type="uint32" default="0"><description-docbook><para> VCI of ADSL connection</para></description-docbook><description>VCI of ADSL connection</description></property><property name="vpi" name_upper="VPI" type="uint32" default="0"><description-docbook><para> VPI of ADSL connection</para></description-docbook><description>VPI of ADSL connection</description></property></setting><setting name="bluetooth" description=" Bluetooth Settings" name_upper="BLUETOOTH"><property name="bdaddr" name_upper="BDADDR" type="byte array" alias="addr"><description-docbook><para> The Bluetooth address of the device.</para></description-docbook><description>The Bluetooth address of the device.</description></property><property name="type" name_upper="TYPE" type="string" alias="bt-type"><description-docbook><para> Either "dun" for Dial-Up Networking connections or "panu" for Personal Area Networking connections to devices supporting the NAP profile.</para></description-docbook><description>Either "dun" for Dial-Up Networking connections or "panu" for Personal Area Networking connections to devices supporting the NAP profile.</description></property></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-docbook><para> 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]).</para></description-docbook><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]).</description></property></setting><setting name="bridge" description=" Bridging Settings" name_upper="BRIDGE"><property name="ageing-time" name_upper="AGEING_TIME" type="uint32" default="300" alias="ageing-time"><description-docbook><para> The Ethernet MAC address aging time, in seconds.</para></description-docbook><description>The Ethernet MAC address aging time, in seconds.</description></property><property name="forward-delay" name_upper="FORWARD_DELAY" type="uint32" default="15" alias="forward-delay"><description-docbook><para> The Spanning Tree Protocol (STP) forwarding delay, in seconds.</para></description-docbook><description>The Spanning Tree Protocol (STP) forwarding delay, in seconds.</description></property><property name="group-address" name_upper="GROUP_ADDRESS" type="byte array"><description-docbook><para> If specified, The MAC address of the multicast group this bridge uses for STP.</para><para> 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.</para></description-docbook><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.</description></property><property name="group-forward-mask" name_upper="GROUP_FORWARD_MASK" type="uint32" default="0" alias="group-forward-mask"><description-docbook><para> 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.</para></description-docbook><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.</description></property><property name="hello-time" name_upper="HELLO_TIME" type="uint32" default="2" alias="hello-time"><description-docbook><para> The Spanning Tree Protocol (STP) hello time, in seconds.</para></description-docbook><description>The Spanning Tree Protocol (STP) hello time, in seconds.</description></property><property name="mac-address" name_upper="MAC_ADDRESS" type="byte array" alias="mac"><description-docbook><para> If specified, the MAC address of bridge. When creating a new bridge, this MAC address will be set.</para><para> If this field is left unspecified, the "ethernet.cloned-mac-address" is referred instead to generate the initial MAC address. Note that setting "ethernet.cloned-mac-address" anyway overwrites the MAC address of the bridge later while activating the bridge. Hence, this property is deprecated. Deprecated: 1</para></description-docbook><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 "ethernet.cloned-mac-address" is referred instead to generate the initial MAC address. Note that setting "ethernet.cloned-mac-address" anyway overwrites the MAC address of the bridge later while activating the bridge. Hence, this property is deprecated. Deprecated: 1</description></property><property name="max-age" name_upper="MAX_AGE" type="uint32" default="20" alias="max-age"><description-docbook><para> The Spanning Tree Protocol (STP) maximum message age, in seconds.</para></description-docbook><description>The Spanning Tree Protocol (STP) maximum message age, in seconds.</description></property><property name="multicast-hash-max" name_upper="MULTICAST_HASH_MAX" type="uint32" default="4096"><description-docbook><para> Set maximum size of multicast hash table (value must be a power of 2).</para></description-docbook><description>Set maximum size of multicast hash table (value must be a power of 2).</description></property><property name="multicast-last-member-count" name_upper="MULTICAST_LAST_MEMBER_COUNT" type="uint32" default="2"><description-docbook><para> Set the number of queries the bridge will send before stopping forwarding a multicast group after a "leave" message has been received.</para></description-docbook><description>Set the number of queries the bridge will send before stopping forwarding a multicast group after a "leave" message has been received.</description></property><property name="multicast-last-member-interval" name_upper="MULTICAST_LAST_MEMBER_INTERVAL" type="uint64" default="100"><description-docbook><para> Set interval (in deciseconds) between queries to find remaining members of a group, after a "leave" message is received.</para></description-docbook><description>Set interval (in deciseconds) between queries to find remaining members of a group, after a "leave" message is received.</description></property><property name="multicast-membership-interval" name_upper="MULTICAST_MEMBERSHIP_INTERVAL" type="uint64" default="26000"><description-docbook><para> Set delay (in deciseconds) after which the bridge will leave a group, if no membership reports for this group are received.</para></description-docbook><description>Set delay (in deciseconds) after which the bridge will leave a group, if no membership reports for this group are received.</description></property><property name="multicast-querier" name_upper="MULTICAST_QUERIER" type="boolean" default="FALSE"><description-docbook><para> Enable or disable sending of multicast queries by the bridge. If not specified the option is disabled.</para></description-docbook><description>Enable or disable sending of multicast queries by the bridge. If not specified the option is disabled.</description></property><property name="multicast-querier-interval" name_upper="MULTICAST_QUERIER_INTERVAL" type="uint64" default="25500"><description-docbook><para> If no queries are seen after this delay (in deciseconds) has passed, the bridge will start to send its own queries.</para></description-docbook><description>If no queries are seen after this delay (in deciseconds) has passed, the bridge will start to send its own queries.</description></property><property name="multicast-query-interval" name_upper="MULTICAST_QUERY_INTERVAL" type="uint64" default="12500"><description-docbook><para> Interval (in deciseconds) between queries sent by the bridge after the end of the startup phase.</para></description-docbook><description>Interval (in deciseconds) between queries sent by the bridge after the end of the startup phase.</description></property><property name="multicast-query-response-interval" name_upper="MULTICAST_QUERY_RESPONSE_INTERVAL" type="uint64" default="1000"><description-docbook><para> Set the Max Response Time/Max Response Delay (in deciseconds) for IGMP/MLD queries sent by the bridge.</para></description-docbook><description>Set the Max Response Time/Max Response Delay (in deciseconds) for IGMP/MLD queries sent by the bridge.</description></property><property name="multicast-query-use-ifaddr" name_upper="MULTICAST_QUERY_USE_IFADDR" type="boolean" default="FALSE"><description-docbook><para> 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.</para></description-docbook><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.</description></property><property name="multicast-router" name_upper="MULTICAST_ROUTER" type="string"><description-docbook><para> Sets bridge's multicast router. Multicast-snooping must be enabled for this option to work.</para><para> 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).</para></description-docbook><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).</description></property><property name="multicast-snooping" name_upper="MULTICAST_SNOOPING" type="boolean" default="TRUE" alias="multicast-snooping"><description-docbook><para> 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.</para></description-docbook><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.</description></property><property name="multicast-startup-query-count" name_upper="MULTICAST_STARTUP_QUERY_COUNT" type="uint32" default="2"><description-docbook><para> Set the number of IGMP queries to send during startup phase.</para></description-docbook><description>Set the number of IGMP queries to send during startup phase.</description></property><property name="multicast-startup-query-interval" name_upper="MULTICAST_STARTUP_QUERY_INTERVAL" type="uint64" default="3125"><description-docbook><para> Sets the time (in deciseconds) between queries sent out at startup to determine membership information.</para></description-docbook><description>Sets the time (in deciseconds) between queries sent out at startup to determine membership information.</description></property><property name="priority" name_upper="PRIORITY" type="uint32" default="32768" alias="priority"><description-docbook><para> Sets the Spanning Tree Protocol (STP) priority for this bridge.  Lower values are "better"; the lowest priority bridge will be elected the root bridge.</para></description-docbook><description>Sets the Spanning Tree Protocol (STP) priority for this bridge.  Lower values are "better"; the lowest priority bridge will be elected the root bridge.</description></property><property name="stp" name_upper="STP" type="boolean" default="TRUE" alias="stp"><description-docbook><para> Controls whether Spanning Tree Protocol (STP) is enabled for this bridge.</para></description-docbook><description>Controls whether Spanning Tree Protocol (STP) is enabled for this bridge.</description></property><property name="vlan-default-pvid" name_upper="VLAN_DEFAULT_PVID" type="uint32" default="1"><description-docbook><para> The default PVID for the ports of the bridge, that is the VLAN id assigned to incoming untagged frames.</para></description-docbook><description>The default PVID for the ports of the bridge, that is the VLAN id assigned to incoming untagged frames.</description></property><property name="vlan-filtering" name_upper="VLAN_FILTERING" type="boolean" default="FALSE"><description-docbook><para> Control whether VLAN filtering is enabled on the bridge.</para></description-docbook><description>Control whether VLAN filtering is enabled on the bridge.</description></property><property name="vlan-protocol" name_upper="VLAN_PROTOCOL" type="string"><description-docbook><para> If specified, the protocol used for VLAN filtering.</para><para> Supported values are: '802.1Q', '802.1ad'. If not specified the default value is '802.1Q'.</para></description-docbook><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'.</description></property><property name="vlan-stats-enabled" name_upper="VLAN_STATS_ENABLED" type="boolean" default="FALSE"><description-docbook><para> Controls whether per-VLAN stats accounting is enabled.</para></description-docbook><description>Controls whether per-VLAN stats accounting is enabled.</description></property><property name="vlans" name_upper="VLANS" type="array of vardict"><description-docbook><para> 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.</para><para> In nmcli the VLAN list can be specified with the following syntax:</para><para> $vid [pvid] [untagged] [, $vid [pvid] [untagged]]...</para><para> where $vid is either a single id between 1 and 4094 or a range, represented as a couple of ids separated by a dash.</para></description-docbook><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.</description></property></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" alias="hairpin"><description-docbook><para> Enables or disables "hairpin mode" for the port, which allows frames to be sent back out through the port the frame was received on.</para></description-docbook><description>Enables or disables "hairpin mode" for the port, which allows frames to be sent back out through the port the frame was received on.</description></property><property name="path-cost" name_upper="PATH_COST" type="uint32" default="100" alias="path-cost"><description-docbook><para> The Spanning Tree Protocol (STP) port cost for destinations via this port.</para></description-docbook><description>The Spanning Tree Protocol (STP) port cost for destinations via this port.</description></property><property name="priority" name_upper="PRIORITY" type="uint32" default="32" alias="priority"><description-docbook><para> The Spanning Tree Protocol (STP) priority of this bridge port.</para></description-docbook><description>The Spanning Tree Protocol (STP) priority of this bridge port.</description></property><property name="vlans" name_upper="VLANS" type="array of vardict"><description-docbook><para> 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.</para><para> In nmcli the VLAN list can be specified with the following syntax:</para><para> $vid [pvid] [untagged] [, $vid [pvid] [untagged]]...</para><para> where $vid is either a single id between 1 and 4094 or a range, represented as a couple of ids separated by a dash.</para></description-docbook><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.</description></property></setting><setting name="cdma" description=" CDMA-based Mobile Broadband Settings" name_upper="CDMA"><property name="mtu" name_upper="MTU" type="uint32" default="0"><description-docbook><para> If non-zero, only transmit packets of the specified size or smaller, breaking larger packets up into multiple frames.</para></description-docbook><description>If non-zero, only transmit packets of the specified size or smaller, breaking larger packets up into multiple frames.</description></property><property name="number" name_upper="NUMBER" type="string"><description-docbook><para> 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.</para></description-docbook><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.</description></property><property name="password" name_upper="PASSWORD" type="string" alias="password"><description-docbook><para> 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.</para></description-docbook><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.</description></property><property name="password-flags" name_upper="PASSWORD_FLAGS" type="NMSettingSecretFlags (uint32)"><description-docbook><para> Flags indicating how to handle the "password" property.</para></description-docbook><description>Flags indicating how to handle the "password" property.</description></property><property name="username" name_upper="USERNAME" type="string" alias="user"><description-docbook><para> 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.</para></description-docbook><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.</description></property></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-docbook><para> 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).</para></description-docbook><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).</description></property><property name="app-fcoe-mode" name_upper="APP_FCOE_MODE" type="string"><description-docbook><para> The FCoE controller mode; either "fabric" or "vn2vn".</para><para> Since 1.34, NULL is the default and means "fabric". Before 1.34, NULL was rejected as invalid and the default was "fabric".</para></description-docbook><description>The FCoE controller mode; either "fabric" or "vn2vn". Since 1.34, NULL is the default and means "fabric". Before 1.34, NULL was rejected as invalid and the default was "fabric".</description></property><property name="app-fcoe-priority" name_upper="APP_FCOE_PRIORITY" type="int32" default="-1"><description-docbook><para> The highest User Priority (0 - 7) which FCoE frames should use, or -1 for default priority.  Only used when the "app-fcoe-flags" property includes the NM_SETTING_DCB_FLAG_ENABLE (0x1) flag.</para></description-docbook><description>The highest User Priority (0 - 7) which FCoE frames should use, or -1 for default priority.  Only used when the "app-fcoe-flags" property includes the NM_SETTING_DCB_FLAG_ENABLE (0x1) flag.</description></property><property name="app-fip-flags" name_upper="APP_FIP_FLAGS" type="NMSettingDcbFlags (uint32)"><description-docbook><para> 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).</para></description-docbook><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).</description></property><property name="app-fip-priority" name_upper="APP_FIP_PRIORITY" type="int32" default="-1"><description-docbook><para> The highest User Priority (0 - 7) which FIP frames should use, or -1 for default priority.  Only used when the "app-fip-flags" property includes the NM_SETTING_DCB_FLAG_ENABLE (0x1) flag.</para></description-docbook><description>The highest User Priority (0 - 7) which FIP frames should use, or -1 for default priority.  Only used when the "app-fip-flags" property includes the NM_SETTING_DCB_FLAG_ENABLE (0x1) flag.</description></property><property name="app-iscsi-flags" name_upper="APP_ISCSI_FLAGS" type="NMSettingDcbFlags (uint32)"><description-docbook><para> 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).</para></description-docbook><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).</description></property><property name="app-iscsi-priority" name_upper="APP_ISCSI_PRIORITY" type="int32" default="-1"><description-docbook><para> The highest User Priority (0 - 7) which iSCSI frames should use, or -1 for default priority. Only used when the "app-iscsi-flags" property includes the NM_SETTING_DCB_FLAG_ENABLE (0x1) flag.</para></description-docbook><description>The highest User Priority (0 - 7) which iSCSI frames should use, or -1 for default priority. Only used when the "app-iscsi-flags" property includes the NM_SETTING_DCB_FLAG_ENABLE (0x1) flag.</description></property><property name="priority-bandwidth" name_upper="PRIORITY_BANDWIDTH" type="array of uint32"><description-docbook><para> 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.</para></description-docbook><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.</description></property><property name="priority-flow-control" name_upper="PRIORITY_FLOW_CONTROL" type="array of uint32"><description-docbook><para> 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.</para></description-docbook><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.</description></property><property name="priority-flow-control-flags" name_upper="PRIORITY_FLOW_CONTROL_FLAGS" type="NMSettingDcbFlags (uint32)"><description-docbook><para> 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).</para></description-docbook><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).</description></property><property name="priority-group-bandwidth" name_upper="PRIORITY_GROUP_BANDWIDTH" type="array of uint32"><description-docbook><para> 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.</para></description-docbook><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.</description></property><property name="priority-group-flags" name_upper="PRIORITY_GROUP_FLAGS" type="NMSettingDcbFlags (uint32)"><description-docbook><para> 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).</para></description-docbook><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).</description></property><property name="priority-group-id" name_upper="PRIORITY_GROUP_ID" type="array of uint32"><description-docbook><para> 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.</para></description-docbook><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.</description></property><property name="priority-strict-bandwidth" name_upper="PRIORITY_STRICT_BANDWIDTH" type="array of uint32"><description-docbook><para> 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.</para></description-docbook><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.</description></property><property name="priority-traffic-class" name_upper="PRIORITY_TRAFFIC_CLASS" type="array of uint32"><description-docbook><para> 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.</para></description-docbook><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.</description></property></setting><setting name="ethtool" description=" Ethtool Ethernet Settings" name_upper="ETHTOOL"><property name="coalesce-adaptive-rx" name_upper="COALESCE_ADAPTIVE_RX" /><property name="coalesce-adaptive-tx" name_upper="COALESCE_ADAPTIVE_TX" /><property name="coalesce-pkt-rate-high" name_upper="COALESCE_PKT_RATE_HIGH" /><property name="coalesce-pkt-rate-low" name_upper="COALESCE_PKT_RATE_LOW" /><property name="coalesce-rx-frames" name_upper="COALESCE_RX_FRAMES" /><property name="coalesce-rx-frames-high" name_upper="COALESCE_RX_FRAMES_HIGH" /><property name="coalesce-rx-frames-irq" name_upper="COALESCE_RX_FRAMES_IRQ" /><property name="coalesce-rx-frames-low" name_upper="COALESCE_RX_FRAMES_LOW" /><property name="coalesce-rx-usecs" name_upper="COALESCE_RX_USECS" /><property name="coalesce-rx-usecs-high" name_upper="COALESCE_RX_USECS_HIGH" /><property name="coalesce-rx-usecs-irq" name_upper="COALESCE_RX_USECS_IRQ" /><property name="coalesce-rx-usecs-low" name_upper="COALESCE_RX_USECS_LOW" /><property name="coalesce-sample-interval" name_upper="COALESCE_SAMPLE_INTERVAL" /><property name="coalesce-stats-block-usecs" name_upper="COALESCE_STATS_BLOCK_USECS" /><property name="coalesce-tx-frames" name_upper="COALESCE_TX_FRAMES" /><property name="coalesce-tx-frames-high" name_upper="COALESCE_TX_FRAMES_HIGH" /><property name="coalesce-tx-frames-irq" name_upper="COALESCE_TX_FRAMES_IRQ" /><property name="coalesce-tx-frames-low" name_upper="COALESCE_TX_FRAMES_LOW" /><property name="coalesce-tx-usecs" name_upper="COALESCE_TX_USECS" /><property name="coalesce-tx-usecs-high" name_upper="COALESCE_TX_USECS_HIGH" /><property name="coalesce-tx-usecs-irq" name_upper="COALESCE_TX_USECS_IRQ" /><property name="coalesce-tx-usecs-low" name_upper="COALESCE_TX_USECS_LOW" /><property name="feature-esp-hw-offload" name_upper="FEATURE_ESP_HW_OFFLOAD" /><property name="feature-esp-tx-csum-hw-offload" name_upper="FEATURE_ESP_TX_CSUM_HW_OFFLOAD" /><property name="feature-fcoe-mtu" name_upper="FEATURE_FCOE_MTU" /><property name="feature-gro" name_upper="FEATURE_GRO" /><property name="feature-gso" name_upper="FEATURE_GSO" /><property name="feature-highdma" name_upper="FEATURE_HIGHDMA" /><property name="feature-hw-tc-offload" name_upper="FEATURE_HW_TC_OFFLOAD" /><property name="feature-l2-fwd-offload" name_upper="FEATURE_L2_FWD_OFFLOAD" /><property name="feature-loopback" name_upper="FEATURE_LOOPBACK" /><property name="feature-lro" name_upper="FEATURE_LRO" /><property name="feature-macsec-hw-offload" name_upper="FEATURE_MACSEC_HW_OFFLOAD" /><property name="feature-ntuple" name_upper="FEATURE_NTUPLE" /><property name="feature-rx" name_upper="FEATURE_RX" /><property name="feature-rx-all" name_upper="FEATURE_RX_ALL" /><property name="feature-rx-fcs" name_upper="FEATURE_RX_FCS" /><property name="feature-rx-gro-hw" name_upper="FEATURE_RX_GRO_HW" /><property name="feature-rx-gro-list" name_upper="FEATURE_RX_GRO_LIST" /><property name="feature-rx-udp-gro-forwarding" name_upper="FEATURE_RX_UDP_GRO_FORWARDING" /><property name="feature-rx-udp_tunnel-port-offload" name_upper="FEATURE_RX_UDP_TUNNEL_PORT_OFFLOAD" /><property name="feature-rx-vlan-filter" name_upper="FEATURE_RX_VLAN_FILTER" /><property name="feature-rx-vlan-stag-filter" name_upper="FEATURE_RX_VLAN_STAG_FILTER" /><property name="feature-rx-vlan-stag-hw-parse" name_upper="FEATURE_RX_VLAN_STAG_HW_PARSE" /><property name="feature-rxhash" name_upper="FEATURE_RXHASH" /><property name="feature-rxvlan" name_upper="FEATURE_RXVLAN" /><property name="feature-sg" name_upper="FEATURE_SG" /><property name="feature-tls-hw-record" name_upper="FEATURE_TLS_HW_RECORD" /><property name="feature-tls-hw-rx-offload" name_upper="FEATURE_TLS_HW_RX_OFFLOAD" /><property name="feature-tls-hw-tx-offload" name_upper="FEATURE_TLS_HW_TX_OFFLOAD" /><property name="feature-tso" name_upper="FEATURE_TSO" /><property name="feature-tx" name_upper="FEATURE_TX" /><property name="feature-tx-checksum-fcoe-crc" name_upper="FEATURE_TX_CHECKSUM_FCOE_CRC" /><property name="feature-tx-checksum-ip-generic" name_upper="FEATURE_TX_CHECKSUM_IP_GENERIC" /><property name="feature-tx-checksum-ipv4" name_upper="FEATURE_TX_CHECKSUM_IPV4" /><property name="feature-tx-checksum-ipv6" name_upper="FEATURE_TX_CHECKSUM_IPV6" /><property name="feature-tx-checksum-sctp" name_upper="FEATURE_TX_CHECKSUM_SCTP" /><property name="feature-tx-esp-segmentation" name_upper="FEATURE_TX_ESP_SEGMENTATION" /><property name="feature-tx-fcoe-segmentation" name_upper="FEATURE_TX_FCOE_SEGMENTATION" /><property name="feature-tx-gre-csum-segmentation" name_upper="FEATURE_TX_GRE_CSUM_SEGMENTATION" /><property name="feature-tx-gre-segmentation" name_upper="FEATURE_TX_GRE_SEGMENTATION" /><property name="feature-tx-gso-list" name_upper="FEATURE_TX_GSO_LIST" /><property name="feature-tx-gso-partial" name_upper="FEATURE_TX_GSO_PARTIAL" /><property name="feature-tx-gso-robust" name_upper="FEATURE_TX_GSO_ROBUST" /><property name="feature-tx-ipxip4-segmentation" name_upper="FEATURE_TX_IPXIP4_SEGMENTATION" /><property name="feature-tx-ipxip6-segmentation" name_upper="FEATURE_TX_IPXIP6_SEGMENTATION" /><property name="feature-tx-nocache-copy" name_upper="FEATURE_TX_NOCACHE_COPY" /><property name="feature-tx-scatter-gather" name_upper="FEATURE_TX_SCATTER_GATHER" /><property name="feature-tx-scatter-gather-fraglist" name_upper="FEATURE_TX_SCATTER_GATHER_FRAGLIST" /><property name="feature-tx-sctp-segmentation" name_upper="FEATURE_TX_SCTP_SEGMENTATION" /><property name="feature-tx-tcp-ecn-segmentation" name_upper="FEATURE_TX_TCP_ECN_SEGMENTATION" /><property name="feature-tx-tcp-mangleid-segmentation" name_upper="FEATURE_TX_TCP_MANGLEID_SEGMENTATION" /><property name="feature-tx-tcp-segmentation" name_upper="FEATURE_TX_TCP_SEGMENTATION" /><property name="feature-tx-tcp6-segmentation" name_upper="FEATURE_TX_TCP6_SEGMENTATION" /><property name="feature-tx-tunnel-remcsum-segmentation" name_upper="FEATURE_TX_TUNNEL_REMCSUM_SEGMENTATION" /><property name="feature-tx-udp-segmentation" name_upper="FEATURE_TX_UDP_SEGMENTATION" /><property name="feature-tx-udp_tnl-csum-segmentation" name_upper="FEATURE_TX_UDP_TNL_CSUM_SEGMENTATION" /><property name="feature-tx-udp_tnl-segmentation" name_upper="FEATURE_TX_UDP_TNL_SEGMENTATION" /><property name="feature-tx-vlan-stag-hw-insert" name_upper="FEATURE_TX_VLAN_STAG_HW_INSERT" /><property name="feature-txvlan" name_upper="FEATURE_TXVLAN" /><property name="pause-autoneg" name_upper="PAUSE_AUTONEG"><description>Whether to automatically negotiate on pause frame of flow control mechanism defined by IEEE 802.3x standard.</description></property><property name="pause-rx" name_upper="PAUSE_RX"><description>Whether RX pause should be enabled. Only valid when automatic negotiation is disabled</description></property><property name="pause-tx" name_upper="PAUSE_TX"><description>Whether TX pause should be enabled. Only valid when automatic negotiation is disabled</description></property><property name="ring-rx" name_upper="RING_RX" /><property name="ring-rx-jumbo" name_upper="RING_RX_JUMBO" /><property name="ring-rx-mini" name_upper="RING_RX_MINI" /><property name="ring-tx" name_upper="RING_TX" /></setting><setting name="gsm" description=" GSM-based Mobile Broadband Settings" name_upper="GSM"><property name="apn" name_upper="APN" type="string" alias="apn"><description-docbook><para> 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.</para></description-docbook><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.</description></property><property name="auto-config" name_upper="AUTO_CONFIG" type="boolean" default="FALSE"><description-docbook><para> 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.</para></description-docbook><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.</description></property><property name="device-id" name_upper="DEVICE_ID" type="string"><description-docbook><para> 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.</para></description-docbook><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.</description></property><property name="home-only" name_upper="HOME_ONLY" type="boolean" default="FALSE"><description-docbook><para> When TRUE, only connections to the home network will be allowed. Connections to roaming networks will not be made.</para></description-docbook><description>When TRUE, only connections to the home network will be allowed. Connections to roaming networks will not be made.</description></property><property name="mtu" name_upper="MTU" type="uint32" default="0"><description-docbook><para> If non-zero, only transmit packets of the specified size or smaller, breaking larger packets up into multiple frames.</para></description-docbook><description>If non-zero, only transmit packets of the specified size or smaller, breaking larger packets up into multiple frames.</description></property><property name="network-id" name_upper="NETWORK_ID" type="string"><description-docbook><para> 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.</para></description-docbook><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.</description></property><property name="number" name_upper="NUMBER" type="string"><description-docbook><para> Legacy setting that used to help establishing PPP data sessions for GSM-based modems. Deprecated: 1</para></description-docbook><description>Legacy setting that used to help establishing PPP data sessions for GSM-based modems. Deprecated: 1</description></property><property name="password" name_upper="PASSWORD" type="string" alias="password"><description-docbook><para> 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.</para></description-docbook><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.</description></property><property name="password-flags" name_upper="PASSWORD_FLAGS" type="NMSettingSecretFlags (uint32)"><description-docbook><para> Flags indicating how to handle the "password" property.</para></description-docbook><description>Flags indicating how to handle the "password" property.</description></property><property name="pin" name_upper="PIN" type="string"><description-docbook><para> 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.</para></description-docbook><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.</description></property><property name="pin-flags" name_upper="PIN_FLAGS" type="NMSettingSecretFlags (uint32)"><description-docbook><para> Flags indicating how to handle the "pin" property.</para></description-docbook><description>Flags indicating how to handle the "pin" property.</description></property><property name="sim-id" name_upper="SIM_ID" type="string"><description-docbook><para> The SIM card unique identifier (as given by the WWAN management service) which this connection applies to.  If given, the connection will apply to any device also allowed by "device-id" which contains a SIM card matching the given identifier.</para></description-docbook><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 "device-id" which contains a SIM card matching the given identifier.</description></property><property name="sim-operator-id" name_upper="SIM_OPERATOR_ID" type="string"><description-docbook><para> A MCC/MNC string like "310260" or "21601" identifying the specific mobile network operator which this connection applies to.  If given, the connection will apply to any device also allowed by "device-id" and "sim-id" which contains a SIM card provisioned by the given operator.</para></description-docbook><description>A MCC/MNC string like "310260" or "21601" identifying the specific mobile network operator which this connection applies to.  If given, the connection will apply to any device also allowed by "device-id" and "sim-id" which contains a SIM card provisioned by the given operator.</description></property><property name="username" name_upper="USERNAME" type="string" alias="user"><description-docbook><para> 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.</para></description-docbook><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.</description></property></setting><setting name="infiniband" description=" Infiniband Settings" name_upper="INFINIBAND"><property name="mac-address" name_upper="MAC_ADDRESS" type="byte array" alias="mac"><description-docbook><para> 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).</para></description-docbook><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).</description></property><property name="mtu" name_upper="MTU" type="uint32" default="0" alias="mtu"><description-docbook><para> If non-zero, only transmit packets of the specified size or smaller, breaking larger packets up into multiple frames.</para></description-docbook><description>If non-zero, only transmit packets of the specified size or smaller, breaking larger packets up into multiple frames.</description></property><property name="p-key" name_upper="P_KEY" type="int32" default="-1" alias="p-key"><description-docbook><para> The InfiniBand P_Key to use for this device. A value of -1 means to use the default P_Key (aka "the P_Key at index 0"). Otherwise, it is a 16-bit unsigned integer, whose high bit is set if it is a "full membership" P_Key.</para></description-docbook><description>The InfiniBand P_Key to use for this device. A value of -1 means to use the default P_Key (aka "the P_Key at index 0"). Otherwise, it is a 16-bit unsigned integer, whose high bit is set if it is a "full membership" P_Key.</description></property><property name="parent" name_upper="PARENT" type="string" alias="parent"><description-docbook><para> The interface name of the parent device of this device. Normally NULL, but if the "p_key" property is set, then you must specify the base device by setting either this property or "mac-address".</para></description-docbook><description>The interface name of the parent device of this device. Normally NULL, but if the "p_key" property is set, then you must specify the base device by setting either this property or "mac-address".</description></property><property name="transport-mode" name_upper="TRANSPORT_MODE" type="string" alias="transport-mode"><description-docbook><para> The IP-over-InfiniBand transport mode. Either "datagram" or "connected".</para></description-docbook><description>The IP-over-InfiniBand transport mode. Either "datagram" or "connected".</description></property></setting><setting name="ipv4" description=" IPv4 Settings" name_upper="IP4_CONFIG"><property name="addresses" name_upper="ADDRESSES" type="a comma separated list of addresses" alias="ip4"><description-docbook><para> Array of IP addresses.</para></description-docbook><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 decreasing priority, meaning the first address will be the primary address.</description></property><property name="dad-timeout" name_upper="DAD_TIMEOUT" type="int32" default="-1"><description-docbook><para> 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.</para><para> The property is currently implemented only for IPv4.</para></description-docbook><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.</description></property><property name="dhcp-client-id" name_upper="DHCP_CLIENT_ID" type="string"><description-docbook><para> 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.</para><para> 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.</para><para> 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.</para><para> 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.</para><para> 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.</para><para> If unset, a globally configured default is used. If still unset, the default depends on the DHCP plugin.</para></description-docbook><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 "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.</description></property><property name="dhcp-fqdn" name_upper="DHCP_FQDN" type="string"><description-docbook><para> 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.</para></description-docbook><description>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.</description></property><property name="dhcp-hostname" name_upper="DHCP_HOSTNAME" type="string"><description-docbook><para> 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.</para></description-docbook><description>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.</description></property><property name="dhcp-hostname-flags" name_upper="DHCP_HOSTNAME_FLAGS" type="uint32" default="0"><description-docbook><para> Flags for the DHCP hostname and FQDN.</para><para> 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.</para><para> 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.</para></description-docbook><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.</description></property><property name="dhcp-iaid" name_upper="DHCP_IAID" type="string"><description-docbook><para> A string containing the "Identity Association Identifier" (IAID) used by the DHCP client. The property is a 32-bit decimal value or a special value among "mac", "perm-mac", "ifname" and "stable". When set to "mac" (or "perm-mac"), the last 4 bytes of the current (or permanent) MAC address are used as IAID. When set to "ifname", the IAID is computed by hashing the interface name. The special value "stable" can be used to generate an IAID based on the stable-id (see connection.stable-id), a per-host key and the interface name. When the property is unset, the value from global configuration is used; if no global default is set then the IAID is assumed to be "ifname". Note that at the moment this property is ignored for IPv6 by dhclient, which always derives the IAID from the MAC address.</para></description-docbook><description>A string containing the "Identity Association Identifier" (IAID) used by the DHCP client. The property is a 32-bit decimal value or a special value among "mac", "perm-mac", "ifname" and "stable". When set to "mac" (or "perm-mac"), the last 4 bytes of the current (or permanent) MAC address are used as IAID. When set to "ifname", the IAID is computed by hashing the interface name. The special value "stable" can be used to generate an IAID based on the stable-id (see connection.stable-id), a per-host key and the interface name. When the property is unset, the value from global configuration is used; if no global default is set then the IAID is assumed to be "ifname". Note that at the moment this property is ignored for IPv6 by dhclient, which always derives the IAID from the MAC address.</description></property><property name="dhcp-reject-servers" name_upper="DHCP_REJECT_SERVERS" type="array of string"><description-docbook><para> Array of servers from which DHCP offers must be rejected. This property is useful to avoid getting a lease from misconfigured or rogue servers.</para><para> For DHCPv4, each element must be an IPv4 address, optionally followed by a slash and a prefix length (e.g. "192.168.122.0/24").</para><para> This property is currently not implemented for DHCPv6.</para></description-docbook><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. "192.168.122.0/24"). This property is currently not implemented for DHCPv6.</description></property><property name="dhcp-send-hostname" name_upper="DHCP_SEND_HOSTNAME" type="boolean" default="TRUE"><description-docbook><para> If TRUE, a hostname is sent to the DHCP server when acquiring a lease. Some DHCP servers use this hostname to update DNS databases, essentially providing a static hostname for the computer.  If the "dhcp-hostname" property is NULL and this property is TRUE, the current persistent hostname of the computer is sent.</para></description-docbook><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 "dhcp-hostname" property is NULL and this property is TRUE, the current persistent hostname of the computer is sent.</description></property><property name="dhcp-timeout" name_upper="DHCP_TIMEOUT" type="int32" default="0"><description-docbook><para> 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).</para><para> Set to 2147483647 (MAXINT32) for infinity.</para></description-docbook><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.</description></property><property name="dhcp-vendor-class-identifier" name_upper="DHCP_VENDOR_CLASS_IDENTIFIER" type="string"><description-docbook><para> 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.</para><para> Since 1.28</para></description-docbook><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</description></property><property name="dns" name_upper="DNS" type="array of uint32"><description-docbook><para> Array of IP addresses of DNS servers.</para></description-docbook><description>Array of IP addresses of DNS servers.</description></property><property name="dns-options" name_upper="DNS_OPTIONS" type="array of string"><description-docbook><para> Array of DNS options as described in man 5 resolv.conf.</para><para> 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.</para><para> The currently supported options are "attempts", "debug", "edns0", "inet6", "ip6-bytestring", "ip6-dotint", "ndots", "no-check-names", "no-ip6-dotint", "no-reload", "no-tld-query", "rotate", "single-request", "single-request-reopen", "timeout", "trust-ad", "use-vc".</para><para> The "trust-ad" setting is only honored if the profile contributes name servers to resolv.conf, and if all contributing profiles have "trust-ad" enabled.</para><para> When using a caching DNS plugin (dnsmasq or systemd-resolved in NetworkManager.conf) then "edns0" and "trust-ad" are automatically added.</para></description-docbook><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 "attempts", "debug", "edns0", "inet6", "ip6-bytestring", "ip6-dotint", "ndots", "no-check-names", "no-ip6-dotint", "no-reload", "no-tld-query", "rotate", "single-request", "single-request-reopen", "timeout", "trust-ad", "use-vc". The "trust-ad" setting is only honored if the profile contributes name servers to resolv.conf, and if all contributing profiles have "trust-ad" enabled. When using a caching DNS plugin (dnsmasq or systemd-resolved in NetworkManager.conf) then "edns0" and "trust-ad" are automatically added.</description></property><property name="dns-priority" name_upper="DNS_PRIORITY" type="int32" default="0"><description-docbook><para> DNS servers priority.</para><para> The relative priority for DNS servers specified by this setting.  A lower numerical value is better (higher priority).</para><para> 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.</para><para> 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.</para><para> 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.</para><para> 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.</para><para> When using dns=default, servers with higher priority will be on top of resolv.conf. To prioritize a given server over another one within the same connection, just specify them in the desired order. Note that commonly the resolver tries name servers in /etc/resolv.conf in the order listed, proceeding with the next server in the list on failure. See for example the "rotate" option of the dns-options setting. If there are any negative DNS priorities, then only name servers from the devices with that lowest priority will be considered.</para><para> 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.</para></description-docbook><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 "rotate" option of the dns-options setting. If there are any negative DNS priorities, then only name servers from the devices with that lowest priority will be considered. When using a DNS resolver that supports Conditional Forwarding or Split DNS (with dns=dnsmasq or dns=systemd-resolved settings), each connection is used to query domains in its search list. The search domains determine which name servers to ask, and the DNS priority is used to prioritize name servers based on the domain.  Queries for domains not present in any search list are routed through connections having the '~.' special wildcard domain, which is added automatically to connections with the default route (or can be added manually).  When multiple connections specify the same domain, the one with the best priority (lowest numerical value) wins.  If a sub domain is configured on another interface it will be accepted regardless the priority, unless parent domain on the other interface has a negative priority, which causes the sub domain to be shadowed. With Split DNS one can avoid undesired DNS leaks by properly configuring DNS priorities and the search domains, so that only name servers of the desired interface are configured.</description></property><property name="dns-search" name_upper="DNS_SEARCH" type="array of string"><description-docbook><para> List 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.</para><para> 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.</para><para> When set on a profile that also enabled DHCP, the DNS search list received automatically (option 119 for DHCPv4 and option 24 for DHCPv6) gets merged with the manual list. This can be prevented by setting "ignore-auto-dns". Note that if no DNS searches are configured, the fallback will be derived from the domain from DHCP (option 15).</para></description-docbook><description>List 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. When set on a profile that also enabled DHCP, the DNS search list received automatically (option 119 for DHCPv4 and option 24 for DHCPv6) gets merged with the manual list. This can be prevented by setting "ignore-auto-dns". Note that if no DNS searches are configured, the fallback will be derived from the domain from DHCP (option 15).</description></property><property name="gateway" name_upper="GATEWAY" type="string" alias="gw4"><description-docbook><para> The gateway associated with this configuration. This is only meaningful if "addresses" is also set.</para><para> Setting the gateway causes NetworkManager to configure a standard default route with the gateway as next hop. This is ignored if "never-default" is set. An alternative is to configure the default route explicitly with a manual route and /0 as prefix length.</para><para> Note that the gateway usually conflicts with routing that NetworkManager configures for WireGuard interfaces, so usually it should not be set in that case. See "ip4-auto-default-route".</para></description-docbook><description>The gateway associated with this configuration. This is only meaningful if "addresses" is also set. Setting the gateway causes NetworkManager to configure a standard default route with the gateway as next hop. This is ignored if "never-default" is set. An alternative is to configure the default route explicitly with a manual route and /0 as prefix length. Note that the gateway usually conflicts with routing that NetworkManager configures for WireGuard interfaces, so usually it should not be set in that case. See "ip4-auto-default-route".</description></property><property name="ignore-auto-dns" name_upper="IGNORE_AUTO_DNS" type="boolean" default="FALSE"><description-docbook><para> When "method" is set to "auto" and this property to TRUE, automatically configured name servers and search domains are ignored and only name servers and search domains specified in the "dns" and "dns-search" properties, if any, are used.</para></description-docbook><description>When "method" is set to "auto" and this property to TRUE, automatically configured name servers and search domains are ignored and only name servers and search domains specified in the "dns" and "dns-search" properties, if any, are used.</description></property><property name="ignore-auto-routes" name_upper="IGNORE_AUTO_ROUTES" type="boolean" default="FALSE"><description-docbook><para> When "method" is set to "auto" and this property to TRUE, automatically configured routes are ignored and only routes specified in the "routes" property, if any, are used.</para></description-docbook><description>When "method" is set to "auto" and this property to TRUE, automatically configured routes are ignored and only routes specified in the "routes" property, if any, are used.</description></property><property name="link-local" name_upper="LINK_LOCAL" type="int32" default="0"><description-docbook><para> Enable and disable the IPv4 link-local configuration independently of the ipv4.method configuration. This allows a link-local address (169.254.x.y/16) to be obtained in addition to other addresses, such as those manually configured or obtained from a DHCP server.</para><para> When set to "auto", the value is dependent on "ipv4.method". When set to "default", it honors the global connection default, before falling back to "auto". Note that if "ipv4.method" is "disabled", then link local addressing is always disabled too. The default is "default".</para><para> Since 1.40</para></description-docbook><description>Enable and disable the IPv4 link-local configuration independently of the ipv4.method configuration. This allows a link-local address (169.254.x.y/16) to be obtained in addition to other addresses, such as those manually configured or obtained from a DHCP server. When set to "auto", the value is dependent on "ipv4.method". When set to "default", it honors the global connection default, before falling back to "auto". Note that if "ipv4.method" is "disabled", then link local addressing is always disabled too. The default is "default". Since 1.40</description></property><property name="may-fail" name_upper="MAY_FAIL" type="boolean" default="TRUE"><description-docbook><para> 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.</para></description-docbook><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.</description></property><property name="method" name_upper="METHOD" type="string"><description-docbook><para> IP configuration method.</para><para> NMSettingIP4Config and NMSettingIP6Config both support "disabled", "auto", "manual", and "link-local". See the subclass-specific documentation for other values.</para><para> 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.</para><para> For methods that imply no upstream network, such as "shared" or "link-local", these properties must be empty.</para><para> 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.</para></description-docbook><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.</description></property><property name="never-default" name_upper="NEVER_DEFAULT" type="boolean" default="FALSE"><description-docbook><para> 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.</para></description-docbook><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.</description></property><property name="required-timeout" name_upper="REQUIRED_TIMEOUT" type="int32" default="-1"><description-docbook><para> The minimum time interval in milliseconds for which dynamic IP configuration should be tried before the connection succeeds.</para><para> 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.</para><para> 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.</para><para> A zero value means that no required timeout is present, -1 means the default value (either configuration ipvx.required-timeout override or zero).</para></description-docbook><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).</description></property><property name="route-metric" name_upper="ROUTE_METRIC" type="int64" default="-1"><description-docbook><para> 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.</para></description-docbook><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.</description></property><property name="route-table" name_upper="ROUTE_TABLE" type="uint32" default="0"><description-docbook><para> Enable policy routing (source routing) and set the routing table used when adding routes.</para><para> 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.</para><para> 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.</para><para> 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.</para></description-docbook><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.</description></property><property name="routes" name_upper="ROUTES" type="a comma separated list of routes"><description-docbook>
+<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-docbook><para> 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.</para><para> Currently, this only applies to 802-1x authentication.</para></description-docbook><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.</description></property><property name="autoconnect" name_upper="AUTOCONNECT" type="boolean" default="TRUE" alias="autoconnect"><description-docbook><para> 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.</para><para> Autoconnect happens when the circumstances are suitable. That means for example that the device is currently managed and not active. Autoconnect thus never replaces or competes with an already active profile.</para><para> Note that autoconnect is not implemented for VPN profiles. See "secondaries" as an alternative to automatically connect VPN profiles.</para><para> If multiple profiles are ready to autoconnect on the same device, the one with the better "connection.autoconnect-priority" is chosen. If the priorities are equal, then the most recently connected profile is activated. If the profiles were not connected earlier or their "connection.timestamp" is identical, the choice is undefined.</para><para> Depending on "connection.multi-connect", a profile can (auto)connect only once at a time or multiple times.</para></description-docbook><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. Autoconnect happens when the circumstances are suitable. That means for example that the device is currently managed and not active. Autoconnect thus never replaces or competes with an already active profile. Note that autoconnect is not implemented for VPN profiles. See "secondaries" as an alternative to automatically connect VPN profiles. If multiple profiles are ready to autoconnect on the same device, the one with the better "connection.autoconnect-priority" is chosen. If the priorities are equal, then the most recently connected profile is activated. If the profiles were not connected earlier or their "connection.timestamp" is identical, the choice is undefined. Depending on "connection.multi-connect", a profile can (auto)connect only once at a time or multiple times.</description></property><property name="autoconnect-priority" name_upper="AUTOCONNECT_PRIORITY" type="int32" default="0"><description-docbook><para> The autoconnect priority in range -999 to 999. If the connection is set to autoconnect, connections with higher priority will be preferred. The higher number means higher priority. Defaults to 0. Note that this property only matters if there are more than one candidate profile to select for autoconnect. In case of equal priority, the profile used most recently is chosen.</para></description-docbook><description>The autoconnect priority in range -999 to 999. If the connection is set to autoconnect, connections with higher priority will be preferred. The higher number means higher priority. Defaults to 0. Note that this property only matters if there are more than one candidate profile to select for autoconnect. In case of equal priority, the profile used most recently is chosen.</description></property><property name="autoconnect-retries" name_upper="AUTOCONNECT_RETRIES" type="int32" default="-1"><description-docbook><para> 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.</para></description-docbook><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.</description></property><property name="autoconnect-slaves" name_upper="AUTOCONNECT_SLAVES" type="NMSettingConnectionAutoconnectSlaves (int32)"><description-docbook><para> Whether or not slaves of this connection should be automatically brought up when NetworkManager activates this connection. This only has a real effect for master connections. The properties "autoconnect", "autoconnect-priority" and "autoconnect-retries" are unrelated to this setting. The permitted values are: 0: leave slave connections untouched, 1: activate all the slave connections with this connection, -1: default. If -1 (default) is set, global connection.autoconnect-slaves is read to determine the real value. If it is default as well, this fallbacks to 0.</para></description-docbook><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 "autoconnect", "autoconnect-priority" and "autoconnect-retries" are unrelated to this setting. The permitted values are: 0: leave slave connections untouched, 1: activate all the slave connections with this connection, -1: default. If -1 (default) is set, global connection.autoconnect-slaves is read to determine the real value. If it is default as well, this fallbacks to 0.</description></property><property name="dns-over-tls" name_upper="DNS_OVER_TLS" type="int32" default="-1"><description-docbook><para> Whether DNSOverTls (dns-over-tls) is enabled for the connection. DNSOverTls is a technology which uses TLS to encrypt dns traffic.</para><para> The permitted values are: "yes" (2) use DNSOverTls and disabled fallback, "opportunistic" (1) use DNSOverTls but allow fallback to unencrypted resolution, "no" (0) don't ever use DNSOverTls. If unspecified "default" depends on the plugin used. Systemd-resolved uses global setting.</para><para> This feature requires a plugin which supports DNSOverTls. Otherwise, the setting has no effect. One such plugin is dns-systemd-resolved.</para></description-docbook><description>Whether DNSOverTls (dns-over-tls) is enabled for the connection. DNSOverTls is a technology which uses TLS to encrypt dns traffic. The permitted values are: "yes" (2) use DNSOverTls and disabled fallback, "opportunistic" (1) use DNSOverTls but allow fallback to unencrypted resolution, "no" (0) don't ever use DNSOverTls. If unspecified "default" depends on the plugin used. Systemd-resolved uses global setting. This feature requires a plugin which supports DNSOverTls. Otherwise, the setting has no effect. One such plugin is dns-systemd-resolved.</description></property><property name="gateway-ping-timeout" name_upper="GATEWAY_PING_TIMEOUT" type="uint32" default="0"><description-docbook><para> If greater than zero, delay success of IP addressing until either the timeout is reached, or an IP gateway replies to a ping.</para></description-docbook><description>If greater than zero, delay success of IP addressing until either the timeout is reached, or an IP gateway replies to a ping.</description></property><property name="id" name_upper="ID" type="string" alias="con-name"><description-docbook><para> A human readable unique identifier for the connection, like "Work Wi-Fi" or "T-Mobile 3G".</para></description-docbook><description>A human readable unique identifier for the connection, like "Work Wi-Fi" or "T-Mobile 3G".</description></property><property name="interface-name" name_upper="INTERFACE_NAME" type="string" alias="ifname"><description-docbook><para> 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).</para><para> For software devices this specifies the name of the created device.</para><para> 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.</para></description-docbook><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.</description></property><property name="lldp" name_upper="LLDP" type="int32" default="-1"><description-docbook><para> Whether LLDP is enabled for the connection.</para></description-docbook><description>Whether LLDP is enabled for the connection.</description></property><property name="llmnr" name_upper="LLMNR" type="int32" default="-1"><description-docbook><para> 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.</para><para> The permitted values are: "yes" (2) register hostname and resolving for the connection, "no" (0) disable LLMNR for the interface, "resolve" (1) do not register hostname but allow resolving of LLMNR host names If unspecified, "default" ultimately depends on the DNS plugin (which for systemd-resolved currently means "yes").</para><para> This feature requires a plugin which supports LLMNR. Otherwise, the setting has no effect. One such plugin is dns-systemd-resolved.</para></description-docbook><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: "yes" (2) register hostname and resolving for the connection, "no" (0) disable LLMNR for the interface, "resolve" (1) do not register hostname but allow resolving of LLMNR host names If unspecified, "default" ultimately depends on the DNS plugin (which for systemd-resolved currently means "yes"). This feature requires a plugin which supports LLMNR. Otherwise, the setting has no effect. One such plugin is dns-systemd-resolved.</description></property><property name="master" name_upper="MASTER" type="string" alias="master"><description-docbook><para> Interface name of the master device or UUID of the master connection.</para></description-docbook><description>Interface name of the master device or UUID of the master connection.</description></property><property name="mdns" name_upper="MDNS" type="int32" default="-1"><description-docbook><para> Whether mDNS is enabled for the connection.</para><para> The permitted values are: "yes" (2) register hostname and resolving for the connection, "no" (0) disable mDNS for the interface, "resolve" (1) do not register hostname but allow resolving of mDNS host names and "default" (-1) to allow lookup of a global default in NetworkManager.conf. If unspecified, "default" ultimately depends on the DNS plugin (which for systemd-resolved currently means "no").</para><para> This feature requires a plugin which supports mDNS. Otherwise, the setting has no effect. One such plugin is dns-systemd-resolved.</para></description-docbook><description>Whether mDNS is enabled for the connection. The permitted values are: "yes" (2) register hostname and resolving for the connection, "no" (0) disable mDNS for the interface, "resolve" (1) do not register hostname but allow resolving of mDNS host names and "default" (-1) to allow lookup of a global default in NetworkManager.conf. If unspecified, "default" ultimately depends on the DNS plugin (which for systemd-resolved currently means "no"). This feature requires a plugin which supports mDNS. Otherwise, the setting has no effect. One such plugin is dns-systemd-resolved.</description></property><property name="metered" name_upper="METERED" type="NMMetered (int32)"><description-docbook><para> Whether the connection is metered.</para><para> When updating this property on a currently activated connection, the change takes effect immediately.</para></description-docbook><description>Whether the connection is metered. When updating this property on a currently activated connection, the change takes effect immediately.</description></property><property name="mptcp-flags" name_upper="MPTCP_FLAGS" type="uint32" default="0"><description-docbook><para> Whether to configure MPTCP endpoints and the address flags. If MPTCP is enabled in NetworkManager, it will configure the addresses of the interface as MPTCP endpoints. Note that IPv4 loopback addresses (127.0.0.0/8), IPv4 link local addresses (169.254.0.0/16), the IPv6 loopback address (::1), IPv6 link local addresses (fe80::/10), IPv6 unique local addresses (ULA, fc00::/7) and IPv6 privacy extension addresses (rfc3041, ipv6.ip6-privacy) will be excluded from being configured as endpoints.</para><para> If "disabled" (0x1), MPTCP handling for the interface is disabled and no endpoints are registered.</para><para> The "enabled" (0x2) flag means that MPTCP handling is enabled. This flag can also be implied from the presence of other flags.</para><para> Even when enabled, MPTCP handling will by default still be disabled unless "/proc/sys/net/mptcp/enabled" sysctl is on. NetworkManager does not change the sysctl and this is up to the administrator or distribution. To configure endpoints even if the sysctl is disabled, "also-without-sysctl" (0x4) flag can be used. In that case, NetworkManager doesn't look at the sysctl and configures endpoints regardless.</para><para> Even when enabled, NetworkManager will only configure MPTCP endpoints for a certain address family, if there is a unicast default route (0.0.0.0/0 or ::/0) in the main routing table. The flag "also-without-default-route" (0x8) can override that.</para><para> When MPTCP handling is enabled then endpoints are configured with the specified address flags "signal" (0x10), "subflow" (0x20), "backup" (0x40), "fullmesh" (0x80). See ip-mptcp(8) manual for additional information about the flags.</para><para> If the flags are zero (0x0), the global connection default from NetworkManager.conf is honored. If still unspecified, the fallback is "enabled,subflow". Note that this means that MPTCP is by default done depending on the "/proc/sys/net/mptcp/enabled" sysctl.</para><para> NetworkManager does not change the MPTCP limits nor enable MPTCP via "/proc/sys/net/mptcp/enabled". That is a host configuration which the admin can change via sysctl and ip-mptcp.</para><para> Strict reverse path filtering (rp_filter) breaks many MPTCP use cases, so when MPTCP handling for IPv4 addresses on the interface is enabled, NetworkManager would loosen the strict reverse path filtering (1) to the loose setting (2).</para></description-docbook><description>Whether to configure MPTCP endpoints and the address flags. If MPTCP is enabled in NetworkManager, it will configure the addresses of the interface as MPTCP endpoints. Note that IPv4 loopback addresses (127.0.0.0/8), IPv4 link local addresses (169.254.0.0/16), the IPv6 loopback address (::1), IPv6 link local addresses (fe80::/10), IPv6 unique local addresses (ULA, fc00::/7) and IPv6 privacy extension addresses (rfc3041, ipv6.ip6-privacy) will be excluded from being configured as endpoints. If "disabled" (0x1), MPTCP handling for the interface is disabled and no endpoints are registered. The "enabled" (0x2) flag means that MPTCP handling is enabled. This flag can also be implied from the presence of other flags. Even when enabled, MPTCP handling will by default still be disabled unless "/proc/sys/net/mptcp/enabled" sysctl is on. NetworkManager does not change the sysctl and this is up to the administrator or distribution. To configure endpoints even if the sysctl is disabled, "also-without-sysctl" (0x4) flag can be used. In that case, NetworkManager doesn't look at the sysctl and configures endpoints regardless. Even when enabled, NetworkManager will only configure MPTCP endpoints for a certain address family, if there is a unicast default route (0.0.0.0/0 or ::/0) in the main routing table. The flag "also-without-default-route" (0x8) can override that. When MPTCP handling is enabled then endpoints are configured with the specified address flags "signal" (0x10), "subflow" (0x20), "backup" (0x40), "fullmesh" (0x80). See ip-mptcp(8) manual for additional information about the flags. If the flags are zero (0x0), the global connection default from NetworkManager.conf is honored. If still unspecified, the fallback is "enabled,subflow". Note that this means that MPTCP is by default done depending on the "/proc/sys/net/mptcp/enabled" sysctl. NetworkManager does not change the MPTCP limits nor enable MPTCP via "/proc/sys/net/mptcp/enabled". That is a host configuration which the admin can change via sysctl and ip-mptcp. Strict reverse path filtering (rp_filter) breaks many MPTCP use cases, so when MPTCP handling for IPv4 addresses on the interface is enabled, NetworkManager would loosen the strict reverse path filtering (1) to the loose setting (2).</description></property><property name="mud-url" name_upper="MUD_URL" type="string"><description-docbook><para> If configured, set to a Manufacturer Usage Description (MUD) URL that points to manufacturer-recommended network policies for IoT devices. It is transmitted as a DHCPv4 or DHCPv6 option. The value must be a valid URL starting with "https://".</para><para> The special value "none" is allowed to indicate that no MUD URL is used.</para><para> If the per-profile value is unspecified (the default), a global connection default gets consulted. If still unspecified, the ultimate default is "none".</para></description-docbook><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 "https://". The special value "none" is allowed to indicate that no MUD URL is used. If the per-profile value is unspecified (the default), a global connection default gets consulted. If still unspecified, the ultimate default is "none".</description></property><property name="multi-connect" name_upper="MULTI_CONNECT" type="int32" default="0"><description-docbook><para> Specifies whether the profile can be active multiple times at a particular moment. The value is of type NMConnectionMultiConnect.</para></description-docbook><description>Specifies whether the profile can be active multiple times at a particular moment. The value is of type NMConnectionMultiConnect.</description></property><property name="permissions" name_upper="PERMISSIONS" type="array of string"><description-docbook><para> An array of strings defining what access a given user has to this connection.  If this is NULL or empty, all users are allowed to access this connection; otherwise users are allowed if and only if they are in this list.  When this is not empty, the connection can be active only when one of the specified users is logged into an active session.  Each entry is of the form "[type]:[id]:[reserved]"; for example, "user:dcbw:blah".</para><para> At this time only the "user" [type] is allowed.  Any other values are ignored and reserved for future use.  [id] is the username that this permission refers to, which may not contain the ":" character. Any [reserved] information present must be ignored and is reserved for future use.  All of [type], [id], and [reserved] must be valid UTF-8.</para></description-docbook><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 "[type]:[id]:[reserved]"; for example, "user:dcbw:blah". At this time only the "user" [type] is allowed.  Any other values are ignored and reserved for future use.  [id] is the username that this permission refers to, which may not contain the ":" character. Any [reserved] information present must be ignored and is reserved for future use.  All of [type], [id], and [reserved] must be valid UTF-8.</description></property><property name="read-only" name_upper="READ_ONLY" type="boolean" default="FALSE"><description-docbook><para> 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.</para></description-docbook><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.</description></property><property name="secondaries" name_upper="SECONDARIES" type="array of string"><description-docbook><para> List of connection UUIDs that should be activated when the base connection itself is activated. Currently, only VPN connections are supported.</para></description-docbook><description>List of connection UUIDs that should be activated when the base connection itself is activated. Currently, only VPN connections are supported.</description></property><property name="slave-type" name_upper="SLAVE_TYPE" type="string" alias="slave-type"><description-docbook><para> Setting name of the device type of this slave's master connection (eg, "bond"), or NULL if this connection is not a slave.</para></description-docbook><description>Setting name of the device type of this slave's master connection (eg, "bond"), or NULL if this connection is not a slave.</description></property><property name="stable-id" name_upper="STABLE_ID" type="string"><description-docbook><para> 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.</para><para> 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].</para><para> 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. See NetworkManager(8) manual about the secret-key and the host identity.</para><para> The '$' character is treated special to perform dynamic substitutions at runtime. Currently, supported are "${CONNECTION}", "${DEVICE}", "${MAC}", "${BOOT}", "${RANDOM}". These effectively create unique IDs per-connection, per-device, per-boot, or every time. Note that "${DEVICE}" corresponds to the interface name of the device and "${MAC}" is the permanent MAC address of the device. Any unrecognized patterns following '$' are treated verbatim, however are reserved for future use. You are thus advised to avoid '$' or escape it as "$$". For example, set it to "${CONNECTION}-${BOOT}-${DEVICE}" to create a unique id for this connection that changes with every reboot and differs depending on the interface where the profile activates.</para><para> If the value is unset, a global connection default is consulted. If the value is still unset, the default is similar to "${CONNECTION}" and uses a unique, fixed ID for the connection.</para></description-docbook><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. See NetworkManager(8) manual about the secret-key and the host identity. The '$' character is treated special to perform dynamic substitutions at runtime. Currently, supported are "${CONNECTION}", "${DEVICE}", "${MAC}", "${BOOT}", "${RANDOM}". These effectively create unique IDs per-connection, per-device, per-boot, or every time. Note that "${DEVICE}" corresponds to the interface name of the device and "${MAC}" is the permanent MAC address of the device. Any unrecognized patterns following '$' are treated verbatim, however are reserved for future use. You are thus advised to avoid '$' or escape it as "$$". For example, set it to "${CONNECTION}-${BOOT}-${DEVICE}" to create a unique id for this connection that changes with every reboot and differs depending on the interface where the profile activates. If the value is unset, a global connection default is consulted. If the value is still unset, the default is similar to "${CONNECTION}" and uses a unique, fixed ID for the connection.</description></property><property name="timestamp" name_upper="TIMESTAMP" type="uint64" default="0"><description-docbook><para> The time, in seconds since the Unix Epoch, that the connection was last _successfully_ fully activated.</para><para> 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).</para></description-docbook><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).</description></property><property name="type" name_upper="TYPE" type="string" alias="type"><description-docbook><para> Base type of the connection. For hardware-dependent connections, should contain the setting name of the hardware-type specific setting (ie, "802-3-ethernet" or "802-11-wireless" or "bluetooth", etc), and for non-hardware dependent connections like VPN or otherwise, should contain the setting name of that setting type (ie, "vpn" or "bridge", etc).</para></description-docbook><description>Base type of the connection. For hardware-dependent connections, should contain the setting name of the hardware-type specific setting (ie, "802-3-ethernet" or "802-11-wireless" or "bluetooth", etc), and for non-hardware dependent connections like VPN or otherwise, should contain the setting name of that setting type (ie, "vpn" or "bridge", etc).</description></property><property name="uuid" name_upper="UUID" type="string"><description-docbook><para> A universally unique identifier for the connection, for example generated with libuuid.  It should be assigned when the connection is created, and never changed as long as the connection still applies to the same network.  For example, it should not be changed when the "id" property or NMSettingIP4Config changes, but might need to be re-created when the Wi-Fi SSID, mobile broadband network provider, or "type" property changes.</para><para> The UUID must be in the format "2815492f-7e56-435e-b2e9-246bd7cdc664" (ie, contains only hexadecimal characters and "-").</para></description-docbook><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 "id" property or NMSettingIP4Config changes, but might need to be re-created when the Wi-Fi SSID, mobile broadband network provider, or "type" property changes. The UUID must be in the format "2815492f-7e56-435e-b2e9-246bd7cdc664" (ie, contains only hexadecimal characters and "-").</description></property><property name="wait-activation-delay" name_upper="WAIT_ACTIVATION_DELAY" type="int32" default="-1"><description-docbook><para> Time in milliseconds to wait for connection to be considered activated. The wait will start after the pre-up dispatcher event.</para><para> The value 0 means no wait time. The default value is -1, which currently has the same meaning as no wait time.</para></description-docbook><description>Time in milliseconds to wait for connection to be considered activated. The wait will start after the pre-up dispatcher event. The value 0 means no wait time. The default value is -1, which currently has the same meaning as no wait time.</description></property><property name="wait-device-timeout" name_upper="WAIT_DEVICE_TIMEOUT" type="int32" default="-1"><description-docbook><para> 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.</para><para> The value 0 means no wait time. The default value is -1, which currently has the same meaning as no wait time.</para></description-docbook><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.</description></property><property name="zone" name_upper="ZONE" type="string"><description-docbook><para> The trust level of a the connection.  Free form case-insensitive string (for example "Home", "Work", "Public").  NULL or unspecified zone means the connection will be placed in the default zone as defined by the firewall.</para><para> When updating this property on a currently activated connection, the change takes effect immediately.</para></description-docbook><description>The trust level of a the connection.  Free form case-insensitive string (for example "Home", "Work", "Public").  NULL or unspecified zone means the connection will be placed in the default zone as defined by the firewall. When updating this property on a currently activated connection, the change takes effect immediately.</description></property></setting><setting name="6lowpan" description=" 6LoWPAN Settings" name_upper="6LOWPAN"><property name="parent" name_upper="PARENT" type="string" alias="dev"><description-docbook><para> If given, specifies the parent interface name or parent connection UUID from which this 6LowPAN interface should be created.</para></description-docbook><description>If given, specifies the parent interface name or parent connection UUID from which this 6LowPAN interface should be created.</description></property></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-docbook><para> 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.</para></description-docbook><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.</description></property><property name="anonymous-identity" name_upper="ANONYMOUS_IDENTITY" type="string"><description-docbook><para> Anonymous identity string for EAP authentication methods.  Used as the unencrypted identity with EAP types that support different tunneled identity like EAP-TTLS.</para></description-docbook><description>Anonymous identity string for EAP authentication methods.  Used as the unencrypted identity with EAP types that support different tunneled identity like EAP-TTLS.</description></property><property name="auth-timeout" name_upper="AUTH_TIMEOUT" type="int32" default="0"><description-docbook><para> A timeout for the authentication. Zero means the global default; if the global default is not set, the authentication timeout is 25 seconds.</para></description-docbook><description>A timeout for the authentication. Zero means the global default; if the global default is not set, the authentication timeout is 25 seconds.</description></property><property name="ca-cert" name_upper="CA_CERT" type="byte array"><description-docbook><para> Contains the CA certificate if used by the EAP method specified in the "eap" property.</para><para> Certificate data is specified using a "scheme"; three are currently supported: blob, path and pkcs#11 URL. When using the blob scheme this property should be set to the certificate's DER encoded data. When using the path scheme, this property should be set to the full UTF-8 encoded path of the certificate, prefixed with the string "file://" and ending with a terminating NUL byte. This property can be unset even if the EAP method supports CA certificates, but this allows man-in-the-middle attacks and is NOT recommended.</para><para> 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.</para></description-docbook><description>Contains the CA certificate if used by the EAP method specified in the "eap" property. Certificate data is specified using a "scheme"; three are currently supported: blob, path and pkcs#11 URL. When using the blob scheme this property should be set to the certificate's DER encoded data. When using the path scheme, this property should be set to the full UTF-8 encoded path of the certificate, prefixed with the string "file://" and ending with a terminating NUL byte. This property can be unset even if the EAP method supports CA certificates, but this allows man-in-the-middle attacks and is NOT recommended. Note that enabling NMSetting8021x:system-ca-certs will override this setting to use the built-in path, if the built-in path is not a directory.</description></property><property name="ca-cert-password" name_upper="CA_CERT_PASSWORD" type="string"><description-docbook><para> The password used to access the CA certificate stored in "ca-cert" property. Only makes sense if the certificate is stored on a PKCS#11 token that requires a login.</para></description-docbook><description>The password used to access the CA certificate stored in "ca-cert" property. Only makes sense if the certificate is stored on a PKCS#11 token that requires a login.</description></property><property name="ca-cert-password-flags" name_upper="CA_CERT_PASSWORD_FLAGS" type="NMSettingSecretFlags (uint32)"><description-docbook><para> Flags indicating how to handle the "ca-cert-password" property.</para></description-docbook><description>Flags indicating how to handle the "ca-cert-password" property.</description></property><property name="ca-path" name_upper="CA_PATH" type="string"><description-docbook><para> UTF-8 encoded path to a directory containing PEM or DER formatted certificates to be added to the verification chain in addition to the certificate specified in the "ca-cert" property.</para><para> If NMSetting8021x:system-ca-certs is enabled and the built-in CA path is an existing directory, then this setting is ignored.</para></description-docbook><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 "ca-cert" property. If NMSetting8021x:system-ca-certs is enabled and the built-in CA path is an existing directory, then this setting is ignored.</description></property><property name="client-cert" name_upper="CLIENT_CERT" type="byte array"><description-docbook><para> Contains the client certificate if used by the EAP method specified in the "eap" property.</para><para> Certificate data is specified using a "scheme"; two are currently supported: blob and path. When using the blob scheme (which is backwards compatible with NM 0.7.x) this property should be set to the certificate's DER encoded data. When using the path scheme, this property should be set to the full UTF-8 encoded path of the certificate, prefixed with the string "file://" and ending with a terminating NUL byte.</para></description-docbook><description>Contains the client certificate if used by the EAP method specified in the "eap" property. Certificate data is specified using a "scheme"; two are currently supported: blob and path. When using the blob scheme (which is backwards compatible with NM 0.7.x) this property should be set to the certificate's DER encoded data. When using the path scheme, this property should be set to the full UTF-8 encoded path of the certificate, prefixed with the string "file://" and ending with a terminating NUL byte.</description></property><property name="client-cert-password" name_upper="CLIENT_CERT_PASSWORD" type="string"><description-docbook><para> The password used to access the client certificate stored in "client-cert" property. Only makes sense if the certificate is stored on a PKCS#11 token that requires a login.</para></description-docbook><description>The password used to access the client certificate stored in "client-cert" property. Only makes sense if the certificate is stored on a PKCS#11 token that requires a login.</description></property><property name="client-cert-password-flags" name_upper="CLIENT_CERT_PASSWORD_FLAGS" type="NMSettingSecretFlags (uint32)"><description-docbook><para> Flags indicating how to handle the "client-cert-password" property.</para></description-docbook><description>Flags indicating how to handle the "client-cert-password" property.</description></property><property name="domain-match" name_upper="DOMAIN_MATCH" type="string"><description-docbook><para> Constraint for server domain name. If set, this list of FQDNs is used as a match requirement for dNSName element(s) of the certificate presented by the authentication server.  If a matching dNSName is found, this constraint is met.  If no dNSName values are present, this constraint is matched against SubjectName CN using the same comparison. Multiple valid FQDNs can be passed as a ";" delimited list.</para></description-docbook><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 ";" delimited list.</description></property><property name="domain-suffix-match" name_upper="DOMAIN_SUFFIX_MATCH" type="string"><description-docbook><para> Constraint for server domain name. If set, this FQDN is used as a suffix match requirement for dNSName element(s) of the certificate presented by the authentication server.  If a matching dNSName is found, this constraint is met.  If no dNSName values are present, this constraint is matched against SubjectName CN using same suffix match comparison. Since version 1.24, multiple valid FQDNs can be passed as a ";" delimited list.</para></description-docbook><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 ";" delimited list.</description></property><property name="eap" name_upper="EAP" type="array of string"><description-docbook><para> The allowed EAP method to be used when authenticating to the network with 802.1x.  Valid methods are: "leap", "md5", "tls", "peap", "ttls", "pwd", and "fast".  Each method requires different configuration using the properties of this setting; refer to wpa_supplicant documentation for the allowed combinations.</para></description-docbook><description>The allowed EAP method to be used when authenticating to the network with 802.1x.  Valid methods are: "leap", "md5", "tls", "peap", "ttls", "pwd", and "fast".  Each method requires different configuration using the properties of this setting; refer to wpa_supplicant documentation for the allowed combinations.</description></property><property name="identity" name_upper="IDENTITY" type="string"><description-docbook><para> Identity string for EAP authentication methods.  Often the user's user or login name.</para></description-docbook><description>Identity string for EAP authentication methods.  Often the user's user or login name.</description></property><property name="optional" name_upper="OPTIONAL" type="boolean" default="FALSE"><description-docbook><para> 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.</para></description-docbook><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.</description></property><property name="pac-file" name_upper="PAC_FILE" type="string"><description-docbook><para> UTF-8 encoded file path containing PAC for EAP-FAST.</para></description-docbook><description>UTF-8 encoded file path containing PAC for EAP-FAST.</description></property><property name="password" name_upper="PASSWORD" type="string"><description-docbook><para> UTF-8 encoded password used for EAP authentication methods. If both the "password" property and the "password-raw" property are specified, "password" is preferred.</para></description-docbook><description>UTF-8 encoded password used for EAP authentication methods. If both the "password" property and the "password-raw" property are specified, "password" is preferred.</description></property><property name="password-flags" name_upper="PASSWORD_FLAGS" type="NMSettingSecretFlags (uint32)"><description-docbook><para> Flags indicating how to handle the "password" property.</para></description-docbook><description>Flags indicating how to handle the "password" property.</description></property><property name="password-raw" name_upper="PASSWORD_RAW" type="byte array"><description-docbook><para> Password used for EAP authentication methods, given as a byte array to allow passwords in other encodings than UTF-8 to be used. If both the "password" property and the "password-raw" property are specified, "password" is preferred.</para></description-docbook><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 "password" property and the "password-raw" property are specified, "password" is preferred.</description></property><property name="password-raw-flags" name_upper="PASSWORD_RAW_FLAGS" type="NMSettingSecretFlags (uint32)"><description-docbook><para> Flags indicating how to handle the "password-raw" property.</para></description-docbook><description>Flags indicating how to handle the "password-raw" property.</description></property><property name="phase1-auth-flags" name_upper="PHASE1_AUTH_FLAGS" type="uint32" default="0"><description-docbook><para> Specifies authentication flags to use in "phase 1" outer authentication using NMSetting8021xAuthFlags options. The individual TLS versions can be explicitly disabled. If a certain TLS disable flag is not set, it is up to the supplicant to allow or forbid it. The TLS options map to tls_disable_tlsv1_x settings. See the wpa_supplicant documentation for more details.</para></description-docbook><description>Specifies authentication flags to use in "phase 1" outer authentication using NMSetting8021xAuthFlags options. The individual TLS versions can be explicitly disabled. If a certain TLS disable flag is not set, it is up to the supplicant to allow or forbid it. The TLS options map to tls_disable_tlsv1_x settings. See the wpa_supplicant documentation for more details.</description></property><property name="phase1-fast-provisioning" name_upper="PHASE1_FAST_PROVISIONING" type="string"><description-docbook><para> Enables or disables in-line provisioning of EAP-FAST credentials when FAST is specified as the EAP method in the "eap" property. Recognized values are "0" (disabled), "1" (allow unauthenticated provisioning), "2" (allow authenticated provisioning), and "3" (allow both authenticated and unauthenticated provisioning).  See the wpa_supplicant documentation for more details.</para></description-docbook><description>Enables or disables in-line provisioning of EAP-FAST credentials when FAST is specified as the EAP method in the "eap" property. Recognized values are "0" (disabled), "1" (allow unauthenticated provisioning), "2" (allow authenticated provisioning), and "3" (allow both authenticated and unauthenticated provisioning).  See the wpa_supplicant documentation for more details.</description></property><property name="phase1-peaplabel" name_upper="PHASE1_PEAPLABEL" type="string"><description-docbook><para> Forces use of the new PEAP label during key derivation.  Some RADIUS servers may require forcing the new PEAP label to interoperate with PEAPv1.  Set to "1" to force use of the new PEAP label.  See the wpa_supplicant documentation for more details.</para></description-docbook><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 "1" to force use of the new PEAP label.  See the wpa_supplicant documentation for more details.</description></property><property name="phase1-peapver" name_upper="PHASE1_PEAPVER" type="string"><description-docbook><para> Forces which PEAP version is used when PEAP is set as the EAP method in the "eap" property.  When unset, the version reported by the server will be used.  Sometimes when using older RADIUS servers, it is necessary to force the client to use a particular PEAP version.  To do so, this property may be set to "0" or "1" to force that specific PEAP version.</para></description-docbook><description>Forces which PEAP version is used when PEAP is set as the EAP method in the "eap" property.  When unset, the version reported by the server will be used.  Sometimes when using older RADIUS servers, it is necessary to force the client to use a particular PEAP version.  To do so, this property may be set to "0" or "1" to force that specific PEAP version.</description></property><property name="phase2-altsubject-matches" name_upper="PHASE2_ALTSUBJECT_MATCHES" type="array of string"><description-docbook><para> List of strings to be matched against the altSubjectName of the certificate presented by the authentication server during the inner "phase 2" authentication. If the list is empty, no verification of the server certificate's altSubjectName is performed.</para></description-docbook><description>List of strings to be matched against the altSubjectName of the certificate presented by the authentication server during the inner "phase 2" authentication. If the list is empty, no verification of the server certificate's altSubjectName is performed.</description></property><property name="phase2-auth" name_upper="PHASE2_AUTH" type="string"><description-docbook><para> Specifies the allowed "phase 2" inner authentication method when an EAP method that uses an inner TLS tunnel is specified in the "eap" property.  For TTLS this property selects one of the supported non-EAP inner methods: "pap", "chap", "mschap", "mschapv2" while "phase2-autheap" selects an EAP inner method.  For PEAP this selects an inner EAP method, one of: "gtc", "otp", "md5" and "tls". Each "phase 2" inner method requires specific parameters for successful authentication; see the wpa_supplicant documentation for more details. Both "phase2-auth" and "phase2-autheap" cannot be specified.</para></description-docbook><description>Specifies the allowed "phase 2" inner authentication method when an EAP method that uses an inner TLS tunnel is specified in the "eap" property.  For TTLS this property selects one of the supported non-EAP inner methods: "pap", "chap", "mschap", "mschapv2" while "phase2-autheap" selects an EAP inner method.  For PEAP this selects an inner EAP method, one of: "gtc", "otp", "md5" and "tls". Each "phase 2" inner method requires specific parameters for successful authentication; see the wpa_supplicant documentation for more details. Both "phase2-auth" and "phase2-autheap" cannot be specified.</description></property><property name="phase2-autheap" name_upper="PHASE2_AUTHEAP" type="string"><description-docbook><para> Specifies the allowed "phase 2" inner EAP-based authentication method when TTLS is specified in the "eap" property.  Recognized EAP-based "phase 2" methods are "md5", "mschapv2", "otp", "gtc", and "tls". Each "phase 2" inner method requires specific parameters for successful authentication; see the wpa_supplicant documentation for more details.</para></description-docbook><description>Specifies the allowed "phase 2" inner EAP-based authentication method when TTLS is specified in the "eap" property.  Recognized EAP-based "phase 2" methods are "md5", "mschapv2", "otp", "gtc", and "tls". Each "phase 2" inner method requires specific parameters for successful authentication; see the wpa_supplicant documentation for more details.</description></property><property name="phase2-ca-cert" name_upper="PHASE2_CA_CERT" type="byte array"><description-docbook><para> Contains the "phase 2" CA certificate if used by the EAP method specified in the "phase2-auth" or "phase2-autheap" properties.</para><para> Certificate data is specified using a "scheme"; three are currently supported: blob, path and pkcs#11 URL. When using the blob scheme this property should be set to the certificate's DER encoded data. When using the path scheme, this property should be set to the full UTF-8 encoded path of the certificate, prefixed with the string "file://" and ending with a terminating NUL byte. This property can be unset even if the EAP method supports CA certificates, but this allows man-in-the-middle attacks and is NOT recommended.</para><para> 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.</para></description-docbook><description>Contains the "phase 2" CA certificate if used by the EAP method specified in the "phase2-auth" or "phase2-autheap" properties. Certificate data is specified using a "scheme"; three are currently supported: blob, path and pkcs#11 URL. When using the blob scheme this property should be set to the certificate's DER encoded data. When using the path scheme, this property should be set to the full UTF-8 encoded path of the certificate, prefixed with the string "file://" and ending with a terminating NUL byte. This property can be unset even if the EAP method supports CA certificates, but this allows man-in-the-middle attacks and is NOT recommended. Note that enabling NMSetting8021x:system-ca-certs will override this setting to use the built-in path, if the built-in path is not a directory.</description></property><property name="phase2-ca-cert-password" name_upper="PHASE2_CA_CERT_PASSWORD" type="string"><description-docbook><para> The password used to access the "phase2" CA certificate stored in "phase2-ca-cert" property. Only makes sense if the certificate is stored on a PKCS#11 token that requires a login.</para></description-docbook><description>The password used to access the "phase2" CA certificate stored in "phase2-ca-cert" property. Only makes sense if the certificate is stored on a PKCS#11 token that requires a login.</description></property><property name="phase2-ca-cert-password-flags" name_upper="PHASE2_CA_CERT_PASSWORD_FLAGS" type="NMSettingSecretFlags (uint32)"><description-docbook><para> Flags indicating how to handle the "phase2-ca-cert-password" property.</para></description-docbook><description>Flags indicating how to handle the "phase2-ca-cert-password" property.</description></property><property name="phase2-ca-path" name_upper="PHASE2_CA_PATH" type="string"><description-docbook><para> UTF-8 encoded path to a directory containing PEM or DER formatted certificates to be added to the verification chain in addition to the certificate specified in the "phase2-ca-cert" property.</para><para> If NMSetting8021x:system-ca-certs is enabled and the built-in CA path is an existing directory, then this setting is ignored.</para></description-docbook><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 "phase2-ca-cert" property. If NMSetting8021x:system-ca-certs is enabled and the built-in CA path is an existing directory, then this setting is ignored.</description></property><property name="phase2-client-cert" name_upper="PHASE2_CLIENT_CERT" type="byte array"><description-docbook><para> Contains the "phase 2" client certificate if used by the EAP method specified in the "phase2-auth" or "phase2-autheap" properties.</para><para> Certificate data is specified using a "scheme"; two are currently supported: blob and path. When using the blob scheme (which is backwards compatible with NM 0.7.x) this property should be set to the certificate's DER encoded data. When using the path scheme, this property should be set to the full UTF-8 encoded path of the certificate, prefixed with the string "file://" and ending with a terminating NUL byte. This property can be unset even if the EAP method supports CA certificates, but this allows man-in-the-middle attacks and is NOT recommended.</para></description-docbook><description>Contains the "phase 2" client certificate if used by the EAP method specified in the "phase2-auth" or "phase2-autheap" properties. Certificate data is specified using a "scheme"; two are currently supported: blob and path. When using the blob scheme (which is backwards compatible with NM 0.7.x) this property should be set to the certificate's DER encoded data. When using the path scheme, this property should be set to the full UTF-8 encoded path of the certificate, prefixed with the string "file://" and ending with a terminating NUL byte. This property can be unset even if the EAP method supports CA certificates, but this allows man-in-the-middle attacks and is NOT recommended.</description></property><property name="phase2-client-cert-password" name_upper="PHASE2_CLIENT_CERT_PASSWORD" type="string"><description-docbook><para> The password used to access the "phase2" client certificate stored in "phase2-client-cert" property. Only makes sense if the certificate is stored on a PKCS#11 token that requires a login.</para></description-docbook><description>The password used to access the "phase2" client certificate stored in "phase2-client-cert" property. Only makes sense if the certificate is stored on a PKCS#11 token that requires a login.</description></property><property name="phase2-client-cert-password-flags" name_upper="PHASE2_CLIENT_CERT_PASSWORD_FLAGS" type="NMSettingSecretFlags (uint32)"><description-docbook><para> Flags indicating how to handle the "phase2-client-cert-password" property.</para></description-docbook><description>Flags indicating how to handle the "phase2-client-cert-password" property.</description></property><property name="phase2-domain-match" name_upper="PHASE2_DOMAIN_MATCH" type="string"><description-docbook><para> Constraint for server domain name. If set, this list of FQDNs is used as a match requirement for dNSName element(s) of the certificate presented by the authentication server during the inner "phase 2" authentication. If a matching dNSName is found, this constraint is met.  If no dNSName values are present, this constraint is matched against SubjectName CN using the same comparison. Multiple valid FQDNs can be passed as a ";" delimited list.</para></description-docbook><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 "phase 2" authentication. If a matching dNSName is found, this constraint is met.  If no dNSName values are present, this constraint is matched against SubjectName CN using the same comparison. Multiple valid FQDNs can be passed as a ";" delimited list.</description></property><property name="phase2-domain-suffix-match" name_upper="PHASE2_DOMAIN_SUFFIX_MATCH" type="string"><description-docbook><para> Constraint for server domain name. If set, this FQDN is used as a suffix match requirement for dNSName element(s) of the certificate presented by the authentication server during the inner "phase 2" authentication.  If a matching dNSName is found, this constraint is met.  If no dNSName values are present, this constraint is matched against SubjectName CN using same suffix match comparison. Since version 1.24, multiple valid FQDNs can be passed as a ";" delimited list.</para></description-docbook><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 "phase 2" authentication.  If a matching dNSName is found, this constraint is met.  If no dNSName values are present, this constraint is matched against SubjectName CN using same suffix match comparison. Since version 1.24, multiple valid FQDNs can be passed as a ";" delimited list.</description></property><property name="phase2-private-key" name_upper="PHASE2_PRIVATE_KEY" type="byte array"><description-docbook><para> Contains the "phase 2" inner private key when the "phase2-auth" or "phase2-autheap" property is set to "tls".</para><para> Key data is specified using a "scheme"; two are currently supported: blob and path. When using the blob scheme and private keys, this property should be set to the key's encrypted PEM encoded data. When using private keys with the path scheme, this property should be set to the full UTF-8 encoded path of the key, prefixed with the string "file://" and ending with a terminating NUL byte. When using PKCS#12 format private keys and the blob scheme, this property should be set to the PKCS#12 data and the "phase2-private-key-password" property must be set to password used to decrypt the PKCS#12 certificate and key. When using PKCS#12 files and the path scheme, this property should be set to the full UTF-8 encoded path of the key, prefixed with the string "file://" and ending with a terminating NUL byte, and as with the blob scheme the "phase2-private-key-password" property must be set to the password used to decode the PKCS#12 private key and certificate.</para></description-docbook><description>Contains the "phase 2" inner private key when the "phase2-auth" or "phase2-autheap" property is set to "tls". Key data is specified using a "scheme"; two are currently supported: blob and path. When using the blob scheme and private keys, this property should be set to the key's encrypted PEM encoded data. When using private keys with the path scheme, this property should be set to the full UTF-8 encoded path of the key, prefixed with the string "file://" and ending with a terminating NUL byte. When using PKCS#12 format private keys and the blob scheme, this property should be set to the PKCS#12 data and the "phase2-private-key-password" property must be set to password used to decrypt the PKCS#12 certificate and key. When using PKCS#12 files and the path scheme, this property should be set to the full UTF-8 encoded path of the key, prefixed with the string "file://" and ending with a terminating NUL byte, and as with the blob scheme the "phase2-private-key-password" property must be set to the password used to decode the PKCS#12 private key and certificate.</description></property><property name="phase2-private-key-password" name_upper="PHASE2_PRIVATE_KEY_PASSWORD" type="string"><description-docbook><para> The password used to decrypt the "phase 2" private key specified in the "phase2-private-key" property when the private key either uses the path scheme, or is a PKCS#12 format key.</para></description-docbook><description>The password used to decrypt the "phase 2" private key specified in the "phase2-private-key" property when the private key either uses the path scheme, or is a PKCS#12 format key.</description></property><property name="phase2-private-key-password-flags" name_upper="PHASE2_PRIVATE_KEY_PASSWORD_FLAGS" type="NMSettingSecretFlags (uint32)"><description-docbook><para> Flags indicating how to handle the "phase2-private-key-password" property.</para></description-docbook><description>Flags indicating how to handle the "phase2-private-key-password" property.</description></property><property name="phase2-subject-match" name_upper="PHASE2_SUBJECT_MATCH" type="string"><description-docbook><para> Substring to be matched against the subject of the certificate presented by the authentication server during the inner "phase 2" authentication. When unset, no verification of the authentication server certificate's subject is performed.  This property provides little security, if any, and its use is deprecated in favor of NMSetting8021x:phase2-domain-suffix-match.</para></description-docbook><description>Substring to be matched against the subject of the certificate presented by the authentication server during the inner "phase 2" authentication. When unset, no verification of the authentication server certificate's subject is performed.  This property provides little security, if any, and its use is deprecated in favor of NMSetting8021x:phase2-domain-suffix-match.</description></property><property name="pin" name_upper="PIN" type="string"><description-docbook><para> PIN used for EAP authentication methods.</para></description-docbook><description>PIN used for EAP authentication methods.</description></property><property name="pin-flags" name_upper="PIN_FLAGS" type="NMSettingSecretFlags (uint32)"><description-docbook><para> Flags indicating how to handle the "pin" property.</para></description-docbook><description>Flags indicating how to handle the "pin" property.</description></property><property name="private-key" name_upper="PRIVATE_KEY" type="byte array"><description-docbook><para> Contains the private key when the "eap" property is set to "tls".</para><para> Key data is specified using a "scheme"; two are currently supported: blob and path. When using the blob scheme and private keys, this property should be set to the key's encrypted PEM encoded data. When using private keys with the path scheme, this property should be set to the full UTF-8 encoded path of the key, prefixed with the string "file://" and ending with a terminating NUL byte. When using PKCS#12 format private keys and the blob scheme, this property should be set to the PKCS#12 data and the "private-key-password" property must be set to password used to decrypt the PKCS#12 certificate and key. When using PKCS#12 files and the path scheme, this property should be set to the full UTF-8 encoded path of the key, prefixed with the string "file://" and ending with a terminating NUL byte, and as with the blob scheme the "private-key-password" property must be set to the password used to decode the PKCS#12 private key and certificate.</para><para> WARNING: "private-key" is not a "secret" property, and thus unencrypted private key data using the BLOB scheme may be readable by unprivileged users.  Private keys should always be encrypted with a private key password to prevent unauthorized access to unencrypted private key data.</para></description-docbook><description>Contains the private key when the "eap" property is set to "tls". Key data is specified using a "scheme"; two are currently supported: blob and path. When using the blob scheme and private keys, this property should be set to the key's encrypted PEM encoded data. When using private keys with the path scheme, this property should be set to the full UTF-8 encoded path of the key, prefixed with the string "file://" and ending with a terminating NUL byte. When using PKCS#12 format private keys and the blob scheme, this property should be set to the PKCS#12 data and the "private-key-password" property must be set to password used to decrypt the PKCS#12 certificate and key. When using PKCS#12 files and the path scheme, this property should be set to the full UTF-8 encoded path of the key, prefixed with the string "file://" and ending with a terminating NUL byte, and as with the blob scheme the "private-key-password" property must be set to the password used to decode the PKCS#12 private key and certificate. WARNING: "private-key" is not a "secret" property, and thus unencrypted private key data using the BLOB scheme may be readable by unprivileged users.  Private keys should always be encrypted with a private key password to prevent unauthorized access to unencrypted private key data.</description></property><property name="private-key-password" name_upper="PRIVATE_KEY_PASSWORD" type="string"><description-docbook><para> The password used to decrypt the private key specified in the "private-key" property when the private key either uses the path scheme, or if the private key is a PKCS#12 format key.</para></description-docbook><description>The password used to decrypt the private key specified in the "private-key" property when the private key either uses the path scheme, or if the private key is a PKCS#12 format key.</description></property><property name="private-key-password-flags" name_upper="PRIVATE_KEY_PASSWORD_FLAGS" type="NMSettingSecretFlags (uint32)"><description-docbook><para> Flags indicating how to handle the "private-key-password" property.</para></description-docbook><description>Flags indicating how to handle the "private-key-password" property.</description></property><property name="subject-match" name_upper="SUBJECT_MATCH" type="string"><description-docbook><para> 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.</para></description-docbook><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.</description></property><property name="system-ca-certs" name_upper="SYSTEM_CA_CERTS" type="boolean" default="FALSE"><description-docbook><para> When TRUE, overrides the "ca-path" and "phase2-ca-path" properties using the system CA directory specified at configure time with the --system-ca-path switch.  The certificates in this directory are added to the verification chain in addition to any certificates specified by the "ca-cert" and "phase2-ca-cert" properties. If the path provided with --system-ca-path is rather a file name (bundle of trusted CA certificates), it overrides "ca-cert" and "phase2-ca-cert" properties instead (sets ca_cert/ca_cert2 options for wpa_supplicant).</para></description-docbook><description>When TRUE, overrides the "ca-path" and "phase2-ca-path" properties using the system CA directory specified at configure time with the --system-ca-path switch.  The certificates in this directory are added to the verification chain in addition to any certificates specified by the "ca-cert" and "phase2-ca-cert" properties. If the path provided with --system-ca-path is rather a file name (bundle of trusted CA certificates), it overrides "ca-cert" and "phase2-ca-cert" properties instead (sets ca_cert/ca_cert2 options for wpa_supplicant).</description></property></setting><setting name="adsl" description=" ADSL Settings" name_upper="ADSL"><property name="encapsulation" name_upper="ENCAPSULATION" type="string" alias="encapsulation"><description-docbook><para> Encapsulation of ADSL connection.  Can be "vcmux" or "llc".</para></description-docbook><description>Encapsulation of ADSL connection.  Can be "vcmux" or "llc".</description></property><property name="password" name_upper="PASSWORD" type="string" alias="password"><description-docbook><para> Password used to authenticate with the ADSL service.</para></description-docbook><description>Password used to authenticate with the ADSL service.</description></property><property name="password-flags" name_upper="PASSWORD_FLAGS" type="NMSettingSecretFlags (uint32)"><description-docbook><para> Flags indicating how to handle the "password" property.</para></description-docbook><description>Flags indicating how to handle the "password" property.</description></property><property name="protocol" name_upper="PROTOCOL" type="string" alias="protocol"><description-docbook><para> ADSL connection protocol.  Can be "pppoa", "pppoe" or "ipoatm".</para></description-docbook><description>ADSL connection protocol.  Can be "pppoa", "pppoe" or "ipoatm".</description></property><property name="username" name_upper="USERNAME" type="string" alias="username"><description-docbook><para> Username used to authenticate with the ADSL service.</para></description-docbook><description>Username used to authenticate with the ADSL service.</description></property><property name="vci" name_upper="VCI" type="uint32" default="0"><description-docbook><para> VCI of ADSL connection</para></description-docbook><description>VCI of ADSL connection</description></property><property name="vpi" name_upper="VPI" type="uint32" default="0"><description-docbook><para> VPI of ADSL connection</para></description-docbook><description>VPI of ADSL connection</description></property></setting><setting name="bluetooth" description=" Bluetooth Settings" name_upper="BLUETOOTH"><property name="bdaddr" name_upper="BDADDR" type="byte array" alias="addr"><description-docbook><para> The Bluetooth address of the device.</para></description-docbook><description>The Bluetooth address of the device.</description></property><property name="type" name_upper="TYPE" type="string" alias="bt-type"><description-docbook><para> Either "dun" for Dial-Up Networking connections or "panu" for Personal Area Networking connections to devices supporting the NAP profile.</para></description-docbook><description>Either "dun" for Dial-Up Networking connections or "panu" for Personal Area Networking connections to devices supporting the NAP profile.</description></property></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-docbook><para> 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]).</para></description-docbook><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]).</description></property></setting><setting name="bridge" description=" Bridging Settings" name_upper="BRIDGE"><property name="ageing-time" name_upper="AGEING_TIME" type="uint32" default="300" alias="ageing-time"><description-docbook><para> The Ethernet MAC address aging time, in seconds.</para></description-docbook><description>The Ethernet MAC address aging time, in seconds.</description></property><property name="forward-delay" name_upper="FORWARD_DELAY" type="uint32" default="15" alias="forward-delay"><description-docbook><para> The Spanning Tree Protocol (STP) forwarding delay, in seconds.</para></description-docbook><description>The Spanning Tree Protocol (STP) forwarding delay, in seconds.</description></property><property name="group-address" name_upper="GROUP_ADDRESS" type="byte array"><description-docbook><para> If specified, The MAC address of the multicast group this bridge uses for STP.</para><para> 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.</para></description-docbook><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.</description></property><property name="group-forward-mask" name_upper="GROUP_FORWARD_MASK" type="uint32" default="0" alias="group-forward-mask"><description-docbook><para> 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.</para></description-docbook><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.</description></property><property name="hello-time" name_upper="HELLO_TIME" type="uint32" default="2" alias="hello-time"><description-docbook><para> The Spanning Tree Protocol (STP) hello time, in seconds.</para></description-docbook><description>The Spanning Tree Protocol (STP) hello time, in seconds.</description></property><property name="mac-address" name_upper="MAC_ADDRESS" type="byte array" alias="mac"><description-docbook><para> If specified, the MAC address of bridge. When creating a new bridge, this MAC address will be set.</para><para> If this field is left unspecified, the "ethernet.cloned-mac-address" is referred instead to generate the initial MAC address. Note that setting "ethernet.cloned-mac-address" anyway overwrites the MAC address of the bridge later while activating the bridge. Hence, this property is deprecated. Deprecated: 1</para></description-docbook><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 "ethernet.cloned-mac-address" is referred instead to generate the initial MAC address. Note that setting "ethernet.cloned-mac-address" anyway overwrites the MAC address of the bridge later while activating the bridge. Hence, this property is deprecated. Deprecated: 1</description></property><property name="max-age" name_upper="MAX_AGE" type="uint32" default="20" alias="max-age"><description-docbook><para> The Spanning Tree Protocol (STP) maximum message age, in seconds.</para></description-docbook><description>The Spanning Tree Protocol (STP) maximum message age, in seconds.</description></property><property name="multicast-hash-max" name_upper="MULTICAST_HASH_MAX" type="uint32" default="4096"><description-docbook><para> Set maximum size of multicast hash table (value must be a power of 2).</para></description-docbook><description>Set maximum size of multicast hash table (value must be a power of 2).</description></property><property name="multicast-last-member-count" name_upper="MULTICAST_LAST_MEMBER_COUNT" type="uint32" default="2"><description-docbook><para> Set the number of queries the bridge will send before stopping forwarding a multicast group after a "leave" message has been received.</para></description-docbook><description>Set the number of queries the bridge will send before stopping forwarding a multicast group after a "leave" message has been received.</description></property><property name="multicast-last-member-interval" name_upper="MULTICAST_LAST_MEMBER_INTERVAL" type="uint64" default="100"><description-docbook><para> Set interval (in deciseconds) between queries to find remaining members of a group, after a "leave" message is received.</para></description-docbook><description>Set interval (in deciseconds) between queries to find remaining members of a group, after a "leave" message is received.</description></property><property name="multicast-membership-interval" name_upper="MULTICAST_MEMBERSHIP_INTERVAL" type="uint64" default="26000"><description-docbook><para> Set delay (in deciseconds) after which the bridge will leave a group, if no membership reports for this group are received.</para></description-docbook><description>Set delay (in deciseconds) after which the bridge will leave a group, if no membership reports for this group are received.</description></property><property name="multicast-querier" name_upper="MULTICAST_QUERIER" type="boolean" default="FALSE"><description-docbook><para> Enable or disable sending of multicast queries by the bridge. If not specified the option is disabled.</para></description-docbook><description>Enable or disable sending of multicast queries by the bridge. If not specified the option is disabled.</description></property><property name="multicast-querier-interval" name_upper="MULTICAST_QUERIER_INTERVAL" type="uint64" default="25500"><description-docbook><para> If no queries are seen after this delay (in deciseconds) has passed, the bridge will start to send its own queries.</para></description-docbook><description>If no queries are seen after this delay (in deciseconds) has passed, the bridge will start to send its own queries.</description></property><property name="multicast-query-interval" name_upper="MULTICAST_QUERY_INTERVAL" type="uint64" default="12500"><description-docbook><para> Interval (in deciseconds) between queries sent by the bridge after the end of the startup phase.</para></description-docbook><description>Interval (in deciseconds) between queries sent by the bridge after the end of the startup phase.</description></property><property name="multicast-query-response-interval" name_upper="MULTICAST_QUERY_RESPONSE_INTERVAL" type="uint64" default="1000"><description-docbook><para> Set the Max Response Time/Max Response Delay (in deciseconds) for IGMP/MLD queries sent by the bridge.</para></description-docbook><description>Set the Max Response Time/Max Response Delay (in deciseconds) for IGMP/MLD queries sent by the bridge.</description></property><property name="multicast-query-use-ifaddr" name_upper="MULTICAST_QUERY_USE_IFADDR" type="boolean" default="FALSE"><description-docbook><para> 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.</para></description-docbook><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.</description></property><property name="multicast-router" name_upper="MULTICAST_ROUTER" type="string"><description-docbook><para> Sets bridge's multicast router. Multicast-snooping must be enabled for this option to work.</para><para> 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).</para></description-docbook><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).</description></property><property name="multicast-snooping" name_upper="MULTICAST_SNOOPING" type="boolean" default="TRUE" alias="multicast-snooping"><description-docbook><para> 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.</para></description-docbook><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.</description></property><property name="multicast-startup-query-count" name_upper="MULTICAST_STARTUP_QUERY_COUNT" type="uint32" default="2"><description-docbook><para> Set the number of IGMP queries to send during startup phase.</para></description-docbook><description>Set the number of IGMP queries to send during startup phase.</description></property><property name="multicast-startup-query-interval" name_upper="MULTICAST_STARTUP_QUERY_INTERVAL" type="uint64" default="3125"><description-docbook><para> Sets the time (in deciseconds) between queries sent out at startup to determine membership information.</para></description-docbook><description>Sets the time (in deciseconds) between queries sent out at startup to determine membership information.</description></property><property name="priority" name_upper="PRIORITY" type="uint32" default="32768" alias="priority"><description-docbook><para> Sets the Spanning Tree Protocol (STP) priority for this bridge.  Lower values are "better"; the lowest priority bridge will be elected the root bridge.</para></description-docbook><description>Sets the Spanning Tree Protocol (STP) priority for this bridge.  Lower values are "better"; the lowest priority bridge will be elected the root bridge.</description></property><property name="stp" name_upper="STP" type="boolean" default="TRUE" alias="stp"><description-docbook><para> Controls whether Spanning Tree Protocol (STP) is enabled for this bridge.</para></description-docbook><description>Controls whether Spanning Tree Protocol (STP) is enabled for this bridge.</description></property><property name="vlan-default-pvid" name_upper="VLAN_DEFAULT_PVID" type="uint32" default="1"><description-docbook><para> The default PVID for the ports of the bridge, that is the VLAN id assigned to incoming untagged frames.</para></description-docbook><description>The default PVID for the ports of the bridge, that is the VLAN id assigned to incoming untagged frames.</description></property><property name="vlan-filtering" name_upper="VLAN_FILTERING" type="boolean" default="FALSE"><description-docbook><para> Control whether VLAN filtering is enabled on the bridge.</para></description-docbook><description>Control whether VLAN filtering is enabled on the bridge.</description></property><property name="vlan-protocol" name_upper="VLAN_PROTOCOL" type="string"><description-docbook><para> If specified, the protocol used for VLAN filtering.</para><para> Supported values are: '802.1Q', '802.1ad'. If not specified the default value is '802.1Q'.</para></description-docbook><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'.</description></property><property name="vlan-stats-enabled" name_upper="VLAN_STATS_ENABLED" type="boolean" default="FALSE"><description-docbook><para> Controls whether per-VLAN stats accounting is enabled.</para></description-docbook><description>Controls whether per-VLAN stats accounting is enabled.</description></property><property name="vlans" name_upper="VLANS" type="array of vardict"><description-docbook><para> 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.</para><para> In nmcli the VLAN list can be specified with the following syntax:</para><para> $vid [pvid] [untagged] [, $vid [pvid] [untagged]]...</para><para> where $vid is either a single id between 1 and 4094 or a range, represented as a couple of ids separated by a dash.</para></description-docbook><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.</description></property></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" alias="hairpin"><description-docbook><para> Enables or disables "hairpin mode" for the port, which allows frames to be sent back out through the port the frame was received on.</para></description-docbook><description>Enables or disables "hairpin mode" for the port, which allows frames to be sent back out through the port the frame was received on.</description></property><property name="path-cost" name_upper="PATH_COST" type="uint32" default="100" alias="path-cost"><description-docbook><para> The Spanning Tree Protocol (STP) port cost for destinations via this port.</para></description-docbook><description>The Spanning Tree Protocol (STP) port cost for destinations via this port.</description></property><property name="priority" name_upper="PRIORITY" type="uint32" default="32" alias="priority"><description-docbook><para> The Spanning Tree Protocol (STP) priority of this bridge port.</para></description-docbook><description>The Spanning Tree Protocol (STP) priority of this bridge port.</description></property><property name="vlans" name_upper="VLANS" type="array of vardict"><description-docbook><para> 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.</para><para> In nmcli the VLAN list can be specified with the following syntax:</para><para> $vid [pvid] [untagged] [, $vid [pvid] [untagged]]...</para><para> where $vid is either a single id between 1 and 4094 or a range, represented as a couple of ids separated by a dash.</para></description-docbook><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.</description></property></setting><setting name="cdma" description=" CDMA-based Mobile Broadband Settings" name_upper="CDMA"><property name="mtu" name_upper="MTU" type="uint32" default="0"><description-docbook><para> If non-zero, only transmit packets of the specified size or smaller, breaking larger packets up into multiple frames.</para></description-docbook><description>If non-zero, only transmit packets of the specified size or smaller, breaking larger packets up into multiple frames.</description></property><property name="number" name_upper="NUMBER" type="string"><description-docbook><para> 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.</para></description-docbook><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.</description></property><property name="password" name_upper="PASSWORD" type="string" alias="password"><description-docbook><para> 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.</para></description-docbook><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.</description></property><property name="password-flags" name_upper="PASSWORD_FLAGS" type="NMSettingSecretFlags (uint32)"><description-docbook><para> Flags indicating how to handle the "password" property.</para></description-docbook><description>Flags indicating how to handle the "password" property.</description></property><property name="username" name_upper="USERNAME" type="string" alias="user"><description-docbook><para> 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.</para></description-docbook><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.</description></property></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-docbook><para> 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).</para></description-docbook><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).</description></property><property name="app-fcoe-mode" name_upper="APP_FCOE_MODE" type="string"><description-docbook><para> The FCoE controller mode; either "fabric" or "vn2vn".</para><para> Since 1.34, NULL is the default and means "fabric". Before 1.34, NULL was rejected as invalid and the default was "fabric".</para></description-docbook><description>The FCoE controller mode; either "fabric" or "vn2vn". Since 1.34, NULL is the default and means "fabric". Before 1.34, NULL was rejected as invalid and the default was "fabric".</description></property><property name="app-fcoe-priority" name_upper="APP_FCOE_PRIORITY" type="int32" default="-1"><description-docbook><para> The highest User Priority (0 - 7) which FCoE frames should use, or -1 for default priority.  Only used when the "app-fcoe-flags" property includes the NM_SETTING_DCB_FLAG_ENABLE (0x1) flag.</para></description-docbook><description>The highest User Priority (0 - 7) which FCoE frames should use, or -1 for default priority.  Only used when the "app-fcoe-flags" property includes the NM_SETTING_DCB_FLAG_ENABLE (0x1) flag.</description></property><property name="app-fip-flags" name_upper="APP_FIP_FLAGS" type="NMSettingDcbFlags (uint32)"><description-docbook><para> 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).</para></description-docbook><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).</description></property><property name="app-fip-priority" name_upper="APP_FIP_PRIORITY" type="int32" default="-1"><description-docbook><para> The highest User Priority (0 - 7) which FIP frames should use, or -1 for default priority.  Only used when the "app-fip-flags" property includes the NM_SETTING_DCB_FLAG_ENABLE (0x1) flag.</para></description-docbook><description>The highest User Priority (0 - 7) which FIP frames should use, or -1 for default priority.  Only used when the "app-fip-flags" property includes the NM_SETTING_DCB_FLAG_ENABLE (0x1) flag.</description></property><property name="app-iscsi-flags" name_upper="APP_ISCSI_FLAGS" type="NMSettingDcbFlags (uint32)"><description-docbook><para> 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).</para></description-docbook><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).</description></property><property name="app-iscsi-priority" name_upper="APP_ISCSI_PRIORITY" type="int32" default="-1"><description-docbook><para> The highest User Priority (0 - 7) which iSCSI frames should use, or -1 for default priority. Only used when the "app-iscsi-flags" property includes the NM_SETTING_DCB_FLAG_ENABLE (0x1) flag.</para></description-docbook><description>The highest User Priority (0 - 7) which iSCSI frames should use, or -1 for default priority. Only used when the "app-iscsi-flags" property includes the NM_SETTING_DCB_FLAG_ENABLE (0x1) flag.</description></property><property name="priority-bandwidth" name_upper="PRIORITY_BANDWIDTH" type="array of uint32"><description-docbook><para> 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.</para></description-docbook><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.</description></property><property name="priority-flow-control" name_upper="PRIORITY_FLOW_CONTROL" type="array of uint32"><description-docbook><para> 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.</para></description-docbook><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.</description></property><property name="priority-flow-control-flags" name_upper="PRIORITY_FLOW_CONTROL_FLAGS" type="NMSettingDcbFlags (uint32)"><description-docbook><para> 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).</para></description-docbook><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).</description></property><property name="priority-group-bandwidth" name_upper="PRIORITY_GROUP_BANDWIDTH" type="array of uint32"><description-docbook><para> 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.</para></description-docbook><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.</description></property><property name="priority-group-flags" name_upper="PRIORITY_GROUP_FLAGS" type="NMSettingDcbFlags (uint32)"><description-docbook><para> 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).</para></description-docbook><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).</description></property><property name="priority-group-id" name_upper="PRIORITY_GROUP_ID" type="array of uint32"><description-docbook><para> 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.</para></description-docbook><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.</description></property><property name="priority-strict-bandwidth" name_upper="PRIORITY_STRICT_BANDWIDTH" type="array of uint32"><description-docbook><para> 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.</para></description-docbook><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.</description></property><property name="priority-traffic-class" name_upper="PRIORITY_TRAFFIC_CLASS" type="array of uint32"><description-docbook><para> 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.</para></description-docbook><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.</description></property></setting><setting name="ethtool" description=" Ethtool Ethernet Settings" name_upper="ETHTOOL"><property name="coalesce-adaptive-rx" name_upper="COALESCE_ADAPTIVE_RX" /><property name="coalesce-adaptive-tx" name_upper="COALESCE_ADAPTIVE_TX" /><property name="coalesce-pkt-rate-high" name_upper="COALESCE_PKT_RATE_HIGH" /><property name="coalesce-pkt-rate-low" name_upper="COALESCE_PKT_RATE_LOW" /><property name="coalesce-rx-frames" name_upper="COALESCE_RX_FRAMES" /><property name="coalesce-rx-frames-high" name_upper="COALESCE_RX_FRAMES_HIGH" /><property name="coalesce-rx-frames-irq" name_upper="COALESCE_RX_FRAMES_IRQ" /><property name="coalesce-rx-frames-low" name_upper="COALESCE_RX_FRAMES_LOW" /><property name="coalesce-rx-usecs" name_upper="COALESCE_RX_USECS" /><property name="coalesce-rx-usecs-high" name_upper="COALESCE_RX_USECS_HIGH" /><property name="coalesce-rx-usecs-irq" name_upper="COALESCE_RX_USECS_IRQ" /><property name="coalesce-rx-usecs-low" name_upper="COALESCE_RX_USECS_LOW" /><property name="coalesce-sample-interval" name_upper="COALESCE_SAMPLE_INTERVAL" /><property name="coalesce-stats-block-usecs" name_upper="COALESCE_STATS_BLOCK_USECS" /><property name="coalesce-tx-frames" name_upper="COALESCE_TX_FRAMES" /><property name="coalesce-tx-frames-high" name_upper="COALESCE_TX_FRAMES_HIGH" /><property name="coalesce-tx-frames-irq" name_upper="COALESCE_TX_FRAMES_IRQ" /><property name="coalesce-tx-frames-low" name_upper="COALESCE_TX_FRAMES_LOW" /><property name="coalesce-tx-usecs" name_upper="COALESCE_TX_USECS" /><property name="coalesce-tx-usecs-high" name_upper="COALESCE_TX_USECS_HIGH" /><property name="coalesce-tx-usecs-irq" name_upper="COALESCE_TX_USECS_IRQ" /><property name="coalesce-tx-usecs-low" name_upper="COALESCE_TX_USECS_LOW" /><property name="feature-esp-hw-offload" name_upper="FEATURE_ESP_HW_OFFLOAD" /><property name="feature-esp-tx-csum-hw-offload" name_upper="FEATURE_ESP_TX_CSUM_HW_OFFLOAD" /><property name="feature-fcoe-mtu" name_upper="FEATURE_FCOE_MTU" /><property name="feature-gro" name_upper="FEATURE_GRO" /><property name="feature-gso" name_upper="FEATURE_GSO" /><property name="feature-highdma" name_upper="FEATURE_HIGHDMA" /><property name="feature-hw-tc-offload" name_upper="FEATURE_HW_TC_OFFLOAD" /><property name="feature-l2-fwd-offload" name_upper="FEATURE_L2_FWD_OFFLOAD" /><property name="feature-loopback" name_upper="FEATURE_LOOPBACK" /><property name="feature-lro" name_upper="FEATURE_LRO" /><property name="feature-macsec-hw-offload" name_upper="FEATURE_MACSEC_HW_OFFLOAD" /><property name="feature-ntuple" name_upper="FEATURE_NTUPLE" /><property name="feature-rx" name_upper="FEATURE_RX" /><property name="feature-rx-all" name_upper="FEATURE_RX_ALL" /><property name="feature-rx-fcs" name_upper="FEATURE_RX_FCS" /><property name="feature-rx-gro-hw" name_upper="FEATURE_RX_GRO_HW" /><property name="feature-rx-gro-list" name_upper="FEATURE_RX_GRO_LIST" /><property name="feature-rx-udp-gro-forwarding" name_upper="FEATURE_RX_UDP_GRO_FORWARDING" /><property name="feature-rx-udp_tunnel-port-offload" name_upper="FEATURE_RX_UDP_TUNNEL_PORT_OFFLOAD" /><property name="feature-rx-vlan-filter" name_upper="FEATURE_RX_VLAN_FILTER" /><property name="feature-rx-vlan-stag-filter" name_upper="FEATURE_RX_VLAN_STAG_FILTER" /><property name="feature-rx-vlan-stag-hw-parse" name_upper="FEATURE_RX_VLAN_STAG_HW_PARSE" /><property name="feature-rxhash" name_upper="FEATURE_RXHASH" /><property name="feature-rxvlan" name_upper="FEATURE_RXVLAN" /><property name="feature-sg" name_upper="FEATURE_SG" /><property name="feature-tls-hw-record" name_upper="FEATURE_TLS_HW_RECORD" /><property name="feature-tls-hw-rx-offload" name_upper="FEATURE_TLS_HW_RX_OFFLOAD" /><property name="feature-tls-hw-tx-offload" name_upper="FEATURE_TLS_HW_TX_OFFLOAD" /><property name="feature-tso" name_upper="FEATURE_TSO" /><property name="feature-tx" name_upper="FEATURE_TX" /><property name="feature-tx-checksum-fcoe-crc" name_upper="FEATURE_TX_CHECKSUM_FCOE_CRC" /><property name="feature-tx-checksum-ip-generic" name_upper="FEATURE_TX_CHECKSUM_IP_GENERIC" /><property name="feature-tx-checksum-ipv4" name_upper="FEATURE_TX_CHECKSUM_IPV4" /><property name="feature-tx-checksum-ipv6" name_upper="FEATURE_TX_CHECKSUM_IPV6" /><property name="feature-tx-checksum-sctp" name_upper="FEATURE_TX_CHECKSUM_SCTP" /><property name="feature-tx-esp-segmentation" name_upper="FEATURE_TX_ESP_SEGMENTATION" /><property name="feature-tx-fcoe-segmentation" name_upper="FEATURE_TX_FCOE_SEGMENTATION" /><property name="feature-tx-gre-csum-segmentation" name_upper="FEATURE_TX_GRE_CSUM_SEGMENTATION" /><property name="feature-tx-gre-segmentation" name_upper="FEATURE_TX_GRE_SEGMENTATION" /><property name="feature-tx-gso-list" name_upper="FEATURE_TX_GSO_LIST" /><property name="feature-tx-gso-partial" name_upper="FEATURE_TX_GSO_PARTIAL" /><property name="feature-tx-gso-robust" name_upper="FEATURE_TX_GSO_ROBUST" /><property name="feature-tx-ipxip4-segmentation" name_upper="FEATURE_TX_IPXIP4_SEGMENTATION" /><property name="feature-tx-ipxip6-segmentation" name_upper="FEATURE_TX_IPXIP6_SEGMENTATION" /><property name="feature-tx-nocache-copy" name_upper="FEATURE_TX_NOCACHE_COPY" /><property name="feature-tx-scatter-gather" name_upper="FEATURE_TX_SCATTER_GATHER" /><property name="feature-tx-scatter-gather-fraglist" name_upper="FEATURE_TX_SCATTER_GATHER_FRAGLIST" /><property name="feature-tx-sctp-segmentation" name_upper="FEATURE_TX_SCTP_SEGMENTATION" /><property name="feature-tx-tcp-ecn-segmentation" name_upper="FEATURE_TX_TCP_ECN_SEGMENTATION" /><property name="feature-tx-tcp-mangleid-segmentation" name_upper="FEATURE_TX_TCP_MANGLEID_SEGMENTATION" /><property name="feature-tx-tcp-segmentation" name_upper="FEATURE_TX_TCP_SEGMENTATION" /><property name="feature-tx-tcp6-segmentation" name_upper="FEATURE_TX_TCP6_SEGMENTATION" /><property name="feature-tx-tunnel-remcsum-segmentation" name_upper="FEATURE_TX_TUNNEL_REMCSUM_SEGMENTATION" /><property name="feature-tx-udp-segmentation" name_upper="FEATURE_TX_UDP_SEGMENTATION" /><property name="feature-tx-udp_tnl-csum-segmentation" name_upper="FEATURE_TX_UDP_TNL_CSUM_SEGMENTATION" /><property name="feature-tx-udp_tnl-segmentation" name_upper="FEATURE_TX_UDP_TNL_SEGMENTATION" /><property name="feature-tx-vlan-stag-hw-insert" name_upper="FEATURE_TX_VLAN_STAG_HW_INSERT" /><property name="feature-txvlan" name_upper="FEATURE_TXVLAN" /><property name="pause-autoneg" name_upper="PAUSE_AUTONEG"><description>Whether to automatically negotiate on pause frame of flow control mechanism defined by IEEE 802.3x standard.</description></property><property name="pause-rx" name_upper="PAUSE_RX"><description>Whether RX pause should be enabled. Only valid when automatic negotiation is disabled</description></property><property name="pause-tx" name_upper="PAUSE_TX"><description>Whether TX pause should be enabled. Only valid when automatic negotiation is disabled</description></property><property name="ring-rx" name_upper="RING_RX" /><property name="ring-rx-jumbo" name_upper="RING_RX_JUMBO" /><property name="ring-rx-mini" name_upper="RING_RX_MINI" /><property name="ring-tx" name_upper="RING_TX" /></setting><setting name="gsm" description=" GSM-based Mobile Broadband Settings" name_upper="GSM"><property name="apn" name_upper="APN" type="string" alias="apn"><description-docbook><para> 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.</para></description-docbook><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.</description></property><property name="auto-config" name_upper="AUTO_CONFIG" type="boolean" default="FALSE"><description-docbook><para> 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.</para></description-docbook><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.</description></property><property name="device-id" name_upper="DEVICE_ID" type="string"><description-docbook><para> 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.</para></description-docbook><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.</description></property><property name="home-only" name_upper="HOME_ONLY" type="boolean" default="FALSE"><description-docbook><para> When TRUE, only connections to the home network will be allowed. Connections to roaming networks will not be made.</para></description-docbook><description>When TRUE, only connections to the home network will be allowed. Connections to roaming networks will not be made.</description></property><property name="mtu" name_upper="MTU" type="uint32" default="0"><description-docbook><para> If non-zero, only transmit packets of the specified size or smaller, breaking larger packets up into multiple frames.</para></description-docbook><description>If non-zero, only transmit packets of the specified size or smaller, breaking larger packets up into multiple frames.</description></property><property name="network-id" name_upper="NETWORK_ID" type="string"><description-docbook><para> 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.</para></description-docbook><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.</description></property><property name="number" name_upper="NUMBER" type="string"><description-docbook><para> Legacy setting that used to help establishing PPP data sessions for GSM-based modems. Deprecated: 1</para></description-docbook><description>Legacy setting that used to help establishing PPP data sessions for GSM-based modems. Deprecated: 1</description></property><property name="password" name_upper="PASSWORD" type="string" alias="password"><description-docbook><para> 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.</para></description-docbook><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.</description></property><property name="password-flags" name_upper="PASSWORD_FLAGS" type="NMSettingSecretFlags (uint32)"><description-docbook><para> Flags indicating how to handle the "password" property.</para></description-docbook><description>Flags indicating how to handle the "password" property.</description></property><property name="pin" name_upper="PIN" type="string"><description-docbook><para> 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.</para></description-docbook><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.</description></property><property name="pin-flags" name_upper="PIN_FLAGS" type="NMSettingSecretFlags (uint32)"><description-docbook><para> Flags indicating how to handle the "pin" property.</para></description-docbook><description>Flags indicating how to handle the "pin" property.</description></property><property name="sim-id" name_upper="SIM_ID" type="string"><description-docbook><para> The SIM card unique identifier (as given by the WWAN management service) which this connection applies to.  If given, the connection will apply to any device also allowed by "device-id" which contains a SIM card matching the given identifier.</para></description-docbook><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 "device-id" which contains a SIM card matching the given identifier.</description></property><property name="sim-operator-id" name_upper="SIM_OPERATOR_ID" type="string"><description-docbook><para> A MCC/MNC string like "310260" or "21601" identifying the specific mobile network operator which this connection applies to.  If given, the connection will apply to any device also allowed by "device-id" and "sim-id" which contains a SIM card provisioned by the given operator.</para></description-docbook><description>A MCC/MNC string like "310260" or "21601" identifying the specific mobile network operator which this connection applies to.  If given, the connection will apply to any device also allowed by "device-id" and "sim-id" which contains a SIM card provisioned by the given operator.</description></property><property name="username" name_upper="USERNAME" type="string" alias="user"><description-docbook><para> 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.</para></description-docbook><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.</description></property></setting><setting name="infiniband" description=" Infiniband Settings" name_upper="INFINIBAND"><property name="mac-address" name_upper="MAC_ADDRESS" type="byte array" alias="mac"><description-docbook><para> 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).</para></description-docbook><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).</description></property><property name="mtu" name_upper="MTU" type="uint32" default="0" alias="mtu"><description-docbook><para> If non-zero, only transmit packets of the specified size or smaller, breaking larger packets up into multiple frames.</para></description-docbook><description>If non-zero, only transmit packets of the specified size or smaller, breaking larger packets up into multiple frames.</description></property><property name="p-key" name_upper="P_KEY" type="int32" default="-1" alias="p-key"><description-docbook><para> The InfiniBand P_Key to use for this device. A value of -1 means to use the default P_Key (aka "the P_Key at index 0"). Otherwise, it is a 16-bit unsigned integer, whose high bit is set if it is a "full membership" P_Key.</para></description-docbook><description>The InfiniBand P_Key to use for this device. A value of -1 means to use the default P_Key (aka "the P_Key at index 0"). Otherwise, it is a 16-bit unsigned integer, whose high bit is set if it is a "full membership" P_Key.</description></property><property name="parent" name_upper="PARENT" type="string" alias="parent"><description-docbook><para> The interface name of the parent device of this device. Normally NULL, but if the "p_key" property is set, then you must specify the base device by setting either this property or "mac-address".</para></description-docbook><description>The interface name of the parent device of this device. Normally NULL, but if the "p_key" property is set, then you must specify the base device by setting either this property or "mac-address".</description></property><property name="transport-mode" name_upper="TRANSPORT_MODE" type="string" alias="transport-mode"><description-docbook><para> The IP-over-InfiniBand transport mode. Either "datagram" or "connected".</para></description-docbook><description>The IP-over-InfiniBand transport mode. Either "datagram" or "connected".</description></property></setting><setting name="ipv4" description=" IPv4 Settings" name_upper="IP4_CONFIG"><property name="addresses" name_upper="ADDRESSES" type="a comma separated list of addresses" alias="ip4"><description-docbook><para> Array of IP addresses.</para></description-docbook><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 decreasing priority, meaning the first address will be the primary address.</description></property><property name="dad-timeout" name_upper="DAD_TIMEOUT" type="int32" default="-1"><description-docbook><para> 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.</para><para> The property is currently implemented only for IPv4.</para></description-docbook><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.</description></property><property name="dhcp-client-id" name_upper="DHCP_CLIENT_ID" type="string"><description-docbook><para> 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.</para><para> 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.</para><para> 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.</para><para> 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.</para><para> 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.</para><para> If unset, a globally configured default is used. If still unset, the default depends on the DHCP plugin.</para></description-docbook><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 "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.</description></property><property name="dhcp-fqdn" name_upper="DHCP_FQDN" type="string"><description-docbook><para> 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.</para></description-docbook><description>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.</description></property><property name="dhcp-hostname" name_upper="DHCP_HOSTNAME" type="string"><description-docbook><para> 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.</para></description-docbook><description>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.</description></property><property name="dhcp-hostname-flags" name_upper="DHCP_HOSTNAME_FLAGS" type="uint32" default="0"><description-docbook><para> Flags for the DHCP hostname and FQDN.</para><para> 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.</para><para> 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.</para></description-docbook><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.</description></property><property name="dhcp-iaid" name_upper="DHCP_IAID" type="string"><description-docbook><para> A string containing the "Identity Association Identifier" (IAID) used by the DHCP client. The property is a 32-bit decimal value or a special value among "mac", "perm-mac", "ifname" and "stable". When set to "mac" (or "perm-mac"), the last 4 bytes of the current (or permanent) MAC address are used as IAID. When set to "ifname", the IAID is computed by hashing the interface name. The special value "stable" can be used to generate an IAID based on the stable-id (see connection.stable-id), a per-host key and the interface name. When the property is unset, the value from global configuration is used; if no global default is set then the IAID is assumed to be "ifname". Note that at the moment this property is ignored for IPv6 by dhclient, which always derives the IAID from the MAC address.</para></description-docbook><description>A string containing the "Identity Association Identifier" (IAID) used by the DHCP client. The property is a 32-bit decimal value or a special value among "mac", "perm-mac", "ifname" and "stable". When set to "mac" (or "perm-mac"), the last 4 bytes of the current (or permanent) MAC address are used as IAID. When set to "ifname", the IAID is computed by hashing the interface name. The special value "stable" can be used to generate an IAID based on the stable-id (see connection.stable-id), a per-host key and the interface name. When the property is unset, the value from global configuration is used; if no global default is set then the IAID is assumed to be "ifname". Note that at the moment this property is ignored for IPv6 by dhclient, which always derives the IAID from the MAC address.</description></property><property name="dhcp-reject-servers" name_upper="DHCP_REJECT_SERVERS" type="array of string"><description-docbook><para> Array of servers from which DHCP offers must be rejected. This property is useful to avoid getting a lease from misconfigured or rogue servers.</para><para> For DHCPv4, each element must be an IPv4 address, optionally followed by a slash and a prefix length (e.g. "192.168.122.0/24").</para><para> This property is currently not implemented for DHCPv6.</para></description-docbook><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. "192.168.122.0/24"). This property is currently not implemented for DHCPv6.</description></property><property name="dhcp-send-hostname" name_upper="DHCP_SEND_HOSTNAME" type="boolean" default="TRUE"><description-docbook><para> If TRUE, a hostname is sent to the DHCP server when acquiring a lease. Some DHCP servers use this hostname to update DNS databases, essentially providing a static hostname for the computer.  If the "dhcp-hostname" property is NULL and this property is TRUE, the current persistent hostname of the computer is sent.</para></description-docbook><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 "dhcp-hostname" property is NULL and this property is TRUE, the current persistent hostname of the computer is sent.</description></property><property name="dhcp-timeout" name_upper="DHCP_TIMEOUT" type="int32" default="0"><description-docbook><para> 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).</para><para> Set to 2147483647 (MAXINT32) for infinity.</para></description-docbook><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.</description></property><property name="dhcp-vendor-class-identifier" name_upper="DHCP_VENDOR_CLASS_IDENTIFIER" type="string"><description-docbook><para> 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.</para></description-docbook><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.</description></property><property name="dns" name_upper="DNS" type="array of uint32"><description-docbook><para> Array of IP addresses of DNS servers.</para></description-docbook><description>Array of IP addresses of DNS servers.</description></property><property name="dns-options" name_upper="DNS_OPTIONS" type="array of string"><description-docbook><para> Array of DNS options as described in man 5 resolv.conf.</para><para> 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.</para><para> The currently supported options are "attempts", "debug", "edns0", "inet6", "ip6-bytestring", "ip6-dotint", "ndots", "no-check-names", "no-ip6-dotint", "no-reload", "no-tld-query", "rotate", "single-request", "single-request-reopen", "timeout", "trust-ad", "use-vc".</para><para> The "trust-ad" setting is only honored if the profile contributes name servers to resolv.conf, and if all contributing profiles have "trust-ad" enabled.</para><para> When using a caching DNS plugin (dnsmasq or systemd-resolved in NetworkManager.conf) then "edns0" and "trust-ad" are automatically added.</para></description-docbook><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 "attempts", "debug", "edns0", "inet6", "ip6-bytestring", "ip6-dotint", "ndots", "no-check-names", "no-ip6-dotint", "no-reload", "no-tld-query", "rotate", "single-request", "single-request-reopen", "timeout", "trust-ad", "use-vc". The "trust-ad" setting is only honored if the profile contributes name servers to resolv.conf, and if all contributing profiles have "trust-ad" enabled. When using a caching DNS plugin (dnsmasq or systemd-resolved in NetworkManager.conf) then "edns0" and "trust-ad" are automatically added.</description></property><property name="dns-priority" name_upper="DNS_PRIORITY" type="int32" default="0"><description-docbook><para> DNS servers priority.</para><para> The relative priority for DNS servers specified by this setting.  A lower numerical value is better (higher priority).</para><para> 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.</para><para> 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.</para><para> 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.</para><para> 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.</para><para> When using dns=default, servers with higher priority will be on top of resolv.conf. To prioritize a given server over another one within the same connection, just specify them in the desired order. Note that commonly the resolver tries name servers in /etc/resolv.conf in the order listed, proceeding with the next server in the list on failure. See for example the "rotate" option of the dns-options setting. If there are any negative DNS priorities, then only name servers from the devices with that lowest priority will be considered.</para><para> 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.</para></description-docbook><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 "rotate" option of the dns-options setting. If there are any negative DNS priorities, then only name servers from the devices with that lowest priority will be considered. When using a DNS resolver that supports Conditional Forwarding or Split DNS (with dns=dnsmasq or dns=systemd-resolved settings), each connection is used to query domains in its search list. The search domains determine which name servers to ask, and the DNS priority is used to prioritize name servers based on the domain.  Queries for domains not present in any search list are routed through connections having the '~.' special wildcard domain, which is added automatically to connections with the default route (or can be added manually).  When multiple connections specify the same domain, the one with the best priority (lowest numerical value) wins.  If a sub domain is configured on another interface it will be accepted regardless the priority, unless parent domain on the other interface has a negative priority, which causes the sub domain to be shadowed. With Split DNS one can avoid undesired DNS leaks by properly configuring DNS priorities and the search domains, so that only name servers of the desired interface are configured.</description></property><property name="dns-search" name_upper="DNS_SEARCH" type="array of string"><description-docbook><para> List 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.</para><para> 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.</para><para> When set on a profile that also enabled DHCP, the DNS search list received automatically (option 119 for DHCPv4 and option 24 for DHCPv6) gets merged with the manual list. This can be prevented by setting "ignore-auto-dns". Note that if no DNS searches are configured, the fallback will be derived from the domain from DHCP (option 15).</para></description-docbook><description>List 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. When set on a profile that also enabled DHCP, the DNS search list received automatically (option 119 for DHCPv4 and option 24 for DHCPv6) gets merged with the manual list. This can be prevented by setting "ignore-auto-dns". Note that if no DNS searches are configured, the fallback will be derived from the domain from DHCP (option 15).</description></property><property name="gateway" name_upper="GATEWAY" type="string" alias="gw4"><description-docbook><para> The gateway associated with this configuration. This is only meaningful if "addresses" is also set.</para><para> Setting the gateway causes NetworkManager to configure a standard default route with the gateway as next hop. This is ignored if "never-default" is set. An alternative is to configure the default route explicitly with a manual route and /0 as prefix length.</para><para> Note that the gateway usually conflicts with routing that NetworkManager configures for WireGuard interfaces, so usually it should not be set in that case. See "ip4-auto-default-route".</para></description-docbook><description>The gateway associated with this configuration. This is only meaningful if "addresses" is also set. Setting the gateway causes NetworkManager to configure a standard default route with the gateway as next hop. This is ignored if "never-default" is set. An alternative is to configure the default route explicitly with a manual route and /0 as prefix length. Note that the gateway usually conflicts with routing that NetworkManager configures for WireGuard interfaces, so usually it should not be set in that case. See "ip4-auto-default-route".</description></property><property name="ignore-auto-dns" name_upper="IGNORE_AUTO_DNS" type="boolean" default="FALSE"><description-docbook><para> When "method" is set to "auto" and this property to TRUE, automatically configured name servers and search domains are ignored and only name servers and search domains specified in the "dns" and "dns-search" properties, if any, are used.</para></description-docbook><description>When "method" is set to "auto" and this property to TRUE, automatically configured name servers and search domains are ignored and only name servers and search domains specified in the "dns" and "dns-search" properties, if any, are used.</description></property><property name="ignore-auto-routes" name_upper="IGNORE_AUTO_ROUTES" type="boolean" default="FALSE"><description-docbook><para> When "method" is set to "auto" and this property to TRUE, automatically configured routes are ignored and only routes specified in the "routes" property, if any, are used.</para></description-docbook><description>When "method" is set to "auto" and this property to TRUE, automatically configured routes are ignored and only routes specified in the "routes" property, if any, are used.</description></property><property name="link-local" name_upper="LINK_LOCAL" type="int32" default="0"><description-docbook><para> Enable and disable the IPv4 link-local configuration independently of the ipv4.method configuration. This allows a link-local address (169.254.x.y/16) to be obtained in addition to other addresses, such as those manually configured or obtained from a DHCP server.</para><para> When set to "auto", the value is dependent on "ipv4.method". When set to "default", it honors the global connection default, before falling back to "auto". Note that if "ipv4.method" is "disabled", then link local addressing is always disabled too. The default is "default".</para></description-docbook><description>Enable and disable the IPv4 link-local configuration independently of the ipv4.method configuration. This allows a link-local address (169.254.x.y/16) to be obtained in addition to other addresses, such as those manually configured or obtained from a DHCP server. When set to "auto", the value is dependent on "ipv4.method". When set to "default", it honors the global connection default, before falling back to "auto". Note that if "ipv4.method" is "disabled", then link local addressing is always disabled too. The default is "default".</description></property><property name="may-fail" name_upper="MAY_FAIL" type="boolean" default="TRUE"><description-docbook><para> 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.</para></description-docbook><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.</description></property><property name="method" name_upper="METHOD" type="string"><description-docbook><para> IP configuration method.</para><para> NMSettingIP4Config and NMSettingIP6Config both support "disabled", "auto", "manual", and "link-local". See the subclass-specific documentation for other values.</para><para> 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.</para><para> For methods that imply no upstream network, such as "shared" or "link-local", these properties must be empty.</para><para> 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.</para></description-docbook><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.</description></property><property name="never-default" name_upper="NEVER_DEFAULT" type="boolean" default="FALSE"><description-docbook><para> 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.</para></description-docbook><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.</description></property><property name="required-timeout" name_upper="REQUIRED_TIMEOUT" type="int32" default="-1"><description-docbook><para> The minimum time interval in milliseconds for which dynamic IP configuration should be tried before the connection succeeds.</para><para> 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.</para><para> 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.</para><para> A zero value means that no required timeout is present, -1 means the default value (either configuration ipvx.required-timeout override or zero).</para></description-docbook><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).</description></property><property name="route-metric" name_upper="ROUTE_METRIC" type="int64" default="-1"><description-docbook><para> 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.</para></description-docbook><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.</description></property><property name="route-table" name_upper="ROUTE_TABLE" type="uint32" default="0"><description-docbook><para> Enable policy routing (source routing) and set the routing table used when adding routes.</para><para> 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.</para><para> 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.</para><para> 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.</para></description-docbook><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.</description></property><property name="routes" name_upper="ROUTES" type="a comma separated list of routes"><description-docbook>
 <para>
 A list of IPv4 destination addresses, prefix length, optional IPv4
 next hop addresses, optional route metric, optional attribute. The valid syntax is:
diff --git a/man/nm-settings-ifcfg-rh.5 b/man/nm-settings-ifcfg-rh.5
index 0d18d751..90fa6662 100644
--- a/man/nm-settings-ifcfg-rh.5
+++ b/man/nm-settings-ifcfg-rh.5
@@ -2,12 +2,12 @@
 .\"     Title: nm-settings-ifcfg-rh
 .\"    Author: 
 .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
-.\"      Date: 08/26/2022
+.\"      Date: 11/30/2022
 .\"    Manual: Configuration
-.\"    Source: NetworkManager 1.40.0
+.\"    Source: NetworkManager 1.40.6
 .\"  Language: English
 .\"
-.TH "NM\-SETTINGS\-IFCFG\-RH" "5" "" "NetworkManager 1\&.40\&.0" "Configuration"
+.TH "NM\-SETTINGS\-IFCFG\-RH" "5" "" "NetworkManager 1\&.40\&.6" "Configuration"
 .\" -----------------------------------------------------------------
 .\" * Define some portability stuff
 .\" -----------------------------------------------------------------
diff --git a/man/nm-settings-ifcfg-rh.xml b/man/nm-settings-ifcfg-rh.xml
index e90f042b..8106d703 100644
--- a/man/nm-settings-ifcfg-rh.xml
+++ b/man/nm-settings-ifcfg-rh.xml
@@ -1,6 +1,6 @@
 <?xml version="1.0"?>
 <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
-<refentry id="nm-settings-ifcfg-rh"><refentryinfo><title>nm-settings-ifcfg-rh</title><author>NetworkManager developers</author></refentryinfo><refmeta><refentrytitle>nm-settings-ifcfg-rh</refentrytitle><manvolnum>5</manvolnum><refmiscinfo class="source">NetworkManager</refmiscinfo><refmiscinfo class="manual">Configuration</refmiscinfo><refmiscinfo class="version">1.40.0</refmiscinfo></refmeta><refnamediv><refname>nm-settings-ifcfg-rh</refname><refpurpose>Description of <emphasis>ifcfg-rh</emphasis> settings plugin</refpurpose></refnamediv><refsect1 id="description"><title>Description</title><para>
+<refentry id="nm-settings-ifcfg-rh"><refentryinfo><title>nm-settings-ifcfg-rh</title><author>NetworkManager developers</author></refentryinfo><refmeta><refentrytitle>nm-settings-ifcfg-rh</refentrytitle><manvolnum>5</manvolnum><refmiscinfo class="source">NetworkManager</refmiscinfo><refmiscinfo class="manual">Configuration</refmiscinfo><refmiscinfo class="version">1.40.6</refmiscinfo></refmeta><refnamediv><refname>nm-settings-ifcfg-rh</refname><refpurpose>Description of <emphasis>ifcfg-rh</emphasis> settings plugin</refpurpose></refnamediv><refsect1 id="description"><title>Description</title><para>
           NetworkManager is based on the concept of connection profiles that contain
           network configuration (see <citerefentry><refentrytitle>nm-settings</refentrytitle><manvolnum>5</manvolnum></citerefentry> for details). The profiles can be
           stored in various formats. NetworkManager uses plugins for reading and writing
diff --git a/man/nm-settings-keyfile.5 b/man/nm-settings-keyfile.5
index d606f22b..90ee1456 100644
--- a/man/nm-settings-keyfile.5
+++ b/man/nm-settings-keyfile.5
@@ -2,12 +2,12 @@
 .\"     Title: nm-settings-keyfile
 .\"    Author: 
 .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
-.\"      Date: 08/26/2022
+.\"      Date: 11/30/2022
 .\"    Manual: Configuration
-.\"    Source: NetworkManager 1.40.0
+.\"    Source: NetworkManager 1.40.6
 .\"  Language: English
 .\"
-.TH "NM\-SETTINGS\-KEYFILE" "5" "" "NetworkManager 1\&.40\&.0" "Configuration"
+.TH "NM\-SETTINGS\-KEYFILE" "5" "" "NetworkManager 1\&.40\&.6" "Configuration"
 .\" -----------------------------------------------------------------
 .\" * Define some portability stuff
 .\" -----------------------------------------------------------------
diff --git a/man/nm-settings-keyfile.xml b/man/nm-settings-keyfile.xml
index 9805649e..45e78cab 100644
--- a/man/nm-settings-keyfile.xml
+++ b/man/nm-settings-keyfile.xml
@@ -1,6 +1,6 @@
 <?xml version="1.0"?>
 <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
-<refentry id="nm-settings-keyfile"><refentryinfo><title>nm-settings-keyfile</title><author>NetworkManager developers</author></refentryinfo><refmeta><refentrytitle>nm-settings-keyfile</refentrytitle><manvolnum>5</manvolnum><refmiscinfo class="source">NetworkManager</refmiscinfo><refmiscinfo class="manual">Configuration</refmiscinfo><refmiscinfo class="version">1.40.0</refmiscinfo></refmeta><refnamediv><refname>nm-settings-keyfile</refname><refpurpose>Description of <emphasis>keyfile</emphasis> settings plugin</refpurpose></refnamediv><refsect1 id="description"><title>Description</title><para>
+<refentry id="nm-settings-keyfile"><refentryinfo><title>nm-settings-keyfile</title><author>NetworkManager developers</author></refentryinfo><refmeta><refentrytitle>nm-settings-keyfile</refentrytitle><manvolnum>5</manvolnum><refmiscinfo class="source">NetworkManager</refmiscinfo><refmiscinfo class="manual">Configuration</refmiscinfo><refmiscinfo class="version">1.40.6</refmiscinfo></refmeta><refnamediv><refname>nm-settings-keyfile</refname><refpurpose>Description of <emphasis>keyfile</emphasis> settings plugin</refpurpose></refnamediv><refsect1 id="description"><title>Description</title><para>
           NetworkManager is based on the concept of connection profiles that contain
           network configuration (see <citerefentry><refentrytitle>nm-settings</refentrytitle><manvolnum>5</manvolnum></citerefentry> for details). The profiles can be
           stored in various formats. NetworkManager uses plugins for reading and writing
diff --git a/man/nm-settings-nmcli.5 b/man/nm-settings-nmcli.5
index be46876f..20b571b6 100644
--- a/man/nm-settings-nmcli.5
+++ b/man/nm-settings-nmcli.5
@@ -2,12 +2,12 @@
 .\"     Title: nm-settings-nmcli
 .\"    Author: 
 .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
-.\"      Date: 08/26/2022
+.\"      Date: 11/30/2022
 .\"    Manual: Configuration
-.\"    Source: NetworkManager 1.40.0
+.\"    Source: NetworkManager 1.40.6
 .\"  Language: English
 .\"
-.TH "NM\-SETTINGS\-NMCLI" "5" "" "NetworkManager 1\&.40\&.0" "Configuration"
+.TH "NM\-SETTINGS\-NMCLI" "5" "" "NetworkManager 1\&.40\&.6" "Configuration"
 .\" -----------------------------------------------------------------
 .\" * Define some portability stuff
 .\" -----------------------------------------------------------------
@@ -1853,8 +1853,6 @@ Format: int32
 .RS 4
 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\&.
 .sp
-Since 1\&.28
-.sp
 Format: string
 .RE
 .PP
@@ -1945,8 +1943,6 @@ Enable and disable the IPv4 link\-local configuration independently of the ipv4\
 .sp
 When set to "auto", the value is dependent on "ipv4\&.method"\&. When set to "default", it honors the global connection default, before falling back to "auto"\&. Note that if "ipv4\&.method" is "disabled", then link local addressing is always disabled too\&. The default is "default"\&.
 .sp
-Since 1\&.40
-.sp
 Format: int32
 .RE
 .PP
diff --git a/man/nm-settings-nmcli.xml b/man/nm-settings-nmcli.xml
index 4af75f0b..a0bfd8d9 100644
--- a/man/nm-settings-nmcli.xml
+++ b/man/nm-settings-nmcli.xml
@@ -1,6 +1,6 @@
 <?xml version="1.0"?>
 <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
-<refentry id="nm-settings-nmcli"><refentryinfo><title>nm-settings-nmcli</title><author>NetworkManager developers</author></refentryinfo><refmeta><refentrytitle>nm-settings-nmcli</refentrytitle><manvolnum>5</manvolnum><refmiscinfo class="source">NetworkManager</refmiscinfo><refmiscinfo class="manual">Configuration</refmiscinfo><refmiscinfo class="version">1.40.0</refmiscinfo></refmeta><refnamediv><refname>nm-settings-nmcli</refname><refpurpose>Description of settings and properties of NetworkManager connection profiles for nmcli</refpurpose></refnamediv><refsect1 id="description"><title>Description</title><para>
+<refentry id="nm-settings-nmcli"><refentryinfo><title>nm-settings-nmcli</title><author>NetworkManager developers</author></refentryinfo><refmeta><refentrytitle>nm-settings-nmcli</refentrytitle><manvolnum>5</manvolnum><refmiscinfo class="source">NetworkManager</refmiscinfo><refmiscinfo class="manual">Configuration</refmiscinfo><refmiscinfo class="version">1.40.6</refmiscinfo></refmeta><refnamediv><refname>nm-settings-nmcli</refname><refpurpose>Description of settings and properties of NetworkManager connection profiles for nmcli</refpurpose></refnamediv><refsect1 id="description"><title>Description</title><para>
           NetworkManager is based on a concept of connection profiles, sometimes referred to as
           connections only. These connection profiles contain a network configuration. When
           NetworkManager activates a connection profile on a network device the configuration will
@@ -261,7 +261,7 @@
             Format: string</para></listitem></varlistentry><varlistentry><term><option id="nm-settings-nmcli.property.ipv4.dhcp-reject-servers">dhcp-reject-servers</option></term><listitem><para> Array of servers from which DHCP offers must be rejected. This property is useful to avoid getting a lease from misconfigured or rogue servers.</para><para> For DHCPv4, each element must be an IPv4 address, optionally followed by a slash and a prefix length (e.g. "192.168.122.0/24").</para><para> This property is currently not implemented for DHCPv6.</para><para>
             Format: array of string</para></listitem></varlistentry><varlistentry><term><option id="nm-settings-nmcli.property.ipv4.dhcp-send-hostname">dhcp-send-hostname</option></term><listitem><para> If TRUE, a hostname is sent to the DHCP server when acquiring a lease. Some DHCP servers use this hostname to update DNS databases, essentially providing a static hostname for the computer.  If the "dhcp-hostname" property is NULL and this property is TRUE, the current persistent hostname of the computer is sent.</para><para>
             Format: boolean</para></listitem></varlistentry><varlistentry><term><option id="nm-settings-nmcli.property.ipv4.dhcp-timeout">dhcp-timeout</option></term><listitem><para> 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).</para><para> Set to 2147483647 (MAXINT32) for infinity.</para><para>
-            Format: int32</para></listitem></varlistentry><varlistentry><term><option id="nm-settings-nmcli.property.ipv4.dhcp-vendor-class-identifier">dhcp-vendor-class-identifier</option></term><listitem><para> 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.</para><para> Since 1.28</para><para>
+            Format: int32</para></listitem></varlistentry><varlistentry><term><option id="nm-settings-nmcli.property.ipv4.dhcp-vendor-class-identifier">dhcp-vendor-class-identifier</option></term><listitem><para> 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.</para><para>
             Format: string</para></listitem></varlistentry><varlistentry><term><option id="nm-settings-nmcli.property.ipv4.dns">dns</option></term><listitem><para> Array of IP addresses of DNS servers.</para><para>
             Format: array of uint32</para></listitem></varlistentry><varlistentry><term><option id="nm-settings-nmcli.property.ipv4.dns-options">dns-options</option></term><listitem><para> Array of DNS options as described in man 5 resolv.conf.</para><para> 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.</para><para> The currently supported options are "attempts", "debug", "edns0", "inet6", "ip6-bytestring", "ip6-dotint", "ndots", "no-check-names", "no-ip6-dotint", "no-reload", "no-tld-query", "rotate", "single-request", "single-request-reopen", "timeout", "trust-ad", "use-vc".</para><para> The "trust-ad" setting is only honored if the profile contributes name servers to resolv.conf, and if all contributing profiles have "trust-ad" enabled.</para><para> When using a caching DNS plugin (dnsmasq or systemd-resolved in NetworkManager.conf) then "edns0" and "trust-ad" are automatically added.</para><para>
             Format: array of string</para></listitem></varlistentry><varlistentry><term><option id="nm-settings-nmcli.property.ipv4.dns-priority">dns-priority</option></term><listitem><para> DNS servers priority.</para><para> The relative priority for DNS servers specified by this setting.  A lower numerical value is better (higher priority).</para><para> 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.</para><para> 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.</para><para> 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.</para><para> 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.</para><para> When using dns=default, servers with higher priority will be on top of resolv.conf. To prioritize a given server over another one within the same connection, just specify them in the desired order. Note that commonly the resolver tries name servers in /etc/resolv.conf in the order listed, proceeding with the next server in the list on failure. See for example the "rotate" option of the dns-options setting. If there are any negative DNS priorities, then only name servers from the devices with that lowest priority will be considered.</para><para> 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.</para><para>
@@ -270,7 +270,7 @@
             Alias: gw4</para><para> The gateway associated with this configuration. This is only meaningful if "addresses" is also set.</para><para> Setting the gateway causes NetworkManager to configure a standard default route with the gateway as next hop. This is ignored if "never-default" is set. An alternative is to configure the default route explicitly with a manual route and /0 as prefix length.</para><para> Note that the gateway usually conflicts with routing that NetworkManager configures for WireGuard interfaces, so usually it should not be set in that case. See "ip4-auto-default-route".</para><para>
             Format: string</para></listitem></varlistentry><varlistentry><term><option id="nm-settings-nmcli.property.ipv4.ignore-auto-dns">ignore-auto-dns</option></term><listitem><para> When "method" is set to "auto" and this property to TRUE, automatically configured name servers and search domains are ignored and only name servers and search domains specified in the "dns" and "dns-search" properties, if any, are used.</para><para>
             Format: boolean</para></listitem></varlistentry><varlistentry><term><option id="nm-settings-nmcli.property.ipv4.ignore-auto-routes">ignore-auto-routes</option></term><listitem><para> When "method" is set to "auto" and this property to TRUE, automatically configured routes are ignored and only routes specified in the "routes" property, if any, are used.</para><para>
-            Format: boolean</para></listitem></varlistentry><varlistentry><term><option id="nm-settings-nmcli.property.ipv4.link-local">link-local</option></term><listitem><para> Enable and disable the IPv4 link-local configuration independently of the ipv4.method configuration. This allows a link-local address (169.254.x.y/16) to be obtained in addition to other addresses, such as those manually configured or obtained from a DHCP server.</para><para> When set to "auto", the value is dependent on "ipv4.method". When set to "default", it honors the global connection default, before falling back to "auto". Note that if "ipv4.method" is "disabled", then link local addressing is always disabled too. The default is "default".</para><para> Since 1.40</para><para>
+            Format: boolean</para></listitem></varlistentry><varlistentry><term><option id="nm-settings-nmcli.property.ipv4.link-local">link-local</option></term><listitem><para> Enable and disable the IPv4 link-local configuration independently of the ipv4.method configuration. This allows a link-local address (169.254.x.y/16) to be obtained in addition to other addresses, such as those manually configured or obtained from a DHCP server.</para><para> When set to "auto", the value is dependent on "ipv4.method". When set to "default", it honors the global connection default, before falling back to "auto". Note that if "ipv4.method" is "disabled", then link local addressing is always disabled too. The default is "default".</para><para>
             Format: int32</para></listitem></varlistentry><varlistentry><term><option id="nm-settings-nmcli.property.ipv4.may-fail">may-fail</option></term><listitem><para> 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.</para><para>
             Format: boolean</para></listitem></varlistentry><varlistentry><term><option id="nm-settings-nmcli.property.ipv4.method">method</option></term><listitem><para> IP configuration method.</para><para> NMSettingIP4Config and NMSettingIP6Config both support "disabled", "auto", "manual", and "link-local". See the subclass-specific documentation for other values.</para><para> 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.</para><para> For methods that imply no upstream network, such as "shared" or "link-local", these properties must be empty.</para><para> 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.</para><para>
             Format: string</para></listitem></varlistentry><varlistentry><term><option id="nm-settings-nmcli.property.ipv4.never-default">never-default</option></term><listitem><para> 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.</para><para>
diff --git a/man/nmcli-examples.7 b/man/nmcli-examples.7
index 85808e98..65bcd698 100644
--- a/man/nmcli-examples.7
+++ b/man/nmcli-examples.7
@@ -2,12 +2,12 @@
 .\"     Title: nmcli-examples
 .\"    Author: 
 .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
-.\"      Date: 08/26/2022
+.\"      Date: 11/30/2022
 .\"    Manual: Examples
-.\"    Source: NetworkManager 1.40.0
+.\"    Source: NetworkManager 1.40.6
 .\"  Language: English
 .\"
-.TH "NMCLI\-EXAMPLES" "7" "" "NetworkManager 1\&.40\&.0" "Examples"
+.TH "NMCLI\-EXAMPLES" "7" "" "NetworkManager 1\&.40\&.6" "Examples"
 .\" -----------------------------------------------------------------
 .\" * Define some portability stuff
 .\" -----------------------------------------------------------------
diff --git a/man/nmcli.1 b/man/nmcli.1
index 4a4661c8..f11bc34f 100644
--- a/man/nmcli.1
+++ b/man/nmcli.1
@@ -2,12 +2,12 @@
 .\"     Title: nmcli
 .\"    Author: 
 .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
-.\"      Date: 08/26/2022
+.\"      Date: 11/30/2022
 .\"    Manual: General Commands Manual
-.\"    Source: NetworkManager 1.40.0
+.\"    Source: NetworkManager 1.40.6
 .\"  Language: English
 .\"
-.TH "NMCLI" "1" "" "NetworkManager 1\&.40\&.0" "General Commands Manual"
+.TH "NMCLI" "1" "" "NetworkManager 1\&.40\&.6" "General Commands Manual"
 .\" -----------------------------------------------------------------
 .\" * Define some portability stuff
 .\" -----------------------------------------------------------------
diff --git a/man/nmtui.1 b/man/nmtui.1
index 96bb5ec4..f126a124 100644
--- a/man/nmtui.1
+++ b/man/nmtui.1
@@ -2,12 +2,12 @@
 .\"     Title: nmtui
 .\"    Author: 
 .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
-.\"      Date: 08/26/2022
+.\"      Date: 11/30/2022
 .\"    Manual: General Commands Manual
-.\"    Source: NetworkManager 1.40.0
+.\"    Source: NetworkManager 1.40.6
 .\"  Language: English
 .\"
-.TH "NMTUI" "1" "" "NetworkManager 1\&.40\&.0" "General Commands Manual"
+.TH "NMTUI" "1" "" "NetworkManager 1\&.40\&.6" "General Commands Manual"
 .\" -----------------------------------------------------------------
 .\" * Define some portability stuff
 .\" -----------------------------------------------------------------
diff --git a/meson.build b/meson.build
index 996617f4..fbf4bf8d 100644
--- a/meson.build
+++ b/meson.build
@@ -6,7 +6,7 @@ project(
 #  - add corresponding NM_VERSION_x_y_z macros in
 #    "src/libnm-core-public/nm-version-macros.h.in"
 #  - update number in configure.ac
-  version: '1.40.0',
+  version: '1.40.6',
   license: 'GPL2+',
   default_options: [
     'buildtype=debugoptimized',
diff --git a/po/Makevars b/po/Makevars
index ebd690f6..b858b6db 100644
--- a/po/Makevars
+++ b/po/Makevars
@@ -75,4 +75,4 @@ PO_DEPENDS_ON_POT = no
 # regenerate PO files on "make dist".  Possible values are "yes" and
 # "no".  Set this to no if the POT file and PO files are maintained
 # externally.
-DIST_DEPENDS_ON_UPDATE_PO = yes
+DIST_DEPENDS_ON_UPDATE_PO = no
diff --git a/po/NetworkManager.pot b/po/NetworkManager.pot
index bb133641..495cdac6 100644
--- a/po/NetworkManager.pot
+++ b/po/NetworkManager.pot
@@ -6,10 +6,10 @@
 #, fuzzy
 msgid ""
 msgstr ""
-"Project-Id-Version: NetworkManager 1.40.0\n"
+"Project-Id-Version: NetworkManager 1.40.6\n"
 "Report-Msgid-Bugs-To: https://gitlab.freedesktop.org/NetworkManager/"
 "NetworkManager/issues\n"
-"POT-Creation-Date: 2022-08-26 16:42+0200\n"
+"POT-Creation-Date: 2022-11-30 16:29+0100\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -248,16 +248,16 @@ msgstr ""
 msgid "Wired connection %d"
 msgstr ""
 
-#: src/core/devices/nm-device-ethernet.c:1628
+#: src/core/devices/nm-device-ethernet.c:1638
 #: src/libnmc-setting/nm-meta-setting-desc.c:8303
 msgid "Veth connection"
 msgstr ""
 
-#: src/core/devices/nm-device-ethernet.c:1686
+#: src/core/devices/nm-device-ethernet.c:1696
 msgid "PPPoE connection"
 msgstr ""
 
-#: src/core/devices/nm-device-ethernet.c:1686
+#: src/core/devices/nm-device-ethernet.c:1696
 msgid "Wired connection"
 msgstr ""
 
@@ -297,7 +297,7 @@ msgstr ""
 msgid "WPAN connection"
 msgstr ""
 
-#: src/core/devices/team/nm-device-team.c:130
+#: src/core/devices/team/nm-device-team.c:131
 msgid "Team connection"
 msgstr ""
 
@@ -608,25 +608,25 @@ msgstr ""
 msgid "VPN connection"
 msgstr ""
 
-#: src/core/settings/plugins/ifcfg-rh/nms-ifcfg-rh-reader.c:5612
+#: src/core/settings/plugins/ifcfg-rh/nms-ifcfg-rh-reader.c:5594
 #: src/libnm-client-impl/nm-device.c:1779
-#: src/libnm-core-impl/nm-connection.c:3172 src/nmtui/nm-editor-utils.c:196
+#: src/libnm-core-impl/nm-connection.c:3174 src/nmtui/nm-editor-utils.c:196
 msgid "Bond"
 msgstr ""
 
-#: src/core/settings/plugins/ifcfg-rh/nms-ifcfg-rh-reader.c:5683
+#: src/core/settings/plugins/ifcfg-rh/nms-ifcfg-rh-reader.c:5665
 #: src/libnm-client-impl/nm-device.c:1781
-#: src/libnm-core-impl/nm-connection.c:3174 src/nmtui/nm-editor-utils.c:214
+#: src/libnm-core-impl/nm-connection.c:3176 src/nmtui/nm-editor-utils.c:214
 msgid "Team"
 msgstr ""
 
-#: src/core/settings/plugins/ifcfg-rh/nms-ifcfg-rh-reader.c:6020
+#: src/core/settings/plugins/ifcfg-rh/nms-ifcfg-rh-reader.c:6002
 #: src/libnm-client-impl/nm-device.c:1783
-#: src/libnm-core-impl/nm-connection.c:3176 src/nmtui/nm-editor-utils.c:205
+#: src/libnm-core-impl/nm-connection.c:3178 src/nmtui/nm-editor-utils.c:205
 msgid "Bridge"
 msgstr ""
 
-#: src/core/settings/plugins/ifcfg-rh/tests/test-ifcfg-rh.c:8755
+#: src/core/settings/plugins/ifcfg-rh/tests/test-ifcfg-rh.c:8955
 #: src/libnm-core-impl/nm-team-utils.c:2391
 msgid "invalid json"
 msgstr ""
@@ -854,7 +854,7 @@ msgstr ""
 msgid "The device is lacking WPA2/RSN capabilities required by the connection."
 msgstr ""
 
-#: src/libnm-client-impl/nm-device-wpan.c:57
+#: src/libnm-client-impl/nm-device-wpan.c:38
 msgid "The connection was not a wpan connection."
 msgstr ""
 
@@ -895,12 +895,12 @@ msgid "Mobile Broadband"
 msgstr ""
 
 #: src/libnm-client-impl/nm-device.c:1777
-#: src/libnm-core-impl/nm-connection.c:3180 src/nmtui/nm-editor-utils.c:169
+#: src/libnm-core-impl/nm-connection.c:3182 src/nmtui/nm-editor-utils.c:169
 msgid "InfiniBand"
 msgstr ""
 
 #: src/libnm-client-impl/nm-device.c:1785
-#: src/libnm-core-impl/nm-connection.c:3178 src/nmtui/nm-editor-utils.c:223
+#: src/libnm-core-impl/nm-connection.c:3180 src/nmtui/nm-editor-utils.c:223
 #: src/nmtui/nmt-page-vlan.c:57
 msgid "VLAN"
 msgstr ""
@@ -950,7 +950,7 @@ msgid "6LoWPAN"
 msgstr ""
 
 #: src/libnm-client-impl/nm-device.c:1809
-#: src/libnm-core-impl/nm-connection.c:3186 src/nmtui/nm-editor-utils.c:263
+#: src/libnm-core-impl/nm-connection.c:3188 src/nmtui/nm-editor-utils.c:263
 #: src/nmtui/nmt-page-wireguard.c:57
 msgid "WireGuard"
 msgstr ""
@@ -1008,8 +1008,8 @@ msgstr ""
 msgid "registration failed"
 msgstr ""
 
-#: src/libnm-client-impl/nm-vpn-plugin-old.c:817
-#: src/libnm-client-impl/nm-vpn-service-plugin.c:1025
+#: src/libnm-client-impl/nm-vpn-plugin-old.c:807
+#: src/libnm-client-impl/nm-vpn-service-plugin.c:1055
 msgid "No service name specified"
 msgstr ""
 
@@ -1069,60 +1069,60 @@ msgstr ""
 msgid "property cannot contain any nul bytes"
 msgstr ""
 
-#: src/libnm-core-impl/nm-connection.c:455
+#: src/libnm-core-impl/nm-connection.c:457
 msgid "wrong type; should be a list of strings."
 msgstr ""
 
-#: src/libnm-core-impl/nm-connection.c:544
+#: src/libnm-core-impl/nm-connection.c:546
 msgid "unknown setting name"
 msgstr ""
 
-#: src/libnm-core-impl/nm-connection.c:556
+#: src/libnm-core-impl/nm-connection.c:558
 msgid "duplicate setting name"
 msgstr ""
 
-#: src/libnm-core-impl/nm-connection.c:957
+#: src/libnm-core-impl/nm-connection.c:959
 msgid "has an invalid UUID"
 msgstr ""
 
-#: src/libnm-core-impl/nm-connection.c:962
+#: src/libnm-core-impl/nm-connection.c:964
 msgid "has a UUID that requires normalization"
 msgstr ""
 
-#: src/libnm-core-impl/nm-connection.c:967
+#: src/libnm-core-impl/nm-connection.c:969
 msgid "has duplicate UUIDs"
 msgstr ""
 
-#: src/libnm-core-impl/nm-connection.c:1805
+#: src/libnm-core-impl/nm-connection.c:1807
 msgid "setting not found"
 msgstr ""
 
-#: src/libnm-core-impl/nm-connection.c:1859
-#: src/libnm-core-impl/nm-connection.c:1884
-#: src/libnm-core-impl/nm-connection.c:1909
+#: src/libnm-core-impl/nm-connection.c:1861
+#: src/libnm-core-impl/nm-connection.c:1886
+#: src/libnm-core-impl/nm-connection.c:1911
 msgid "setting is required for non-slave connections"
 msgstr ""
 
-#: src/libnm-core-impl/nm-connection.c:1872
-#: src/libnm-core-impl/nm-connection.c:1897
-#: src/libnm-core-impl/nm-connection.c:1922
+#: src/libnm-core-impl/nm-connection.c:1874
+#: src/libnm-core-impl/nm-connection.c:1899
+#: src/libnm-core-impl/nm-connection.c:1924
 msgid "setting not allowed in slave connection"
 msgstr ""
 
-#: src/libnm-core-impl/nm-connection.c:2032
+#: src/libnm-core-impl/nm-connection.c:2034
 msgid "Unexpected failure to normalize the connection"
 msgstr ""
 
-#: src/libnm-core-impl/nm-connection.c:2093
+#: src/libnm-core-impl/nm-connection.c:2095
 msgid "Unexpected failure to verify the connection"
 msgstr ""
 
-#: src/libnm-core-impl/nm-connection.c:2130
+#: src/libnm-core-impl/nm-connection.c:2132
 #, c-format
 msgid "unexpected uuid %s instead of %s"
 msgstr ""
 
-#: src/libnm-core-impl/nm-connection.c:3031
+#: src/libnm-core-impl/nm-connection.c:3033
 #: src/libnm-core-impl/nm-setting-8021x.c:2607
 #: src/libnm-core-impl/nm-setting-8021x.c:2644
 #: src/libnm-core-impl/nm-setting-8021x.c:2662
@@ -1135,12 +1135,12 @@ msgstr ""
 #: src/libnm-core-impl/nm-setting-connection.c:1149
 #: src/libnm-core-impl/nm-setting-connection.c:1187
 #: src/libnm-core-impl/nm-setting-connection.c:1516
-#: src/libnm-core-impl/nm-setting-ip-config.c:5423
+#: src/libnm-core-impl/nm-setting-ip-config.c:5427
 #: src/libnm-core-impl/nm-setting-ip-tunnel.c:387
 #: src/libnm-core-impl/nm-setting-olpc-mesh.c:99
 #: src/libnm-core-impl/nm-setting-ovs-patch.c:75
 #: src/libnm-core-impl/nm-setting-pppoe.c:146
-#: src/libnm-core-impl/nm-setting-vpn.c:546
+#: src/libnm-core-impl/nm-setting-vpn.c:548
 #: src/libnm-core-impl/nm-setting-wifi-p2p.c:119
 #: src/libnm-core-impl/nm-setting-wimax.c:108
 #: src/libnm-core-impl/nm-setting-wireless-security.c:916
@@ -1148,11 +1148,11 @@ msgstr ""
 msgid "property is missing"
 msgstr ""
 
-#: src/libnm-core-impl/nm-connection.c:3184
+#: src/libnm-core-impl/nm-connection.c:3186
 msgid "IP Tunnel"
 msgstr ""
 
-#: src/libnm-core-impl/nm-connection.c:3188
+#: src/libnm-core-impl/nm-connection.c:3190
 msgid "TUN/TAP"
 msgstr ""
 
@@ -1230,8 +1230,8 @@ msgid "missing prefix length for %s '%s', defaulting to %d"
 msgstr ""
 
 #: src/libnm-core-impl/nm-keyfile.c:1051
-#: src/libnm-core-impl/nm-setting-ovs-external-ids.c:320
-#: src/libnm-core-impl/nm-setting-user.c:364
+#: src/libnm-core-impl/nm-setting-ovs-external-ids.c:322
+#: src/libnm-core-impl/nm-setting-user.c:368
 #, c-format
 msgid "invalid value for \"%s\": %s"
 msgstr ""
@@ -1397,19 +1397,19 @@ msgstr ""
 msgid "unsupported option \"%s.%s\" of variant type %s"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-6lowpan.c:78
+#: src/libnm-core-impl/nm-setting-6lowpan.c:80
 #: src/libnm-core-impl/nm-setting-veth.c:81
 msgid "property is not specified"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-6lowpan.c:101
+#: src/libnm-core-impl/nm-setting-6lowpan.c:103
 #: src/libnm-core-impl/nm-setting-macsec.c:306
 #: src/libnm-core-impl/nm-setting-vlan.c:609
 #, c-format
 msgid "'%s' value doesn't match '%s=%s'"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-6lowpan.c:117
+#: src/libnm-core-impl/nm-setting-6lowpan.c:119
 #: src/libnm-core-impl/nm-setting-ip-tunnel.c:360
 #: src/libnm-core-impl/nm-setting-macsec.c:322
 #: src/libnm-core-impl/nm-setting-macvlan.c:140
@@ -1480,17 +1480,17 @@ msgstr ""
 #: src/libnm-core-impl/nm-setting-gsm.c:353
 #: src/libnm-core-impl/nm-setting-gsm.c:396
 #: src/libnm-core-impl/nm-setting-gsm.c:405
-#: src/libnm-core-impl/nm-setting-ip-config.c:5432
+#: src/libnm-core-impl/nm-setting-ip-config.c:5436
 #: src/libnm-core-impl/nm-setting-ip4-config.c:286
 #: src/libnm-core-impl/nm-setting-ip4-config.c:298
 #: src/libnm-core-impl/nm-setting-pppoe.c:151
 #: src/libnm-core-impl/nm-setting-pppoe.c:161
-#: src/libnm-core-impl/nm-setting-vpn.c:554
-#: src/libnm-core-impl/nm-setting-vpn.c:564
+#: src/libnm-core-impl/nm-setting-vpn.c:556
+#: src/libnm-core-impl/nm-setting-vpn.c:566
 #: src/libnm-core-impl/nm-setting-wimax.c:109
 #: src/libnm-core-impl/nm-setting-wireless-security.c:972
 #: src/libnm-core-impl/nm-setting-wireless-security.c:1000
-#: src/libnm-core-impl/nm-setting.c:2396
+#: src/libnm-core-impl/nm-setting.c:2410
 msgid "property is empty"
 msgstr ""
 
@@ -1531,8 +1531,8 @@ msgstr ""
 #: src/libnm-core-impl/nm-setting-wireless.c:937
 #: src/libnm-core-impl/nm-setting-wireless.c:949
 #: src/libnm-core-impl/nm-setting-wireless.c:962
-#: src/libnm-core-impl/nm-setting-wpan.c:161
-#: src/libnm-core-impl/nm-utils.c:4155
+#: src/libnm-core-impl/nm-setting-wpan.c:163
+#: src/libnm-core-impl/nm-utils.c:4163
 msgid "property is invalid"
 msgstr ""
 
@@ -1573,8 +1573,14 @@ msgid "missing setting"
 msgstr ""
 
 #: src/libnm-core-impl/nm-setting-bond-port.c:92
+#: src/libnm-core-impl/nm-setting-bridge-port.c:338
+#: src/libnm-core-impl/nm-setting-ovs-interface.c:312
+#: src/libnm-core-impl/nm-setting-ovs-port.c:193
+#: src/libnm-core-impl/nm-setting-team-port.c:333
 #, c-format
-msgid "A connection with a '%s' setting must have the slave-type set to '%s'"
+msgid ""
+"A connection with a '%s' setting must have the slave-type set to '%s'. "
+"Instead it is '%s'"
 msgstr ""
 
 #: src/libnm-core-impl/nm-setting-bond.c:504
@@ -1601,84 +1607,74 @@ msgstr ""
 msgid "invalid value '%s' for option '%s'"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-bond.c:861
+#: src/libnm-core-impl/nm-setting-bond.c:888
 #, c-format
 msgid "mandatory option '%s' is missing"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-bond.c:871
+#: src/libnm-core-impl/nm-setting-bond.c:898
 #, c-format
 msgid "'%s' is not a valid value for '%s'"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-bond.c:884
+#: src/libnm-core-impl/nm-setting-bond.c:911
 #, c-format
 msgid "'%s=%s' is incompatible with '%s > 0'"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-bond.c:901
+#: src/libnm-core-impl/nm-setting-bond.c:928
 #, c-format
 msgid "'%s' is not valid for the '%s' option: %s"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-bond.c:913
+#: src/libnm-core-impl/nm-setting-bond.c:940
 #, c-format
 msgid "'%s' option is only valid for '%s=%s'"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-bond.c:926
+#: src/libnm-core-impl/nm-setting-bond.c:953
 #, c-format
 msgid "'%s=%s' is not a valid configuration for '%s'"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-bond.c:941
-#: src/libnm-core-impl/nm-setting-bond.c:952
-#: src/libnm-core-impl/nm-setting-bond.c:965
+#: src/libnm-core-impl/nm-setting-bond.c:968
+#: src/libnm-core-impl/nm-setting-bond.c:979
+#: src/libnm-core-impl/nm-setting-bond.c:992
 #, c-format
 msgid "'%s' option requires '%s' option to be enabled"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-bond.c:982
+#: src/libnm-core-impl/nm-setting-bond.c:1009
 #, c-format
 msgid "'%s' option needs to be a value multiple of '%s' value"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-bond.c:999
-#: src/libnm-core-impl/nm-setting-bond.c:1010
+#: src/libnm-core-impl/nm-setting-bond.c:1026
+#: src/libnm-core-impl/nm-setting-bond.c:1037
 #, c-format
 msgid "'%s' option requires '%s' option to be set"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-bond.c:1023
+#: src/libnm-core-impl/nm-setting-bond.c:1050
 #, c-format
 msgid "'%s' option is only valid with mode '%s'"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-bond.c:1036
+#: src/libnm-core-impl/nm-setting-bond.c:1063
 #, c-format
 msgid "'%s' and '%s' cannot have different values"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-bond.c:1059
+#: src/libnm-core-impl/nm-setting-bond.c:1086
 #, c-format
 msgid "'%s' option should be string"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-bond.c:1072
+#: src/libnm-core-impl/nm-setting-bond.c:1099
 #, c-format
 msgid "'%s' option is not valid with mode '%s'"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-bridge-port.c:338
-#: src/libnm-core-impl/nm-setting-ovs-interface.c:312
-#: src/libnm-core-impl/nm-setting-ovs-port.c:193
-#: src/libnm-core-impl/nm-setting-team-port.c:333
-#, c-format
-msgid ""
-"A connection with a '%s' setting must have the slave-type set to '%s'. "
-"Instead it is '%s'"
-msgstr ""
-
 #: src/libnm-core-impl/nm-setting-bridge.c:1175
 #, c-format
 msgid "value '%d' is out of range <%d-%d>"
@@ -1838,23 +1834,23 @@ msgstr ""
 msgid "property invalid"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-ethtool.c:311
+#: src/libnm-core-impl/nm-setting-ethtool.c:297
 msgid "unsupported ethtool setting"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-ethtool.c:320
+#: src/libnm-core-impl/nm-setting-ethtool.c:306
 msgid "setting has invalid variant type"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-ethtool.c:332
+#: src/libnm-core-impl/nm-setting-ethtool.c:318
 msgid "coalesce option must be either 0 or 1"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-ethtool.c:349
+#: src/libnm-core-impl/nm-setting-ethtool.c:335
 msgid "pause-autoneg cannot be enabled when setting rx/tx options"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-ethtool.c:374
+#: src/libnm-core-impl/nm-setting-ethtool.c:360
 #, c-format
 msgid "unknown ethtool option '%s'"
 msgstr ""
@@ -1955,278 +1951,278 @@ msgstr ""
 msgid "Invalid routing metric '%s'"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-ip-config.c:1328
+#: src/libnm-core-impl/nm-setting-ip-config.c:1330
 #: src/libnm-core-impl/nm-setting-sriov.c:400
 msgid "unknown attribute"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-ip-config.c:1338
+#: src/libnm-core-impl/nm-setting-ip-config.c:1340
 #: src/libnm-core-impl/nm-setting-sriov.c:410
 #, c-format
 msgid "invalid attribute type '%s'"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-ip-config.c:1347
+#: src/libnm-core-impl/nm-setting-ip-config.c:1349
 msgid "attribute is not valid for a IPv4 route"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-ip-config.c:1348
+#: src/libnm-core-impl/nm-setting-ip-config.c:1350
 msgid "attribute is not valid for a IPv6 route"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-ip-config.c:1359
-#: src/libnm-core-impl/nm-setting-ip-config.c:1391
+#: src/libnm-core-impl/nm-setting-ip-config.c:1361
+#: src/libnm-core-impl/nm-setting-ip-config.c:1393
 #, c-format
 msgid "'%s' is not a valid IPv4 address"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-ip-config.c:1360
-#: src/libnm-core-impl/nm-setting-ip-config.c:1392
+#: src/libnm-core-impl/nm-setting-ip-config.c:1362
+#: src/libnm-core-impl/nm-setting-ip-config.c:1394
 #, c-format
 msgid "'%s' is not a valid IPv6 address"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-ip-config.c:1382
+#: src/libnm-core-impl/nm-setting-ip-config.c:1384
 #, c-format
 msgid "invalid prefix %s"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-ip-config.c:1414
+#: src/libnm-core-impl/nm-setting-ip-config.c:1416
 #, c-format
 msgid "%s is not a valid route type"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-ip-config.c:1507
+#: src/libnm-core-impl/nm-setting-ip-config.c:1509
 msgid "route scope is invalid for local route"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-ip-config.c:1519
+#: src/libnm-core-impl/nm-setting-ip-config.c:1521
 #, c-format
 msgid "a %s route cannot have a next-hop"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-ip-config.c:2705
+#: src/libnm-core-impl/nm-setting-ip-config.c:2707
 msgid "missing priority"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-ip-config.c:2718
+#: src/libnm-core-impl/nm-setting-ip-config.c:2720
 msgid "missing table"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-ip-config.c:2728
+#: src/libnm-core-impl/nm-setting-ip-config.c:2730
 msgid "invalid action type"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-ip-config.c:2737
+#: src/libnm-core-impl/nm-setting-ip-config.c:2739
 msgid "has from/src but the prefix-length is zero"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-ip-config.c:2745
+#: src/libnm-core-impl/nm-setting-ip-config.c:2747
 msgid "missing from/src for a non zero prefix-length"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-ip-config.c:2752
+#: src/libnm-core-impl/nm-setting-ip-config.c:2754
 msgid "invalid from/src"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-ip-config.c:2759
+#: src/libnm-core-impl/nm-setting-ip-config.c:2761
 msgid "invalid prefix length for from/src"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-ip-config.c:2768
+#: src/libnm-core-impl/nm-setting-ip-config.c:2770
 msgid "has to/dst but the prefix-length is zero"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-ip-config.c:2776
+#: src/libnm-core-impl/nm-setting-ip-config.c:2778
 msgid "missing to/dst for a non zero prefix-length"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-ip-config.c:2783
+#: src/libnm-core-impl/nm-setting-ip-config.c:2785
 msgid "invalid to/dst"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-ip-config.c:2790
+#: src/libnm-core-impl/nm-setting-ip-config.c:2792
 msgid "invalid prefix length for to/dst"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-ip-config.c:2800
+#: src/libnm-core-impl/nm-setting-ip-config.c:2802
 msgid "invalid iifname"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-ip-config.c:2810
+#: src/libnm-core-impl/nm-setting-ip-config.c:2812
 msgid "invalid oifname"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-ip-config.c:2818
+#: src/libnm-core-impl/nm-setting-ip-config.c:2820
 msgid "invalid source port range"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-ip-config.c:2826
+#: src/libnm-core-impl/nm-setting-ip-config.c:2828
 msgid "invalid destination port range"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-ip-config.c:2836
+#: src/libnm-core-impl/nm-setting-ip-config.c:2838
 msgid "suppress_prefixlength out of range"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-ip-config.c:2844
+#: src/libnm-core-impl/nm-setting-ip-config.c:2846
 msgid "suppress_prefixlength is only allowed with the to-table action"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-ip-config.c:2987
+#: src/libnm-core-impl/nm-setting-ip-config.c:2989
 #, c-format
 msgid "invalid key \"%s\""
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-ip-config.c:2999
+#: src/libnm-core-impl/nm-setting-ip-config.c:3001
 #, c-format
 msgid "duplicate key %s"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-ip-config.c:3015
+#: src/libnm-core-impl/nm-setting-ip-config.c:3017
 #, c-format
 msgid "invalid variant type '%s' for \"%s\""
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-ip-config.c:3026
+#: src/libnm-core-impl/nm-setting-ip-config.c:3028
 msgid "missing \"family\""
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-ip-config.c:3034
+#: src/libnm-core-impl/nm-setting-ip-config.c:3036
 msgid "invalid \"family\""
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-ip-config.c:3091
+#: src/libnm-core-impl/nm-setting-ip-config.c:3093
 msgid "\"uid-range-start\" is greater than \"uid-range-end\""
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-ip-config.c:3285
+#: src/libnm-core-impl/nm-setting-ip-config.c:3287
 msgid "Unsupported to-string-flags argument"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-ip-config.c:3293
+#: src/libnm-core-impl/nm-setting-ip-config.c:3295
 msgid "Unsupported extra-argument"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-ip-config.c:3595
+#: src/libnm-core-impl/nm-setting-ip-config.c:3597
 #, c-format
 msgid "unsupported key \"%s\""
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-ip-config.c:3602
+#: src/libnm-core-impl/nm-setting-ip-config.c:3604
 #, c-format
 msgid "duplicate key \"%s\""
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-ip-config.c:3609
+#: src/libnm-core-impl/nm-setting-ip-config.c:3611
 #, c-format
 msgid "invalid value for \"%s\""
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-ip-config.c:3621
+#: src/libnm-core-impl/nm-setting-ip-config.c:3623
 msgid "empty text does not describe a rule"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-ip-config.c:3629
+#: src/libnm-core-impl/nm-setting-ip-config.c:3631
 #, c-format
 msgid "missing argument for \"%s\""
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-ip-config.c:3643
+#: src/libnm-core-impl/nm-setting-ip-config.c:3645
 msgid "invalid \"from\" part"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-ip-config.c:3659
+#: src/libnm-core-impl/nm-setting-ip-config.c:3661
 msgid "invalid \"to\" part"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-ip-config.c:3670
+#: src/libnm-core-impl/nm-setting-ip-config.c:3672
 msgid "cannot detect address family for rule"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-ip-config.c:3737
-#: src/libnm-core-impl/nm-setting-ip-config.c:3827
+#: src/libnm-core-impl/nm-setting-ip-config.c:3739
+#: src/libnm-core-impl/nm-setting-ip-config.c:3829
 #, c-format
 msgid "rule is invalid: %s"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-ip-config.c:3808
+#: src/libnm-core-impl/nm-setting-ip-config.c:3810
 msgid "invalid address family"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-ip-config.c:5080
+#: src/libnm-core-impl/nm-setting-ip-config.c:5084
 #, c-format
 msgid "rule #%u is invalid: %s"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-ip-config.c:5448
+#: src/libnm-core-impl/nm-setting-ip-config.c:5452
 #, c-format
 msgid "%d. DNS server address is invalid"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-ip-config.c:5467
+#: src/libnm-core-impl/nm-setting-ip-config.c:5471
 #, c-format
 msgid "%d. IP address is invalid"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-ip-config.c:5482
+#: src/libnm-core-impl/nm-setting-ip-config.c:5486
 #, c-format
 msgid "%d. IP address has 'label' property with invalid type"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-ip-config.c:5494
+#: src/libnm-core-impl/nm-setting-ip-config.c:5498
 #, c-format
 msgid "%d. IP address has invalid label '%s'"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-ip-config.c:5512
+#: src/libnm-core-impl/nm-setting-ip-config.c:5516
 msgid "gateway cannot be set if there are no addresses configured"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-ip-config.c:5524
+#: src/libnm-core-impl/nm-setting-ip-config.c:5528
 msgid "gateway is invalid"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-ip-config.c:5542
+#: src/libnm-core-impl/nm-setting-ip-config.c:5546
 #, c-format
 msgid "%d. route is invalid"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-ip-config.c:5555
+#: src/libnm-core-impl/nm-setting-ip-config.c:5559
 #, c-format
 msgid "invalid attribute: %s"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-ip-config.c:5575
+#: src/libnm-core-impl/nm-setting-ip-config.c:5579
 #, c-format
 msgid "%u. rule has wrong address-family"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-ip-config.c:5587
+#: src/libnm-core-impl/nm-setting-ip-config.c:5591
 #, c-format
 msgid "%u. rule is invalid: %s"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-ip-config.c:5603
+#: src/libnm-core-impl/nm-setting-ip-config.c:5607
 #, c-format
 msgid "'%s' is not a valid IAID"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-ip-config.c:5617
+#: src/libnm-core-impl/nm-setting-ip-config.c:5621
 #, c-format
 msgid "the property cannot be set when '%s' is disabled"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-ip-config.c:5643
+#: src/libnm-core-impl/nm-setting-ip-config.c:5647
 msgid "the property is currently supported only for DHCPv4"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-ip-config.c:5660
+#: src/libnm-core-impl/nm-setting-ip-config.c:5664
 #, c-format
 msgid "'%s' is not a valid IP or subnet"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-ip-config.c:5676
+#: src/libnm-core-impl/nm-setting-ip-config.c:5680
 #, c-format
 msgid "a gateway is incompatible with '%s'"
 msgstr ""
@@ -2398,22 +2394,22 @@ msgid "'%s' is not allowed in fail_mode"
 msgstr ""
 
 #: src/libnm-core-impl/nm-setting-ovs-external-ids.c:90
-#: src/libnm-core-impl/nm-setting-user.c:91
+#: src/libnm-core-impl/nm-setting-user.c:93
 msgid "missing key"
 msgstr ""
 
 #: src/libnm-core-impl/nm-setting-ovs-external-ids.c:98
-#: src/libnm-core-impl/nm-setting-user.c:99
+#: src/libnm-core-impl/nm-setting-user.c:101
 msgid "key is too long"
 msgstr ""
 
 #: src/libnm-core-impl/nm-setting-ovs-external-ids.c:105
-#: src/libnm-core-impl/nm-setting-user.c:106
+#: src/libnm-core-impl/nm-setting-user.c:108
 msgid "key must be UTF8"
 msgstr ""
 
 #: src/libnm-core-impl/nm-setting-ovs-external-ids.c:114
-#: src/libnm-core-impl/nm-setting-user.c:153
+#: src/libnm-core-impl/nm-setting-user.c:155
 msgid "key contains invalid characters"
 msgstr ""
 
@@ -2422,33 +2418,33 @@ msgid "key cannot start with \"NM.\""
 msgstr ""
 
 #: src/libnm-core-impl/nm-setting-ovs-external-ids.c:153
-#: src/libnm-core-impl/nm-setting-user.c:180
+#: src/libnm-core-impl/nm-setting-user.c:182
 msgid "value is missing"
 msgstr ""
 
 #: src/libnm-core-impl/nm-setting-ovs-external-ids.c:162
-#: src/libnm-core-impl/nm-setting-user.c:189
+#: src/libnm-core-impl/nm-setting-user.c:191
 msgid "value is too large"
 msgstr ""
 
 #: src/libnm-core-impl/nm-setting-ovs-external-ids.c:170
-#: src/libnm-core-impl/nm-setting-user.c:197
+#: src/libnm-core-impl/nm-setting-user.c:199
 msgid "value is not valid UTF8"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-ovs-external-ids.c:313
-#: src/libnm-core-impl/nm-setting-user.c:357
+#: src/libnm-core-impl/nm-setting-ovs-external-ids.c:315
+#: src/libnm-core-impl/nm-setting-user.c:361
 #, c-format
 msgid "invalid key \"%s\": %s"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-ovs-external-ids.c:337
-#: src/libnm-core-impl/nm-setting-user.c:381
+#: src/libnm-core-impl/nm-setting-ovs-external-ids.c:339
+#: src/libnm-core-impl/nm-setting-user.c:385
 #, c-format
 msgid "maximum number of user data entries reached (%u instead of %u)"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-ovs-external-ids.c:380
+#: src/libnm-core-impl/nm-setting-ovs-external-ids.c:382
 msgid ""
 "OVS external IDs can only be added to a profile of type OVS bridge/port/"
 "interface or to OVS system interface"
@@ -2666,15 +2662,15 @@ msgstr ""
 msgid "'%s': invalid group ID"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-user.c:131
+#: src/libnm-core-impl/nm-setting-user.c:133
 msgid "key requires a '.' for a namespace"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-user.c:146
+#: src/libnm-core-impl/nm-setting-user.c:148
 msgid "key cannot contain \"..\""
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-user.c:314
+#: src/libnm-core-impl/nm-setting-user.c:318
 msgid "maximum number of user data entries reached"
 msgstr ""
 
@@ -2696,29 +2692,29 @@ msgstr ""
 msgid "vlan setting should have a ethernet setting as well"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-vpn.c:574
+#: src/libnm-core-impl/nm-setting-vpn.c:576
 msgid "cannot set connection.multi-connect for VPN setting"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-vpn.c:613
+#: src/libnm-core-impl/nm-setting-vpn.c:615
 msgid "setting contained a secret with an empty name"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-vpn.c:652
-#: src/libnm-core-impl/nm-setting.c:3325
+#: src/libnm-core-impl/nm-setting-vpn.c:654
+#: src/libnm-core-impl/nm-setting.c:3339
 msgid "not a secret property"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-vpn.c:660
+#: src/libnm-core-impl/nm-setting-vpn.c:662
 msgid "secret is not of correct type"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-vpn.c:742
-#: src/libnm-core-impl/nm-setting-vpn.c:792
+#: src/libnm-core-impl/nm-setting-vpn.c:744
+#: src/libnm-core-impl/nm-setting-vpn.c:794
 msgid "secret name cannot be empty"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-vpn.c:758
+#: src/libnm-core-impl/nm-setting-vpn.c:760
 msgid "secret flags property not found"
 msgstr ""
 
@@ -2921,50 +2917,50 @@ msgstr ""
 msgid "conflicting value of mac-address-randomization and cloned-mac-address"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-wpan.c:171
+#: src/libnm-core-impl/nm-setting-wpan.c:173
 msgid "page must be defined along with a channel"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-wpan.c:180
+#: src/libnm-core-impl/nm-setting-wpan.c:182
 #, c-format
 msgid "page must be between %d and %d"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-wpan.c:191
+#: src/libnm-core-impl/nm-setting-wpan.c:193
 #, c-format
 msgid "channel must not be between %d and %d"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting.c:1649 src/libnm-core-impl/nm-setting.c:1689
-#: src/libnm-core-impl/nm-setting.c:1995
+#: src/libnm-core-impl/nm-setting.c:1663 src/libnm-core-impl/nm-setting.c:1703
+#: src/libnm-core-impl/nm-setting.c:2009
 #, c-format
 msgid "can't set property of type '%s' from value of type '%s'"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting.c:1665
+#: src/libnm-core-impl/nm-setting.c:1679
 #, c-format
 msgid "value of type '%s' is invalid or out of range for property '%s'"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting.c:1710
+#: src/libnm-core-impl/nm-setting.c:1724
 #, c-format
 msgid "can not set property: %s"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting.c:1934
+#: src/libnm-core-impl/nm-setting.c:1948
 msgid "duplicate property"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting.c:1954
+#: src/libnm-core-impl/nm-setting.c:1968
 msgid "unknown property"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting.c:2028 src/libnm-core-impl/nm-setting.c:2110
+#: src/libnm-core-impl/nm-setting.c:2042 src/libnm-core-impl/nm-setting.c:2124
 #, c-format
 msgid "failed to set property: %s"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting.c:3222
+#: src/libnm-core-impl/nm-setting.c:3236
 msgid "secret not found"
 msgstr ""
 
@@ -3033,226 +3029,226 @@ msgstr ""
 msgid "invalid link-watchers: %s"
 msgstr ""
 
-#: src/libnm-core-impl/nm-utils.c:2259
+#: src/libnm-core-impl/nm-utils.c:2267
 #, c-format
 msgid "'%s' is not a valid handle."
 msgstr ""
 
-#: src/libnm-core-impl/nm-utils.c:2407
+#: src/libnm-core-impl/nm-utils.c:2415
 #, c-format
 msgid "'%s' unexpected: parent already specified."
 msgstr ""
 
-#: src/libnm-core-impl/nm-utils.c:2425
+#: src/libnm-core-impl/nm-utils.c:2433
 #, c-format
 msgid "invalid handle: '%s'"
 msgstr ""
 
-#: src/libnm-core-impl/nm-utils.c:2447
+#: src/libnm-core-impl/nm-utils.c:2455
 msgid "parent not specified."
 msgstr ""
 
-#: src/libnm-core-impl/nm-utils.c:2511
+#: src/libnm-core-impl/nm-utils.c:2519
 #, c-format
 msgid "unsupported qdisc option: '%s'."
 msgstr ""
 
-#: src/libnm-core-impl/nm-utils.c:2641
+#: src/libnm-core-impl/nm-utils.c:2649
 msgid "action name missing."
 msgstr ""
 
-#: src/libnm-core-impl/nm-utils.c:2666
+#: src/libnm-core-impl/nm-utils.c:2674
 #, c-format
 msgid "unsupported action option: '%s'."
 msgstr ""
 
-#: src/libnm-core-impl/nm-utils.c:2803
+#: src/libnm-core-impl/nm-utils.c:2811
 msgid "invalid action: "
 msgstr ""
 
-#: src/libnm-core-impl/nm-utils.c:2807
+#: src/libnm-core-impl/nm-utils.c:2815
 #, c-format
 msgid "unsupported tfilter option: '%s'."
 msgstr ""
 
-#: src/libnm-core-impl/nm-utils.c:3107
+#: src/libnm-core-impl/nm-utils.c:3115
 #, c-format
 msgid "failed stat file %s: %s"
 msgstr ""
 
-#: src/libnm-core-impl/nm-utils.c:3118
+#: src/libnm-core-impl/nm-utils.c:3126
 #, c-format
 msgid "not a file (%s)"
 msgstr ""
 
-#: src/libnm-core-impl/nm-utils.c:3129
+#: src/libnm-core-impl/nm-utils.c:3137
 #, c-format
 msgid "invalid file owner %d for %s"
 msgstr ""
 
-#: src/libnm-core-impl/nm-utils.c:3141
+#: src/libnm-core-impl/nm-utils.c:3149
 #, c-format
 msgid "file permissions for %s"
 msgstr ""
 
-#: src/libnm-core-impl/nm-utils.c:3151
+#: src/libnm-core-impl/nm-utils.c:3159
 #, c-format
 msgid "reject %s"
 msgstr ""
 
-#: src/libnm-core-impl/nm-utils.c:3171
+#: src/libnm-core-impl/nm-utils.c:3179
 #, c-format
 msgid "path is not absolute (%s)"
 msgstr ""
 
-#: src/libnm-core-impl/nm-utils.c:3186
+#: src/libnm-core-impl/nm-utils.c:3194
 #, c-format
 msgid "Plugin file does not exist (%s)"
 msgstr ""
 
-#: src/libnm-core-impl/nm-utils.c:3195
+#: src/libnm-core-impl/nm-utils.c:3203
 #, c-format
 msgid "Plugin is not a valid file (%s)"
 msgstr ""
 
-#: src/libnm-core-impl/nm-utils.c:3206
+#: src/libnm-core-impl/nm-utils.c:3214
 #, c-format
 msgid "libtool archives are not supported (%s)"
 msgstr ""
 
-#: src/libnm-core-impl/nm-utils.c:3283
+#: src/libnm-core-impl/nm-utils.c:3291
 #, c-format
 msgid "Could not find \"%s\" binary"
 msgstr ""
 
-#: src/libnm-core-impl/nm-utils.c:4106
+#: src/libnm-core-impl/nm-utils.c:4114
 msgid "unknown secret flags"
 msgstr ""
 
-#: src/libnm-core-impl/nm-utils.c:4116
+#: src/libnm-core-impl/nm-utils.c:4124
 msgid "conflicting secret flags"
 msgstr ""
 
-#: src/libnm-core-impl/nm-utils.c:4127
+#: src/libnm-core-impl/nm-utils.c:4135
 msgid "secret flags must not be \"not-required\""
 msgstr ""
 
-#: src/libnm-core-impl/nm-utils.c:4135
+#: src/libnm-core-impl/nm-utils.c:4143
 msgid "unsupported secret flags"
 msgstr ""
 
-#: src/libnm-core-impl/nm-utils.c:4165
+#: src/libnm-core-impl/nm-utils.c:4173
 msgid "can't be simultaneously disabled and enabled"
 msgstr ""
 
-#: src/libnm-core-impl/nm-utils.c:4173
+#: src/libnm-core-impl/nm-utils.c:4181
 msgid "WPS is required"
 msgstr ""
 
-#: src/libnm-core-impl/nm-utils.c:4241
+#: src/libnm-core-impl/nm-utils.c:4249
 #, c-format
 msgid "not a valid ethernet MAC address for mask at position %lld"
 msgstr ""
 
-#: src/libnm-core-impl/nm-utils.c:4260
+#: src/libnm-core-impl/nm-utils.c:4268
 #, c-format
 msgid "not a valid ethernet MAC address #%u at position %lld"
 msgstr ""
 
-#: src/libnm-core-impl/nm-utils.c:4892
+#: src/libnm-core-impl/nm-utils.c:4902
 msgid "not valid utf-8"
 msgstr ""
 
-#: src/libnm-core-impl/nm-utils.c:4913 src/libnm-core-impl/nm-utils.c:4966
+#: src/libnm-core-impl/nm-utils.c:4923 src/libnm-core-impl/nm-utils.c:4976
 msgid "is not a JSON object"
 msgstr ""
 
-#: src/libnm-core-impl/nm-utils.c:4942
+#: src/libnm-core-impl/nm-utils.c:4952
 msgid "value is NULL"
 msgstr ""
 
-#: src/libnm-core-impl/nm-utils.c:4942
+#: src/libnm-core-impl/nm-utils.c:4952
 msgid "value is empty"
 msgstr ""
 
-#: src/libnm-core-impl/nm-utils.c:4954
+#: src/libnm-core-impl/nm-utils.c:4964
 #, c-format
 msgid "invalid JSON at position %d (%s)"
 msgstr ""
 
-#: src/libnm-core-impl/nm-utils.c:5082 src/libnm-core-impl/nm-utils.c:5102
+#: src/libnm-core-impl/nm-utils.c:5092 src/libnm-core-impl/nm-utils.c:5112
 msgid "unterminated escape sequence"
 msgstr ""
 
-#: src/libnm-core-impl/nm-utils.c:5128
+#: src/libnm-core-impl/nm-utils.c:5138
 #, c-format
 msgid "unknown attribute '%s'"
 msgstr ""
 
-#: src/libnm-core-impl/nm-utils.c:5146
+#: src/libnm-core-impl/nm-utils.c:5156
 #, c-format
 msgid "missing key-value separator '%c' after '%s'"
 msgstr ""
 
-#: src/libnm-core-impl/nm-utils.c:5166
+#: src/libnm-core-impl/nm-utils.c:5176
 #, c-format
 msgid "invalid uint32 value '%s' for attribute '%s'"
 msgstr ""
 
-#: src/libnm-core-impl/nm-utils.c:5180
+#: src/libnm-core-impl/nm-utils.c:5190
 #, c-format
 msgid "invalid int32 value '%s' for attribute '%s'"
 msgstr ""
 
-#: src/libnm-core-impl/nm-utils.c:5193
+#: src/libnm-core-impl/nm-utils.c:5203
 #, c-format
 msgid "invalid uint64 value '%s' for attribute '%s'"
 msgstr ""
 
-#: src/libnm-core-impl/nm-utils.c:5206
+#: src/libnm-core-impl/nm-utils.c:5216
 #, c-format
 msgid "invalid uint8 value '%s' for attribute '%s'"
 msgstr ""
 
-#: src/libnm-core-impl/nm-utils.c:5220
+#: src/libnm-core-impl/nm-utils.c:5230
 #, c-format
 msgid "invalid boolean value '%s' for attribute '%s'"
 msgstr ""
 
-#: src/libnm-core-impl/nm-utils.c:5234
+#: src/libnm-core-impl/nm-utils.c:5244
 #, c-format
 msgid "unsupported attribute '%s' of type '%s'"
 msgstr ""
 
-#: src/libnm-core-impl/nm-utils.c:5535
+#: src/libnm-core-impl/nm-utils.c:5545
 #, c-format
 msgid "Bridge VLANs %d and %d are not sorted by ascending vid"
 msgstr ""
 
-#: src/libnm-core-impl/nm-utils.c:5559
+#: src/libnm-core-impl/nm-utils.c:5569
 #, c-format
 msgid "duplicate bridge VLAN vid %u"
 msgstr ""
 
-#: src/libnm-core-impl/nm-utils.c:5571
+#: src/libnm-core-impl/nm-utils.c:5581
 msgid "only one VLAN can be the PVID"
 msgstr ""
 
-#: src/libnm-core-impl/nm-utils.c:5616
+#: src/libnm-core-impl/nm-utils.c:5626
 #, c-format
 msgid "unknown flags 0x%x"
 msgstr ""
 
-#: src/libnm-core-impl/nm-utils.c:5628
+#: src/libnm-core-impl/nm-utils.c:5638
 msgid ""
 "'fqdn-no-update' and 'fqdn-serv-update' flags cannot be set at the same time"
 msgstr ""
 
-#: src/libnm-core-impl/nm-utils.c:5639
+#: src/libnm-core-impl/nm-utils.c:5649
 msgid "'fqdn-clear-flags' flag is incompatible with other FQDN flags"
 msgstr ""
 
-#: src/libnm-core-impl/nm-utils.c:5647
+#: src/libnm-core-impl/nm-utils.c:5657
 msgid "DHCPv6 does not support the E (encoded) FQDN flag"
 msgstr ""
 
@@ -3281,11 +3277,11 @@ msgstr ""
 msgid "cannot load VPN plugin in '%s': invalid service name"
 msgstr ""
 
-#: src/libnm-core-impl/nm-vpn-editor-plugin.c:481
+#: src/libnm-core-impl/nm-vpn-editor-plugin.c:493
 msgid "the plugin does not support import capability"
 msgstr ""
 
-#: src/libnm-core-impl/nm-vpn-editor-plugin.c:505
+#: src/libnm-core-impl/nm-vpn-editor-plugin.c:517
 msgid "the plugin does not support export capability"
 msgstr ""
 
@@ -4234,7 +4230,7 @@ msgstr ""
 #: src/libnmc-base/nm-secret-agent-simple.c:979
 #: src/libnmc-base/nm-vpn-helpers.c:143 src/libnmc-base/nm-vpn-helpers.c:147
 #: src/libnmc-base/nm-vpn-helpers.c:153 src/libnmc-base/nm-vpn-helpers.c:158
-#: src/nmcli/devices.c:4689 src/nmtui/nmt-page-dsl.c:64
+#: src/nmcli/devices.c:4691 src/nmtui/nmt-page-dsl.c:64
 #: src/nmtui/nmt-page-wifi.c:271 src/nmtui/nmt-page-wifi.c:305
 #: src/nmtui/nmt-page-wifi.c:344
 msgid "Password"
@@ -6837,7 +6833,7 @@ msgid ""
 "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"
+"the DHCP option is not sent to the server."
 msgstr ""
 
 #: src/libnmc-setting/settings-docs.h.in:170
@@ -6959,7 +6955,7 @@ msgid ""
 "is dependent on \"ipv4.method\". When set to \"default\", it honors the "
 "global connection default, before falling back to \"auto\". Note that if "
 "\"ipv4.method\" is \"disabled\", then link local addressing is always "
-"disabled too. The default is \"default\". Since 1.40"
+"disabled too. The default is \"default\"."
 msgstr ""
 
 #: src/libnmc-setting/settings-docs.h.in:178
@@ -9414,14 +9410,14 @@ msgstr ""
 #: src/nmcli/connections.c:2432 src/nmcli/connections.c:3153
 #: src/nmcli/connections.c:3165 src/nmcli/connections.c:3177
 #: src/nmcli/connections.c:3413 src/nmcli/connections.c:9640
-#: src/nmcli/connections.c:9662 src/nmcli/devices.c:3344
-#: src/nmcli/devices.c:3357 src/nmcli/devices.c:3369 src/nmcli/devices.c:3673
-#: src/nmcli/devices.c:3684 src/nmcli/devices.c:3703 src/nmcli/devices.c:3712
-#: src/nmcli/devices.c:3734 src/nmcli/devices.c:3745 src/nmcli/devices.c:3766
-#: src/nmcli/devices.c:4330 src/nmcli/devices.c:4341 src/nmcli/devices.c:4350
-#: src/nmcli/devices.c:4364 src/nmcli/devices.c:4382 src/nmcli/devices.c:4391
-#: src/nmcli/devices.c:4547 src/nmcli/devices.c:4558 src/nmcli/devices.c:4777
-#: src/nmcli/devices.c:4956 src/nmcli/devices.c:5177
+#: src/nmcli/connections.c:9662 src/nmcli/devices.c:3346
+#: src/nmcli/devices.c:3359 src/nmcli/devices.c:3371 src/nmcli/devices.c:3675
+#: src/nmcli/devices.c:3686 src/nmcli/devices.c:3705 src/nmcli/devices.c:3714
+#: src/nmcli/devices.c:3736 src/nmcli/devices.c:3747 src/nmcli/devices.c:3768
+#: src/nmcli/devices.c:4332 src/nmcli/devices.c:4343 src/nmcli/devices.c:4352
+#: src/nmcli/devices.c:4366 src/nmcli/devices.c:4384 src/nmcli/devices.c:4393
+#: src/nmcli/devices.c:4549 src/nmcli/devices.c:4560 src/nmcli/devices.c:4779
+#: src/nmcli/devices.c:4958 src/nmcli/devices.c:5179
 #, c-format
 msgid "Error: %s argument is missing."
 msgstr ""
@@ -9435,13 +9431,13 @@ msgstr ""
 #: src/nmcli/connections.c:3213 src/nmcli/connections.c:9146
 #: src/nmcli/connections.c:9230 src/nmcli/connections.c:9769
 #: src/nmcli/devices.c:2010 src/nmcli/devices.c:2286 src/nmcli/devices.c:2453
-#: src/nmcli/devices.c:2579 src/nmcli/devices.c:2763 src/nmcli/devices.c:3544
-#: src/nmcli/devices.c:4511 src/nmcli/devices.c:4963 src/nmcli/general.c:1068
+#: src/nmcli/devices.c:2579 src/nmcli/devices.c:2763 src/nmcli/devices.c:3546
+#: src/nmcli/devices.c:4513 src/nmcli/devices.c:4965 src/nmcli/general.c:1068
 #, c-format
 msgid "Error: %s."
 msgstr ""
 
-#: src/nmcli/connections.c:2651 src/nmcli/devices.c:4730
+#: src/nmcli/connections.c:2651 src/nmcli/devices.c:4732
 #, c-format
 msgid "no active connection on device '%s'"
 msgstr ""
@@ -9518,8 +9514,8 @@ msgstr ""
 #: src/nmcli/connections.c:3187 src/nmcli/connections.c:9673
 #: src/nmcli/devices.c:1967 src/nmcli/devices.c:2016 src/nmcli/devices.c:2459
 #: src/nmcli/devices.c:2651 src/nmcli/devices.c:2718 src/nmcli/devices.c:2918
-#: src/nmcli/devices.c:3404 src/nmcli/devices.c:3782 src/nmcli/devices.c:4401
-#: src/nmcli/devices.c:4564 src/nmcli/devices.c:4785 src/nmcli/devices.c:4968
+#: src/nmcli/devices.c:3406 src/nmcli/devices.c:3784 src/nmcli/devices.c:4403
+#: src/nmcli/devices.c:4566 src/nmcli/devices.c:4787 src/nmcli/devices.c:4970
 #, c-format
 msgid "Error: invalid extra argument '%s'."
 msgstr ""
@@ -10752,7 +10748,7 @@ msgstr ""
 msgid "Error: Device '%s' not found.\n"
 msgstr ""
 
-#: src/nmcli/devices.c:1184 src/nmcli/devices.c:5201
+#: src/nmcli/devices.c:1184 src/nmcli/devices.c:5203
 msgid "Error: not all devices found."
 msgstr ""
 
@@ -10933,218 +10929,218 @@ msgstr ""
 msgid "%s: device removed\n"
 msgstr ""
 
-#: src/nmcli/devices.c:3078
+#: src/nmcli/devices.c:3080
 msgid "Wi-Fi scan list"
 msgstr ""
 
-#: src/nmcli/devices.c:3195 src/nmcli/devices.c:3476
+#: src/nmcli/devices.c:3197 src/nmcli/devices.c:3478
 #, c-format
 msgid "Error: Access point with bssid '%s' not found."
 msgstr ""
 
-#: src/nmcli/devices.c:3397
+#: src/nmcli/devices.c:3399
 #, c-format
 msgid "Error: 'device wifi': %s"
 msgstr ""
 
-#: src/nmcli/devices.c:3417
+#: src/nmcli/devices.c:3419
 #, c-format
 msgid "Error: invalid rescan argument: '%s' not among [auto, no, yes]"
 msgstr ""
 
-#: src/nmcli/devices.c:3456
+#: src/nmcli/devices.c:3458
 #, c-format
 msgid "Error: Device '%s' not found."
 msgstr ""
 
-#: src/nmcli/devices.c:3460
+#: src/nmcli/devices.c:3462
 #, c-format
 msgid ""
 "Error: Device '%s' was not recognized as a Wi-Fi device, check "
 "NetworkManager Wi-Fi plugin."
 msgstr ""
 
-#: src/nmcli/devices.c:3465 src/nmcli/devices.c:3817 src/nmcli/devices.c:4446
-#: src/nmcli/devices.c:4581 src/nmcli/devices.c:4716
+#: src/nmcli/devices.c:3467 src/nmcli/devices.c:3819 src/nmcli/devices.c:4448
+#: src/nmcli/devices.c:4583 src/nmcli/devices.c:4718
 #, c-format
 msgid "Error: Device '%s' is not a Wi-Fi device."
 msgstr ""
 
-#: src/nmcli/devices.c:3645
+#: src/nmcli/devices.c:3647
 msgid "SSID or BSSID: "
 msgstr ""
 
-#: src/nmcli/devices.c:3650
+#: src/nmcli/devices.c:3652
 msgid "Error: SSID or BSSID are missing."
 msgstr ""
 
-#: src/nmcli/devices.c:3694
+#: src/nmcli/devices.c:3696
 #, c-format
 msgid "Error: bssid argument value '%s' is not a valid BSSID."
 msgstr ""
 
-#: src/nmcli/devices.c:3725
+#: src/nmcli/devices.c:3727
 #, c-format
 msgid ""
 "Error: wep-key-type argument value '%s' is invalid, use 'key' or 'phrase'."
 msgstr ""
 
-#: src/nmcli/devices.c:3753 src/nmcli/devices.c:3774
+#: src/nmcli/devices.c:3755 src/nmcli/devices.c:3776
 #, c-format
 msgid "Error: %s: %s."
 msgstr ""
 
-#: src/nmcli/devices.c:3796
+#: src/nmcli/devices.c:3798
 #, c-format
 msgid "Error: BSSID to connect to (%s) differs from bssid argument (%s)."
 msgstr ""
 
-#: src/nmcli/devices.c:3804
+#: src/nmcli/devices.c:3806
 #, c-format
 msgid "Error: Parameter '%s' is neither SSID nor BSSID."
 msgstr ""
 
-#: src/nmcli/devices.c:3820 src/nmcli/devices.c:4449 src/nmcli/devices.c:4584
-#: src/nmcli/devices.c:4816
+#: src/nmcli/devices.c:3822 src/nmcli/devices.c:4451 src/nmcli/devices.c:4586
+#: src/nmcli/devices.c:4818
 msgid "Error: No Wi-Fi device found."
 msgstr ""
 
-#: src/nmcli/devices.c:3842
+#: src/nmcli/devices.c:3844
 #, c-format
 msgid "Error: Failed to scan hidden SSID: %s."
 msgstr ""
 
-#: src/nmcli/devices.c:3874
+#: src/nmcli/devices.c:3876
 #, c-format
 msgid "Error: No network with SSID '%s' found."
 msgstr ""
 
-#: src/nmcli/devices.c:3878
+#: src/nmcli/devices.c:3880
 #, c-format
 msgid "Error: No access point with BSSID '%s' found."
 msgstr ""
 
-#: src/nmcli/devices.c:3907
+#: src/nmcli/devices.c:3909
 #, c-format
 msgid "Error: Connection '%s' exists but properties don't match."
 msgstr ""
 
-#: src/nmcli/devices.c:3956
+#: src/nmcli/devices.c:3958
 #, c-format
 msgid ""
 "Warning: '%s' should be SSID for hidden APs; but it looks like a BSSID.\n"
 msgstr ""
 
-#: src/nmcli/devices.c:3998
+#: src/nmcli/devices.c:4000
 msgid "Password: "
 msgstr ""
 
-#: src/nmcli/devices.c:4136
+#: src/nmcli/devices.c:4138
 #, c-format
 msgid "'%s' is not valid WPA PSK"
 msgstr ""
 
-#: src/nmcli/devices.c:4157
+#: src/nmcli/devices.c:4159
 #, c-format
 msgid "'%s' is not valid WEP key (it should be 5 or 13 ASCII chars)"
 msgstr ""
 
-#: src/nmcli/devices.c:4176
+#: src/nmcli/devices.c:4178
 #, c-format
 msgid "Hotspot password: %s\n"
 msgstr ""
 
-#: src/nmcli/devices.c:4355
+#: src/nmcli/devices.c:4357
 msgid "Error: ssid is too long."
 msgstr ""
 
-#: src/nmcli/devices.c:4373
+#: src/nmcli/devices.c:4375
 #, c-format
 msgid "Error: band argument value '%s' is invalid; use 'a' or 'bg'."
 msgstr ""
 
-#: src/nmcli/devices.c:4424
+#: src/nmcli/devices.c:4426
 msgid "Error: channel requires band too."
 msgstr ""
 
-#: src/nmcli/devices.c:4431
+#: src/nmcli/devices.c:4433
 #, c-format
 msgid "Error: channel '%s' not valid for band '%s'."
 msgstr ""
 
-#: src/nmcli/devices.c:4462
+#: src/nmcli/devices.c:4464
 #, c-format
 msgid "Error: Device '%s' supports neither AP nor Ad-Hoc mode."
 msgstr ""
 
-#: src/nmcli/devices.c:4489
+#: src/nmcli/devices.c:4491
 #, c-format
 msgid "Error: Invalid 'password': %s."
 msgstr ""
 
-#: src/nmcli/devices.c:4540 src/nmcli/devices.c:4770
+#: src/nmcli/devices.c:4542 src/nmcli/devices.c:4772
 #, c-format
 msgid "Error: '%s' cannot repeat."
 msgstr ""
 
-#: src/nmcli/devices.c:4675 src/nmcli/devices.c:4678 src/nmcli/devices.c:4682
-#: src/nmcli/devices.c:4685 src/nmtui/nmt-page-wifi.c:253
+#: src/nmcli/devices.c:4677 src/nmcli/devices.c:4680 src/nmcli/devices.c:4684
+#: src/nmcli/devices.c:4687 src/nmtui/nmt-page-wifi.c:253
 msgid "Security"
 msgstr ""
 
-#: src/nmcli/devices.c:4675
+#: src/nmcli/devices.c:4677
 msgid "None"
 msgstr ""
 
-#: src/nmcli/devices.c:4804
+#: src/nmcli/devices.c:4806
 #, c-format
 msgid "%s"
 msgstr ""
 
 #. Main header name
-#: src/nmcli/devices.c:4857
+#: src/nmcli/devices.c:4859
 msgid "Device LLDP neighbors"
 msgstr ""
 
-#: src/nmcli/devices.c:4990
+#: src/nmcli/devices.c:4992
 #, c-format
 msgid "Error: 'device lldp list': %s"
 msgstr ""
 
-#: src/nmcli/devices.c:5058
+#: src/nmcli/devices.c:5060
 msgid "Checkpoint was removed."
 msgstr ""
 
 #. The command is done, we're in the confirmation prompt.
-#: src/nmcli/devices.c:5065
+#: src/nmcli/devices.c:5067
 msgid "No"
 msgstr ""
 
-#: src/nmcli/devices.c:5078
+#: src/nmcli/devices.c:5080
 #, c-format
 msgid "Error: Destroying a checkpoint failed: %s"
 msgstr ""
 
-#: src/nmcli/devices.c:5100 src/nmcli/devices.c:5101
+#: src/nmcli/devices.c:5102 src/nmcli/devices.c:5103
 msgid "Yes"
 msgstr ""
 
-#: src/nmcli/devices.c:5127
+#: src/nmcli/devices.c:5129
 #, c-format
 msgid "Error: Creating a checkpoint failed: %s"
 msgstr ""
 
-#: src/nmcli/devices.c:5143
+#: src/nmcli/devices.c:5145
 #, c-format
 msgid "Error: %s"
 msgstr ""
 
-#: src/nmcli/devices.c:5182 src/nmcli/nmcli.c:885
+#: src/nmcli/devices.c:5184 src/nmcli/nmcli.c:885
 #, c-format
 msgid "Error: '%s' is not a valid timeout."
 msgstr ""
 
-#: src/nmcli/devices.c:5209
+#: src/nmcli/devices.c:5211
 msgid "Error: Expected a command to run after '--'"
 msgstr ""
 
diff --git a/po/as.po b/po/as.po
index 5ed0f2c3..ad3c9179 100644
--- a/po/as.po
+++ b/po/as.po
@@ -10,7 +10,7 @@ msgstr ""
 "Project-Id-Version: NetworkManager\n"
 "Report-Msgid-Bugs-To: https://gitlab.freedesktop.org/NetworkManager/"
 "NetworkManager/issues\n"
-"POT-Creation-Date: 2022-08-26 16:42+0200\n"
+"POT-Creation-Date: 2022-08-11 16:06-0300\n"
 "PO-Revision-Date: 2017-04-21 05:06-0400\n"
 "Last-Translator: Copied by Zanata <copied-by-zanata@zanata.org>\n"
 "Language-Team: Assamese <kde-i18n-doc@kde.org>\n"
@@ -1237,7 +1237,7 @@ msgstr ""
 #: src/libnm-core-impl/nm-setting-cdma.c:144
 #: src/libnm-core-impl/nm-setting-connection.c:1149
 #: src/libnm-core-impl/nm-setting-connection.c:1187
-#: src/libnm-core-impl/nm-setting-connection.c:1516
+#: src/libnm-core-impl/nm-setting-connection.c:1530
 #: src/libnm-core-impl/nm-setting-ip-config.c:5423
 #: src/libnm-core-impl/nm-setting-ip-tunnel.c:387
 #: src/libnm-core-impl/nm-setting-olpc-mesh.c:99
@@ -1587,7 +1587,7 @@ msgstr ""
 #: src/libnm-core-impl/nm-setting-cdma.c:159
 #: src/libnm-core-impl/nm-setting-connection.c:1159
 #: src/libnm-core-impl/nm-setting-connection.c:1202
-#: src/libnm-core-impl/nm-setting-connection.c:1454
+#: src/libnm-core-impl/nm-setting-connection.c:1468
 #: src/libnm-core-impl/nm-setting-gsm.c:298
 #: src/libnm-core-impl/nm-setting-gsm.c:353
 #: src/libnm-core-impl/nm-setting-gsm.c:396
@@ -1875,7 +1875,7 @@ msgstr "মান '%s' à¦à¦Ÿà¦¾ বৈধ UUID নহয়"
 #: src/libnm-core-impl/nm-setting-connection.c:1351
 #: src/libnm-core-impl/nm-setting-connection.c:1365
 #: src/libnm-core-impl/nm-setting-connection.c:1379
-#: src/libnm-core-impl/nm-setting-connection.c:1440
+#: src/libnm-core-impl/nm-setting-connection.c:1454
 #, fuzzy, c-format
 msgid "value %d is not valid"
 msgstr "মান '%s' à¦à¦Ÿà¦¾ বৈধ UUID নহয়"
@@ -1884,52 +1884,56 @@ msgstr "মান '%s' à¦à¦Ÿà¦¾ বৈধ UUID নহয়"
 msgid "\"disabled\" flag cannot be combined with other MPTCP flags"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1409
+#: src/libnm-core-impl/nm-setting-connection.c:1411
+msgid "\"enabled\" and \"enabled-on-global-iface\" flag cannot be set together"
+msgstr ""
+
+#: src/libnm-core-impl/nm-setting-connection.c:1422
 msgid "cannot set both \"signal\" and \"fullmesh\" MPTCP flags"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1421
+#: src/libnm-core-impl/nm-setting-connection.c:1435
 #, fuzzy, c-format
 msgid "value %u is not a valid combination of MPTCP flags"
 msgstr "'%s' বৈধ নহয়; [%s] অথবা [%s] বà§à¦¯à§±à¦¹à¦¾à§° কৰক"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1468
+#: src/libnm-core-impl/nm-setting-connection.c:1482
 msgid "DHCP option cannot be longer than 255 characters"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1479
+#: src/libnm-core-impl/nm-setting-connection.c:1493
 #, fuzzy
 msgid "MUD URL is not a valid URL"
 msgstr "সূচী '%s' বৈধ নহয়"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1499
+#: src/libnm-core-impl/nm-setting-connection.c:1513
 #, fuzzy
 msgid "invalid permissions not in format \"user:$UNAME[:]\""
 msgstr "অবৈধ IPv4 পথ '%s'"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1528
+#: src/libnm-core-impl/nm-setting-connection.c:1542
 #, c-format
 msgid "property type should be set to '%s'"
 msgstr "বৈশিষà§à¦Ÿà§à¦¯ ধৰণ '%s' লৈ সংহতি কৰিব লাগিব"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1546
+#: src/libnm-core-impl/nm-setting-connection.c:1560
 #, c-format
 msgid "slave-type '%s' requires a '%s' setting in the connection"
 msgstr "slave-type '%s' à§° সংযোগত à¦à¦Ÿà¦¾ '%s' সংহতিৰ পà§à§°à§Ÿà§‹à¦œà¦¨"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1557
+#: src/libnm-core-impl/nm-setting-connection.c:1571
 #, c-format
 msgid ""
 "Detect a slave connection with '%s' set and a port type '%s'. '%s' should be "
 "set to '%s'"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1583
+#: src/libnm-core-impl/nm-setting-connection.c:1597
 #, fuzzy, c-format
 msgid "A slave connection with '%s' set to '%s' cannot have a '%s' setting"
 msgstr "'%s' অথবা '%s' সংহতিৰ পà§à§°à§Ÿà§‹à¦œà¦¨"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1600
+#: src/libnm-core-impl/nm-setting-connection.c:1614
 msgid "UUID needs normalization"
 msgstr ""
 
@@ -6094,29 +6098,25 @@ msgid ""
 "fc00::/7) and IPv6 privacy extension addresses (rfc3041, ipv6.ip6-privacy) "
 "will be excluded from being configured as endpoints. If \"disabled\" (0x1), "
 "MPTCP handling for the interface is disabled and no endpoints are "
-"registered. The \"enabled\" (0x2) flag means that MPTCP handling is enabled. "
-"This flag can also be implied from the presence of other flags. Even when "
-"enabled, MPTCP handling will by default still be disabled unless \"/proc/sys/"
-"net/mptcp/enabled\" sysctl is on. NetworkManager does not change the sysctl "
-"and this is up to the administrator or distribution. To configure endpoints "
-"even if the sysctl is disabled, \"also-without-sysctl\" (0x4) flag can be "
-"used. In that case, NetworkManager doesn't look at the sysctl and configures "
-"endpoints regardless. Even when enabled, NetworkManager will only configure "
-"MPTCP endpoints for a certain address family, if there is a unicast default "
-"route (0.0.0.0/0 or ::/0) in the main routing table. The flag \"also-without-"
-"default-route\" (0x8) can override that. When MPTCP handling is enabled then "
-"endpoints are configured with the specified address flags \"signal\" (0x10), "
-"\"subflow\" (0x20), \"backup\" (0x40), \"fullmesh\" (0x80). See ip-mptcp(8) "
-"manual for additional information about the flags. If the flags are zero "
-"(0x0), the global connection default from NetworkManager.conf is honored. If "
-"still unspecified, the fallback is \"enabled,subflow\". Note that this means "
-"that MPTCP is by default done depending on the \"/proc/sys/net/mptcp/"
-"enabled\" sysctl. NetworkManager does not change the MPTCP limits nor enable "
-"MPTCP via \"/proc/sys/net/mptcp/enabled\". That is a host configuration "
-"which the admin can change via sysctl and ip-mptcp. Strict reverse path "
-"filtering (rp_filter) breaks many MPTCP use cases, so when MPTCP handling "
-"for IPv4 addresses on the interface is enabled, NetworkManager would loosen "
-"the strict reverse path filtering (1) to the loose setting (2)."
+"registered. The flag \"enabled-on-global-iface\" (0x2) means that MPTCP "
+"handling is enabled if the interface configures a default route in the main "
+"routing table. This choice is per-address family, for example if there is an "
+"IPv4 default route 0.0.0.0/0, IPv4 endpoints are configured. The "
+"\"enabled\" (0x4) flag means that MPTCP handling is explicitly enabled. This "
+"flag can also be implied from the presence of other flags. If MPTCP handling "
+"is enabled, then endpoints will be configured with the specified address "
+"flags \"signal\" (0x10), \"subflow\" (0x20), \"backup\" (0x40), "
+"\"fullmesh\" (0x80). See ip-mptcp(8) manual for additional information about "
+"the flags. If the flags are zero, the global connection default from "
+"NetworkManager.conf is honored. If still unspecified, the fallback is either "
+"\"disabled\" or \"enabled-on-global-iface,subflow\" depending on \"/proc/sys/"
+"net/mptcp/enabled\". NetworkManager does not change the MPTCP limits nor "
+"enable MPTCP via \"/proc/sys/net/mptcp/enabled\". That is a host "
+"configuration which the admin can change via sysctl and ip-mptcp. Strict "
+"reverse path filtering (rp_filter) breaks many MPTCP use cases, so when "
+"MPTCP handling for IPv4 addresses on the interface is enabled, "
+"NetworkManager would loosen the strict reverse path filtering (1) to the "
+"loose setting (2)."
 msgstr ""
 
 #: src/libnmc-setting/settings-docs.h.in:18
@@ -7350,13 +7350,11 @@ msgstr ""
 #: src/libnmc-setting/settings-docs.h.in:200
 msgid ""
 "The gateway associated with this configuration. This is only meaningful if "
-"\"addresses\" is also set. Setting the gateway causes NetworkManager to "
-"configure a standard default route with the gateway as next hop. This is "
-"ignored if \"never-default\" is set. An alternative is to configure the "
-"default route explicitly with a manual route and /0 as prefix length. Note "
-"that the gateway usually conflicts with routing that NetworkManager "
-"configures for WireGuard interfaces, so usually it should not be set in that "
-"case. See \"ip4-auto-default-route\"."
+"\"addresses\" is also set. The gateway's main purpose is to control the next "
+"hop of the standard default route on the device. Hence, the gateway property "
+"conflicts with \"never-default\" and will be automatically dropped if the IP "
+"configuration is set to never-default. As an alternative to set the gateway, "
+"configure a static default route with /0 as prefix length."
 msgstr ""
 
 #: src/libnmc-setting/settings-docs.h.in:175
diff --git a/po/be@latin.po b/po/be@latin.po
index 15151904..35afe9f8 100644
--- a/po/be@latin.po
+++ b/po/be@latin.po
@@ -3,7 +3,7 @@ msgstr ""
 "Project-Id-Version: NetworkManager\n"
 "Report-Msgid-Bugs-To: https://gitlab.freedesktop.org/NetworkManager/"
 "NetworkManager/issues\n"
-"POT-Creation-Date: 2022-08-26 16:42+0200\n"
+"POT-Creation-Date: 2022-08-11 16:06-0300\n"
 "PO-Revision-Date: 2008-03-29 21:43+0200\n"
 "Last-Translator: Ihar Hrachyshka <ihar.hrachyshka@gmail.com>\n"
 "Language-Team: Belarusian Latin <i18n@mova.org>\n"
@@ -1134,7 +1134,7 @@ msgstr ""
 #: src/libnm-core-impl/nm-setting-cdma.c:144
 #: src/libnm-core-impl/nm-setting-connection.c:1149
 #: src/libnm-core-impl/nm-setting-connection.c:1187
-#: src/libnm-core-impl/nm-setting-connection.c:1516
+#: src/libnm-core-impl/nm-setting-connection.c:1530
 #: src/libnm-core-impl/nm-setting-ip-config.c:5423
 #: src/libnm-core-impl/nm-setting-ip-tunnel.c:387
 #: src/libnm-core-impl/nm-setting-olpc-mesh.c:99
@@ -1475,7 +1475,7 @@ msgstr ""
 #: src/libnm-core-impl/nm-setting-cdma.c:159
 #: src/libnm-core-impl/nm-setting-connection.c:1159
 #: src/libnm-core-impl/nm-setting-connection.c:1202
-#: src/libnm-core-impl/nm-setting-connection.c:1454
+#: src/libnm-core-impl/nm-setting-connection.c:1468
 #: src/libnm-core-impl/nm-setting-gsm.c:298
 #: src/libnm-core-impl/nm-setting-gsm.c:353
 #: src/libnm-core-impl/nm-setting-gsm.c:396
@@ -1756,7 +1756,7 @@ msgstr ""
 #: src/libnm-core-impl/nm-setting-connection.c:1351
 #: src/libnm-core-impl/nm-setting-connection.c:1365
 #: src/libnm-core-impl/nm-setting-connection.c:1379
-#: src/libnm-core-impl/nm-setting-connection.c:1440
+#: src/libnm-core-impl/nm-setting-connection.c:1454
 #, c-format
 msgid "value %d is not valid"
 msgstr ""
@@ -1765,50 +1765,54 @@ msgstr ""
 msgid "\"disabled\" flag cannot be combined with other MPTCP flags"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1409
+#: src/libnm-core-impl/nm-setting-connection.c:1411
+msgid "\"enabled\" and \"enabled-on-global-iface\" flag cannot be set together"
+msgstr ""
+
+#: src/libnm-core-impl/nm-setting-connection.c:1422
 msgid "cannot set both \"signal\" and \"fullmesh\" MPTCP flags"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1421
+#: src/libnm-core-impl/nm-setting-connection.c:1435
 #, c-format
 msgid "value %u is not a valid combination of MPTCP flags"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1468
+#: src/libnm-core-impl/nm-setting-connection.c:1482
 msgid "DHCP option cannot be longer than 255 characters"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1479
+#: src/libnm-core-impl/nm-setting-connection.c:1493
 msgid "MUD URL is not a valid URL"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1499
+#: src/libnm-core-impl/nm-setting-connection.c:1513
 msgid "invalid permissions not in format \"user:$UNAME[:]\""
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1528
+#: src/libnm-core-impl/nm-setting-connection.c:1542
 #, c-format
 msgid "property type should be set to '%s'"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1546
+#: src/libnm-core-impl/nm-setting-connection.c:1560
 #, c-format
 msgid "slave-type '%s' requires a '%s' setting in the connection"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1557
+#: src/libnm-core-impl/nm-setting-connection.c:1571
 #, c-format
 msgid ""
 "Detect a slave connection with '%s' set and a port type '%s'. '%s' should be "
 "set to '%s'"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1583
+#: src/libnm-core-impl/nm-setting-connection.c:1597
 #, c-format
 msgid "A slave connection with '%s' set to '%s' cannot have a '%s' setting"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1600
+#: src/libnm-core-impl/nm-setting-connection.c:1614
 msgid "UUID needs normalization"
 msgstr ""
 
@@ -5670,29 +5674,25 @@ msgid ""
 "fc00::/7) and IPv6 privacy extension addresses (rfc3041, ipv6.ip6-privacy) "
 "will be excluded from being configured as endpoints. If \"disabled\" (0x1), "
 "MPTCP handling for the interface is disabled and no endpoints are "
-"registered. The \"enabled\" (0x2) flag means that MPTCP handling is enabled. "
-"This flag can also be implied from the presence of other flags. Even when "
-"enabled, MPTCP handling will by default still be disabled unless \"/proc/sys/"
-"net/mptcp/enabled\" sysctl is on. NetworkManager does not change the sysctl "
-"and this is up to the administrator or distribution. To configure endpoints "
-"even if the sysctl is disabled, \"also-without-sysctl\" (0x4) flag can be "
-"used. In that case, NetworkManager doesn't look at the sysctl and configures "
-"endpoints regardless. Even when enabled, NetworkManager will only configure "
-"MPTCP endpoints for a certain address family, if there is a unicast default "
-"route (0.0.0.0/0 or ::/0) in the main routing table. The flag \"also-without-"
-"default-route\" (0x8) can override that. When MPTCP handling is enabled then "
-"endpoints are configured with the specified address flags \"signal\" (0x10), "
-"\"subflow\" (0x20), \"backup\" (0x40), \"fullmesh\" (0x80). See ip-mptcp(8) "
-"manual for additional information about the flags. If the flags are zero "
-"(0x0), the global connection default from NetworkManager.conf is honored. If "
-"still unspecified, the fallback is \"enabled,subflow\". Note that this means "
-"that MPTCP is by default done depending on the \"/proc/sys/net/mptcp/"
-"enabled\" sysctl. NetworkManager does not change the MPTCP limits nor enable "
-"MPTCP via \"/proc/sys/net/mptcp/enabled\". That is a host configuration "
-"which the admin can change via sysctl and ip-mptcp. Strict reverse path "
-"filtering (rp_filter) breaks many MPTCP use cases, so when MPTCP handling "
-"for IPv4 addresses on the interface is enabled, NetworkManager would loosen "
-"the strict reverse path filtering (1) to the loose setting (2)."
+"registered. The flag \"enabled-on-global-iface\" (0x2) means that MPTCP "
+"handling is enabled if the interface configures a default route in the main "
+"routing table. This choice is per-address family, for example if there is an "
+"IPv4 default route 0.0.0.0/0, IPv4 endpoints are configured. The "
+"\"enabled\" (0x4) flag means that MPTCP handling is explicitly enabled. This "
+"flag can also be implied from the presence of other flags. If MPTCP handling "
+"is enabled, then endpoints will be configured with the specified address "
+"flags \"signal\" (0x10), \"subflow\" (0x20), \"backup\" (0x40), "
+"\"fullmesh\" (0x80). See ip-mptcp(8) manual for additional information about "
+"the flags. If the flags are zero, the global connection default from "
+"NetworkManager.conf is honored. If still unspecified, the fallback is either "
+"\"disabled\" or \"enabled-on-global-iface,subflow\" depending on \"/proc/sys/"
+"net/mptcp/enabled\". NetworkManager does not change the MPTCP limits nor "
+"enable MPTCP via \"/proc/sys/net/mptcp/enabled\". That is a host "
+"configuration which the admin can change via sysctl and ip-mptcp. Strict "
+"reverse path filtering (rp_filter) breaks many MPTCP use cases, so when "
+"MPTCP handling for IPv4 addresses on the interface is enabled, "
+"NetworkManager would loosen the strict reverse path filtering (1) to the "
+"loose setting (2)."
 msgstr ""
 
 #: src/libnmc-setting/settings-docs.h.in:18
@@ -6926,13 +6926,11 @@ msgstr ""
 #: src/libnmc-setting/settings-docs.h.in:200
 msgid ""
 "The gateway associated with this configuration. This is only meaningful if "
-"\"addresses\" is also set. Setting the gateway causes NetworkManager to "
-"configure a standard default route with the gateway as next hop. This is "
-"ignored if \"never-default\" is set. An alternative is to configure the "
-"default route explicitly with a manual route and /0 as prefix length. Note "
-"that the gateway usually conflicts with routing that NetworkManager "
-"configures for WireGuard interfaces, so usually it should not be set in that "
-"case. See \"ip4-auto-default-route\"."
+"\"addresses\" is also set. The gateway's main purpose is to control the next "
+"hop of the standard default route on the device. Hence, the gateway property "
+"conflicts with \"never-default\" and will be automatically dropped if the IP "
+"configuration is set to never-default. As an alternative to set the gateway, "
+"configure a static default route with /0 as prefix length."
 msgstr ""
 
 #: src/libnmc-setting/settings-docs.h.in:175
diff --git a/po/bg.po b/po/bg.po
index 71accb23..94fd8cff 100644
--- a/po/bg.po
+++ b/po/bg.po
@@ -11,7 +11,7 @@ msgstr ""
 "Project-Id-Version: NetworkManager\n"
 "Report-Msgid-Bugs-To: https://gitlab.freedesktop.org/NetworkManager/"
 "NetworkManager/issues\n"
-"POT-Creation-Date: 2022-08-26 16:42+0200\n"
+"POT-Creation-Date: 2022-08-11 16:06-0300\n"
 "PO-Revision-Date: 2017-04-21 05:07-0400\n"
 "Last-Translator: Copied by Zanata <copied-by-zanata@zanata.org>\n"
 "Language-Team: Bulgarian <dict@fsa-bg.org>\n"
@@ -1228,7 +1228,7 @@ msgstr ""
 #: src/libnm-core-impl/nm-setting-cdma.c:144
 #: src/libnm-core-impl/nm-setting-connection.c:1149
 #: src/libnm-core-impl/nm-setting-connection.c:1187
-#: src/libnm-core-impl/nm-setting-connection.c:1516
+#: src/libnm-core-impl/nm-setting-connection.c:1530
 #: src/libnm-core-impl/nm-setting-ip-config.c:5423
 #: src/libnm-core-impl/nm-setting-ip-tunnel.c:387
 #: src/libnm-core-impl/nm-setting-olpc-mesh.c:99
@@ -1574,7 +1574,7 @@ msgstr ""
 #: src/libnm-core-impl/nm-setting-cdma.c:159
 #: src/libnm-core-impl/nm-setting-connection.c:1159
 #: src/libnm-core-impl/nm-setting-connection.c:1202
-#: src/libnm-core-impl/nm-setting-connection.c:1454
+#: src/libnm-core-impl/nm-setting-connection.c:1468
 #: src/libnm-core-impl/nm-setting-gsm.c:298
 #: src/libnm-core-impl/nm-setting-gsm.c:353
 #: src/libnm-core-impl/nm-setting-gsm.c:396
@@ -1860,7 +1860,7 @@ msgstr "Ограничението на времето „%s“ не е прав
 #: src/libnm-core-impl/nm-setting-connection.c:1351
 #: src/libnm-core-impl/nm-setting-connection.c:1365
 #: src/libnm-core-impl/nm-setting-connection.c:1379
-#: src/libnm-core-impl/nm-setting-connection.c:1440
+#: src/libnm-core-impl/nm-setting-connection.c:1454
 #, fuzzy, c-format
 msgid "value %d is not valid"
 msgstr "Ограничението на времето „%s“ не е правилно."
@@ -1869,52 +1869,56 @@ msgstr "Ограничението на времето „%s“ не е прав
 msgid "\"disabled\" flag cannot be combined with other MPTCP flags"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1409
+#: src/libnm-core-impl/nm-setting-connection.c:1411
+msgid "\"enabled\" and \"enabled-on-global-iface\" flag cannot be set together"
+msgstr ""
+
+#: src/libnm-core-impl/nm-setting-connection.c:1422
 msgid "cannot set both \"signal\" and \"fullmesh\" MPTCP flags"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1421
+#: src/libnm-core-impl/nm-setting-connection.c:1435
 #, fuzzy, c-format
 msgid "value %u is not a valid combination of MPTCP flags"
 msgstr "Ограничението на времето „%s“ не е правилно."
 
-#: src/libnm-core-impl/nm-setting-connection.c:1468
+#: src/libnm-core-impl/nm-setting-connection.c:1482
 msgid "DHCP option cannot be longer than 255 characters"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1479
+#: src/libnm-core-impl/nm-setting-connection.c:1493
 #, fuzzy
 msgid "MUD URL is not a valid URL"
 msgstr "Грешка: „%s“ не е правилна команда за „nm“."
 
-#: src/libnm-core-impl/nm-setting-connection.c:1499
+#: src/libnm-core-impl/nm-setting-connection.c:1513
 #, fuzzy
 msgid "invalid permissions not in format \"user:$UNAME[:]\""
 msgstr "грешно поле „%s“"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1528
+#: src/libnm-core-impl/nm-setting-connection.c:1542
 #, c-format
 msgid "property type should be set to '%s'"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1546
+#: src/libnm-core-impl/nm-setting-connection.c:1560
 #, c-format
 msgid "slave-type '%s' requires a '%s' setting in the connection"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1557
+#: src/libnm-core-impl/nm-setting-connection.c:1571
 #, c-format
 msgid ""
 "Detect a slave connection with '%s' set and a port type '%s'. '%s' should be "
 "set to '%s'"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1583
+#: src/libnm-core-impl/nm-setting-connection.c:1597
 #, c-format
 msgid "A slave connection with '%s' set to '%s' cannot have a '%s' setting"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1600
+#: src/libnm-core-impl/nm-setting-connection.c:1614
 msgid "UUID needs normalization"
 msgstr ""
 
@@ -5938,29 +5942,25 @@ msgid ""
 "fc00::/7) and IPv6 privacy extension addresses (rfc3041, ipv6.ip6-privacy) "
 "will be excluded from being configured as endpoints. If \"disabled\" (0x1), "
 "MPTCP handling for the interface is disabled and no endpoints are "
-"registered. The \"enabled\" (0x2) flag means that MPTCP handling is enabled. "
-"This flag can also be implied from the presence of other flags. Even when "
-"enabled, MPTCP handling will by default still be disabled unless \"/proc/sys/"
-"net/mptcp/enabled\" sysctl is on. NetworkManager does not change the sysctl "
-"and this is up to the administrator or distribution. To configure endpoints "
-"even if the sysctl is disabled, \"also-without-sysctl\" (0x4) flag can be "
-"used. In that case, NetworkManager doesn't look at the sysctl and configures "
-"endpoints regardless. Even when enabled, NetworkManager will only configure "
-"MPTCP endpoints for a certain address family, if there is a unicast default "
-"route (0.0.0.0/0 or ::/0) in the main routing table. The flag \"also-without-"
-"default-route\" (0x8) can override that. When MPTCP handling is enabled then "
-"endpoints are configured with the specified address flags \"signal\" (0x10), "
-"\"subflow\" (0x20), \"backup\" (0x40), \"fullmesh\" (0x80). See ip-mptcp(8) "
-"manual for additional information about the flags. If the flags are zero "
-"(0x0), the global connection default from NetworkManager.conf is honored. If "
-"still unspecified, the fallback is \"enabled,subflow\". Note that this means "
-"that MPTCP is by default done depending on the \"/proc/sys/net/mptcp/"
-"enabled\" sysctl. NetworkManager does not change the MPTCP limits nor enable "
-"MPTCP via \"/proc/sys/net/mptcp/enabled\". That is a host configuration "
-"which the admin can change via sysctl and ip-mptcp. Strict reverse path "
-"filtering (rp_filter) breaks many MPTCP use cases, so when MPTCP handling "
-"for IPv4 addresses on the interface is enabled, NetworkManager would loosen "
-"the strict reverse path filtering (1) to the loose setting (2)."
+"registered. The flag \"enabled-on-global-iface\" (0x2) means that MPTCP "
+"handling is enabled if the interface configures a default route in the main "
+"routing table. This choice is per-address family, for example if there is an "
+"IPv4 default route 0.0.0.0/0, IPv4 endpoints are configured. The "
+"\"enabled\" (0x4) flag means that MPTCP handling is explicitly enabled. This "
+"flag can also be implied from the presence of other flags. If MPTCP handling "
+"is enabled, then endpoints will be configured with the specified address "
+"flags \"signal\" (0x10), \"subflow\" (0x20), \"backup\" (0x40), "
+"\"fullmesh\" (0x80). See ip-mptcp(8) manual for additional information about "
+"the flags. If the flags are zero, the global connection default from "
+"NetworkManager.conf is honored. If still unspecified, the fallback is either "
+"\"disabled\" or \"enabled-on-global-iface,subflow\" depending on \"/proc/sys/"
+"net/mptcp/enabled\". NetworkManager does not change the MPTCP limits nor "
+"enable MPTCP via \"/proc/sys/net/mptcp/enabled\". That is a host "
+"configuration which the admin can change via sysctl and ip-mptcp. Strict "
+"reverse path filtering (rp_filter) breaks many MPTCP use cases, so when "
+"MPTCP handling for IPv4 addresses on the interface is enabled, "
+"NetworkManager would loosen the strict reverse path filtering (1) to the "
+"loose setting (2)."
 msgstr ""
 
 #: src/libnmc-setting/settings-docs.h.in:18
@@ -7194,13 +7194,11 @@ msgstr ""
 #: src/libnmc-setting/settings-docs.h.in:200
 msgid ""
 "The gateway associated with this configuration. This is only meaningful if "
-"\"addresses\" is also set. Setting the gateway causes NetworkManager to "
-"configure a standard default route with the gateway as next hop. This is "
-"ignored if \"never-default\" is set. An alternative is to configure the "
-"default route explicitly with a manual route and /0 as prefix length. Note "
-"that the gateway usually conflicts with routing that NetworkManager "
-"configures for WireGuard interfaces, so usually it should not be set in that "
-"case. See \"ip4-auto-default-route\"."
+"\"addresses\" is also set. The gateway's main purpose is to control the next "
+"hop of the standard default route on the device. Hence, the gateway property "
+"conflicts with \"never-default\" and will be automatically dropped if the IP "
+"configuration is set to never-default. As an alternative to set the gateway, "
+"configure a static default route with /0 as prefix length."
 msgstr ""
 
 #: src/libnmc-setting/settings-docs.h.in:175
diff --git a/po/bn_IN.po b/po/bn_IN.po
index f0571150..a30d967f 100644
--- a/po/bn_IN.po
+++ b/po/bn_IN.po
@@ -12,7 +12,7 @@ msgstr ""
 "Project-Id-Version: NetworkManager\n"
 "Report-Msgid-Bugs-To: https://gitlab.freedesktop.org/NetworkManager/"
 "NetworkManager/issues\n"
-"POT-Creation-Date: 2022-08-26 16:42+0200\n"
+"POT-Creation-Date: 2022-08-11 16:06-0300\n"
 "PO-Revision-Date: 2017-04-21 05:09-0400\n"
 "Last-Translator: Copied by Zanata <copied-by-zanata@zanata.org>\n"
 "Language-Team: Bengali (India) <kde-i18n-doc@kde.org>\n"
@@ -1256,7 +1256,7 @@ msgstr ""
 #: src/libnm-core-impl/nm-setting-cdma.c:144
 #: src/libnm-core-impl/nm-setting-connection.c:1149
 #: src/libnm-core-impl/nm-setting-connection.c:1187
-#: src/libnm-core-impl/nm-setting-connection.c:1516
+#: src/libnm-core-impl/nm-setting-connection.c:1530
 #: src/libnm-core-impl/nm-setting-ip-config.c:5423
 #: src/libnm-core-impl/nm-setting-ip-tunnel.c:387
 #: src/libnm-core-impl/nm-setting-olpc-mesh.c:99
@@ -1606,7 +1606,7 @@ msgstr ""
 #: src/libnm-core-impl/nm-setting-cdma.c:159
 #: src/libnm-core-impl/nm-setting-connection.c:1159
 #: src/libnm-core-impl/nm-setting-connection.c:1202
-#: src/libnm-core-impl/nm-setting-connection.c:1454
+#: src/libnm-core-impl/nm-setting-connection.c:1468
 #: src/libnm-core-impl/nm-setting-gsm.c:298
 #: src/libnm-core-impl/nm-setting-gsm.c:353
 #: src/libnm-core-impl/nm-setting-gsm.c:396
@@ -1898,7 +1898,7 @@ msgstr "মান '%s' à¦à¦•টি বৈধ UUID নয়"
 #: src/libnm-core-impl/nm-setting-connection.c:1351
 #: src/libnm-core-impl/nm-setting-connection.c:1365
 #: src/libnm-core-impl/nm-setting-connection.c:1379
-#: src/libnm-core-impl/nm-setting-connection.c:1440
+#: src/libnm-core-impl/nm-setting-connection.c:1454
 #, fuzzy, c-format
 msgid "value %d is not valid"
 msgstr "মান '%s' à¦à¦•টি বৈধ UUID নয়"
@@ -1907,52 +1907,56 @@ msgstr "মান '%s' à¦à¦•টি বৈধ UUID নয়"
 msgid "\"disabled\" flag cannot be combined with other MPTCP flags"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1409
+#: src/libnm-core-impl/nm-setting-connection.c:1411
+msgid "\"enabled\" and \"enabled-on-global-iface\" flag cannot be set together"
+msgstr ""
+
+#: src/libnm-core-impl/nm-setting-connection.c:1422
 msgid "cannot set both \"signal\" and \"fullmesh\" MPTCP flags"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1421
+#: src/libnm-core-impl/nm-setting-connection.c:1435
 #, fuzzy, c-format
 msgid "value %u is not a valid combination of MPTCP flags"
 msgstr "'%s' বৈধ নয়; বà§à¦¯à¦¬à¦¹à¦¾à¦° করà§à¦¨ [%s] বা [%s]"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1468
+#: src/libnm-core-impl/nm-setting-connection.c:1482
 msgid "DHCP option cannot be longer than 255 characters"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1479
+#: src/libnm-core-impl/nm-setting-connection.c:1493
 #, fuzzy
 msgid "MUD URL is not a valid URL"
 msgstr "সূচি '%s' বৈধ নয়"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1499
+#: src/libnm-core-impl/nm-setting-connection.c:1513
 #, fuzzy
 msgid "invalid permissions not in format \"user:$UNAME[:]\""
 msgstr "অবৈধ IPv4 রাউট '%s'"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1528
+#: src/libnm-core-impl/nm-setting-connection.c:1542
 #, c-format
 msgid "property type should be set to '%s'"
 msgstr "বিশিষà§à¦Ÿà¦¤à¦¾ ধরন '%s' ঠসেট করা উচিত"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1546
+#: src/libnm-core-impl/nm-setting-connection.c:1560
 #, c-format
 msgid "slave-type '%s' requires a '%s' setting in the connection"
 msgstr "সà§à¦²à§‡à¦­-ধরন '%s' -à¦à¦° সংযোগে à¦à¦•টি '%s' সেটিং -à¦à¦° পà§à¦°à¦¯à¦¼à§‹à¦œà¦¨"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1557
+#: src/libnm-core-impl/nm-setting-connection.c:1571
 #, c-format
 msgid ""
 "Detect a slave connection with '%s' set and a port type '%s'. '%s' should be "
 "set to '%s'"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1583
+#: src/libnm-core-impl/nm-setting-connection.c:1597
 #, fuzzy, c-format
 msgid "A slave connection with '%s' set to '%s' cannot have a '%s' setting"
 msgstr "'%s' বা '%s' সেটিং à¦à¦° পà§à¦°à¦¯à¦¼à§‹à¦œà¦¨"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1600
+#: src/libnm-core-impl/nm-setting-connection.c:1614
 msgid "UUID needs normalization"
 msgstr ""
 
@@ -6124,29 +6128,25 @@ msgid ""
 "fc00::/7) and IPv6 privacy extension addresses (rfc3041, ipv6.ip6-privacy) "
 "will be excluded from being configured as endpoints. If \"disabled\" (0x1), "
 "MPTCP handling for the interface is disabled and no endpoints are "
-"registered. The \"enabled\" (0x2) flag means that MPTCP handling is enabled. "
-"This flag can also be implied from the presence of other flags. Even when "
-"enabled, MPTCP handling will by default still be disabled unless \"/proc/sys/"
-"net/mptcp/enabled\" sysctl is on. NetworkManager does not change the sysctl "
-"and this is up to the administrator or distribution. To configure endpoints "
-"even if the sysctl is disabled, \"also-without-sysctl\" (0x4) flag can be "
-"used. In that case, NetworkManager doesn't look at the sysctl and configures "
-"endpoints regardless. Even when enabled, NetworkManager will only configure "
-"MPTCP endpoints for a certain address family, if there is a unicast default "
-"route (0.0.0.0/0 or ::/0) in the main routing table. The flag \"also-without-"
-"default-route\" (0x8) can override that. When MPTCP handling is enabled then "
-"endpoints are configured with the specified address flags \"signal\" (0x10), "
-"\"subflow\" (0x20), \"backup\" (0x40), \"fullmesh\" (0x80). See ip-mptcp(8) "
-"manual for additional information about the flags. If the flags are zero "
-"(0x0), the global connection default from NetworkManager.conf is honored. If "
-"still unspecified, the fallback is \"enabled,subflow\". Note that this means "
-"that MPTCP is by default done depending on the \"/proc/sys/net/mptcp/"
-"enabled\" sysctl. NetworkManager does not change the MPTCP limits nor enable "
-"MPTCP via \"/proc/sys/net/mptcp/enabled\". That is a host configuration "
-"which the admin can change via sysctl and ip-mptcp. Strict reverse path "
-"filtering (rp_filter) breaks many MPTCP use cases, so when MPTCP handling "
-"for IPv4 addresses on the interface is enabled, NetworkManager would loosen "
-"the strict reverse path filtering (1) to the loose setting (2)."
+"registered. The flag \"enabled-on-global-iface\" (0x2) means that MPTCP "
+"handling is enabled if the interface configures a default route in the main "
+"routing table. This choice is per-address family, for example if there is an "
+"IPv4 default route 0.0.0.0/0, IPv4 endpoints are configured. The "
+"\"enabled\" (0x4) flag means that MPTCP handling is explicitly enabled. This "
+"flag can also be implied from the presence of other flags. If MPTCP handling "
+"is enabled, then endpoints will be configured with the specified address "
+"flags \"signal\" (0x10), \"subflow\" (0x20), \"backup\" (0x40), "
+"\"fullmesh\" (0x80). See ip-mptcp(8) manual for additional information about "
+"the flags. If the flags are zero, the global connection default from "
+"NetworkManager.conf is honored. If still unspecified, the fallback is either "
+"\"disabled\" or \"enabled-on-global-iface,subflow\" depending on \"/proc/sys/"
+"net/mptcp/enabled\". NetworkManager does not change the MPTCP limits nor "
+"enable MPTCP via \"/proc/sys/net/mptcp/enabled\". That is a host "
+"configuration which the admin can change via sysctl and ip-mptcp. Strict "
+"reverse path filtering (rp_filter) breaks many MPTCP use cases, so when "
+"MPTCP handling for IPv4 addresses on the interface is enabled, "
+"NetworkManager would loosen the strict reverse path filtering (1) to the "
+"loose setting (2)."
 msgstr ""
 
 #: src/libnmc-setting/settings-docs.h.in:18
@@ -7380,13 +7380,11 @@ msgstr ""
 #: src/libnmc-setting/settings-docs.h.in:200
 msgid ""
 "The gateway associated with this configuration. This is only meaningful if "
-"\"addresses\" is also set. Setting the gateway causes NetworkManager to "
-"configure a standard default route with the gateway as next hop. This is "
-"ignored if \"never-default\" is set. An alternative is to configure the "
-"default route explicitly with a manual route and /0 as prefix length. Note "
-"that the gateway usually conflicts with routing that NetworkManager "
-"configures for WireGuard interfaces, so usually it should not be set in that "
-"case. See \"ip4-auto-default-route\"."
+"\"addresses\" is also set. The gateway's main purpose is to control the next "
+"hop of the standard default route on the device. Hence, the gateway property "
+"conflicts with \"never-default\" and will be automatically dropped if the IP "
+"configuration is set to never-default. As an alternative to set the gateway, "
+"configure a static default route with /0 as prefix length."
 msgstr ""
 
 #: src/libnmc-setting/settings-docs.h.in:175
diff --git a/po/bs.po b/po/bs.po
index 306fd6da..52e6a128 100644
--- a/po/bs.po
+++ b/po/bs.po
@@ -9,7 +9,7 @@ msgstr ""
 "Project-Id-Version: NetworkManager\n"
 "Report-Msgid-Bugs-To: https://gitlab.freedesktop.org/NetworkManager/"
 "NetworkManager/issues\n"
-"POT-Creation-Date: 2022-08-26 16:42+0200\n"
+"POT-Creation-Date: 2022-08-11 16:06-0300\n"
 "PO-Revision-Date: 2017-04-21 06:12-0400\n"
 "Last-Translator: Copied by Zanata <copied-by-zanata@zanata.org>\n"
 "Language-Team: Bosnian <lokal@linux.org.ba>\n"
@@ -1170,7 +1170,7 @@ msgstr ""
 #: src/libnm-core-impl/nm-setting-cdma.c:144
 #: src/libnm-core-impl/nm-setting-connection.c:1149
 #: src/libnm-core-impl/nm-setting-connection.c:1187
-#: src/libnm-core-impl/nm-setting-connection.c:1516
+#: src/libnm-core-impl/nm-setting-connection.c:1530
 #: src/libnm-core-impl/nm-setting-ip-config.c:5423
 #: src/libnm-core-impl/nm-setting-ip-tunnel.c:387
 #: src/libnm-core-impl/nm-setting-olpc-mesh.c:99
@@ -1511,7 +1511,7 @@ msgstr ""
 #: src/libnm-core-impl/nm-setting-cdma.c:159
 #: src/libnm-core-impl/nm-setting-connection.c:1159
 #: src/libnm-core-impl/nm-setting-connection.c:1202
-#: src/libnm-core-impl/nm-setting-connection.c:1454
+#: src/libnm-core-impl/nm-setting-connection.c:1468
 #: src/libnm-core-impl/nm-setting-gsm.c:298
 #: src/libnm-core-impl/nm-setting-gsm.c:353
 #: src/libnm-core-impl/nm-setting-gsm.c:396
@@ -1792,7 +1792,7 @@ msgstr ""
 #: src/libnm-core-impl/nm-setting-connection.c:1351
 #: src/libnm-core-impl/nm-setting-connection.c:1365
 #: src/libnm-core-impl/nm-setting-connection.c:1379
-#: src/libnm-core-impl/nm-setting-connection.c:1440
+#: src/libnm-core-impl/nm-setting-connection.c:1454
 #, c-format
 msgid "value %d is not valid"
 msgstr ""
@@ -1801,50 +1801,54 @@ msgstr ""
 msgid "\"disabled\" flag cannot be combined with other MPTCP flags"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1409
+#: src/libnm-core-impl/nm-setting-connection.c:1411
+msgid "\"enabled\" and \"enabled-on-global-iface\" flag cannot be set together"
+msgstr ""
+
+#: src/libnm-core-impl/nm-setting-connection.c:1422
 msgid "cannot set both \"signal\" and \"fullmesh\" MPTCP flags"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1421
+#: src/libnm-core-impl/nm-setting-connection.c:1435
 #, c-format
 msgid "value %u is not a valid combination of MPTCP flags"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1468
+#: src/libnm-core-impl/nm-setting-connection.c:1482
 msgid "DHCP option cannot be longer than 255 characters"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1479
+#: src/libnm-core-impl/nm-setting-connection.c:1493
 msgid "MUD URL is not a valid URL"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1499
+#: src/libnm-core-impl/nm-setting-connection.c:1513
 msgid "invalid permissions not in format \"user:$UNAME[:]\""
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1528
+#: src/libnm-core-impl/nm-setting-connection.c:1542
 #, c-format
 msgid "property type should be set to '%s'"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1546
+#: src/libnm-core-impl/nm-setting-connection.c:1560
 #, c-format
 msgid "slave-type '%s' requires a '%s' setting in the connection"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1557
+#: src/libnm-core-impl/nm-setting-connection.c:1571
 #, c-format
 msgid ""
 "Detect a slave connection with '%s' set and a port type '%s'. '%s' should be "
 "set to '%s'"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1583
+#: src/libnm-core-impl/nm-setting-connection.c:1597
 #, c-format
 msgid "A slave connection with '%s' set to '%s' cannot have a '%s' setting"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1600
+#: src/libnm-core-impl/nm-setting-connection.c:1614
 msgid "UUID needs normalization"
 msgstr ""
 
@@ -5730,29 +5734,25 @@ msgid ""
 "fc00::/7) and IPv6 privacy extension addresses (rfc3041, ipv6.ip6-privacy) "
 "will be excluded from being configured as endpoints. If \"disabled\" (0x1), "
 "MPTCP handling for the interface is disabled and no endpoints are "
-"registered. The \"enabled\" (0x2) flag means that MPTCP handling is enabled. "
-"This flag can also be implied from the presence of other flags. Even when "
-"enabled, MPTCP handling will by default still be disabled unless \"/proc/sys/"
-"net/mptcp/enabled\" sysctl is on. NetworkManager does not change the sysctl "
-"and this is up to the administrator or distribution. To configure endpoints "
-"even if the sysctl is disabled, \"also-without-sysctl\" (0x4) flag can be "
-"used. In that case, NetworkManager doesn't look at the sysctl and configures "
-"endpoints regardless. Even when enabled, NetworkManager will only configure "
-"MPTCP endpoints for a certain address family, if there is a unicast default "
-"route (0.0.0.0/0 or ::/0) in the main routing table. The flag \"also-without-"
-"default-route\" (0x8) can override that. When MPTCP handling is enabled then "
-"endpoints are configured with the specified address flags \"signal\" (0x10), "
-"\"subflow\" (0x20), \"backup\" (0x40), \"fullmesh\" (0x80). See ip-mptcp(8) "
-"manual for additional information about the flags. If the flags are zero "
-"(0x0), the global connection default from NetworkManager.conf is honored. If "
-"still unspecified, the fallback is \"enabled,subflow\". Note that this means "
-"that MPTCP is by default done depending on the \"/proc/sys/net/mptcp/"
-"enabled\" sysctl. NetworkManager does not change the MPTCP limits nor enable "
-"MPTCP via \"/proc/sys/net/mptcp/enabled\". That is a host configuration "
-"which the admin can change via sysctl and ip-mptcp. Strict reverse path "
-"filtering (rp_filter) breaks many MPTCP use cases, so when MPTCP handling "
-"for IPv4 addresses on the interface is enabled, NetworkManager would loosen "
-"the strict reverse path filtering (1) to the loose setting (2)."
+"registered. The flag \"enabled-on-global-iface\" (0x2) means that MPTCP "
+"handling is enabled if the interface configures a default route in the main "
+"routing table. This choice is per-address family, for example if there is an "
+"IPv4 default route 0.0.0.0/0, IPv4 endpoints are configured. The "
+"\"enabled\" (0x4) flag means that MPTCP handling is explicitly enabled. This "
+"flag can also be implied from the presence of other flags. If MPTCP handling "
+"is enabled, then endpoints will be configured with the specified address "
+"flags \"signal\" (0x10), \"subflow\" (0x20), \"backup\" (0x40), "
+"\"fullmesh\" (0x80). See ip-mptcp(8) manual for additional information about "
+"the flags. If the flags are zero, the global connection default from "
+"NetworkManager.conf is honored. If still unspecified, the fallback is either "
+"\"disabled\" or \"enabled-on-global-iface,subflow\" depending on \"/proc/sys/"
+"net/mptcp/enabled\". NetworkManager does not change the MPTCP limits nor "
+"enable MPTCP via \"/proc/sys/net/mptcp/enabled\". That is a host "
+"configuration which the admin can change via sysctl and ip-mptcp. Strict "
+"reverse path filtering (rp_filter) breaks many MPTCP use cases, so when "
+"MPTCP handling for IPv4 addresses on the interface is enabled, "
+"NetworkManager would loosen the strict reverse path filtering (1) to the "
+"loose setting (2)."
 msgstr ""
 
 #: src/libnmc-setting/settings-docs.h.in:18
@@ -6986,13 +6986,11 @@ msgstr ""
 #: src/libnmc-setting/settings-docs.h.in:200
 msgid ""
 "The gateway associated with this configuration. This is only meaningful if "
-"\"addresses\" is also set. Setting the gateway causes NetworkManager to "
-"configure a standard default route with the gateway as next hop. This is "
-"ignored if \"never-default\" is set. An alternative is to configure the "
-"default route explicitly with a manual route and /0 as prefix length. Note "
-"that the gateway usually conflicts with routing that NetworkManager "
-"configures for WireGuard interfaces, so usually it should not be set in that "
-"case. See \"ip4-auto-default-route\"."
+"\"addresses\" is also set. The gateway's main purpose is to control the next "
+"hop of the standard default route on the device. Hence, the gateway property "
+"conflicts with \"never-default\" and will be automatically dropped if the IP "
+"configuration is set to never-default. As an alternative to set the gateway, "
+"configure a static default route with /0 as prefix length."
 msgstr ""
 
 #: src/libnmc-setting/settings-docs.h.in:175
diff --git a/po/ca.po b/po/ca.po
index 389cba24..e9c835e1 100644
--- a/po/ca.po
+++ b/po/ca.po
@@ -14,7 +14,7 @@ msgstr ""
 "Project-Id-Version: NetworkManager\n"
 "Report-Msgid-Bugs-To: https://gitlab.freedesktop.org/NetworkManager/"
 "NetworkManager/issues\n"
-"POT-Creation-Date: 2022-08-26 16:42+0200\n"
+"POT-Creation-Date: 2022-08-11 16:06-0300\n"
 "PO-Revision-Date: 2017-04-21 05:12-0400\n"
 "Last-Translator: Copied by Zanata <copied-by-zanata@zanata.org>\n"
 "Language-Team: Catalan <tradgnome@softcatala.org>\n"
@@ -1242,7 +1242,7 @@ msgstr ""
 #: src/libnm-core-impl/nm-setting-cdma.c:144
 #: src/libnm-core-impl/nm-setting-connection.c:1149
 #: src/libnm-core-impl/nm-setting-connection.c:1187
-#: src/libnm-core-impl/nm-setting-connection.c:1516
+#: src/libnm-core-impl/nm-setting-connection.c:1530
 #: src/libnm-core-impl/nm-setting-ip-config.c:5423
 #: src/libnm-core-impl/nm-setting-ip-tunnel.c:387
 #: src/libnm-core-impl/nm-setting-olpc-mesh.c:99
@@ -1590,7 +1590,7 @@ msgstr ""
 #: src/libnm-core-impl/nm-setting-cdma.c:159
 #: src/libnm-core-impl/nm-setting-connection.c:1159
 #: src/libnm-core-impl/nm-setting-connection.c:1202
-#: src/libnm-core-impl/nm-setting-connection.c:1454
+#: src/libnm-core-impl/nm-setting-connection.c:1468
 #: src/libnm-core-impl/nm-setting-gsm.c:298
 #: src/libnm-core-impl/nm-setting-gsm.c:353
 #: src/libnm-core-impl/nm-setting-gsm.c:396
@@ -1881,7 +1881,7 @@ msgstr "el valor %d mesurat no és vàlid"
 #: src/libnm-core-impl/nm-setting-connection.c:1351
 #: src/libnm-core-impl/nm-setting-connection.c:1365
 #: src/libnm-core-impl/nm-setting-connection.c:1379
-#: src/libnm-core-impl/nm-setting-connection.c:1440
+#: src/libnm-core-impl/nm-setting-connection.c:1454
 #, fuzzy, c-format
 msgid "value %d is not valid"
 msgstr "el valor %d mesurat no és vàlid"
@@ -1890,41 +1890,45 @@ msgstr "el valor %d mesurat no és vàlid"
 msgid "\"disabled\" flag cannot be combined with other MPTCP flags"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1409
+#: src/libnm-core-impl/nm-setting-connection.c:1411
+msgid "\"enabled\" and \"enabled-on-global-iface\" flag cannot be set together"
+msgstr ""
+
+#: src/libnm-core-impl/nm-setting-connection.c:1422
 msgid "cannot set both \"signal\" and \"fullmesh\" MPTCP flags"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1421
+#: src/libnm-core-impl/nm-setting-connection.c:1435
 #, fuzzy, c-format
 #| msgid "'%u' flags are not valid; use combination of %s"
 msgid "value %u is not a valid combination of MPTCP flags"
 msgstr "Les etiquetes «%u» no són vàlides; useu una combinació de %s"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1468
+#: src/libnm-core-impl/nm-setting-connection.c:1482
 msgid "DHCP option cannot be longer than 255 characters"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1479
+#: src/libnm-core-impl/nm-setting-connection.c:1493
 #, fuzzy
 msgid "MUD URL is not a valid URL"
 msgstr "file:// URI no és UTF-8 vàlida"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1499
+#: src/libnm-core-impl/nm-setting-connection.c:1513
 #, fuzzy
 msgid "invalid permissions not in format \"user:$UNAME[:]\""
 msgstr "ruta no vàlida: %s"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1528
+#: src/libnm-core-impl/nm-setting-connection.c:1542
 #, c-format
 msgid "property type should be set to '%s'"
 msgstr "el tipus de propietat s'hauria d'establir a «%s»"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1546
+#: src/libnm-core-impl/nm-setting-connection.c:1560
 #, c-format
 msgid "slave-type '%s' requires a '%s' setting in the connection"
 msgstr "el tipus d'esclava «%s» requereix un paràmetre «%s» a la connexió"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1557
+#: src/libnm-core-impl/nm-setting-connection.c:1571
 #, c-format
 msgid ""
 "Detect a slave connection with '%s' set and a port type '%s'. '%s' should be "
@@ -1933,14 +1937,14 @@ msgstr ""
 "Detecta una connexió esclava amb «%s» establert i un tipus de port «%s». "
 "«%s» hauria d'establir-se a «%s»"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1583
+#: src/libnm-core-impl/nm-setting-connection.c:1597
 #, fuzzy, c-format
 msgid "A slave connection with '%s' set to '%s' cannot have a '%s' setting"
 msgstr ""
 "Detecta una connexió esclava amb «%s» establert i un tipus de port «%s». "
 "«%s» hauria d'establir-se a «%s»"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1600
+#: src/libnm-core-impl/nm-setting-connection.c:1614
 msgid "UUID needs normalization"
 msgstr ""
 
@@ -6191,29 +6195,25 @@ msgid ""
 "fc00::/7) and IPv6 privacy extension addresses (rfc3041, ipv6.ip6-privacy) "
 "will be excluded from being configured as endpoints. If \"disabled\" (0x1), "
 "MPTCP handling for the interface is disabled and no endpoints are "
-"registered. The \"enabled\" (0x2) flag means that MPTCP handling is enabled. "
-"This flag can also be implied from the presence of other flags. Even when "
-"enabled, MPTCP handling will by default still be disabled unless \"/proc/sys/"
-"net/mptcp/enabled\" sysctl is on. NetworkManager does not change the sysctl "
-"and this is up to the administrator or distribution. To configure endpoints "
-"even if the sysctl is disabled, \"also-without-sysctl\" (0x4) flag can be "
-"used. In that case, NetworkManager doesn't look at the sysctl and configures "
-"endpoints regardless. Even when enabled, NetworkManager will only configure "
-"MPTCP endpoints for a certain address family, if there is a unicast default "
-"route (0.0.0.0/0 or ::/0) in the main routing table. The flag \"also-without-"
-"default-route\" (0x8) can override that. When MPTCP handling is enabled then "
-"endpoints are configured with the specified address flags \"signal\" (0x10), "
-"\"subflow\" (0x20), \"backup\" (0x40), \"fullmesh\" (0x80). See ip-mptcp(8) "
-"manual for additional information about the flags. If the flags are zero "
-"(0x0), the global connection default from NetworkManager.conf is honored. If "
-"still unspecified, the fallback is \"enabled,subflow\". Note that this means "
-"that MPTCP is by default done depending on the \"/proc/sys/net/mptcp/"
-"enabled\" sysctl. NetworkManager does not change the MPTCP limits nor enable "
-"MPTCP via \"/proc/sys/net/mptcp/enabled\". That is a host configuration "
-"which the admin can change via sysctl and ip-mptcp. Strict reverse path "
-"filtering (rp_filter) breaks many MPTCP use cases, so when MPTCP handling "
-"for IPv4 addresses on the interface is enabled, NetworkManager would loosen "
-"the strict reverse path filtering (1) to the loose setting (2)."
+"registered. The flag \"enabled-on-global-iface\" (0x2) means that MPTCP "
+"handling is enabled if the interface configures a default route in the main "
+"routing table. This choice is per-address family, for example if there is an "
+"IPv4 default route 0.0.0.0/0, IPv4 endpoints are configured. The "
+"\"enabled\" (0x4) flag means that MPTCP handling is explicitly enabled. This "
+"flag can also be implied from the presence of other flags. If MPTCP handling "
+"is enabled, then endpoints will be configured with the specified address "
+"flags \"signal\" (0x10), \"subflow\" (0x20), \"backup\" (0x40), "
+"\"fullmesh\" (0x80). See ip-mptcp(8) manual for additional information about "
+"the flags. If the flags are zero, the global connection default from "
+"NetworkManager.conf is honored. If still unspecified, the fallback is either "
+"\"disabled\" or \"enabled-on-global-iface,subflow\" depending on \"/proc/sys/"
+"net/mptcp/enabled\". NetworkManager does not change the MPTCP limits nor "
+"enable MPTCP via \"/proc/sys/net/mptcp/enabled\". That is a host "
+"configuration which the admin can change via sysctl and ip-mptcp. Strict "
+"reverse path filtering (rp_filter) breaks many MPTCP use cases, so when "
+"MPTCP handling for IPv4 addresses on the interface is enabled, "
+"NetworkManager would loosen the strict reverse path filtering (1) to the "
+"loose setting (2)."
 msgstr ""
 
 #: src/libnmc-setting/settings-docs.h.in:18
@@ -7447,13 +7447,11 @@ msgstr ""
 #: src/libnmc-setting/settings-docs.h.in:200
 msgid ""
 "The gateway associated with this configuration. This is only meaningful if "
-"\"addresses\" is also set. Setting the gateway causes NetworkManager to "
-"configure a standard default route with the gateway as next hop. This is "
-"ignored if \"never-default\" is set. An alternative is to configure the "
-"default route explicitly with a manual route and /0 as prefix length. Note "
-"that the gateway usually conflicts with routing that NetworkManager "
-"configures for WireGuard interfaces, so usually it should not be set in that "
-"case. See \"ip4-auto-default-route\"."
+"\"addresses\" is also set. The gateway's main purpose is to control the next "
+"hop of the standard default route on the device. Hence, the gateway property "
+"conflicts with \"never-default\" and will be automatically dropped if the IP "
+"configuration is set to never-default. As an alternative to set the gateway, "
+"configure a static default route with /0 as prefix length."
 msgstr ""
 
 #: src/libnmc-setting/settings-docs.h.in:175
diff --git a/po/cs.po b/po/cs.po
index 6542fb29..2c5834d4 100644
--- a/po/cs.po
+++ b/po/cs.po
@@ -17,7 +17,7 @@ msgstr ""
 "Project-Id-Version: NetworkManager\n"
 "Report-Msgid-Bugs-To: https://gitlab.freedesktop.org/NetworkManager/"
 "NetworkManager/issues\n"
-"POT-Creation-Date: 2022-08-26 16:42+0200\n"
+"POT-Creation-Date: 2022-08-11 16:06-0300\n"
 "PO-Revision-Date: 2018-09-30 14:02+0200\n"
 "Last-Translator: Daniel Rusek <mail@asciiwolf.com>\n"
 "Language-Team: Czech <gnome-cs-list@gnome.org>\n"
@@ -1200,7 +1200,7 @@ msgstr ""
 #: src/libnm-core-impl/nm-setting-cdma.c:144
 #: src/libnm-core-impl/nm-setting-connection.c:1149
 #: src/libnm-core-impl/nm-setting-connection.c:1187
-#: src/libnm-core-impl/nm-setting-connection.c:1516
+#: src/libnm-core-impl/nm-setting-connection.c:1530
 #: src/libnm-core-impl/nm-setting-ip-config.c:5423
 #: src/libnm-core-impl/nm-setting-ip-tunnel.c:387
 #: src/libnm-core-impl/nm-setting-olpc-mesh.c:99
@@ -1545,7 +1545,7 @@ msgstr ""
 #: src/libnm-core-impl/nm-setting-cdma.c:159
 #: src/libnm-core-impl/nm-setting-connection.c:1159
 #: src/libnm-core-impl/nm-setting-connection.c:1202
-#: src/libnm-core-impl/nm-setting-connection.c:1454
+#: src/libnm-core-impl/nm-setting-connection.c:1468
 #: src/libnm-core-impl/nm-setting-gsm.c:298
 #: src/libnm-core-impl/nm-setting-gsm.c:353
 #: src/libnm-core-impl/nm-setting-gsm.c:396
@@ -1832,7 +1832,7 @@ msgstr "Chyba: hodnota Äasového limitu „%s“ není platná."
 #: src/libnm-core-impl/nm-setting-connection.c:1351
 #: src/libnm-core-impl/nm-setting-connection.c:1365
 #: src/libnm-core-impl/nm-setting-connection.c:1379
-#: src/libnm-core-impl/nm-setting-connection.c:1440
+#: src/libnm-core-impl/nm-setting-connection.c:1454
 #, fuzzy, c-format
 msgid "value %d is not valid"
 msgstr "Chyba: hodnota Äasového limitu „%s“ není platná."
@@ -1841,52 +1841,56 @@ msgstr "Chyba: hodnota Äasového limitu „%s“ není platná."
 msgid "\"disabled\" flag cannot be combined with other MPTCP flags"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1409
+#: src/libnm-core-impl/nm-setting-connection.c:1411
+msgid "\"enabled\" and \"enabled-on-global-iface\" flag cannot be set together"
+msgstr ""
+
+#: src/libnm-core-impl/nm-setting-connection.c:1422
 msgid "cannot set both \"signal\" and \"fullmesh\" MPTCP flags"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1421
+#: src/libnm-core-impl/nm-setting-connection.c:1435
 #, fuzzy, c-format
 msgid "value %u is not a valid combination of MPTCP flags"
 msgstr "Chyba: hodnota Äasového limitu „%s“ není platná."
 
-#: src/libnm-core-impl/nm-setting-connection.c:1468
+#: src/libnm-core-impl/nm-setting-connection.c:1482
 msgid "DHCP option cannot be longer than 255 characters"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1479
+#: src/libnm-core-impl/nm-setting-connection.c:1493
 #, fuzzy
 msgid "MUD URL is not a valid URL"
 msgstr "Chyba: příkaz „%s“ není pro „nm“ platný."
 
-#: src/libnm-core-impl/nm-setting-connection.c:1499
+#: src/libnm-core-impl/nm-setting-connection.c:1513
 #, fuzzy
 msgid "invalid permissions not in format \"user:$UNAME[:]\""
 msgstr "neplatné pole „%s“"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1528
+#: src/libnm-core-impl/nm-setting-connection.c:1542
 #, c-format
 msgid "property type should be set to '%s'"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1546
+#: src/libnm-core-impl/nm-setting-connection.c:1560
 #, c-format
 msgid "slave-type '%s' requires a '%s' setting in the connection"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1557
+#: src/libnm-core-impl/nm-setting-connection.c:1571
 #, c-format
 msgid ""
 "Detect a slave connection with '%s' set and a port type '%s'. '%s' should be "
 "set to '%s'"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1583
+#: src/libnm-core-impl/nm-setting-connection.c:1597
 #, c-format
 msgid "A slave connection with '%s' set to '%s' cannot have a '%s' setting"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1600
+#: src/libnm-core-impl/nm-setting-connection.c:1614
 msgid "UUID needs normalization"
 msgstr ""
 
@@ -5893,29 +5897,25 @@ msgid ""
 "fc00::/7) and IPv6 privacy extension addresses (rfc3041, ipv6.ip6-privacy) "
 "will be excluded from being configured as endpoints. If \"disabled\" (0x1), "
 "MPTCP handling for the interface is disabled and no endpoints are "
-"registered. The \"enabled\" (0x2) flag means that MPTCP handling is enabled. "
-"This flag can also be implied from the presence of other flags. Even when "
-"enabled, MPTCP handling will by default still be disabled unless \"/proc/sys/"
-"net/mptcp/enabled\" sysctl is on. NetworkManager does not change the sysctl "
-"and this is up to the administrator or distribution. To configure endpoints "
-"even if the sysctl is disabled, \"also-without-sysctl\" (0x4) flag can be "
-"used. In that case, NetworkManager doesn't look at the sysctl and configures "
-"endpoints regardless. Even when enabled, NetworkManager will only configure "
-"MPTCP endpoints for a certain address family, if there is a unicast default "
-"route (0.0.0.0/0 or ::/0) in the main routing table. The flag \"also-without-"
-"default-route\" (0x8) can override that. When MPTCP handling is enabled then "
-"endpoints are configured with the specified address flags \"signal\" (0x10), "
-"\"subflow\" (0x20), \"backup\" (0x40), \"fullmesh\" (0x80). See ip-mptcp(8) "
-"manual for additional information about the flags. If the flags are zero "
-"(0x0), the global connection default from NetworkManager.conf is honored. If "
-"still unspecified, the fallback is \"enabled,subflow\". Note that this means "
-"that MPTCP is by default done depending on the \"/proc/sys/net/mptcp/"
-"enabled\" sysctl. NetworkManager does not change the MPTCP limits nor enable "
-"MPTCP via \"/proc/sys/net/mptcp/enabled\". That is a host configuration "
-"which the admin can change via sysctl and ip-mptcp. Strict reverse path "
-"filtering (rp_filter) breaks many MPTCP use cases, so when MPTCP handling "
-"for IPv4 addresses on the interface is enabled, NetworkManager would loosen "
-"the strict reverse path filtering (1) to the loose setting (2)."
+"registered. The flag \"enabled-on-global-iface\" (0x2) means that MPTCP "
+"handling is enabled if the interface configures a default route in the main "
+"routing table. This choice is per-address family, for example if there is an "
+"IPv4 default route 0.0.0.0/0, IPv4 endpoints are configured. The "
+"\"enabled\" (0x4) flag means that MPTCP handling is explicitly enabled. This "
+"flag can also be implied from the presence of other flags. If MPTCP handling "
+"is enabled, then endpoints will be configured with the specified address "
+"flags \"signal\" (0x10), \"subflow\" (0x20), \"backup\" (0x40), "
+"\"fullmesh\" (0x80). See ip-mptcp(8) manual for additional information about "
+"the flags. If the flags are zero, the global connection default from "
+"NetworkManager.conf is honored. If still unspecified, the fallback is either "
+"\"disabled\" or \"enabled-on-global-iface,subflow\" depending on \"/proc/sys/"
+"net/mptcp/enabled\". NetworkManager does not change the MPTCP limits nor "
+"enable MPTCP via \"/proc/sys/net/mptcp/enabled\". That is a host "
+"configuration which the admin can change via sysctl and ip-mptcp. Strict "
+"reverse path filtering (rp_filter) breaks many MPTCP use cases, so when "
+"MPTCP handling for IPv4 addresses on the interface is enabled, "
+"NetworkManager would loosen the strict reverse path filtering (1) to the "
+"loose setting (2)."
 msgstr ""
 
 #: src/libnmc-setting/settings-docs.h.in:18
@@ -7149,13 +7149,11 @@ msgstr ""
 #: src/libnmc-setting/settings-docs.h.in:200
 msgid ""
 "The gateway associated with this configuration. This is only meaningful if "
-"\"addresses\" is also set. Setting the gateway causes NetworkManager to "
-"configure a standard default route with the gateway as next hop. This is "
-"ignored if \"never-default\" is set. An alternative is to configure the "
-"default route explicitly with a manual route and /0 as prefix length. Note "
-"that the gateway usually conflicts with routing that NetworkManager "
-"configures for WireGuard interfaces, so usually it should not be set in that "
-"case. See \"ip4-auto-default-route\"."
+"\"addresses\" is also set. The gateway's main purpose is to control the next "
+"hop of the standard default route on the device. Hence, the gateway property "
+"conflicts with \"never-default\" and will be automatically dropped if the IP "
+"configuration is set to never-default. As an alternative to set the gateway, "
+"configure a static default route with /0 as prefix length."
 msgstr ""
 
 #: src/libnmc-setting/settings-docs.h.in:175
diff --git a/po/da.po b/po/da.po
index 5053e486..9cb8c4a0 100644
--- a/po/da.po
+++ b/po/da.po
@@ -13,7 +13,7 @@ msgstr ""
 "Project-Id-Version: NetworkManager\n"
 "Report-Msgid-Bugs-To: https://gitlab.freedesktop.org/NetworkManager/"
 "NetworkManager/issues\n"
-"POT-Creation-Date: 2022-08-26 16:42+0200\n"
+"POT-Creation-Date: 2022-08-11 16:06-0300\n"
 "PO-Revision-Date: 2020-12-30 00:00+0200\n"
 "Last-Translator: scootergrisen\n"
 "Language-Team: Danish\n"
@@ -1212,7 +1212,7 @@ msgstr ""
 #: src/libnm-core-impl/nm-setting-cdma.c:144
 #: src/libnm-core-impl/nm-setting-connection.c:1149
 #: src/libnm-core-impl/nm-setting-connection.c:1187
-#: src/libnm-core-impl/nm-setting-connection.c:1516
+#: src/libnm-core-impl/nm-setting-connection.c:1530
 #: src/libnm-core-impl/nm-setting-ip-config.c:5423
 #: src/libnm-core-impl/nm-setting-ip-tunnel.c:387
 #: src/libnm-core-impl/nm-setting-olpc-mesh.c:99
@@ -1558,7 +1558,7 @@ msgstr ""
 #: src/libnm-core-impl/nm-setting-cdma.c:159
 #: src/libnm-core-impl/nm-setting-connection.c:1159
 #: src/libnm-core-impl/nm-setting-connection.c:1202
-#: src/libnm-core-impl/nm-setting-connection.c:1454
+#: src/libnm-core-impl/nm-setting-connection.c:1468
 #: src/libnm-core-impl/nm-setting-gsm.c:298
 #: src/libnm-core-impl/nm-setting-gsm.c:353
 #: src/libnm-core-impl/nm-setting-gsm.c:396
@@ -1845,7 +1845,7 @@ msgstr "Fejl: Værdi for tidsudløb “%s†er ikke korrekt."
 #: src/libnm-core-impl/nm-setting-connection.c:1351
 #: src/libnm-core-impl/nm-setting-connection.c:1365
 #: src/libnm-core-impl/nm-setting-connection.c:1379
-#: src/libnm-core-impl/nm-setting-connection.c:1440
+#: src/libnm-core-impl/nm-setting-connection.c:1454
 #, fuzzy, c-format
 msgid "value %d is not valid"
 msgstr "Fejl: Værdi for tidsudløb “%s†er ikke korrekt."
@@ -1854,52 +1854,56 @@ msgstr "Fejl: Værdi for tidsudløb “%s†er ikke korrekt."
 msgid "\"disabled\" flag cannot be combined with other MPTCP flags"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1409
+#: src/libnm-core-impl/nm-setting-connection.c:1411
+msgid "\"enabled\" and \"enabled-on-global-iface\" flag cannot be set together"
+msgstr ""
+
+#: src/libnm-core-impl/nm-setting-connection.c:1422
 msgid "cannot set both \"signal\" and \"fullmesh\" MPTCP flags"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1421
+#: src/libnm-core-impl/nm-setting-connection.c:1435
 #, fuzzy, c-format
 msgid "value %u is not a valid combination of MPTCP flags"
 msgstr "Fejl: Værdi for tidsudløb “%s†er ikke korrekt."
 
-#: src/libnm-core-impl/nm-setting-connection.c:1468
+#: src/libnm-core-impl/nm-setting-connection.c:1482
 msgid "DHCP option cannot be longer than 255 characters"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1479
+#: src/libnm-core-impl/nm-setting-connection.c:1493
 #, fuzzy
 msgid "MUD URL is not a valid URL"
 msgstr "Fejl: “nmâ€-kommando “%s†er ikke gyldig."
 
-#: src/libnm-core-impl/nm-setting-connection.c:1499
+#: src/libnm-core-impl/nm-setting-connection.c:1513
 #, fuzzy
 msgid "invalid permissions not in format \"user:$UNAME[:]\""
 msgstr "ugyldigt felt “%sâ€"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1528
+#: src/libnm-core-impl/nm-setting-connection.c:1542
 #, c-format
 msgid "property type should be set to '%s'"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1546
+#: src/libnm-core-impl/nm-setting-connection.c:1560
 #, c-format
 msgid "slave-type '%s' requires a '%s' setting in the connection"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1557
+#: src/libnm-core-impl/nm-setting-connection.c:1571
 #, c-format
 msgid ""
 "Detect a slave connection with '%s' set and a port type '%s'. '%s' should be "
 "set to '%s'"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1583
+#: src/libnm-core-impl/nm-setting-connection.c:1597
 #, c-format
 msgid "A slave connection with '%s' set to '%s' cannot have a '%s' setting"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1600
+#: src/libnm-core-impl/nm-setting-connection.c:1614
 msgid "UUID needs normalization"
 msgstr ""
 
@@ -5878,29 +5882,25 @@ msgid ""
 "fc00::/7) and IPv6 privacy extension addresses (rfc3041, ipv6.ip6-privacy) "
 "will be excluded from being configured as endpoints. If \"disabled\" (0x1), "
 "MPTCP handling for the interface is disabled and no endpoints are "
-"registered. The \"enabled\" (0x2) flag means that MPTCP handling is enabled. "
-"This flag can also be implied from the presence of other flags. Even when "
-"enabled, MPTCP handling will by default still be disabled unless \"/proc/sys/"
-"net/mptcp/enabled\" sysctl is on. NetworkManager does not change the sysctl "
-"and this is up to the administrator or distribution. To configure endpoints "
-"even if the sysctl is disabled, \"also-without-sysctl\" (0x4) flag can be "
-"used. In that case, NetworkManager doesn't look at the sysctl and configures "
-"endpoints regardless. Even when enabled, NetworkManager will only configure "
-"MPTCP endpoints for a certain address family, if there is a unicast default "
-"route (0.0.0.0/0 or ::/0) in the main routing table. The flag \"also-without-"
-"default-route\" (0x8) can override that. When MPTCP handling is enabled then "
-"endpoints are configured with the specified address flags \"signal\" (0x10), "
-"\"subflow\" (0x20), \"backup\" (0x40), \"fullmesh\" (0x80). See ip-mptcp(8) "
-"manual for additional information about the flags. If the flags are zero "
-"(0x0), the global connection default from NetworkManager.conf is honored. If "
-"still unspecified, the fallback is \"enabled,subflow\". Note that this means "
-"that MPTCP is by default done depending on the \"/proc/sys/net/mptcp/"
-"enabled\" sysctl. NetworkManager does not change the MPTCP limits nor enable "
-"MPTCP via \"/proc/sys/net/mptcp/enabled\". That is a host configuration "
-"which the admin can change via sysctl and ip-mptcp. Strict reverse path "
-"filtering (rp_filter) breaks many MPTCP use cases, so when MPTCP handling "
-"for IPv4 addresses on the interface is enabled, NetworkManager would loosen "
-"the strict reverse path filtering (1) to the loose setting (2)."
+"registered. The flag \"enabled-on-global-iface\" (0x2) means that MPTCP "
+"handling is enabled if the interface configures a default route in the main "
+"routing table. This choice is per-address family, for example if there is an "
+"IPv4 default route 0.0.0.0/0, IPv4 endpoints are configured. The "
+"\"enabled\" (0x4) flag means that MPTCP handling is explicitly enabled. This "
+"flag can also be implied from the presence of other flags. If MPTCP handling "
+"is enabled, then endpoints will be configured with the specified address "
+"flags \"signal\" (0x10), \"subflow\" (0x20), \"backup\" (0x40), "
+"\"fullmesh\" (0x80). See ip-mptcp(8) manual for additional information about "
+"the flags. If the flags are zero, the global connection default from "
+"NetworkManager.conf is honored. If still unspecified, the fallback is either "
+"\"disabled\" or \"enabled-on-global-iface,subflow\" depending on \"/proc/sys/"
+"net/mptcp/enabled\". NetworkManager does not change the MPTCP limits nor "
+"enable MPTCP via \"/proc/sys/net/mptcp/enabled\". That is a host "
+"configuration which the admin can change via sysctl and ip-mptcp. Strict "
+"reverse path filtering (rp_filter) breaks many MPTCP use cases, so when "
+"MPTCP handling for IPv4 addresses on the interface is enabled, "
+"NetworkManager would loosen the strict reverse path filtering (1) to the "
+"loose setting (2)."
 msgstr ""
 
 #: src/libnmc-setting/settings-docs.h.in:18
@@ -7134,13 +7134,11 @@ msgstr ""
 #: src/libnmc-setting/settings-docs.h.in:200
 msgid ""
 "The gateway associated with this configuration. This is only meaningful if "
-"\"addresses\" is also set. Setting the gateway causes NetworkManager to "
-"configure a standard default route with the gateway as next hop. This is "
-"ignored if \"never-default\" is set. An alternative is to configure the "
-"default route explicitly with a manual route and /0 as prefix length. Note "
-"that the gateway usually conflicts with routing that NetworkManager "
-"configures for WireGuard interfaces, so usually it should not be set in that "
-"case. See \"ip4-auto-default-route\"."
+"\"addresses\" is also set. The gateway's main purpose is to control the next "
+"hop of the standard default route on the device. Hence, the gateway property "
+"conflicts with \"never-default\" and will be automatically dropped if the IP "
+"configuration is set to never-default. As an alternative to set the gateway, "
+"configure a static default route with /0 as prefix length."
 msgstr ""
 
 #: src/libnmc-setting/settings-docs.h.in:175
diff --git a/po/de.po b/po/de.po
index 202144c2..f4270905 100644
--- a/po/de.po
+++ b/po/de.po
@@ -24,7 +24,7 @@ msgstr ""
 "Project-Id-Version: NetworkManager\n"
 "Report-Msgid-Bugs-To: https://gitlab.freedesktop.org/NetworkManager/"
 "NetworkManager/issues\n"
-"POT-Creation-Date: 2022-08-26 16:42+0200\n"
+"POT-Creation-Date: 2022-08-11 16:06-0300\n"
 "PO-Revision-Date: 2018-07-15 17:31+0200\n"
 "Last-Translator: Mario Blättermann <mario.blaettermann@gmail.com>\n"
 "Language-Team: Deutsch <gnome-de@gnome.org>\n"
@@ -1257,7 +1257,7 @@ msgstr ""
 #: src/libnm-core-impl/nm-setting-cdma.c:144
 #: src/libnm-core-impl/nm-setting-connection.c:1149
 #: src/libnm-core-impl/nm-setting-connection.c:1187
-#: src/libnm-core-impl/nm-setting-connection.c:1516
+#: src/libnm-core-impl/nm-setting-connection.c:1530
 #: src/libnm-core-impl/nm-setting-ip-config.c:5423
 #: src/libnm-core-impl/nm-setting-ip-tunnel.c:387
 #: src/libnm-core-impl/nm-setting-olpc-mesh.c:99
@@ -1603,7 +1603,7 @@ msgstr ""
 #: src/libnm-core-impl/nm-setting-cdma.c:159
 #: src/libnm-core-impl/nm-setting-connection.c:1159
 #: src/libnm-core-impl/nm-setting-connection.c:1202
-#: src/libnm-core-impl/nm-setting-connection.c:1454
+#: src/libnm-core-impl/nm-setting-connection.c:1468
 #: src/libnm-core-impl/nm-setting-gsm.c:298
 #: src/libnm-core-impl/nm-setting-gsm.c:353
 #: src/libnm-core-impl/nm-setting-gsm.c:396
@@ -1895,7 +1895,7 @@ msgstr "Der gemessene Wert %d ist ungültig"
 #: src/libnm-core-impl/nm-setting-connection.c:1351
 #: src/libnm-core-impl/nm-setting-connection.c:1365
 #: src/libnm-core-impl/nm-setting-connection.c:1379
-#: src/libnm-core-impl/nm-setting-connection.c:1440
+#: src/libnm-core-impl/nm-setting-connection.c:1454
 #, fuzzy, c-format
 msgid "value %d is not valid"
 msgstr "Der mdns-Wert %d ist ungültig"
@@ -1904,44 +1904,48 @@ msgstr "Der mdns-Wert %d ist ungültig"
 msgid "\"disabled\" flag cannot be combined with other MPTCP flags"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1409
+#: src/libnm-core-impl/nm-setting-connection.c:1411
+msgid "\"enabled\" and \"enabled-on-global-iface\" flag cannot be set together"
+msgstr ""
+
+#: src/libnm-core-impl/nm-setting-connection.c:1422
 msgid "cannot set both \"signal\" and \"fullmesh\" MPTCP flags"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1421
+#: src/libnm-core-impl/nm-setting-connection.c:1435
 #, fuzzy, c-format
 #| msgid "'%u' flags are not valid; use combination of %s"
 msgid "value %u is not a valid combination of MPTCP flags"
 msgstr "Flags »%u« sind ungültig. Verwenden Sie eine Kombination von %s"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1468
+#: src/libnm-core-impl/nm-setting-connection.c:1482
 #, fuzzy
 msgid "DHCP option cannot be longer than 255 characters"
 msgstr "Schnittstellenname ist länger als 15 Zeichen"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1479
+#: src/libnm-core-impl/nm-setting-connection.c:1493
 #, fuzzy
 msgid "MUD URL is not a valid URL"
 msgstr "Die Adresse ist kein gültiges UTF-8"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1499
+#: src/libnm-core-impl/nm-setting-connection.c:1513
 #, fuzzy
 msgid "invalid permissions not in format \"user:$UNAME[:]\""
 msgstr "ungültiger Runner »%s«"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1528
+#: src/libnm-core-impl/nm-setting-connection.c:1542
 #, c-format
 msgid "property type should be set to '%s'"
 msgstr "Der Eigenschaftentyp sollte auf »%s« eingestellt sein"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1546
+#: src/libnm-core-impl/nm-setting-connection.c:1560
 #, c-format
 msgid "slave-type '%s' requires a '%s' setting in the connection"
 msgstr ""
 "Der Slave-Typ »%s« erfordert das Vorhandensein der Einstellung »%s« in der "
 "Verbindung"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1557
+#: src/libnm-core-impl/nm-setting-connection.c:1571
 #, c-format
 msgid ""
 "Detect a slave connection with '%s' set and a port type '%s'. '%s' should be "
@@ -1950,14 +1954,14 @@ msgstr ""
 "Eine Slave-Verbindung mit gesetztem »%s« und dem Port-Typ »%s« erkennen. "
 "»%s« sollte auf »%s« gesetzt werden."
 
-#: src/libnm-core-impl/nm-setting-connection.c:1583
+#: src/libnm-core-impl/nm-setting-connection.c:1597
 #, c-format
 msgid "A slave connection with '%s' set to '%s' cannot have a '%s' setting"
 msgstr ""
 "Eine Slave-Verbindung mit gesetztem »%s« für »%s« darf nicht die Einstellung "
 "»%s« haben"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1600
+#: src/libnm-core-impl/nm-setting-connection.c:1614
 msgid "UUID needs normalization"
 msgstr ""
 
@@ -6254,29 +6258,25 @@ msgid ""
 "fc00::/7) and IPv6 privacy extension addresses (rfc3041, ipv6.ip6-privacy) "
 "will be excluded from being configured as endpoints. If \"disabled\" (0x1), "
 "MPTCP handling for the interface is disabled and no endpoints are "
-"registered. The \"enabled\" (0x2) flag means that MPTCP handling is enabled. "
-"This flag can also be implied from the presence of other flags. Even when "
-"enabled, MPTCP handling will by default still be disabled unless \"/proc/sys/"
-"net/mptcp/enabled\" sysctl is on. NetworkManager does not change the sysctl "
-"and this is up to the administrator or distribution. To configure endpoints "
-"even if the sysctl is disabled, \"also-without-sysctl\" (0x4) flag can be "
-"used. In that case, NetworkManager doesn't look at the sysctl and configures "
-"endpoints regardless. Even when enabled, NetworkManager will only configure "
-"MPTCP endpoints for a certain address family, if there is a unicast default "
-"route (0.0.0.0/0 or ::/0) in the main routing table. The flag \"also-without-"
-"default-route\" (0x8) can override that. When MPTCP handling is enabled then "
-"endpoints are configured with the specified address flags \"signal\" (0x10), "
-"\"subflow\" (0x20), \"backup\" (0x40), \"fullmesh\" (0x80). See ip-mptcp(8) "
-"manual for additional information about the flags. If the flags are zero "
-"(0x0), the global connection default from NetworkManager.conf is honored. If "
-"still unspecified, the fallback is \"enabled,subflow\". Note that this means "
-"that MPTCP is by default done depending on the \"/proc/sys/net/mptcp/"
-"enabled\" sysctl. NetworkManager does not change the MPTCP limits nor enable "
-"MPTCP via \"/proc/sys/net/mptcp/enabled\". That is a host configuration "
-"which the admin can change via sysctl and ip-mptcp. Strict reverse path "
-"filtering (rp_filter) breaks many MPTCP use cases, so when MPTCP handling "
-"for IPv4 addresses on the interface is enabled, NetworkManager would loosen "
-"the strict reverse path filtering (1) to the loose setting (2)."
+"registered. The flag \"enabled-on-global-iface\" (0x2) means that MPTCP "
+"handling is enabled if the interface configures a default route in the main "
+"routing table. This choice is per-address family, for example if there is an "
+"IPv4 default route 0.0.0.0/0, IPv4 endpoints are configured. The "
+"\"enabled\" (0x4) flag means that MPTCP handling is explicitly enabled. This "
+"flag can also be implied from the presence of other flags. If MPTCP handling "
+"is enabled, then endpoints will be configured with the specified address "
+"flags \"signal\" (0x10), \"subflow\" (0x20), \"backup\" (0x40), "
+"\"fullmesh\" (0x80). See ip-mptcp(8) manual for additional information about "
+"the flags. If the flags are zero, the global connection default from "
+"NetworkManager.conf is honored. If still unspecified, the fallback is either "
+"\"disabled\" or \"enabled-on-global-iface,subflow\" depending on \"/proc/sys/"
+"net/mptcp/enabled\". NetworkManager does not change the MPTCP limits nor "
+"enable MPTCP via \"/proc/sys/net/mptcp/enabled\". That is a host "
+"configuration which the admin can change via sysctl and ip-mptcp. Strict "
+"reverse path filtering (rp_filter) breaks many MPTCP use cases, so when "
+"MPTCP handling for IPv4 addresses on the interface is enabled, "
+"NetworkManager would loosen the strict reverse path filtering (1) to the "
+"loose setting (2)."
 msgstr ""
 
 #: src/libnmc-setting/settings-docs.h.in:18
@@ -8084,13 +8084,11 @@ msgstr ""
 #: src/libnmc-setting/settings-docs.h.in:200
 msgid ""
 "The gateway associated with this configuration. This is only meaningful if "
-"\"addresses\" is also set. Setting the gateway causes NetworkManager to "
-"configure a standard default route with the gateway as next hop. This is "
-"ignored if \"never-default\" is set. An alternative is to configure the "
-"default route explicitly with a manual route and /0 as prefix length. Note "
-"that the gateway usually conflicts with routing that NetworkManager "
-"configures for WireGuard interfaces, so usually it should not be set in that "
-"case. See \"ip4-auto-default-route\"."
+"\"addresses\" is also set. The gateway's main purpose is to control the next "
+"hop of the standard default route on the device. Hence, the gateway property "
+"conflicts with \"never-default\" and will be automatically dropped if the IP "
+"configuration is set to never-default. As an alternative to set the gateway, "
+"configure a static default route with /0 as prefix length."
 msgstr ""
 
 #: src/libnmc-setting/settings-docs.h.in:175
diff --git a/po/dz.po b/po/dz.po
index eb12a219..6cc550b5 100644
--- a/po/dz.po
+++ b/po/dz.po
@@ -8,7 +8,7 @@ msgstr ""
 "Project-Id-Version: NetworkManager\n"
 "Report-Msgid-Bugs-To: https://gitlab.freedesktop.org/NetworkManager/"
 "NetworkManager/issues\n"
-"POT-Creation-Date: 2022-08-26 16:42+0200\n"
+"POT-Creation-Date: 2022-08-11 16:06-0300\n"
 "PO-Revision-Date: 2007-03-20 10:17+0530\n"
 "Last-Translator: sonam pelden <sonaa_peldn@yahoo.com>\n"
 "Language-Team: Dzongkha <pgeyleg@dit.gov.bt>\n"
@@ -1172,7 +1172,7 @@ msgstr ""
 #: src/libnm-core-impl/nm-setting-cdma.c:144
 #: src/libnm-core-impl/nm-setting-connection.c:1149
 #: src/libnm-core-impl/nm-setting-connection.c:1187
-#: src/libnm-core-impl/nm-setting-connection.c:1516
+#: src/libnm-core-impl/nm-setting-connection.c:1530
 #: src/libnm-core-impl/nm-setting-ip-config.c:5423
 #: src/libnm-core-impl/nm-setting-ip-tunnel.c:387
 #: src/libnm-core-impl/nm-setting-olpc-mesh.c:99
@@ -1515,7 +1515,7 @@ msgstr ""
 #: src/libnm-core-impl/nm-setting-cdma.c:159
 #: src/libnm-core-impl/nm-setting-connection.c:1159
 #: src/libnm-core-impl/nm-setting-connection.c:1202
-#: src/libnm-core-impl/nm-setting-connection.c:1454
+#: src/libnm-core-impl/nm-setting-connection.c:1468
 #: src/libnm-core-impl/nm-setting-gsm.c:298
 #: src/libnm-core-impl/nm-setting-gsm.c:353
 #: src/libnm-core-impl/nm-setting-gsm.c:396
@@ -1798,7 +1798,7 @@ msgstr ""
 #: src/libnm-core-impl/nm-setting-connection.c:1351
 #: src/libnm-core-impl/nm-setting-connection.c:1365
 #: src/libnm-core-impl/nm-setting-connection.c:1379
-#: src/libnm-core-impl/nm-setting-connection.c:1440
+#: src/libnm-core-impl/nm-setting-connection.c:1454
 #, c-format
 msgid "value %d is not valid"
 msgstr ""
@@ -1807,52 +1807,56 @@ msgstr ""
 msgid "\"disabled\" flag cannot be combined with other MPTCP flags"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1409
+#: src/libnm-core-impl/nm-setting-connection.c:1411
+msgid "\"enabled\" and \"enabled-on-global-iface\" flag cannot be set together"
+msgstr ""
+
+#: src/libnm-core-impl/nm-setting-connection.c:1422
 msgid "cannot set both \"signal\" and \"fullmesh\" MPTCP flags"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1421
+#: src/libnm-core-impl/nm-setting-connection.c:1435
 #, c-format
 msgid "value %u is not a valid combination of MPTCP flags"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1468
+#: src/libnm-core-impl/nm-setting-connection.c:1482
 msgid "DHCP option cannot be longer than 255 characters"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1479
+#: src/libnm-core-impl/nm-setting-connection.c:1493
 #, fuzzy
 msgid "MUD URL is not a valid URL"
 msgstr "à½à½²à¼‹à½”ི་ཨེན་མà½à½´à½‘་ལམ་འདི་à½à¼‹à½¦à¾à½¼à½„་བརà¾à¾±à½–་མ་ཚུགས་"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1499
+#: src/libnm-core-impl/nm-setting-connection.c:1513
 #, fuzzy
 msgid "invalid permissions not in format \"user:$UNAME[:]\""
 msgstr "à½à½²à¼‹à½”ི་ཨེན་མà½à½´à½‘་ལམ་'%s'སླར་འདྲེན་འབདà½à¼‹à½‘་འཛོལ་བ་"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1528
+#: src/libnm-core-impl/nm-setting-connection.c:1542
 #, c-format
 msgid "property type should be set to '%s'"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1546
+#: src/libnm-core-impl/nm-setting-connection.c:1560
 #, c-format
 msgid "slave-type '%s' requires a '%s' setting in the connection"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1557
+#: src/libnm-core-impl/nm-setting-connection.c:1571
 #, c-format
 msgid ""
 "Detect a slave connection with '%s' set and a port type '%s'. '%s' should be "
 "set to '%s'"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1583
+#: src/libnm-core-impl/nm-setting-connection.c:1597
 #, c-format
 msgid "A slave connection with '%s' set to '%s' cannot have a '%s' setting"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1600
+#: src/libnm-core-impl/nm-setting-connection.c:1614
 msgid "UUID needs normalization"
 msgstr ""
 
@@ -5793,29 +5797,25 @@ msgid ""
 "fc00::/7) and IPv6 privacy extension addresses (rfc3041, ipv6.ip6-privacy) "
 "will be excluded from being configured as endpoints. If \"disabled\" (0x1), "
 "MPTCP handling for the interface is disabled and no endpoints are "
-"registered. The \"enabled\" (0x2) flag means that MPTCP handling is enabled. "
-"This flag can also be implied from the presence of other flags. Even when "
-"enabled, MPTCP handling will by default still be disabled unless \"/proc/sys/"
-"net/mptcp/enabled\" sysctl is on. NetworkManager does not change the sysctl "
-"and this is up to the administrator or distribution. To configure endpoints "
-"even if the sysctl is disabled, \"also-without-sysctl\" (0x4) flag can be "
-"used. In that case, NetworkManager doesn't look at the sysctl and configures "
-"endpoints regardless. Even when enabled, NetworkManager will only configure "
-"MPTCP endpoints for a certain address family, if there is a unicast default "
-"route (0.0.0.0/0 or ::/0) in the main routing table. The flag \"also-without-"
-"default-route\" (0x8) can override that. When MPTCP handling is enabled then "
-"endpoints are configured with the specified address flags \"signal\" (0x10), "
-"\"subflow\" (0x20), \"backup\" (0x40), \"fullmesh\" (0x80). See ip-mptcp(8) "
-"manual for additional information about the flags. If the flags are zero "
-"(0x0), the global connection default from NetworkManager.conf is honored. If "
-"still unspecified, the fallback is \"enabled,subflow\". Note that this means "
-"that MPTCP is by default done depending on the \"/proc/sys/net/mptcp/"
-"enabled\" sysctl. NetworkManager does not change the MPTCP limits nor enable "
-"MPTCP via \"/proc/sys/net/mptcp/enabled\". That is a host configuration "
-"which the admin can change via sysctl and ip-mptcp. Strict reverse path "
-"filtering (rp_filter) breaks many MPTCP use cases, so when MPTCP handling "
-"for IPv4 addresses on the interface is enabled, NetworkManager would loosen "
-"the strict reverse path filtering (1) to the loose setting (2)."
+"registered. The flag \"enabled-on-global-iface\" (0x2) means that MPTCP "
+"handling is enabled if the interface configures a default route in the main "
+"routing table. This choice is per-address family, for example if there is an "
+"IPv4 default route 0.0.0.0/0, IPv4 endpoints are configured. The "
+"\"enabled\" (0x4) flag means that MPTCP handling is explicitly enabled. This "
+"flag can also be implied from the presence of other flags. If MPTCP handling "
+"is enabled, then endpoints will be configured with the specified address "
+"flags \"signal\" (0x10), \"subflow\" (0x20), \"backup\" (0x40), "
+"\"fullmesh\" (0x80). See ip-mptcp(8) manual for additional information about "
+"the flags. If the flags are zero, the global connection default from "
+"NetworkManager.conf is honored. If still unspecified, the fallback is either "
+"\"disabled\" or \"enabled-on-global-iface,subflow\" depending on \"/proc/sys/"
+"net/mptcp/enabled\". NetworkManager does not change the MPTCP limits nor "
+"enable MPTCP via \"/proc/sys/net/mptcp/enabled\". That is a host "
+"configuration which the admin can change via sysctl and ip-mptcp. Strict "
+"reverse path filtering (rp_filter) breaks many MPTCP use cases, so when "
+"MPTCP handling for IPv4 addresses on the interface is enabled, "
+"NetworkManager would loosen the strict reverse path filtering (1) to the "
+"loose setting (2)."
 msgstr ""
 
 #: src/libnmc-setting/settings-docs.h.in:18
@@ -7051,13 +7051,11 @@ msgstr ""
 #: src/libnmc-setting/settings-docs.h.in:200
 msgid ""
 "The gateway associated with this configuration. This is only meaningful if "
-"\"addresses\" is also set. Setting the gateway causes NetworkManager to "
-"configure a standard default route with the gateway as next hop. This is "
-"ignored if \"never-default\" is set. An alternative is to configure the "
-"default route explicitly with a manual route and /0 as prefix length. Note "
-"that the gateway usually conflicts with routing that NetworkManager "
-"configures for WireGuard interfaces, so usually it should not be set in that "
-"case. See \"ip4-auto-default-route\"."
+"\"addresses\" is also set. The gateway's main purpose is to control the next "
+"hop of the standard default route on the device. Hence, the gateway property "
+"conflicts with \"never-default\" and will be automatically dropped if the IP "
+"configuration is set to never-default. As an alternative to set the gateway, "
+"configure a static default route with /0 as prefix length."
 msgstr ""
 
 #: src/libnmc-setting/settings-docs.h.in:175
diff --git a/po/el.po b/po/el.po
index f43e7bca..4702122f 100644
--- a/po/el.po
+++ b/po/el.po
@@ -15,7 +15,7 @@ msgstr ""
 "Project-Id-Version: NetworkManager\n"
 "Report-Msgid-Bugs-To: https://gitlab.freedesktop.org/NetworkManager/"
 "NetworkManager/issues\n"
-"POT-Creation-Date: 2022-08-26 16:42+0200\n"
+"POT-Creation-Date: 2022-08-11 16:06-0300\n"
 "PO-Revision-Date: 2017-05-29 11:19-0400\n"
 "Last-Translator: Copied by Zanata <copied-by-zanata@zanata.org>\n"
 "Language-Team: team@lists.gnome.gr\n"
@@ -1279,7 +1279,7 @@ msgstr ""
 #: src/libnm-core-impl/nm-setting-cdma.c:144
 #: src/libnm-core-impl/nm-setting-connection.c:1149
 #: src/libnm-core-impl/nm-setting-connection.c:1187
-#: src/libnm-core-impl/nm-setting-connection.c:1516
+#: src/libnm-core-impl/nm-setting-connection.c:1530
 #: src/libnm-core-impl/nm-setting-ip-config.c:5423
 #: src/libnm-core-impl/nm-setting-ip-tunnel.c:387
 #: src/libnm-core-impl/nm-setting-olpc-mesh.c:99
@@ -1629,7 +1629,7 @@ msgstr ""
 #: src/libnm-core-impl/nm-setting-cdma.c:159
 #: src/libnm-core-impl/nm-setting-connection.c:1159
 #: src/libnm-core-impl/nm-setting-connection.c:1202
-#: src/libnm-core-impl/nm-setting-connection.c:1454
+#: src/libnm-core-impl/nm-setting-connection.c:1468
 #: src/libnm-core-impl/nm-setting-gsm.c:298
 #: src/libnm-core-impl/nm-setting-gsm.c:353
 #: src/libnm-core-impl/nm-setting-gsm.c:396
@@ -1917,7 +1917,7 @@ msgstr "η τιμή '%s' δεν είναι έγκυÏο UUID"
 #: src/libnm-core-impl/nm-setting-connection.c:1351
 #: src/libnm-core-impl/nm-setting-connection.c:1365
 #: src/libnm-core-impl/nm-setting-connection.c:1379
-#: src/libnm-core-impl/nm-setting-connection.c:1440
+#: src/libnm-core-impl/nm-setting-connection.c:1454
 #, fuzzy, c-format
 msgid "value %d is not valid"
 msgstr "η τιμή '%s' δεν είναι έγκυÏο UUID"
@@ -1926,52 +1926,56 @@ msgstr "η τιμή '%s' δεν είναι έγκυÏο UUID"
 msgid "\"disabled\" flag cannot be combined with other MPTCP flags"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1409
+#: src/libnm-core-impl/nm-setting-connection.c:1411
+msgid "\"enabled\" and \"enabled-on-global-iface\" flag cannot be set together"
+msgstr ""
+
+#: src/libnm-core-impl/nm-setting-connection.c:1422
 msgid "cannot set both \"signal\" and \"fullmesh\" MPTCP flags"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1421
+#: src/libnm-core-impl/nm-setting-connection.c:1435
 #, fuzzy, c-format
 msgid "value %u is not a valid combination of MPTCP flags"
 msgstr "το '%s' δεν είναι έγκυÏο· χÏησιμοποιήστε [%s] ή [%s]"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1468
+#: src/libnm-core-impl/nm-setting-connection.c:1482
 msgid "DHCP option cannot be longer than 255 characters"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1479
+#: src/libnm-core-impl/nm-setting-connection.c:1493
 #, fuzzy
 msgid "MUD URL is not a valid URL"
 msgstr "ο δείκτης '%s' δεν είναι έγκυÏος"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1499
+#: src/libnm-core-impl/nm-setting-connection.c:1513
 #, fuzzy
 msgid "invalid permissions not in format \"user:$UNAME[:]\""
 msgstr "άκυÏη επιλογή '%s'"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1528
+#: src/libnm-core-impl/nm-setting-connection.c:1542
 #, fuzzy, c-format
 msgid "property type should be set to '%s'"
 msgstr "αυτή η ιδιότητα δεν μποÏεί να είναι κενή για '%s=%s'"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1546
+#: src/libnm-core-impl/nm-setting-connection.c:1560
 #, fuzzy, c-format
 msgid "slave-type '%s' requires a '%s' setting in the connection"
 msgstr "απαιτεί την παÏουσία της ÏÏθμισης '%s' στη σÏνδεση"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1557
+#: src/libnm-core-impl/nm-setting-connection.c:1571
 #, c-format
 msgid ""
 "Detect a slave connection with '%s' set and a port type '%s'. '%s' should be "
 "set to '%s'"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1583
+#: src/libnm-core-impl/nm-setting-connection.c:1597
 #, fuzzy, c-format
 msgid "A slave connection with '%s' set to '%s' cannot have a '%s' setting"
 msgstr "απαιτεί '%s' ή ÏÏθμιση '%s'"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1600
+#: src/libnm-core-impl/nm-setting-connection.c:1614
 msgid "UUID needs normalization"
 msgstr ""
 
@@ -6152,29 +6156,25 @@ msgid ""
 "fc00::/7) and IPv6 privacy extension addresses (rfc3041, ipv6.ip6-privacy) "
 "will be excluded from being configured as endpoints. If \"disabled\" (0x1), "
 "MPTCP handling for the interface is disabled and no endpoints are "
-"registered. The \"enabled\" (0x2) flag means that MPTCP handling is enabled. "
-"This flag can also be implied from the presence of other flags. Even when "
-"enabled, MPTCP handling will by default still be disabled unless \"/proc/sys/"
-"net/mptcp/enabled\" sysctl is on. NetworkManager does not change the sysctl "
-"and this is up to the administrator or distribution. To configure endpoints "
-"even if the sysctl is disabled, \"also-without-sysctl\" (0x4) flag can be "
-"used. In that case, NetworkManager doesn't look at the sysctl and configures "
-"endpoints regardless. Even when enabled, NetworkManager will only configure "
-"MPTCP endpoints for a certain address family, if there is a unicast default "
-"route (0.0.0.0/0 or ::/0) in the main routing table. The flag \"also-without-"
-"default-route\" (0x8) can override that. When MPTCP handling is enabled then "
-"endpoints are configured with the specified address flags \"signal\" (0x10), "
-"\"subflow\" (0x20), \"backup\" (0x40), \"fullmesh\" (0x80). See ip-mptcp(8) "
-"manual for additional information about the flags. If the flags are zero "
-"(0x0), the global connection default from NetworkManager.conf is honored. If "
-"still unspecified, the fallback is \"enabled,subflow\". Note that this means "
-"that MPTCP is by default done depending on the \"/proc/sys/net/mptcp/"
-"enabled\" sysctl. NetworkManager does not change the MPTCP limits nor enable "
-"MPTCP via \"/proc/sys/net/mptcp/enabled\". That is a host configuration "
-"which the admin can change via sysctl and ip-mptcp. Strict reverse path "
-"filtering (rp_filter) breaks many MPTCP use cases, so when MPTCP handling "
-"for IPv4 addresses on the interface is enabled, NetworkManager would loosen "
-"the strict reverse path filtering (1) to the loose setting (2)."
+"registered. The flag \"enabled-on-global-iface\" (0x2) means that MPTCP "
+"handling is enabled if the interface configures a default route in the main "
+"routing table. This choice is per-address family, for example if there is an "
+"IPv4 default route 0.0.0.0/0, IPv4 endpoints are configured. The "
+"\"enabled\" (0x4) flag means that MPTCP handling is explicitly enabled. This "
+"flag can also be implied from the presence of other flags. If MPTCP handling "
+"is enabled, then endpoints will be configured with the specified address "
+"flags \"signal\" (0x10), \"subflow\" (0x20), \"backup\" (0x40), "
+"\"fullmesh\" (0x80). See ip-mptcp(8) manual for additional information about "
+"the flags. If the flags are zero, the global connection default from "
+"NetworkManager.conf is honored. If still unspecified, the fallback is either "
+"\"disabled\" or \"enabled-on-global-iface,subflow\" depending on \"/proc/sys/"
+"net/mptcp/enabled\". NetworkManager does not change the MPTCP limits nor "
+"enable MPTCP via \"/proc/sys/net/mptcp/enabled\". That is a host "
+"configuration which the admin can change via sysctl and ip-mptcp. Strict "
+"reverse path filtering (rp_filter) breaks many MPTCP use cases, so when "
+"MPTCP handling for IPv4 addresses on the interface is enabled, "
+"NetworkManager would loosen the strict reverse path filtering (1) to the "
+"loose setting (2)."
 msgstr ""
 
 #: src/libnmc-setting/settings-docs.h.in:18
@@ -7408,13 +7408,11 @@ msgstr ""
 #: src/libnmc-setting/settings-docs.h.in:200
 msgid ""
 "The gateway associated with this configuration. This is only meaningful if "
-"\"addresses\" is also set. Setting the gateway causes NetworkManager to "
-"configure a standard default route with the gateway as next hop. This is "
-"ignored if \"never-default\" is set. An alternative is to configure the "
-"default route explicitly with a manual route and /0 as prefix length. Note "
-"that the gateway usually conflicts with routing that NetworkManager "
-"configures for WireGuard interfaces, so usually it should not be set in that "
-"case. See \"ip4-auto-default-route\"."
+"\"addresses\" is also set. The gateway's main purpose is to control the next "
+"hop of the standard default route on the device. Hence, the gateway property "
+"conflicts with \"never-default\" and will be automatically dropped if the IP "
+"configuration is set to never-default. As an alternative to set the gateway, "
+"configure a static default route with /0 as prefix length."
 msgstr ""
 
 #: src/libnmc-setting/settings-docs.h.in:175
diff --git a/po/en_CA.po b/po/en_CA.po
index f693e3b5..dba24013 100644
--- a/po/en_CA.po
+++ b/po/en_CA.po
@@ -9,7 +9,7 @@ msgstr ""
 "Project-Id-Version: NetworkManager\n"
 "Report-Msgid-Bugs-To: https://gitlab.freedesktop.org/NetworkManager/"
 "NetworkManager/issues\n"
-"POT-Creation-Date: 2022-08-26 16:42+0200\n"
+"POT-Creation-Date: 2022-08-11 16:06-0300\n"
 "PO-Revision-Date: 2005-09-06 14:52-0400\n"
 "Last-Translator: Adam Weinberger <adamw@gnome.org>\n"
 "Language-Team: Canadian English <adamw@gnome.org>\n"
@@ -1198,7 +1198,7 @@ msgstr ""
 #: src/libnm-core-impl/nm-setting-cdma.c:144
 #: src/libnm-core-impl/nm-setting-connection.c:1149
 #: src/libnm-core-impl/nm-setting-connection.c:1187
-#: src/libnm-core-impl/nm-setting-connection.c:1516
+#: src/libnm-core-impl/nm-setting-connection.c:1530
 #: src/libnm-core-impl/nm-setting-ip-config.c:5423
 #: src/libnm-core-impl/nm-setting-ip-tunnel.c:387
 #: src/libnm-core-impl/nm-setting-olpc-mesh.c:99
@@ -1541,7 +1541,7 @@ msgstr ""
 #: src/libnm-core-impl/nm-setting-cdma.c:159
 #: src/libnm-core-impl/nm-setting-connection.c:1159
 #: src/libnm-core-impl/nm-setting-connection.c:1202
-#: src/libnm-core-impl/nm-setting-connection.c:1454
+#: src/libnm-core-impl/nm-setting-connection.c:1468
 #: src/libnm-core-impl/nm-setting-gsm.c:298
 #: src/libnm-core-impl/nm-setting-gsm.c:353
 #: src/libnm-core-impl/nm-setting-gsm.c:396
@@ -1825,7 +1825,7 @@ msgstr ""
 #: src/libnm-core-impl/nm-setting-connection.c:1351
 #: src/libnm-core-impl/nm-setting-connection.c:1365
 #: src/libnm-core-impl/nm-setting-connection.c:1379
-#: src/libnm-core-impl/nm-setting-connection.c:1440
+#: src/libnm-core-impl/nm-setting-connection.c:1454
 #, fuzzy, c-format
 msgid "value %d is not valid"
 msgstr "VPN connection '%s' said:"
@@ -1834,52 +1834,56 @@ msgstr "VPN connection '%s' said:"
 msgid "\"disabled\" flag cannot be combined with other MPTCP flags"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1409
+#: src/libnm-core-impl/nm-setting-connection.c:1411
+msgid "\"enabled\" and \"enabled-on-global-iface\" flag cannot be set together"
+msgstr ""
+
+#: src/libnm-core-impl/nm-setting-connection.c:1422
 msgid "cannot set both \"signal\" and \"fullmesh\" MPTCP flags"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1421
+#: src/libnm-core-impl/nm-setting-connection.c:1435
 #, fuzzy, c-format
 msgid "value %u is not a valid combination of MPTCP flags"
 msgstr "Error displaying connection information:"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1468
+#: src/libnm-core-impl/nm-setting-connection.c:1482
 msgid "DHCP option cannot be longer than 255 characters"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1479
+#: src/libnm-core-impl/nm-setting-connection.c:1493
 #, fuzzy
 msgid "MUD URL is not a valid URL"
 msgstr "IP Address:"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1499
+#: src/libnm-core-impl/nm-setting-connection.c:1513
 #, fuzzy
 msgid "invalid permissions not in format \"user:$UNAME[:]\""
 msgstr "IP Address:"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1528
+#: src/libnm-core-impl/nm-setting-connection.c:1542
 #, c-format
 msgid "property type should be set to '%s'"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1546
+#: src/libnm-core-impl/nm-setting-connection.c:1560
 #, c-format
 msgid "slave-type '%s' requires a '%s' setting in the connection"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1557
+#: src/libnm-core-impl/nm-setting-connection.c:1571
 #, c-format
 msgid ""
 "Detect a slave connection with '%s' set and a port type '%s'. '%s' should be "
 "set to '%s'"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1583
+#: src/libnm-core-impl/nm-setting-connection.c:1597
 #, c-format
 msgid "A slave connection with '%s' set to '%s' cannot have a '%s' setting"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1600
+#: src/libnm-core-impl/nm-setting-connection.c:1614
 msgid "UUID needs normalization"
 msgstr ""
 
@@ -5887,29 +5891,25 @@ msgid ""
 "fc00::/7) and IPv6 privacy extension addresses (rfc3041, ipv6.ip6-privacy) "
 "will be excluded from being configured as endpoints. If \"disabled\" (0x1), "
 "MPTCP handling for the interface is disabled and no endpoints are "
-"registered. The \"enabled\" (0x2) flag means that MPTCP handling is enabled. "
-"This flag can also be implied from the presence of other flags. Even when "
-"enabled, MPTCP handling will by default still be disabled unless \"/proc/sys/"
-"net/mptcp/enabled\" sysctl is on. NetworkManager does not change the sysctl "
-"and this is up to the administrator or distribution. To configure endpoints "
-"even if the sysctl is disabled, \"also-without-sysctl\" (0x4) flag can be "
-"used. In that case, NetworkManager doesn't look at the sysctl and configures "
-"endpoints regardless. Even when enabled, NetworkManager will only configure "
-"MPTCP endpoints for a certain address family, if there is a unicast default "
-"route (0.0.0.0/0 or ::/0) in the main routing table. The flag \"also-without-"
-"default-route\" (0x8) can override that. When MPTCP handling is enabled then "
-"endpoints are configured with the specified address flags \"signal\" (0x10), "
-"\"subflow\" (0x20), \"backup\" (0x40), \"fullmesh\" (0x80). See ip-mptcp(8) "
-"manual for additional information about the flags. If the flags are zero "
-"(0x0), the global connection default from NetworkManager.conf is honored. If "
-"still unspecified, the fallback is \"enabled,subflow\". Note that this means "
-"that MPTCP is by default done depending on the \"/proc/sys/net/mptcp/"
-"enabled\" sysctl. NetworkManager does not change the MPTCP limits nor enable "
-"MPTCP via \"/proc/sys/net/mptcp/enabled\". That is a host configuration "
-"which the admin can change via sysctl and ip-mptcp. Strict reverse path "
-"filtering (rp_filter) breaks many MPTCP use cases, so when MPTCP handling "
-"for IPv4 addresses on the interface is enabled, NetworkManager would loosen "
-"the strict reverse path filtering (1) to the loose setting (2)."
+"registered. The flag \"enabled-on-global-iface\" (0x2) means that MPTCP "
+"handling is enabled if the interface configures a default route in the main "
+"routing table. This choice is per-address family, for example if there is an "
+"IPv4 default route 0.0.0.0/0, IPv4 endpoints are configured. The "
+"\"enabled\" (0x4) flag means that MPTCP handling is explicitly enabled. This "
+"flag can also be implied from the presence of other flags. If MPTCP handling "
+"is enabled, then endpoints will be configured with the specified address "
+"flags \"signal\" (0x10), \"subflow\" (0x20), \"backup\" (0x40), "
+"\"fullmesh\" (0x80). See ip-mptcp(8) manual for additional information about "
+"the flags. If the flags are zero, the global connection default from "
+"NetworkManager.conf is honored. If still unspecified, the fallback is either "
+"\"disabled\" or \"enabled-on-global-iface,subflow\" depending on \"/proc/sys/"
+"net/mptcp/enabled\". NetworkManager does not change the MPTCP limits nor "
+"enable MPTCP via \"/proc/sys/net/mptcp/enabled\". That is a host "
+"configuration which the admin can change via sysctl and ip-mptcp. Strict "
+"reverse path filtering (rp_filter) breaks many MPTCP use cases, so when "
+"MPTCP handling for IPv4 addresses on the interface is enabled, "
+"NetworkManager would loosen the strict reverse path filtering (1) to the "
+"loose setting (2)."
 msgstr ""
 
 #: src/libnmc-setting/settings-docs.h.in:18
@@ -7146,13 +7146,11 @@ msgstr ""
 #: src/libnmc-setting/settings-docs.h.in:200
 msgid ""
 "The gateway associated with this configuration. This is only meaningful if "
-"\"addresses\" is also set. Setting the gateway causes NetworkManager to "
-"configure a standard default route with the gateway as next hop. This is "
-"ignored if \"never-default\" is set. An alternative is to configure the "
-"default route explicitly with a manual route and /0 as prefix length. Note "
-"that the gateway usually conflicts with routing that NetworkManager "
-"configures for WireGuard interfaces, so usually it should not be set in that "
-"case. See \"ip4-auto-default-route\"."
+"\"addresses\" is also set. The gateway's main purpose is to control the next "
+"hop of the standard default route on the device. Hence, the gateway property "
+"conflicts with \"never-default\" and will be automatically dropped if the IP "
+"configuration is set to never-default. As an alternative to set the gateway, "
+"configure a static default route with /0 as prefix length."
 msgstr ""
 
 #: src/libnmc-setting/settings-docs.h.in:175
diff --git a/po/en_GB.po b/po/en_GB.po
index a12c6545..6a17cba6 100644
--- a/po/en_GB.po
+++ b/po/en_GB.po
@@ -12,7 +12,7 @@ msgstr ""
 "Project-Id-Version: NetworkManager\n"
 "Report-Msgid-Bugs-To: https://gitlab.freedesktop.org/NetworkManager/"
 "NetworkManager/issues\n"
-"POT-Creation-Date: 2022-08-26 16:42+0200\n"
+"POT-Creation-Date: 2022-08-11 16:06-0300\n"
 "PO-Revision-Date: 2017-04-21 05:17-0400\n"
 "Last-Translator: Copied by Zanata <copied-by-zanata@zanata.org>\n"
 "Language-Team: Sugar Labs\n"
@@ -1230,7 +1230,7 @@ msgstr ""
 #: src/libnm-core-impl/nm-setting-cdma.c:144
 #: src/libnm-core-impl/nm-setting-connection.c:1149
 #: src/libnm-core-impl/nm-setting-connection.c:1187
-#: src/libnm-core-impl/nm-setting-connection.c:1516
+#: src/libnm-core-impl/nm-setting-connection.c:1530
 #: src/libnm-core-impl/nm-setting-ip-config.c:5423
 #: src/libnm-core-impl/nm-setting-ip-tunnel.c:387
 #: src/libnm-core-impl/nm-setting-olpc-mesh.c:99
@@ -1577,7 +1577,7 @@ msgstr ""
 #: src/libnm-core-impl/nm-setting-cdma.c:159
 #: src/libnm-core-impl/nm-setting-connection.c:1159
 #: src/libnm-core-impl/nm-setting-connection.c:1202
-#: src/libnm-core-impl/nm-setting-connection.c:1454
+#: src/libnm-core-impl/nm-setting-connection.c:1468
 #: src/libnm-core-impl/nm-setting-gsm.c:298
 #: src/libnm-core-impl/nm-setting-gsm.c:353
 #: src/libnm-core-impl/nm-setting-gsm.c:396
@@ -1864,7 +1864,7 @@ msgstr "Error: timeout value '%s' is not valid."
 #: src/libnm-core-impl/nm-setting-connection.c:1351
 #: src/libnm-core-impl/nm-setting-connection.c:1365
 #: src/libnm-core-impl/nm-setting-connection.c:1379
-#: src/libnm-core-impl/nm-setting-connection.c:1440
+#: src/libnm-core-impl/nm-setting-connection.c:1454
 #, fuzzy, c-format
 msgid "value %d is not valid"
 msgstr "Error: timeout value '%s' is not valid."
@@ -1873,52 +1873,56 @@ msgstr "Error: timeout value '%s' is not valid."
 msgid "\"disabled\" flag cannot be combined with other MPTCP flags"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1409
+#: src/libnm-core-impl/nm-setting-connection.c:1411
+msgid "\"enabled\" and \"enabled-on-global-iface\" flag cannot be set together"
+msgstr ""
+
+#: src/libnm-core-impl/nm-setting-connection.c:1422
 msgid "cannot set both \"signal\" and \"fullmesh\" MPTCP flags"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1421
+#: src/libnm-core-impl/nm-setting-connection.c:1435
 #, fuzzy, c-format
 msgid "value %u is not a valid combination of MPTCP flags"
 msgstr "Error: timeout value '%s' is not valid."
 
-#: src/libnm-core-impl/nm-setting-connection.c:1468
+#: src/libnm-core-impl/nm-setting-connection.c:1482
 msgid "DHCP option cannot be longer than 255 characters"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1479
+#: src/libnm-core-impl/nm-setting-connection.c:1493
 #, fuzzy
 msgid "MUD URL is not a valid URL"
 msgstr "Error: 'nm' command '%s' is not valid."
 
-#: src/libnm-core-impl/nm-setting-connection.c:1499
+#: src/libnm-core-impl/nm-setting-connection.c:1513
 #, fuzzy
 msgid "invalid permissions not in format \"user:$UNAME[:]\""
 msgstr "invalid field '%s'"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1528
+#: src/libnm-core-impl/nm-setting-connection.c:1542
 #, c-format
 msgid "property type should be set to '%s'"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1546
+#: src/libnm-core-impl/nm-setting-connection.c:1560
 #, c-format
 msgid "slave-type '%s' requires a '%s' setting in the connection"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1557
+#: src/libnm-core-impl/nm-setting-connection.c:1571
 #, c-format
 msgid ""
 "Detect a slave connection with '%s' set and a port type '%s'. '%s' should be "
 "set to '%s'"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1583
+#: src/libnm-core-impl/nm-setting-connection.c:1597
 #, c-format
 msgid "A slave connection with '%s' set to '%s' cannot have a '%s' setting"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1600
+#: src/libnm-core-impl/nm-setting-connection.c:1614
 msgid "UUID needs normalization"
 msgstr ""
 
@@ -5928,29 +5932,25 @@ msgid ""
 "fc00::/7) and IPv6 privacy extension addresses (rfc3041, ipv6.ip6-privacy) "
 "will be excluded from being configured as endpoints. If \"disabled\" (0x1), "
 "MPTCP handling for the interface is disabled and no endpoints are "
-"registered. The \"enabled\" (0x2) flag means that MPTCP handling is enabled. "
-"This flag can also be implied from the presence of other flags. Even when "
-"enabled, MPTCP handling will by default still be disabled unless \"/proc/sys/"
-"net/mptcp/enabled\" sysctl is on. NetworkManager does not change the sysctl "
-"and this is up to the administrator or distribution. To configure endpoints "
-"even if the sysctl is disabled, \"also-without-sysctl\" (0x4) flag can be "
-"used. In that case, NetworkManager doesn't look at the sysctl and configures "
-"endpoints regardless. Even when enabled, NetworkManager will only configure "
-"MPTCP endpoints for a certain address family, if there is a unicast default "
-"route (0.0.0.0/0 or ::/0) in the main routing table. The flag \"also-without-"
-"default-route\" (0x8) can override that. When MPTCP handling is enabled then "
-"endpoints are configured with the specified address flags \"signal\" (0x10), "
-"\"subflow\" (0x20), \"backup\" (0x40), \"fullmesh\" (0x80). See ip-mptcp(8) "
-"manual for additional information about the flags. If the flags are zero "
-"(0x0), the global connection default from NetworkManager.conf is honored. If "
-"still unspecified, the fallback is \"enabled,subflow\". Note that this means "
-"that MPTCP is by default done depending on the \"/proc/sys/net/mptcp/"
-"enabled\" sysctl. NetworkManager does not change the MPTCP limits nor enable "
-"MPTCP via \"/proc/sys/net/mptcp/enabled\". That is a host configuration "
-"which the admin can change via sysctl and ip-mptcp. Strict reverse path "
-"filtering (rp_filter) breaks many MPTCP use cases, so when MPTCP handling "
-"for IPv4 addresses on the interface is enabled, NetworkManager would loosen "
-"the strict reverse path filtering (1) to the loose setting (2)."
+"registered. The flag \"enabled-on-global-iface\" (0x2) means that MPTCP "
+"handling is enabled if the interface configures a default route in the main "
+"routing table. This choice is per-address family, for example if there is an "
+"IPv4 default route 0.0.0.0/0, IPv4 endpoints are configured. The "
+"\"enabled\" (0x4) flag means that MPTCP handling is explicitly enabled. This "
+"flag can also be implied from the presence of other flags. If MPTCP handling "
+"is enabled, then endpoints will be configured with the specified address "
+"flags \"signal\" (0x10), \"subflow\" (0x20), \"backup\" (0x40), "
+"\"fullmesh\" (0x80). See ip-mptcp(8) manual for additional information about "
+"the flags. If the flags are zero, the global connection default from "
+"NetworkManager.conf is honored. If still unspecified, the fallback is either "
+"\"disabled\" or \"enabled-on-global-iface,subflow\" depending on \"/proc/sys/"
+"net/mptcp/enabled\". NetworkManager does not change the MPTCP limits nor "
+"enable MPTCP via \"/proc/sys/net/mptcp/enabled\". That is a host "
+"configuration which the admin can change via sysctl and ip-mptcp. Strict "
+"reverse path filtering (rp_filter) breaks many MPTCP use cases, so when "
+"MPTCP handling for IPv4 addresses on the interface is enabled, "
+"NetworkManager would loosen the strict reverse path filtering (1) to the "
+"loose setting (2)."
 msgstr ""
 
 #: src/libnmc-setting/settings-docs.h.in:18
@@ -7184,13 +7184,11 @@ msgstr ""
 #: src/libnmc-setting/settings-docs.h.in:200
 msgid ""
 "The gateway associated with this configuration. This is only meaningful if "
-"\"addresses\" is also set. Setting the gateway causes NetworkManager to "
-"configure a standard default route with the gateway as next hop. This is "
-"ignored if \"never-default\" is set. An alternative is to configure the "
-"default route explicitly with a manual route and /0 as prefix length. Note "
-"that the gateway usually conflicts with routing that NetworkManager "
-"configures for WireGuard interfaces, so usually it should not be set in that "
-"case. See \"ip4-auto-default-route\"."
+"\"addresses\" is also set. The gateway's main purpose is to control the next "
+"hop of the standard default route on the device. Hence, the gateway property "
+"conflicts with \"never-default\" and will be automatically dropped if the IP "
+"configuration is set to never-default. As an alternative to set the gateway, "
+"configure a static default route with /0 as prefix length."
 msgstr ""
 
 #: src/libnmc-setting/settings-docs.h.in:175
diff --git a/po/eo.po b/po/eo.po
index 0db41ea4..6fd82e19 100644
--- a/po/eo.po
+++ b/po/eo.po
@@ -14,7 +14,7 @@ msgstr ""
 "Project-Id-Version: NetworkManager\n"
 "Report-Msgid-Bugs-To: https://gitlab.freedesktop.org/NetworkManager/"
 "NetworkManager/issues\n"
-"POT-Creation-Date: 2022-08-26 16:42+0200\n"
+"POT-Creation-Date: 2022-08-11 16:06-0300\n"
 "PO-Revision-Date: 2020-01-12 14:16+0100\n"
 "Last-Translator: Carmen Bianca BAKKER <carmen@carmenbianca.eu>\n"
 "Language-Team: Esperanto <gnome-eo-list@gnome.org>\n"
@@ -1187,7 +1187,7 @@ msgstr ""
 #: src/libnm-core-impl/nm-setting-cdma.c:144
 #: src/libnm-core-impl/nm-setting-connection.c:1149
 #: src/libnm-core-impl/nm-setting-connection.c:1187
-#: src/libnm-core-impl/nm-setting-connection.c:1516
+#: src/libnm-core-impl/nm-setting-connection.c:1530
 #: src/libnm-core-impl/nm-setting-ip-config.c:5423
 #: src/libnm-core-impl/nm-setting-ip-tunnel.c:387
 #: src/libnm-core-impl/nm-setting-olpc-mesh.c:99
@@ -1531,7 +1531,7 @@ msgstr ""
 #: src/libnm-core-impl/nm-setting-cdma.c:159
 #: src/libnm-core-impl/nm-setting-connection.c:1159
 #: src/libnm-core-impl/nm-setting-connection.c:1202
-#: src/libnm-core-impl/nm-setting-connection.c:1454
+#: src/libnm-core-impl/nm-setting-connection.c:1468
 #: src/libnm-core-impl/nm-setting-gsm.c:298
 #: src/libnm-core-impl/nm-setting-gsm.c:353
 #: src/libnm-core-impl/nm-setting-gsm.c:396
@@ -1818,7 +1818,7 @@ msgstr "Eraro: eltempiÄa valoro '%s' ne validas"
 #: src/libnm-core-impl/nm-setting-connection.c:1351
 #: src/libnm-core-impl/nm-setting-connection.c:1365
 #: src/libnm-core-impl/nm-setting-connection.c:1379
-#: src/libnm-core-impl/nm-setting-connection.c:1440
+#: src/libnm-core-impl/nm-setting-connection.c:1454
 #, c-format
 msgid "value %d is not valid"
 msgstr "valoro %d ne validas"
@@ -1827,52 +1827,56 @@ msgstr "valoro %d ne validas"
 msgid "\"disabled\" flag cannot be combined with other MPTCP flags"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1409
+#: src/libnm-core-impl/nm-setting-connection.c:1411
+msgid "\"enabled\" and \"enabled-on-global-iface\" flag cannot be set together"
+msgstr ""
+
+#: src/libnm-core-impl/nm-setting-connection.c:1422
 msgid "cannot set both \"signal\" and \"fullmesh\" MPTCP flags"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1421
+#: src/libnm-core-impl/nm-setting-connection.c:1435
 #, fuzzy, c-format
 msgid "value %u is not a valid combination of MPTCP flags"
 msgstr "Eraro: eltempiÄa valoro '%s' ne validas"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1468
+#: src/libnm-core-impl/nm-setting-connection.c:1482
 msgid "DHCP option cannot be longer than 255 characters"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1479
+#: src/libnm-core-impl/nm-setting-connection.c:1493
 #, fuzzy
 msgid "MUD URL is not a valid URL"
 msgstr "Eraro: 'nm'-komando '%s' ne validas"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1499
+#: src/libnm-core-impl/nm-setting-connection.c:1513
 #, fuzzy
 msgid "invalid permissions not in format \"user:$UNAME[:]\""
 msgstr "nevalida kampo \"%s\""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1528
+#: src/libnm-core-impl/nm-setting-connection.c:1542
 #, c-format
 msgid "property type should be set to '%s'"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1546
+#: src/libnm-core-impl/nm-setting-connection.c:1560
 #, c-format
 msgid "slave-type '%s' requires a '%s' setting in the connection"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1557
+#: src/libnm-core-impl/nm-setting-connection.c:1571
 #, c-format
 msgid ""
 "Detect a slave connection with '%s' set and a port type '%s'. '%s' should be "
 "set to '%s'"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1583
+#: src/libnm-core-impl/nm-setting-connection.c:1597
 #, c-format
 msgid "A slave connection with '%s' set to '%s' cannot have a '%s' setting"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1600
+#: src/libnm-core-impl/nm-setting-connection.c:1614
 msgid "UUID needs normalization"
 msgstr ""
 
@@ -5818,29 +5822,25 @@ msgid ""
 "fc00::/7) and IPv6 privacy extension addresses (rfc3041, ipv6.ip6-privacy) "
 "will be excluded from being configured as endpoints. If \"disabled\" (0x1), "
 "MPTCP handling for the interface is disabled and no endpoints are "
-"registered. The \"enabled\" (0x2) flag means that MPTCP handling is enabled. "
-"This flag can also be implied from the presence of other flags. Even when "
-"enabled, MPTCP handling will by default still be disabled unless \"/proc/sys/"
-"net/mptcp/enabled\" sysctl is on. NetworkManager does not change the sysctl "
-"and this is up to the administrator or distribution. To configure endpoints "
-"even if the sysctl is disabled, \"also-without-sysctl\" (0x4) flag can be "
-"used. In that case, NetworkManager doesn't look at the sysctl and configures "
-"endpoints regardless. Even when enabled, NetworkManager will only configure "
-"MPTCP endpoints for a certain address family, if there is a unicast default "
-"route (0.0.0.0/0 or ::/0) in the main routing table. The flag \"also-without-"
-"default-route\" (0x8) can override that. When MPTCP handling is enabled then "
-"endpoints are configured with the specified address flags \"signal\" (0x10), "
-"\"subflow\" (0x20), \"backup\" (0x40), \"fullmesh\" (0x80). See ip-mptcp(8) "
-"manual for additional information about the flags. If the flags are zero "
-"(0x0), the global connection default from NetworkManager.conf is honored. If "
-"still unspecified, the fallback is \"enabled,subflow\". Note that this means "
-"that MPTCP is by default done depending on the \"/proc/sys/net/mptcp/"
-"enabled\" sysctl. NetworkManager does not change the MPTCP limits nor enable "
-"MPTCP via \"/proc/sys/net/mptcp/enabled\". That is a host configuration "
-"which the admin can change via sysctl and ip-mptcp. Strict reverse path "
-"filtering (rp_filter) breaks many MPTCP use cases, so when MPTCP handling "
-"for IPv4 addresses on the interface is enabled, NetworkManager would loosen "
-"the strict reverse path filtering (1) to the loose setting (2)."
+"registered. The flag \"enabled-on-global-iface\" (0x2) means that MPTCP "
+"handling is enabled if the interface configures a default route in the main "
+"routing table. This choice is per-address family, for example if there is an "
+"IPv4 default route 0.0.0.0/0, IPv4 endpoints are configured. The "
+"\"enabled\" (0x4) flag means that MPTCP handling is explicitly enabled. This "
+"flag can also be implied from the presence of other flags. If MPTCP handling "
+"is enabled, then endpoints will be configured with the specified address "
+"flags \"signal\" (0x10), \"subflow\" (0x20), \"backup\" (0x40), "
+"\"fullmesh\" (0x80). See ip-mptcp(8) manual for additional information about "
+"the flags. If the flags are zero, the global connection default from "
+"NetworkManager.conf is honored. If still unspecified, the fallback is either "
+"\"disabled\" or \"enabled-on-global-iface,subflow\" depending on \"/proc/sys/"
+"net/mptcp/enabled\". NetworkManager does not change the MPTCP limits nor "
+"enable MPTCP via \"/proc/sys/net/mptcp/enabled\". That is a host "
+"configuration which the admin can change via sysctl and ip-mptcp. Strict "
+"reverse path filtering (rp_filter) breaks many MPTCP use cases, so when "
+"MPTCP handling for IPv4 addresses on the interface is enabled, "
+"NetworkManager would loosen the strict reverse path filtering (1) to the "
+"loose setting (2)."
 msgstr ""
 
 #: src/libnmc-setting/settings-docs.h.in:18
@@ -7074,13 +7074,11 @@ msgstr ""
 #: src/libnmc-setting/settings-docs.h.in:200
 msgid ""
 "The gateway associated with this configuration. This is only meaningful if "
-"\"addresses\" is also set. Setting the gateway causes NetworkManager to "
-"configure a standard default route with the gateway as next hop. This is "
-"ignored if \"never-default\" is set. An alternative is to configure the "
-"default route explicitly with a manual route and /0 as prefix length. Note "
-"that the gateway usually conflicts with routing that NetworkManager "
-"configures for WireGuard interfaces, so usually it should not be set in that "
-"case. See \"ip4-auto-default-route\"."
+"\"addresses\" is also set. The gateway's main purpose is to control the next "
+"hop of the standard default route on the device. Hence, the gateway property "
+"conflicts with \"never-default\" and will be automatically dropped if the IP "
+"configuration is set to never-default. As an alternative to set the gateway, "
+"configure a static default route with /0 as prefix length."
 msgstr ""
 
 #: src/libnmc-setting/settings-docs.h.in:175
diff --git a/po/es.po b/po/es.po
index 60b5b7bf..5875c044 100644
--- a/po/es.po
+++ b/po/es.po
@@ -24,7 +24,7 @@ msgstr ""
 "Project-Id-Version: NetworkManager\n"
 "Report-Msgid-Bugs-To: https://gitlab.freedesktop.org/NetworkManager/"
 "NetworkManager/issues\n"
-"POT-Creation-Date: 2022-08-26 16:42+0200\n"
+"POT-Creation-Date: 2022-08-11 16:06-0300\n"
 "PO-Revision-Date: 2019-05-03 09:09+0200\n"
 "Last-Translator: Daniel Mustieles <daniel.mustieles@gmail.com>\n"
 "Language-Team: es <gnome-es-list@gnome.org>\n"
@@ -1238,7 +1238,7 @@ msgstr ""
 #: src/libnm-core-impl/nm-setting-cdma.c:144
 #: src/libnm-core-impl/nm-setting-connection.c:1149
 #: src/libnm-core-impl/nm-setting-connection.c:1187
-#: src/libnm-core-impl/nm-setting-connection.c:1516
+#: src/libnm-core-impl/nm-setting-connection.c:1530
 #: src/libnm-core-impl/nm-setting-ip-config.c:5423
 #: src/libnm-core-impl/nm-setting-ip-tunnel.c:387
 #: src/libnm-core-impl/nm-setting-olpc-mesh.c:99
@@ -1583,7 +1583,7 @@ msgstr ""
 #: src/libnm-core-impl/nm-setting-cdma.c:159
 #: src/libnm-core-impl/nm-setting-connection.c:1159
 #: src/libnm-core-impl/nm-setting-connection.c:1202
-#: src/libnm-core-impl/nm-setting-connection.c:1454
+#: src/libnm-core-impl/nm-setting-connection.c:1468
 #: src/libnm-core-impl/nm-setting-gsm.c:298
 #: src/libnm-core-impl/nm-setting-gsm.c:353
 #: src/libnm-core-impl/nm-setting-gsm.c:396
@@ -1875,7 +1875,7 @@ msgstr "El valor medido %d no es válido"
 #: src/libnm-core-impl/nm-setting-connection.c:1351
 #: src/libnm-core-impl/nm-setting-connection.c:1365
 #: src/libnm-core-impl/nm-setting-connection.c:1379
-#: src/libnm-core-impl/nm-setting-connection.c:1440
+#: src/libnm-core-impl/nm-setting-connection.c:1454
 #, c-format
 msgid "value %d is not valid"
 msgstr "el valor %d no es válido"
@@ -1884,42 +1884,46 @@ msgstr "el valor %d no es válido"
 msgid "\"disabled\" flag cannot be combined with other MPTCP flags"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1409
+#: src/libnm-core-impl/nm-setting-connection.c:1411
+msgid "\"enabled\" and \"enabled-on-global-iface\" flag cannot be set together"
+msgstr ""
+
+#: src/libnm-core-impl/nm-setting-connection.c:1422
 msgid "cannot set both \"signal\" and \"fullmesh\" MPTCP flags"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1421
+#: src/libnm-core-impl/nm-setting-connection.c:1435
 #, fuzzy, c-format
 #| msgid "'%u' flags are not valid; use combination of %s"
 msgid "value %u is not a valid combination of MPTCP flags"
 msgstr "Los indicadores «%u» no son válidos; use una combinación de %s"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1468
+#: src/libnm-core-impl/nm-setting-connection.c:1482
 #, fuzzy
 msgid "DHCP option cannot be longer than 255 characters"
 msgstr "el nombre de interfaz es mayor que 15 caracteres"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1479
+#: src/libnm-core-impl/nm-setting-connection.c:1493
 #, fuzzy
 msgid "MUD URL is not a valid URL"
 msgstr "El URI no es un UTF-8 válido"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1499
+#: src/libnm-core-impl/nm-setting-connection.c:1513
 #, fuzzy
 msgid "invalid permissions not in format \"user:$UNAME[:]\""
 msgstr "permiso no válido «%s»"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1528
+#: src/libnm-core-impl/nm-setting-connection.c:1542
 #, c-format
 msgid "property type should be set to '%s'"
 msgstr "El tipo de propiedad debe establecerse a «%s»"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1546
+#: src/libnm-core-impl/nm-setting-connection.c:1560
 #, c-format
 msgid "slave-type '%s' requires a '%s' setting in the connection"
 msgstr "El tipo de esclavo «%s» requiere un parámetro «%s» en la conexión"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1557
+#: src/libnm-core-impl/nm-setting-connection.c:1571
 #, c-format
 msgid ""
 "Detect a slave connection with '%s' set and a port type '%s'. '%s' should be "
@@ -1928,14 +1932,14 @@ msgstr ""
 "Detecta una conexión esclava con «%s» establecido y un tipo de puerto «%s». "
 "«%s» se debe establecer a «%s»"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1583
+#: src/libnm-core-impl/nm-setting-connection.c:1597
 #, c-format
 msgid "A slave connection with '%s' set to '%s' cannot have a '%s' setting"
 msgstr ""
 "Una conexión esclava con «%s» establecido a «%s» no puede tener un parámetro "
 "«%s»"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1600
+#: src/libnm-core-impl/nm-setting-connection.c:1614
 msgid "UUID needs normalization"
 msgstr ""
 
@@ -6223,29 +6227,25 @@ msgid ""
 "fc00::/7) and IPv6 privacy extension addresses (rfc3041, ipv6.ip6-privacy) "
 "will be excluded from being configured as endpoints. If \"disabled\" (0x1), "
 "MPTCP handling for the interface is disabled and no endpoints are "
-"registered. The \"enabled\" (0x2) flag means that MPTCP handling is enabled. "
-"This flag can also be implied from the presence of other flags. Even when "
-"enabled, MPTCP handling will by default still be disabled unless \"/proc/sys/"
-"net/mptcp/enabled\" sysctl is on. NetworkManager does not change the sysctl "
-"and this is up to the administrator or distribution. To configure endpoints "
-"even if the sysctl is disabled, \"also-without-sysctl\" (0x4) flag can be "
-"used. In that case, NetworkManager doesn't look at the sysctl and configures "
-"endpoints regardless. Even when enabled, NetworkManager will only configure "
-"MPTCP endpoints for a certain address family, if there is a unicast default "
-"route (0.0.0.0/0 or ::/0) in the main routing table. The flag \"also-without-"
-"default-route\" (0x8) can override that. When MPTCP handling is enabled then "
-"endpoints are configured with the specified address flags \"signal\" (0x10), "
-"\"subflow\" (0x20), \"backup\" (0x40), \"fullmesh\" (0x80). See ip-mptcp(8) "
-"manual for additional information about the flags. If the flags are zero "
-"(0x0), the global connection default from NetworkManager.conf is honored. If "
-"still unspecified, the fallback is \"enabled,subflow\". Note that this means "
-"that MPTCP is by default done depending on the \"/proc/sys/net/mptcp/"
-"enabled\" sysctl. NetworkManager does not change the MPTCP limits nor enable "
-"MPTCP via \"/proc/sys/net/mptcp/enabled\". That is a host configuration "
-"which the admin can change via sysctl and ip-mptcp. Strict reverse path "
-"filtering (rp_filter) breaks many MPTCP use cases, so when MPTCP handling "
-"for IPv4 addresses on the interface is enabled, NetworkManager would loosen "
-"the strict reverse path filtering (1) to the loose setting (2)."
+"registered. The flag \"enabled-on-global-iface\" (0x2) means that MPTCP "
+"handling is enabled if the interface configures a default route in the main "
+"routing table. This choice is per-address family, for example if there is an "
+"IPv4 default route 0.0.0.0/0, IPv4 endpoints are configured. The "
+"\"enabled\" (0x4) flag means that MPTCP handling is explicitly enabled. This "
+"flag can also be implied from the presence of other flags. If MPTCP handling "
+"is enabled, then endpoints will be configured with the specified address "
+"flags \"signal\" (0x10), \"subflow\" (0x20), \"backup\" (0x40), "
+"\"fullmesh\" (0x80). See ip-mptcp(8) manual for additional information about "
+"the flags. If the flags are zero, the global connection default from "
+"NetworkManager.conf is honored. If still unspecified, the fallback is either "
+"\"disabled\" or \"enabled-on-global-iface,subflow\" depending on \"/proc/sys/"
+"net/mptcp/enabled\". NetworkManager does not change the MPTCP limits nor "
+"enable MPTCP via \"/proc/sys/net/mptcp/enabled\". That is a host "
+"configuration which the admin can change via sysctl and ip-mptcp. Strict "
+"reverse path filtering (rp_filter) breaks many MPTCP use cases, so when "
+"MPTCP handling for IPv4 addresses on the interface is enabled, "
+"NetworkManager would loosen the strict reverse path filtering (1) to the "
+"loose setting (2)."
 msgstr ""
 
 #: src/libnmc-setting/settings-docs.h.in:18
@@ -8012,13 +8012,11 @@ msgstr ""
 #: src/libnmc-setting/settings-docs.h.in:200
 msgid ""
 "The gateway associated with this configuration. This is only meaningful if "
-"\"addresses\" is also set. Setting the gateway causes NetworkManager to "
-"configure a standard default route with the gateway as next hop. This is "
-"ignored if \"never-default\" is set. An alternative is to configure the "
-"default route explicitly with a manual route and /0 as prefix length. Note "
-"that the gateway usually conflicts with routing that NetworkManager "
-"configures for WireGuard interfaces, so usually it should not be set in that "
-"case. See \"ip4-auto-default-route\"."
+"\"addresses\" is also set. The gateway's main purpose is to control the next "
+"hop of the standard default route on the device. Hence, the gateway property "
+"conflicts with \"never-default\" and will be automatically dropped if the IP "
+"configuration is set to never-default. As an alternative to set the gateway, "
+"configure a static default route with /0 as prefix length."
 msgstr ""
 
 #: src/libnmc-setting/settings-docs.h.in:175
diff --git a/po/et.po b/po/et.po
index c17ce568..d583336a 100644
--- a/po/et.po
+++ b/po/et.po
@@ -15,7 +15,7 @@ msgstr ""
 "Project-Id-Version: NetworkManager\n"
 "Report-Msgid-Bugs-To: https://gitlab.freedesktop.org/NetworkManager/"
 "NetworkManager/issues\n"
-"POT-Creation-Date: 2022-08-26 16:42+0200\n"
+"POT-Creation-Date: 2022-08-11 16:06-0300\n"
 "PO-Revision-Date: 2017-04-21 06:05-0400\n"
 "Last-Translator: Copied by Zanata <copied-by-zanata@zanata.org>\n"
 "Language-Team: Estonian <gnome-et@linux.ee>\n"
@@ -1155,7 +1155,7 @@ msgstr ""
 #: src/libnm-core-impl/nm-setting-cdma.c:144
 #: src/libnm-core-impl/nm-setting-connection.c:1149
 #: src/libnm-core-impl/nm-setting-connection.c:1187
-#: src/libnm-core-impl/nm-setting-connection.c:1516
+#: src/libnm-core-impl/nm-setting-connection.c:1530
 #: src/libnm-core-impl/nm-setting-ip-config.c:5423
 #: src/libnm-core-impl/nm-setting-ip-tunnel.c:387
 #: src/libnm-core-impl/nm-setting-olpc-mesh.c:99
@@ -1497,7 +1497,7 @@ msgstr ""
 #: src/libnm-core-impl/nm-setting-cdma.c:159
 #: src/libnm-core-impl/nm-setting-connection.c:1159
 #: src/libnm-core-impl/nm-setting-connection.c:1202
-#: src/libnm-core-impl/nm-setting-connection.c:1454
+#: src/libnm-core-impl/nm-setting-connection.c:1468
 #: src/libnm-core-impl/nm-setting-gsm.c:298
 #: src/libnm-core-impl/nm-setting-gsm.c:353
 #: src/libnm-core-impl/nm-setting-gsm.c:396
@@ -1779,7 +1779,7 @@ msgstr ""
 #: src/libnm-core-impl/nm-setting-connection.c:1351
 #: src/libnm-core-impl/nm-setting-connection.c:1365
 #: src/libnm-core-impl/nm-setting-connection.c:1379
-#: src/libnm-core-impl/nm-setting-connection.c:1440
+#: src/libnm-core-impl/nm-setting-connection.c:1454
 #, c-format
 msgid "value %d is not valid"
 msgstr ""
@@ -1788,52 +1788,56 @@ msgstr ""
 msgid "\"disabled\" flag cannot be combined with other MPTCP flags"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1409
+#: src/libnm-core-impl/nm-setting-connection.c:1411
+msgid "\"enabled\" and \"enabled-on-global-iface\" flag cannot be set together"
+msgstr ""
+
+#: src/libnm-core-impl/nm-setting-connection.c:1422
 msgid "cannot set both \"signal\" and \"fullmesh\" MPTCP flags"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1421
+#: src/libnm-core-impl/nm-setting-connection.c:1435
 #, c-format
 msgid "value %u is not a valid combination of MPTCP flags"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1468
+#: src/libnm-core-impl/nm-setting-connection.c:1482
 msgid "DHCP option cannot be longer than 255 characters"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1479
+#: src/libnm-core-impl/nm-setting-connection.c:1493
 #, fuzzy
 msgid "MUD URL is not a valid URL"
 msgstr "Privaatvõtit ei saa dešifreerida."
 
-#: src/libnm-core-impl/nm-setting-connection.c:1499
+#: src/libnm-core-impl/nm-setting-connection.c:1513
 #, fuzzy
 msgid "invalid permissions not in format \"user:$UNAME[:]\""
 msgstr "Sertifikaadi andmete lähtestamine nurjus: %s"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1528
+#: src/libnm-core-impl/nm-setting-connection.c:1542
 #, c-format
 msgid "property type should be set to '%s'"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1546
+#: src/libnm-core-impl/nm-setting-connection.c:1560
 #, c-format
 msgid "slave-type '%s' requires a '%s' setting in the connection"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1557
+#: src/libnm-core-impl/nm-setting-connection.c:1571
 #, c-format
 msgid ""
 "Detect a slave connection with '%s' set and a port type '%s'. '%s' should be "
 "set to '%s'"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1583
+#: src/libnm-core-impl/nm-setting-connection.c:1597
 #, c-format
 msgid "A slave connection with '%s' set to '%s' cannot have a '%s' setting"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1600
+#: src/libnm-core-impl/nm-setting-connection.c:1614
 msgid "UUID needs normalization"
 msgstr ""
 
@@ -5728,29 +5732,25 @@ msgid ""
 "fc00::/7) and IPv6 privacy extension addresses (rfc3041, ipv6.ip6-privacy) "
 "will be excluded from being configured as endpoints. If \"disabled\" (0x1), "
 "MPTCP handling for the interface is disabled and no endpoints are "
-"registered. The \"enabled\" (0x2) flag means that MPTCP handling is enabled. "
-"This flag can also be implied from the presence of other flags. Even when "
-"enabled, MPTCP handling will by default still be disabled unless \"/proc/sys/"
-"net/mptcp/enabled\" sysctl is on. NetworkManager does not change the sysctl "
-"and this is up to the administrator or distribution. To configure endpoints "
-"even if the sysctl is disabled, \"also-without-sysctl\" (0x4) flag can be "
-"used. In that case, NetworkManager doesn't look at the sysctl and configures "
-"endpoints regardless. Even when enabled, NetworkManager will only configure "
-"MPTCP endpoints for a certain address family, if there is a unicast default "
-"route (0.0.0.0/0 or ::/0) in the main routing table. The flag \"also-without-"
-"default-route\" (0x8) can override that. When MPTCP handling is enabled then "
-"endpoints are configured with the specified address flags \"signal\" (0x10), "
-"\"subflow\" (0x20), \"backup\" (0x40), \"fullmesh\" (0x80). See ip-mptcp(8) "
-"manual for additional information about the flags. If the flags are zero "
-"(0x0), the global connection default from NetworkManager.conf is honored. If "
-"still unspecified, the fallback is \"enabled,subflow\". Note that this means "
-"that MPTCP is by default done depending on the \"/proc/sys/net/mptcp/"
-"enabled\" sysctl. NetworkManager does not change the MPTCP limits nor enable "
-"MPTCP via \"/proc/sys/net/mptcp/enabled\". That is a host configuration "
-"which the admin can change via sysctl and ip-mptcp. Strict reverse path "
-"filtering (rp_filter) breaks many MPTCP use cases, so when MPTCP handling "
-"for IPv4 addresses on the interface is enabled, NetworkManager would loosen "
-"the strict reverse path filtering (1) to the loose setting (2)."
+"registered. The flag \"enabled-on-global-iface\" (0x2) means that MPTCP "
+"handling is enabled if the interface configures a default route in the main "
+"routing table. This choice is per-address family, for example if there is an "
+"IPv4 default route 0.0.0.0/0, IPv4 endpoints are configured. The "
+"\"enabled\" (0x4) flag means that MPTCP handling is explicitly enabled. This "
+"flag can also be implied from the presence of other flags. If MPTCP handling "
+"is enabled, then endpoints will be configured with the specified address "
+"flags \"signal\" (0x10), \"subflow\" (0x20), \"backup\" (0x40), "
+"\"fullmesh\" (0x80). See ip-mptcp(8) manual for additional information about "
+"the flags. If the flags are zero, the global connection default from "
+"NetworkManager.conf is honored. If still unspecified, the fallback is either "
+"\"disabled\" or \"enabled-on-global-iface,subflow\" depending on \"/proc/sys/"
+"net/mptcp/enabled\". NetworkManager does not change the MPTCP limits nor "
+"enable MPTCP via \"/proc/sys/net/mptcp/enabled\". That is a host "
+"configuration which the admin can change via sysctl and ip-mptcp. Strict "
+"reverse path filtering (rp_filter) breaks many MPTCP use cases, so when "
+"MPTCP handling for IPv4 addresses on the interface is enabled, "
+"NetworkManager would loosen the strict reverse path filtering (1) to the "
+"loose setting (2)."
 msgstr ""
 
 #: src/libnmc-setting/settings-docs.h.in:18
@@ -6984,13 +6984,11 @@ msgstr ""
 #: src/libnmc-setting/settings-docs.h.in:200
 msgid ""
 "The gateway associated with this configuration. This is only meaningful if "
-"\"addresses\" is also set. Setting the gateway causes NetworkManager to "
-"configure a standard default route with the gateway as next hop. This is "
-"ignored if \"never-default\" is set. An alternative is to configure the "
-"default route explicitly with a manual route and /0 as prefix length. Note "
-"that the gateway usually conflicts with routing that NetworkManager "
-"configures for WireGuard interfaces, so usually it should not be set in that "
-"case. See \"ip4-auto-default-route\"."
+"\"addresses\" is also set. The gateway's main purpose is to control the next "
+"hop of the standard default route on the device. Hence, the gateway property "
+"conflicts with \"never-default\" and will be automatically dropped if the IP "
+"configuration is set to never-default. As an alternative to set the gateway, "
+"configure a static default route with /0 as prefix length."
 msgstr ""
 
 #: src/libnmc-setting/settings-docs.h.in:175
diff --git a/po/eu.po b/po/eu.po
index ddf61216..7045bd6b 100644
--- a/po/eu.po
+++ b/po/eu.po
@@ -10,7 +10,7 @@ msgstr ""
 "Project-Id-Version: NetworkManager\n"
 "Report-Msgid-Bugs-To: https://gitlab.freedesktop.org/NetworkManager/"
 "NetworkManager/issues\n"
-"POT-Creation-Date: 2022-08-26 16:42+0200\n"
+"POT-Creation-Date: 2022-08-11 16:06-0300\n"
 "PO-Revision-Date: 2017-04-21 06:06-0400\n"
 "Last-Translator: Copied by Zanata <copied-by-zanata@zanata.org>\n"
 "Language-Team: Basque <itzulpena@euskalgnu.org>\n"
@@ -1208,7 +1208,7 @@ msgstr ""
 #: src/libnm-core-impl/nm-setting-cdma.c:144
 #: src/libnm-core-impl/nm-setting-connection.c:1149
 #: src/libnm-core-impl/nm-setting-connection.c:1187
-#: src/libnm-core-impl/nm-setting-connection.c:1516
+#: src/libnm-core-impl/nm-setting-connection.c:1530
 #: src/libnm-core-impl/nm-setting-ip-config.c:5423
 #: src/libnm-core-impl/nm-setting-ip-tunnel.c:387
 #: src/libnm-core-impl/nm-setting-olpc-mesh.c:99
@@ -1552,7 +1552,7 @@ msgstr ""
 #: src/libnm-core-impl/nm-setting-cdma.c:159
 #: src/libnm-core-impl/nm-setting-connection.c:1159
 #: src/libnm-core-impl/nm-setting-connection.c:1202
-#: src/libnm-core-impl/nm-setting-connection.c:1454
+#: src/libnm-core-impl/nm-setting-connection.c:1468
 #: src/libnm-core-impl/nm-setting-gsm.c:298
 #: src/libnm-core-impl/nm-setting-gsm.c:353
 #: src/libnm-core-impl/nm-setting-gsm.c:396
@@ -1837,7 +1837,7 @@ msgstr "Errorea: denbora-mugaren '%s' balioa ez da baliozkoa."
 #: src/libnm-core-impl/nm-setting-connection.c:1351
 #: src/libnm-core-impl/nm-setting-connection.c:1365
 #: src/libnm-core-impl/nm-setting-connection.c:1379
-#: src/libnm-core-impl/nm-setting-connection.c:1440
+#: src/libnm-core-impl/nm-setting-connection.c:1454
 #, fuzzy, c-format
 msgid "value %d is not valid"
 msgstr "Errorea: denbora-mugaren '%s' balioa ez da baliozkoa."
@@ -1846,52 +1846,56 @@ msgstr "Errorea: denbora-mugaren '%s' balioa ez da baliozkoa."
 msgid "\"disabled\" flag cannot be combined with other MPTCP flags"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1409
+#: src/libnm-core-impl/nm-setting-connection.c:1411
+msgid "\"enabled\" and \"enabled-on-global-iface\" flag cannot be set together"
+msgstr ""
+
+#: src/libnm-core-impl/nm-setting-connection.c:1422
 msgid "cannot set both \"signal\" and \"fullmesh\" MPTCP flags"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1421
+#: src/libnm-core-impl/nm-setting-connection.c:1435
 #, fuzzy, c-format
 msgid "value %u is not a valid combination of MPTCP flags"
 msgstr "Errorea: denbora-mugaren '%s' balioa ez da baliozkoa."
 
-#: src/libnm-core-impl/nm-setting-connection.c:1468
+#: src/libnm-core-impl/nm-setting-connection.c:1482
 msgid "DHCP option cannot be longer than 255 characters"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1479
+#: src/libnm-core-impl/nm-setting-connection.c:1493
 #, fuzzy
 msgid "MUD URL is not a valid URL"
 msgstr "Errorea: 'nm' komandoko '%s' ez da baliozkoa."
 
-#: src/libnm-core-impl/nm-setting-connection.c:1499
+#: src/libnm-core-impl/nm-setting-connection.c:1513
 #, fuzzy
 msgid "invalid permissions not in format \"user:$UNAME[:]\""
 msgstr "VPNren ezkutukoak baliogabeak"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1528
+#: src/libnm-core-impl/nm-setting-connection.c:1542
 #, c-format
 msgid "property type should be set to '%s'"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1546
+#: src/libnm-core-impl/nm-setting-connection.c:1560
 #, c-format
 msgid "slave-type '%s' requires a '%s' setting in the connection"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1557
+#: src/libnm-core-impl/nm-setting-connection.c:1571
 #, c-format
 msgid ""
 "Detect a slave connection with '%s' set and a port type '%s'. '%s' should be "
 "set to '%s'"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1583
+#: src/libnm-core-impl/nm-setting-connection.c:1597
 #, c-format
 msgid "A slave connection with '%s' set to '%s' cannot have a '%s' setting"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1600
+#: src/libnm-core-impl/nm-setting-connection.c:1614
 msgid "UUID needs normalization"
 msgstr ""
 
@@ -5890,29 +5894,25 @@ msgid ""
 "fc00::/7) and IPv6 privacy extension addresses (rfc3041, ipv6.ip6-privacy) "
 "will be excluded from being configured as endpoints. If \"disabled\" (0x1), "
 "MPTCP handling for the interface is disabled and no endpoints are "
-"registered. The \"enabled\" (0x2) flag means that MPTCP handling is enabled. "
-"This flag can also be implied from the presence of other flags. Even when "
-"enabled, MPTCP handling will by default still be disabled unless \"/proc/sys/"
-"net/mptcp/enabled\" sysctl is on. NetworkManager does not change the sysctl "
-"and this is up to the administrator or distribution. To configure endpoints "
-"even if the sysctl is disabled, \"also-without-sysctl\" (0x4) flag can be "
-"used. In that case, NetworkManager doesn't look at the sysctl and configures "
-"endpoints regardless. Even when enabled, NetworkManager will only configure "
-"MPTCP endpoints for a certain address family, if there is a unicast default "
-"route (0.0.0.0/0 or ::/0) in the main routing table. The flag \"also-without-"
-"default-route\" (0x8) can override that. When MPTCP handling is enabled then "
-"endpoints are configured with the specified address flags \"signal\" (0x10), "
-"\"subflow\" (0x20), \"backup\" (0x40), \"fullmesh\" (0x80). See ip-mptcp(8) "
-"manual for additional information about the flags. If the flags are zero "
-"(0x0), the global connection default from NetworkManager.conf is honored. If "
-"still unspecified, the fallback is \"enabled,subflow\". Note that this means "
-"that MPTCP is by default done depending on the \"/proc/sys/net/mptcp/"
-"enabled\" sysctl. NetworkManager does not change the MPTCP limits nor enable "
-"MPTCP via \"/proc/sys/net/mptcp/enabled\". That is a host configuration "
-"which the admin can change via sysctl and ip-mptcp. Strict reverse path "
-"filtering (rp_filter) breaks many MPTCP use cases, so when MPTCP handling "
-"for IPv4 addresses on the interface is enabled, NetworkManager would loosen "
-"the strict reverse path filtering (1) to the loose setting (2)."
+"registered. The flag \"enabled-on-global-iface\" (0x2) means that MPTCP "
+"handling is enabled if the interface configures a default route in the main "
+"routing table. This choice is per-address family, for example if there is an "
+"IPv4 default route 0.0.0.0/0, IPv4 endpoints are configured. The "
+"\"enabled\" (0x4) flag means that MPTCP handling is explicitly enabled. This "
+"flag can also be implied from the presence of other flags. If MPTCP handling "
+"is enabled, then endpoints will be configured with the specified address "
+"flags \"signal\" (0x10), \"subflow\" (0x20), \"backup\" (0x40), "
+"\"fullmesh\" (0x80). See ip-mptcp(8) manual for additional information about "
+"the flags. If the flags are zero, the global connection default from "
+"NetworkManager.conf is honored. If still unspecified, the fallback is either "
+"\"disabled\" or \"enabled-on-global-iface,subflow\" depending on \"/proc/sys/"
+"net/mptcp/enabled\". NetworkManager does not change the MPTCP limits nor "
+"enable MPTCP via \"/proc/sys/net/mptcp/enabled\". That is a host "
+"configuration which the admin can change via sysctl and ip-mptcp. Strict "
+"reverse path filtering (rp_filter) breaks many MPTCP use cases, so when "
+"MPTCP handling for IPv4 addresses on the interface is enabled, "
+"NetworkManager would loosen the strict reverse path filtering (1) to the "
+"loose setting (2)."
 msgstr ""
 
 #: src/libnmc-setting/settings-docs.h.in:18
@@ -7146,13 +7146,11 @@ msgstr ""
 #: src/libnmc-setting/settings-docs.h.in:200
 msgid ""
 "The gateway associated with this configuration. This is only meaningful if "
-"\"addresses\" is also set. Setting the gateway causes NetworkManager to "
-"configure a standard default route with the gateway as next hop. This is "
-"ignored if \"never-default\" is set. An alternative is to configure the "
-"default route explicitly with a manual route and /0 as prefix length. Note "
-"that the gateway usually conflicts with routing that NetworkManager "
-"configures for WireGuard interfaces, so usually it should not be set in that "
-"case. See \"ip4-auto-default-route\"."
+"\"addresses\" is also set. The gateway's main purpose is to control the next "
+"hop of the standard default route on the device. Hence, the gateway property "
+"conflicts with \"never-default\" and will be automatically dropped if the IP "
+"configuration is set to never-default. As an alternative to set the gateway, "
+"configure a static default route with /0 as prefix length."
 msgstr ""
 
 #: src/libnmc-setting/settings-docs.h.in:175
diff --git a/po/fi.po b/po/fi.po
index 8a7315ac..dd9c49fb 100644
--- a/po/fi.po
+++ b/po/fi.po
@@ -14,7 +14,7 @@ msgstr ""
 "Project-Id-Version: NetworkManager\n"
 "Report-Msgid-Bugs-To: https://gitlab.freedesktop.org/NetworkManager/"
 "NetworkManager/issues\n"
-"POT-Creation-Date: 2022-08-26 16:42+0200\n"
+"POT-Creation-Date: 2022-08-11 16:06-0300\n"
 "PO-Revision-Date: 2017-04-21 05:18-0400\n"
 "Last-Translator: Copied by Zanata <copied-by-zanata@zanata.org>\n"
 "Language-Team: Finnish <gnome-fi-laatu@lists.sourceforge.net>\n"
@@ -1208,7 +1208,7 @@ msgstr ""
 #: src/libnm-core-impl/nm-setting-cdma.c:144
 #: src/libnm-core-impl/nm-setting-connection.c:1149
 #: src/libnm-core-impl/nm-setting-connection.c:1187
-#: src/libnm-core-impl/nm-setting-connection.c:1516
+#: src/libnm-core-impl/nm-setting-connection.c:1530
 #: src/libnm-core-impl/nm-setting-ip-config.c:5423
 #: src/libnm-core-impl/nm-setting-ip-tunnel.c:387
 #: src/libnm-core-impl/nm-setting-olpc-mesh.c:99
@@ -1554,7 +1554,7 @@ msgstr ""
 #: src/libnm-core-impl/nm-setting-cdma.c:159
 #: src/libnm-core-impl/nm-setting-connection.c:1159
 #: src/libnm-core-impl/nm-setting-connection.c:1202
-#: src/libnm-core-impl/nm-setting-connection.c:1454
+#: src/libnm-core-impl/nm-setting-connection.c:1468
 #: src/libnm-core-impl/nm-setting-gsm.c:298
 #: src/libnm-core-impl/nm-setting-gsm.c:353
 #: src/libnm-core-impl/nm-setting-gsm.c:396
@@ -1838,7 +1838,7 @@ msgstr "Virhe: Kytkentäajan asetus '%s' virheellinen"
 #: src/libnm-core-impl/nm-setting-connection.c:1351
 #: src/libnm-core-impl/nm-setting-connection.c:1365
 #: src/libnm-core-impl/nm-setting-connection.c:1379
-#: src/libnm-core-impl/nm-setting-connection.c:1440
+#: src/libnm-core-impl/nm-setting-connection.c:1454
 #, fuzzy, c-format
 msgid "value %d is not valid"
 msgstr "Virhe: Kytkentäajan asetus '%s' virheellinen"
@@ -1847,52 +1847,56 @@ msgstr "Virhe: Kytkentäajan asetus '%s' virheellinen"
 msgid "\"disabled\" flag cannot be combined with other MPTCP flags"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1409
+#: src/libnm-core-impl/nm-setting-connection.c:1411
+msgid "\"enabled\" and \"enabled-on-global-iface\" flag cannot be set together"
+msgstr ""
+
+#: src/libnm-core-impl/nm-setting-connection.c:1422
 msgid "cannot set both \"signal\" and \"fullmesh\" MPTCP flags"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1421
+#: src/libnm-core-impl/nm-setting-connection.c:1435
 #, fuzzy, c-format
 msgid "value %u is not a valid combination of MPTCP flags"
 msgstr "Virhe: Kytkentäajan asetus '%s' virheellinen"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1468
+#: src/libnm-core-impl/nm-setting-connection.c:1482
 msgid "DHCP option cannot be longer than 255 characters"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1479
+#: src/libnm-core-impl/nm-setting-connection.c:1493
 #, fuzzy
 msgid "MUD URL is not a valid URL"
 msgstr "Virhe: Kytkentäajan asetus '%s' virheellinen"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1499
+#: src/libnm-core-impl/nm-setting-connection.c:1513
 #, fuzzy
 msgid "invalid permissions not in format \"user:$UNAME[:]\""
 msgstr "Virhe: annettu parametri on virheellinen."
 
-#: src/libnm-core-impl/nm-setting-connection.c:1528
+#: src/libnm-core-impl/nm-setting-connection.c:1542
 #, c-format
 msgid "property type should be set to '%s'"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1546
+#: src/libnm-core-impl/nm-setting-connection.c:1560
 #, c-format
 msgid "slave-type '%s' requires a '%s' setting in the connection"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1557
+#: src/libnm-core-impl/nm-setting-connection.c:1571
 #, c-format
 msgid ""
 "Detect a slave connection with '%s' set and a port type '%s'. '%s' should be "
 "set to '%s'"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1583
+#: src/libnm-core-impl/nm-setting-connection.c:1597
 #, c-format
 msgid "A slave connection with '%s' set to '%s' cannot have a '%s' setting"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1600
+#: src/libnm-core-impl/nm-setting-connection.c:1614
 msgid "UUID needs normalization"
 msgstr ""
 
@@ -5871,29 +5875,25 @@ msgid ""
 "fc00::/7) and IPv6 privacy extension addresses (rfc3041, ipv6.ip6-privacy) "
 "will be excluded from being configured as endpoints. If \"disabled\" (0x1), "
 "MPTCP handling for the interface is disabled and no endpoints are "
-"registered. The \"enabled\" (0x2) flag means that MPTCP handling is enabled. "
-"This flag can also be implied from the presence of other flags. Even when "
-"enabled, MPTCP handling will by default still be disabled unless \"/proc/sys/"
-"net/mptcp/enabled\" sysctl is on. NetworkManager does not change the sysctl "
-"and this is up to the administrator or distribution. To configure endpoints "
-"even if the sysctl is disabled, \"also-without-sysctl\" (0x4) flag can be "
-"used. In that case, NetworkManager doesn't look at the sysctl and configures "
-"endpoints regardless. Even when enabled, NetworkManager will only configure "
-"MPTCP endpoints for a certain address family, if there is a unicast default "
-"route (0.0.0.0/0 or ::/0) in the main routing table. The flag \"also-without-"
-"default-route\" (0x8) can override that. When MPTCP handling is enabled then "
-"endpoints are configured with the specified address flags \"signal\" (0x10), "
-"\"subflow\" (0x20), \"backup\" (0x40), \"fullmesh\" (0x80). See ip-mptcp(8) "
-"manual for additional information about the flags. If the flags are zero "
-"(0x0), the global connection default from NetworkManager.conf is honored. If "
-"still unspecified, the fallback is \"enabled,subflow\". Note that this means "
-"that MPTCP is by default done depending on the \"/proc/sys/net/mptcp/"
-"enabled\" sysctl. NetworkManager does not change the MPTCP limits nor enable "
-"MPTCP via \"/proc/sys/net/mptcp/enabled\". That is a host configuration "
-"which the admin can change via sysctl and ip-mptcp. Strict reverse path "
-"filtering (rp_filter) breaks many MPTCP use cases, so when MPTCP handling "
-"for IPv4 addresses on the interface is enabled, NetworkManager would loosen "
-"the strict reverse path filtering (1) to the loose setting (2)."
+"registered. The flag \"enabled-on-global-iface\" (0x2) means that MPTCP "
+"handling is enabled if the interface configures a default route in the main "
+"routing table. This choice is per-address family, for example if there is an "
+"IPv4 default route 0.0.0.0/0, IPv4 endpoints are configured. The "
+"\"enabled\" (0x4) flag means that MPTCP handling is explicitly enabled. This "
+"flag can also be implied from the presence of other flags. If MPTCP handling "
+"is enabled, then endpoints will be configured with the specified address "
+"flags \"signal\" (0x10), \"subflow\" (0x20), \"backup\" (0x40), "
+"\"fullmesh\" (0x80). See ip-mptcp(8) manual for additional information about "
+"the flags. If the flags are zero, the global connection default from "
+"NetworkManager.conf is honored. If still unspecified, the fallback is either "
+"\"disabled\" or \"enabled-on-global-iface,subflow\" depending on \"/proc/sys/"
+"net/mptcp/enabled\". NetworkManager does not change the MPTCP limits nor "
+"enable MPTCP via \"/proc/sys/net/mptcp/enabled\". That is a host "
+"configuration which the admin can change via sysctl and ip-mptcp. Strict "
+"reverse path filtering (rp_filter) breaks many MPTCP use cases, so when "
+"MPTCP handling for IPv4 addresses on the interface is enabled, "
+"NetworkManager would loosen the strict reverse path filtering (1) to the "
+"loose setting (2)."
 msgstr ""
 
 #: src/libnmc-setting/settings-docs.h.in:18
@@ -7127,13 +7127,11 @@ msgstr ""
 #: src/libnmc-setting/settings-docs.h.in:200
 msgid ""
 "The gateway associated with this configuration. This is only meaningful if "
-"\"addresses\" is also set. Setting the gateway causes NetworkManager to "
-"configure a standard default route with the gateway as next hop. This is "
-"ignored if \"never-default\" is set. An alternative is to configure the "
-"default route explicitly with a manual route and /0 as prefix length. Note "
-"that the gateway usually conflicts with routing that NetworkManager "
-"configures for WireGuard interfaces, so usually it should not be set in that "
-"case. See \"ip4-auto-default-route\"."
+"\"addresses\" is also set. The gateway's main purpose is to control the next "
+"hop of the standard default route on the device. Hence, the gateway property "
+"conflicts with \"never-default\" and will be automatically dropped if the IP "
+"configuration is set to never-default. As an alternative to set the gateway, "
+"configure a static default route with /0 as prefix length."
 msgstr ""
 
 #: src/libnmc-setting/settings-docs.h.in:175
diff --git a/po/fr.po b/po/fr.po
index 02568e99..db704f57 100644
--- a/po/fr.po
+++ b/po/fr.po
@@ -16,7 +16,7 @@ msgstr ""
 "Project-Id-Version: NetworkManager\n"
 "Report-Msgid-Bugs-To: https://gitlab.freedesktop.org/NetworkManager/"
 "NetworkManager/issues\n"
-"POT-Creation-Date: 2022-08-26 16:42+0200\n"
+"POT-Creation-Date: 2022-08-11 16:06-0300\n"
 "PO-Revision-Date: 2019-08-15 10:06+0000\n"
 "Last-Translator: ljanda <ljanda@redhat.com>\n"
 "Language-Team: French <trans-fr@lists.fedoraproject.org>\n"
@@ -1241,7 +1241,7 @@ msgstr "uuid inattendu %s au lieu de %s"
 #: src/libnm-core-impl/nm-setting-cdma.c:144
 #: src/libnm-core-impl/nm-setting-connection.c:1149
 #: src/libnm-core-impl/nm-setting-connection.c:1187
-#: src/libnm-core-impl/nm-setting-connection.c:1516
+#: src/libnm-core-impl/nm-setting-connection.c:1530
 #: src/libnm-core-impl/nm-setting-ip-config.c:5423
 #: src/libnm-core-impl/nm-setting-ip-tunnel.c:387
 #: src/libnm-core-impl/nm-setting-olpc-mesh.c:99
@@ -1590,7 +1590,7 @@ msgstr ""
 #: src/libnm-core-impl/nm-setting-cdma.c:159
 #: src/libnm-core-impl/nm-setting-connection.c:1159
 #: src/libnm-core-impl/nm-setting-connection.c:1202
-#: src/libnm-core-impl/nm-setting-connection.c:1454
+#: src/libnm-core-impl/nm-setting-connection.c:1468
 #: src/libnm-core-impl/nm-setting-gsm.c:298
 #: src/libnm-core-impl/nm-setting-gsm.c:353
 #: src/libnm-core-impl/nm-setting-gsm.c:396
@@ -1878,7 +1878,7 @@ msgstr "valeur contrôlée %d non valide"
 #: src/libnm-core-impl/nm-setting-connection.c:1351
 #: src/libnm-core-impl/nm-setting-connection.c:1365
 #: src/libnm-core-impl/nm-setting-connection.c:1379
-#: src/libnm-core-impl/nm-setting-connection.c:1440
+#: src/libnm-core-impl/nm-setting-connection.c:1454
 #, c-format
 msgid "value %d is not valid"
 msgstr "la valeur %d n’est pas valide"
@@ -1887,43 +1887,47 @@ msgstr "la valeur %d n’est pas valide"
 msgid "\"disabled\" flag cannot be combined with other MPTCP flags"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1409
+#: src/libnm-core-impl/nm-setting-connection.c:1411
+msgid "\"enabled\" and \"enabled-on-global-iface\" flag cannot be set together"
+msgstr ""
+
+#: src/libnm-core-impl/nm-setting-connection.c:1422
 msgid "cannot set both \"signal\" and \"fullmesh\" MPTCP flags"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1421
+#: src/libnm-core-impl/nm-setting-connection.c:1435
 #, fuzzy, c-format
 #| msgid "'%u' flags are not valid; use combination of %s"
 msgid "value %u is not a valid combination of MPTCP flags"
 msgstr ""
 "les marqueurs « %u » ne sont pas valides ; utilisez une combinaison de %s"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1468
+#: src/libnm-core-impl/nm-setting-connection.c:1482
 msgid "DHCP option cannot be longer than 255 characters"
 msgstr "L'option DHCP ne peut pas comporter plus de 255 caractères"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1479
+#: src/libnm-core-impl/nm-setting-connection.c:1493
 msgid "MUD URL is not a valid URL"
 msgstr "L'URL MUD n'est pas une URL valide"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1499
+#: src/libnm-core-impl/nm-setting-connection.c:1513
 #, fuzzy
 msgid "invalid permissions not in format \"user:$UNAME[:]\""
 msgstr "permission non valide \"%s\""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1528
+#: src/libnm-core-impl/nm-setting-connection.c:1542
 #, c-format
 msgid "property type should be set to '%s'"
 msgstr "le type de propriété doit être défini sur « %s »"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1546
+#: src/libnm-core-impl/nm-setting-connection.c:1560
 #, c-format
 msgid "slave-type '%s' requires a '%s' setting in the connection"
 msgstr ""
 "le type d'esclave « %s » requiert la présence du paramètre « %s » dans la "
 "connexion"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1557
+#: src/libnm-core-impl/nm-setting-connection.c:1571
 #, c-format
 msgid ""
 "Detect a slave connection with '%s' set and a port type '%s'. '%s' should be "
@@ -1932,14 +1936,14 @@ msgstr ""
 "Détecte une connexion esclave avec « %s » défini et un type de port « %s ». "
 "« %s » doit être défini sur « %s »"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1583
+#: src/libnm-core-impl/nm-setting-connection.c:1597
 #, c-format
 msgid "A slave connection with '%s' set to '%s' cannot have a '%s' setting"
 msgstr ""
 "Une connexion esclave avec « %s » définie à « %s » ne peut pas avoir un "
 "paramètre « %s »"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1600
+#: src/libnm-core-impl/nm-setting-connection.c:1614
 msgid "UUID needs normalization"
 msgstr ""
 
@@ -6245,29 +6249,25 @@ msgid ""
 "fc00::/7) and IPv6 privacy extension addresses (rfc3041, ipv6.ip6-privacy) "
 "will be excluded from being configured as endpoints. If \"disabled\" (0x1), "
 "MPTCP handling for the interface is disabled and no endpoints are "
-"registered. The \"enabled\" (0x2) flag means that MPTCP handling is enabled. "
-"This flag can also be implied from the presence of other flags. Even when "
-"enabled, MPTCP handling will by default still be disabled unless \"/proc/sys/"
-"net/mptcp/enabled\" sysctl is on. NetworkManager does not change the sysctl "
-"and this is up to the administrator or distribution. To configure endpoints "
-"even if the sysctl is disabled, \"also-without-sysctl\" (0x4) flag can be "
-"used. In that case, NetworkManager doesn't look at the sysctl and configures "
-"endpoints regardless. Even when enabled, NetworkManager will only configure "
-"MPTCP endpoints for a certain address family, if there is a unicast default "
-"route (0.0.0.0/0 or ::/0) in the main routing table. The flag \"also-without-"
-"default-route\" (0x8) can override that. When MPTCP handling is enabled then "
-"endpoints are configured with the specified address flags \"signal\" (0x10), "
-"\"subflow\" (0x20), \"backup\" (0x40), \"fullmesh\" (0x80). See ip-mptcp(8) "
-"manual for additional information about the flags. If the flags are zero "
-"(0x0), the global connection default from NetworkManager.conf is honored. If "
-"still unspecified, the fallback is \"enabled,subflow\". Note that this means "
-"that MPTCP is by default done depending on the \"/proc/sys/net/mptcp/"
-"enabled\" sysctl. NetworkManager does not change the MPTCP limits nor enable "
-"MPTCP via \"/proc/sys/net/mptcp/enabled\". That is a host configuration "
-"which the admin can change via sysctl and ip-mptcp. Strict reverse path "
-"filtering (rp_filter) breaks many MPTCP use cases, so when MPTCP handling "
-"for IPv4 addresses on the interface is enabled, NetworkManager would loosen "
-"the strict reverse path filtering (1) to the loose setting (2)."
+"registered. The flag \"enabled-on-global-iface\" (0x2) means that MPTCP "
+"handling is enabled if the interface configures a default route in the main "
+"routing table. This choice is per-address family, for example if there is an "
+"IPv4 default route 0.0.0.0/0, IPv4 endpoints are configured. The "
+"\"enabled\" (0x4) flag means that MPTCP handling is explicitly enabled. This "
+"flag can also be implied from the presence of other flags. If MPTCP handling "
+"is enabled, then endpoints will be configured with the specified address "
+"flags \"signal\" (0x10), \"subflow\" (0x20), \"backup\" (0x40), "
+"\"fullmesh\" (0x80). See ip-mptcp(8) manual for additional information about "
+"the flags. If the flags are zero, the global connection default from "
+"NetworkManager.conf is honored. If still unspecified, the fallback is either "
+"\"disabled\" or \"enabled-on-global-iface,subflow\" depending on \"/proc/sys/"
+"net/mptcp/enabled\". NetworkManager does not change the MPTCP limits nor "
+"enable MPTCP via \"/proc/sys/net/mptcp/enabled\". That is a host "
+"configuration which the admin can change via sysctl and ip-mptcp. Strict "
+"reverse path filtering (rp_filter) breaks many MPTCP use cases, so when "
+"MPTCP handling for IPv4 addresses on the interface is enabled, "
+"NetworkManager would loosen the strict reverse path filtering (1) to the "
+"loose setting (2)."
 msgstr ""
 
 #: src/libnmc-setting/settings-docs.h.in:18
@@ -8167,24 +8167,13 @@ msgstr ""
 
 #: src/libnmc-setting/settings-docs.h.in:174
 #: src/libnmc-setting/settings-docs.h.in:200
-#, fuzzy
-#| msgid ""
-#| "The gateway associated with this configuration. This is only meaningful "
-#| "if \"addresses\" is also set. The gateway's main purpose is to control "
-#| "the next hop of the standard default route on the device. Hence, the "
-#| "gateway property conflicts with \"never-default\" and will be "
-#| "automatically dropped if the IP configuration is set to never-default. As "
-#| "an alternative to set the gateway, configure a static default route "
-#| "with /0 as prefix length."
 msgid ""
 "The gateway associated with this configuration. This is only meaningful if "
-"\"addresses\" is also set. Setting the gateway causes NetworkManager to "
-"configure a standard default route with the gateway as next hop. This is "
-"ignored if \"never-default\" is set. An alternative is to configure the "
-"default route explicitly with a manual route and /0 as prefix length. Note "
-"that the gateway usually conflicts with routing that NetworkManager "
-"configures for WireGuard interfaces, so usually it should not be set in that "
-"case. See \"ip4-auto-default-route\"."
+"\"addresses\" is also set. The gateway's main purpose is to control the next "
+"hop of the standard default route on the device. Hence, the gateway property "
+"conflicts with \"never-default\" and will be automatically dropped if the IP "
+"configuration is set to never-default. As an alternative to set the gateway, "
+"configure a static default route with /0 as prefix length."
 msgstr ""
 "La passerelle associée à cette configuration. Cela n'a de sens que si des "
 "\"adresses\" sont également définies. Le but principal de la passerelle est "
diff --git a/po/gd.po b/po/gd.po
index e8f83997..c4bc3cb2 100644
--- a/po/gd.po
+++ b/po/gd.po
@@ -8,7 +8,7 @@ msgstr ""
 "Project-Id-Version: NetworkManager\n"
 "Report-Msgid-Bugs-To: https://gitlab.freedesktop.org/NetworkManager/"
 "NetworkManager/issues\n"
-"POT-Creation-Date: 2022-08-26 16:42+0200\n"
+"POT-Creation-Date: 2022-08-11 16:06-0300\n"
 "PO-Revision-Date: 2016-01-29 11:29+0100\n"
 "Last-Translator: GunChleoc <fios@foramnagaidhlig.net>\n"
 "Language-Team: Fòram na Gàidhlig\n"
@@ -1193,7 +1193,7 @@ msgstr ""
 #: src/libnm-core-impl/nm-setting-cdma.c:144
 #: src/libnm-core-impl/nm-setting-connection.c:1149
 #: src/libnm-core-impl/nm-setting-connection.c:1187
-#: src/libnm-core-impl/nm-setting-connection.c:1516
+#: src/libnm-core-impl/nm-setting-connection.c:1530
 #: src/libnm-core-impl/nm-setting-ip-config.c:5423
 #: src/libnm-core-impl/nm-setting-ip-tunnel.c:387
 #: src/libnm-core-impl/nm-setting-olpc-mesh.c:99
@@ -1541,7 +1541,7 @@ msgstr ""
 #: src/libnm-core-impl/nm-setting-cdma.c:159
 #: src/libnm-core-impl/nm-setting-connection.c:1159
 #: src/libnm-core-impl/nm-setting-connection.c:1202
-#: src/libnm-core-impl/nm-setting-connection.c:1454
+#: src/libnm-core-impl/nm-setting-connection.c:1468
 #: src/libnm-core-impl/nm-setting-gsm.c:298
 #: src/libnm-core-impl/nm-setting-gsm.c:353
 #: src/libnm-core-impl/nm-setting-gsm.c:396
@@ -1828,7 +1828,7 @@ msgstr ""
 #: src/libnm-core-impl/nm-setting-connection.c:1351
 #: src/libnm-core-impl/nm-setting-connection.c:1365
 #: src/libnm-core-impl/nm-setting-connection.c:1379
-#: src/libnm-core-impl/nm-setting-connection.c:1440
+#: src/libnm-core-impl/nm-setting-connection.c:1454
 #, fuzzy, c-format
 msgid "value %d is not valid"
 msgstr "chan eil \"%s\" 'na luach dligheach airson na buaidh"
@@ -1837,52 +1837,56 @@ msgstr "chan eil \"%s\" 'na luach dligheach airson na buaidh"
 msgid "\"disabled\" flag cannot be combined with other MPTCP flags"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1409
+#: src/libnm-core-impl/nm-setting-connection.c:1411
+msgid "\"enabled\" and \"enabled-on-global-iface\" flag cannot be set together"
+msgstr ""
+
+#: src/libnm-core-impl/nm-setting-connection.c:1422
 msgid "cannot set both \"signal\" and \"fullmesh\" MPTCP flags"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1421
+#: src/libnm-core-impl/nm-setting-connection.c:1435
 #, fuzzy, c-format
 msgid "value %u is not a valid combination of MPTCP flags"
 msgstr "chan eil \"%s\" na rèiteachadh sgioba no ainm faidhle dligheach."
 
-#: src/libnm-core-impl/nm-setting-connection.c:1468
+#: src/libnm-core-impl/nm-setting-connection.c:1482
 msgid "DHCP option cannot be longer than 255 characters"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1479
+#: src/libnm-core-impl/nm-setting-connection.c:1493
 #, fuzzy
 msgid "MUD URL is not a valid URL"
 msgstr "chan eil \"%s\" 'na luach dligheach airson na buaidh"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1499
+#: src/libnm-core-impl/nm-setting-connection.c:1513
 #, fuzzy
 msgid "invalid permissions not in format \"user:$UNAME[:]\""
 msgstr "geata \"%s\" mì-dhligheach"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1528
+#: src/libnm-core-impl/nm-setting-connection.c:1542
 #, fuzzy, c-format
 msgid "property type should be set to '%s'"
 msgstr "chan fhaod a' bhuadh seo a bhith falamh airson \"%s=%s\""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1546
+#: src/libnm-core-impl/nm-setting-connection.c:1560
 #, c-format
 msgid "slave-type '%s' requires a '%s' setting in the connection"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1557
+#: src/libnm-core-impl/nm-setting-connection.c:1571
 #, c-format
 msgid ""
 "Detect a slave connection with '%s' set and a port type '%s'. '%s' should be "
 "set to '%s'"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1583
+#: src/libnm-core-impl/nm-setting-connection.c:1597
 #, c-format
 msgid "A slave connection with '%s' set to '%s' cannot have a '%s' setting"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1600
+#: src/libnm-core-impl/nm-setting-connection.c:1614
 msgid "UUID needs normalization"
 msgstr ""
 
@@ -5893,29 +5897,25 @@ msgid ""
 "fc00::/7) and IPv6 privacy extension addresses (rfc3041, ipv6.ip6-privacy) "
 "will be excluded from being configured as endpoints. If \"disabled\" (0x1), "
 "MPTCP handling for the interface is disabled and no endpoints are "
-"registered. The \"enabled\" (0x2) flag means that MPTCP handling is enabled. "
-"This flag can also be implied from the presence of other flags. Even when "
-"enabled, MPTCP handling will by default still be disabled unless \"/proc/sys/"
-"net/mptcp/enabled\" sysctl is on. NetworkManager does not change the sysctl "
-"and this is up to the administrator or distribution. To configure endpoints "
-"even if the sysctl is disabled, \"also-without-sysctl\" (0x4) flag can be "
-"used. In that case, NetworkManager doesn't look at the sysctl and configures "
-"endpoints regardless. Even when enabled, NetworkManager will only configure "
-"MPTCP endpoints for a certain address family, if there is a unicast default "
-"route (0.0.0.0/0 or ::/0) in the main routing table. The flag \"also-without-"
-"default-route\" (0x8) can override that. When MPTCP handling is enabled then "
-"endpoints are configured with the specified address flags \"signal\" (0x10), "
-"\"subflow\" (0x20), \"backup\" (0x40), \"fullmesh\" (0x80). See ip-mptcp(8) "
-"manual for additional information about the flags. If the flags are zero "
-"(0x0), the global connection default from NetworkManager.conf is honored. If "
-"still unspecified, the fallback is \"enabled,subflow\". Note that this means "
-"that MPTCP is by default done depending on the \"/proc/sys/net/mptcp/"
-"enabled\" sysctl. NetworkManager does not change the MPTCP limits nor enable "
-"MPTCP via \"/proc/sys/net/mptcp/enabled\". That is a host configuration "
-"which the admin can change via sysctl and ip-mptcp. Strict reverse path "
-"filtering (rp_filter) breaks many MPTCP use cases, so when MPTCP handling "
-"for IPv4 addresses on the interface is enabled, NetworkManager would loosen "
-"the strict reverse path filtering (1) to the loose setting (2)."
+"registered. The flag \"enabled-on-global-iface\" (0x2) means that MPTCP "
+"handling is enabled if the interface configures a default route in the main "
+"routing table. This choice is per-address family, for example if there is an "
+"IPv4 default route 0.0.0.0/0, IPv4 endpoints are configured. The "
+"\"enabled\" (0x4) flag means that MPTCP handling is explicitly enabled. This "
+"flag can also be implied from the presence of other flags. If MPTCP handling "
+"is enabled, then endpoints will be configured with the specified address "
+"flags \"signal\" (0x10), \"subflow\" (0x20), \"backup\" (0x40), "
+"\"fullmesh\" (0x80). See ip-mptcp(8) manual for additional information about "
+"the flags. If the flags are zero, the global connection default from "
+"NetworkManager.conf is honored. If still unspecified, the fallback is either "
+"\"disabled\" or \"enabled-on-global-iface,subflow\" depending on \"/proc/sys/"
+"net/mptcp/enabled\". NetworkManager does not change the MPTCP limits nor "
+"enable MPTCP via \"/proc/sys/net/mptcp/enabled\". That is a host "
+"configuration which the admin can change via sysctl and ip-mptcp. Strict "
+"reverse path filtering (rp_filter) breaks many MPTCP use cases, so when "
+"MPTCP handling for IPv4 addresses on the interface is enabled, "
+"NetworkManager would loosen the strict reverse path filtering (1) to the "
+"loose setting (2)."
 msgstr ""
 
 #: src/libnmc-setting/settings-docs.h.in:18
@@ -7152,13 +7152,11 @@ msgstr ""
 #: src/libnmc-setting/settings-docs.h.in:200
 msgid ""
 "The gateway associated with this configuration. This is only meaningful if "
-"\"addresses\" is also set. Setting the gateway causes NetworkManager to "
-"configure a standard default route with the gateway as next hop. This is "
-"ignored if \"never-default\" is set. An alternative is to configure the "
-"default route explicitly with a manual route and /0 as prefix length. Note "
-"that the gateway usually conflicts with routing that NetworkManager "
-"configures for WireGuard interfaces, so usually it should not be set in that "
-"case. See \"ip4-auto-default-route\"."
+"\"addresses\" is also set. The gateway's main purpose is to control the next "
+"hop of the standard default route on the device. Hence, the gateway property "
+"conflicts with \"never-default\" and will be automatically dropped if the IP "
+"configuration is set to never-default. As an alternative to set the gateway, "
+"configure a static default route with /0 as prefix length."
 msgstr ""
 
 #: src/libnmc-setting/settings-docs.h.in:175
diff --git a/po/gl.po b/po/gl.po
index c16841fa..aebf7f95 100644
--- a/po/gl.po
+++ b/po/gl.po
@@ -12,7 +12,7 @@ msgstr ""
 "Project-Id-Version: NetworkManager\n"
 "Report-Msgid-Bugs-To: https://gitlab.freedesktop.org/NetworkManager/"
 "NetworkManager/issues\n"
-"POT-Creation-Date: 2022-08-26 16:42+0200\n"
+"POT-Creation-Date: 2022-08-11 16:06-0300\n"
 "PO-Revision-Date: 2017-04-21 06:08-0400\n"
 "Last-Translator: Copied by Zanata <copied-by-zanata@zanata.org>\n"
 "Language-Team: gnome-l10n-gl@gnome.org\n"
@@ -1246,7 +1246,7 @@ msgstr ""
 #: src/libnm-core-impl/nm-setting-cdma.c:144
 #: src/libnm-core-impl/nm-setting-connection.c:1149
 #: src/libnm-core-impl/nm-setting-connection.c:1187
-#: src/libnm-core-impl/nm-setting-connection.c:1516
+#: src/libnm-core-impl/nm-setting-connection.c:1530
 #: src/libnm-core-impl/nm-setting-ip-config.c:5423
 #: src/libnm-core-impl/nm-setting-ip-tunnel.c:387
 #: src/libnm-core-impl/nm-setting-olpc-mesh.c:99
@@ -1590,7 +1590,7 @@ msgstr ""
 #: src/libnm-core-impl/nm-setting-cdma.c:159
 #: src/libnm-core-impl/nm-setting-connection.c:1159
 #: src/libnm-core-impl/nm-setting-connection.c:1202
-#: src/libnm-core-impl/nm-setting-connection.c:1454
+#: src/libnm-core-impl/nm-setting-connection.c:1468
 #: src/libnm-core-impl/nm-setting-gsm.c:298
 #: src/libnm-core-impl/nm-setting-gsm.c:353
 #: src/libnm-core-impl/nm-setting-gsm.c:396
@@ -1877,7 +1877,7 @@ msgstr "Erro: O valor do tempo de espera máximo «%s» non é válido."
 #: src/libnm-core-impl/nm-setting-connection.c:1351
 #: src/libnm-core-impl/nm-setting-connection.c:1365
 #: src/libnm-core-impl/nm-setting-connection.c:1379
-#: src/libnm-core-impl/nm-setting-connection.c:1440
+#: src/libnm-core-impl/nm-setting-connection.c:1454
 #, fuzzy, c-format
 msgid "value %d is not valid"
 msgstr "Erro: O valor do tempo de espera máximo «%s» non é válido."
@@ -1886,52 +1886,56 @@ msgstr "Erro: O valor do tempo de espera máximo «%s» non é válido."
 msgid "\"disabled\" flag cannot be combined with other MPTCP flags"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1409
+#: src/libnm-core-impl/nm-setting-connection.c:1411
+msgid "\"enabled\" and \"enabled-on-global-iface\" flag cannot be set together"
+msgstr ""
+
+#: src/libnm-core-impl/nm-setting-connection.c:1422
 msgid "cannot set both \"signal\" and \"fullmesh\" MPTCP flags"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1421
+#: src/libnm-core-impl/nm-setting-connection.c:1435
 #, fuzzy, c-format
 msgid "value %u is not a valid combination of MPTCP flags"
 msgstr "Erro: O valor do tempo de espera máximo «%s» non é válido."
 
-#: src/libnm-core-impl/nm-setting-connection.c:1468
+#: src/libnm-core-impl/nm-setting-connection.c:1482
 msgid "DHCP option cannot be longer than 255 characters"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1479
+#: src/libnm-core-impl/nm-setting-connection.c:1493
 #, fuzzy
 msgid "MUD URL is not a valid URL"
 msgstr "Erro: «nm» a orde «%s» non é válida."
 
-#: src/libnm-core-impl/nm-setting-connection.c:1499
+#: src/libnm-core-impl/nm-setting-connection.c:1513
 #, fuzzy
 msgid "invalid permissions not in format \"user:$UNAME[:]\""
 msgstr "ruta non válida: %s"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1528
+#: src/libnm-core-impl/nm-setting-connection.c:1542
 #, c-format
 msgid "property type should be set to '%s'"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1546
+#: src/libnm-core-impl/nm-setting-connection.c:1560
 #, c-format
 msgid "slave-type '%s' requires a '%s' setting in the connection"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1557
+#: src/libnm-core-impl/nm-setting-connection.c:1571
 #, c-format
 msgid ""
 "Detect a slave connection with '%s' set and a port type '%s'. '%s' should be "
 "set to '%s'"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1583
+#: src/libnm-core-impl/nm-setting-connection.c:1597
 #, c-format
 msgid "A slave connection with '%s' set to '%s' cannot have a '%s' setting"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1600
+#: src/libnm-core-impl/nm-setting-connection.c:1614
 msgid "UUID needs normalization"
 msgstr ""
 
@@ -5955,29 +5959,25 @@ msgid ""
 "fc00::/7) and IPv6 privacy extension addresses (rfc3041, ipv6.ip6-privacy) "
 "will be excluded from being configured as endpoints. If \"disabled\" (0x1), "
 "MPTCP handling for the interface is disabled and no endpoints are "
-"registered. The \"enabled\" (0x2) flag means that MPTCP handling is enabled. "
-"This flag can also be implied from the presence of other flags. Even when "
-"enabled, MPTCP handling will by default still be disabled unless \"/proc/sys/"
-"net/mptcp/enabled\" sysctl is on. NetworkManager does not change the sysctl "
-"and this is up to the administrator or distribution. To configure endpoints "
-"even if the sysctl is disabled, \"also-without-sysctl\" (0x4) flag can be "
-"used. In that case, NetworkManager doesn't look at the sysctl and configures "
-"endpoints regardless. Even when enabled, NetworkManager will only configure "
-"MPTCP endpoints for a certain address family, if there is a unicast default "
-"route (0.0.0.0/0 or ::/0) in the main routing table. The flag \"also-without-"
-"default-route\" (0x8) can override that. When MPTCP handling is enabled then "
-"endpoints are configured with the specified address flags \"signal\" (0x10), "
-"\"subflow\" (0x20), \"backup\" (0x40), \"fullmesh\" (0x80). See ip-mptcp(8) "
-"manual for additional information about the flags. If the flags are zero "
-"(0x0), the global connection default from NetworkManager.conf is honored. If "
-"still unspecified, the fallback is \"enabled,subflow\". Note that this means "
-"that MPTCP is by default done depending on the \"/proc/sys/net/mptcp/"
-"enabled\" sysctl. NetworkManager does not change the MPTCP limits nor enable "
-"MPTCP via \"/proc/sys/net/mptcp/enabled\". That is a host configuration "
-"which the admin can change via sysctl and ip-mptcp. Strict reverse path "
-"filtering (rp_filter) breaks many MPTCP use cases, so when MPTCP handling "
-"for IPv4 addresses on the interface is enabled, NetworkManager would loosen "
-"the strict reverse path filtering (1) to the loose setting (2)."
+"registered. The flag \"enabled-on-global-iface\" (0x2) means that MPTCP "
+"handling is enabled if the interface configures a default route in the main "
+"routing table. This choice is per-address family, for example if there is an "
+"IPv4 default route 0.0.0.0/0, IPv4 endpoints are configured. The "
+"\"enabled\" (0x4) flag means that MPTCP handling is explicitly enabled. This "
+"flag can also be implied from the presence of other flags. If MPTCP handling "
+"is enabled, then endpoints will be configured with the specified address "
+"flags \"signal\" (0x10), \"subflow\" (0x20), \"backup\" (0x40), "
+"\"fullmesh\" (0x80). See ip-mptcp(8) manual for additional information about "
+"the flags. If the flags are zero, the global connection default from "
+"NetworkManager.conf is honored. If still unspecified, the fallback is either "
+"\"disabled\" or \"enabled-on-global-iface,subflow\" depending on \"/proc/sys/"
+"net/mptcp/enabled\". NetworkManager does not change the MPTCP limits nor "
+"enable MPTCP via \"/proc/sys/net/mptcp/enabled\". That is a host "
+"configuration which the admin can change via sysctl and ip-mptcp. Strict "
+"reverse path filtering (rp_filter) breaks many MPTCP use cases, so when "
+"MPTCP handling for IPv4 addresses on the interface is enabled, "
+"NetworkManager would loosen the strict reverse path filtering (1) to the "
+"loose setting (2)."
 msgstr ""
 
 #: src/libnmc-setting/settings-docs.h.in:18
@@ -7211,13 +7211,11 @@ msgstr ""
 #: src/libnmc-setting/settings-docs.h.in:200
 msgid ""
 "The gateway associated with this configuration. This is only meaningful if "
-"\"addresses\" is also set. Setting the gateway causes NetworkManager to "
-"configure a standard default route with the gateway as next hop. This is "
-"ignored if \"never-default\" is set. An alternative is to configure the "
-"default route explicitly with a manual route and /0 as prefix length. Note "
-"that the gateway usually conflicts with routing that NetworkManager "
-"configures for WireGuard interfaces, so usually it should not be set in that "
-"case. See \"ip4-auto-default-route\"."
+"\"addresses\" is also set. The gateway's main purpose is to control the next "
+"hop of the standard default route on the device. Hence, the gateway property "
+"conflicts with \"never-default\" and will be automatically dropped if the IP "
+"configuration is set to never-default. As an alternative to set the gateway, "
+"configure a static default route with /0 as prefix length."
 msgstr ""
 
 #: src/libnmc-setting/settings-docs.h.in:175
diff --git a/po/gu.po b/po/gu.po
index a497efe1..911c35e1 100644
--- a/po/gu.po
+++ b/po/gu.po
@@ -14,7 +14,7 @@ msgstr ""
 "Project-Id-Version: NetworkManager\n"
 "Report-Msgid-Bugs-To: https://gitlab.freedesktop.org/NetworkManager/"
 "NetworkManager/issues\n"
-"POT-Creation-Date: 2022-08-26 16:42+0200\n"
+"POT-Creation-Date: 2022-08-11 16:06-0300\n"
 "PO-Revision-Date: 2017-04-21 05:23-0400\n"
 "Last-Translator: Copied by Zanata <copied-by-zanata@zanata.org>\n"
 "Language-Team: American English <kde-i18n-doc@kde.org>\n"
@@ -1246,7 +1246,7 @@ msgstr ""
 #: src/libnm-core-impl/nm-setting-cdma.c:144
 #: src/libnm-core-impl/nm-setting-connection.c:1149
 #: src/libnm-core-impl/nm-setting-connection.c:1187
-#: src/libnm-core-impl/nm-setting-connection.c:1516
+#: src/libnm-core-impl/nm-setting-connection.c:1530
 #: src/libnm-core-impl/nm-setting-ip-config.c:5423
 #: src/libnm-core-impl/nm-setting-ip-tunnel.c:387
 #: src/libnm-core-impl/nm-setting-olpc-mesh.c:99
@@ -1596,7 +1596,7 @@ msgstr ""
 #: src/libnm-core-impl/nm-setting-cdma.c:159
 #: src/libnm-core-impl/nm-setting-connection.c:1159
 #: src/libnm-core-impl/nm-setting-connection.c:1202
-#: src/libnm-core-impl/nm-setting-connection.c:1454
+#: src/libnm-core-impl/nm-setting-connection.c:1468
 #: src/libnm-core-impl/nm-setting-gsm.c:298
 #: src/libnm-core-impl/nm-setting-gsm.c:353
 #: src/libnm-core-impl/nm-setting-gsm.c:396
@@ -1884,7 +1884,7 @@ msgstr "અનà«àª•à«àª°àª®àª£àª¿àª•ા '%s' યોગà«àª¯ નથી"
 #: src/libnm-core-impl/nm-setting-connection.c:1351
 #: src/libnm-core-impl/nm-setting-connection.c:1365
 #: src/libnm-core-impl/nm-setting-connection.c:1379
-#: src/libnm-core-impl/nm-setting-connection.c:1440
+#: src/libnm-core-impl/nm-setting-connection.c:1454
 #, fuzzy, c-format
 msgid "value %d is not valid"
 msgstr "અનà«àª•à«àª°àª®àª£àª¿àª•ા '%s' યોગà«àª¯ નથી"
@@ -1893,52 +1893,56 @@ msgstr "અનà«àª•à«àª°àª®àª£àª¿àª•ા '%s' યોગà«àª¯ નથી"
 msgid "\"disabled\" flag cannot be combined with other MPTCP flags"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1409
+#: src/libnm-core-impl/nm-setting-connection.c:1411
+msgid "\"enabled\" and \"enabled-on-global-iface\" flag cannot be set together"
+msgstr ""
+
+#: src/libnm-core-impl/nm-setting-connection.c:1422
 msgid "cannot set both \"signal\" and \"fullmesh\" MPTCP flags"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1421
+#: src/libnm-core-impl/nm-setting-connection.c:1435
 #, fuzzy, c-format
 msgid "value %u is not a valid combination of MPTCP flags"
 msgstr "'%s' યોગà«àª¯ નથી;  [%s] અથવા [%s] વાપરો"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1468
+#: src/libnm-core-impl/nm-setting-connection.c:1482
 msgid "DHCP option cannot be longer than 255 characters"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1479
+#: src/libnm-core-impl/nm-setting-connection.c:1493
 #, fuzzy
 msgid "MUD URL is not a valid URL"
 msgstr "અનà«àª•à«àª°àª®àª£àª¿àª•ા '%s' યોગà«àª¯ નથી"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1499
+#: src/libnm-core-impl/nm-setting-connection.c:1513
 #, fuzzy
 msgid "invalid permissions not in format \"user:$UNAME[:]\""
 msgstr "અયોગà«àª¯ IPv4 મારà«àª— '%s'"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1528
+#: src/libnm-core-impl/nm-setting-connection.c:1542
 #, c-format
 msgid "property type should be set to '%s'"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1546
+#: src/libnm-core-impl/nm-setting-connection.c:1560
 #, fuzzy, c-format
 msgid "slave-type '%s' requires a '%s' setting in the connection"
 msgstr "જોડાણમાં '%s' સà«àª¯à«‹àªœàª¨àª¨à«€ હાજરીની જરૂરિયાત છે"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1557
+#: src/libnm-core-impl/nm-setting-connection.c:1571
 #, c-format
 msgid ""
 "Detect a slave connection with '%s' set and a port type '%s'. '%s' should be "
 "set to '%s'"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1583
+#: src/libnm-core-impl/nm-setting-connection.c:1597
 #, fuzzy, c-format
 msgid "A slave connection with '%s' set to '%s' cannot have a '%s' setting"
 msgstr "'%s' અથવા '%s' સà«àª¯à«‹àªœàª¨àª¨à«€ જરૂરિયાત છે"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1600
+#: src/libnm-core-impl/nm-setting-connection.c:1614
 msgid "UUID needs normalization"
 msgstr ""
 
@@ -6071,29 +6075,25 @@ msgid ""
 "fc00::/7) and IPv6 privacy extension addresses (rfc3041, ipv6.ip6-privacy) "
 "will be excluded from being configured as endpoints. If \"disabled\" (0x1), "
 "MPTCP handling for the interface is disabled and no endpoints are "
-"registered. The \"enabled\" (0x2) flag means that MPTCP handling is enabled. "
-"This flag can also be implied from the presence of other flags. Even when "
-"enabled, MPTCP handling will by default still be disabled unless \"/proc/sys/"
-"net/mptcp/enabled\" sysctl is on. NetworkManager does not change the sysctl "
-"and this is up to the administrator or distribution. To configure endpoints "
-"even if the sysctl is disabled, \"also-without-sysctl\" (0x4) flag can be "
-"used. In that case, NetworkManager doesn't look at the sysctl and configures "
-"endpoints regardless. Even when enabled, NetworkManager will only configure "
-"MPTCP endpoints for a certain address family, if there is a unicast default "
-"route (0.0.0.0/0 or ::/0) in the main routing table. The flag \"also-without-"
-"default-route\" (0x8) can override that. When MPTCP handling is enabled then "
-"endpoints are configured with the specified address flags \"signal\" (0x10), "
-"\"subflow\" (0x20), \"backup\" (0x40), \"fullmesh\" (0x80). See ip-mptcp(8) "
-"manual for additional information about the flags. If the flags are zero "
-"(0x0), the global connection default from NetworkManager.conf is honored. If "
-"still unspecified, the fallback is \"enabled,subflow\". Note that this means "
-"that MPTCP is by default done depending on the \"/proc/sys/net/mptcp/"
-"enabled\" sysctl. NetworkManager does not change the MPTCP limits nor enable "
-"MPTCP via \"/proc/sys/net/mptcp/enabled\". That is a host configuration "
-"which the admin can change via sysctl and ip-mptcp. Strict reverse path "
-"filtering (rp_filter) breaks many MPTCP use cases, so when MPTCP handling "
-"for IPv4 addresses on the interface is enabled, NetworkManager would loosen "
-"the strict reverse path filtering (1) to the loose setting (2)."
+"registered. The flag \"enabled-on-global-iface\" (0x2) means that MPTCP "
+"handling is enabled if the interface configures a default route in the main "
+"routing table. This choice is per-address family, for example if there is an "
+"IPv4 default route 0.0.0.0/0, IPv4 endpoints are configured. The "
+"\"enabled\" (0x4) flag means that MPTCP handling is explicitly enabled. This "
+"flag can also be implied from the presence of other flags. If MPTCP handling "
+"is enabled, then endpoints will be configured with the specified address "
+"flags \"signal\" (0x10), \"subflow\" (0x20), \"backup\" (0x40), "
+"\"fullmesh\" (0x80). See ip-mptcp(8) manual for additional information about "
+"the flags. If the flags are zero, the global connection default from "
+"NetworkManager.conf is honored. If still unspecified, the fallback is either "
+"\"disabled\" or \"enabled-on-global-iface,subflow\" depending on \"/proc/sys/"
+"net/mptcp/enabled\". NetworkManager does not change the MPTCP limits nor "
+"enable MPTCP via \"/proc/sys/net/mptcp/enabled\". That is a host "
+"configuration which the admin can change via sysctl and ip-mptcp. Strict "
+"reverse path filtering (rp_filter) breaks many MPTCP use cases, so when "
+"MPTCP handling for IPv4 addresses on the interface is enabled, "
+"NetworkManager would loosen the strict reverse path filtering (1) to the "
+"loose setting (2)."
 msgstr ""
 
 #: src/libnmc-setting/settings-docs.h.in:18
@@ -7327,13 +7327,11 @@ msgstr ""
 #: src/libnmc-setting/settings-docs.h.in:200
 msgid ""
 "The gateway associated with this configuration. This is only meaningful if "
-"\"addresses\" is also set. Setting the gateway causes NetworkManager to "
-"configure a standard default route with the gateway as next hop. This is "
-"ignored if \"never-default\" is set. An alternative is to configure the "
-"default route explicitly with a manual route and /0 as prefix length. Note "
-"that the gateway usually conflicts with routing that NetworkManager "
-"configures for WireGuard interfaces, so usually it should not be set in that "
-"case. See \"ip4-auto-default-route\"."
+"\"addresses\" is also set. The gateway's main purpose is to control the next "
+"hop of the standard default route on the device. Hence, the gateway property "
+"conflicts with \"never-default\" and will be automatically dropped if the IP "
+"configuration is set to never-default. As an alternative to set the gateway, "
+"configure a static default route with /0 as prefix length."
 msgstr ""
 
 #: src/libnmc-setting/settings-docs.h.in:175
diff --git a/po/he.po b/po/he.po
index bc5e5351..e9c6ed78 100644
--- a/po/he.po
+++ b/po/he.po
@@ -8,7 +8,7 @@ msgstr ""
 "Project-Id-Version: NetworkManager\n"
 "Report-Msgid-Bugs-To: https://gitlab.freedesktop.org/NetworkManager/"
 "NetworkManager/issues\n"
-"POT-Creation-Date: 2022-08-26 16:42+0200\n"
+"POT-Creation-Date: 2022-08-11 16:06-0300\n"
 "PO-Revision-Date: 2016-04-16 05:26-0400\n"
 "Last-Translator: Copied by Zanata <copied-by-zanata@zanata.org>\n"
 "Language-Team: he\n"
@@ -1134,7 +1134,7 @@ msgstr ""
 #: src/libnm-core-impl/nm-setting-cdma.c:144
 #: src/libnm-core-impl/nm-setting-connection.c:1149
 #: src/libnm-core-impl/nm-setting-connection.c:1187
-#: src/libnm-core-impl/nm-setting-connection.c:1516
+#: src/libnm-core-impl/nm-setting-connection.c:1530
 #: src/libnm-core-impl/nm-setting-ip-config.c:5423
 #: src/libnm-core-impl/nm-setting-ip-tunnel.c:387
 #: src/libnm-core-impl/nm-setting-olpc-mesh.c:99
@@ -1475,7 +1475,7 @@ msgstr ""
 #: src/libnm-core-impl/nm-setting-cdma.c:159
 #: src/libnm-core-impl/nm-setting-connection.c:1159
 #: src/libnm-core-impl/nm-setting-connection.c:1202
-#: src/libnm-core-impl/nm-setting-connection.c:1454
+#: src/libnm-core-impl/nm-setting-connection.c:1468
 #: src/libnm-core-impl/nm-setting-gsm.c:298
 #: src/libnm-core-impl/nm-setting-gsm.c:353
 #: src/libnm-core-impl/nm-setting-gsm.c:396
@@ -1756,7 +1756,7 @@ msgstr ""
 #: src/libnm-core-impl/nm-setting-connection.c:1351
 #: src/libnm-core-impl/nm-setting-connection.c:1365
 #: src/libnm-core-impl/nm-setting-connection.c:1379
-#: src/libnm-core-impl/nm-setting-connection.c:1440
+#: src/libnm-core-impl/nm-setting-connection.c:1454
 #, c-format
 msgid "value %d is not valid"
 msgstr ""
@@ -1765,50 +1765,54 @@ msgstr ""
 msgid "\"disabled\" flag cannot be combined with other MPTCP flags"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1409
+#: src/libnm-core-impl/nm-setting-connection.c:1411
+msgid "\"enabled\" and \"enabled-on-global-iface\" flag cannot be set together"
+msgstr ""
+
+#: src/libnm-core-impl/nm-setting-connection.c:1422
 msgid "cannot set both \"signal\" and \"fullmesh\" MPTCP flags"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1421
+#: src/libnm-core-impl/nm-setting-connection.c:1435
 #, c-format
 msgid "value %u is not a valid combination of MPTCP flags"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1468
+#: src/libnm-core-impl/nm-setting-connection.c:1482
 msgid "DHCP option cannot be longer than 255 characters"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1479
+#: src/libnm-core-impl/nm-setting-connection.c:1493
 msgid "MUD URL is not a valid URL"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1499
+#: src/libnm-core-impl/nm-setting-connection.c:1513
 msgid "invalid permissions not in format \"user:$UNAME[:]\""
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1528
+#: src/libnm-core-impl/nm-setting-connection.c:1542
 #, c-format
 msgid "property type should be set to '%s'"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1546
+#: src/libnm-core-impl/nm-setting-connection.c:1560
 #, c-format
 msgid "slave-type '%s' requires a '%s' setting in the connection"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1557
+#: src/libnm-core-impl/nm-setting-connection.c:1571
 #, c-format
 msgid ""
 "Detect a slave connection with '%s' set and a port type '%s'. '%s' should be "
 "set to '%s'"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1583
+#: src/libnm-core-impl/nm-setting-connection.c:1597
 #, c-format
 msgid "A slave connection with '%s' set to '%s' cannot have a '%s' setting"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1600
+#: src/libnm-core-impl/nm-setting-connection.c:1614
 msgid "UUID needs normalization"
 msgstr ""
 
@@ -5668,29 +5672,25 @@ msgid ""
 "fc00::/7) and IPv6 privacy extension addresses (rfc3041, ipv6.ip6-privacy) "
 "will be excluded from being configured as endpoints. If \"disabled\" (0x1), "
 "MPTCP handling for the interface is disabled and no endpoints are "
-"registered. The \"enabled\" (0x2) flag means that MPTCP handling is enabled. "
-"This flag can also be implied from the presence of other flags. Even when "
-"enabled, MPTCP handling will by default still be disabled unless \"/proc/sys/"
-"net/mptcp/enabled\" sysctl is on. NetworkManager does not change the sysctl "
-"and this is up to the administrator or distribution. To configure endpoints "
-"even if the sysctl is disabled, \"also-without-sysctl\" (0x4) flag can be "
-"used. In that case, NetworkManager doesn't look at the sysctl and configures "
-"endpoints regardless. Even when enabled, NetworkManager will only configure "
-"MPTCP endpoints for a certain address family, if there is a unicast default "
-"route (0.0.0.0/0 or ::/0) in the main routing table. The flag \"also-without-"
-"default-route\" (0x8) can override that. When MPTCP handling is enabled then "
-"endpoints are configured with the specified address flags \"signal\" (0x10), "
-"\"subflow\" (0x20), \"backup\" (0x40), \"fullmesh\" (0x80). See ip-mptcp(8) "
-"manual for additional information about the flags. If the flags are zero "
-"(0x0), the global connection default from NetworkManager.conf is honored. If "
-"still unspecified, the fallback is \"enabled,subflow\". Note that this means "
-"that MPTCP is by default done depending on the \"/proc/sys/net/mptcp/"
-"enabled\" sysctl. NetworkManager does not change the MPTCP limits nor enable "
-"MPTCP via \"/proc/sys/net/mptcp/enabled\". That is a host configuration "
-"which the admin can change via sysctl and ip-mptcp. Strict reverse path "
-"filtering (rp_filter) breaks many MPTCP use cases, so when MPTCP handling "
-"for IPv4 addresses on the interface is enabled, NetworkManager would loosen "
-"the strict reverse path filtering (1) to the loose setting (2)."
+"registered. The flag \"enabled-on-global-iface\" (0x2) means that MPTCP "
+"handling is enabled if the interface configures a default route in the main "
+"routing table. This choice is per-address family, for example if there is an "
+"IPv4 default route 0.0.0.0/0, IPv4 endpoints are configured. The "
+"\"enabled\" (0x4) flag means that MPTCP handling is explicitly enabled. This "
+"flag can also be implied from the presence of other flags. If MPTCP handling "
+"is enabled, then endpoints will be configured with the specified address "
+"flags \"signal\" (0x10), \"subflow\" (0x20), \"backup\" (0x40), "
+"\"fullmesh\" (0x80). See ip-mptcp(8) manual for additional information about "
+"the flags. If the flags are zero, the global connection default from "
+"NetworkManager.conf is honored. If still unspecified, the fallback is either "
+"\"disabled\" or \"enabled-on-global-iface,subflow\" depending on \"/proc/sys/"
+"net/mptcp/enabled\". NetworkManager does not change the MPTCP limits nor "
+"enable MPTCP via \"/proc/sys/net/mptcp/enabled\". That is a host "
+"configuration which the admin can change via sysctl and ip-mptcp. Strict "
+"reverse path filtering (rp_filter) breaks many MPTCP use cases, so when "
+"MPTCP handling for IPv4 addresses on the interface is enabled, "
+"NetworkManager would loosen the strict reverse path filtering (1) to the "
+"loose setting (2)."
 msgstr ""
 
 #: src/libnmc-setting/settings-docs.h.in:18
@@ -6924,13 +6924,11 @@ msgstr ""
 #: src/libnmc-setting/settings-docs.h.in:200
 msgid ""
 "The gateway associated with this configuration. This is only meaningful if "
-"\"addresses\" is also set. Setting the gateway causes NetworkManager to "
-"configure a standard default route with the gateway as next hop. This is "
-"ignored if \"never-default\" is set. An alternative is to configure the "
-"default route explicitly with a manual route and /0 as prefix length. Note "
-"that the gateway usually conflicts with routing that NetworkManager "
-"configures for WireGuard interfaces, so usually it should not be set in that "
-"case. See \"ip4-auto-default-route\"."
+"\"addresses\" is also set. The gateway's main purpose is to control the next "
+"hop of the standard default route on the device. Hence, the gateway property "
+"conflicts with \"never-default\" and will be automatically dropped if the IP "
+"configuration is set to never-default. As an alternative to set the gateway, "
+"configure a static default route with /0 as prefix length."
 msgstr ""
 
 #: src/libnmc-setting/settings-docs.h.in:175
diff --git a/po/hi.po b/po/hi.po
index 7fc01380..18233e4d 100644
--- a/po/hi.po
+++ b/po/hi.po
@@ -12,7 +12,7 @@ msgstr ""
 "Project-Id-Version: NetworkManager\n"
 "Report-Msgid-Bugs-To: https://gitlab.freedesktop.org/NetworkManager/"
 "NetworkManager/issues\n"
-"POT-Creation-Date: 2022-08-26 16:42+0200\n"
+"POT-Creation-Date: 2022-08-11 16:06-0300\n"
 "PO-Revision-Date: 2017-04-21 05:25-0400\n"
 "Last-Translator: Copied by Zanata <copied-by-zanata@zanata.org>\n"
 "Language-Team: Hindi <kde-i18n-doc@kde.org>\n"
@@ -1227,7 +1227,7 @@ msgstr ""
 #: src/libnm-core-impl/nm-setting-cdma.c:144
 #: src/libnm-core-impl/nm-setting-connection.c:1149
 #: src/libnm-core-impl/nm-setting-connection.c:1187
-#: src/libnm-core-impl/nm-setting-connection.c:1516
+#: src/libnm-core-impl/nm-setting-connection.c:1530
 #: src/libnm-core-impl/nm-setting-ip-config.c:5423
 #: src/libnm-core-impl/nm-setting-ip-tunnel.c:387
 #: src/libnm-core-impl/nm-setting-olpc-mesh.c:99
@@ -1577,7 +1577,7 @@ msgstr ""
 #: src/libnm-core-impl/nm-setting-cdma.c:159
 #: src/libnm-core-impl/nm-setting-connection.c:1159
 #: src/libnm-core-impl/nm-setting-connection.c:1202
-#: src/libnm-core-impl/nm-setting-connection.c:1454
+#: src/libnm-core-impl/nm-setting-connection.c:1468
 #: src/libnm-core-impl/nm-setting-gsm.c:298
 #: src/libnm-core-impl/nm-setting-gsm.c:353
 #: src/libnm-core-impl/nm-setting-gsm.c:396
@@ -1865,7 +1865,7 @@ msgstr "मान '%s' à¤à¤• वैध UUID नहीं है"
 #: src/libnm-core-impl/nm-setting-connection.c:1351
 #: src/libnm-core-impl/nm-setting-connection.c:1365
 #: src/libnm-core-impl/nm-setting-connection.c:1379
-#: src/libnm-core-impl/nm-setting-connection.c:1440
+#: src/libnm-core-impl/nm-setting-connection.c:1454
 #, fuzzy, c-format
 msgid "value %d is not valid"
 msgstr "मान '%s' à¤à¤• वैध UUID नहीं है"
@@ -1874,52 +1874,56 @@ msgstr "मान '%s' à¤à¤• वैध UUID नहीं है"
 msgid "\"disabled\" flag cannot be combined with other MPTCP flags"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1409
+#: src/libnm-core-impl/nm-setting-connection.c:1411
+msgid "\"enabled\" and \"enabled-on-global-iface\" flag cannot be set together"
+msgstr ""
+
+#: src/libnm-core-impl/nm-setting-connection.c:1422
 msgid "cannot set both \"signal\" and \"fullmesh\" MPTCP flags"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1421
+#: src/libnm-core-impl/nm-setting-connection.c:1435
 #, fuzzy, c-format
 msgid "value %u is not a valid combination of MPTCP flags"
 msgstr "'%s' वैध नहीं है; [%s] या [%s] उपयोग करें"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1468
+#: src/libnm-core-impl/nm-setting-connection.c:1482
 msgid "DHCP option cannot be longer than 255 characters"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1479
+#: src/libnm-core-impl/nm-setting-connection.c:1493
 #, fuzzy
 msgid "MUD URL is not a valid URL"
 msgstr "सूची '%s' वैध नहीं है"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1499
+#: src/libnm-core-impl/nm-setting-connection.c:1513
 #, fuzzy
 msgid "invalid permissions not in format \"user:$UNAME[:]\""
 msgstr "अवैध IPv4 रूट '%s'"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1528
+#: src/libnm-core-impl/nm-setting-connection.c:1542
 #, c-format
 msgid "property type should be set to '%s'"
 msgstr "विशेषता किसà¥à¤® को '%s' पर सेट होना चाहिà¤"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1546
+#: src/libnm-core-impl/nm-setting-connection.c:1560
 #, c-format
 msgid "slave-type '%s' requires a '%s' setting in the connection"
 msgstr "slave-type '%s' के लिठà¤à¤• '%s' सेटिंग कनेकà¥à¤¶à¤¨ में चाहिà¤"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1557
+#: src/libnm-core-impl/nm-setting-connection.c:1571
 #, c-format
 msgid ""
 "Detect a slave connection with '%s' set and a port type '%s'. '%s' should be "
 "set to '%s'"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1583
+#: src/libnm-core-impl/nm-setting-connection.c:1597
 #, fuzzy, c-format
 msgid "A slave connection with '%s' set to '%s' cannot have a '%s' setting"
 msgstr "'%s' या '%s' सेटिंग की जरूरत है"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1600
+#: src/libnm-core-impl/nm-setting-connection.c:1614
 msgid "UUID needs normalization"
 msgstr ""
 
@@ -6076,29 +6080,25 @@ msgid ""
 "fc00::/7) and IPv6 privacy extension addresses (rfc3041, ipv6.ip6-privacy) "
 "will be excluded from being configured as endpoints. If \"disabled\" (0x1), "
 "MPTCP handling for the interface is disabled and no endpoints are "
-"registered. The \"enabled\" (0x2) flag means that MPTCP handling is enabled. "
-"This flag can also be implied from the presence of other flags. Even when "
-"enabled, MPTCP handling will by default still be disabled unless \"/proc/sys/"
-"net/mptcp/enabled\" sysctl is on. NetworkManager does not change the sysctl "
-"and this is up to the administrator or distribution. To configure endpoints "
-"even if the sysctl is disabled, \"also-without-sysctl\" (0x4) flag can be "
-"used. In that case, NetworkManager doesn't look at the sysctl and configures "
-"endpoints regardless. Even when enabled, NetworkManager will only configure "
-"MPTCP endpoints for a certain address family, if there is a unicast default "
-"route (0.0.0.0/0 or ::/0) in the main routing table. The flag \"also-without-"
-"default-route\" (0x8) can override that. When MPTCP handling is enabled then "
-"endpoints are configured with the specified address flags \"signal\" (0x10), "
-"\"subflow\" (0x20), \"backup\" (0x40), \"fullmesh\" (0x80). See ip-mptcp(8) "
-"manual for additional information about the flags. If the flags are zero "
-"(0x0), the global connection default from NetworkManager.conf is honored. If "
-"still unspecified, the fallback is \"enabled,subflow\". Note that this means "
-"that MPTCP is by default done depending on the \"/proc/sys/net/mptcp/"
-"enabled\" sysctl. NetworkManager does not change the MPTCP limits nor enable "
-"MPTCP via \"/proc/sys/net/mptcp/enabled\". That is a host configuration "
-"which the admin can change via sysctl and ip-mptcp. Strict reverse path "
-"filtering (rp_filter) breaks many MPTCP use cases, so when MPTCP handling "
-"for IPv4 addresses on the interface is enabled, NetworkManager would loosen "
-"the strict reverse path filtering (1) to the loose setting (2)."
+"registered. The flag \"enabled-on-global-iface\" (0x2) means that MPTCP "
+"handling is enabled if the interface configures a default route in the main "
+"routing table. This choice is per-address family, for example if there is an "
+"IPv4 default route 0.0.0.0/0, IPv4 endpoints are configured. The "
+"\"enabled\" (0x4) flag means that MPTCP handling is explicitly enabled. This "
+"flag can also be implied from the presence of other flags. If MPTCP handling "
+"is enabled, then endpoints will be configured with the specified address "
+"flags \"signal\" (0x10), \"subflow\" (0x20), \"backup\" (0x40), "
+"\"fullmesh\" (0x80). See ip-mptcp(8) manual for additional information about "
+"the flags. If the flags are zero, the global connection default from "
+"NetworkManager.conf is honored. If still unspecified, the fallback is either "
+"\"disabled\" or \"enabled-on-global-iface,subflow\" depending on \"/proc/sys/"
+"net/mptcp/enabled\". NetworkManager does not change the MPTCP limits nor "
+"enable MPTCP via \"/proc/sys/net/mptcp/enabled\". That is a host "
+"configuration which the admin can change via sysctl and ip-mptcp. Strict "
+"reverse path filtering (rp_filter) breaks many MPTCP use cases, so when "
+"MPTCP handling for IPv4 addresses on the interface is enabled, "
+"NetworkManager would loosen the strict reverse path filtering (1) to the "
+"loose setting (2)."
 msgstr ""
 
 #: src/libnmc-setting/settings-docs.h.in:18
@@ -7332,13 +7332,11 @@ msgstr ""
 #: src/libnmc-setting/settings-docs.h.in:200
 msgid ""
 "The gateway associated with this configuration. This is only meaningful if "
-"\"addresses\" is also set. Setting the gateway causes NetworkManager to "
-"configure a standard default route with the gateway as next hop. This is "
-"ignored if \"never-default\" is set. An alternative is to configure the "
-"default route explicitly with a manual route and /0 as prefix length. Note "
-"that the gateway usually conflicts with routing that NetworkManager "
-"configures for WireGuard interfaces, so usually it should not be set in that "
-"case. See \"ip4-auto-default-route\"."
+"\"addresses\" is also set. The gateway's main purpose is to control the next "
+"hop of the standard default route on the device. Hence, the gateway property "
+"conflicts with \"never-default\" and will be automatically dropped if the IP "
+"configuration is set to never-default. As an alternative to set the gateway, "
+"configure a static default route with /0 as prefix length."
 msgstr ""
 
 #: src/libnmc-setting/settings-docs.h.in:175
diff --git a/po/hr.gmo b/po/hr.gmo
index d787df4a..c4f7fcf4 100644
--- a/po/hr.gmo
+++ b/po/hr.gmo
Binary files differdiff --git a/po/hr.po b/po/hr.po
index 5ff85504..52d41a92 100644
--- a/po/hr.po
+++ b/po/hr.po
@@ -11,7 +11,7 @@ msgstr ""
 "Project-Id-Version: NetworkManager\n"
 "Report-Msgid-Bugs-To: https://gitlab.freedesktop.org/NetworkManager/"
 "NetworkManager/issues\n"
-"POT-Creation-Date: 2022-08-26 16:42+0200\n"
+"POT-Creation-Date: 2022-08-11 16:06-0300\n"
 "PO-Revision-Date: 2022-03-31 20:12+0200\n"
 "Last-Translator: gogo <trebelnik2@gmail.com>\n"
 "Language-Team: Croatian <hr@li.org>\n"
@@ -1178,7 +1178,7 @@ msgstr "neoÄekivani uuid %s umjesto %s"
 #: src/libnm-core-impl/nm-setting-cdma.c:144
 #: src/libnm-core-impl/nm-setting-connection.c:1149
 #: src/libnm-core-impl/nm-setting-connection.c:1187
-#: src/libnm-core-impl/nm-setting-connection.c:1516
+#: src/libnm-core-impl/nm-setting-connection.c:1530
 #: src/libnm-core-impl/nm-setting-ip-config.c:5423
 #: src/libnm-core-impl/nm-setting-ip-tunnel.c:387
 #: src/libnm-core-impl/nm-setting-olpc-mesh.c:99
@@ -1519,7 +1519,7 @@ msgstr "lozinka nije podržana kada vjerodajnica nije PKCS#11 token"
 #: src/libnm-core-impl/nm-setting-cdma.c:159
 #: src/libnm-core-impl/nm-setting-connection.c:1159
 #: src/libnm-core-impl/nm-setting-connection.c:1202
-#: src/libnm-core-impl/nm-setting-connection.c:1454
+#: src/libnm-core-impl/nm-setting-connection.c:1468
 #: src/libnm-core-impl/nm-setting-gsm.c:298
 #: src/libnm-core-impl/nm-setting-gsm.c:353
 #: src/libnm-core-impl/nm-setting-gsm.c:396
@@ -1804,7 +1804,7 @@ msgstr "vrijednost ograniÄenja podataka %d nije valjana"
 #: src/libnm-core-impl/nm-setting-connection.c:1351
 #: src/libnm-core-impl/nm-setting-connection.c:1365
 #: src/libnm-core-impl/nm-setting-connection.c:1379
-#: src/libnm-core-impl/nm-setting-connection.c:1440
+#: src/libnm-core-impl/nm-setting-connection.c:1454
 #, c-format
 msgid "value %d is not valid"
 msgstr "vrijednost %d nije valjana"
@@ -1813,39 +1813,43 @@ msgstr "vrijednost %d nije valjana"
 msgid "\"disabled\" flag cannot be combined with other MPTCP flags"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1409
+#: src/libnm-core-impl/nm-setting-connection.c:1411
+msgid "\"enabled\" and \"enabled-on-global-iface\" flag cannot be set together"
+msgstr ""
+
+#: src/libnm-core-impl/nm-setting-connection.c:1422
 msgid "cannot set both \"signal\" and \"fullmesh\" MPTCP flags"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1421
+#: src/libnm-core-impl/nm-setting-connection.c:1435
 #, fuzzy, c-format
 #| msgid "'%u' flags are not valid; use combination of %s"
 msgid "value %u is not a valid combination of MPTCP flags"
 msgstr "'%u' oznaka nije valjana; koristite kombinaciju %s"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1468
+#: src/libnm-core-impl/nm-setting-connection.c:1482
 msgid "DHCP option cannot be longer than 255 characters"
 msgstr "DHCP mogućnost ne može sadržavati više od 255 znakova"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1479
+#: src/libnm-core-impl/nm-setting-connection.c:1493
 msgid "MUD URL is not a valid URL"
 msgstr "MUD (Opis upotrebe proizvoÄ‘aÄa) URL nije valjani URL"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1499
+#: src/libnm-core-impl/nm-setting-connection.c:1513
 msgid "invalid permissions not in format \"user:$UNAME[:]\""
 msgstr "nevaljane dozvole nisu u obliku \"user:$UNAME[:]\""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1528
+#: src/libnm-core-impl/nm-setting-connection.c:1542
 #, c-format
 msgid "property type should be set to '%s'"
 msgstr "vrsta svojstva treba postaviti na '%s'"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1546
+#: src/libnm-core-impl/nm-setting-connection.c:1560
 #, c-format
 msgid "slave-type '%s' requires a '%s' setting in the connection"
 msgstr "slave-type '%s' zahtijeva '%s' postavku u povezivanju"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1557
+#: src/libnm-core-impl/nm-setting-connection.c:1571
 #, c-format
 msgid ""
 "Detect a slave connection with '%s' set and a port type '%s'. '%s' should be "
@@ -1854,14 +1858,14 @@ msgstr ""
 "Otkriveno priÄuvno povezivanje s '%s' postavkom i ulazom vrste '%s'. '%s' "
 "treba postaviti na '%s'"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1583
+#: src/libnm-core-impl/nm-setting-connection.c:1597
 #, c-format
 msgid "A slave connection with '%s' set to '%s' cannot have a '%s' setting"
 msgstr ""
 "PriÄuvno povezivanje sa '%s' postavljeno na '%s' ne može sadržavati '%s' "
 "postavku"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1600
+#: src/libnm-core-impl/nm-setting-connection.c:1614
 msgid "UUID needs normalization"
 msgstr "UUID treba normalizaciju"
 
@@ -6040,29 +6044,25 @@ msgid ""
 "fc00::/7) and IPv6 privacy extension addresses (rfc3041, ipv6.ip6-privacy) "
 "will be excluded from being configured as endpoints. If \"disabled\" (0x1), "
 "MPTCP handling for the interface is disabled and no endpoints are "
-"registered. The \"enabled\" (0x2) flag means that MPTCP handling is enabled. "
-"This flag can also be implied from the presence of other flags. Even when "
-"enabled, MPTCP handling will by default still be disabled unless \"/proc/sys/"
-"net/mptcp/enabled\" sysctl is on. NetworkManager does not change the sysctl "
-"and this is up to the administrator or distribution. To configure endpoints "
-"even if the sysctl is disabled, \"also-without-sysctl\" (0x4) flag can be "
-"used. In that case, NetworkManager doesn't look at the sysctl and configures "
-"endpoints regardless. Even when enabled, NetworkManager will only configure "
-"MPTCP endpoints for a certain address family, if there is a unicast default "
-"route (0.0.0.0/0 or ::/0) in the main routing table. The flag \"also-without-"
-"default-route\" (0x8) can override that. When MPTCP handling is enabled then "
-"endpoints are configured with the specified address flags \"signal\" (0x10), "
-"\"subflow\" (0x20), \"backup\" (0x40), \"fullmesh\" (0x80). See ip-mptcp(8) "
-"manual for additional information about the flags. If the flags are zero "
-"(0x0), the global connection default from NetworkManager.conf is honored. If "
-"still unspecified, the fallback is \"enabled,subflow\". Note that this means "
-"that MPTCP is by default done depending on the \"/proc/sys/net/mptcp/"
-"enabled\" sysctl. NetworkManager does not change the MPTCP limits nor enable "
-"MPTCP via \"/proc/sys/net/mptcp/enabled\". That is a host configuration "
-"which the admin can change via sysctl and ip-mptcp. Strict reverse path "
-"filtering (rp_filter) breaks many MPTCP use cases, so when MPTCP handling "
-"for IPv4 addresses on the interface is enabled, NetworkManager would loosen "
-"the strict reverse path filtering (1) to the loose setting (2)."
+"registered. The flag \"enabled-on-global-iface\" (0x2) means that MPTCP "
+"handling is enabled if the interface configures a default route in the main "
+"routing table. This choice is per-address family, for example if there is an "
+"IPv4 default route 0.0.0.0/0, IPv4 endpoints are configured. The "
+"\"enabled\" (0x4) flag means that MPTCP handling is explicitly enabled. This "
+"flag can also be implied from the presence of other flags. If MPTCP handling "
+"is enabled, then endpoints will be configured with the specified address "
+"flags \"signal\" (0x10), \"subflow\" (0x20), \"backup\" (0x40), "
+"\"fullmesh\" (0x80). See ip-mptcp(8) manual for additional information about "
+"the flags. If the flags are zero, the global connection default from "
+"NetworkManager.conf is honored. If still unspecified, the fallback is either "
+"\"disabled\" or \"enabled-on-global-iface,subflow\" depending on \"/proc/sys/"
+"net/mptcp/enabled\". NetworkManager does not change the MPTCP limits nor "
+"enable MPTCP via \"/proc/sys/net/mptcp/enabled\". That is a host "
+"configuration which the admin can change via sysctl and ip-mptcp. Strict "
+"reverse path filtering (rp_filter) breaks many MPTCP use cases, so when "
+"MPTCP handling for IPv4 addresses on the interface is enabled, "
+"NetworkManager would loosen the strict reverse path filtering (1) to the "
+"loose setting (2)."
 msgstr ""
 
 #: src/libnmc-setting/settings-docs.h.in:18
@@ -7916,24 +7916,13 @@ msgstr ""
 
 #: src/libnmc-setting/settings-docs.h.in:174
 #: src/libnmc-setting/settings-docs.h.in:200
-#, fuzzy
-#| msgid ""
-#| "The gateway associated with this configuration. This is only meaningful "
-#| "if \"addresses\" is also set. The gateway's main purpose is to control "
-#| "the next hop of the standard default route on the device. Hence, the "
-#| "gateway property conflicts with \"never-default\" and will be "
-#| "automatically dropped if the IP configuration is set to never-default. As "
-#| "an alternative to set the gateway, configure a static default route "
-#| "with /0 as prefix length."
 msgid ""
 "The gateway associated with this configuration. This is only meaningful if "
-"\"addresses\" is also set. Setting the gateway causes NetworkManager to "
-"configure a standard default route with the gateway as next hop. This is "
-"ignored if \"never-default\" is set. An alternative is to configure the "
-"default route explicitly with a manual route and /0 as prefix length. Note "
-"that the gateway usually conflicts with routing that NetworkManager "
-"configures for WireGuard interfaces, so usually it should not be set in that "
-"case. See \"ip4-auto-default-route\"."
+"\"addresses\" is also set. The gateway's main purpose is to control the next "
+"hop of the standard default route on the device. Hence, the gateway property "
+"conflicts with \"never-default\" and will be automatically dropped if the IP "
+"configuration is set to never-default. As an alternative to set the gateway, "
+"configure a static default route with /0 as prefix length."
 msgstr ""
 "Pristupnik pridružen ovom podešavanju. Ovo ima smisla ako je \"addresses\" "
 "postavljena. Glavna svrha pristupnika je upravljanje sljedećim skokom "
diff --git a/po/hu.po b/po/hu.po
index 61c53ba9..17859471 100644
--- a/po/hu.po
+++ b/po/hu.po
@@ -12,7 +12,7 @@ msgstr ""
 "Project-Id-Version: NetworkManager\n"
 "Report-Msgid-Bugs-To: https://gitlab.freedesktop.org/NetworkManager/"
 "NetworkManager/issues\n"
-"POT-Creation-Date: 2022-08-26 16:42+0200\n"
+"POT-Creation-Date: 2022-08-11 16:06-0300\n"
 "PO-Revision-Date: 2017-04-21 05:27-0400\n"
 "Last-Translator: Copied by Zanata <copied-by-zanata@zanata.org>\n"
 "Language-Team: Hungarian <gnome-hu-list at gnome dot org>\n"
@@ -1259,7 +1259,7 @@ msgstr ""
 #: src/libnm-core-impl/nm-setting-cdma.c:144
 #: src/libnm-core-impl/nm-setting-connection.c:1149
 #: src/libnm-core-impl/nm-setting-connection.c:1187
-#: src/libnm-core-impl/nm-setting-connection.c:1516
+#: src/libnm-core-impl/nm-setting-connection.c:1530
 #: src/libnm-core-impl/nm-setting-ip-config.c:5423
 #: src/libnm-core-impl/nm-setting-ip-tunnel.c:387
 #: src/libnm-core-impl/nm-setting-olpc-mesh.c:99
@@ -1608,7 +1608,7 @@ msgstr ""
 #: src/libnm-core-impl/nm-setting-cdma.c:159
 #: src/libnm-core-impl/nm-setting-connection.c:1159
 #: src/libnm-core-impl/nm-setting-connection.c:1202
-#: src/libnm-core-impl/nm-setting-connection.c:1454
+#: src/libnm-core-impl/nm-setting-connection.c:1468
 #: src/libnm-core-impl/nm-setting-gsm.c:298
 #: src/libnm-core-impl/nm-setting-gsm.c:353
 #: src/libnm-core-impl/nm-setting-gsm.c:396
@@ -1896,7 +1896,7 @@ msgstr "Hiba: a(z) „%s†időkorlát érvénytelen."
 #: src/libnm-core-impl/nm-setting-connection.c:1351
 #: src/libnm-core-impl/nm-setting-connection.c:1365
 #: src/libnm-core-impl/nm-setting-connection.c:1379
-#: src/libnm-core-impl/nm-setting-connection.c:1440
+#: src/libnm-core-impl/nm-setting-connection.c:1454
 #, fuzzy, c-format
 msgid "value %d is not valid"
 msgstr "Hiba: a(z) „%s†időkorlát érvénytelen."
@@ -1905,52 +1905,56 @@ msgstr "Hiba: a(z) „%s†időkorlát érvénytelen."
 msgid "\"disabled\" flag cannot be combined with other MPTCP flags"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1409
+#: src/libnm-core-impl/nm-setting-connection.c:1411
+msgid "\"enabled\" and \"enabled-on-global-iface\" flag cannot be set together"
+msgstr ""
+
+#: src/libnm-core-impl/nm-setting-connection.c:1422
 msgid "cannot set both \"signal\" and \"fullmesh\" MPTCP flags"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1421
+#: src/libnm-core-impl/nm-setting-connection.c:1435
 #, fuzzy, c-format
 msgid "value %u is not a valid combination of MPTCP flags"
 msgstr "„%s=%s†nem érvényes beállítás ehhez: „%sâ€"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1468
+#: src/libnm-core-impl/nm-setting-connection.c:1482
 msgid "DHCP option cannot be longer than 255 characters"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1479
+#: src/libnm-core-impl/nm-setting-connection.c:1493
 #, fuzzy
 msgid "MUD URL is not a valid URL"
 msgstr "„%s†nem érvényes UUID"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1499
+#: src/libnm-core-impl/nm-setting-connection.c:1513
 #, fuzzy
 msgid "invalid permissions not in format \"user:$UNAME[:]\""
 msgstr "érvénytelen mezÅ‘: „%sâ€"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1528
+#: src/libnm-core-impl/nm-setting-connection.c:1542
 #, c-format
 msgid "property type should be set to '%s'"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1546
+#: src/libnm-core-impl/nm-setting-connection.c:1560
 #, fuzzy, c-format
 msgid "slave-type '%s' requires a '%s' setting in the connection"
 msgstr "megköveteli a(z) „%s†beállítás jelenlétét a kapcsolatban"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1557
+#: src/libnm-core-impl/nm-setting-connection.c:1571
 #, c-format
 msgid ""
 "Detect a slave connection with '%s' set and a port type '%s'. '%s' should be "
 "set to '%s'"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1583
+#: src/libnm-core-impl/nm-setting-connection.c:1597
 #, fuzzy, c-format
 msgid "A slave connection with '%s' set to '%s' cannot have a '%s' setting"
 msgstr "a(z) „%s†vagy „%s†beállítás szükséges"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1600
+#: src/libnm-core-impl/nm-setting-connection.c:1614
 msgid "UUID needs normalization"
 msgstr ""
 
@@ -5968,29 +5972,25 @@ msgid ""
 "fc00::/7) and IPv6 privacy extension addresses (rfc3041, ipv6.ip6-privacy) "
 "will be excluded from being configured as endpoints. If \"disabled\" (0x1), "
 "MPTCP handling for the interface is disabled and no endpoints are "
-"registered. The \"enabled\" (0x2) flag means that MPTCP handling is enabled. "
-"This flag can also be implied from the presence of other flags. Even when "
-"enabled, MPTCP handling will by default still be disabled unless \"/proc/sys/"
-"net/mptcp/enabled\" sysctl is on. NetworkManager does not change the sysctl "
-"and this is up to the administrator or distribution. To configure endpoints "
-"even if the sysctl is disabled, \"also-without-sysctl\" (0x4) flag can be "
-"used. In that case, NetworkManager doesn't look at the sysctl and configures "
-"endpoints regardless. Even when enabled, NetworkManager will only configure "
-"MPTCP endpoints for a certain address family, if there is a unicast default "
-"route (0.0.0.0/0 or ::/0) in the main routing table. The flag \"also-without-"
-"default-route\" (0x8) can override that. When MPTCP handling is enabled then "
-"endpoints are configured with the specified address flags \"signal\" (0x10), "
-"\"subflow\" (0x20), \"backup\" (0x40), \"fullmesh\" (0x80). See ip-mptcp(8) "
-"manual for additional information about the flags. If the flags are zero "
-"(0x0), the global connection default from NetworkManager.conf is honored. If "
-"still unspecified, the fallback is \"enabled,subflow\". Note that this means "
-"that MPTCP is by default done depending on the \"/proc/sys/net/mptcp/"
-"enabled\" sysctl. NetworkManager does not change the MPTCP limits nor enable "
-"MPTCP via \"/proc/sys/net/mptcp/enabled\". That is a host configuration "
-"which the admin can change via sysctl and ip-mptcp. Strict reverse path "
-"filtering (rp_filter) breaks many MPTCP use cases, so when MPTCP handling "
-"for IPv4 addresses on the interface is enabled, NetworkManager would loosen "
-"the strict reverse path filtering (1) to the loose setting (2)."
+"registered. The flag \"enabled-on-global-iface\" (0x2) means that MPTCP "
+"handling is enabled if the interface configures a default route in the main "
+"routing table. This choice is per-address family, for example if there is an "
+"IPv4 default route 0.0.0.0/0, IPv4 endpoints are configured. The "
+"\"enabled\" (0x4) flag means that MPTCP handling is explicitly enabled. This "
+"flag can also be implied from the presence of other flags. If MPTCP handling "
+"is enabled, then endpoints will be configured with the specified address "
+"flags \"signal\" (0x10), \"subflow\" (0x20), \"backup\" (0x40), "
+"\"fullmesh\" (0x80). See ip-mptcp(8) manual for additional information about "
+"the flags. If the flags are zero, the global connection default from "
+"NetworkManager.conf is honored. If still unspecified, the fallback is either "
+"\"disabled\" or \"enabled-on-global-iface,subflow\" depending on \"/proc/sys/"
+"net/mptcp/enabled\". NetworkManager does not change the MPTCP limits nor "
+"enable MPTCP via \"/proc/sys/net/mptcp/enabled\". That is a host "
+"configuration which the admin can change via sysctl and ip-mptcp. Strict "
+"reverse path filtering (rp_filter) breaks many MPTCP use cases, so when "
+"MPTCP handling for IPv4 addresses on the interface is enabled, "
+"NetworkManager would loosen the strict reverse path filtering (1) to the "
+"loose setting (2)."
 msgstr ""
 
 #: src/libnmc-setting/settings-docs.h.in:18
@@ -7224,13 +7224,11 @@ msgstr ""
 #: src/libnmc-setting/settings-docs.h.in:200
 msgid ""
 "The gateway associated with this configuration. This is only meaningful if "
-"\"addresses\" is also set. Setting the gateway causes NetworkManager to "
-"configure a standard default route with the gateway as next hop. This is "
-"ignored if \"never-default\" is set. An alternative is to configure the "
-"default route explicitly with a manual route and /0 as prefix length. Note "
-"that the gateway usually conflicts with routing that NetworkManager "
-"configures for WireGuard interfaces, so usually it should not be set in that "
-"case. See \"ip4-auto-default-route\"."
+"\"addresses\" is also set. The gateway's main purpose is to control the next "
+"hop of the standard default route on the device. Hence, the gateway property "
+"conflicts with \"never-default\" and will be automatically dropped if the IP "
+"configuration is set to never-default. As an alternative to set the gateway, "
+"configure a static default route with /0 as prefix length."
 msgstr ""
 
 #: src/libnmc-setting/settings-docs.h.in:175
diff --git a/po/id.po b/po/id.po
index 8b84d420..996e1d6b 100644
--- a/po/id.po
+++ b/po/id.po
@@ -10,7 +10,7 @@ msgstr ""
 "Project-Id-Version: NetworkManager\n"
 "Report-Msgid-Bugs-To: https://gitlab.freedesktop.org/NetworkManager/"
 "NetworkManager/issues\n"
-"POT-Creation-Date: 2022-08-26 16:42+0200\n"
+"POT-Creation-Date: 2022-08-11 16:06-0300\n"
 "PO-Revision-Date: 2019-12-31 15:54+0700\n"
 "Last-Translator: Andika Triwidada <atriwidada@gnome.org>\n"
 "Language-Team: GNOME Indonesian Translation Team <gnome@i15n.org>\n"
@@ -1180,7 +1180,7 @@ msgstr "uuid yang tidak diduga %s alih-alih %s"
 #: src/libnm-core-impl/nm-setting-cdma.c:144
 #: src/libnm-core-impl/nm-setting-connection.c:1149
 #: src/libnm-core-impl/nm-setting-connection.c:1187
-#: src/libnm-core-impl/nm-setting-connection.c:1516
+#: src/libnm-core-impl/nm-setting-connection.c:1530
 #: src/libnm-core-impl/nm-setting-ip-config.c:5423
 #: src/libnm-core-impl/nm-setting-ip-tunnel.c:387
 #: src/libnm-core-impl/nm-setting-olpc-mesh.c:99
@@ -1527,7 +1527,7 @@ msgstr ""
 #: src/libnm-core-impl/nm-setting-cdma.c:159
 #: src/libnm-core-impl/nm-setting-connection.c:1159
 #: src/libnm-core-impl/nm-setting-connection.c:1202
-#: src/libnm-core-impl/nm-setting-connection.c:1454
+#: src/libnm-core-impl/nm-setting-connection.c:1468
 #: src/libnm-core-impl/nm-setting-gsm.c:298
 #: src/libnm-core-impl/nm-setting-gsm.c:353
 #: src/libnm-core-impl/nm-setting-gsm.c:396
@@ -1818,7 +1818,7 @@ msgstr "nilai terukur %d tidak valid"
 #: src/libnm-core-impl/nm-setting-connection.c:1351
 #: src/libnm-core-impl/nm-setting-connection.c:1365
 #: src/libnm-core-impl/nm-setting-connection.c:1379
-#: src/libnm-core-impl/nm-setting-connection.c:1440
+#: src/libnm-core-impl/nm-setting-connection.c:1454
 #, c-format
 msgid "value %d is not valid"
 msgstr "nilai %d tidak valid"
@@ -1827,42 +1827,46 @@ msgstr "nilai %d tidak valid"
 msgid "\"disabled\" flag cannot be combined with other MPTCP flags"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1409
+#: src/libnm-core-impl/nm-setting-connection.c:1411
+msgid "\"enabled\" and \"enabled-on-global-iface\" flag cannot be set together"
+msgstr ""
+
+#: src/libnm-core-impl/nm-setting-connection.c:1422
 msgid "cannot set both \"signal\" and \"fullmesh\" MPTCP flags"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1421
+#: src/libnm-core-impl/nm-setting-connection.c:1435
 #, fuzzy, c-format
 #| msgid "'%u' flags are not valid; use combination of %s"
 msgid "value %u is not a valid combination of MPTCP flags"
 msgstr "flag '%u' tidak valid; gunakan kombinasi dari %s"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1468
+#: src/libnm-core-impl/nm-setting-connection.c:1482
 #, fuzzy
 msgid "DHCP option cannot be longer than 255 characters"
 msgstr "nama antar muka lebih dari 15 karakter"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1479
+#: src/libnm-core-impl/nm-setting-connection.c:1493
 #, fuzzy
 msgid "MUD URL is not a valid URL"
 msgstr "URI bukan UTF-8 yang valid"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1499
+#: src/libnm-core-impl/nm-setting-connection.c:1513
 #, fuzzy
 msgid "invalid permissions not in format \"user:$UNAME[:]\""
 msgstr "izin tak valid \"%s\""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1528
+#: src/libnm-core-impl/nm-setting-connection.c:1542
 #, c-format
 msgid "property type should be set to '%s'"
 msgstr "tipe properti mesti ditata ke '%s'"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1546
+#: src/libnm-core-impl/nm-setting-connection.c:1560
 #, c-format
 msgid "slave-type '%s' requires a '%s' setting in the connection"
 msgstr "slave-type '%s' memerlukan keberadaan pengaturan '%s' dalam koneksi"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1557
+#: src/libnm-core-impl/nm-setting-connection.c:1571
 #, c-format
 msgid ""
 "Detect a slave connection with '%s' set and a port type '%s'. '%s' should be "
@@ -1871,14 +1875,14 @@ msgstr ""
 "Mendeteksi sebuah koneksi slave dengan '%s' ditata dan tipe port '%s'. '%s' "
 "mesti ditata menjadi '%s'"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1583
+#: src/libnm-core-impl/nm-setting-connection.c:1597
 #, c-format
 msgid "A slave connection with '%s' set to '%s' cannot have a '%s' setting"
 msgstr ""
 "Sebuah koneksi slave dengan '%s' ditata ke '%s' tidak boleh memiliki setelan "
 "'%s'"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1600
+#: src/libnm-core-impl/nm-setting-connection.c:1614
 msgid "UUID needs normalization"
 msgstr ""
 
@@ -6072,29 +6076,25 @@ msgid ""
 "fc00::/7) and IPv6 privacy extension addresses (rfc3041, ipv6.ip6-privacy) "
 "will be excluded from being configured as endpoints. If \"disabled\" (0x1), "
 "MPTCP handling for the interface is disabled and no endpoints are "
-"registered. The \"enabled\" (0x2) flag means that MPTCP handling is enabled. "
-"This flag can also be implied from the presence of other flags. Even when "
-"enabled, MPTCP handling will by default still be disabled unless \"/proc/sys/"
-"net/mptcp/enabled\" sysctl is on. NetworkManager does not change the sysctl "
-"and this is up to the administrator or distribution. To configure endpoints "
-"even if the sysctl is disabled, \"also-without-sysctl\" (0x4) flag can be "
-"used. In that case, NetworkManager doesn't look at the sysctl and configures "
-"endpoints regardless. Even when enabled, NetworkManager will only configure "
-"MPTCP endpoints for a certain address family, if there is a unicast default "
-"route (0.0.0.0/0 or ::/0) in the main routing table. The flag \"also-without-"
-"default-route\" (0x8) can override that. When MPTCP handling is enabled then "
-"endpoints are configured with the specified address flags \"signal\" (0x10), "
-"\"subflow\" (0x20), \"backup\" (0x40), \"fullmesh\" (0x80). See ip-mptcp(8) "
-"manual for additional information about the flags. If the flags are zero "
-"(0x0), the global connection default from NetworkManager.conf is honored. If "
-"still unspecified, the fallback is \"enabled,subflow\". Note that this means "
-"that MPTCP is by default done depending on the \"/proc/sys/net/mptcp/"
-"enabled\" sysctl. NetworkManager does not change the MPTCP limits nor enable "
-"MPTCP via \"/proc/sys/net/mptcp/enabled\". That is a host configuration "
-"which the admin can change via sysctl and ip-mptcp. Strict reverse path "
-"filtering (rp_filter) breaks many MPTCP use cases, so when MPTCP handling "
-"for IPv4 addresses on the interface is enabled, NetworkManager would loosen "
-"the strict reverse path filtering (1) to the loose setting (2)."
+"registered. The flag \"enabled-on-global-iface\" (0x2) means that MPTCP "
+"handling is enabled if the interface configures a default route in the main "
+"routing table. This choice is per-address family, for example if there is an "
+"IPv4 default route 0.0.0.0/0, IPv4 endpoints are configured. The "
+"\"enabled\" (0x4) flag means that MPTCP handling is explicitly enabled. This "
+"flag can also be implied from the presence of other flags. If MPTCP handling "
+"is enabled, then endpoints will be configured with the specified address "
+"flags \"signal\" (0x10), \"subflow\" (0x20), \"backup\" (0x40), "
+"\"fullmesh\" (0x80). See ip-mptcp(8) manual for additional information about "
+"the flags. If the flags are zero, the global connection default from "
+"NetworkManager.conf is honored. If still unspecified, the fallback is either "
+"\"disabled\" or \"enabled-on-global-iface,subflow\" depending on \"/proc/sys/"
+"net/mptcp/enabled\". NetworkManager does not change the MPTCP limits nor "
+"enable MPTCP via \"/proc/sys/net/mptcp/enabled\". That is a host "
+"configuration which the admin can change via sysctl and ip-mptcp. Strict "
+"reverse path filtering (rp_filter) breaks many MPTCP use cases, so when "
+"MPTCP handling for IPv4 addresses on the interface is enabled, "
+"NetworkManager would loosen the strict reverse path filtering (1) to the "
+"loose setting (2)."
 msgstr ""
 
 #: src/libnmc-setting/settings-docs.h.in:18
@@ -7885,13 +7885,11 @@ msgstr ""
 #: src/libnmc-setting/settings-docs.h.in:200
 msgid ""
 "The gateway associated with this configuration. This is only meaningful if "
-"\"addresses\" is also set. Setting the gateway causes NetworkManager to "
-"configure a standard default route with the gateway as next hop. This is "
-"ignored if \"never-default\" is set. An alternative is to configure the "
-"default route explicitly with a manual route and /0 as prefix length. Note "
-"that the gateway usually conflicts with routing that NetworkManager "
-"configures for WireGuard interfaces, so usually it should not be set in that "
-"case. See \"ip4-auto-default-route\"."
+"\"addresses\" is also set. The gateway's main purpose is to control the next "
+"hop of the standard default route on the device. Hence, the gateway property "
+"conflicts with \"never-default\" and will be automatically dropped if the IP "
+"configuration is set to never-default. As an alternative to set the gateway, "
+"configure a static default route with /0 as prefix length."
 msgstr ""
 
 #: src/libnmc-setting/settings-docs.h.in:175
diff --git a/po/it.po b/po/it.po
index 0cbc6847..b8ce357e 100644
--- a/po/it.po
+++ b/po/it.po
@@ -12,7 +12,7 @@ msgstr ""
 "Project-Id-Version: NetworkManager\n"
 "Report-Msgid-Bugs-To: https://gitlab.freedesktop.org/NetworkManager/"
 "NetworkManager/issues\n"
-"POT-Creation-Date: 2022-08-26 16:42+0200\n"
+"POT-Creation-Date: 2022-08-11 16:06-0300\n"
 "PO-Revision-Date: 2019-03-21 14:53+0100\n"
 "Last-Translator: Milo Casagrande <milo@milo.name>\n"
 "Language-Team: Italian <tp@lists.linux.it>\n"
@@ -1227,7 +1227,7 @@ msgstr ""
 #: src/libnm-core-impl/nm-setting-cdma.c:144
 #: src/libnm-core-impl/nm-setting-connection.c:1149
 #: src/libnm-core-impl/nm-setting-connection.c:1187
-#: src/libnm-core-impl/nm-setting-connection.c:1516
+#: src/libnm-core-impl/nm-setting-connection.c:1530
 #: src/libnm-core-impl/nm-setting-ip-config.c:5423
 #: src/libnm-core-impl/nm-setting-ip-tunnel.c:387
 #: src/libnm-core-impl/nm-setting-olpc-mesh.c:99
@@ -1575,7 +1575,7 @@ msgstr ""
 #: src/libnm-core-impl/nm-setting-cdma.c:159
 #: src/libnm-core-impl/nm-setting-connection.c:1159
 #: src/libnm-core-impl/nm-setting-connection.c:1202
-#: src/libnm-core-impl/nm-setting-connection.c:1454
+#: src/libnm-core-impl/nm-setting-connection.c:1468
 #: src/libnm-core-impl/nm-setting-gsm.c:298
 #: src/libnm-core-impl/nm-setting-gsm.c:353
 #: src/libnm-core-impl/nm-setting-gsm.c:396
@@ -1867,7 +1867,7 @@ msgstr "il valore di limite %d non è valido"
 #: src/libnm-core-impl/nm-setting-connection.c:1351
 #: src/libnm-core-impl/nm-setting-connection.c:1365
 #: src/libnm-core-impl/nm-setting-connection.c:1379
-#: src/libnm-core-impl/nm-setting-connection.c:1440
+#: src/libnm-core-impl/nm-setting-connection.c:1454
 #, c-format
 msgid "value %d is not valid"
 msgstr "il valore %d non è valido"
@@ -1876,42 +1876,46 @@ msgstr "il valore %d non è valido"
 msgid "\"disabled\" flag cannot be combined with other MPTCP flags"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1409
+#: src/libnm-core-impl/nm-setting-connection.c:1411
+msgid "\"enabled\" and \"enabled-on-global-iface\" flag cannot be set together"
+msgstr ""
+
+#: src/libnm-core-impl/nm-setting-connection.c:1422
 msgid "cannot set both \"signal\" and \"fullmesh\" MPTCP flags"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1421
+#: src/libnm-core-impl/nm-setting-connection.c:1435
 #, fuzzy, c-format
 #| msgid "'%u' flags are not valid; use combination of %s"
 msgid "value %u is not a valid combination of MPTCP flags"
 msgstr "«%u» flag non sono validi, usare una combinazione di %s"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1468
+#: src/libnm-core-impl/nm-setting-connection.c:1482
 #, fuzzy
 msgid "DHCP option cannot be longer than 255 characters"
 msgstr "il nome dell'interfaccia è più lungo di 15 caratteri"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1479
+#: src/libnm-core-impl/nm-setting-connection.c:1493
 #, fuzzy
 msgid "MUD URL is not a valid URL"
 msgstr "l'URI non è UTF-8 valido"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1499
+#: src/libnm-core-impl/nm-setting-connection.c:1513
 #, fuzzy
 msgid "invalid permissions not in format \"user:$UNAME[:]\""
 msgstr "esecutore «%s» non valido"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1528
+#: src/libnm-core-impl/nm-setting-connection.c:1542
 #, c-format
 msgid "property type should be set to '%s'"
 msgstr "il tipo della proprietà dovrebbe essere impostato a «%s»"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1546
+#: src/libnm-core-impl/nm-setting-connection.c:1560
 #, c-format
 msgid "slave-type '%s' requires a '%s' setting in the connection"
 msgstr "slave-type «%s» richiede un'impostazione «%s» nella connessione"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1557
+#: src/libnm-core-impl/nm-setting-connection.c:1571
 #, c-format
 msgid ""
 "Detect a slave connection with '%s' set and a port type '%s'. '%s' should be "
@@ -1920,14 +1924,14 @@ msgstr ""
 "Rilevata una connessione slave con «%s» impostato e un tipo di porta «%s». "
 "«%s» dovrebbe essere impostato a «%s»"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1583
+#: src/libnm-core-impl/nm-setting-connection.c:1597
 #, c-format
 msgid "A slave connection with '%s' set to '%s' cannot have a '%s' setting"
 msgstr ""
 "Una connessione slave con «%s» impostato a «%s» non può avere "
 "un'impostazione «%s»"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1600
+#: src/libnm-core-impl/nm-setting-connection.c:1614
 msgid "UUID needs normalization"
 msgstr ""
 
@@ -6152,29 +6156,25 @@ msgid ""
 "fc00::/7) and IPv6 privacy extension addresses (rfc3041, ipv6.ip6-privacy) "
 "will be excluded from being configured as endpoints. If \"disabled\" (0x1), "
 "MPTCP handling for the interface is disabled and no endpoints are "
-"registered. The \"enabled\" (0x2) flag means that MPTCP handling is enabled. "
-"This flag can also be implied from the presence of other flags. Even when "
-"enabled, MPTCP handling will by default still be disabled unless \"/proc/sys/"
-"net/mptcp/enabled\" sysctl is on. NetworkManager does not change the sysctl "
-"and this is up to the administrator or distribution. To configure endpoints "
-"even if the sysctl is disabled, \"also-without-sysctl\" (0x4) flag can be "
-"used. In that case, NetworkManager doesn't look at the sysctl and configures "
-"endpoints regardless. Even when enabled, NetworkManager will only configure "
-"MPTCP endpoints for a certain address family, if there is a unicast default "
-"route (0.0.0.0/0 or ::/0) in the main routing table. The flag \"also-without-"
-"default-route\" (0x8) can override that. When MPTCP handling is enabled then "
-"endpoints are configured with the specified address flags \"signal\" (0x10), "
-"\"subflow\" (0x20), \"backup\" (0x40), \"fullmesh\" (0x80). See ip-mptcp(8) "
-"manual for additional information about the flags. If the flags are zero "
-"(0x0), the global connection default from NetworkManager.conf is honored. If "
-"still unspecified, the fallback is \"enabled,subflow\". Note that this means "
-"that MPTCP is by default done depending on the \"/proc/sys/net/mptcp/"
-"enabled\" sysctl. NetworkManager does not change the MPTCP limits nor enable "
-"MPTCP via \"/proc/sys/net/mptcp/enabled\". That is a host configuration "
-"which the admin can change via sysctl and ip-mptcp. Strict reverse path "
-"filtering (rp_filter) breaks many MPTCP use cases, so when MPTCP handling "
-"for IPv4 addresses on the interface is enabled, NetworkManager would loosen "
-"the strict reverse path filtering (1) to the loose setting (2)."
+"registered. The flag \"enabled-on-global-iface\" (0x2) means that MPTCP "
+"handling is enabled if the interface configures a default route in the main "
+"routing table. This choice is per-address family, for example if there is an "
+"IPv4 default route 0.0.0.0/0, IPv4 endpoints are configured. The "
+"\"enabled\" (0x4) flag means that MPTCP handling is explicitly enabled. This "
+"flag can also be implied from the presence of other flags. If MPTCP handling "
+"is enabled, then endpoints will be configured with the specified address "
+"flags \"signal\" (0x10), \"subflow\" (0x20), \"backup\" (0x40), "
+"\"fullmesh\" (0x80). See ip-mptcp(8) manual for additional information about "
+"the flags. If the flags are zero, the global connection default from "
+"NetworkManager.conf is honored. If still unspecified, the fallback is either "
+"\"disabled\" or \"enabled-on-global-iface,subflow\" depending on \"/proc/sys/"
+"net/mptcp/enabled\". NetworkManager does not change the MPTCP limits nor "
+"enable MPTCP via \"/proc/sys/net/mptcp/enabled\". That is a host "
+"configuration which the admin can change via sysctl and ip-mptcp. Strict "
+"reverse path filtering (rp_filter) breaks many MPTCP use cases, so when "
+"MPTCP handling for IPv4 addresses on the interface is enabled, "
+"NetworkManager would loosen the strict reverse path filtering (1) to the "
+"loose setting (2)."
 msgstr ""
 
 #: src/libnmc-setting/settings-docs.h.in:18
@@ -7920,13 +7920,11 @@ msgstr ""
 #: src/libnmc-setting/settings-docs.h.in:200
 msgid ""
 "The gateway associated with this configuration. This is only meaningful if "
-"\"addresses\" is also set. Setting the gateway causes NetworkManager to "
-"configure a standard default route with the gateway as next hop. This is "
-"ignored if \"never-default\" is set. An alternative is to configure the "
-"default route explicitly with a manual route and /0 as prefix length. Note "
-"that the gateway usually conflicts with routing that NetworkManager "
-"configures for WireGuard interfaces, so usually it should not be set in that "
-"case. See \"ip4-auto-default-route\"."
+"\"addresses\" is also set. The gateway's main purpose is to control the next "
+"hop of the standard default route on the device. Hence, the gateway property "
+"conflicts with \"never-default\" and will be automatically dropped if the IP "
+"configuration is set to never-default. As an alternative to set the gateway, "
+"configure a static default route with /0 as prefix length."
 msgstr ""
 
 #: src/libnmc-setting/settings-docs.h.in:175
diff --git a/po/ja.po b/po/ja.po
index fde30024..6f08e991 100644
--- a/po/ja.po
+++ b/po/ja.po
@@ -12,7 +12,7 @@ msgstr ""
 "Project-Id-Version: NetworkManager\n"
 "Report-Msgid-Bugs-To: https://gitlab.freedesktop.org/NetworkManager/"
 "NetworkManager/issues\n"
-"POT-Creation-Date: 2022-08-26 16:42+0200\n"
+"POT-Creation-Date: 2022-08-11 16:06-0300\n"
 "PO-Revision-Date: 2019-08-15 04:44+0000\n"
 "Last-Translator: kemorigu <kemorigu@redhat.com>\n"
 "Language-Team: Japanese <gnome-translation@gnome.gr.jp>\n"
@@ -1178,7 +1178,7 @@ msgstr "%s ã§ã¯ãªãã€äºˆæœŸã›ã¬ uuid %s"
 #: src/libnm-core-impl/nm-setting-cdma.c:144
 #: src/libnm-core-impl/nm-setting-connection.c:1149
 #: src/libnm-core-impl/nm-setting-connection.c:1187
-#: src/libnm-core-impl/nm-setting-connection.c:1516
+#: src/libnm-core-impl/nm-setting-connection.c:1530
 #: src/libnm-core-impl/nm-setting-ip-config.c:5423
 #: src/libnm-core-impl/nm-setting-ip-tunnel.c:387
 #: src/libnm-core-impl/nm-setting-olpc-mesh.c:99
@@ -1520,7 +1520,7 @@ msgstr "証明書㌠PKCS#11 トークンã«ãªã„å ´åˆã¯ã€ãƒ‘スワードã¯
 #: src/libnm-core-impl/nm-setting-cdma.c:159
 #: src/libnm-core-impl/nm-setting-connection.c:1159
 #: src/libnm-core-impl/nm-setting-connection.c:1202
-#: src/libnm-core-impl/nm-setting-connection.c:1454
+#: src/libnm-core-impl/nm-setting-connection.c:1468
 #: src/libnm-core-impl/nm-setting-gsm.c:298
 #: src/libnm-core-impl/nm-setting-gsm.c:353
 #: src/libnm-core-impl/nm-setting-gsm.c:396
@@ -1810,7 +1810,7 @@ msgstr "測定値 %d ã¯ç„¡åйã§ã™"
 #: src/libnm-core-impl/nm-setting-connection.c:1351
 #: src/libnm-core-impl/nm-setting-connection.c:1365
 #: src/libnm-core-impl/nm-setting-connection.c:1379
-#: src/libnm-core-impl/nm-setting-connection.c:1440
+#: src/libnm-core-impl/nm-setting-connection.c:1454
 #, c-format
 msgid "value %d is not valid"
 msgstr "値 %d ã¯ç„¡åйã§ã™"
@@ -1819,40 +1819,44 @@ msgstr "値 %d ã¯ç„¡åйã§ã™"
 msgid "\"disabled\" flag cannot be combined with other MPTCP flags"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1409
+#: src/libnm-core-impl/nm-setting-connection.c:1411
+msgid "\"enabled\" and \"enabled-on-global-iface\" flag cannot be set together"
+msgstr ""
+
+#: src/libnm-core-impl/nm-setting-connection.c:1422
 msgid "cannot set both \"signal\" and \"fullmesh\" MPTCP flags"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1421
+#: src/libnm-core-impl/nm-setting-connection.c:1435
 #, fuzzy, c-format
 #| msgid "'%u' flags are not valid; use combination of %s"
 msgid "value %u is not a valid combination of MPTCP flags"
 msgstr "'%u' ãƒ•ãƒ©ã‚°ã¯æœ‰åйã§ã¯ã‚りã¾ã›ã‚“。%s ã®çµ„ã¿åˆã‚ã›ã‚’使用ã—ã¦ãã ã•ã„"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1468
+#: src/libnm-core-impl/nm-setting-connection.c:1482
 msgid "DHCP option cannot be longer than 255 characters"
 msgstr "DHCP オプション㯠255 文字より長ãã™ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“。"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1479
+#: src/libnm-core-impl/nm-setting-connection.c:1493
 msgid "MUD URL is not a valid URL"
 msgstr "MUD ã® URL ã¯æœ‰åŠ¹ãª URL ã§ã¯ã‚りã¾ã›ã‚“"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1499
+#: src/libnm-core-impl/nm-setting-connection.c:1513
 #, fuzzy
 msgid "invalid permissions not in format \"user:$UNAME[:]\""
 msgstr "無効ãªãƒ‘ーミッション \"%s\""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1528
+#: src/libnm-core-impl/nm-setting-connection.c:1542
 #, c-format
 msgid "property type should be set to '%s'"
 msgstr "プロパティータイプ㯠'%s' ã«è¨­å®šã™ã‚‹å¿…è¦ãŒã‚りã¾ã™"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1546
+#: src/libnm-core-impl/nm-setting-connection.c:1560
 #, c-format
 msgid "slave-type '%s' requires a '%s' setting in the connection"
 msgstr "スレーブタイプ '%s' ã®æŽ¥ç¶šã«ã¯ '%s' 設定ãŒå¿…è¦ã§ã™"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1557
+#: src/libnm-core-impl/nm-setting-connection.c:1571
 #, c-format
 msgid ""
 "Detect a slave connection with '%s' set and a port type '%s'. '%s' should be "
@@ -1861,12 +1865,12 @@ msgstr ""
 "'%s' ãŒè¨­å®šã•れã€ãƒãƒ¼ãƒˆã‚¿ã‚¤ãƒ—㌠'%s' ã®ã‚¹ãƒ¬ãƒ¼ãƒ–接続を検出ã—ã¾ã™ã€‚'%s' 㯠"
 "'%s' ã«è¨­å®šã™ã‚‹å¿…è¦ãŒã‚りã¾ã™"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1583
+#: src/libnm-core-impl/nm-setting-connection.c:1597
 #, c-format
 msgid "A slave connection with '%s' set to '%s' cannot have a '%s' setting"
 msgstr "'%s' ã«è¨­å®šã•れã¦ã„ã‚‹ '%s' ã¨ã®ã‚¹ãƒ¬ãƒ¼ãƒ–接続ã«ã¯ã€'%s' 設定ãŒã§ãã¾ã›ã‚“"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1600
+#: src/libnm-core-impl/nm-setting-connection.c:1614
 msgid "UUID needs normalization"
 msgstr ""
 
@@ -6053,29 +6057,25 @@ msgid ""
 "fc00::/7) and IPv6 privacy extension addresses (rfc3041, ipv6.ip6-privacy) "
 "will be excluded from being configured as endpoints. If \"disabled\" (0x1), "
 "MPTCP handling for the interface is disabled and no endpoints are "
-"registered. The \"enabled\" (0x2) flag means that MPTCP handling is enabled. "
-"This flag can also be implied from the presence of other flags. Even when "
-"enabled, MPTCP handling will by default still be disabled unless \"/proc/sys/"
-"net/mptcp/enabled\" sysctl is on. NetworkManager does not change the sysctl "
-"and this is up to the administrator or distribution. To configure endpoints "
-"even if the sysctl is disabled, \"also-without-sysctl\" (0x4) flag can be "
-"used. In that case, NetworkManager doesn't look at the sysctl and configures "
-"endpoints regardless. Even when enabled, NetworkManager will only configure "
-"MPTCP endpoints for a certain address family, if there is a unicast default "
-"route (0.0.0.0/0 or ::/0) in the main routing table. The flag \"also-without-"
-"default-route\" (0x8) can override that. When MPTCP handling is enabled then "
-"endpoints are configured with the specified address flags \"signal\" (0x10), "
-"\"subflow\" (0x20), \"backup\" (0x40), \"fullmesh\" (0x80). See ip-mptcp(8) "
-"manual for additional information about the flags. If the flags are zero "
-"(0x0), the global connection default from NetworkManager.conf is honored. If "
-"still unspecified, the fallback is \"enabled,subflow\". Note that this means "
-"that MPTCP is by default done depending on the \"/proc/sys/net/mptcp/"
-"enabled\" sysctl. NetworkManager does not change the MPTCP limits nor enable "
-"MPTCP via \"/proc/sys/net/mptcp/enabled\". That is a host configuration "
-"which the admin can change via sysctl and ip-mptcp. Strict reverse path "
-"filtering (rp_filter) breaks many MPTCP use cases, so when MPTCP handling "
-"for IPv4 addresses on the interface is enabled, NetworkManager would loosen "
-"the strict reverse path filtering (1) to the loose setting (2)."
+"registered. The flag \"enabled-on-global-iface\" (0x2) means that MPTCP "
+"handling is enabled if the interface configures a default route in the main "
+"routing table. This choice is per-address family, for example if there is an "
+"IPv4 default route 0.0.0.0/0, IPv4 endpoints are configured. The "
+"\"enabled\" (0x4) flag means that MPTCP handling is explicitly enabled. This "
+"flag can also be implied from the presence of other flags. If MPTCP handling "
+"is enabled, then endpoints will be configured with the specified address "
+"flags \"signal\" (0x10), \"subflow\" (0x20), \"backup\" (0x40), "
+"\"fullmesh\" (0x80). See ip-mptcp(8) manual for additional information about "
+"the flags. If the flags are zero, the global connection default from "
+"NetworkManager.conf is honored. If still unspecified, the fallback is either "
+"\"disabled\" or \"enabled-on-global-iface,subflow\" depending on \"/proc/sys/"
+"net/mptcp/enabled\". NetworkManager does not change the MPTCP limits nor "
+"enable MPTCP via \"/proc/sys/net/mptcp/enabled\". That is a host "
+"configuration which the admin can change via sysctl and ip-mptcp. Strict "
+"reverse path filtering (rp_filter) breaks many MPTCP use cases, so when "
+"MPTCP handling for IPv4 addresses on the interface is enabled, "
+"NetworkManager would loosen the strict reverse path filtering (1) to the "
+"loose setting (2)."
 msgstr ""
 
 #: src/libnmc-setting/settings-docs.h.in:18
@@ -7869,24 +7869,13 @@ msgstr ""
 
 #: src/libnmc-setting/settings-docs.h.in:174
 #: src/libnmc-setting/settings-docs.h.in:200
-#, fuzzy
-#| msgid ""
-#| "The gateway associated with this configuration. This is only meaningful "
-#| "if \"addresses\" is also set. The gateway's main purpose is to control "
-#| "the next hop of the standard default route on the device. Hence, the "
-#| "gateway property conflicts with \"never-default\" and will be "
-#| "automatically dropped if the IP configuration is set to never-default. As "
-#| "an alternative to set the gateway, configure a static default route "
-#| "with /0 as prefix length."
 msgid ""
 "The gateway associated with this configuration. This is only meaningful if "
-"\"addresses\" is also set. Setting the gateway causes NetworkManager to "
-"configure a standard default route with the gateway as next hop. This is "
-"ignored if \"never-default\" is set. An alternative is to configure the "
-"default route explicitly with a manual route and /0 as prefix length. Note "
-"that the gateway usually conflicts with routing that NetworkManager "
-"configures for WireGuard interfaces, so usually it should not be set in that "
-"case. See \"ip4-auto-default-route\"."
+"\"addresses\" is also set. The gateway's main purpose is to control the next "
+"hop of the standard default route on the device. Hence, the gateway property "
+"conflicts with \"never-default\" and will be automatically dropped if the IP "
+"configuration is set to never-default. As an alternative to set the gateway, "
+"configure a static default route with /0 as prefix length."
 msgstr ""
 "ã“ã®è¨­å®šã«é–¢é€£ä»˜ã‘られãŸã‚²ãƒ¼ãƒˆã‚¦ã‚§ã‚¤ã€‚ã“れ㯠\"address\" も設定ã•れã¦ã„ã‚‹å ´åˆ"
 "ã«ã®ã¿æ„味ãŒã‚りã¾ã™ã€‚ゲートウェイã®ä¸»ãªç›®çš„ã¯ã€ãƒ‡ãƒã‚¤ã‚¹ä¸Šã®æ¨™æº–デフォルト"
diff --git a/po/ka.po b/po/ka.po
index 36f5c891..d75b2036 100644
--- a/po/ka.po
+++ b/po/ka.po
@@ -8,7 +8,7 @@ msgstr ""
 "Project-Id-Version: NetworkManager\n"
 "Report-Msgid-Bugs-To: https://gitlab.freedesktop.org/NetworkManager/"
 "NetworkManager/issues\n"
-"POT-Creation-Date: 2022-08-26 16:42+0200\n"
+"POT-Creation-Date: 2022-08-11 16:06-0300\n"
 "PO-Revision-Date: 2022-07-16 18:47+0200\n"
 "Last-Translator: Temuri Doghonadze <temuri.doghonadze@gmail.com>\n"
 "Language-Team: Georgian <http://mail.gnome.org/mailman/listinfo/gnome-ge-"
@@ -1139,7 +1139,7 @@ msgstr ""
 #: src/libnm-core-impl/nm-setting-cdma.c:144
 #: src/libnm-core-impl/nm-setting-connection.c:1149
 #: src/libnm-core-impl/nm-setting-connection.c:1187
-#: src/libnm-core-impl/nm-setting-connection.c:1516
+#: src/libnm-core-impl/nm-setting-connection.c:1530
 #: src/libnm-core-impl/nm-setting-ip-config.c:5423
 #: src/libnm-core-impl/nm-setting-ip-tunnel.c:387
 #: src/libnm-core-impl/nm-setting-olpc-mesh.c:99
@@ -1480,7 +1480,7 @@ msgstr ""
 #: src/libnm-core-impl/nm-setting-cdma.c:159
 #: src/libnm-core-impl/nm-setting-connection.c:1159
 #: src/libnm-core-impl/nm-setting-connection.c:1202
-#: src/libnm-core-impl/nm-setting-connection.c:1454
+#: src/libnm-core-impl/nm-setting-connection.c:1468
 #: src/libnm-core-impl/nm-setting-gsm.c:298
 #: src/libnm-core-impl/nm-setting-gsm.c:353
 #: src/libnm-core-impl/nm-setting-gsm.c:396
@@ -1761,7 +1761,7 @@ msgstr ""
 #: src/libnm-core-impl/nm-setting-connection.c:1351
 #: src/libnm-core-impl/nm-setting-connection.c:1365
 #: src/libnm-core-impl/nm-setting-connection.c:1379
-#: src/libnm-core-impl/nm-setting-connection.c:1440
+#: src/libnm-core-impl/nm-setting-connection.c:1454
 #, c-format
 msgid "value %d is not valid"
 msgstr ""
@@ -1770,50 +1770,54 @@ msgstr ""
 msgid "\"disabled\" flag cannot be combined with other MPTCP flags"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1409
+#: src/libnm-core-impl/nm-setting-connection.c:1411
+msgid "\"enabled\" and \"enabled-on-global-iface\" flag cannot be set together"
+msgstr ""
+
+#: src/libnm-core-impl/nm-setting-connection.c:1422
 msgid "cannot set both \"signal\" and \"fullmesh\" MPTCP flags"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1421
+#: src/libnm-core-impl/nm-setting-connection.c:1435
 #, c-format
 msgid "value %u is not a valid combination of MPTCP flags"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1468
+#: src/libnm-core-impl/nm-setting-connection.c:1482
 msgid "DHCP option cannot be longer than 255 characters"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1479
+#: src/libnm-core-impl/nm-setting-connection.c:1493
 msgid "MUD URL is not a valid URL"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1499
+#: src/libnm-core-impl/nm-setting-connection.c:1513
 msgid "invalid permissions not in format \"user:$UNAME[:]\""
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1528
+#: src/libnm-core-impl/nm-setting-connection.c:1542
 #, c-format
 msgid "property type should be set to '%s'"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1546
+#: src/libnm-core-impl/nm-setting-connection.c:1560
 #, c-format
 msgid "slave-type '%s' requires a '%s' setting in the connection"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1557
+#: src/libnm-core-impl/nm-setting-connection.c:1571
 #, c-format
 msgid ""
 "Detect a slave connection with '%s' set and a port type '%s'. '%s' should be "
 "set to '%s'"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1583
+#: src/libnm-core-impl/nm-setting-connection.c:1597
 #, c-format
 msgid "A slave connection with '%s' set to '%s' cannot have a '%s' setting"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1600
+#: src/libnm-core-impl/nm-setting-connection.c:1614
 msgid "UUID needs normalization"
 msgstr ""
 
@@ -5706,29 +5710,25 @@ msgid ""
 "fc00::/7) and IPv6 privacy extension addresses (rfc3041, ipv6.ip6-privacy) "
 "will be excluded from being configured as endpoints. If \"disabled\" (0x1), "
 "MPTCP handling for the interface is disabled and no endpoints are "
-"registered. The \"enabled\" (0x2) flag means that MPTCP handling is enabled. "
-"This flag can also be implied from the presence of other flags. Even when "
-"enabled, MPTCP handling will by default still be disabled unless \"/proc/sys/"
-"net/mptcp/enabled\" sysctl is on. NetworkManager does not change the sysctl "
-"and this is up to the administrator or distribution. To configure endpoints "
-"even if the sysctl is disabled, \"also-without-sysctl\" (0x4) flag can be "
-"used. In that case, NetworkManager doesn't look at the sysctl and configures "
-"endpoints regardless. Even when enabled, NetworkManager will only configure "
-"MPTCP endpoints for a certain address family, if there is a unicast default "
-"route (0.0.0.0/0 or ::/0) in the main routing table. The flag \"also-without-"
-"default-route\" (0x8) can override that. When MPTCP handling is enabled then "
-"endpoints are configured with the specified address flags \"signal\" (0x10), "
-"\"subflow\" (0x20), \"backup\" (0x40), \"fullmesh\" (0x80). See ip-mptcp(8) "
-"manual for additional information about the flags. If the flags are zero "
-"(0x0), the global connection default from NetworkManager.conf is honored. If "
-"still unspecified, the fallback is \"enabled,subflow\". Note that this means "
-"that MPTCP is by default done depending on the \"/proc/sys/net/mptcp/"
-"enabled\" sysctl. NetworkManager does not change the MPTCP limits nor enable "
-"MPTCP via \"/proc/sys/net/mptcp/enabled\". That is a host configuration "
-"which the admin can change via sysctl and ip-mptcp. Strict reverse path "
-"filtering (rp_filter) breaks many MPTCP use cases, so when MPTCP handling "
-"for IPv4 addresses on the interface is enabled, NetworkManager would loosen "
-"the strict reverse path filtering (1) to the loose setting (2)."
+"registered. The flag \"enabled-on-global-iface\" (0x2) means that MPTCP "
+"handling is enabled if the interface configures a default route in the main "
+"routing table. This choice is per-address family, for example if there is an "
+"IPv4 default route 0.0.0.0/0, IPv4 endpoints are configured. The "
+"\"enabled\" (0x4) flag means that MPTCP handling is explicitly enabled. This "
+"flag can also be implied from the presence of other flags. If MPTCP handling "
+"is enabled, then endpoints will be configured with the specified address "
+"flags \"signal\" (0x10), \"subflow\" (0x20), \"backup\" (0x40), "
+"\"fullmesh\" (0x80). See ip-mptcp(8) manual for additional information about "
+"the flags. If the flags are zero, the global connection default from "
+"NetworkManager.conf is honored. If still unspecified, the fallback is either "
+"\"disabled\" or \"enabled-on-global-iface,subflow\" depending on \"/proc/sys/"
+"net/mptcp/enabled\". NetworkManager does not change the MPTCP limits nor "
+"enable MPTCP via \"/proc/sys/net/mptcp/enabled\". That is a host "
+"configuration which the admin can change via sysctl and ip-mptcp. Strict "
+"reverse path filtering (rp_filter) breaks many MPTCP use cases, so when "
+"MPTCP handling for IPv4 addresses on the interface is enabled, "
+"NetworkManager would loosen the strict reverse path filtering (1) to the "
+"loose setting (2)."
 msgstr ""
 
 #: src/libnmc-setting/settings-docs.h.in:18
@@ -6962,13 +6962,11 @@ msgstr ""
 #: src/libnmc-setting/settings-docs.h.in:200
 msgid ""
 "The gateway associated with this configuration. This is only meaningful if "
-"\"addresses\" is also set. Setting the gateway causes NetworkManager to "
-"configure a standard default route with the gateway as next hop. This is "
-"ignored if \"never-default\" is set. An alternative is to configure the "
-"default route explicitly with a manual route and /0 as prefix length. Note "
-"that the gateway usually conflicts with routing that NetworkManager "
-"configures for WireGuard interfaces, so usually it should not be set in that "
-"case. See \"ip4-auto-default-route\"."
+"\"addresses\" is also set. The gateway's main purpose is to control the next "
+"hop of the standard default route on the device. Hence, the gateway property "
+"conflicts with \"never-default\" and will be automatically dropped if the IP "
+"configuration is set to never-default. As an alternative to set the gateway, "
+"configure a static default route with /0 as prefix length."
 msgstr ""
 
 #: src/libnmc-setting/settings-docs.h.in:175
diff --git a/po/kn.po b/po/kn.po
index e752035a..467007a8 100644
--- a/po/kn.po
+++ b/po/kn.po
@@ -12,7 +12,7 @@ msgstr ""
 "Project-Id-Version: NetworkManager\n"
 "Report-Msgid-Bugs-To: https://gitlab.freedesktop.org/NetworkManager/"
 "NetworkManager/issues\n"
-"POT-Creation-Date: 2022-08-26 16:42+0200\n"
+"POT-Creation-Date: 2022-08-11 16:06-0300\n"
 "PO-Revision-Date: 2017-04-21 05:36-0400\n"
 "Last-Translator: Copied by Zanata <copied-by-zanata@zanata.org>\n"
 "Language-Team: Kannada <kde-i18n-doc@kde.org>\n"
@@ -1234,7 +1234,7 @@ msgstr ""
 #: src/libnm-core-impl/nm-setting-cdma.c:144
 #: src/libnm-core-impl/nm-setting-connection.c:1149
 #: src/libnm-core-impl/nm-setting-connection.c:1187
-#: src/libnm-core-impl/nm-setting-connection.c:1516
+#: src/libnm-core-impl/nm-setting-connection.c:1530
 #: src/libnm-core-impl/nm-setting-ip-config.c:5423
 #: src/libnm-core-impl/nm-setting-ip-tunnel.c:387
 #: src/libnm-core-impl/nm-setting-olpc-mesh.c:99
@@ -1581,7 +1581,7 @@ msgstr ""
 #: src/libnm-core-impl/nm-setting-cdma.c:159
 #: src/libnm-core-impl/nm-setting-connection.c:1159
 #: src/libnm-core-impl/nm-setting-connection.c:1202
-#: src/libnm-core-impl/nm-setting-connection.c:1454
+#: src/libnm-core-impl/nm-setting-connection.c:1468
 #: src/libnm-core-impl/nm-setting-gsm.c:298
 #: src/libnm-core-impl/nm-setting-gsm.c:353
 #: src/libnm-core-impl/nm-setting-gsm.c:396
@@ -1873,7 +1873,7 @@ msgstr "'%s' ಮೌಲà³à²¯à²µà³ ಒಂದೠಸರಿಯಾದ UUID ಆಗà²
 #: src/libnm-core-impl/nm-setting-connection.c:1351
 #: src/libnm-core-impl/nm-setting-connection.c:1365
 #: src/libnm-core-impl/nm-setting-connection.c:1379
-#: src/libnm-core-impl/nm-setting-connection.c:1440
+#: src/libnm-core-impl/nm-setting-connection.c:1454
 #, fuzzy, c-format
 msgid "value %d is not valid"
 msgstr "'%s' ಮೌಲà³à²¯à²µà³ ಒಂದೠಸರಿಯಾದ UUID ಆಗಿಲà³à²²"
@@ -1882,52 +1882,56 @@ msgstr "'%s' ಮೌಲà³à²¯à²µà³ ಒಂದೠಸರಿಯಾದ UUID ಆಗà²
 msgid "\"disabled\" flag cannot be combined with other MPTCP flags"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1409
+#: src/libnm-core-impl/nm-setting-connection.c:1411
+msgid "\"enabled\" and \"enabled-on-global-iface\" flag cannot be set together"
+msgstr ""
+
+#: src/libnm-core-impl/nm-setting-connection.c:1422
 msgid "cannot set both \"signal\" and \"fullmesh\" MPTCP flags"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1421
+#: src/libnm-core-impl/nm-setting-connection.c:1435
 #, fuzzy, c-format
 msgid "value %u is not a valid combination of MPTCP flags"
 msgstr "'%s' ಮಾನà³à²¯à²µà²¾à²¦à³à²¦à²²à³à²²; [%s] ಅಥವ [%s] ಅನà³à²¨à³ ಬಳಸಿ"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1468
+#: src/libnm-core-impl/nm-setting-connection.c:1482
 msgid "DHCP option cannot be longer than 255 characters"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1479
+#: src/libnm-core-impl/nm-setting-connection.c:1493
 #, fuzzy
 msgid "MUD URL is not a valid URL"
 msgstr "'%s\" ಯೠಒಂದೠಮಾನà³à²¯à²µà²¾à²¦ UUID ಆಗಿಲà³à²²"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1499
+#: src/libnm-core-impl/nm-setting-connection.c:1513
 #, fuzzy
 msgid "invalid permissions not in format \"user:$UNAME[:]\""
 msgstr "ಅಮಾನà³à²¯à²µà²¾à²¦ IPv4 ರೌಟೠ'%s'"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1528
+#: src/libnm-core-impl/nm-setting-connection.c:1542
 #, c-format
 msgid "property type should be set to '%s'"
 msgstr "ಗà³à²£à²¦ ಬಗೆಯನà³à²¨à³ '%s' ಗೆ ಹೊಂದಿಸಬೇಕà³"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1546
+#: src/libnm-core-impl/nm-setting-connection.c:1560
 #, c-format
 msgid "slave-type '%s' requires a '%s' setting in the connection"
 msgstr "ಸà³à²²à³‡à²µà³â€Œ-ಬಗೆ '%s' ಗಾಗಿ ಸಂಪರà³à²•ದಲà³à²²à²¿ '%s' ಸಿದà³à²§à²¤à³†à²¯ ಅಗತà³à²¯à²µà²¿à²°à³à²¤à³à²¤à²¦à³†"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1557
+#: src/libnm-core-impl/nm-setting-connection.c:1571
 #, c-format
 msgid ""
 "Detect a slave connection with '%s' set and a port type '%s'. '%s' should be "
 "set to '%s'"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1583
+#: src/libnm-core-impl/nm-setting-connection.c:1597
 #, fuzzy, c-format
 msgid "A slave connection with '%s' set to '%s' cannot have a '%s' setting"
 msgstr "'%s' ಅಥವ '%s' ಸಿದà³à²§à²¤à³†à²¯ ಅಗತà³à²¯à²µà²¿à²¦à³†"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1600
+#: src/libnm-core-impl/nm-setting-connection.c:1614
 msgid "UUID needs normalization"
 msgstr ""
 
@@ -6095,29 +6099,25 @@ msgid ""
 "fc00::/7) and IPv6 privacy extension addresses (rfc3041, ipv6.ip6-privacy) "
 "will be excluded from being configured as endpoints. If \"disabled\" (0x1), "
 "MPTCP handling for the interface is disabled and no endpoints are "
-"registered. The \"enabled\" (0x2) flag means that MPTCP handling is enabled. "
-"This flag can also be implied from the presence of other flags. Even when "
-"enabled, MPTCP handling will by default still be disabled unless \"/proc/sys/"
-"net/mptcp/enabled\" sysctl is on. NetworkManager does not change the sysctl "
-"and this is up to the administrator or distribution. To configure endpoints "
-"even if the sysctl is disabled, \"also-without-sysctl\" (0x4) flag can be "
-"used. In that case, NetworkManager doesn't look at the sysctl and configures "
-"endpoints regardless. Even when enabled, NetworkManager will only configure "
-"MPTCP endpoints for a certain address family, if there is a unicast default "
-"route (0.0.0.0/0 or ::/0) in the main routing table. The flag \"also-without-"
-"default-route\" (0x8) can override that. When MPTCP handling is enabled then "
-"endpoints are configured with the specified address flags \"signal\" (0x10), "
-"\"subflow\" (0x20), \"backup\" (0x40), \"fullmesh\" (0x80). See ip-mptcp(8) "
-"manual for additional information about the flags. If the flags are zero "
-"(0x0), the global connection default from NetworkManager.conf is honored. If "
-"still unspecified, the fallback is \"enabled,subflow\". Note that this means "
-"that MPTCP is by default done depending on the \"/proc/sys/net/mptcp/"
-"enabled\" sysctl. NetworkManager does not change the MPTCP limits nor enable "
-"MPTCP via \"/proc/sys/net/mptcp/enabled\". That is a host configuration "
-"which the admin can change via sysctl and ip-mptcp. Strict reverse path "
-"filtering (rp_filter) breaks many MPTCP use cases, so when MPTCP handling "
-"for IPv4 addresses on the interface is enabled, NetworkManager would loosen "
-"the strict reverse path filtering (1) to the loose setting (2)."
+"registered. The flag \"enabled-on-global-iface\" (0x2) means that MPTCP "
+"handling is enabled if the interface configures a default route in the main "
+"routing table. This choice is per-address family, for example if there is an "
+"IPv4 default route 0.0.0.0/0, IPv4 endpoints are configured. The "
+"\"enabled\" (0x4) flag means that MPTCP handling is explicitly enabled. This "
+"flag can also be implied from the presence of other flags. If MPTCP handling "
+"is enabled, then endpoints will be configured with the specified address "
+"flags \"signal\" (0x10), \"subflow\" (0x20), \"backup\" (0x40), "
+"\"fullmesh\" (0x80). See ip-mptcp(8) manual for additional information about "
+"the flags. If the flags are zero, the global connection default from "
+"NetworkManager.conf is honored. If still unspecified, the fallback is either "
+"\"disabled\" or \"enabled-on-global-iface,subflow\" depending on \"/proc/sys/"
+"net/mptcp/enabled\". NetworkManager does not change the MPTCP limits nor "
+"enable MPTCP via \"/proc/sys/net/mptcp/enabled\". That is a host "
+"configuration which the admin can change via sysctl and ip-mptcp. Strict "
+"reverse path filtering (rp_filter) breaks many MPTCP use cases, so when "
+"MPTCP handling for IPv4 addresses on the interface is enabled, "
+"NetworkManager would loosen the strict reverse path filtering (1) to the "
+"loose setting (2)."
 msgstr ""
 
 #: src/libnmc-setting/settings-docs.h.in:18
@@ -7351,13 +7351,11 @@ msgstr ""
 #: src/libnmc-setting/settings-docs.h.in:200
 msgid ""
 "The gateway associated with this configuration. This is only meaningful if "
-"\"addresses\" is also set. Setting the gateway causes NetworkManager to "
-"configure a standard default route with the gateway as next hop. This is "
-"ignored if \"never-default\" is set. An alternative is to configure the "
-"default route explicitly with a manual route and /0 as prefix length. Note "
-"that the gateway usually conflicts with routing that NetworkManager "
-"configures for WireGuard interfaces, so usually it should not be set in that "
-"case. See \"ip4-auto-default-route\"."
+"\"addresses\" is also set. The gateway's main purpose is to control the next "
+"hop of the standard default route on the device. Hence, the gateway property "
+"conflicts with \"never-default\" and will be automatically dropped if the IP "
+"configuration is set to never-default. As an alternative to set the gateway, "
+"configure a static default route with /0 as prefix length."
 msgstr ""
 
 #: src/libnmc-setting/settings-docs.h.in:175
diff --git a/po/ko.po b/po/ko.po
index a97ae2d0..7465656d 100644
--- a/po/ko.po
+++ b/po/ko.po
@@ -33,7 +33,7 @@ msgstr ""
 "Project-Id-Version: NetworkManager\n"
 "Report-Msgid-Bugs-To: https://gitlab.freedesktop.org/NetworkManager/"
 "NetworkManager/issues\n"
-"POT-Creation-Date: 2022-08-26 16:42+0200\n"
+"POT-Creation-Date: 2022-08-11 16:06-0300\n"
 "PO-Revision-Date: 2020-08-23 16:31+0900\n"
 "Last-Translator: Changwoo Ryu <cwryu@debian.org>\n"
 "Language-Team: GNOME Korea <gnome-kr@googlegroups.com>\n"
@@ -1181,7 +1181,7 @@ msgstr "예기치 ì•Šì€ UUID %s, 기대한 ê°’ì€ %s"
 #: src/libnm-core-impl/nm-setting-cdma.c:144
 #: src/libnm-core-impl/nm-setting-connection.c:1149
 #: src/libnm-core-impl/nm-setting-connection.c:1187
-#: src/libnm-core-impl/nm-setting-connection.c:1516
+#: src/libnm-core-impl/nm-setting-connection.c:1530
 #: src/libnm-core-impl/nm-setting-ip-config.c:5423
 #: src/libnm-core-impl/nm-setting-ip-tunnel.c:387
 #: src/libnm-core-impl/nm-setting-olpc-mesh.c:99
@@ -1524,7 +1524,7 @@ msgstr "ì¸ì¦ì„œê°€ PKCS#11 토í°ì— 없는 경우 암호가 ì§€ì›ë˜ì§€ 않ì
 #: src/libnm-core-impl/nm-setting-cdma.c:159
 #: src/libnm-core-impl/nm-setting-connection.c:1159
 #: src/libnm-core-impl/nm-setting-connection.c:1202
-#: src/libnm-core-impl/nm-setting-connection.c:1454
+#: src/libnm-core-impl/nm-setting-connection.c:1468
 #: src/libnm-core-impl/nm-setting-gsm.c:298
 #: src/libnm-core-impl/nm-setting-gsm.c:353
 #: src/libnm-core-impl/nm-setting-gsm.c:396
@@ -1811,7 +1811,7 @@ msgstr "사용량 ê°’ %dì´(ê°€) 유효하지 않습니다"
 #: src/libnm-core-impl/nm-setting-connection.c:1351
 #: src/libnm-core-impl/nm-setting-connection.c:1365
 #: src/libnm-core-impl/nm-setting-connection.c:1379
-#: src/libnm-core-impl/nm-setting-connection.c:1440
+#: src/libnm-core-impl/nm-setting-connection.c:1454
 #, c-format
 msgid "value %d is not valid"
 msgstr "%d ê°’ì€ ìœ íš¨í•˜ì§€ 않습니다"
@@ -1820,40 +1820,44 @@ msgstr "%d ê°’ì€ ìœ íš¨í•˜ì§€ 않습니다"
 msgid "\"disabled\" flag cannot be combined with other MPTCP flags"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1409
+#: src/libnm-core-impl/nm-setting-connection.c:1411
+msgid "\"enabled\" and \"enabled-on-global-iface\" flag cannot be set together"
+msgstr ""
+
+#: src/libnm-core-impl/nm-setting-connection.c:1422
 msgid "cannot set both \"signal\" and \"fullmesh\" MPTCP flags"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1421
+#: src/libnm-core-impl/nm-setting-connection.c:1435
 #, fuzzy, c-format
 #| msgid "'%u' flags are not valid; use combination of %s"
 msgid "value %u is not a valid combination of MPTCP flags"
 msgstr "'%u' 플래그가 유효하지 않습니다. %sì˜ ì¡°í•©ì„ ì‚¬ìš©í•˜ì‹­ì‹œì˜¤"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1468
+#: src/libnm-core-impl/nm-setting-connection.c:1482
 msgid "DHCP option cannot be longer than 255 characters"
 msgstr "DHCP ì˜µì…˜ì€ 255ìžë¥¼ 초과할 수 없습니다"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1479
+#: src/libnm-core-impl/nm-setting-connection.c:1493
 msgid "MUD URL is not a valid URL"
 msgstr "MUD URLì´ ìœ íš¨í•œ URLì´ ì•„ë‹™ë‹ˆë‹¤"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1499
+#: src/libnm-core-impl/nm-setting-connection.c:1513
 #, fuzzy
 msgid "invalid permissions not in format \"user:$UNAME[:]\""
 msgstr "ìž˜ëª»ëœ ê¶Œí•œ \"%s\""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1528
+#: src/libnm-core-impl/nm-setting-connection.c:1542
 #, c-format
 msgid "property type should be set to '%s'"
 msgstr "ì†ì„± ìœ í˜•ì„ '%s'(으)로 설정해야 합니다"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1546
+#: src/libnm-core-impl/nm-setting-connection.c:1560
 #, c-format
 msgid "slave-type '%s' requires a '%s' setting in the connection"
 msgstr "ì—°ê²°ì—서 slave-type '%s'ì—는 '%s' ì„¤ì •ì´ í•„ìš”í•©ë‹ˆë‹¤."
 
-#: src/libnm-core-impl/nm-setting-connection.c:1557
+#: src/libnm-core-impl/nm-setting-connection.c:1571
 #, c-format
 msgid ""
 "Detect a slave connection with '%s' set and a port type '%s'. '%s' should be "
@@ -1862,13 +1866,13 @@ msgstr ""
 "'%s'(으)로 설정ë˜ê³  í¬íЏ ìœ í˜•ì´ '%s'ì¸ ìŠ¬ë ˆì´ë¸Œ ì—°ê²°ì„ ê°ì§€í•©ë‹ˆë‹¤. '%s'ì€"
 "(는) '%s'(으)로 설정해야 합니다"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1583
+#: src/libnm-core-impl/nm-setting-connection.c:1597
 #, c-format
 msgid "A slave connection with '%s' set to '%s' cannot have a '%s' setting"
 msgstr ""
 "'%s'ì´(ê°€) '%s'(으)로 ì„¤ì •ëœ ìŠ¬ë ˆì´ë¸Œ ì—°ê²°ì—는 '%s' ì„¤ì •ì´ ìžˆìœ¼ë©´ 안 ë©ë‹ˆë‹¤."
 
-#: src/libnm-core-impl/nm-setting-connection.c:1600
+#: src/libnm-core-impl/nm-setting-connection.c:1614
 msgid "UUID needs normalization"
 msgstr ""
 
@@ -6016,29 +6020,25 @@ msgid ""
 "fc00::/7) and IPv6 privacy extension addresses (rfc3041, ipv6.ip6-privacy) "
 "will be excluded from being configured as endpoints. If \"disabled\" (0x1), "
 "MPTCP handling for the interface is disabled and no endpoints are "
-"registered. The \"enabled\" (0x2) flag means that MPTCP handling is enabled. "
-"This flag can also be implied from the presence of other flags. Even when "
-"enabled, MPTCP handling will by default still be disabled unless \"/proc/sys/"
-"net/mptcp/enabled\" sysctl is on. NetworkManager does not change the sysctl "
-"and this is up to the administrator or distribution. To configure endpoints "
-"even if the sysctl is disabled, \"also-without-sysctl\" (0x4) flag can be "
-"used. In that case, NetworkManager doesn't look at the sysctl and configures "
-"endpoints regardless. Even when enabled, NetworkManager will only configure "
-"MPTCP endpoints for a certain address family, if there is a unicast default "
-"route (0.0.0.0/0 or ::/0) in the main routing table. The flag \"also-without-"
-"default-route\" (0x8) can override that. When MPTCP handling is enabled then "
-"endpoints are configured with the specified address flags \"signal\" (0x10), "
-"\"subflow\" (0x20), \"backup\" (0x40), \"fullmesh\" (0x80). See ip-mptcp(8) "
-"manual for additional information about the flags. If the flags are zero "
-"(0x0), the global connection default from NetworkManager.conf is honored. If "
-"still unspecified, the fallback is \"enabled,subflow\". Note that this means "
-"that MPTCP is by default done depending on the \"/proc/sys/net/mptcp/"
-"enabled\" sysctl. NetworkManager does not change the MPTCP limits nor enable "
-"MPTCP via \"/proc/sys/net/mptcp/enabled\". That is a host configuration "
-"which the admin can change via sysctl and ip-mptcp. Strict reverse path "
-"filtering (rp_filter) breaks many MPTCP use cases, so when MPTCP handling "
-"for IPv4 addresses on the interface is enabled, NetworkManager would loosen "
-"the strict reverse path filtering (1) to the loose setting (2)."
+"registered. The flag \"enabled-on-global-iface\" (0x2) means that MPTCP "
+"handling is enabled if the interface configures a default route in the main "
+"routing table. This choice is per-address family, for example if there is an "
+"IPv4 default route 0.0.0.0/0, IPv4 endpoints are configured. The "
+"\"enabled\" (0x4) flag means that MPTCP handling is explicitly enabled. This "
+"flag can also be implied from the presence of other flags. If MPTCP handling "
+"is enabled, then endpoints will be configured with the specified address "
+"flags \"signal\" (0x10), \"subflow\" (0x20), \"backup\" (0x40), "
+"\"fullmesh\" (0x80). See ip-mptcp(8) manual for additional information about "
+"the flags. If the flags are zero, the global connection default from "
+"NetworkManager.conf is honored. If still unspecified, the fallback is either "
+"\"disabled\" or \"enabled-on-global-iface,subflow\" depending on \"/proc/sys/"
+"net/mptcp/enabled\". NetworkManager does not change the MPTCP limits nor "
+"enable MPTCP via \"/proc/sys/net/mptcp/enabled\". That is a host "
+"configuration which the admin can change via sysctl and ip-mptcp. Strict "
+"reverse path filtering (rp_filter) breaks many MPTCP use cases, so when "
+"MPTCP handling for IPv4 addresses on the interface is enabled, "
+"NetworkManager would loosen the strict reverse path filtering (1) to the "
+"loose setting (2)."
 msgstr ""
 
 #: src/libnmc-setting/settings-docs.h.in:18
@@ -7759,24 +7759,13 @@ msgstr ""
 
 #: src/libnmc-setting/settings-docs.h.in:174
 #: src/libnmc-setting/settings-docs.h.in:200
-#, fuzzy
-#| msgid ""
-#| "The gateway associated with this configuration. This is only meaningful "
-#| "if \"addresses\" is also set. The gateway's main purpose is to control "
-#| "the next hop of the standard default route on the device. Hence, the "
-#| "gateway property conflicts with \"never-default\" and will be "
-#| "automatically dropped if the IP configuration is set to never-default. As "
-#| "an alternative to set the gateway, configure a static default route "
-#| "with /0 as prefix length."
 msgid ""
 "The gateway associated with this configuration. This is only meaningful if "
-"\"addresses\" is also set. Setting the gateway causes NetworkManager to "
-"configure a standard default route with the gateway as next hop. This is "
-"ignored if \"never-default\" is set. An alternative is to configure the "
-"default route explicitly with a manual route and /0 as prefix length. Note "
-"that the gateway usually conflicts with routing that NetworkManager "
-"configures for WireGuard interfaces, so usually it should not be set in that "
-"case. See \"ip4-auto-default-route\"."
+"\"addresses\" is also set. The gateway's main purpose is to control the next "
+"hop of the standard default route on the device. Hence, the gateway property "
+"conflicts with \"never-default\" and will be automatically dropped if the IP "
+"configuration is set to never-default. As an alternative to set the gateway, "
+"configure a static default route with /0 as prefix length."
 msgstr ""
 "ì´ êµ¬ì„±ê³¼ ì—°ê´€ëœ ê²Œì´íŠ¸ì›¨ì´. \"addresses\"ë„ ì„¤ì •í•œ 경우ì—ë§Œ ì˜ë¯¸ê°€ 있습니"
 "다. 게ì´íŠ¸ì›¨ì´ì˜ 주요 목ì ì€ 장치ì—서 표준 기본 ê²½ë¡œì˜ ë‹¤ìŒ í™‰ì„ ì œì–´í•˜ëŠ” 것"
diff --git a/po/ku.po b/po/ku.po
index c66a0827..d7de1314 100644
--- a/po/ku.po
+++ b/po/ku.po
@@ -9,7 +9,7 @@ msgstr ""
 "Project-Id-Version: NetworkManager\n"
 "Report-Msgid-Bugs-To: https://gitlab.freedesktop.org/NetworkManager/"
 "NetworkManager/issues\n"
-"POT-Creation-Date: 2022-08-26 16:42+0200\n"
+"POT-Creation-Date: 2022-08-11 16:06-0300\n"
 "PO-Revision-Date: 2007-01-02 21:47+0000\n"
 "Last-Translator: Erdal Ronahi <erdal.ronahi@gmail.com>\n"
 "Language-Team: Kurdish <ku@li.org>\n"
@@ -1178,7 +1178,7 @@ msgstr ""
 #: src/libnm-core-impl/nm-setting-cdma.c:144
 #: src/libnm-core-impl/nm-setting-connection.c:1149
 #: src/libnm-core-impl/nm-setting-connection.c:1187
-#: src/libnm-core-impl/nm-setting-connection.c:1516
+#: src/libnm-core-impl/nm-setting-connection.c:1530
 #: src/libnm-core-impl/nm-setting-ip-config.c:5423
 #: src/libnm-core-impl/nm-setting-ip-tunnel.c:387
 #: src/libnm-core-impl/nm-setting-olpc-mesh.c:99
@@ -1521,7 +1521,7 @@ msgstr ""
 #: src/libnm-core-impl/nm-setting-cdma.c:159
 #: src/libnm-core-impl/nm-setting-connection.c:1159
 #: src/libnm-core-impl/nm-setting-connection.c:1202
-#: src/libnm-core-impl/nm-setting-connection.c:1454
+#: src/libnm-core-impl/nm-setting-connection.c:1468
 #: src/libnm-core-impl/nm-setting-gsm.c:298
 #: src/libnm-core-impl/nm-setting-gsm.c:353
 #: src/libnm-core-impl/nm-setting-gsm.c:396
@@ -1805,7 +1805,7 @@ msgstr ""
 #: src/libnm-core-impl/nm-setting-connection.c:1351
 #: src/libnm-core-impl/nm-setting-connection.c:1365
 #: src/libnm-core-impl/nm-setting-connection.c:1379
-#: src/libnm-core-impl/nm-setting-connection.c:1440
+#: src/libnm-core-impl/nm-setting-connection.c:1454
 #, fuzzy, c-format
 msgid "value %d is not valid"
 msgstr "Navnîşana IP:"
@@ -1814,52 +1814,56 @@ msgstr "Navnîşana IP:"
 msgid "\"disabled\" flag cannot be combined with other MPTCP flags"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1409
+#: src/libnm-core-impl/nm-setting-connection.c:1411
+msgid "\"enabled\" and \"enabled-on-global-iface\" flag cannot be set together"
+msgstr ""
+
+#: src/libnm-core-impl/nm-setting-connection.c:1422
 msgid "cannot set both \"signal\" and \"fullmesh\" MPTCP flags"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1421
+#: src/libnm-core-impl/nm-setting-connection.c:1435
 #, fuzzy, c-format
 msgid "value %u is not a valid combination of MPTCP flags"
 msgstr "Girêdanên çalak tune!"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1468
+#: src/libnm-core-impl/nm-setting-connection.c:1482
 msgid "DHCP option cannot be longer than 255 characters"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1479
+#: src/libnm-core-impl/nm-setting-connection.c:1493
 #, fuzzy
 msgid "MUD URL is not a valid URL"
 msgstr "Navnîşana IP:"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1499
+#: src/libnm-core-impl/nm-setting-connection.c:1513
 #, fuzzy
 msgid "invalid permissions not in format \"user:$UNAME[:]\""
 msgstr "Navnîşana IP:"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1528
+#: src/libnm-core-impl/nm-setting-connection.c:1542
 #, c-format
 msgid "property type should be set to '%s'"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1546
+#: src/libnm-core-impl/nm-setting-connection.c:1560
 #, c-format
 msgid "slave-type '%s' requires a '%s' setting in the connection"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1557
+#: src/libnm-core-impl/nm-setting-connection.c:1571
 #, c-format
 msgid ""
 "Detect a slave connection with '%s' set and a port type '%s'. '%s' should be "
 "set to '%s'"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1583
+#: src/libnm-core-impl/nm-setting-connection.c:1597
 #, c-format
 msgid "A slave connection with '%s' set to '%s' cannot have a '%s' setting"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1600
+#: src/libnm-core-impl/nm-setting-connection.c:1614
 msgid "UUID needs normalization"
 msgstr ""
 
@@ -5817,29 +5821,25 @@ msgid ""
 "fc00::/7) and IPv6 privacy extension addresses (rfc3041, ipv6.ip6-privacy) "
 "will be excluded from being configured as endpoints. If \"disabled\" (0x1), "
 "MPTCP handling for the interface is disabled and no endpoints are "
-"registered. The \"enabled\" (0x2) flag means that MPTCP handling is enabled. "
-"This flag can also be implied from the presence of other flags. Even when "
-"enabled, MPTCP handling will by default still be disabled unless \"/proc/sys/"
-"net/mptcp/enabled\" sysctl is on. NetworkManager does not change the sysctl "
-"and this is up to the administrator or distribution. To configure endpoints "
-"even if the sysctl is disabled, \"also-without-sysctl\" (0x4) flag can be "
-"used. In that case, NetworkManager doesn't look at the sysctl and configures "
-"endpoints regardless. Even when enabled, NetworkManager will only configure "
-"MPTCP endpoints for a certain address family, if there is a unicast default "
-"route (0.0.0.0/0 or ::/0) in the main routing table. The flag \"also-without-"
-"default-route\" (0x8) can override that. When MPTCP handling is enabled then "
-"endpoints are configured with the specified address flags \"signal\" (0x10), "
-"\"subflow\" (0x20), \"backup\" (0x40), \"fullmesh\" (0x80). See ip-mptcp(8) "
-"manual for additional information about the flags. If the flags are zero "
-"(0x0), the global connection default from NetworkManager.conf is honored. If "
-"still unspecified, the fallback is \"enabled,subflow\". Note that this means "
-"that MPTCP is by default done depending on the \"/proc/sys/net/mptcp/"
-"enabled\" sysctl. NetworkManager does not change the MPTCP limits nor enable "
-"MPTCP via \"/proc/sys/net/mptcp/enabled\". That is a host configuration "
-"which the admin can change via sysctl and ip-mptcp. Strict reverse path "
-"filtering (rp_filter) breaks many MPTCP use cases, so when MPTCP handling "
-"for IPv4 addresses on the interface is enabled, NetworkManager would loosen "
-"the strict reverse path filtering (1) to the loose setting (2)."
+"registered. The flag \"enabled-on-global-iface\" (0x2) means that MPTCP "
+"handling is enabled if the interface configures a default route in the main "
+"routing table. This choice is per-address family, for example if there is an "
+"IPv4 default route 0.0.0.0/0, IPv4 endpoints are configured. The "
+"\"enabled\" (0x4) flag means that MPTCP handling is explicitly enabled. This "
+"flag can also be implied from the presence of other flags. If MPTCP handling "
+"is enabled, then endpoints will be configured with the specified address "
+"flags \"signal\" (0x10), \"subflow\" (0x20), \"backup\" (0x40), "
+"\"fullmesh\" (0x80). See ip-mptcp(8) manual for additional information about "
+"the flags. If the flags are zero, the global connection default from "
+"NetworkManager.conf is honored. If still unspecified, the fallback is either "
+"\"disabled\" or \"enabled-on-global-iface,subflow\" depending on \"/proc/sys/"
+"net/mptcp/enabled\". NetworkManager does not change the MPTCP limits nor "
+"enable MPTCP via \"/proc/sys/net/mptcp/enabled\". That is a host "
+"configuration which the admin can change via sysctl and ip-mptcp. Strict "
+"reverse path filtering (rp_filter) breaks many MPTCP use cases, so when "
+"MPTCP handling for IPv4 addresses on the interface is enabled, "
+"NetworkManager would loosen the strict reverse path filtering (1) to the "
+"loose setting (2)."
 msgstr ""
 
 #: src/libnmc-setting/settings-docs.h.in:18
@@ -7075,13 +7075,11 @@ msgstr ""
 #: src/libnmc-setting/settings-docs.h.in:200
 msgid ""
 "The gateway associated with this configuration. This is only meaningful if "
-"\"addresses\" is also set. Setting the gateway causes NetworkManager to "
-"configure a standard default route with the gateway as next hop. This is "
-"ignored if \"never-default\" is set. An alternative is to configure the "
-"default route explicitly with a manual route and /0 as prefix length. Note "
-"that the gateway usually conflicts with routing that NetworkManager "
-"configures for WireGuard interfaces, so usually it should not be set in that "
-"case. See \"ip4-auto-default-route\"."
+"\"addresses\" is also set. The gateway's main purpose is to control the next "
+"hop of the standard default route on the device. Hence, the gateway property "
+"conflicts with \"never-default\" and will be automatically dropped if the IP "
+"configuration is set to never-default. As an alternative to set the gateway, "
+"configure a static default route with /0 as prefix length."
 msgstr ""
 
 #: src/libnmc-setting/settings-docs.h.in:175
diff --git a/po/lt.po b/po/lt.po
index 92bb6516..bacbd2d0 100644
--- a/po/lt.po
+++ b/po/lt.po
@@ -13,7 +13,7 @@ msgstr ""
 "Project-Id-Version: NetworkManager\n"
 "Report-Msgid-Bugs-To: https://gitlab.freedesktop.org/NetworkManager/"
 "NetworkManager/issues\n"
-"POT-Creation-Date: 2022-08-26 16:42+0200\n"
+"POT-Creation-Date: 2022-08-11 16:06-0300\n"
 "PO-Revision-Date: 2017-04-21 06:10-0400\n"
 "Last-Translator: Copied by Zanata <copied-by-zanata@zanata.org>\n"
 "Language-Team: Lietuvių <gnome-lt@lists.akl.lt>\n"
@@ -1237,7 +1237,7 @@ msgstr ""
 #: src/libnm-core-impl/nm-setting-cdma.c:144
 #: src/libnm-core-impl/nm-setting-connection.c:1149
 #: src/libnm-core-impl/nm-setting-connection.c:1187
-#: src/libnm-core-impl/nm-setting-connection.c:1516
+#: src/libnm-core-impl/nm-setting-connection.c:1530
 #: src/libnm-core-impl/nm-setting-ip-config.c:5423
 #: src/libnm-core-impl/nm-setting-ip-tunnel.c:387
 #: src/libnm-core-impl/nm-setting-olpc-mesh.c:99
@@ -1583,7 +1583,7 @@ msgstr ""
 #: src/libnm-core-impl/nm-setting-cdma.c:159
 #: src/libnm-core-impl/nm-setting-connection.c:1159
 #: src/libnm-core-impl/nm-setting-connection.c:1202
-#: src/libnm-core-impl/nm-setting-connection.c:1454
+#: src/libnm-core-impl/nm-setting-connection.c:1468
 #: src/libnm-core-impl/nm-setting-gsm.c:298
 #: src/libnm-core-impl/nm-setting-gsm.c:353
 #: src/libnm-core-impl/nm-setting-gsm.c:396
@@ -1871,7 +1871,7 @@ msgstr "indeksas „%s“ yra netinkamas"
 #: src/libnm-core-impl/nm-setting-connection.c:1351
 #: src/libnm-core-impl/nm-setting-connection.c:1365
 #: src/libnm-core-impl/nm-setting-connection.c:1379
-#: src/libnm-core-impl/nm-setting-connection.c:1440
+#: src/libnm-core-impl/nm-setting-connection.c:1454
 #, fuzzy, c-format
 msgid "value %d is not valid"
 msgstr "indeksas „%s“ yra netinkamas"
@@ -1880,52 +1880,56 @@ msgstr "indeksas „%s“ yra netinkamas"
 msgid "\"disabled\" flag cannot be combined with other MPTCP flags"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1409
+#: src/libnm-core-impl/nm-setting-connection.c:1411
+msgid "\"enabled\" and \"enabled-on-global-iface\" flag cannot be set together"
+msgstr ""
+
+#: src/libnm-core-impl/nm-setting-connection.c:1422
 msgid "cannot set both \"signal\" and \"fullmesh\" MPTCP flags"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1421
+#: src/libnm-core-impl/nm-setting-connection.c:1435
 #, fuzzy, c-format
 msgid "value %u is not a valid combination of MPTCP flags"
 msgstr "„%s“ yra netinkamas; naudokite [%s] arba [%s]"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1468
+#: src/libnm-core-impl/nm-setting-connection.c:1482
 msgid "DHCP option cannot be longer than 255 characters"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1479
+#: src/libnm-core-impl/nm-setting-connection.c:1493
 #, fuzzy
 msgid "MUD URL is not a valid URL"
 msgstr "„%s“ nėra tinkamas UUID"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1499
+#: src/libnm-core-impl/nm-setting-connection.c:1513
 #, fuzzy
 msgid "invalid permissions not in format \"user:$UNAME[:]\""
 msgstr "netinkamas IPv4 kelias „%s“"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1528
+#: src/libnm-core-impl/nm-setting-connection.c:1542
 #, c-format
 msgid "property type should be set to '%s'"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1546
+#: src/libnm-core-impl/nm-setting-connection.c:1560
 #, fuzzy, c-format
 msgid "slave-type '%s' requires a '%s' setting in the connection"
 msgstr "reikalauja „%s“ nustatymo ryšyje"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1557
+#: src/libnm-core-impl/nm-setting-connection.c:1571
 #, c-format
 msgid ""
 "Detect a slave connection with '%s' set and a port type '%s'. '%s' should be "
 "set to '%s'"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1583
+#: src/libnm-core-impl/nm-setting-connection.c:1597
 #, fuzzy, c-format
 msgid "A slave connection with '%s' set to '%s' cannot have a '%s' setting"
 msgstr "reikalauja nustatymo „%s“ arba „%s“"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1600
+#: src/libnm-core-impl/nm-setting-connection.c:1614
 msgid "UUID needs normalization"
 msgstr ""
 
@@ -6037,29 +6041,25 @@ msgid ""
 "fc00::/7) and IPv6 privacy extension addresses (rfc3041, ipv6.ip6-privacy) "
 "will be excluded from being configured as endpoints. If \"disabled\" (0x1), "
 "MPTCP handling for the interface is disabled and no endpoints are "
-"registered. The \"enabled\" (0x2) flag means that MPTCP handling is enabled. "
-"This flag can also be implied from the presence of other flags. Even when "
-"enabled, MPTCP handling will by default still be disabled unless \"/proc/sys/"
-"net/mptcp/enabled\" sysctl is on. NetworkManager does not change the sysctl "
-"and this is up to the administrator or distribution. To configure endpoints "
-"even if the sysctl is disabled, \"also-without-sysctl\" (0x4) flag can be "
-"used. In that case, NetworkManager doesn't look at the sysctl and configures "
-"endpoints regardless. Even when enabled, NetworkManager will only configure "
-"MPTCP endpoints for a certain address family, if there is a unicast default "
-"route (0.0.0.0/0 or ::/0) in the main routing table. The flag \"also-without-"
-"default-route\" (0x8) can override that. When MPTCP handling is enabled then "
-"endpoints are configured with the specified address flags \"signal\" (0x10), "
-"\"subflow\" (0x20), \"backup\" (0x40), \"fullmesh\" (0x80). See ip-mptcp(8) "
-"manual for additional information about the flags. If the flags are zero "
-"(0x0), the global connection default from NetworkManager.conf is honored. If "
-"still unspecified, the fallback is \"enabled,subflow\". Note that this means "
-"that MPTCP is by default done depending on the \"/proc/sys/net/mptcp/"
-"enabled\" sysctl. NetworkManager does not change the MPTCP limits nor enable "
-"MPTCP via \"/proc/sys/net/mptcp/enabled\". That is a host configuration "
-"which the admin can change via sysctl and ip-mptcp. Strict reverse path "
-"filtering (rp_filter) breaks many MPTCP use cases, so when MPTCP handling "
-"for IPv4 addresses on the interface is enabled, NetworkManager would loosen "
-"the strict reverse path filtering (1) to the loose setting (2)."
+"registered. The flag \"enabled-on-global-iface\" (0x2) means that MPTCP "
+"handling is enabled if the interface configures a default route in the main "
+"routing table. This choice is per-address family, for example if there is an "
+"IPv4 default route 0.0.0.0/0, IPv4 endpoints are configured. The "
+"\"enabled\" (0x4) flag means that MPTCP handling is explicitly enabled. This "
+"flag can also be implied from the presence of other flags. If MPTCP handling "
+"is enabled, then endpoints will be configured with the specified address "
+"flags \"signal\" (0x10), \"subflow\" (0x20), \"backup\" (0x40), "
+"\"fullmesh\" (0x80). See ip-mptcp(8) manual for additional information about "
+"the flags. If the flags are zero, the global connection default from "
+"NetworkManager.conf is honored. If still unspecified, the fallback is either "
+"\"disabled\" or \"enabled-on-global-iface,subflow\" depending on \"/proc/sys/"
+"net/mptcp/enabled\". NetworkManager does not change the MPTCP limits nor "
+"enable MPTCP via \"/proc/sys/net/mptcp/enabled\". That is a host "
+"configuration which the admin can change via sysctl and ip-mptcp. Strict "
+"reverse path filtering (rp_filter) breaks many MPTCP use cases, so when "
+"MPTCP handling for IPv4 addresses on the interface is enabled, "
+"NetworkManager would loosen the strict reverse path filtering (1) to the "
+"loose setting (2)."
 msgstr ""
 
 #: src/libnmc-setting/settings-docs.h.in:18
@@ -7293,13 +7293,11 @@ msgstr ""
 #: src/libnmc-setting/settings-docs.h.in:200
 msgid ""
 "The gateway associated with this configuration. This is only meaningful if "
-"\"addresses\" is also set. Setting the gateway causes NetworkManager to "
-"configure a standard default route with the gateway as next hop. This is "
-"ignored if \"never-default\" is set. An alternative is to configure the "
-"default route explicitly with a manual route and /0 as prefix length. Note "
-"that the gateway usually conflicts with routing that NetworkManager "
-"configures for WireGuard interfaces, so usually it should not be set in that "
-"case. See \"ip4-auto-default-route\"."
+"\"addresses\" is also set. The gateway's main purpose is to control the next "
+"hop of the standard default route on the device. Hence, the gateway property "
+"conflicts with \"never-default\" and will be automatically dropped if the IP "
+"configuration is set to never-default. As an alternative to set the gateway, "
+"configure a static default route with /0 as prefix length."
 msgstr ""
 
 #: src/libnmc-setting/settings-docs.h.in:175
diff --git a/po/lv.po b/po/lv.po
index a9f8fafa..f07cc15e 100644
--- a/po/lv.po
+++ b/po/lv.po
@@ -10,7 +10,7 @@ msgstr ""
 "Project-Id-Version: NetworkManager\n"
 "Report-Msgid-Bugs-To: https://gitlab.freedesktop.org/NetworkManager/"
 "NetworkManager/issues\n"
-"POT-Creation-Date: 2022-08-26 16:42+0200\n"
+"POT-Creation-Date: 2022-08-11 16:06-0300\n"
 "PO-Revision-Date: 2017-04-21 05:39-0400\n"
 "Last-Translator: Copied by Zanata <copied-by-zanata@zanata.org>\n"
 "Language-Team: Latvian <locale@laka.lv>\n"
@@ -1200,7 +1200,7 @@ msgstr ""
 #: src/libnm-core-impl/nm-setting-cdma.c:144
 #: src/libnm-core-impl/nm-setting-connection.c:1149
 #: src/libnm-core-impl/nm-setting-connection.c:1187
-#: src/libnm-core-impl/nm-setting-connection.c:1516
+#: src/libnm-core-impl/nm-setting-connection.c:1530
 #: src/libnm-core-impl/nm-setting-ip-config.c:5423
 #: src/libnm-core-impl/nm-setting-ip-tunnel.c:387
 #: src/libnm-core-impl/nm-setting-olpc-mesh.c:99
@@ -1542,7 +1542,7 @@ msgstr ""
 #: src/libnm-core-impl/nm-setting-cdma.c:159
 #: src/libnm-core-impl/nm-setting-connection.c:1159
 #: src/libnm-core-impl/nm-setting-connection.c:1202
-#: src/libnm-core-impl/nm-setting-connection.c:1454
+#: src/libnm-core-impl/nm-setting-connection.c:1468
 #: src/libnm-core-impl/nm-setting-gsm.c:298
 #: src/libnm-core-impl/nm-setting-gsm.c:353
 #: src/libnm-core-impl/nm-setting-gsm.c:396
@@ -1826,7 +1826,7 @@ msgstr ""
 #: src/libnm-core-impl/nm-setting-connection.c:1351
 #: src/libnm-core-impl/nm-setting-connection.c:1365
 #: src/libnm-core-impl/nm-setting-connection.c:1379
-#: src/libnm-core-impl/nm-setting-connection.c:1440
+#: src/libnm-core-impl/nm-setting-connection.c:1454
 #, c-format
 msgid "value %d is not valid"
 msgstr ""
@@ -1835,52 +1835,56 @@ msgstr ""
 msgid "\"disabled\" flag cannot be combined with other MPTCP flags"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1409
+#: src/libnm-core-impl/nm-setting-connection.c:1411
+msgid "\"enabled\" and \"enabled-on-global-iface\" flag cannot be set together"
+msgstr ""
+
+#: src/libnm-core-impl/nm-setting-connection.c:1422
 msgid "cannot set both \"signal\" and \"fullmesh\" MPTCP flags"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1421
+#: src/libnm-core-impl/nm-setting-connection.c:1435
 #, c-format
 msgid "value %u is not a valid combination of MPTCP flags"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1468
+#: src/libnm-core-impl/nm-setting-connection.c:1482
 msgid "DHCP option cannot be longer than 255 characters"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1479
+#: src/libnm-core-impl/nm-setting-connection.c:1493
 #, fuzzy
 msgid "MUD URL is not a valid URL"
 msgstr "IP adrese:"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1499
+#: src/libnm-core-impl/nm-setting-connection.c:1513
 #, fuzzy
 msgid "invalid permissions not in format \"user:$UNAME[:]\""
 msgstr "IP adrese:"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1528
+#: src/libnm-core-impl/nm-setting-connection.c:1542
 #, c-format
 msgid "property type should be set to '%s'"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1546
+#: src/libnm-core-impl/nm-setting-connection.c:1560
 #, c-format
 msgid "slave-type '%s' requires a '%s' setting in the connection"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1557
+#: src/libnm-core-impl/nm-setting-connection.c:1571
 #, c-format
 msgid ""
 "Detect a slave connection with '%s' set and a port type '%s'. '%s' should be "
 "set to '%s'"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1583
+#: src/libnm-core-impl/nm-setting-connection.c:1597
 #, c-format
 msgid "A slave connection with '%s' set to '%s' cannot have a '%s' setting"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1600
+#: src/libnm-core-impl/nm-setting-connection.c:1614
 msgid "UUID needs normalization"
 msgstr ""
 
@@ -5823,29 +5827,25 @@ msgid ""
 "fc00::/7) and IPv6 privacy extension addresses (rfc3041, ipv6.ip6-privacy) "
 "will be excluded from being configured as endpoints. If \"disabled\" (0x1), "
 "MPTCP handling for the interface is disabled and no endpoints are "
-"registered. The \"enabled\" (0x2) flag means that MPTCP handling is enabled. "
-"This flag can also be implied from the presence of other flags. Even when "
-"enabled, MPTCP handling will by default still be disabled unless \"/proc/sys/"
-"net/mptcp/enabled\" sysctl is on. NetworkManager does not change the sysctl "
-"and this is up to the administrator or distribution. To configure endpoints "
-"even if the sysctl is disabled, \"also-without-sysctl\" (0x4) flag can be "
-"used. In that case, NetworkManager doesn't look at the sysctl and configures "
-"endpoints regardless. Even when enabled, NetworkManager will only configure "
-"MPTCP endpoints for a certain address family, if there is a unicast default "
-"route (0.0.0.0/0 or ::/0) in the main routing table. The flag \"also-without-"
-"default-route\" (0x8) can override that. When MPTCP handling is enabled then "
-"endpoints are configured with the specified address flags \"signal\" (0x10), "
-"\"subflow\" (0x20), \"backup\" (0x40), \"fullmesh\" (0x80). See ip-mptcp(8) "
-"manual for additional information about the flags. If the flags are zero "
-"(0x0), the global connection default from NetworkManager.conf is honored. If "
-"still unspecified, the fallback is \"enabled,subflow\". Note that this means "
-"that MPTCP is by default done depending on the \"/proc/sys/net/mptcp/"
-"enabled\" sysctl. NetworkManager does not change the MPTCP limits nor enable "
-"MPTCP via \"/proc/sys/net/mptcp/enabled\". That is a host configuration "
-"which the admin can change via sysctl and ip-mptcp. Strict reverse path "
-"filtering (rp_filter) breaks many MPTCP use cases, so when MPTCP handling "
-"for IPv4 addresses on the interface is enabled, NetworkManager would loosen "
-"the strict reverse path filtering (1) to the loose setting (2)."
+"registered. The flag \"enabled-on-global-iface\" (0x2) means that MPTCP "
+"handling is enabled if the interface configures a default route in the main "
+"routing table. This choice is per-address family, for example if there is an "
+"IPv4 default route 0.0.0.0/0, IPv4 endpoints are configured. The "
+"\"enabled\" (0x4) flag means that MPTCP handling is explicitly enabled. This "
+"flag can also be implied from the presence of other flags. If MPTCP handling "
+"is enabled, then endpoints will be configured with the specified address "
+"flags \"signal\" (0x10), \"subflow\" (0x20), \"backup\" (0x40), "
+"\"fullmesh\" (0x80). See ip-mptcp(8) manual for additional information about "
+"the flags. If the flags are zero, the global connection default from "
+"NetworkManager.conf is honored. If still unspecified, the fallback is either "
+"\"disabled\" or \"enabled-on-global-iface,subflow\" depending on \"/proc/sys/"
+"net/mptcp/enabled\". NetworkManager does not change the MPTCP limits nor "
+"enable MPTCP via \"/proc/sys/net/mptcp/enabled\". That is a host "
+"configuration which the admin can change via sysctl and ip-mptcp. Strict "
+"reverse path filtering (rp_filter) breaks many MPTCP use cases, so when "
+"MPTCP handling for IPv4 addresses on the interface is enabled, "
+"NetworkManager would loosen the strict reverse path filtering (1) to the "
+"loose setting (2)."
 msgstr ""
 
 #: src/libnmc-setting/settings-docs.h.in:18
@@ -7079,13 +7079,11 @@ msgstr ""
 #: src/libnmc-setting/settings-docs.h.in:200
 msgid ""
 "The gateway associated with this configuration. This is only meaningful if "
-"\"addresses\" is also set. Setting the gateway causes NetworkManager to "
-"configure a standard default route with the gateway as next hop. This is "
-"ignored if \"never-default\" is set. An alternative is to configure the "
-"default route explicitly with a manual route and /0 as prefix length. Note "
-"that the gateway usually conflicts with routing that NetworkManager "
-"configures for WireGuard interfaces, so usually it should not be set in that "
-"case. See \"ip4-auto-default-route\"."
+"\"addresses\" is also set. The gateway's main purpose is to control the next "
+"hop of the standard default route on the device. Hence, the gateway property "
+"conflicts with \"never-default\" and will be automatically dropped if the IP "
+"configuration is set to never-default. As an alternative to set the gateway, "
+"configure a static default route with /0 as prefix length."
 msgstr ""
 
 #: src/libnmc-setting/settings-docs.h.in:175
diff --git a/po/mk.po b/po/mk.po
index 74817c92..a7e19b4d 100644
--- a/po/mk.po
+++ b/po/mk.po
@@ -13,7 +13,7 @@ msgstr ""
 "Project-Id-Version: NetworkManager\n"
 "Report-Msgid-Bugs-To: https://gitlab.freedesktop.org/NetworkManager/"
 "NetworkManager/issues\n"
-"POT-Creation-Date: 2022-08-26 16:42+0200\n"
+"POT-Creation-Date: 2022-08-11 16:06-0300\n"
 "PO-Revision-Date: 2016-04-16 12:56-0400\n"
 "Last-Translator: Copied by Zanata <copied-by-zanata@zanata.org>\n"
 "Language-Team: Macedonian <ossm-members@hedona.on.net.mk>\n"
@@ -1140,7 +1140,7 @@ msgstr ""
 #: src/libnm-core-impl/nm-setting-cdma.c:144
 #: src/libnm-core-impl/nm-setting-connection.c:1149
 #: src/libnm-core-impl/nm-setting-connection.c:1187
-#: src/libnm-core-impl/nm-setting-connection.c:1516
+#: src/libnm-core-impl/nm-setting-connection.c:1530
 #: src/libnm-core-impl/nm-setting-ip-config.c:5423
 #: src/libnm-core-impl/nm-setting-ip-tunnel.c:387
 #: src/libnm-core-impl/nm-setting-olpc-mesh.c:99
@@ -1481,7 +1481,7 @@ msgstr ""
 #: src/libnm-core-impl/nm-setting-cdma.c:159
 #: src/libnm-core-impl/nm-setting-connection.c:1159
 #: src/libnm-core-impl/nm-setting-connection.c:1202
-#: src/libnm-core-impl/nm-setting-connection.c:1454
+#: src/libnm-core-impl/nm-setting-connection.c:1468
 #: src/libnm-core-impl/nm-setting-gsm.c:298
 #: src/libnm-core-impl/nm-setting-gsm.c:353
 #: src/libnm-core-impl/nm-setting-gsm.c:396
@@ -1762,7 +1762,7 @@ msgstr ""
 #: src/libnm-core-impl/nm-setting-connection.c:1351
 #: src/libnm-core-impl/nm-setting-connection.c:1365
 #: src/libnm-core-impl/nm-setting-connection.c:1379
-#: src/libnm-core-impl/nm-setting-connection.c:1440
+#: src/libnm-core-impl/nm-setting-connection.c:1454
 #, c-format
 msgid "value %d is not valid"
 msgstr ""
@@ -1771,50 +1771,54 @@ msgstr ""
 msgid "\"disabled\" flag cannot be combined with other MPTCP flags"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1409
+#: src/libnm-core-impl/nm-setting-connection.c:1411
+msgid "\"enabled\" and \"enabled-on-global-iface\" flag cannot be set together"
+msgstr ""
+
+#: src/libnm-core-impl/nm-setting-connection.c:1422
 msgid "cannot set both \"signal\" and \"fullmesh\" MPTCP flags"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1421
+#: src/libnm-core-impl/nm-setting-connection.c:1435
 #, c-format
 msgid "value %u is not a valid combination of MPTCP flags"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1468
+#: src/libnm-core-impl/nm-setting-connection.c:1482
 msgid "DHCP option cannot be longer than 255 characters"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1479
+#: src/libnm-core-impl/nm-setting-connection.c:1493
 msgid "MUD URL is not a valid URL"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1499
+#: src/libnm-core-impl/nm-setting-connection.c:1513
 msgid "invalid permissions not in format \"user:$UNAME[:]\""
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1528
+#: src/libnm-core-impl/nm-setting-connection.c:1542
 #, c-format
 msgid "property type should be set to '%s'"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1546
+#: src/libnm-core-impl/nm-setting-connection.c:1560
 #, c-format
 msgid "slave-type '%s' requires a '%s' setting in the connection"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1557
+#: src/libnm-core-impl/nm-setting-connection.c:1571
 #, c-format
 msgid ""
 "Detect a slave connection with '%s' set and a port type '%s'. '%s' should be "
 "set to '%s'"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1583
+#: src/libnm-core-impl/nm-setting-connection.c:1597
 #, c-format
 msgid "A slave connection with '%s' set to '%s' cannot have a '%s' setting"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1600
+#: src/libnm-core-impl/nm-setting-connection.c:1614
 msgid "UUID needs normalization"
 msgstr ""
 
@@ -5674,29 +5678,25 @@ msgid ""
 "fc00::/7) and IPv6 privacy extension addresses (rfc3041, ipv6.ip6-privacy) "
 "will be excluded from being configured as endpoints. If \"disabled\" (0x1), "
 "MPTCP handling for the interface is disabled and no endpoints are "
-"registered. The \"enabled\" (0x2) flag means that MPTCP handling is enabled. "
-"This flag can also be implied from the presence of other flags. Even when "
-"enabled, MPTCP handling will by default still be disabled unless \"/proc/sys/"
-"net/mptcp/enabled\" sysctl is on. NetworkManager does not change the sysctl "
-"and this is up to the administrator or distribution. To configure endpoints "
-"even if the sysctl is disabled, \"also-without-sysctl\" (0x4) flag can be "
-"used. In that case, NetworkManager doesn't look at the sysctl and configures "
-"endpoints regardless. Even when enabled, NetworkManager will only configure "
-"MPTCP endpoints for a certain address family, if there is a unicast default "
-"route (0.0.0.0/0 or ::/0) in the main routing table. The flag \"also-without-"
-"default-route\" (0x8) can override that. When MPTCP handling is enabled then "
-"endpoints are configured with the specified address flags \"signal\" (0x10), "
-"\"subflow\" (0x20), \"backup\" (0x40), \"fullmesh\" (0x80). See ip-mptcp(8) "
-"manual for additional information about the flags. If the flags are zero "
-"(0x0), the global connection default from NetworkManager.conf is honored. If "
-"still unspecified, the fallback is \"enabled,subflow\". Note that this means "
-"that MPTCP is by default done depending on the \"/proc/sys/net/mptcp/"
-"enabled\" sysctl. NetworkManager does not change the MPTCP limits nor enable "
-"MPTCP via \"/proc/sys/net/mptcp/enabled\". That is a host configuration "
-"which the admin can change via sysctl and ip-mptcp. Strict reverse path "
-"filtering (rp_filter) breaks many MPTCP use cases, so when MPTCP handling "
-"for IPv4 addresses on the interface is enabled, NetworkManager would loosen "
-"the strict reverse path filtering (1) to the loose setting (2)."
+"registered. The flag \"enabled-on-global-iface\" (0x2) means that MPTCP "
+"handling is enabled if the interface configures a default route in the main "
+"routing table. This choice is per-address family, for example if there is an "
+"IPv4 default route 0.0.0.0/0, IPv4 endpoints are configured. The "
+"\"enabled\" (0x4) flag means that MPTCP handling is explicitly enabled. This "
+"flag can also be implied from the presence of other flags. If MPTCP handling "
+"is enabled, then endpoints will be configured with the specified address "
+"flags \"signal\" (0x10), \"subflow\" (0x20), \"backup\" (0x40), "
+"\"fullmesh\" (0x80). See ip-mptcp(8) manual for additional information about "
+"the flags. If the flags are zero, the global connection default from "
+"NetworkManager.conf is honored. If still unspecified, the fallback is either "
+"\"disabled\" or \"enabled-on-global-iface,subflow\" depending on \"/proc/sys/"
+"net/mptcp/enabled\". NetworkManager does not change the MPTCP limits nor "
+"enable MPTCP via \"/proc/sys/net/mptcp/enabled\". That is a host "
+"configuration which the admin can change via sysctl and ip-mptcp. Strict "
+"reverse path filtering (rp_filter) breaks many MPTCP use cases, so when "
+"MPTCP handling for IPv4 addresses on the interface is enabled, "
+"NetworkManager would loosen the strict reverse path filtering (1) to the "
+"loose setting (2)."
 msgstr ""
 
 #: src/libnmc-setting/settings-docs.h.in:18
@@ -6930,13 +6930,11 @@ msgstr ""
 #: src/libnmc-setting/settings-docs.h.in:200
 msgid ""
 "The gateway associated with this configuration. This is only meaningful if "
-"\"addresses\" is also set. Setting the gateway causes NetworkManager to "
-"configure a standard default route with the gateway as next hop. This is "
-"ignored if \"never-default\" is set. An alternative is to configure the "
-"default route explicitly with a manual route and /0 as prefix length. Note "
-"that the gateway usually conflicts with routing that NetworkManager "
-"configures for WireGuard interfaces, so usually it should not be set in that "
-"case. See \"ip4-auto-default-route\"."
+"\"addresses\" is also set. The gateway's main purpose is to control the next "
+"hop of the standard default route on the device. Hence, the gateway property "
+"conflicts with \"never-default\" and will be automatically dropped if the IP "
+"configuration is set to never-default. As an alternative to set the gateway, "
+"configure a static default route with /0 as prefix length."
 msgstr ""
 
 #: src/libnmc-setting/settings-docs.h.in:175
diff --git a/po/ml.po b/po/ml.po
index b233cdd0..359dd84f 100644
--- a/po/ml.po
+++ b/po/ml.po
@@ -12,7 +12,7 @@ msgstr ""
 "Project-Id-Version: NetworkManager\n"
 "Report-Msgid-Bugs-To: https://gitlab.freedesktop.org/NetworkManager/"
 "NetworkManager/issues\n"
-"POT-Creation-Date: 2022-08-26 16:42+0200\n"
+"POT-Creation-Date: 2022-08-11 16:06-0300\n"
 "PO-Revision-Date: 2017-04-21 05:41-0400\n"
 "Last-Translator: Copied by Zanata <copied-by-zanata@zanata.org>\n"
 "Language-Team: Malayalam <discuss@lists.smc.org.in>\n"
@@ -1248,7 +1248,7 @@ msgstr ""
 #: src/libnm-core-impl/nm-setting-cdma.c:144
 #: src/libnm-core-impl/nm-setting-connection.c:1149
 #: src/libnm-core-impl/nm-setting-connection.c:1187
-#: src/libnm-core-impl/nm-setting-connection.c:1516
+#: src/libnm-core-impl/nm-setting-connection.c:1530
 #: src/libnm-core-impl/nm-setting-ip-config.c:5423
 #: src/libnm-core-impl/nm-setting-ip-tunnel.c:387
 #: src/libnm-core-impl/nm-setting-olpc-mesh.c:99
@@ -1595,7 +1595,7 @@ msgstr ""
 #: src/libnm-core-impl/nm-setting-cdma.c:159
 #: src/libnm-core-impl/nm-setting-connection.c:1159
 #: src/libnm-core-impl/nm-setting-connection.c:1202
-#: src/libnm-core-impl/nm-setting-connection.c:1454
+#: src/libnm-core-impl/nm-setting-connection.c:1468
 #: src/libnm-core-impl/nm-setting-gsm.c:298
 #: src/libnm-core-impl/nm-setting-gsm.c:353
 #: src/libnm-core-impl/nm-setting-gsm.c:396
@@ -1883,7 +1883,7 @@ msgstr "'%s' സൂചിക ശരിയലàµà´²"
 #: src/libnm-core-impl/nm-setting-connection.c:1351
 #: src/libnm-core-impl/nm-setting-connection.c:1365
 #: src/libnm-core-impl/nm-setting-connection.c:1379
-#: src/libnm-core-impl/nm-setting-connection.c:1440
+#: src/libnm-core-impl/nm-setting-connection.c:1454
 #, fuzzy, c-format
 msgid "value %d is not valid"
 msgstr "'%s' സൂചിക ശരിയലàµà´²"
@@ -1892,52 +1892,56 @@ msgstr "'%s' സൂചിക ശരിയലàµà´²"
 msgid "\"disabled\" flag cannot be combined with other MPTCP flags"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1409
+#: src/libnm-core-impl/nm-setting-connection.c:1411
+msgid "\"enabled\" and \"enabled-on-global-iface\" flag cannot be set together"
+msgstr ""
+
+#: src/libnm-core-impl/nm-setting-connection.c:1422
 msgid "cannot set both \"signal\" and \"fullmesh\" MPTCP flags"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1421
+#: src/libnm-core-impl/nm-setting-connection.c:1435
 #, fuzzy, c-format
 msgid "value %u is not a valid combination of MPTCP flags"
 msgstr "'%s' ശരിയലàµà´²; [%s] à´…à´²àµà´²àµ†à´™àµà´•à´¿à´²àµâ€ [%s] ഉപയോഗിയàµà´•àµà´•àµà´•"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1468
+#: src/libnm-core-impl/nm-setting-connection.c:1482
 msgid "DHCP option cannot be longer than 255 characters"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1479
+#: src/libnm-core-impl/nm-setting-connection.c:1493
 #, fuzzy
 msgid "MUD URL is not a valid URL"
 msgstr "'%s' ശരിയായ à´¯àµà´¯àµà´à´¡à´¿à´¯à´²àµà´²"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1499
+#: src/libnm-core-impl/nm-setting-connection.c:1513
 #, fuzzy
 msgid "invalid permissions not in format \"user:$UNAME[:]\""
 msgstr "തെറàµà´±à´¾à´¯ IPv4 റൂടàµà´Ÿàµ '%s'"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1528
+#: src/libnm-core-impl/nm-setting-connection.c:1542
 #, c-format
 msgid "property type should be set to '%s'"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1546
+#: src/libnm-core-impl/nm-setting-connection.c:1560
 #, fuzzy, c-format
 msgid "slave-type '%s' requires a '%s' setting in the connection"
 msgstr "കണകàµà´·à´¨à´¿à´²àµâ€ '%s' സജàµà´œàµ€à´•രണം ആവശàµà´¯à´®àµà´£àµà´Ÿàµàµ"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1557
+#: src/libnm-core-impl/nm-setting-connection.c:1571
 #, c-format
 msgid ""
 "Detect a slave connection with '%s' set and a port type '%s'. '%s' should be "
 "set to '%s'"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1583
+#: src/libnm-core-impl/nm-setting-connection.c:1597
 #, fuzzy, c-format
 msgid "A slave connection with '%s' set to '%s' cannot have a '%s' setting"
 msgstr "'%s' à´…à´²àµà´²àµ†à´™àµà´•à´¿à´²àµâ€ '%s' സജàµà´œàµ€à´•രണം ആവശàµà´¯à´®àµà´£àµà´Ÿàµàµ"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1600
+#: src/libnm-core-impl/nm-setting-connection.c:1614
 msgid "UUID needs normalization"
 msgstr ""
 
@@ -6060,29 +6064,25 @@ msgid ""
 "fc00::/7) and IPv6 privacy extension addresses (rfc3041, ipv6.ip6-privacy) "
 "will be excluded from being configured as endpoints. If \"disabled\" (0x1), "
 "MPTCP handling for the interface is disabled and no endpoints are "
-"registered. The \"enabled\" (0x2) flag means that MPTCP handling is enabled. "
-"This flag can also be implied from the presence of other flags. Even when "
-"enabled, MPTCP handling will by default still be disabled unless \"/proc/sys/"
-"net/mptcp/enabled\" sysctl is on. NetworkManager does not change the sysctl "
-"and this is up to the administrator or distribution. To configure endpoints "
-"even if the sysctl is disabled, \"also-without-sysctl\" (0x4) flag can be "
-"used. In that case, NetworkManager doesn't look at the sysctl and configures "
-"endpoints regardless. Even when enabled, NetworkManager will only configure "
-"MPTCP endpoints for a certain address family, if there is a unicast default "
-"route (0.0.0.0/0 or ::/0) in the main routing table. The flag \"also-without-"
-"default-route\" (0x8) can override that. When MPTCP handling is enabled then "
-"endpoints are configured with the specified address flags \"signal\" (0x10), "
-"\"subflow\" (0x20), \"backup\" (0x40), \"fullmesh\" (0x80). See ip-mptcp(8) "
-"manual for additional information about the flags. If the flags are zero "
-"(0x0), the global connection default from NetworkManager.conf is honored. If "
-"still unspecified, the fallback is \"enabled,subflow\". Note that this means "
-"that MPTCP is by default done depending on the \"/proc/sys/net/mptcp/"
-"enabled\" sysctl. NetworkManager does not change the MPTCP limits nor enable "
-"MPTCP via \"/proc/sys/net/mptcp/enabled\". That is a host configuration "
-"which the admin can change via sysctl and ip-mptcp. Strict reverse path "
-"filtering (rp_filter) breaks many MPTCP use cases, so when MPTCP handling "
-"for IPv4 addresses on the interface is enabled, NetworkManager would loosen "
-"the strict reverse path filtering (1) to the loose setting (2)."
+"registered. The flag \"enabled-on-global-iface\" (0x2) means that MPTCP "
+"handling is enabled if the interface configures a default route in the main "
+"routing table. This choice is per-address family, for example if there is an "
+"IPv4 default route 0.0.0.0/0, IPv4 endpoints are configured. The "
+"\"enabled\" (0x4) flag means that MPTCP handling is explicitly enabled. This "
+"flag can also be implied from the presence of other flags. If MPTCP handling "
+"is enabled, then endpoints will be configured with the specified address "
+"flags \"signal\" (0x10), \"subflow\" (0x20), \"backup\" (0x40), "
+"\"fullmesh\" (0x80). See ip-mptcp(8) manual for additional information about "
+"the flags. If the flags are zero, the global connection default from "
+"NetworkManager.conf is honored. If still unspecified, the fallback is either "
+"\"disabled\" or \"enabled-on-global-iface,subflow\" depending on \"/proc/sys/"
+"net/mptcp/enabled\". NetworkManager does not change the MPTCP limits nor "
+"enable MPTCP via \"/proc/sys/net/mptcp/enabled\". That is a host "
+"configuration which the admin can change via sysctl and ip-mptcp. Strict "
+"reverse path filtering (rp_filter) breaks many MPTCP use cases, so when "
+"MPTCP handling for IPv4 addresses on the interface is enabled, "
+"NetworkManager would loosen the strict reverse path filtering (1) to the "
+"loose setting (2)."
 msgstr ""
 
 #: src/libnmc-setting/settings-docs.h.in:18
@@ -7316,13 +7316,11 @@ msgstr ""
 #: src/libnmc-setting/settings-docs.h.in:200
 msgid ""
 "The gateway associated with this configuration. This is only meaningful if "
-"\"addresses\" is also set. Setting the gateway causes NetworkManager to "
-"configure a standard default route with the gateway as next hop. This is "
-"ignored if \"never-default\" is set. An alternative is to configure the "
-"default route explicitly with a manual route and /0 as prefix length. Note "
-"that the gateway usually conflicts with routing that NetworkManager "
-"configures for WireGuard interfaces, so usually it should not be set in that "
-"case. See \"ip4-auto-default-route\"."
+"\"addresses\" is also set. The gateway's main purpose is to control the next "
+"hop of the standard default route on the device. Hence, the gateway property "
+"conflicts with \"never-default\" and will be automatically dropped if the IP "
+"configuration is set to never-default. As an alternative to set the gateway, "
+"configure a static default route with /0 as prefix length."
 msgstr ""
 
 #: src/libnmc-setting/settings-docs.h.in:175
diff --git a/po/mr.po b/po/mr.po
index 8cd05e70..1499f757 100644
--- a/po/mr.po
+++ b/po/mr.po
@@ -10,7 +10,7 @@ msgstr ""
 "Project-Id-Version: NetworkManager\n"
 "Report-Msgid-Bugs-To: https://gitlab.freedesktop.org/NetworkManager/"
 "NetworkManager/issues\n"
-"POT-Creation-Date: 2022-08-26 16:42+0200\n"
+"POT-Creation-Date: 2022-08-11 16:06-0300\n"
 "PO-Revision-Date: 2017-04-21 05:43-0400\n"
 "Last-Translator: Copied by Zanata <copied-by-zanata@zanata.org>\n"
 "Language-Team: Marathi <kde-i18n-doc@kde.org>\n"
@@ -1223,7 +1223,7 @@ msgstr ""
 #: src/libnm-core-impl/nm-setting-cdma.c:144
 #: src/libnm-core-impl/nm-setting-connection.c:1149
 #: src/libnm-core-impl/nm-setting-connection.c:1187
-#: src/libnm-core-impl/nm-setting-connection.c:1516
+#: src/libnm-core-impl/nm-setting-connection.c:1530
 #: src/libnm-core-impl/nm-setting-ip-config.c:5423
 #: src/libnm-core-impl/nm-setting-ip-tunnel.c:387
 #: src/libnm-core-impl/nm-setting-olpc-mesh.c:99
@@ -1570,7 +1570,7 @@ msgstr ""
 #: src/libnm-core-impl/nm-setting-cdma.c:159
 #: src/libnm-core-impl/nm-setting-connection.c:1159
 #: src/libnm-core-impl/nm-setting-connection.c:1202
-#: src/libnm-core-impl/nm-setting-connection.c:1454
+#: src/libnm-core-impl/nm-setting-connection.c:1468
 #: src/libnm-core-impl/nm-setting-gsm.c:298
 #: src/libnm-core-impl/nm-setting-gsm.c:353
 #: src/libnm-core-impl/nm-setting-gsm.c:396
@@ -1858,7 +1858,7 @@ msgstr "मूलà¥à¤¯ '%s' वैध UUID नाही"
 #: src/libnm-core-impl/nm-setting-connection.c:1351
 #: src/libnm-core-impl/nm-setting-connection.c:1365
 #: src/libnm-core-impl/nm-setting-connection.c:1379
-#: src/libnm-core-impl/nm-setting-connection.c:1440
+#: src/libnm-core-impl/nm-setting-connection.c:1454
 #, fuzzy, c-format
 msgid "value %d is not valid"
 msgstr "मूलà¥à¤¯ '%s' वैध UUID नाही"
@@ -1867,52 +1867,56 @@ msgstr "मूलà¥à¤¯ '%s' वैध UUID नाही"
 msgid "\"disabled\" flag cannot be combined with other MPTCP flags"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1409
+#: src/libnm-core-impl/nm-setting-connection.c:1411
+msgid "\"enabled\" and \"enabled-on-global-iface\" flag cannot be set together"
+msgstr ""
+
+#: src/libnm-core-impl/nm-setting-connection.c:1422
 msgid "cannot set both \"signal\" and \"fullmesh\" MPTCP flags"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1421
+#: src/libnm-core-impl/nm-setting-connection.c:1435
 #, fuzzy, c-format
 msgid "value %u is not a valid combination of MPTCP flags"
 msgstr "'%s' वैध नाही; [%s] किंवा [%s] याचा वापर करा"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1468
+#: src/libnm-core-impl/nm-setting-connection.c:1482
 msgid "DHCP option cannot be longer than 255 characters"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1479
+#: src/libnm-core-impl/nm-setting-connection.c:1493
 #, fuzzy
 msgid "MUD URL is not a valid URL"
 msgstr "'%s' वैध UUID नाही"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1499
+#: src/libnm-core-impl/nm-setting-connection.c:1513
 #, fuzzy
 msgid "invalid permissions not in format \"user:$UNAME[:]\""
 msgstr "अवैध IPv4 राउट '%s'"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1528
+#: src/libnm-core-impl/nm-setting-connection.c:1542
 #, c-format
 msgid "property type should be set to '%s'"
 msgstr "गà¥à¤£à¤§à¤°à¥à¤® पà¥à¤°à¤•ार '%s' करिता सेट केले पाहिजे"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1546
+#: src/libnm-core-impl/nm-setting-connection.c:1560
 #, c-format
 msgid "slave-type '%s' requires a '%s' setting in the connection"
 msgstr "slave-type '%s' ला जोडणी अंतरà¥à¤—त '%s' सेटिंग आवशà¥à¤¯à¤•"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1557
+#: src/libnm-core-impl/nm-setting-connection.c:1571
 #, c-format
 msgid ""
 "Detect a slave connection with '%s' set and a port type '%s'. '%s' should be "
 "set to '%s'"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1583
+#: src/libnm-core-impl/nm-setting-connection.c:1597
 #, fuzzy, c-format
 msgid "A slave connection with '%s' set to '%s' cannot have a '%s' setting"
 msgstr "'%s' किंवा '%s' सेटिंग आवशà¥à¤¯à¤•"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1600
+#: src/libnm-core-impl/nm-setting-connection.c:1614
 msgid "UUID needs normalization"
 msgstr ""
 
@@ -6058,29 +6062,25 @@ msgid ""
 "fc00::/7) and IPv6 privacy extension addresses (rfc3041, ipv6.ip6-privacy) "
 "will be excluded from being configured as endpoints. If \"disabled\" (0x1), "
 "MPTCP handling for the interface is disabled and no endpoints are "
-"registered. The \"enabled\" (0x2) flag means that MPTCP handling is enabled. "
-"This flag can also be implied from the presence of other flags. Even when "
-"enabled, MPTCP handling will by default still be disabled unless \"/proc/sys/"
-"net/mptcp/enabled\" sysctl is on. NetworkManager does not change the sysctl "
-"and this is up to the administrator or distribution. To configure endpoints "
-"even if the sysctl is disabled, \"also-without-sysctl\" (0x4) flag can be "
-"used. In that case, NetworkManager doesn't look at the sysctl and configures "
-"endpoints regardless. Even when enabled, NetworkManager will only configure "
-"MPTCP endpoints for a certain address family, if there is a unicast default "
-"route (0.0.0.0/0 or ::/0) in the main routing table. The flag \"also-without-"
-"default-route\" (0x8) can override that. When MPTCP handling is enabled then "
-"endpoints are configured with the specified address flags \"signal\" (0x10), "
-"\"subflow\" (0x20), \"backup\" (0x40), \"fullmesh\" (0x80). See ip-mptcp(8) "
-"manual for additional information about the flags. If the flags are zero "
-"(0x0), the global connection default from NetworkManager.conf is honored. If "
-"still unspecified, the fallback is \"enabled,subflow\". Note that this means "
-"that MPTCP is by default done depending on the \"/proc/sys/net/mptcp/"
-"enabled\" sysctl. NetworkManager does not change the MPTCP limits nor enable "
-"MPTCP via \"/proc/sys/net/mptcp/enabled\". That is a host configuration "
-"which the admin can change via sysctl and ip-mptcp. Strict reverse path "
-"filtering (rp_filter) breaks many MPTCP use cases, so when MPTCP handling "
-"for IPv4 addresses on the interface is enabled, NetworkManager would loosen "
-"the strict reverse path filtering (1) to the loose setting (2)."
+"registered. The flag \"enabled-on-global-iface\" (0x2) means that MPTCP "
+"handling is enabled if the interface configures a default route in the main "
+"routing table. This choice is per-address family, for example if there is an "
+"IPv4 default route 0.0.0.0/0, IPv4 endpoints are configured. The "
+"\"enabled\" (0x4) flag means that MPTCP handling is explicitly enabled. This "
+"flag can also be implied from the presence of other flags. If MPTCP handling "
+"is enabled, then endpoints will be configured with the specified address "
+"flags \"signal\" (0x10), \"subflow\" (0x20), \"backup\" (0x40), "
+"\"fullmesh\" (0x80). See ip-mptcp(8) manual for additional information about "
+"the flags. If the flags are zero, the global connection default from "
+"NetworkManager.conf is honored. If still unspecified, the fallback is either "
+"\"disabled\" or \"enabled-on-global-iface,subflow\" depending on \"/proc/sys/"
+"net/mptcp/enabled\". NetworkManager does not change the MPTCP limits nor "
+"enable MPTCP via \"/proc/sys/net/mptcp/enabled\". That is a host "
+"configuration which the admin can change via sysctl and ip-mptcp. Strict "
+"reverse path filtering (rp_filter) breaks many MPTCP use cases, so when "
+"MPTCP handling for IPv4 addresses on the interface is enabled, "
+"NetworkManager would loosen the strict reverse path filtering (1) to the "
+"loose setting (2)."
 msgstr ""
 
 #: src/libnmc-setting/settings-docs.h.in:18
@@ -7314,13 +7314,11 @@ msgstr ""
 #: src/libnmc-setting/settings-docs.h.in:200
 msgid ""
 "The gateway associated with this configuration. This is only meaningful if "
-"\"addresses\" is also set. Setting the gateway causes NetworkManager to "
-"configure a standard default route with the gateway as next hop. This is "
-"ignored if \"never-default\" is set. An alternative is to configure the "
-"default route explicitly with a manual route and /0 as prefix length. Note "
-"that the gateway usually conflicts with routing that NetworkManager "
-"configures for WireGuard interfaces, so usually it should not be set in that "
-"case. See \"ip4-auto-default-route\"."
+"\"addresses\" is also set. The gateway's main purpose is to control the next "
+"hop of the standard default route on the device. Hence, the gateway property "
+"conflicts with \"never-default\" and will be automatically dropped if the IP "
+"configuration is set to never-default. As an alternative to set the gateway, "
+"configure a static default route with /0 as prefix length."
 msgstr ""
 
 #: src/libnmc-setting/settings-docs.h.in:175
diff --git a/po/nb.po b/po/nb.po
index c990c33a..fe42dd07 100644
--- a/po/nb.po
+++ b/po/nb.po
@@ -10,7 +10,7 @@ msgstr ""
 "Project-Id-Version: NetworkManager\n"
 "Report-Msgid-Bugs-To: https://gitlab.freedesktop.org/NetworkManager/"
 "NetworkManager/issues\n"
-"POT-Creation-Date: 2022-08-26 16:42+0200\n"
+"POT-Creation-Date: 2022-08-11 16:06-0300\n"
 "PO-Revision-Date: 2017-04-21 05:43-0400\n"
 "Last-Translator: Copied by Zanata <copied-by-zanata@zanata.org>\n"
 "Language-Team: Norwegian Bokmål <i18n-nb@lister.ping.uio.no>\n"
@@ -1141,7 +1141,7 @@ msgstr ""
 #: src/libnm-core-impl/nm-setting-cdma.c:144
 #: src/libnm-core-impl/nm-setting-connection.c:1149
 #: src/libnm-core-impl/nm-setting-connection.c:1187
-#: src/libnm-core-impl/nm-setting-connection.c:1516
+#: src/libnm-core-impl/nm-setting-connection.c:1530
 #: src/libnm-core-impl/nm-setting-ip-config.c:5423
 #: src/libnm-core-impl/nm-setting-ip-tunnel.c:387
 #: src/libnm-core-impl/nm-setting-olpc-mesh.c:99
@@ -1482,7 +1482,7 @@ msgstr ""
 #: src/libnm-core-impl/nm-setting-cdma.c:159
 #: src/libnm-core-impl/nm-setting-connection.c:1159
 #: src/libnm-core-impl/nm-setting-connection.c:1202
-#: src/libnm-core-impl/nm-setting-connection.c:1454
+#: src/libnm-core-impl/nm-setting-connection.c:1468
 #: src/libnm-core-impl/nm-setting-gsm.c:298
 #: src/libnm-core-impl/nm-setting-gsm.c:353
 #: src/libnm-core-impl/nm-setting-gsm.c:396
@@ -1764,7 +1764,7 @@ msgstr ""
 #: src/libnm-core-impl/nm-setting-connection.c:1351
 #: src/libnm-core-impl/nm-setting-connection.c:1365
 #: src/libnm-core-impl/nm-setting-connection.c:1379
-#: src/libnm-core-impl/nm-setting-connection.c:1440
+#: src/libnm-core-impl/nm-setting-connection.c:1454
 #, c-format
 msgid "value %d is not valid"
 msgstr ""
@@ -1773,51 +1773,55 @@ msgstr ""
 msgid "\"disabled\" flag cannot be combined with other MPTCP flags"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1409
+#: src/libnm-core-impl/nm-setting-connection.c:1411
+msgid "\"enabled\" and \"enabled-on-global-iface\" flag cannot be set together"
+msgstr ""
+
+#: src/libnm-core-impl/nm-setting-connection.c:1422
 msgid "cannot set both \"signal\" and \"fullmesh\" MPTCP flags"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1421
+#: src/libnm-core-impl/nm-setting-connection.c:1435
 #, c-format
 msgid "value %u is not a valid combination of MPTCP flags"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1468
+#: src/libnm-core-impl/nm-setting-connection.c:1482
 msgid "DHCP option cannot be longer than 255 characters"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1479
+#: src/libnm-core-impl/nm-setting-connection.c:1493
 #, fuzzy
 msgid "MUD URL is not a valid URL"
 msgstr "Kunne ikke dekode privat nøkkel."
 
-#: src/libnm-core-impl/nm-setting-connection.c:1499
+#: src/libnm-core-impl/nm-setting-connection.c:1513
 msgid "invalid permissions not in format \"user:$UNAME[:]\""
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1528
+#: src/libnm-core-impl/nm-setting-connection.c:1542
 #, c-format
 msgid "property type should be set to '%s'"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1546
+#: src/libnm-core-impl/nm-setting-connection.c:1560
 #, c-format
 msgid "slave-type '%s' requires a '%s' setting in the connection"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1557
+#: src/libnm-core-impl/nm-setting-connection.c:1571
 #, c-format
 msgid ""
 "Detect a slave connection with '%s' set and a port type '%s'. '%s' should be "
 "set to '%s'"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1583
+#: src/libnm-core-impl/nm-setting-connection.c:1597
 #, c-format
 msgid "A slave connection with '%s' set to '%s' cannot have a '%s' setting"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1600
+#: src/libnm-core-impl/nm-setting-connection.c:1614
 msgid "UUID needs normalization"
 msgstr ""
 
@@ -5694,29 +5698,25 @@ msgid ""
 "fc00::/7) and IPv6 privacy extension addresses (rfc3041, ipv6.ip6-privacy) "
 "will be excluded from being configured as endpoints. If \"disabled\" (0x1), "
 "MPTCP handling for the interface is disabled and no endpoints are "
-"registered. The \"enabled\" (0x2) flag means that MPTCP handling is enabled. "
-"This flag can also be implied from the presence of other flags. Even when "
-"enabled, MPTCP handling will by default still be disabled unless \"/proc/sys/"
-"net/mptcp/enabled\" sysctl is on. NetworkManager does not change the sysctl "
-"and this is up to the administrator or distribution. To configure endpoints "
-"even if the sysctl is disabled, \"also-without-sysctl\" (0x4) flag can be "
-"used. In that case, NetworkManager doesn't look at the sysctl and configures "
-"endpoints regardless. Even when enabled, NetworkManager will only configure "
-"MPTCP endpoints for a certain address family, if there is a unicast default "
-"route (0.0.0.0/0 or ::/0) in the main routing table. The flag \"also-without-"
-"default-route\" (0x8) can override that. When MPTCP handling is enabled then "
-"endpoints are configured with the specified address flags \"signal\" (0x10), "
-"\"subflow\" (0x20), \"backup\" (0x40), \"fullmesh\" (0x80). See ip-mptcp(8) "
-"manual for additional information about the flags. If the flags are zero "
-"(0x0), the global connection default from NetworkManager.conf is honored. If "
-"still unspecified, the fallback is \"enabled,subflow\". Note that this means "
-"that MPTCP is by default done depending on the \"/proc/sys/net/mptcp/"
-"enabled\" sysctl. NetworkManager does not change the MPTCP limits nor enable "
-"MPTCP via \"/proc/sys/net/mptcp/enabled\". That is a host configuration "
-"which the admin can change via sysctl and ip-mptcp. Strict reverse path "
-"filtering (rp_filter) breaks many MPTCP use cases, so when MPTCP handling "
-"for IPv4 addresses on the interface is enabled, NetworkManager would loosen "
-"the strict reverse path filtering (1) to the loose setting (2)."
+"registered. The flag \"enabled-on-global-iface\" (0x2) means that MPTCP "
+"handling is enabled if the interface configures a default route in the main "
+"routing table. This choice is per-address family, for example if there is an "
+"IPv4 default route 0.0.0.0/0, IPv4 endpoints are configured. The "
+"\"enabled\" (0x4) flag means that MPTCP handling is explicitly enabled. This "
+"flag can also be implied from the presence of other flags. If MPTCP handling "
+"is enabled, then endpoints will be configured with the specified address "
+"flags \"signal\" (0x10), \"subflow\" (0x20), \"backup\" (0x40), "
+"\"fullmesh\" (0x80). See ip-mptcp(8) manual for additional information about "
+"the flags. If the flags are zero, the global connection default from "
+"NetworkManager.conf is honored. If still unspecified, the fallback is either "
+"\"disabled\" or \"enabled-on-global-iface,subflow\" depending on \"/proc/sys/"
+"net/mptcp/enabled\". NetworkManager does not change the MPTCP limits nor "
+"enable MPTCP via \"/proc/sys/net/mptcp/enabled\". That is a host "
+"configuration which the admin can change via sysctl and ip-mptcp. Strict "
+"reverse path filtering (rp_filter) breaks many MPTCP use cases, so when "
+"MPTCP handling for IPv4 addresses on the interface is enabled, "
+"NetworkManager would loosen the strict reverse path filtering (1) to the "
+"loose setting (2)."
 msgstr ""
 
 #: src/libnmc-setting/settings-docs.h.in:18
@@ -6950,13 +6950,11 @@ msgstr ""
 #: src/libnmc-setting/settings-docs.h.in:200
 msgid ""
 "The gateway associated with this configuration. This is only meaningful if "
-"\"addresses\" is also set. Setting the gateway causes NetworkManager to "
-"configure a standard default route with the gateway as next hop. This is "
-"ignored if \"never-default\" is set. An alternative is to configure the "
-"default route explicitly with a manual route and /0 as prefix length. Note "
-"that the gateway usually conflicts with routing that NetworkManager "
-"configures for WireGuard interfaces, so usually it should not be set in that "
-"case. See \"ip4-auto-default-route\"."
+"\"addresses\" is also set. The gateway's main purpose is to control the next "
+"hop of the standard default route on the device. Hence, the gateway property "
+"conflicts with \"never-default\" and will be automatically dropped if the IP "
+"configuration is set to never-default. As an alternative to set the gateway, "
+"configure a static default route with /0 as prefix length."
 msgstr ""
 
 #: src/libnmc-setting/settings-docs.h.in:175
diff --git a/po/ne.po b/po/ne.po
index 6e92ab67..acd4f1b9 100644
--- a/po/ne.po
+++ b/po/ne.po
@@ -13,7 +13,7 @@ msgstr ""
 "Project-Id-Version: NetworkManager\n"
 "Report-Msgid-Bugs-To: https://gitlab.freedesktop.org/NetworkManager/"
 "NetworkManager/issues\n"
-"POT-Creation-Date: 2022-08-26 16:42+0200\n"
+"POT-Creation-Date: 2022-08-11 16:06-0300\n"
 "PO-Revision-Date: 2017-04-21 06:26-0400\n"
 "Last-Translator: Copied by Zanata <copied-by-zanata@zanata.org>\n"
 "Language-Team: Nepali <info@mpp.org.np>\n"
@@ -1175,7 +1175,7 @@ msgstr ""
 #: src/libnm-core-impl/nm-setting-cdma.c:144
 #: src/libnm-core-impl/nm-setting-connection.c:1149
 #: src/libnm-core-impl/nm-setting-connection.c:1187
-#: src/libnm-core-impl/nm-setting-connection.c:1516
+#: src/libnm-core-impl/nm-setting-connection.c:1530
 #: src/libnm-core-impl/nm-setting-ip-config.c:5423
 #: src/libnm-core-impl/nm-setting-ip-tunnel.c:387
 #: src/libnm-core-impl/nm-setting-olpc-mesh.c:99
@@ -1516,7 +1516,7 @@ msgstr ""
 #: src/libnm-core-impl/nm-setting-cdma.c:159
 #: src/libnm-core-impl/nm-setting-connection.c:1159
 #: src/libnm-core-impl/nm-setting-connection.c:1202
-#: src/libnm-core-impl/nm-setting-connection.c:1454
+#: src/libnm-core-impl/nm-setting-connection.c:1468
 #: src/libnm-core-impl/nm-setting-gsm.c:298
 #: src/libnm-core-impl/nm-setting-gsm.c:353
 #: src/libnm-core-impl/nm-setting-gsm.c:396
@@ -1799,7 +1799,7 @@ msgstr ""
 #: src/libnm-core-impl/nm-setting-connection.c:1351
 #: src/libnm-core-impl/nm-setting-connection.c:1365
 #: src/libnm-core-impl/nm-setting-connection.c:1379
-#: src/libnm-core-impl/nm-setting-connection.c:1440
+#: src/libnm-core-impl/nm-setting-connection.c:1454
 #, c-format
 msgid "value %d is not valid"
 msgstr ""
@@ -1808,52 +1808,56 @@ msgstr ""
 msgid "\"disabled\" flag cannot be combined with other MPTCP flags"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1409
+#: src/libnm-core-impl/nm-setting-connection.c:1411
+msgid "\"enabled\" and \"enabled-on-global-iface\" flag cannot be set together"
+msgstr ""
+
+#: src/libnm-core-impl/nm-setting-connection.c:1422
 msgid "cannot set both \"signal\" and \"fullmesh\" MPTCP flags"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1421
+#: src/libnm-core-impl/nm-setting-connection.c:1435
 #, c-format
 msgid "value %u is not a valid combination of MPTCP flags"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1468
+#: src/libnm-core-impl/nm-setting-connection.c:1482
 msgid "DHCP option cannot be longer than 255 characters"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1479
+#: src/libnm-core-impl/nm-setting-connection.c:1493
 #, fuzzy
 msgid "MUD URL is not a valid URL"
 msgstr "भीपीà¤à¤¨ जडान थप गरà¥à¤¨ सकिà¤à¤¦à¥ˆà¤¨"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1499
+#: src/libnm-core-impl/nm-setting-connection.c:1513
 #, fuzzy
 msgid "invalid permissions not in format \"user:$UNAME[:]\""
 msgstr "भीपीà¤à¤¨ जडान पà¥à¤¨: पà¥à¤°à¤¾à¤ªà¥à¤¤à¤¿ गरà¥à¤¦à¤¾ तà¥à¤°à¥à¤Ÿà¤¿ '%s'"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1528
+#: src/libnm-core-impl/nm-setting-connection.c:1542
 #, c-format
 msgid "property type should be set to '%s'"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1546
+#: src/libnm-core-impl/nm-setting-connection.c:1560
 #, c-format
 msgid "slave-type '%s' requires a '%s' setting in the connection"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1557
+#: src/libnm-core-impl/nm-setting-connection.c:1571
 #, c-format
 msgid ""
 "Detect a slave connection with '%s' set and a port type '%s'. '%s' should be "
 "set to '%s'"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1583
+#: src/libnm-core-impl/nm-setting-connection.c:1597
 #, c-format
 msgid "A slave connection with '%s' set to '%s' cannot have a '%s' setting"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1600
+#: src/libnm-core-impl/nm-setting-connection.c:1614
 msgid "UUID needs normalization"
 msgstr ""
 
@@ -5754,29 +5758,25 @@ msgid ""
 "fc00::/7) and IPv6 privacy extension addresses (rfc3041, ipv6.ip6-privacy) "
 "will be excluded from being configured as endpoints. If \"disabled\" (0x1), "
 "MPTCP handling for the interface is disabled and no endpoints are "
-"registered. The \"enabled\" (0x2) flag means that MPTCP handling is enabled. "
-"This flag can also be implied from the presence of other flags. Even when "
-"enabled, MPTCP handling will by default still be disabled unless \"/proc/sys/"
-"net/mptcp/enabled\" sysctl is on. NetworkManager does not change the sysctl "
-"and this is up to the administrator or distribution. To configure endpoints "
-"even if the sysctl is disabled, \"also-without-sysctl\" (0x4) flag can be "
-"used. In that case, NetworkManager doesn't look at the sysctl and configures "
-"endpoints regardless. Even when enabled, NetworkManager will only configure "
-"MPTCP endpoints for a certain address family, if there is a unicast default "
-"route (0.0.0.0/0 or ::/0) in the main routing table. The flag \"also-without-"
-"default-route\" (0x8) can override that. When MPTCP handling is enabled then "
-"endpoints are configured with the specified address flags \"signal\" (0x10), "
-"\"subflow\" (0x20), \"backup\" (0x40), \"fullmesh\" (0x80). See ip-mptcp(8) "
-"manual for additional information about the flags. If the flags are zero "
-"(0x0), the global connection default from NetworkManager.conf is honored. If "
-"still unspecified, the fallback is \"enabled,subflow\". Note that this means "
-"that MPTCP is by default done depending on the \"/proc/sys/net/mptcp/"
-"enabled\" sysctl. NetworkManager does not change the MPTCP limits nor enable "
-"MPTCP via \"/proc/sys/net/mptcp/enabled\". That is a host configuration "
-"which the admin can change via sysctl and ip-mptcp. Strict reverse path "
-"filtering (rp_filter) breaks many MPTCP use cases, so when MPTCP handling "
-"for IPv4 addresses on the interface is enabled, NetworkManager would loosen "
-"the strict reverse path filtering (1) to the loose setting (2)."
+"registered. The flag \"enabled-on-global-iface\" (0x2) means that MPTCP "
+"handling is enabled if the interface configures a default route in the main "
+"routing table. This choice is per-address family, for example if there is an "
+"IPv4 default route 0.0.0.0/0, IPv4 endpoints are configured. The "
+"\"enabled\" (0x4) flag means that MPTCP handling is explicitly enabled. This "
+"flag can also be implied from the presence of other flags. If MPTCP handling "
+"is enabled, then endpoints will be configured with the specified address "
+"flags \"signal\" (0x10), \"subflow\" (0x20), \"backup\" (0x40), "
+"\"fullmesh\" (0x80). See ip-mptcp(8) manual for additional information about "
+"the flags. If the flags are zero, the global connection default from "
+"NetworkManager.conf is honored. If still unspecified, the fallback is either "
+"\"disabled\" or \"enabled-on-global-iface,subflow\" depending on \"/proc/sys/"
+"net/mptcp/enabled\". NetworkManager does not change the MPTCP limits nor "
+"enable MPTCP via \"/proc/sys/net/mptcp/enabled\". That is a host "
+"configuration which the admin can change via sysctl and ip-mptcp. Strict "
+"reverse path filtering (rp_filter) breaks many MPTCP use cases, so when "
+"MPTCP handling for IPv4 addresses on the interface is enabled, "
+"NetworkManager would loosen the strict reverse path filtering (1) to the "
+"loose setting (2)."
 msgstr ""
 
 #: src/libnmc-setting/settings-docs.h.in:18
@@ -7010,13 +7010,11 @@ msgstr ""
 #: src/libnmc-setting/settings-docs.h.in:200
 msgid ""
 "The gateway associated with this configuration. This is only meaningful if "
-"\"addresses\" is also set. Setting the gateway causes NetworkManager to "
-"configure a standard default route with the gateway as next hop. This is "
-"ignored if \"never-default\" is set. An alternative is to configure the "
-"default route explicitly with a manual route and /0 as prefix length. Note "
-"that the gateway usually conflicts with routing that NetworkManager "
-"configures for WireGuard interfaces, so usually it should not be set in that "
-"case. See \"ip4-auto-default-route\"."
+"\"addresses\" is also set. The gateway's main purpose is to control the next "
+"hop of the standard default route on the device. Hence, the gateway property "
+"conflicts with \"never-default\" and will be automatically dropped if the IP "
+"configuration is set to never-default. As an alternative to set the gateway, "
+"configure a static default route with /0 as prefix length."
 msgstr ""
 
 #: src/libnmc-setting/settings-docs.h.in:175
diff --git a/po/nl.po b/po/nl.po
index c5d82a35..49cfc4e2 100644
--- a/po/nl.po
+++ b/po/nl.po
@@ -19,7 +19,7 @@ msgstr ""
 "Project-Id-Version: NetworkManager\n"
 "Report-Msgid-Bugs-To: https://gitlab.freedesktop.org/NetworkManager/"
 "NetworkManager/issues\n"
-"POT-Creation-Date: 2022-08-26 16:42+0200\n"
+"POT-Creation-Date: 2022-08-11 16:06-0300\n"
 "PO-Revision-Date: 2022-03-27 21:08+0200\n"
 "Last-Translator: Nathan Follens <nfollens@gnome.org>\n"
 "Language-Team: Dutch <gnome-nl-list@gnome.org>\n"
@@ -1222,7 +1222,7 @@ msgstr ""
 #: src/libnm-core-impl/nm-setting-cdma.c:144
 #: src/libnm-core-impl/nm-setting-connection.c:1149
 #: src/libnm-core-impl/nm-setting-connection.c:1187
-#: src/libnm-core-impl/nm-setting-connection.c:1516
+#: src/libnm-core-impl/nm-setting-connection.c:1530
 #: src/libnm-core-impl/nm-setting-ip-config.c:5423
 #: src/libnm-core-impl/nm-setting-ip-tunnel.c:387
 #: src/libnm-core-impl/nm-setting-olpc-mesh.c:99
@@ -1564,7 +1564,7 @@ msgstr ""
 #: src/libnm-core-impl/nm-setting-cdma.c:159
 #: src/libnm-core-impl/nm-setting-connection.c:1159
 #: src/libnm-core-impl/nm-setting-connection.c:1202
-#: src/libnm-core-impl/nm-setting-connection.c:1454
+#: src/libnm-core-impl/nm-setting-connection.c:1468
 #: src/libnm-core-impl/nm-setting-gsm.c:298
 #: src/libnm-core-impl/nm-setting-gsm.c:353
 #: src/libnm-core-impl/nm-setting-gsm.c:396
@@ -1851,7 +1851,7 @@ msgstr "Fout: time-out-waarde '%s' is niet geldig."
 #: src/libnm-core-impl/nm-setting-connection.c:1351
 #: src/libnm-core-impl/nm-setting-connection.c:1365
 #: src/libnm-core-impl/nm-setting-connection.c:1379
-#: src/libnm-core-impl/nm-setting-connection.c:1440
+#: src/libnm-core-impl/nm-setting-connection.c:1454
 #, c-format
 msgid "value %d is not valid"
 msgstr "waarde %d is ongeldig"
@@ -1860,50 +1860,54 @@ msgstr "waarde %d is ongeldig"
 msgid "\"disabled\" flag cannot be combined with other MPTCP flags"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1409
+#: src/libnm-core-impl/nm-setting-connection.c:1411
+msgid "\"enabled\" and \"enabled-on-global-iface\" flag cannot be set together"
+msgstr ""
+
+#: src/libnm-core-impl/nm-setting-connection.c:1422
 msgid "cannot set both \"signal\" and \"fullmesh\" MPTCP flags"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1421
+#: src/libnm-core-impl/nm-setting-connection.c:1435
 #, fuzzy, c-format
 msgid "value %u is not a valid combination of MPTCP flags"
 msgstr "Fout: time-out-waarde '%s' is niet geldig."
 
-#: src/libnm-core-impl/nm-setting-connection.c:1468
+#: src/libnm-core-impl/nm-setting-connection.c:1482
 msgid "DHCP option cannot be longer than 255 characters"
 msgstr "DHCP-optie kan niet langer zijn dan 255 tekens"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1479
+#: src/libnm-core-impl/nm-setting-connection.c:1493
 msgid "MUD URL is not a valid URL"
 msgstr "MUD-URL is geen geldige URL"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1499
+#: src/libnm-core-impl/nm-setting-connection.c:1513
 msgid "invalid permissions not in format \"user:$UNAME[:]\""
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1528
+#: src/libnm-core-impl/nm-setting-connection.c:1542
 #, c-format
 msgid "property type should be set to '%s'"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1546
+#: src/libnm-core-impl/nm-setting-connection.c:1560
 #, c-format
 msgid "slave-type '%s' requires a '%s' setting in the connection"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1557
+#: src/libnm-core-impl/nm-setting-connection.c:1571
 #, c-format
 msgid ""
 "Detect a slave connection with '%s' set and a port type '%s'. '%s' should be "
 "set to '%s'"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1583
+#: src/libnm-core-impl/nm-setting-connection.c:1597
 #, c-format
 msgid "A slave connection with '%s' set to '%s' cannot have a '%s' setting"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1600
+#: src/libnm-core-impl/nm-setting-connection.c:1614
 msgid "UUID needs normalization"
 msgstr ""
 
@@ -5910,29 +5914,25 @@ msgid ""
 "fc00::/7) and IPv6 privacy extension addresses (rfc3041, ipv6.ip6-privacy) "
 "will be excluded from being configured as endpoints. If \"disabled\" (0x1), "
 "MPTCP handling for the interface is disabled and no endpoints are "
-"registered. The \"enabled\" (0x2) flag means that MPTCP handling is enabled. "
-"This flag can also be implied from the presence of other flags. Even when "
-"enabled, MPTCP handling will by default still be disabled unless \"/proc/sys/"
-"net/mptcp/enabled\" sysctl is on. NetworkManager does not change the sysctl "
-"and this is up to the administrator or distribution. To configure endpoints "
-"even if the sysctl is disabled, \"also-without-sysctl\" (0x4) flag can be "
-"used. In that case, NetworkManager doesn't look at the sysctl and configures "
-"endpoints regardless. Even when enabled, NetworkManager will only configure "
-"MPTCP endpoints for a certain address family, if there is a unicast default "
-"route (0.0.0.0/0 or ::/0) in the main routing table. The flag \"also-without-"
-"default-route\" (0x8) can override that. When MPTCP handling is enabled then "
-"endpoints are configured with the specified address flags \"signal\" (0x10), "
-"\"subflow\" (0x20), \"backup\" (0x40), \"fullmesh\" (0x80). See ip-mptcp(8) "
-"manual for additional information about the flags. If the flags are zero "
-"(0x0), the global connection default from NetworkManager.conf is honored. If "
-"still unspecified, the fallback is \"enabled,subflow\". Note that this means "
-"that MPTCP is by default done depending on the \"/proc/sys/net/mptcp/"
-"enabled\" sysctl. NetworkManager does not change the MPTCP limits nor enable "
-"MPTCP via \"/proc/sys/net/mptcp/enabled\". That is a host configuration "
-"which the admin can change via sysctl and ip-mptcp. Strict reverse path "
-"filtering (rp_filter) breaks many MPTCP use cases, so when MPTCP handling "
-"for IPv4 addresses on the interface is enabled, NetworkManager would loosen "
-"the strict reverse path filtering (1) to the loose setting (2)."
+"registered. The flag \"enabled-on-global-iface\" (0x2) means that MPTCP "
+"handling is enabled if the interface configures a default route in the main "
+"routing table. This choice is per-address family, for example if there is an "
+"IPv4 default route 0.0.0.0/0, IPv4 endpoints are configured. The "
+"\"enabled\" (0x4) flag means that MPTCP handling is explicitly enabled. This "
+"flag can also be implied from the presence of other flags. If MPTCP handling "
+"is enabled, then endpoints will be configured with the specified address "
+"flags \"signal\" (0x10), \"subflow\" (0x20), \"backup\" (0x40), "
+"\"fullmesh\" (0x80). See ip-mptcp(8) manual for additional information about "
+"the flags. If the flags are zero, the global connection default from "
+"NetworkManager.conf is honored. If still unspecified, the fallback is either "
+"\"disabled\" or \"enabled-on-global-iface,subflow\" depending on \"/proc/sys/"
+"net/mptcp/enabled\". NetworkManager does not change the MPTCP limits nor "
+"enable MPTCP via \"/proc/sys/net/mptcp/enabled\". That is a host "
+"configuration which the admin can change via sysctl and ip-mptcp. Strict "
+"reverse path filtering (rp_filter) breaks many MPTCP use cases, so when "
+"MPTCP handling for IPv4 addresses on the interface is enabled, "
+"NetworkManager would loosen the strict reverse path filtering (1) to the "
+"loose setting (2)."
 msgstr ""
 
 #: src/libnmc-setting/settings-docs.h.in:18
@@ -7167,13 +7167,11 @@ msgstr ""
 #: src/libnmc-setting/settings-docs.h.in:200
 msgid ""
 "The gateway associated with this configuration. This is only meaningful if "
-"\"addresses\" is also set. Setting the gateway causes NetworkManager to "
-"configure a standard default route with the gateway as next hop. This is "
-"ignored if \"never-default\" is set. An alternative is to configure the "
-"default route explicitly with a manual route and /0 as prefix length. Note "
-"that the gateway usually conflicts with routing that NetworkManager "
-"configures for WireGuard interfaces, so usually it should not be set in that "
-"case. See \"ip4-auto-default-route\"."
+"\"addresses\" is also set. The gateway's main purpose is to control the next "
+"hop of the standard default route on the device. Hence, the gateway property "
+"conflicts with \"never-default\" and will be automatically dropped if the IP "
+"configuration is set to never-default. As an alternative to set the gateway, "
+"configure a static default route with /0 as prefix length."
 msgstr ""
 
 #: src/libnmc-setting/settings-docs.h.in:175
diff --git a/po/oc.po b/po/oc.po
index bd00fcab..7e548c1b 100644
--- a/po/oc.po
+++ b/po/oc.po
@@ -8,7 +8,7 @@ msgstr ""
 "Project-Id-Version: NetworkManager\n"
 "Report-Msgid-Bugs-To: https://gitlab.freedesktop.org/NetworkManager/"
 "NetworkManager/issues\n"
-"POT-Creation-Date: 2022-08-26 16:42+0200\n"
+"POT-Creation-Date: 2022-08-11 16:06-0300\n"
 "PO-Revision-Date: 2021-05-18 21:37+0200\n"
 "Last-Translator: Quentin PAGÈS\n"
 "Language-Team: Tot en òc (totenoc.eu)\n"
@@ -1217,7 +1217,7 @@ msgstr ""
 #: src/libnm-core-impl/nm-setting-cdma.c:144
 #: src/libnm-core-impl/nm-setting-connection.c:1149
 #: src/libnm-core-impl/nm-setting-connection.c:1187
-#: src/libnm-core-impl/nm-setting-connection.c:1516
+#: src/libnm-core-impl/nm-setting-connection.c:1530
 #: src/libnm-core-impl/nm-setting-ip-config.c:5423
 #: src/libnm-core-impl/nm-setting-ip-tunnel.c:387
 #: src/libnm-core-impl/nm-setting-olpc-mesh.c:99
@@ -1559,7 +1559,7 @@ msgstr ""
 #: src/libnm-core-impl/nm-setting-cdma.c:159
 #: src/libnm-core-impl/nm-setting-connection.c:1159
 #: src/libnm-core-impl/nm-setting-connection.c:1202
-#: src/libnm-core-impl/nm-setting-connection.c:1454
+#: src/libnm-core-impl/nm-setting-connection.c:1468
 #: src/libnm-core-impl/nm-setting-gsm.c:298
 #: src/libnm-core-impl/nm-setting-gsm.c:353
 #: src/libnm-core-impl/nm-setting-gsm.c:396
@@ -1844,7 +1844,7 @@ msgstr ""
 #: src/libnm-core-impl/nm-setting-connection.c:1351
 #: src/libnm-core-impl/nm-setting-connection.c:1365
 #: src/libnm-core-impl/nm-setting-connection.c:1379
-#: src/libnm-core-impl/nm-setting-connection.c:1440
+#: src/libnm-core-impl/nm-setting-connection.c:1454
 #, fuzzy, c-format
 msgid "value %d is not valid"
 msgstr "camp '%s' invalid"
@@ -1853,52 +1853,56 @@ msgstr "camp '%s' invalid"
 msgid "\"disabled\" flag cannot be combined with other MPTCP flags"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1409
+#: src/libnm-core-impl/nm-setting-connection.c:1411
+msgid "\"enabled\" and \"enabled-on-global-iface\" flag cannot be set together"
+msgstr ""
+
+#: src/libnm-core-impl/nm-setting-connection.c:1422
 msgid "cannot set both \"signal\" and \"fullmesh\" MPTCP flags"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1421
+#: src/libnm-core-impl/nm-setting-connection.c:1435
 #, fuzzy, c-format
 msgid "value %u is not a valid combination of MPTCP flags"
 msgstr "Error&nbsp;: %s - connexion introbabla."
 
-#: src/libnm-core-impl/nm-setting-connection.c:1468
+#: src/libnm-core-impl/nm-setting-connection.c:1482
 msgid "DHCP option cannot be longer than 255 characters"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1479
+#: src/libnm-core-impl/nm-setting-connection.c:1493
 #, fuzzy
 msgid "MUD URL is not a valid URL"
 msgstr "camp '%s' invalid"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1499
+#: src/libnm-core-impl/nm-setting-connection.c:1513
 #, fuzzy
 msgid "invalid permissions not in format \"user:$UNAME[:]\""
 msgstr "camp '%s' invalid"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1528
+#: src/libnm-core-impl/nm-setting-connection.c:1542
 #, c-format
 msgid "property type should be set to '%s'"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1546
+#: src/libnm-core-impl/nm-setting-connection.c:1560
 #, c-format
 msgid "slave-type '%s' requires a '%s' setting in the connection"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1557
+#: src/libnm-core-impl/nm-setting-connection.c:1571
 #, c-format
 msgid ""
 "Detect a slave connection with '%s' set and a port type '%s'. '%s' should be "
 "set to '%s'"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1583
+#: src/libnm-core-impl/nm-setting-connection.c:1597
 #, c-format
 msgid "A slave connection with '%s' set to '%s' cannot have a '%s' setting"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1600
+#: src/libnm-core-impl/nm-setting-connection.c:1614
 msgid "UUID needs normalization"
 msgstr ""
 
@@ -5901,29 +5905,25 @@ msgid ""
 "fc00::/7) and IPv6 privacy extension addresses (rfc3041, ipv6.ip6-privacy) "
 "will be excluded from being configured as endpoints. If \"disabled\" (0x1), "
 "MPTCP handling for the interface is disabled and no endpoints are "
-"registered. The \"enabled\" (0x2) flag means that MPTCP handling is enabled. "
-"This flag can also be implied from the presence of other flags. Even when "
-"enabled, MPTCP handling will by default still be disabled unless \"/proc/sys/"
-"net/mptcp/enabled\" sysctl is on. NetworkManager does not change the sysctl "
-"and this is up to the administrator or distribution. To configure endpoints "
-"even if the sysctl is disabled, \"also-without-sysctl\" (0x4) flag can be "
-"used. In that case, NetworkManager doesn't look at the sysctl and configures "
-"endpoints regardless. Even when enabled, NetworkManager will only configure "
-"MPTCP endpoints for a certain address family, if there is a unicast default "
-"route (0.0.0.0/0 or ::/0) in the main routing table. The flag \"also-without-"
-"default-route\" (0x8) can override that. When MPTCP handling is enabled then "
-"endpoints are configured with the specified address flags \"signal\" (0x10), "
-"\"subflow\" (0x20), \"backup\" (0x40), \"fullmesh\" (0x80). See ip-mptcp(8) "
-"manual for additional information about the flags. If the flags are zero "
-"(0x0), the global connection default from NetworkManager.conf is honored. If "
-"still unspecified, the fallback is \"enabled,subflow\". Note that this means "
-"that MPTCP is by default done depending on the \"/proc/sys/net/mptcp/"
-"enabled\" sysctl. NetworkManager does not change the MPTCP limits nor enable "
-"MPTCP via \"/proc/sys/net/mptcp/enabled\". That is a host configuration "
-"which the admin can change via sysctl and ip-mptcp. Strict reverse path "
-"filtering (rp_filter) breaks many MPTCP use cases, so when MPTCP handling "
-"for IPv4 addresses on the interface is enabled, NetworkManager would loosen "
-"the strict reverse path filtering (1) to the loose setting (2)."
+"registered. The flag \"enabled-on-global-iface\" (0x2) means that MPTCP "
+"handling is enabled if the interface configures a default route in the main "
+"routing table. This choice is per-address family, for example if there is an "
+"IPv4 default route 0.0.0.0/0, IPv4 endpoints are configured. The "
+"\"enabled\" (0x4) flag means that MPTCP handling is explicitly enabled. This "
+"flag can also be implied from the presence of other flags. If MPTCP handling "
+"is enabled, then endpoints will be configured with the specified address "
+"flags \"signal\" (0x10), \"subflow\" (0x20), \"backup\" (0x40), "
+"\"fullmesh\" (0x80). See ip-mptcp(8) manual for additional information about "
+"the flags. If the flags are zero, the global connection default from "
+"NetworkManager.conf is honored. If still unspecified, the fallback is either "
+"\"disabled\" or \"enabled-on-global-iface,subflow\" depending on \"/proc/sys/"
+"net/mptcp/enabled\". NetworkManager does not change the MPTCP limits nor "
+"enable MPTCP via \"/proc/sys/net/mptcp/enabled\". That is a host "
+"configuration which the admin can change via sysctl and ip-mptcp. Strict "
+"reverse path filtering (rp_filter) breaks many MPTCP use cases, so when "
+"MPTCP handling for IPv4 addresses on the interface is enabled, "
+"NetworkManager would loosen the strict reverse path filtering (1) to the "
+"loose setting (2)."
 msgstr ""
 
 #: src/libnmc-setting/settings-docs.h.in:18
@@ -7160,13 +7160,11 @@ msgstr ""
 #: src/libnmc-setting/settings-docs.h.in:200
 msgid ""
 "The gateway associated with this configuration. This is only meaningful if "
-"\"addresses\" is also set. Setting the gateway causes NetworkManager to "
-"configure a standard default route with the gateway as next hop. This is "
-"ignored if \"never-default\" is set. An alternative is to configure the "
-"default route explicitly with a manual route and /0 as prefix length. Note "
-"that the gateway usually conflicts with routing that NetworkManager "
-"configures for WireGuard interfaces, so usually it should not be set in that "
-"case. See \"ip4-auto-default-route\"."
+"\"addresses\" is also set. The gateway's main purpose is to control the next "
+"hop of the standard default route on the device. Hence, the gateway property "
+"conflicts with \"never-default\" and will be automatically dropped if the IP "
+"configuration is set to never-default. As an alternative to set the gateway, "
+"configure a static default route with /0 as prefix length."
 msgstr ""
 
 #: src/libnmc-setting/settings-docs.h.in:175
diff --git a/po/or.po b/po/or.po
index c18b9647..bff59077 100644
--- a/po/or.po
+++ b/po/or.po
@@ -10,7 +10,7 @@ msgstr ""
 "Project-Id-Version: NetworkManager\n"
 "Report-Msgid-Bugs-To: https://gitlab.freedesktop.org/NetworkManager/"
 "NetworkManager/issues\n"
-"POT-Creation-Date: 2022-08-26 16:42+0200\n"
+"POT-Creation-Date: 2022-08-11 16:06-0300\n"
 "PO-Revision-Date: 2017-04-21 05:45-0400\n"
 "Last-Translator: Copied by Zanata <copied-by-zanata@zanata.org>\n"
 "Language-Team: Oriya <oriya-it@googlegroups.com>\n"
@@ -1236,7 +1236,7 @@ msgstr ""
 #: src/libnm-core-impl/nm-setting-cdma.c:144
 #: src/libnm-core-impl/nm-setting-connection.c:1149
 #: src/libnm-core-impl/nm-setting-connection.c:1187
-#: src/libnm-core-impl/nm-setting-connection.c:1516
+#: src/libnm-core-impl/nm-setting-connection.c:1530
 #: src/libnm-core-impl/nm-setting-ip-config.c:5423
 #: src/libnm-core-impl/nm-setting-ip-tunnel.c:387
 #: src/libnm-core-impl/nm-setting-olpc-mesh.c:99
@@ -1583,7 +1583,7 @@ msgstr ""
 #: src/libnm-core-impl/nm-setting-cdma.c:159
 #: src/libnm-core-impl/nm-setting-connection.c:1159
 #: src/libnm-core-impl/nm-setting-connection.c:1202
-#: src/libnm-core-impl/nm-setting-connection.c:1454
+#: src/libnm-core-impl/nm-setting-connection.c:1468
 #: src/libnm-core-impl/nm-setting-gsm.c:298
 #: src/libnm-core-impl/nm-setting-gsm.c:353
 #: src/libnm-core-impl/nm-setting-gsm.c:396
@@ -1871,7 +1871,7 @@ msgstr "ଅନà­à¬•à­à¬°à¬®à¬£à¬¿à¬•ା '%s' ଟି ବୈଧ ନà­à¬¹à¬"
 #: src/libnm-core-impl/nm-setting-connection.c:1351
 #: src/libnm-core-impl/nm-setting-connection.c:1365
 #: src/libnm-core-impl/nm-setting-connection.c:1379
-#: src/libnm-core-impl/nm-setting-connection.c:1440
+#: src/libnm-core-impl/nm-setting-connection.c:1454
 #, fuzzy, c-format
 msgid "value %d is not valid"
 msgstr "ଅନà­à¬•à­à¬°à¬®à¬£à¬¿à¬•ା '%s' ଟି ବୈଧ ନà­à¬¹à¬"
@@ -1880,52 +1880,56 @@ msgstr "ଅନà­à¬•à­à¬°à¬®à¬£à¬¿à¬•ା '%s' ଟି ବୈଧ ନà­à¬¹à¬"
 msgid "\"disabled\" flag cannot be combined with other MPTCP flags"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1409
+#: src/libnm-core-impl/nm-setting-connection.c:1411
+msgid "\"enabled\" and \"enabled-on-global-iface\" flag cannot be set together"
+msgstr ""
+
+#: src/libnm-core-impl/nm-setting-connection.c:1422
 msgid "cannot set both \"signal\" and \"fullmesh\" MPTCP flags"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1421
+#: src/libnm-core-impl/nm-setting-connection.c:1435
 #, fuzzy, c-format
 msgid "value %u is not a valid combination of MPTCP flags"
 msgstr "'%s' ଟି ବୈଧ ନà­à¬¹à¬; [%s] କିମà­à¬¬à¬¾ [%s] କୠବà­à­Ÿà¬¬à¬¹à¬¾à¬° କରନà­à¬¤à­"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1468
+#: src/libnm-core-impl/nm-setting-connection.c:1482
 msgid "DHCP option cannot be longer than 255 characters"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1479
+#: src/libnm-core-impl/nm-setting-connection.c:1493
 #, fuzzy
 msgid "MUD URL is not a valid URL"
 msgstr "'%s' ଟି ଗୋଟିଠବୈଧ UUID ନà­à¬¹à¬"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1499
+#: src/libnm-core-impl/nm-setting-connection.c:1513
 #, fuzzy
 msgid "invalid permissions not in format \"user:$UNAME[:]\""
 msgstr "ଅବୈଧ IPv4 ପଥ '%s'"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1528
+#: src/libnm-core-impl/nm-setting-connection.c:1542
 #, c-format
 msgid "property type should be set to '%s'"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1546
+#: src/libnm-core-impl/nm-setting-connection.c:1560
 #, fuzzy, c-format
 msgid "slave-type '%s' requires a '%s' setting in the connection"
 msgstr "ସଂଯୋଗରେ '%s' ବà­à­Ÿà¬¬à¬¸à­à¬¥à¬¾à¬° ଉପସà­à¬¥à¬¿à¬¤à¬¿ ଆବଶà­à­Ÿà¬•"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1557
+#: src/libnm-core-impl/nm-setting-connection.c:1571
 #, c-format
 msgid ""
 "Detect a slave connection with '%s' set and a port type '%s'. '%s' should be "
 "set to '%s'"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1583
+#: src/libnm-core-impl/nm-setting-connection.c:1597
 #, fuzzy, c-format
 msgid "A slave connection with '%s' set to '%s' cannot have a '%s' setting"
 msgstr "'%s' କିମà­à¬¬à¬¾ '%s' ସଂରଚନା ଆବଶà­à­Ÿà¬•"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1600
+#: src/libnm-core-impl/nm-setting-connection.c:1614
 msgid "UUID needs normalization"
 msgstr ""
 
@@ -6046,29 +6050,25 @@ msgid ""
 "fc00::/7) and IPv6 privacy extension addresses (rfc3041, ipv6.ip6-privacy) "
 "will be excluded from being configured as endpoints. If \"disabled\" (0x1), "
 "MPTCP handling for the interface is disabled and no endpoints are "
-"registered. The \"enabled\" (0x2) flag means that MPTCP handling is enabled. "
-"This flag can also be implied from the presence of other flags. Even when "
-"enabled, MPTCP handling will by default still be disabled unless \"/proc/sys/"
-"net/mptcp/enabled\" sysctl is on. NetworkManager does not change the sysctl "
-"and this is up to the administrator or distribution. To configure endpoints "
-"even if the sysctl is disabled, \"also-without-sysctl\" (0x4) flag can be "
-"used. In that case, NetworkManager doesn't look at the sysctl and configures "
-"endpoints regardless. Even when enabled, NetworkManager will only configure "
-"MPTCP endpoints for a certain address family, if there is a unicast default "
-"route (0.0.0.0/0 or ::/0) in the main routing table. The flag \"also-without-"
-"default-route\" (0x8) can override that. When MPTCP handling is enabled then "
-"endpoints are configured with the specified address flags \"signal\" (0x10), "
-"\"subflow\" (0x20), \"backup\" (0x40), \"fullmesh\" (0x80). See ip-mptcp(8) "
-"manual for additional information about the flags. If the flags are zero "
-"(0x0), the global connection default from NetworkManager.conf is honored. If "
-"still unspecified, the fallback is \"enabled,subflow\". Note that this means "
-"that MPTCP is by default done depending on the \"/proc/sys/net/mptcp/"
-"enabled\" sysctl. NetworkManager does not change the MPTCP limits nor enable "
-"MPTCP via \"/proc/sys/net/mptcp/enabled\". That is a host configuration "
-"which the admin can change via sysctl and ip-mptcp. Strict reverse path "
-"filtering (rp_filter) breaks many MPTCP use cases, so when MPTCP handling "
-"for IPv4 addresses on the interface is enabled, NetworkManager would loosen "
-"the strict reverse path filtering (1) to the loose setting (2)."
+"registered. The flag \"enabled-on-global-iface\" (0x2) means that MPTCP "
+"handling is enabled if the interface configures a default route in the main "
+"routing table. This choice is per-address family, for example if there is an "
+"IPv4 default route 0.0.0.0/0, IPv4 endpoints are configured. The "
+"\"enabled\" (0x4) flag means that MPTCP handling is explicitly enabled. This "
+"flag can also be implied from the presence of other flags. If MPTCP handling "
+"is enabled, then endpoints will be configured with the specified address "
+"flags \"signal\" (0x10), \"subflow\" (0x20), \"backup\" (0x40), "
+"\"fullmesh\" (0x80). See ip-mptcp(8) manual for additional information about "
+"the flags. If the flags are zero, the global connection default from "
+"NetworkManager.conf is honored. If still unspecified, the fallback is either "
+"\"disabled\" or \"enabled-on-global-iface,subflow\" depending on \"/proc/sys/"
+"net/mptcp/enabled\". NetworkManager does not change the MPTCP limits nor "
+"enable MPTCP via \"/proc/sys/net/mptcp/enabled\". That is a host "
+"configuration which the admin can change via sysctl and ip-mptcp. Strict "
+"reverse path filtering (rp_filter) breaks many MPTCP use cases, so when "
+"MPTCP handling for IPv4 addresses on the interface is enabled, "
+"NetworkManager would loosen the strict reverse path filtering (1) to the "
+"loose setting (2)."
 msgstr ""
 
 #: src/libnmc-setting/settings-docs.h.in:18
@@ -7302,13 +7302,11 @@ msgstr ""
 #: src/libnmc-setting/settings-docs.h.in:200
 msgid ""
 "The gateway associated with this configuration. This is only meaningful if "
-"\"addresses\" is also set. Setting the gateway causes NetworkManager to "
-"configure a standard default route with the gateway as next hop. This is "
-"ignored if \"never-default\" is set. An alternative is to configure the "
-"default route explicitly with a manual route and /0 as prefix length. Note "
-"that the gateway usually conflicts with routing that NetworkManager "
-"configures for WireGuard interfaces, so usually it should not be set in that "
-"case. See \"ip4-auto-default-route\"."
+"\"addresses\" is also set. The gateway's main purpose is to control the next "
+"hop of the standard default route on the device. Hence, the gateway property "
+"conflicts with \"never-default\" and will be automatically dropped if the IP "
+"configuration is set to never-default. As an alternative to set the gateway, "
+"configure a static default route with /0 as prefix length."
 msgstr ""
 
 #: src/libnmc-setting/settings-docs.h.in:175
diff --git a/po/pa.po b/po/pa.po
index da8b7e67..d7955b43 100644
--- a/po/pa.po
+++ b/po/pa.po
@@ -13,7 +13,7 @@ msgstr ""
 "Project-Id-Version: NetworkManager\n"
 "Report-Msgid-Bugs-To: https://gitlab.freedesktop.org/NetworkManager/"
 "NetworkManager/issues\n"
-"POT-Creation-Date: 2022-08-26 16:42+0200\n"
+"POT-Creation-Date: 2022-08-11 16:06-0300\n"
 "PO-Revision-Date: 2019-04-19 10:17-0500\n"
 "Last-Translator: A S Alam <alam.yellow@gmail.com>\n"
 "Language-Team: Punjabi <punjabi-users@lists.sf.net>\n"
@@ -1184,7 +1184,7 @@ msgstr ""
 #: src/libnm-core-impl/nm-setting-cdma.c:144
 #: src/libnm-core-impl/nm-setting-connection.c:1149
 #: src/libnm-core-impl/nm-setting-connection.c:1187
-#: src/libnm-core-impl/nm-setting-connection.c:1516
+#: src/libnm-core-impl/nm-setting-connection.c:1530
 #: src/libnm-core-impl/nm-setting-ip-config.c:5423
 #: src/libnm-core-impl/nm-setting-ip-tunnel.c:387
 #: src/libnm-core-impl/nm-setting-olpc-mesh.c:99
@@ -1528,7 +1528,7 @@ msgstr ""
 #: src/libnm-core-impl/nm-setting-cdma.c:159
 #: src/libnm-core-impl/nm-setting-connection.c:1159
 #: src/libnm-core-impl/nm-setting-connection.c:1202
-#: src/libnm-core-impl/nm-setting-connection.c:1454
+#: src/libnm-core-impl/nm-setting-connection.c:1468
 #: src/libnm-core-impl/nm-setting-gsm.c:298
 #: src/libnm-core-impl/nm-setting-gsm.c:353
 #: src/libnm-core-impl/nm-setting-gsm.c:396
@@ -1815,7 +1815,7 @@ msgstr "ਇੰਡੈਕਸ '%s' ਢà©à¨•ਵਾਂ ਨਹੀਂ ਹੈ"
 #: src/libnm-core-impl/nm-setting-connection.c:1351
 #: src/libnm-core-impl/nm-setting-connection.c:1365
 #: src/libnm-core-impl/nm-setting-connection.c:1379
-#: src/libnm-core-impl/nm-setting-connection.c:1440
+#: src/libnm-core-impl/nm-setting-connection.c:1454
 #, fuzzy, c-format
 msgid "value %d is not valid"
 msgstr "ਇੰਡੈਕਸ '%s' ਢà©à¨•ਵਾਂ ਨਹੀਂ ਹੈ"
@@ -1824,52 +1824,56 @@ msgstr "ਇੰਡੈਕਸ '%s' ਢà©à¨•ਵਾਂ ਨਹੀਂ ਹੈ"
 msgid "\"disabled\" flag cannot be combined with other MPTCP flags"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1409
+#: src/libnm-core-impl/nm-setting-connection.c:1411
+msgid "\"enabled\" and \"enabled-on-global-iface\" flag cannot be set together"
+msgstr ""
+
+#: src/libnm-core-impl/nm-setting-connection.c:1422
 msgid "cannot set both \"signal\" and \"fullmesh\" MPTCP flags"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1421
+#: src/libnm-core-impl/nm-setting-connection.c:1435
 #, fuzzy, c-format
 msgid "value %u is not a valid combination of MPTCP flags"
 msgstr "'%s' ਢà©à¨•ਵਾਂ ਨਹੀਂ; [%s] ਜਾਂ [%s] ਵਰਤੋ"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1468
+#: src/libnm-core-impl/nm-setting-connection.c:1482
 msgid "DHCP option cannot be longer than 255 characters"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1479
+#: src/libnm-core-impl/nm-setting-connection.c:1493
 #, fuzzy
 msgid "MUD URL is not a valid URL"
 msgstr "'%s' ਢà©à¨•ਵਾਂ UUID ਨਹੀਂ ਹੈ"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1499
+#: src/libnm-core-impl/nm-setting-connection.c:1513
 #, fuzzy
 msgid "invalid permissions not in format \"user:$UNAME[:]\""
 msgstr "ਅਢà©à¨•ਵਾਂ IPv4 ਰੂਟ '%s'"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1528
+#: src/libnm-core-impl/nm-setting-connection.c:1542
 #, c-format
 msgid "property type should be set to '%s'"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1546
+#: src/libnm-core-impl/nm-setting-connection.c:1560
 #, fuzzy, c-format
 msgid "slave-type '%s' requires a '%s' setting in the connection"
 msgstr "ਨੂੰ ਸੰਪਰਕ ਵਿੱਚ '%s' ਸੈਟਿੰਗ ਦੀ ਮੌਜੂਦਗੀ ਲੋੜੀਂਦੀ ਹੈ"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1557
+#: src/libnm-core-impl/nm-setting-connection.c:1571
 #, c-format
 msgid ""
 "Detect a slave connection with '%s' set and a port type '%s'. '%s' should be "
 "set to '%s'"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1583
+#: src/libnm-core-impl/nm-setting-connection.c:1597
 #, fuzzy, c-format
 msgid "A slave connection with '%s' set to '%s' cannot have a '%s' setting"
 msgstr "ਸੈਟਿੰਗ '%s' ਜਾਂ '%s' ਲੋੜੀਂਦੀ ਹੈ"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1600
+#: src/libnm-core-impl/nm-setting-connection.c:1614
 msgid "UUID needs normalization"
 msgstr ""
 
@@ -5927,29 +5931,25 @@ msgid ""
 "fc00::/7) and IPv6 privacy extension addresses (rfc3041, ipv6.ip6-privacy) "
 "will be excluded from being configured as endpoints. If \"disabled\" (0x1), "
 "MPTCP handling for the interface is disabled and no endpoints are "
-"registered. The \"enabled\" (0x2) flag means that MPTCP handling is enabled. "
-"This flag can also be implied from the presence of other flags. Even when "
-"enabled, MPTCP handling will by default still be disabled unless \"/proc/sys/"
-"net/mptcp/enabled\" sysctl is on. NetworkManager does not change the sysctl "
-"and this is up to the administrator or distribution. To configure endpoints "
-"even if the sysctl is disabled, \"also-without-sysctl\" (0x4) flag can be "
-"used. In that case, NetworkManager doesn't look at the sysctl and configures "
-"endpoints regardless. Even when enabled, NetworkManager will only configure "
-"MPTCP endpoints for a certain address family, if there is a unicast default "
-"route (0.0.0.0/0 or ::/0) in the main routing table. The flag \"also-without-"
-"default-route\" (0x8) can override that. When MPTCP handling is enabled then "
-"endpoints are configured with the specified address flags \"signal\" (0x10), "
-"\"subflow\" (0x20), \"backup\" (0x40), \"fullmesh\" (0x80). See ip-mptcp(8) "
-"manual for additional information about the flags. If the flags are zero "
-"(0x0), the global connection default from NetworkManager.conf is honored. If "
-"still unspecified, the fallback is \"enabled,subflow\". Note that this means "
-"that MPTCP is by default done depending on the \"/proc/sys/net/mptcp/"
-"enabled\" sysctl. NetworkManager does not change the MPTCP limits nor enable "
-"MPTCP via \"/proc/sys/net/mptcp/enabled\". That is a host configuration "
-"which the admin can change via sysctl and ip-mptcp. Strict reverse path "
-"filtering (rp_filter) breaks many MPTCP use cases, so when MPTCP handling "
-"for IPv4 addresses on the interface is enabled, NetworkManager would loosen "
-"the strict reverse path filtering (1) to the loose setting (2)."
+"registered. The flag \"enabled-on-global-iface\" (0x2) means that MPTCP "
+"handling is enabled if the interface configures a default route in the main "
+"routing table. This choice is per-address family, for example if there is an "
+"IPv4 default route 0.0.0.0/0, IPv4 endpoints are configured. The "
+"\"enabled\" (0x4) flag means that MPTCP handling is explicitly enabled. This "
+"flag can also be implied from the presence of other flags. If MPTCP handling "
+"is enabled, then endpoints will be configured with the specified address "
+"flags \"signal\" (0x10), \"subflow\" (0x20), \"backup\" (0x40), "
+"\"fullmesh\" (0x80). See ip-mptcp(8) manual for additional information about "
+"the flags. If the flags are zero, the global connection default from "
+"NetworkManager.conf is honored. If still unspecified, the fallback is either "
+"\"disabled\" or \"enabled-on-global-iface,subflow\" depending on \"/proc/sys/"
+"net/mptcp/enabled\". NetworkManager does not change the MPTCP limits nor "
+"enable MPTCP via \"/proc/sys/net/mptcp/enabled\". That is a host "
+"configuration which the admin can change via sysctl and ip-mptcp. Strict "
+"reverse path filtering (rp_filter) breaks many MPTCP use cases, so when "
+"MPTCP handling for IPv4 addresses on the interface is enabled, "
+"NetworkManager would loosen the strict reverse path filtering (1) to the "
+"loose setting (2)."
 msgstr ""
 
 #: src/libnmc-setting/settings-docs.h.in:18
@@ -7183,13 +7183,11 @@ msgstr ""
 #: src/libnmc-setting/settings-docs.h.in:200
 msgid ""
 "The gateway associated with this configuration. This is only meaningful if "
-"\"addresses\" is also set. Setting the gateway causes NetworkManager to "
-"configure a standard default route with the gateway as next hop. This is "
-"ignored if \"never-default\" is set. An alternative is to configure the "
-"default route explicitly with a manual route and /0 as prefix length. Note "
-"that the gateway usually conflicts with routing that NetworkManager "
-"configures for WireGuard interfaces, so usually it should not be set in that "
-"case. See \"ip4-auto-default-route\"."
+"\"addresses\" is also set. The gateway's main purpose is to control the next "
+"hop of the standard default route on the device. Hence, the gateway property "
+"conflicts with \"never-default\" and will be automatically dropped if the IP "
+"configuration is set to never-default. As an alternative to set the gateway, "
+"configure a static default route with /0 as prefix length."
 msgstr ""
 
 #: src/libnmc-setting/settings-docs.h.in:175
diff --git a/po/pl.po b/po/pl.po
index f029a455..e6aa2bc5 100644
--- a/po/pl.po
+++ b/po/pl.po
@@ -12,7 +12,7 @@ msgstr ""
 "Project-Id-Version: NetworkManager\n"
 "Report-Msgid-Bugs-To: https://gitlab.freedesktop.org/NetworkManager/"
 "NetworkManager/issues\n"
-"POT-Creation-Date: 2022-08-26 16:42+0200\n"
+"POT-Creation-Date: 2022-08-11 16:06-0300\n"
 "PO-Revision-Date: 2020-04-12 11:20+0200\n"
 "Last-Translator: Piotr DrÄ…g <piotrdrag@gmail.com>\n"
 "Language-Team: Polish <community-poland@mozilla.org>\n"
@@ -1196,7 +1196,7 @@ msgstr "nieoczekiwany UUID %s zamiast %s"
 #: src/libnm-core-impl/nm-setting-cdma.c:144
 #: src/libnm-core-impl/nm-setting-connection.c:1149
 #: src/libnm-core-impl/nm-setting-connection.c:1187
-#: src/libnm-core-impl/nm-setting-connection.c:1516
+#: src/libnm-core-impl/nm-setting-connection.c:1530
 #: src/libnm-core-impl/nm-setting-ip-config.c:5423
 #: src/libnm-core-impl/nm-setting-ip-tunnel.c:387
 #: src/libnm-core-impl/nm-setting-olpc-mesh.c:99
@@ -1543,7 +1543,7 @@ msgstr "hasło nie jest obsługiwane, kiedy certyfikat nie jest tokenem PKCS#11"
 #: src/libnm-core-impl/nm-setting-cdma.c:159
 #: src/libnm-core-impl/nm-setting-connection.c:1159
 #: src/libnm-core-impl/nm-setting-connection.c:1202
-#: src/libnm-core-impl/nm-setting-connection.c:1454
+#: src/libnm-core-impl/nm-setting-connection.c:1468
 #: src/libnm-core-impl/nm-setting-gsm.c:298
 #: src/libnm-core-impl/nm-setting-gsm.c:353
 #: src/libnm-core-impl/nm-setting-gsm.c:396
@@ -1831,7 +1831,7 @@ msgstr "mierzona wartość %d jest nieprawidłowa"
 #: src/libnm-core-impl/nm-setting-connection.c:1351
 #: src/libnm-core-impl/nm-setting-connection.c:1365
 #: src/libnm-core-impl/nm-setting-connection.c:1379
-#: src/libnm-core-impl/nm-setting-connection.c:1440
+#: src/libnm-core-impl/nm-setting-connection.c:1454
 #, c-format
 msgid "value %d is not valid"
 msgstr "wartość %d jest nieprawidłowa"
@@ -1840,42 +1840,46 @@ msgstr "wartość %d jest nieprawidłowa"
 msgid "\"disabled\" flag cannot be combined with other MPTCP flags"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1409
+#: src/libnm-core-impl/nm-setting-connection.c:1411
+msgid "\"enabled\" and \"enabled-on-global-iface\" flag cannot be set together"
+msgstr ""
+
+#: src/libnm-core-impl/nm-setting-connection.c:1422
 msgid "cannot set both \"signal\" and \"fullmesh\" MPTCP flags"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1421
+#: src/libnm-core-impl/nm-setting-connection.c:1435
 #, fuzzy, c-format
 #| msgid "'%u' flags are not valid; use combination of %s"
 msgid "value %u is not a valid combination of MPTCP flags"
 msgstr "flagi „%u†są nieprawidłowe; należy użyć połączenia %s"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1468
+#: src/libnm-core-impl/nm-setting-connection.c:1482
 #, fuzzy
 msgid "DHCP option cannot be longer than 255 characters"
 msgstr "nazwa interfejsu jest dłuższa niż 15 znaków"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1479
+#: src/libnm-core-impl/nm-setting-connection.c:1493
 #, fuzzy
 msgid "MUD URL is not a valid URL"
 msgstr "adres URI nie jest prawidłowym tekstem UTF-8"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1499
+#: src/libnm-core-impl/nm-setting-connection.c:1513
 #, fuzzy
 msgid "invalid permissions not in format \"user:$UNAME[:]\""
 msgstr "nieprawidÅ‚owe uprawnienie „%sâ€"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1528
+#: src/libnm-core-impl/nm-setting-connection.c:1542
 #, c-format
 msgid "property type should be set to '%s'"
 msgstr "typ wÅ‚aÅ›ciwoÅ›ci musi zostać ustawiony na „%sâ€"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1546
+#: src/libnm-core-impl/nm-setting-connection.c:1560
 #, c-format
 msgid "slave-type '%s' requires a '%s' setting in the connection"
 msgstr "slave-type „%s†wymaga ustawienia „%s†w połączeniu"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1557
+#: src/libnm-core-impl/nm-setting-connection.c:1571
 #, c-format
 msgid ""
 "Detect a slave connection with '%s' set and a port type '%s'. '%s' should be "
@@ -1884,13 +1888,13 @@ msgstr ""
 "Wykryto połączenie podrzÄ™dne z ustawionym „%s†i typem portu „%sâ€. „%s†musi "
 "zostać ustawione na „%sâ€"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1583
+#: src/libnm-core-impl/nm-setting-connection.c:1597
 #, c-format
 msgid "A slave connection with '%s' set to '%s' cannot have a '%s' setting"
 msgstr ""
 "Połączenie podrzÄ™dne z „%s†ustawionym na „%s†nie może mieć ustawienia „%sâ€"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1600
+#: src/libnm-core-impl/nm-setting-connection.c:1614
 msgid "UUID needs normalization"
 msgstr ""
 
@@ -6042,29 +6046,25 @@ msgid ""
 "fc00::/7) and IPv6 privacy extension addresses (rfc3041, ipv6.ip6-privacy) "
 "will be excluded from being configured as endpoints. If \"disabled\" (0x1), "
 "MPTCP handling for the interface is disabled and no endpoints are "
-"registered. The \"enabled\" (0x2) flag means that MPTCP handling is enabled. "
-"This flag can also be implied from the presence of other flags. Even when "
-"enabled, MPTCP handling will by default still be disabled unless \"/proc/sys/"
-"net/mptcp/enabled\" sysctl is on. NetworkManager does not change the sysctl "
-"and this is up to the administrator or distribution. To configure endpoints "
-"even if the sysctl is disabled, \"also-without-sysctl\" (0x4) flag can be "
-"used. In that case, NetworkManager doesn't look at the sysctl and configures "
-"endpoints regardless. Even when enabled, NetworkManager will only configure "
-"MPTCP endpoints for a certain address family, if there is a unicast default "
-"route (0.0.0.0/0 or ::/0) in the main routing table. The flag \"also-without-"
-"default-route\" (0x8) can override that. When MPTCP handling is enabled then "
-"endpoints are configured with the specified address flags \"signal\" (0x10), "
-"\"subflow\" (0x20), \"backup\" (0x40), \"fullmesh\" (0x80). See ip-mptcp(8) "
-"manual for additional information about the flags. If the flags are zero "
-"(0x0), the global connection default from NetworkManager.conf is honored. If "
-"still unspecified, the fallback is \"enabled,subflow\". Note that this means "
-"that MPTCP is by default done depending on the \"/proc/sys/net/mptcp/"
-"enabled\" sysctl. NetworkManager does not change the MPTCP limits nor enable "
-"MPTCP via \"/proc/sys/net/mptcp/enabled\". That is a host configuration "
-"which the admin can change via sysctl and ip-mptcp. Strict reverse path "
-"filtering (rp_filter) breaks many MPTCP use cases, so when MPTCP handling "
-"for IPv4 addresses on the interface is enabled, NetworkManager would loosen "
-"the strict reverse path filtering (1) to the loose setting (2)."
+"registered. The flag \"enabled-on-global-iface\" (0x2) means that MPTCP "
+"handling is enabled if the interface configures a default route in the main "
+"routing table. This choice is per-address family, for example if there is an "
+"IPv4 default route 0.0.0.0/0, IPv4 endpoints are configured. The "
+"\"enabled\" (0x4) flag means that MPTCP handling is explicitly enabled. This "
+"flag can also be implied from the presence of other flags. If MPTCP handling "
+"is enabled, then endpoints will be configured with the specified address "
+"flags \"signal\" (0x10), \"subflow\" (0x20), \"backup\" (0x40), "
+"\"fullmesh\" (0x80). See ip-mptcp(8) manual for additional information about "
+"the flags. If the flags are zero, the global connection default from "
+"NetworkManager.conf is honored. If still unspecified, the fallback is either "
+"\"disabled\" or \"enabled-on-global-iface,subflow\" depending on \"/proc/sys/"
+"net/mptcp/enabled\". NetworkManager does not change the MPTCP limits nor "
+"enable MPTCP via \"/proc/sys/net/mptcp/enabled\". That is a host "
+"configuration which the admin can change via sysctl and ip-mptcp. Strict "
+"reverse path filtering (rp_filter) breaks many MPTCP use cases, so when "
+"MPTCP handling for IPv4 addresses on the interface is enabled, "
+"NetworkManager would loosen the strict reverse path filtering (1) to the "
+"loose setting (2)."
 msgstr ""
 
 #: src/libnmc-setting/settings-docs.h.in:18
@@ -7306,13 +7306,11 @@ msgstr ""
 #: src/libnmc-setting/settings-docs.h.in:200
 msgid ""
 "The gateway associated with this configuration. This is only meaningful if "
-"\"addresses\" is also set. Setting the gateway causes NetworkManager to "
-"configure a standard default route with the gateway as next hop. This is "
-"ignored if \"never-default\" is set. An alternative is to configure the "
-"default route explicitly with a manual route and /0 as prefix length. Note "
-"that the gateway usually conflicts with routing that NetworkManager "
-"configures for WireGuard interfaces, so usually it should not be set in that "
-"case. See \"ip4-auto-default-route\"."
+"\"addresses\" is also set. The gateway's main purpose is to control the next "
+"hop of the standard default route on the device. Hence, the gateway property "
+"conflicts with \"never-default\" and will be automatically dropped if the IP "
+"configuration is set to never-default. As an alternative to set the gateway, "
+"configure a static default route with /0 as prefix length."
 msgstr ""
 
 #: src/libnmc-setting/settings-docs.h.in:175
diff --git a/po/pt.po b/po/pt.po
index 4bfa5cdf..cd02527b 100644
--- a/po/pt.po
+++ b/po/pt.po
@@ -9,7 +9,7 @@ msgstr ""
 "Project-Id-Version: NetworkManager\n"
 "Report-Msgid-Bugs-To: https://gitlab.freedesktop.org/NetworkManager/"
 "NetworkManager/issues\n"
-"POT-Creation-Date: 2022-08-26 16:42+0200\n"
+"POT-Creation-Date: 2022-08-11 16:06-0300\n"
 "PO-Revision-Date: 2020-10-11 21:09+0100\n"
 "Last-Translator: Juliano de Souza Camargo <julianosc@protonmail.com>\n"
 "Language-Team: Portuguese < >\n"
@@ -1171,7 +1171,7 @@ msgstr ""
 #: src/libnm-core-impl/nm-setting-cdma.c:144
 #: src/libnm-core-impl/nm-setting-connection.c:1149
 #: src/libnm-core-impl/nm-setting-connection.c:1187
-#: src/libnm-core-impl/nm-setting-connection.c:1516
+#: src/libnm-core-impl/nm-setting-connection.c:1530
 #: src/libnm-core-impl/nm-setting-ip-config.c:5423
 #: src/libnm-core-impl/nm-setting-ip-tunnel.c:387
 #: src/libnm-core-impl/nm-setting-olpc-mesh.c:99
@@ -1514,7 +1514,7 @@ msgstr ""
 #: src/libnm-core-impl/nm-setting-cdma.c:159
 #: src/libnm-core-impl/nm-setting-connection.c:1159
 #: src/libnm-core-impl/nm-setting-connection.c:1202
-#: src/libnm-core-impl/nm-setting-connection.c:1454
+#: src/libnm-core-impl/nm-setting-connection.c:1468
 #: src/libnm-core-impl/nm-setting-gsm.c:298
 #: src/libnm-core-impl/nm-setting-gsm.c:353
 #: src/libnm-core-impl/nm-setting-gsm.c:396
@@ -1797,7 +1797,7 @@ msgstr ""
 #: src/libnm-core-impl/nm-setting-connection.c:1351
 #: src/libnm-core-impl/nm-setting-connection.c:1365
 #: src/libnm-core-impl/nm-setting-connection.c:1379
-#: src/libnm-core-impl/nm-setting-connection.c:1440
+#: src/libnm-core-impl/nm-setting-connection.c:1454
 #, c-format
 msgid "value %d is not valid"
 msgstr ""
@@ -1806,52 +1806,56 @@ msgstr ""
 msgid "\"disabled\" flag cannot be combined with other MPTCP flags"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1409
+#: src/libnm-core-impl/nm-setting-connection.c:1411
+msgid "\"enabled\" and \"enabled-on-global-iface\" flag cannot be set together"
+msgstr ""
+
+#: src/libnm-core-impl/nm-setting-connection.c:1422
 msgid "cannot set both \"signal\" and \"fullmesh\" MPTCP flags"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1421
+#: src/libnm-core-impl/nm-setting-connection.c:1435
 #, c-format
 msgid "value %u is not a valid combination of MPTCP flags"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1468
+#: src/libnm-core-impl/nm-setting-connection.c:1482
 msgid "DHCP option cannot be longer than 255 characters"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1479
+#: src/libnm-core-impl/nm-setting-connection.c:1493
 #, fuzzy
 msgid "MUD URL is not a valid URL"
 msgstr "Incapaz de adicionar uma ligação VPN"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1499
+#: src/libnm-core-impl/nm-setting-connection.c:1513
 #, fuzzy
 msgid "invalid permissions not in format \"user:$UNAME[:]\""
 msgstr "Erro ao obter a ligação VPN '%s'"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1528
+#: src/libnm-core-impl/nm-setting-connection.c:1542
 #, c-format
 msgid "property type should be set to '%s'"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1546
+#: src/libnm-core-impl/nm-setting-connection.c:1560
 #, c-format
 msgid "slave-type '%s' requires a '%s' setting in the connection"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1557
+#: src/libnm-core-impl/nm-setting-connection.c:1571
 #, c-format
 msgid ""
 "Detect a slave connection with '%s' set and a port type '%s'. '%s' should be "
 "set to '%s'"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1583
+#: src/libnm-core-impl/nm-setting-connection.c:1597
 #, c-format
 msgid "A slave connection with '%s' set to '%s' cannot have a '%s' setting"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1600
+#: src/libnm-core-impl/nm-setting-connection.c:1614
 msgid "UUID needs normalization"
 msgstr ""
 
@@ -5789,29 +5793,25 @@ msgid ""
 "fc00::/7) and IPv6 privacy extension addresses (rfc3041, ipv6.ip6-privacy) "
 "will be excluded from being configured as endpoints. If \"disabled\" (0x1), "
 "MPTCP handling for the interface is disabled and no endpoints are "
-"registered. The \"enabled\" (0x2) flag means that MPTCP handling is enabled. "
-"This flag can also be implied from the presence of other flags. Even when "
-"enabled, MPTCP handling will by default still be disabled unless \"/proc/sys/"
-"net/mptcp/enabled\" sysctl is on. NetworkManager does not change the sysctl "
-"and this is up to the administrator or distribution. To configure endpoints "
-"even if the sysctl is disabled, \"also-without-sysctl\" (0x4) flag can be "
-"used. In that case, NetworkManager doesn't look at the sysctl and configures "
-"endpoints regardless. Even when enabled, NetworkManager will only configure "
-"MPTCP endpoints for a certain address family, if there is a unicast default "
-"route (0.0.0.0/0 or ::/0) in the main routing table. The flag \"also-without-"
-"default-route\" (0x8) can override that. When MPTCP handling is enabled then "
-"endpoints are configured with the specified address flags \"signal\" (0x10), "
-"\"subflow\" (0x20), \"backup\" (0x40), \"fullmesh\" (0x80). See ip-mptcp(8) "
-"manual for additional information about the flags. If the flags are zero "
-"(0x0), the global connection default from NetworkManager.conf is honored. If "
-"still unspecified, the fallback is \"enabled,subflow\". Note that this means "
-"that MPTCP is by default done depending on the \"/proc/sys/net/mptcp/"
-"enabled\" sysctl. NetworkManager does not change the MPTCP limits nor enable "
-"MPTCP via \"/proc/sys/net/mptcp/enabled\". That is a host configuration "
-"which the admin can change via sysctl and ip-mptcp. Strict reverse path "
-"filtering (rp_filter) breaks many MPTCP use cases, so when MPTCP handling "
-"for IPv4 addresses on the interface is enabled, NetworkManager would loosen "
-"the strict reverse path filtering (1) to the loose setting (2)."
+"registered. The flag \"enabled-on-global-iface\" (0x2) means that MPTCP "
+"handling is enabled if the interface configures a default route in the main "
+"routing table. This choice is per-address family, for example if there is an "
+"IPv4 default route 0.0.0.0/0, IPv4 endpoints are configured. The "
+"\"enabled\" (0x4) flag means that MPTCP handling is explicitly enabled. This "
+"flag can also be implied from the presence of other flags. If MPTCP handling "
+"is enabled, then endpoints will be configured with the specified address "
+"flags \"signal\" (0x10), \"subflow\" (0x20), \"backup\" (0x40), "
+"\"fullmesh\" (0x80). See ip-mptcp(8) manual for additional information about "
+"the flags. If the flags are zero, the global connection default from "
+"NetworkManager.conf is honored. If still unspecified, the fallback is either "
+"\"disabled\" or \"enabled-on-global-iface,subflow\" depending on \"/proc/sys/"
+"net/mptcp/enabled\". NetworkManager does not change the MPTCP limits nor "
+"enable MPTCP via \"/proc/sys/net/mptcp/enabled\". That is a host "
+"configuration which the admin can change via sysctl and ip-mptcp. Strict "
+"reverse path filtering (rp_filter) breaks many MPTCP use cases, so when "
+"MPTCP handling for IPv4 addresses on the interface is enabled, "
+"NetworkManager would loosen the strict reverse path filtering (1) to the "
+"loose setting (2)."
 msgstr ""
 
 #: src/libnmc-setting/settings-docs.h.in:18
@@ -7047,13 +7047,11 @@ msgstr ""
 #: src/libnmc-setting/settings-docs.h.in:200
 msgid ""
 "The gateway associated with this configuration. This is only meaningful if "
-"\"addresses\" is also set. Setting the gateway causes NetworkManager to "
-"configure a standard default route with the gateway as next hop. This is "
-"ignored if \"never-default\" is set. An alternative is to configure the "
-"default route explicitly with a manual route and /0 as prefix length. Note "
-"that the gateway usually conflicts with routing that NetworkManager "
-"configures for WireGuard interfaces, so usually it should not be set in that "
-"case. See \"ip4-auto-default-route\"."
+"\"addresses\" is also set. The gateway's main purpose is to control the next "
+"hop of the standard default route on the device. Hence, the gateway property "
+"conflicts with \"never-default\" and will be automatically dropped if the IP "
+"configuration is set to never-default. As an alternative to set the gateway, "
+"configure a static default route with /0 as prefix length."
 msgstr ""
 
 #: src/libnmc-setting/settings-docs.h.in:175
diff --git a/po/pt_BR.po b/po/pt_BR.po
index 255a5f78..effec72c 100644
--- a/po/pt_BR.po
+++ b/po/pt_BR.po
@@ -21,7 +21,7 @@ msgstr ""
 "Project-Id-Version: NetworkManager\n"
 "Report-Msgid-Bugs-To: https://gitlab.freedesktop.org/NetworkManager/"
 "NetworkManager/issues\n"
-"POT-Creation-Date: 2022-08-26 16:42+0200\n"
+"POT-Creation-Date: 2022-08-11 16:06-0300\n"
 "PO-Revision-Date: 2020-03-10 04:12-0300\n"
 "Last-Translator: Rafael Fontenelle <rafaelff@gnome.org>\n"
 "Language-Team: Brazilian Portuguese <gnome-pt_br-list@gnome.org>\n"
@@ -1210,7 +1210,7 @@ msgstr "uuid %s inesperado em vez de %s"
 #: src/libnm-core-impl/nm-setting-cdma.c:144
 #: src/libnm-core-impl/nm-setting-connection.c:1149
 #: src/libnm-core-impl/nm-setting-connection.c:1187
-#: src/libnm-core-impl/nm-setting-connection.c:1516
+#: src/libnm-core-impl/nm-setting-connection.c:1530
 #: src/libnm-core-impl/nm-setting-ip-config.c:5423
 #: src/libnm-core-impl/nm-setting-ip-tunnel.c:387
 #: src/libnm-core-impl/nm-setting-olpc-mesh.c:99
@@ -1556,7 +1556,7 @@ msgstr ""
 #: src/libnm-core-impl/nm-setting-cdma.c:159
 #: src/libnm-core-impl/nm-setting-connection.c:1159
 #: src/libnm-core-impl/nm-setting-connection.c:1202
-#: src/libnm-core-impl/nm-setting-connection.c:1454
+#: src/libnm-core-impl/nm-setting-connection.c:1468
 #: src/libnm-core-impl/nm-setting-gsm.c:298
 #: src/libnm-core-impl/nm-setting-gsm.c:353
 #: src/libnm-core-impl/nm-setting-gsm.c:396
@@ -1847,7 +1847,7 @@ msgstr "valor metrado %d não é válido"
 #: src/libnm-core-impl/nm-setting-connection.c:1351
 #: src/libnm-core-impl/nm-setting-connection.c:1365
 #: src/libnm-core-impl/nm-setting-connection.c:1379
-#: src/libnm-core-impl/nm-setting-connection.c:1440
+#: src/libnm-core-impl/nm-setting-connection.c:1454
 #, c-format
 msgid "value %d is not valid"
 msgstr "valor %d não é válido"
@@ -1856,42 +1856,46 @@ msgstr "valor %d não é válido"
 msgid "\"disabled\" flag cannot be combined with other MPTCP flags"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1409
+#: src/libnm-core-impl/nm-setting-connection.c:1411
+msgid "\"enabled\" and \"enabled-on-global-iface\" flag cannot be set together"
+msgstr ""
+
+#: src/libnm-core-impl/nm-setting-connection.c:1422
 msgid "cannot set both \"signal\" and \"fullmesh\" MPTCP flags"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1421
+#: src/libnm-core-impl/nm-setting-connection.c:1435
 #, fuzzy, c-format
 #| msgid "'%u' flags are not valid; use combination of %s"
 msgid "value %u is not a valid combination of MPTCP flags"
 msgstr "“%u†não são sinalizadores válidos; use a combinação de %s"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1468
+#: src/libnm-core-impl/nm-setting-connection.c:1482
 #, fuzzy
 msgid "DHCP option cannot be longer than 255 characters"
 msgstr "o nome da interface é maior que 15 caracteres"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1479
+#: src/libnm-core-impl/nm-setting-connection.c:1493
 #, fuzzy
 msgid "MUD URL is not a valid URL"
 msgstr "URI não é um UTF-8 válido"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1499
+#: src/libnm-core-impl/nm-setting-connection.c:1513
 #, fuzzy
 msgid "invalid permissions not in format \"user:$UNAME[:]\""
 msgstr "permissão inválida “%sâ€"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1528
+#: src/libnm-core-impl/nm-setting-connection.c:1542
 #, c-format
 msgid "property type should be set to '%s'"
 msgstr "tipo de propriedade deveria ser definida para “%sâ€"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1546
+#: src/libnm-core-impl/nm-setting-connection.c:1560
 #, c-format
 msgid "slave-type '%s' requires a '%s' setting in the connection"
 msgstr "tipo escravo “%s†requer uma definição “%s†na conexão"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1557
+#: src/libnm-core-impl/nm-setting-connection.c:1571
 #, c-format
 msgid ""
 "Detect a slave connection with '%s' set and a port type '%s'. '%s' should be "
@@ -1900,14 +1904,14 @@ msgstr ""
 "Detecta uma conexão escrava com “%s†definido e um tipo de porta “%sâ€. “%s†"
 "deveria ser definida para “%sâ€"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1583
+#: src/libnm-core-impl/nm-setting-connection.c:1597
 #, c-format
 msgid "A slave connection with '%s' set to '%s' cannot have a '%s' setting"
 msgstr ""
 "Uma conexão escrava com “%s†definido com “%s†não pode ter uma definição "
 "“%sâ€"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1600
+#: src/libnm-core-impl/nm-setting-connection.c:1614
 msgid "UUID needs normalization"
 msgstr ""
 
@@ -6133,29 +6137,25 @@ msgid ""
 "fc00::/7) and IPv6 privacy extension addresses (rfc3041, ipv6.ip6-privacy) "
 "will be excluded from being configured as endpoints. If \"disabled\" (0x1), "
 "MPTCP handling for the interface is disabled and no endpoints are "
-"registered. The \"enabled\" (0x2) flag means that MPTCP handling is enabled. "
-"This flag can also be implied from the presence of other flags. Even when "
-"enabled, MPTCP handling will by default still be disabled unless \"/proc/sys/"
-"net/mptcp/enabled\" sysctl is on. NetworkManager does not change the sysctl "
-"and this is up to the administrator or distribution. To configure endpoints "
-"even if the sysctl is disabled, \"also-without-sysctl\" (0x4) flag can be "
-"used. In that case, NetworkManager doesn't look at the sysctl and configures "
-"endpoints regardless. Even when enabled, NetworkManager will only configure "
-"MPTCP endpoints for a certain address family, if there is a unicast default "
-"route (0.0.0.0/0 or ::/0) in the main routing table. The flag \"also-without-"
-"default-route\" (0x8) can override that. When MPTCP handling is enabled then "
-"endpoints are configured with the specified address flags \"signal\" (0x10), "
-"\"subflow\" (0x20), \"backup\" (0x40), \"fullmesh\" (0x80). See ip-mptcp(8) "
-"manual for additional information about the flags. If the flags are zero "
-"(0x0), the global connection default from NetworkManager.conf is honored. If "
-"still unspecified, the fallback is \"enabled,subflow\". Note that this means "
-"that MPTCP is by default done depending on the \"/proc/sys/net/mptcp/"
-"enabled\" sysctl. NetworkManager does not change the MPTCP limits nor enable "
-"MPTCP via \"/proc/sys/net/mptcp/enabled\". That is a host configuration "
-"which the admin can change via sysctl and ip-mptcp. Strict reverse path "
-"filtering (rp_filter) breaks many MPTCP use cases, so when MPTCP handling "
-"for IPv4 addresses on the interface is enabled, NetworkManager would loosen "
-"the strict reverse path filtering (1) to the loose setting (2)."
+"registered. The flag \"enabled-on-global-iface\" (0x2) means that MPTCP "
+"handling is enabled if the interface configures a default route in the main "
+"routing table. This choice is per-address family, for example if there is an "
+"IPv4 default route 0.0.0.0/0, IPv4 endpoints are configured. The "
+"\"enabled\" (0x4) flag means that MPTCP handling is explicitly enabled. This "
+"flag can also be implied from the presence of other flags. If MPTCP handling "
+"is enabled, then endpoints will be configured with the specified address "
+"flags \"signal\" (0x10), \"subflow\" (0x20), \"backup\" (0x40), "
+"\"fullmesh\" (0x80). See ip-mptcp(8) manual for additional information about "
+"the flags. If the flags are zero, the global connection default from "
+"NetworkManager.conf is honored. If still unspecified, the fallback is either "
+"\"disabled\" or \"enabled-on-global-iface,subflow\" depending on \"/proc/sys/"
+"net/mptcp/enabled\". NetworkManager does not change the MPTCP limits nor "
+"enable MPTCP via \"/proc/sys/net/mptcp/enabled\". That is a host "
+"configuration which the admin can change via sysctl and ip-mptcp. Strict "
+"reverse path filtering (rp_filter) breaks many MPTCP use cases, so when "
+"MPTCP handling for IPv4 addresses on the interface is enabled, "
+"NetworkManager would loosen the strict reverse path filtering (1) to the "
+"loose setting (2)."
 msgstr ""
 
 #: src/libnmc-setting/settings-docs.h.in:18
@@ -7968,13 +7968,11 @@ msgstr ""
 #: src/libnmc-setting/settings-docs.h.in:200
 msgid ""
 "The gateway associated with this configuration. This is only meaningful if "
-"\"addresses\" is also set. Setting the gateway causes NetworkManager to "
-"configure a standard default route with the gateway as next hop. This is "
-"ignored if \"never-default\" is set. An alternative is to configure the "
-"default route explicitly with a manual route and /0 as prefix length. Note "
-"that the gateway usually conflicts with routing that NetworkManager "
-"configures for WireGuard interfaces, so usually it should not be set in that "
-"case. See \"ip4-auto-default-route\"."
+"\"addresses\" is also set. The gateway's main purpose is to control the next "
+"hop of the standard default route on the device. Hence, the gateway property "
+"conflicts with \"never-default\" and will be automatically dropped if the IP "
+"configuration is set to never-default. As an alternative to set the gateway, "
+"configure a static default route with /0 as prefix length."
 msgstr ""
 
 #: src/libnmc-setting/settings-docs.h.in:175
diff --git a/po/ro.po b/po/ro.po
index 245e8866..02a9ca2e 100644
--- a/po/ro.po
+++ b/po/ro.po
@@ -8,7 +8,7 @@ msgstr ""
 "Project-Id-Version: NetworkManager\n"
 "Report-Msgid-Bugs-To: https://gitlab.freedesktop.org/NetworkManager/"
 "NetworkManager/issues\n"
-"POT-Creation-Date: 2022-08-26 16:42+0200\n"
+"POT-Creation-Date: 2022-08-11 16:06-0300\n"
 "PO-Revision-Date: 2022-03-14 13:23+0000\n"
 "Last-Translator: Sergiu Bivol <sergiu@cip.md>\n"
 "Language-Team: Romanian <kde-i18n-ro@kde.org>\n"
@@ -1176,7 +1176,7 @@ msgstr "UUID neașteptat %s în loc de %s"
 #: src/libnm-core-impl/nm-setting-cdma.c:144
 #: src/libnm-core-impl/nm-setting-connection.c:1149
 #: src/libnm-core-impl/nm-setting-connection.c:1187
-#: src/libnm-core-impl/nm-setting-connection.c:1516
+#: src/libnm-core-impl/nm-setting-connection.c:1530
 #: src/libnm-core-impl/nm-setting-ip-config.c:5423
 #: src/libnm-core-impl/nm-setting-ip-tunnel.c:387
 #: src/libnm-core-impl/nm-setting-olpc-mesh.c:99
@@ -1517,7 +1517,7 @@ msgstr ""
 #: src/libnm-core-impl/nm-setting-cdma.c:159
 #: src/libnm-core-impl/nm-setting-connection.c:1159
 #: src/libnm-core-impl/nm-setting-connection.c:1202
-#: src/libnm-core-impl/nm-setting-connection.c:1454
+#: src/libnm-core-impl/nm-setting-connection.c:1468
 #: src/libnm-core-impl/nm-setting-gsm.c:298
 #: src/libnm-core-impl/nm-setting-gsm.c:353
 #: src/libnm-core-impl/nm-setting-gsm.c:396
@@ -1798,7 +1798,7 @@ msgstr "valoarea contorizată %d nu e validă"
 #: src/libnm-core-impl/nm-setting-connection.c:1351
 #: src/libnm-core-impl/nm-setting-connection.c:1365
 #: src/libnm-core-impl/nm-setting-connection.c:1379
-#: src/libnm-core-impl/nm-setting-connection.c:1440
+#: src/libnm-core-impl/nm-setting-connection.c:1454
 #, c-format
 msgid "value %d is not valid"
 msgstr "valoarea %d nu e validă"
@@ -1807,51 +1807,55 @@ msgstr "valoarea %d nu e validă"
 msgid "\"disabled\" flag cannot be combined with other MPTCP flags"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1409
+#: src/libnm-core-impl/nm-setting-connection.c:1411
+msgid "\"enabled\" and \"enabled-on-global-iface\" flag cannot be set together"
+msgstr ""
+
+#: src/libnm-core-impl/nm-setting-connection.c:1422
 msgid "cannot set both \"signal\" and \"fullmesh\" MPTCP flags"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1421
+#: src/libnm-core-impl/nm-setting-connection.c:1435
 #, fuzzy, c-format
 #| msgid "value is not a valid token"
 msgid "value %u is not a valid combination of MPTCP flags"
 msgstr "valoarea nu e un jeton valid"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1468
+#: src/libnm-core-impl/nm-setting-connection.c:1482
 msgid "DHCP option cannot be longer than 255 characters"
 msgstr "Opțiunea DHCP nu poate depăși 255 de caractere"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1479
+#: src/libnm-core-impl/nm-setting-connection.c:1493
 msgid "MUD URL is not a valid URL"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1499
+#: src/libnm-core-impl/nm-setting-connection.c:1513
 msgid "invalid permissions not in format \"user:$UNAME[:]\""
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1528
+#: src/libnm-core-impl/nm-setting-connection.c:1542
 #, c-format
 msgid "property type should be set to '%s'"
 msgstr "tipul proprietății trebuie iniÈ›ializat cu „%sâ€"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1546
+#: src/libnm-core-impl/nm-setting-connection.c:1560
 #, c-format
 msgid "slave-type '%s' requires a '%s' setting in the connection"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1557
+#: src/libnm-core-impl/nm-setting-connection.c:1571
 #, c-format
 msgid ""
 "Detect a slave connection with '%s' set and a port type '%s'. '%s' should be "
 "set to '%s'"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1583
+#: src/libnm-core-impl/nm-setting-connection.c:1597
 #, c-format
 msgid "A slave connection with '%s' set to '%s' cannot have a '%s' setting"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1600
+#: src/libnm-core-impl/nm-setting-connection.c:1614
 msgid "UUID needs normalization"
 msgstr "UUID-ul necesită normalizare"
 
@@ -5748,29 +5752,25 @@ msgid ""
 "fc00::/7) and IPv6 privacy extension addresses (rfc3041, ipv6.ip6-privacy) "
 "will be excluded from being configured as endpoints. If \"disabled\" (0x1), "
 "MPTCP handling for the interface is disabled and no endpoints are "
-"registered. The \"enabled\" (0x2) flag means that MPTCP handling is enabled. "
-"This flag can also be implied from the presence of other flags. Even when "
-"enabled, MPTCP handling will by default still be disabled unless \"/proc/sys/"
-"net/mptcp/enabled\" sysctl is on. NetworkManager does not change the sysctl "
-"and this is up to the administrator or distribution. To configure endpoints "
-"even if the sysctl is disabled, \"also-without-sysctl\" (0x4) flag can be "
-"used. In that case, NetworkManager doesn't look at the sysctl and configures "
-"endpoints regardless. Even when enabled, NetworkManager will only configure "
-"MPTCP endpoints for a certain address family, if there is a unicast default "
-"route (0.0.0.0/0 or ::/0) in the main routing table. The flag \"also-without-"
-"default-route\" (0x8) can override that. When MPTCP handling is enabled then "
-"endpoints are configured with the specified address flags \"signal\" (0x10), "
-"\"subflow\" (0x20), \"backup\" (0x40), \"fullmesh\" (0x80). See ip-mptcp(8) "
-"manual for additional information about the flags. If the flags are zero "
-"(0x0), the global connection default from NetworkManager.conf is honored. If "
-"still unspecified, the fallback is \"enabled,subflow\". Note that this means "
-"that MPTCP is by default done depending on the \"/proc/sys/net/mptcp/"
-"enabled\" sysctl. NetworkManager does not change the MPTCP limits nor enable "
-"MPTCP via \"/proc/sys/net/mptcp/enabled\". That is a host configuration "
-"which the admin can change via sysctl and ip-mptcp. Strict reverse path "
-"filtering (rp_filter) breaks many MPTCP use cases, so when MPTCP handling "
-"for IPv4 addresses on the interface is enabled, NetworkManager would loosen "
-"the strict reverse path filtering (1) to the loose setting (2)."
+"registered. The flag \"enabled-on-global-iface\" (0x2) means that MPTCP "
+"handling is enabled if the interface configures a default route in the main "
+"routing table. This choice is per-address family, for example if there is an "
+"IPv4 default route 0.0.0.0/0, IPv4 endpoints are configured. The "
+"\"enabled\" (0x4) flag means that MPTCP handling is explicitly enabled. This "
+"flag can also be implied from the presence of other flags. If MPTCP handling "
+"is enabled, then endpoints will be configured with the specified address "
+"flags \"signal\" (0x10), \"subflow\" (0x20), \"backup\" (0x40), "
+"\"fullmesh\" (0x80). See ip-mptcp(8) manual for additional information about "
+"the flags. If the flags are zero, the global connection default from "
+"NetworkManager.conf is honored. If still unspecified, the fallback is either "
+"\"disabled\" or \"enabled-on-global-iface,subflow\" depending on \"/proc/sys/"
+"net/mptcp/enabled\". NetworkManager does not change the MPTCP limits nor "
+"enable MPTCP via \"/proc/sys/net/mptcp/enabled\". That is a host "
+"configuration which the admin can change via sysctl and ip-mptcp. Strict "
+"reverse path filtering (rp_filter) breaks many MPTCP use cases, so when "
+"MPTCP handling for IPv4 addresses on the interface is enabled, "
+"NetworkManager would loosen the strict reverse path filtering (1) to the "
+"loose setting (2)."
 msgstr ""
 
 #: src/libnmc-setting/settings-docs.h.in:18
@@ -7004,13 +7004,11 @@ msgstr ""
 #: src/libnmc-setting/settings-docs.h.in:200
 msgid ""
 "The gateway associated with this configuration. This is only meaningful if "
-"\"addresses\" is also set. Setting the gateway causes NetworkManager to "
-"configure a standard default route with the gateway as next hop. This is "
-"ignored if \"never-default\" is set. An alternative is to configure the "
-"default route explicitly with a manual route and /0 as prefix length. Note "
-"that the gateway usually conflicts with routing that NetworkManager "
-"configures for WireGuard interfaces, so usually it should not be set in that "
-"case. See \"ip4-auto-default-route\"."
+"\"addresses\" is also set. The gateway's main purpose is to control the next "
+"hop of the standard default route on the device. Hence, the gateway property "
+"conflicts with \"never-default\" and will be automatically dropped if the IP "
+"configuration is set to never-default. As an alternative to set the gateway, "
+"configure a static default route with /0 as prefix length."
 msgstr ""
 
 #: src/libnmc-setting/settings-docs.h.in:175
diff --git a/po/ru.gmo b/po/ru.gmo
index 0a010dbd..88dabd04 100644
--- a/po/ru.gmo
+++ b/po/ru.gmo
Binary files differdiff --git a/po/ru.po b/po/ru.po
index d5cbb94b..733b899a 100644
--- a/po/ru.po
+++ b/po/ru.po
@@ -21,7 +21,7 @@ msgstr ""
 "Project-Id-Version: NetworkManager\n"
 "Report-Msgid-Bugs-To: https://gitlab.freedesktop.org/NetworkManager/"
 "NetworkManager/issues\n"
-"POT-Creation-Date: 2022-08-26 16:42+0200\n"
+"POT-Creation-Date: 2022-08-11 16:06-0300\n"
 "PO-Revision-Date: 2021-03-31 20:27+0300\n"
 "Last-Translator: Дронова Ю <juliette.tux@gmail.com>\n"
 "Language-Team: Russian <kde-i18n-doc@kde.org>\n"
@@ -1209,7 +1209,7 @@ msgstr "непредвиденный uuid %s вмеÑто %s"
 #: src/libnm-core-impl/nm-setting-cdma.c:144
 #: src/libnm-core-impl/nm-setting-connection.c:1149
 #: src/libnm-core-impl/nm-setting-connection.c:1187
-#: src/libnm-core-impl/nm-setting-connection.c:1516
+#: src/libnm-core-impl/nm-setting-connection.c:1530
 #: src/libnm-core-impl/nm-setting-ip-config.c:5423
 #: src/libnm-core-impl/nm-setting-ip-tunnel.c:387
 #: src/libnm-core-impl/nm-setting-olpc-mesh.c:99
@@ -1558,7 +1558,7 @@ msgstr "пароль не поддерживаетÑÑ, еÑли ÑертифиÐ
 #: src/libnm-core-impl/nm-setting-cdma.c:159
 #: src/libnm-core-impl/nm-setting-connection.c:1159
 #: src/libnm-core-impl/nm-setting-connection.c:1202
-#: src/libnm-core-impl/nm-setting-connection.c:1454
+#: src/libnm-core-impl/nm-setting-connection.c:1468
 #: src/libnm-core-impl/nm-setting-gsm.c:298
 #: src/libnm-core-impl/nm-setting-gsm.c:353
 #: src/libnm-core-impl/nm-setting-gsm.c:396
@@ -1845,7 +1845,7 @@ msgstr "недейÑтвительное лимитное значение %d"
 #: src/libnm-core-impl/nm-setting-connection.c:1351
 #: src/libnm-core-impl/nm-setting-connection.c:1365
 #: src/libnm-core-impl/nm-setting-connection.c:1379
-#: src/libnm-core-impl/nm-setting-connection.c:1440
+#: src/libnm-core-impl/nm-setting-connection.c:1454
 #, c-format
 msgid "value %d is not valid"
 msgstr "значение %d не ÑвлÑетÑÑ Ð´ÐµÐ¹Ñтвительным"
@@ -1854,40 +1854,44 @@ msgstr "значение %d не ÑвлÑетÑÑ Ð´ÐµÐ¹Ñтвительным"
 msgid "\"disabled\" flag cannot be combined with other MPTCP flags"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1409
+#: src/libnm-core-impl/nm-setting-connection.c:1411
+msgid "\"enabled\" and \"enabled-on-global-iface\" flag cannot be set together"
+msgstr ""
+
+#: src/libnm-core-impl/nm-setting-connection.c:1422
 msgid "cannot set both \"signal\" and \"fullmesh\" MPTCP flags"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1421
+#: src/libnm-core-impl/nm-setting-connection.c:1435
 #, fuzzy, c-format
 #| msgid "'%u' flags are not valid; use combination of %s"
 msgid "value %u is not a valid combination of MPTCP flags"
 msgstr "Флаги «%u» не ÑвлÑÑŽÑ‚ÑÑ Ð´Ð¾Ð¿ÑƒÑтимыми; иÑпользуйте Ñочетание %s"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1468
+#: src/libnm-core-impl/nm-setting-connection.c:1482
 msgid "DHCP option cannot be longer than 255 characters"
 msgstr "параметр DHCP не может превышать 255 Ñимволов"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1479
+#: src/libnm-core-impl/nm-setting-connection.c:1493
 msgid "MUD URL is not a valid URL"
 msgstr "MUD URL не ÑвлÑетÑÑ Ð´Ð¾Ð¿ÑƒÑтимым URL"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1499
+#: src/libnm-core-impl/nm-setting-connection.c:1513
 msgid "invalid permissions not in format \"user:$UNAME[:]\""
 msgstr "недопуÑтимые Ð¿Ð¾Ð»Ð½Ð¾Ð¼Ð¾Ñ‡Ð¸Ñ Ð½Ðµ в формате \"user:$UNAME[:]\""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1528
+#: src/libnm-core-impl/nm-setting-connection.c:1542
 #, c-format
 msgid "property type should be set to '%s'"
 msgstr "ÑвойÑтво должно иметь тип «%s»"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1546
+#: src/libnm-core-impl/nm-setting-connection.c:1560
 #, c-format
 msgid "slave-type '%s' requires a '%s' setting in the connection"
 msgstr ""
 "Ð´Ð»Ñ Ð¿Ð¾Ð´Ñ‡Ð¸Ð½Ñ‘Ð½Ð½Ð¾Ð³Ð¾ ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ Ñ‚Ð¸Ð¿Ð°  «%s» необходимо определить параметр «%s»"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1557
+#: src/libnm-core-impl/nm-setting-connection.c:1571
 #, c-format
 msgid ""
 "Detect a slave connection with '%s' set and a port type '%s'. '%s' should be "
@@ -1896,14 +1900,14 @@ msgstr ""
 "Определить подчинённое Ñоединение Ñ ÑƒÑтановленным «%s» и типом порта  «%s».  "
 "«%s» должно иметь значение  «%s»."
 
-#: src/libnm-core-impl/nm-setting-connection.c:1583
+#: src/libnm-core-impl/nm-setting-connection.c:1597
 #, c-format
 msgid "A slave connection with '%s' set to '%s' cannot have a '%s' setting"
 msgstr ""
 "Подчинённое подключение Ñо значением '%s' Ð´Ð»Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð° '%s'не может иметь "
 "параметр '%s'"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1600
+#: src/libnm-core-impl/nm-setting-connection.c:1614
 msgid "UUID needs normalization"
 msgstr ""
 
@@ -6122,29 +6126,25 @@ msgid ""
 "fc00::/7) and IPv6 privacy extension addresses (rfc3041, ipv6.ip6-privacy) "
 "will be excluded from being configured as endpoints. If \"disabled\" (0x1), "
 "MPTCP handling for the interface is disabled and no endpoints are "
-"registered. The \"enabled\" (0x2) flag means that MPTCP handling is enabled. "
-"This flag can also be implied from the presence of other flags. Even when "
-"enabled, MPTCP handling will by default still be disabled unless \"/proc/sys/"
-"net/mptcp/enabled\" sysctl is on. NetworkManager does not change the sysctl "
-"and this is up to the administrator or distribution. To configure endpoints "
-"even if the sysctl is disabled, \"also-without-sysctl\" (0x4) flag can be "
-"used. In that case, NetworkManager doesn't look at the sysctl and configures "
-"endpoints regardless. Even when enabled, NetworkManager will only configure "
-"MPTCP endpoints for a certain address family, if there is a unicast default "
-"route (0.0.0.0/0 or ::/0) in the main routing table. The flag \"also-without-"
-"default-route\" (0x8) can override that. When MPTCP handling is enabled then "
-"endpoints are configured with the specified address flags \"signal\" (0x10), "
-"\"subflow\" (0x20), \"backup\" (0x40), \"fullmesh\" (0x80). See ip-mptcp(8) "
-"manual for additional information about the flags. If the flags are zero "
-"(0x0), the global connection default from NetworkManager.conf is honored. If "
-"still unspecified, the fallback is \"enabled,subflow\". Note that this means "
-"that MPTCP is by default done depending on the \"/proc/sys/net/mptcp/"
-"enabled\" sysctl. NetworkManager does not change the MPTCP limits nor enable "
-"MPTCP via \"/proc/sys/net/mptcp/enabled\". That is a host configuration "
-"which the admin can change via sysctl and ip-mptcp. Strict reverse path "
-"filtering (rp_filter) breaks many MPTCP use cases, so when MPTCP handling "
-"for IPv4 addresses on the interface is enabled, NetworkManager would loosen "
-"the strict reverse path filtering (1) to the loose setting (2)."
+"registered. The flag \"enabled-on-global-iface\" (0x2) means that MPTCP "
+"handling is enabled if the interface configures a default route in the main "
+"routing table. This choice is per-address family, for example if there is an "
+"IPv4 default route 0.0.0.0/0, IPv4 endpoints are configured. The "
+"\"enabled\" (0x4) flag means that MPTCP handling is explicitly enabled. This "
+"flag can also be implied from the presence of other flags. If MPTCP handling "
+"is enabled, then endpoints will be configured with the specified address "
+"flags \"signal\" (0x10), \"subflow\" (0x20), \"backup\" (0x40), "
+"\"fullmesh\" (0x80). See ip-mptcp(8) manual for additional information about "
+"the flags. If the flags are zero, the global connection default from "
+"NetworkManager.conf is honored. If still unspecified, the fallback is either "
+"\"disabled\" or \"enabled-on-global-iface,subflow\" depending on \"/proc/sys/"
+"net/mptcp/enabled\". NetworkManager does not change the MPTCP limits nor "
+"enable MPTCP via \"/proc/sys/net/mptcp/enabled\". That is a host "
+"configuration which the admin can change via sysctl and ip-mptcp. Strict "
+"reverse path filtering (rp_filter) breaks many MPTCP use cases, so when "
+"MPTCP handling for IPv4 addresses on the interface is enabled, "
+"NetworkManager would loosen the strict reverse path filtering (1) to the "
+"loose setting (2)."
 msgstr ""
 
 #: src/libnmc-setting/settings-docs.h.in:18
@@ -8091,24 +8091,13 @@ msgstr ""
 
 #: src/libnmc-setting/settings-docs.h.in:174
 #: src/libnmc-setting/settings-docs.h.in:200
-#, fuzzy
-#| msgid ""
-#| "The gateway associated with this configuration. This is only meaningful "
-#| "if \"addresses\" is also set. The gateway's main purpose is to control "
-#| "the next hop of the standard default route on the device. Hence, the "
-#| "gateway property conflicts with \"never-default\" and will be "
-#| "automatically dropped if the IP configuration is set to never-default. As "
-#| "an alternative to set the gateway, configure a static default route "
-#| "with /0 as prefix length."
 msgid ""
 "The gateway associated with this configuration. This is only meaningful if "
-"\"addresses\" is also set. Setting the gateway causes NetworkManager to "
-"configure a standard default route with the gateway as next hop. This is "
-"ignored if \"never-default\" is set. An alternative is to configure the "
-"default route explicitly with a manual route and /0 as prefix length. Note "
-"that the gateway usually conflicts with routing that NetworkManager "
-"configures for WireGuard interfaces, so usually it should not be set in that "
-"case. See \"ip4-auto-default-route\"."
+"\"addresses\" is also set. The gateway's main purpose is to control the next "
+"hop of the standard default route on the device. Hence, the gateway property "
+"conflicts with \"never-default\" and will be automatically dropped if the IP "
+"configuration is set to never-default. As an alternative to set the gateway, "
+"configure a static default route with /0 as prefix length."
 msgstr ""
 "Шлюз, ÑвÑзанный Ñ Ñтой конфигурацией. Имеет значение только при указанном "
 "параметре \"addresses\". Главное назначение шлюза — контроль Ñледующего "
diff --git a/po/rw.po b/po/rw.po
index f2751a55..60c456e8 100644
--- a/po/rw.po
+++ b/po/rw.po
@@ -16,7 +16,7 @@ msgstr ""
 "Project-Id-Version: NetworkManager\n"
 "Report-Msgid-Bugs-To: https://gitlab.freedesktop.org/NetworkManager/"
 "NetworkManager/issues\n"
-"POT-Creation-Date: 2022-08-26 16:42+0200\n"
+"POT-Creation-Date: 2022-08-11 16:06-0300\n"
 "PO-Revision-Date: 2005-03-31 20:55-0700\n"
 "Last-Translator: Steve Murphy <murf@e-tools.com>\n"
 "Language-Team: Kinyarwanda <translation-team-rw@lists.sourceforge.net>\n"
@@ -1193,7 +1193,7 @@ msgstr ""
 #: src/libnm-core-impl/nm-setting-cdma.c:144
 #: src/libnm-core-impl/nm-setting-connection.c:1149
 #: src/libnm-core-impl/nm-setting-connection.c:1187
-#: src/libnm-core-impl/nm-setting-connection.c:1516
+#: src/libnm-core-impl/nm-setting-connection.c:1530
 #: src/libnm-core-impl/nm-setting-ip-config.c:5423
 #: src/libnm-core-impl/nm-setting-ip-tunnel.c:387
 #: src/libnm-core-impl/nm-setting-olpc-mesh.c:99
@@ -1536,7 +1536,7 @@ msgstr ""
 #: src/libnm-core-impl/nm-setting-cdma.c:159
 #: src/libnm-core-impl/nm-setting-connection.c:1159
 #: src/libnm-core-impl/nm-setting-connection.c:1202
-#: src/libnm-core-impl/nm-setting-connection.c:1454
+#: src/libnm-core-impl/nm-setting-connection.c:1468
 #: src/libnm-core-impl/nm-setting-gsm.c:298
 #: src/libnm-core-impl/nm-setting-gsm.c:353
 #: src/libnm-core-impl/nm-setting-gsm.c:396
@@ -1819,7 +1819,7 @@ msgstr ""
 #: src/libnm-core-impl/nm-setting-connection.c:1351
 #: src/libnm-core-impl/nm-setting-connection.c:1365
 #: src/libnm-core-impl/nm-setting-connection.c:1379
-#: src/libnm-core-impl/nm-setting-connection.c:1440
+#: src/libnm-core-impl/nm-setting-connection.c:1454
 #, fuzzy, c-format
 msgid "value %d is not valid"
 msgstr "(Sibyo"
@@ -1828,52 +1828,56 @@ msgstr "(Sibyo"
 msgid "\"disabled\" flag cannot be combined with other MPTCP flags"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1409
+#: src/libnm-core-impl/nm-setting-connection.c:1411
+msgid "\"enabled\" and \"enabled-on-global-iface\" flag cannot be set together"
+msgstr ""
+
+#: src/libnm-core-impl/nm-setting-connection.c:1422
 msgid "cannot set both \"signal\" and \"fullmesh\" MPTCP flags"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1421
+#: src/libnm-core-impl/nm-setting-connection.c:1435
 #, c-format
 msgid "value %u is not a valid combination of MPTCP flags"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1468
+#: src/libnm-core-impl/nm-setting-connection.c:1482
 msgid "DHCP option cannot be longer than 255 characters"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1479
+#: src/libnm-core-impl/nm-setting-connection.c:1493
 #, fuzzy
 msgid "MUD URL is not a valid URL"
 msgstr "(Sibyo"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1499
+#: src/libnm-core-impl/nm-setting-connection.c:1513
 #, fuzzy
 msgid "invalid permissions not in format \"user:$UNAME[:]\""
 msgstr "(Sibyo"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1528
+#: src/libnm-core-impl/nm-setting-connection.c:1542
 #, c-format
 msgid "property type should be set to '%s'"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1546
+#: src/libnm-core-impl/nm-setting-connection.c:1560
 #, c-format
 msgid "slave-type '%s' requires a '%s' setting in the connection"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1557
+#: src/libnm-core-impl/nm-setting-connection.c:1571
 #, c-format
 msgid ""
 "Detect a slave connection with '%s' set and a port type '%s'. '%s' should be "
 "set to '%s'"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1583
+#: src/libnm-core-impl/nm-setting-connection.c:1597
 #, c-format
 msgid "A slave connection with '%s' set to '%s' cannot have a '%s' setting"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1600
+#: src/libnm-core-impl/nm-setting-connection.c:1614
 msgid "UUID needs normalization"
 msgstr ""
 
@@ -5833,29 +5837,25 @@ msgid ""
 "fc00::/7) and IPv6 privacy extension addresses (rfc3041, ipv6.ip6-privacy) "
 "will be excluded from being configured as endpoints. If \"disabled\" (0x1), "
 "MPTCP handling for the interface is disabled and no endpoints are "
-"registered. The \"enabled\" (0x2) flag means that MPTCP handling is enabled. "
-"This flag can also be implied from the presence of other flags. Even when "
-"enabled, MPTCP handling will by default still be disabled unless \"/proc/sys/"
-"net/mptcp/enabled\" sysctl is on. NetworkManager does not change the sysctl "
-"and this is up to the administrator or distribution. To configure endpoints "
-"even if the sysctl is disabled, \"also-without-sysctl\" (0x4) flag can be "
-"used. In that case, NetworkManager doesn't look at the sysctl and configures "
-"endpoints regardless. Even when enabled, NetworkManager will only configure "
-"MPTCP endpoints for a certain address family, if there is a unicast default "
-"route (0.0.0.0/0 or ::/0) in the main routing table. The flag \"also-without-"
-"default-route\" (0x8) can override that. When MPTCP handling is enabled then "
-"endpoints are configured with the specified address flags \"signal\" (0x10), "
-"\"subflow\" (0x20), \"backup\" (0x40), \"fullmesh\" (0x80). See ip-mptcp(8) "
-"manual for additional information about the flags. If the flags are zero "
-"(0x0), the global connection default from NetworkManager.conf is honored. If "
-"still unspecified, the fallback is \"enabled,subflow\". Note that this means "
-"that MPTCP is by default done depending on the \"/proc/sys/net/mptcp/"
-"enabled\" sysctl. NetworkManager does not change the MPTCP limits nor enable "
-"MPTCP via \"/proc/sys/net/mptcp/enabled\". That is a host configuration "
-"which the admin can change via sysctl and ip-mptcp. Strict reverse path "
-"filtering (rp_filter) breaks many MPTCP use cases, so when MPTCP handling "
-"for IPv4 addresses on the interface is enabled, NetworkManager would loosen "
-"the strict reverse path filtering (1) to the loose setting (2)."
+"registered. The flag \"enabled-on-global-iface\" (0x2) means that MPTCP "
+"handling is enabled if the interface configures a default route in the main "
+"routing table. This choice is per-address family, for example if there is an "
+"IPv4 default route 0.0.0.0/0, IPv4 endpoints are configured. The "
+"\"enabled\" (0x4) flag means that MPTCP handling is explicitly enabled. This "
+"flag can also be implied from the presence of other flags. If MPTCP handling "
+"is enabled, then endpoints will be configured with the specified address "
+"flags \"signal\" (0x10), \"subflow\" (0x20), \"backup\" (0x40), "
+"\"fullmesh\" (0x80). See ip-mptcp(8) manual for additional information about "
+"the flags. If the flags are zero, the global connection default from "
+"NetworkManager.conf is honored. If still unspecified, the fallback is either "
+"\"disabled\" or \"enabled-on-global-iface,subflow\" depending on \"/proc/sys/"
+"net/mptcp/enabled\". NetworkManager does not change the MPTCP limits nor "
+"enable MPTCP via \"/proc/sys/net/mptcp/enabled\". That is a host "
+"configuration which the admin can change via sysctl and ip-mptcp. Strict "
+"reverse path filtering (rp_filter) breaks many MPTCP use cases, so when "
+"MPTCP handling for IPv4 addresses on the interface is enabled, "
+"NetworkManager would loosen the strict reverse path filtering (1) to the "
+"loose setting (2)."
 msgstr ""
 
 #: src/libnmc-setting/settings-docs.h.in:18
@@ -7092,13 +7092,11 @@ msgstr ""
 #: src/libnmc-setting/settings-docs.h.in:200
 msgid ""
 "The gateway associated with this configuration. This is only meaningful if "
-"\"addresses\" is also set. Setting the gateway causes NetworkManager to "
-"configure a standard default route with the gateway as next hop. This is "
-"ignored if \"never-default\" is set. An alternative is to configure the "
-"default route explicitly with a manual route and /0 as prefix length. Note "
-"that the gateway usually conflicts with routing that NetworkManager "
-"configures for WireGuard interfaces, so usually it should not be set in that "
-"case. See \"ip4-auto-default-route\"."
+"\"addresses\" is also set. The gateway's main purpose is to control the next "
+"hop of the standard default route on the device. Hence, the gateway property "
+"conflicts with \"never-default\" and will be automatically dropped if the IP "
+"configuration is set to never-default. As an alternative to set the gateway, "
+"configure a static default route with /0 as prefix length."
 msgstr ""
 
 #: src/libnmc-setting/settings-docs.h.in:175
diff --git a/po/sk.po b/po/sk.po
index 8ce1fc90..d3ef9331 100644
--- a/po/sk.po
+++ b/po/sk.po
@@ -12,7 +12,7 @@ msgstr ""
 "Project-Id-Version: NetworkManager\n"
 "Report-Msgid-Bugs-To: https://gitlab.freedesktop.org/NetworkManager/"
 "NetworkManager/issues\n"
-"POT-Creation-Date: 2022-08-26 16:42+0200\n"
+"POT-Creation-Date: 2022-08-11 16:06-0300\n"
 "PO-Revision-Date: 2019-05-15 16:46+0200\n"
 "Last-Translator: Jose Riha <jose1711@gmail.com>\n"
 "Language-Team: Slovak <sk-i18n@lists.linux.sk>\n"
@@ -1197,7 +1197,7 @@ msgstr ""
 #: src/libnm-core-impl/nm-setting-cdma.c:144
 #: src/libnm-core-impl/nm-setting-connection.c:1149
 #: src/libnm-core-impl/nm-setting-connection.c:1187
-#: src/libnm-core-impl/nm-setting-connection.c:1516
+#: src/libnm-core-impl/nm-setting-connection.c:1530
 #: src/libnm-core-impl/nm-setting-ip-config.c:5423
 #: src/libnm-core-impl/nm-setting-ip-tunnel.c:387
 #: src/libnm-core-impl/nm-setting-olpc-mesh.c:99
@@ -1539,7 +1539,7 @@ msgstr ""
 #: src/libnm-core-impl/nm-setting-cdma.c:159
 #: src/libnm-core-impl/nm-setting-connection.c:1159
 #: src/libnm-core-impl/nm-setting-connection.c:1202
-#: src/libnm-core-impl/nm-setting-connection.c:1454
+#: src/libnm-core-impl/nm-setting-connection.c:1468
 #: src/libnm-core-impl/nm-setting-gsm.c:298
 #: src/libnm-core-impl/nm-setting-gsm.c:353
 #: src/libnm-core-impl/nm-setting-gsm.c:396
@@ -1825,7 +1825,7 @@ msgstr ""
 #: src/libnm-core-impl/nm-setting-connection.c:1351
 #: src/libnm-core-impl/nm-setting-connection.c:1365
 #: src/libnm-core-impl/nm-setting-connection.c:1379
-#: src/libnm-core-impl/nm-setting-connection.c:1440
+#: src/libnm-core-impl/nm-setting-connection.c:1454
 #, c-format
 msgid "value %d is not valid"
 msgstr ""
@@ -1834,52 +1834,56 @@ msgstr ""
 msgid "\"disabled\" flag cannot be combined with other MPTCP flags"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1409
+#: src/libnm-core-impl/nm-setting-connection.c:1411
+msgid "\"enabled\" and \"enabled-on-global-iface\" flag cannot be set together"
+msgstr ""
+
+#: src/libnm-core-impl/nm-setting-connection.c:1422
 msgid "cannot set both \"signal\" and \"fullmesh\" MPTCP flags"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1421
+#: src/libnm-core-impl/nm-setting-connection.c:1435
 #, c-format
 msgid "value %u is not a valid combination of MPTCP flags"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1468
+#: src/libnm-core-impl/nm-setting-connection.c:1482
 msgid "DHCP option cannot be longer than 255 characters"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1479
+#: src/libnm-core-impl/nm-setting-connection.c:1493
 #, fuzzy
 msgid "MUD URL is not a valid URL"
 msgstr "nesprávna adresa IP: %s"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1499
+#: src/libnm-core-impl/nm-setting-connection.c:1513
 #, fuzzy
 msgid "invalid permissions not in format \"user:$UNAME[:]\""
 msgstr "nesprávna smerová adresa '%s'"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1528
+#: src/libnm-core-impl/nm-setting-connection.c:1542
 #, c-format
 msgid "property type should be set to '%s'"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1546
+#: src/libnm-core-impl/nm-setting-connection.c:1560
 #, c-format
 msgid "slave-type '%s' requires a '%s' setting in the connection"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1557
+#: src/libnm-core-impl/nm-setting-connection.c:1571
 #, c-format
 msgid ""
 "Detect a slave connection with '%s' set and a port type '%s'. '%s' should be "
 "set to '%s'"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1583
+#: src/libnm-core-impl/nm-setting-connection.c:1597
 #, c-format
 msgid "A slave connection with '%s' set to '%s' cannot have a '%s' setting"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1600
+#: src/libnm-core-impl/nm-setting-connection.c:1614
 msgid "UUID needs normalization"
 msgstr ""
 
@@ -5826,29 +5830,25 @@ msgid ""
 "fc00::/7) and IPv6 privacy extension addresses (rfc3041, ipv6.ip6-privacy) "
 "will be excluded from being configured as endpoints. If \"disabled\" (0x1), "
 "MPTCP handling for the interface is disabled and no endpoints are "
-"registered. The \"enabled\" (0x2) flag means that MPTCP handling is enabled. "
-"This flag can also be implied from the presence of other flags. Even when "
-"enabled, MPTCP handling will by default still be disabled unless \"/proc/sys/"
-"net/mptcp/enabled\" sysctl is on. NetworkManager does not change the sysctl "
-"and this is up to the administrator or distribution. To configure endpoints "
-"even if the sysctl is disabled, \"also-without-sysctl\" (0x4) flag can be "
-"used. In that case, NetworkManager doesn't look at the sysctl and configures "
-"endpoints regardless. Even when enabled, NetworkManager will only configure "
-"MPTCP endpoints for a certain address family, if there is a unicast default "
-"route (0.0.0.0/0 or ::/0) in the main routing table. The flag \"also-without-"
-"default-route\" (0x8) can override that. When MPTCP handling is enabled then "
-"endpoints are configured with the specified address flags \"signal\" (0x10), "
-"\"subflow\" (0x20), \"backup\" (0x40), \"fullmesh\" (0x80). See ip-mptcp(8) "
-"manual for additional information about the flags. If the flags are zero "
-"(0x0), the global connection default from NetworkManager.conf is honored. If "
-"still unspecified, the fallback is \"enabled,subflow\". Note that this means "
-"that MPTCP is by default done depending on the \"/proc/sys/net/mptcp/"
-"enabled\" sysctl. NetworkManager does not change the MPTCP limits nor enable "
-"MPTCP via \"/proc/sys/net/mptcp/enabled\". That is a host configuration "
-"which the admin can change via sysctl and ip-mptcp. Strict reverse path "
-"filtering (rp_filter) breaks many MPTCP use cases, so when MPTCP handling "
-"for IPv4 addresses on the interface is enabled, NetworkManager would loosen "
-"the strict reverse path filtering (1) to the loose setting (2)."
+"registered. The flag \"enabled-on-global-iface\" (0x2) means that MPTCP "
+"handling is enabled if the interface configures a default route in the main "
+"routing table. This choice is per-address family, for example if there is an "
+"IPv4 default route 0.0.0.0/0, IPv4 endpoints are configured. The "
+"\"enabled\" (0x4) flag means that MPTCP handling is explicitly enabled. This "
+"flag can also be implied from the presence of other flags. If MPTCP handling "
+"is enabled, then endpoints will be configured with the specified address "
+"flags \"signal\" (0x10), \"subflow\" (0x20), \"backup\" (0x40), "
+"\"fullmesh\" (0x80). See ip-mptcp(8) manual for additional information about "
+"the flags. If the flags are zero, the global connection default from "
+"NetworkManager.conf is honored. If still unspecified, the fallback is either "
+"\"disabled\" or \"enabled-on-global-iface,subflow\" depending on \"/proc/sys/"
+"net/mptcp/enabled\". NetworkManager does not change the MPTCP limits nor "
+"enable MPTCP via \"/proc/sys/net/mptcp/enabled\". That is a host "
+"configuration which the admin can change via sysctl and ip-mptcp. Strict "
+"reverse path filtering (rp_filter) breaks many MPTCP use cases, so when "
+"MPTCP handling for IPv4 addresses on the interface is enabled, "
+"NetworkManager would loosen the strict reverse path filtering (1) to the "
+"loose setting (2)."
 msgstr ""
 
 #: src/libnmc-setting/settings-docs.h.in:18
@@ -7082,13 +7082,11 @@ msgstr ""
 #: src/libnmc-setting/settings-docs.h.in:200
 msgid ""
 "The gateway associated with this configuration. This is only meaningful if "
-"\"addresses\" is also set. Setting the gateway causes NetworkManager to "
-"configure a standard default route with the gateway as next hop. This is "
-"ignored if \"never-default\" is set. An alternative is to configure the "
-"default route explicitly with a manual route and /0 as prefix length. Note "
-"that the gateway usually conflicts with routing that NetworkManager "
-"configures for WireGuard interfaces, so usually it should not be set in that "
-"case. See \"ip4-auto-default-route\"."
+"\"addresses\" is also set. The gateway's main purpose is to control the next "
+"hop of the standard default route on the device. Hence, the gateway property "
+"conflicts with \"never-default\" and will be automatically dropped if the IP "
+"configuration is set to never-default. As an alternative to set the gateway, "
+"configure a static default route with /0 as prefix length."
 msgstr ""
 
 #: src/libnmc-setting/settings-docs.h.in:175
diff --git a/po/sl.po b/po/sl.po
index 4941ccea..233333a5 100644
--- a/po/sl.po
+++ b/po/sl.po
@@ -12,7 +12,7 @@ msgstr ""
 "Project-Id-Version: NetworkManager\n"
 "Report-Msgid-Bugs-To: https://gitlab.freedesktop.org/NetworkManager/"
 "NetworkManager/issues\n"
-"POT-Creation-Date: 2022-08-26 16:42+0200\n"
+"POT-Creation-Date: 2022-08-11 16:06-0300\n"
 "PO-Revision-Date: 2017-04-21 06:11-0400\n"
 "Last-Translator: Copied by Zanata <copied-by-zanata@zanata.org>\n"
 "Language-Team: Slovenian GNOME Translation Team <gnome-si@googlegroups.com>\n"
@@ -1243,7 +1243,7 @@ msgstr ""
 #: src/libnm-core-impl/nm-setting-cdma.c:144
 #: src/libnm-core-impl/nm-setting-connection.c:1149
 #: src/libnm-core-impl/nm-setting-connection.c:1187
-#: src/libnm-core-impl/nm-setting-connection.c:1516
+#: src/libnm-core-impl/nm-setting-connection.c:1530
 #: src/libnm-core-impl/nm-setting-ip-config.c:5423
 #: src/libnm-core-impl/nm-setting-ip-tunnel.c:387
 #: src/libnm-core-impl/nm-setting-olpc-mesh.c:99
@@ -1587,7 +1587,7 @@ msgstr ""
 #: src/libnm-core-impl/nm-setting-cdma.c:159
 #: src/libnm-core-impl/nm-setting-connection.c:1159
 #: src/libnm-core-impl/nm-setting-connection.c:1202
-#: src/libnm-core-impl/nm-setting-connection.c:1454
+#: src/libnm-core-impl/nm-setting-connection.c:1468
 #: src/libnm-core-impl/nm-setting-gsm.c:298
 #: src/libnm-core-impl/nm-setting-gsm.c:353
 #: src/libnm-core-impl/nm-setting-gsm.c:396
@@ -1874,7 +1874,7 @@ msgstr "Napaka: vrednost Äasovne omejitve '%s' ni veljavna."
 #: src/libnm-core-impl/nm-setting-connection.c:1351
 #: src/libnm-core-impl/nm-setting-connection.c:1365
 #: src/libnm-core-impl/nm-setting-connection.c:1379
-#: src/libnm-core-impl/nm-setting-connection.c:1440
+#: src/libnm-core-impl/nm-setting-connection.c:1454
 #, fuzzy, c-format
 msgid "value %d is not valid"
 msgstr "Napaka: vrednost Äasovne omejitve '%s' ni veljavna."
@@ -1883,52 +1883,56 @@ msgstr "Napaka: vrednost Äasovne omejitve '%s' ni veljavna."
 msgid "\"disabled\" flag cannot be combined with other MPTCP flags"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1409
+#: src/libnm-core-impl/nm-setting-connection.c:1411
+msgid "\"enabled\" and \"enabled-on-global-iface\" flag cannot be set together"
+msgstr ""
+
+#: src/libnm-core-impl/nm-setting-connection.c:1422
 msgid "cannot set both \"signal\" and \"fullmesh\" MPTCP flags"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1421
+#: src/libnm-core-impl/nm-setting-connection.c:1435
 #, fuzzy, c-format
 msgid "value %u is not a valid combination of MPTCP flags"
 msgstr "Napaka: vrednost Äasovne omejitve '%s' ni veljavna."
 
-#: src/libnm-core-impl/nm-setting-connection.c:1468
+#: src/libnm-core-impl/nm-setting-connection.c:1482
 msgid "DHCP option cannot be longer than 255 characters"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1479
+#: src/libnm-core-impl/nm-setting-connection.c:1493
 #, fuzzy
 msgid "MUD URL is not a valid URL"
 msgstr "Napaka: ukaz 'nm' '%s' ni veljaven"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1499
+#: src/libnm-core-impl/nm-setting-connection.c:1513
 #, fuzzy
 msgid "invalid permissions not in format \"user:$UNAME[:]\""
 msgstr "neveljavno polje '%s'"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1528
+#: src/libnm-core-impl/nm-setting-connection.c:1542
 #, c-format
 msgid "property type should be set to '%s'"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1546
+#: src/libnm-core-impl/nm-setting-connection.c:1560
 #, c-format
 msgid "slave-type '%s' requires a '%s' setting in the connection"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1557
+#: src/libnm-core-impl/nm-setting-connection.c:1571
 #, c-format
 msgid ""
 "Detect a slave connection with '%s' set and a port type '%s'. '%s' should be "
 "set to '%s'"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1583
+#: src/libnm-core-impl/nm-setting-connection.c:1597
 #, c-format
 msgid "A slave connection with '%s' set to '%s' cannot have a '%s' setting"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1600
+#: src/libnm-core-impl/nm-setting-connection.c:1614
 msgid "UUID needs normalization"
 msgstr ""
 
@@ -5920,29 +5924,25 @@ msgid ""
 "fc00::/7) and IPv6 privacy extension addresses (rfc3041, ipv6.ip6-privacy) "
 "will be excluded from being configured as endpoints. If \"disabled\" (0x1), "
 "MPTCP handling for the interface is disabled and no endpoints are "
-"registered. The \"enabled\" (0x2) flag means that MPTCP handling is enabled. "
-"This flag can also be implied from the presence of other flags. Even when "
-"enabled, MPTCP handling will by default still be disabled unless \"/proc/sys/"
-"net/mptcp/enabled\" sysctl is on. NetworkManager does not change the sysctl "
-"and this is up to the administrator or distribution. To configure endpoints "
-"even if the sysctl is disabled, \"also-without-sysctl\" (0x4) flag can be "
-"used. In that case, NetworkManager doesn't look at the sysctl and configures "
-"endpoints regardless. Even when enabled, NetworkManager will only configure "
-"MPTCP endpoints for a certain address family, if there is a unicast default "
-"route (0.0.0.0/0 or ::/0) in the main routing table. The flag \"also-without-"
-"default-route\" (0x8) can override that. When MPTCP handling is enabled then "
-"endpoints are configured with the specified address flags \"signal\" (0x10), "
-"\"subflow\" (0x20), \"backup\" (0x40), \"fullmesh\" (0x80). See ip-mptcp(8) "
-"manual for additional information about the flags. If the flags are zero "
-"(0x0), the global connection default from NetworkManager.conf is honored. If "
-"still unspecified, the fallback is \"enabled,subflow\". Note that this means "
-"that MPTCP is by default done depending on the \"/proc/sys/net/mptcp/"
-"enabled\" sysctl. NetworkManager does not change the MPTCP limits nor enable "
-"MPTCP via \"/proc/sys/net/mptcp/enabled\". That is a host configuration "
-"which the admin can change via sysctl and ip-mptcp. Strict reverse path "
-"filtering (rp_filter) breaks many MPTCP use cases, so when MPTCP handling "
-"for IPv4 addresses on the interface is enabled, NetworkManager would loosen "
-"the strict reverse path filtering (1) to the loose setting (2)."
+"registered. The flag \"enabled-on-global-iface\" (0x2) means that MPTCP "
+"handling is enabled if the interface configures a default route in the main "
+"routing table. This choice is per-address family, for example if there is an "
+"IPv4 default route 0.0.0.0/0, IPv4 endpoints are configured. The "
+"\"enabled\" (0x4) flag means that MPTCP handling is explicitly enabled. This "
+"flag can also be implied from the presence of other flags. If MPTCP handling "
+"is enabled, then endpoints will be configured with the specified address "
+"flags \"signal\" (0x10), \"subflow\" (0x20), \"backup\" (0x40), "
+"\"fullmesh\" (0x80). See ip-mptcp(8) manual for additional information about "
+"the flags. If the flags are zero, the global connection default from "
+"NetworkManager.conf is honored. If still unspecified, the fallback is either "
+"\"disabled\" or \"enabled-on-global-iface,subflow\" depending on \"/proc/sys/"
+"net/mptcp/enabled\". NetworkManager does not change the MPTCP limits nor "
+"enable MPTCP via \"/proc/sys/net/mptcp/enabled\". That is a host "
+"configuration which the admin can change via sysctl and ip-mptcp. Strict "
+"reverse path filtering (rp_filter) breaks many MPTCP use cases, so when "
+"MPTCP handling for IPv4 addresses on the interface is enabled, "
+"NetworkManager would loosen the strict reverse path filtering (1) to the "
+"loose setting (2)."
 msgstr ""
 
 #: src/libnmc-setting/settings-docs.h.in:18
@@ -7176,13 +7176,11 @@ msgstr ""
 #: src/libnmc-setting/settings-docs.h.in:200
 msgid ""
 "The gateway associated with this configuration. This is only meaningful if "
-"\"addresses\" is also set. Setting the gateway causes NetworkManager to "
-"configure a standard default route with the gateway as next hop. This is "
-"ignored if \"never-default\" is set. An alternative is to configure the "
-"default route explicitly with a manual route and /0 as prefix length. Note "
-"that the gateway usually conflicts with routing that NetworkManager "
-"configures for WireGuard interfaces, so usually it should not be set in that "
-"case. See \"ip4-auto-default-route\"."
+"\"addresses\" is also set. The gateway's main purpose is to control the next "
+"hop of the standard default route on the device. Hence, the gateway property "
+"conflicts with \"never-default\" and will be automatically dropped if the IP "
+"configuration is set to never-default. As an alternative to set the gateway, "
+"configure a static default route with /0 as prefix length."
 msgstr ""
 
 #: src/libnmc-setting/settings-docs.h.in:175
diff --git a/po/sq.po b/po/sq.po
index b2c81e78..253f1c79 100644
--- a/po/sq.po
+++ b/po/sq.po
@@ -9,7 +9,7 @@ msgstr ""
 "Project-Id-Version: NetworkManager\n"
 "Report-Msgid-Bugs-To: https://gitlab.freedesktop.org/NetworkManager/"
 "NetworkManager/issues\n"
-"POT-Creation-Date: 2022-08-26 16:42+0200\n"
+"POT-Creation-Date: 2022-08-11 16:06-0300\n"
 "PO-Revision-Date: 2017-04-21 06:11-0400\n"
 "Last-Translator: Copied by Zanata <copied-by-zanata@zanata.org>\n"
 "Language-Team: Albanian <gnome-albanian-perkthyesit@lists.sourceforge.net>\n"
@@ -1168,7 +1168,7 @@ msgstr ""
 #: src/libnm-core-impl/nm-setting-cdma.c:144
 #: src/libnm-core-impl/nm-setting-connection.c:1149
 #: src/libnm-core-impl/nm-setting-connection.c:1187
-#: src/libnm-core-impl/nm-setting-connection.c:1516
+#: src/libnm-core-impl/nm-setting-connection.c:1530
 #: src/libnm-core-impl/nm-setting-ip-config.c:5423
 #: src/libnm-core-impl/nm-setting-ip-tunnel.c:387
 #: src/libnm-core-impl/nm-setting-olpc-mesh.c:99
@@ -1509,7 +1509,7 @@ msgstr ""
 #: src/libnm-core-impl/nm-setting-cdma.c:159
 #: src/libnm-core-impl/nm-setting-connection.c:1159
 #: src/libnm-core-impl/nm-setting-connection.c:1202
-#: src/libnm-core-impl/nm-setting-connection.c:1454
+#: src/libnm-core-impl/nm-setting-connection.c:1468
 #: src/libnm-core-impl/nm-setting-gsm.c:298
 #: src/libnm-core-impl/nm-setting-gsm.c:353
 #: src/libnm-core-impl/nm-setting-gsm.c:396
@@ -1790,7 +1790,7 @@ msgstr ""
 #: src/libnm-core-impl/nm-setting-connection.c:1351
 #: src/libnm-core-impl/nm-setting-connection.c:1365
 #: src/libnm-core-impl/nm-setting-connection.c:1379
-#: src/libnm-core-impl/nm-setting-connection.c:1440
+#: src/libnm-core-impl/nm-setting-connection.c:1454
 #, c-format
 msgid "value %d is not valid"
 msgstr ""
@@ -1799,50 +1799,54 @@ msgstr ""
 msgid "\"disabled\" flag cannot be combined with other MPTCP flags"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1409
+#: src/libnm-core-impl/nm-setting-connection.c:1411
+msgid "\"enabled\" and \"enabled-on-global-iface\" flag cannot be set together"
+msgstr ""
+
+#: src/libnm-core-impl/nm-setting-connection.c:1422
 msgid "cannot set both \"signal\" and \"fullmesh\" MPTCP flags"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1421
+#: src/libnm-core-impl/nm-setting-connection.c:1435
 #, c-format
 msgid "value %u is not a valid combination of MPTCP flags"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1468
+#: src/libnm-core-impl/nm-setting-connection.c:1482
 msgid "DHCP option cannot be longer than 255 characters"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1479
+#: src/libnm-core-impl/nm-setting-connection.c:1493
 msgid "MUD URL is not a valid URL"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1499
+#: src/libnm-core-impl/nm-setting-connection.c:1513
 msgid "invalid permissions not in format \"user:$UNAME[:]\""
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1528
+#: src/libnm-core-impl/nm-setting-connection.c:1542
 #, c-format
 msgid "property type should be set to '%s'"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1546
+#: src/libnm-core-impl/nm-setting-connection.c:1560
 #, c-format
 msgid "slave-type '%s' requires a '%s' setting in the connection"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1557
+#: src/libnm-core-impl/nm-setting-connection.c:1571
 #, c-format
 msgid ""
 "Detect a slave connection with '%s' set and a port type '%s'. '%s' should be "
 "set to '%s'"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1583
+#: src/libnm-core-impl/nm-setting-connection.c:1597
 #, c-format
 msgid "A slave connection with '%s' set to '%s' cannot have a '%s' setting"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1600
+#: src/libnm-core-impl/nm-setting-connection.c:1614
 msgid "UUID needs normalization"
 msgstr ""
 
@@ -5726,29 +5730,25 @@ msgid ""
 "fc00::/7) and IPv6 privacy extension addresses (rfc3041, ipv6.ip6-privacy) "
 "will be excluded from being configured as endpoints. If \"disabled\" (0x1), "
 "MPTCP handling for the interface is disabled and no endpoints are "
-"registered. The \"enabled\" (0x2) flag means that MPTCP handling is enabled. "
-"This flag can also be implied from the presence of other flags. Even when "
-"enabled, MPTCP handling will by default still be disabled unless \"/proc/sys/"
-"net/mptcp/enabled\" sysctl is on. NetworkManager does not change the sysctl "
-"and this is up to the administrator or distribution. To configure endpoints "
-"even if the sysctl is disabled, \"also-without-sysctl\" (0x4) flag can be "
-"used. In that case, NetworkManager doesn't look at the sysctl and configures "
-"endpoints regardless. Even when enabled, NetworkManager will only configure "
-"MPTCP endpoints for a certain address family, if there is a unicast default "
-"route (0.0.0.0/0 or ::/0) in the main routing table. The flag \"also-without-"
-"default-route\" (0x8) can override that. When MPTCP handling is enabled then "
-"endpoints are configured with the specified address flags \"signal\" (0x10), "
-"\"subflow\" (0x20), \"backup\" (0x40), \"fullmesh\" (0x80). See ip-mptcp(8) "
-"manual for additional information about the flags. If the flags are zero "
-"(0x0), the global connection default from NetworkManager.conf is honored. If "
-"still unspecified, the fallback is \"enabled,subflow\". Note that this means "
-"that MPTCP is by default done depending on the \"/proc/sys/net/mptcp/"
-"enabled\" sysctl. NetworkManager does not change the MPTCP limits nor enable "
-"MPTCP via \"/proc/sys/net/mptcp/enabled\". That is a host configuration "
-"which the admin can change via sysctl and ip-mptcp. Strict reverse path "
-"filtering (rp_filter) breaks many MPTCP use cases, so when MPTCP handling "
-"for IPv4 addresses on the interface is enabled, NetworkManager would loosen "
-"the strict reverse path filtering (1) to the loose setting (2)."
+"registered. The flag \"enabled-on-global-iface\" (0x2) means that MPTCP "
+"handling is enabled if the interface configures a default route in the main "
+"routing table. This choice is per-address family, for example if there is an "
+"IPv4 default route 0.0.0.0/0, IPv4 endpoints are configured. The "
+"\"enabled\" (0x4) flag means that MPTCP handling is explicitly enabled. This "
+"flag can also be implied from the presence of other flags. If MPTCP handling "
+"is enabled, then endpoints will be configured with the specified address "
+"flags \"signal\" (0x10), \"subflow\" (0x20), \"backup\" (0x40), "
+"\"fullmesh\" (0x80). See ip-mptcp(8) manual for additional information about "
+"the flags. If the flags are zero, the global connection default from "
+"NetworkManager.conf is honored. If still unspecified, the fallback is either "
+"\"disabled\" or \"enabled-on-global-iface,subflow\" depending on \"/proc/sys/"
+"net/mptcp/enabled\". NetworkManager does not change the MPTCP limits nor "
+"enable MPTCP via \"/proc/sys/net/mptcp/enabled\". That is a host "
+"configuration which the admin can change via sysctl and ip-mptcp. Strict "
+"reverse path filtering (rp_filter) breaks many MPTCP use cases, so when "
+"MPTCP handling for IPv4 addresses on the interface is enabled, "
+"NetworkManager would loosen the strict reverse path filtering (1) to the "
+"loose setting (2)."
 msgstr ""
 
 #: src/libnmc-setting/settings-docs.h.in:18
@@ -6982,13 +6982,11 @@ msgstr ""
 #: src/libnmc-setting/settings-docs.h.in:200
 msgid ""
 "The gateway associated with this configuration. This is only meaningful if "
-"\"addresses\" is also set. Setting the gateway causes NetworkManager to "
-"configure a standard default route with the gateway as next hop. This is "
-"ignored if \"never-default\" is set. An alternative is to configure the "
-"default route explicitly with a manual route and /0 as prefix length. Note "
-"that the gateway usually conflicts with routing that NetworkManager "
-"configures for WireGuard interfaces, so usually it should not be set in that "
-"case. See \"ip4-auto-default-route\"."
+"\"addresses\" is also set. The gateway's main purpose is to control the next "
+"hop of the standard default route on the device. Hence, the gateway property "
+"conflicts with \"never-default\" and will be automatically dropped if the IP "
+"configuration is set to never-default. As an alternative to set the gateway, "
+"configure a static default route with /0 as prefix length."
 msgstr ""
 
 #: src/libnmc-setting/settings-docs.h.in:175
diff --git a/po/sr.po b/po/sr.po
index d32e0585..18d7c714 100644
--- a/po/sr.po
+++ b/po/sr.po
@@ -8,7 +8,7 @@ msgstr ""
 "Project-Id-Version: NetworkManager\n"
 "Report-Msgid-Bugs-To: https://gitlab.freedesktop.org/NetworkManager/"
 "NetworkManager/issues\n"
-"POT-Creation-Date: 2022-08-26 16:42+0200\n"
+"POT-Creation-Date: 2022-08-11 16:06-0300\n"
 "PO-Revision-Date: 2010-10-18 16:48+0200\n"
 "Last-Translator: Милош Поповић <gpopac@gmail.com>\n"
 "Language-Team: Serbian <gnom@prevod.org>\n"
@@ -1211,7 +1211,7 @@ msgstr ""
 #: src/libnm-core-impl/nm-setting-cdma.c:144
 #: src/libnm-core-impl/nm-setting-connection.c:1149
 #: src/libnm-core-impl/nm-setting-connection.c:1187
-#: src/libnm-core-impl/nm-setting-connection.c:1516
+#: src/libnm-core-impl/nm-setting-connection.c:1530
 #: src/libnm-core-impl/nm-setting-ip-config.c:5423
 #: src/libnm-core-impl/nm-setting-ip-tunnel.c:387
 #: src/libnm-core-impl/nm-setting-olpc-mesh.c:99
@@ -1557,7 +1557,7 @@ msgstr ""
 #: src/libnm-core-impl/nm-setting-cdma.c:159
 #: src/libnm-core-impl/nm-setting-connection.c:1159
 #: src/libnm-core-impl/nm-setting-connection.c:1202
-#: src/libnm-core-impl/nm-setting-connection.c:1454
+#: src/libnm-core-impl/nm-setting-connection.c:1468
 #: src/libnm-core-impl/nm-setting-gsm.c:298
 #: src/libnm-core-impl/nm-setting-gsm.c:353
 #: src/libnm-core-impl/nm-setting-gsm.c:396
@@ -1843,7 +1843,7 @@ msgstr "Грешка: није иÑправна вредноÑÑ‚ „%s“ за Ð
 #: src/libnm-core-impl/nm-setting-connection.c:1351
 #: src/libnm-core-impl/nm-setting-connection.c:1365
 #: src/libnm-core-impl/nm-setting-connection.c:1379
-#: src/libnm-core-impl/nm-setting-connection.c:1440
+#: src/libnm-core-impl/nm-setting-connection.c:1454
 #, fuzzy, c-format
 msgid "value %d is not valid"
 msgstr "Грешка: није иÑправна вредноÑÑ‚ „%s“ за иÑтек времена."
@@ -1852,52 +1852,56 @@ msgstr "Грешка: није иÑправна вредноÑÑ‚ „%s“ за Ð
 msgid "\"disabled\" flag cannot be combined with other MPTCP flags"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1409
+#: src/libnm-core-impl/nm-setting-connection.c:1411
+msgid "\"enabled\" and \"enabled-on-global-iface\" flag cannot be set together"
+msgstr ""
+
+#: src/libnm-core-impl/nm-setting-connection.c:1422
 msgid "cannot set both \"signal\" and \"fullmesh\" MPTCP flags"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1421
+#: src/libnm-core-impl/nm-setting-connection.c:1435
 #, fuzzy, c-format
 msgid "value %u is not a valid combination of MPTCP flags"
 msgstr "Грешка: „%s“ није иÑправан аргумент уз опцију „%s“."
 
-#: src/libnm-core-impl/nm-setting-connection.c:1468
+#: src/libnm-core-impl/nm-setting-connection.c:1482
 msgid "DHCP option cannot be longer than 255 characters"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1479
+#: src/libnm-core-impl/nm-setting-connection.c:1493
 #, fuzzy
 msgid "MUD URL is not a valid URL"
 msgstr "Грешка: „nm“ наредба „'%s“ није иÑправна."
 
-#: src/libnm-core-impl/nm-setting-connection.c:1499
+#: src/libnm-core-impl/nm-setting-connection.c:1513
 #, fuzzy
 msgid "invalid permissions not in format \"user:$UNAME[:]\""
 msgstr "неиÑправно поље „%s“"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1528
+#: src/libnm-core-impl/nm-setting-connection.c:1542
 #, c-format
 msgid "property type should be set to '%s'"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1546
+#: src/libnm-core-impl/nm-setting-connection.c:1560
 #, c-format
 msgid "slave-type '%s' requires a '%s' setting in the connection"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1557
+#: src/libnm-core-impl/nm-setting-connection.c:1571
 #, c-format
 msgid ""
 "Detect a slave connection with '%s' set and a port type '%s'. '%s' should be "
 "set to '%s'"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1583
+#: src/libnm-core-impl/nm-setting-connection.c:1597
 #, c-format
 msgid "A slave connection with '%s' set to '%s' cannot have a '%s' setting"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1600
+#: src/libnm-core-impl/nm-setting-connection.c:1614
 msgid "UUID needs normalization"
 msgstr ""
 
@@ -5948,29 +5952,25 @@ msgid ""
 "fc00::/7) and IPv6 privacy extension addresses (rfc3041, ipv6.ip6-privacy) "
 "will be excluded from being configured as endpoints. If \"disabled\" (0x1), "
 "MPTCP handling for the interface is disabled and no endpoints are "
-"registered. The \"enabled\" (0x2) flag means that MPTCP handling is enabled. "
-"This flag can also be implied from the presence of other flags. Even when "
-"enabled, MPTCP handling will by default still be disabled unless \"/proc/sys/"
-"net/mptcp/enabled\" sysctl is on. NetworkManager does not change the sysctl "
-"and this is up to the administrator or distribution. To configure endpoints "
-"even if the sysctl is disabled, \"also-without-sysctl\" (0x4) flag can be "
-"used. In that case, NetworkManager doesn't look at the sysctl and configures "
-"endpoints regardless. Even when enabled, NetworkManager will only configure "
-"MPTCP endpoints for a certain address family, if there is a unicast default "
-"route (0.0.0.0/0 or ::/0) in the main routing table. The flag \"also-without-"
-"default-route\" (0x8) can override that. When MPTCP handling is enabled then "
-"endpoints are configured with the specified address flags \"signal\" (0x10), "
-"\"subflow\" (0x20), \"backup\" (0x40), \"fullmesh\" (0x80). See ip-mptcp(8) "
-"manual for additional information about the flags. If the flags are zero "
-"(0x0), the global connection default from NetworkManager.conf is honored. If "
-"still unspecified, the fallback is \"enabled,subflow\". Note that this means "
-"that MPTCP is by default done depending on the \"/proc/sys/net/mptcp/"
-"enabled\" sysctl. NetworkManager does not change the MPTCP limits nor enable "
-"MPTCP via \"/proc/sys/net/mptcp/enabled\". That is a host configuration "
-"which the admin can change via sysctl and ip-mptcp. Strict reverse path "
-"filtering (rp_filter) breaks many MPTCP use cases, so when MPTCP handling "
-"for IPv4 addresses on the interface is enabled, NetworkManager would loosen "
-"the strict reverse path filtering (1) to the loose setting (2)."
+"registered. The flag \"enabled-on-global-iface\" (0x2) means that MPTCP "
+"handling is enabled if the interface configures a default route in the main "
+"routing table. This choice is per-address family, for example if there is an "
+"IPv4 default route 0.0.0.0/0, IPv4 endpoints are configured. The "
+"\"enabled\" (0x4) flag means that MPTCP handling is explicitly enabled. This "
+"flag can also be implied from the presence of other flags. If MPTCP handling "
+"is enabled, then endpoints will be configured with the specified address "
+"flags \"signal\" (0x10), \"subflow\" (0x20), \"backup\" (0x40), "
+"\"fullmesh\" (0x80). See ip-mptcp(8) manual for additional information about "
+"the flags. If the flags are zero, the global connection default from "
+"NetworkManager.conf is honored. If still unspecified, the fallback is either "
+"\"disabled\" or \"enabled-on-global-iface,subflow\" depending on \"/proc/sys/"
+"net/mptcp/enabled\". NetworkManager does not change the MPTCP limits nor "
+"enable MPTCP via \"/proc/sys/net/mptcp/enabled\". That is a host "
+"configuration which the admin can change via sysctl and ip-mptcp. Strict "
+"reverse path filtering (rp_filter) breaks many MPTCP use cases, so when "
+"MPTCP handling for IPv4 addresses on the interface is enabled, "
+"NetworkManager would loosen the strict reverse path filtering (1) to the "
+"loose setting (2)."
 msgstr ""
 
 #: src/libnmc-setting/settings-docs.h.in:18
@@ -7207,13 +7207,11 @@ msgstr ""
 #: src/libnmc-setting/settings-docs.h.in:200
 msgid ""
 "The gateway associated with this configuration. This is only meaningful if "
-"\"addresses\" is also set. Setting the gateway causes NetworkManager to "
-"configure a standard default route with the gateway as next hop. This is "
-"ignored if \"never-default\" is set. An alternative is to configure the "
-"default route explicitly with a manual route and /0 as prefix length. Note "
-"that the gateway usually conflicts with routing that NetworkManager "
-"configures for WireGuard interfaces, so usually it should not be set in that "
-"case. See \"ip4-auto-default-route\"."
+"\"addresses\" is also set. The gateway's main purpose is to control the next "
+"hop of the standard default route on the device. Hence, the gateway property "
+"conflicts with \"never-default\" and will be automatically dropped if the IP "
+"configuration is set to never-default. As an alternative to set the gateway, "
+"configure a static default route with /0 as prefix length."
 msgstr ""
 
 #: src/libnmc-setting/settings-docs.h.in:175
diff --git a/po/sr@latin.po b/po/sr@latin.po
index 061ffe11..9d582837 100644
--- a/po/sr@latin.po
+++ b/po/sr@latin.po
@@ -8,7 +8,7 @@ msgstr ""
 "Project-Id-Version: NetworkManager\n"
 "Report-Msgid-Bugs-To: https://gitlab.freedesktop.org/NetworkManager/"
 "NetworkManager/issues\n"
-"POT-Creation-Date: 2022-08-26 16:42+0200\n"
+"POT-Creation-Date: 2022-08-11 16:06-0300\n"
 "PO-Revision-Date: 2010-10-18 16:48+0200\n"
 "Last-Translator: Miloš Popović <gpopac@gmail.com>\n"
 "Language-Team: Serbian <gnom@prevod.org>\n"
@@ -1214,7 +1214,7 @@ msgstr ""
 #: src/libnm-core-impl/nm-setting-cdma.c:144
 #: src/libnm-core-impl/nm-setting-connection.c:1149
 #: src/libnm-core-impl/nm-setting-connection.c:1187
-#: src/libnm-core-impl/nm-setting-connection.c:1516
+#: src/libnm-core-impl/nm-setting-connection.c:1530
 #: src/libnm-core-impl/nm-setting-ip-config.c:5423
 #: src/libnm-core-impl/nm-setting-ip-tunnel.c:387
 #: src/libnm-core-impl/nm-setting-olpc-mesh.c:99
@@ -1560,7 +1560,7 @@ msgstr ""
 #: src/libnm-core-impl/nm-setting-cdma.c:159
 #: src/libnm-core-impl/nm-setting-connection.c:1159
 #: src/libnm-core-impl/nm-setting-connection.c:1202
-#: src/libnm-core-impl/nm-setting-connection.c:1454
+#: src/libnm-core-impl/nm-setting-connection.c:1468
 #: src/libnm-core-impl/nm-setting-gsm.c:298
 #: src/libnm-core-impl/nm-setting-gsm.c:353
 #: src/libnm-core-impl/nm-setting-gsm.c:396
@@ -1846,7 +1846,7 @@ msgstr "Greška: nije ispravna vrednost „%s“ za istek vremena."
 #: src/libnm-core-impl/nm-setting-connection.c:1351
 #: src/libnm-core-impl/nm-setting-connection.c:1365
 #: src/libnm-core-impl/nm-setting-connection.c:1379
-#: src/libnm-core-impl/nm-setting-connection.c:1440
+#: src/libnm-core-impl/nm-setting-connection.c:1454
 #, fuzzy, c-format
 msgid "value %d is not valid"
 msgstr "Greška: nije ispravna vrednost „%s“ za istek vremena."
@@ -1855,52 +1855,56 @@ msgstr "Greška: nije ispravna vrednost „%s“ za istek vremena."
 msgid "\"disabled\" flag cannot be combined with other MPTCP flags"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1409
+#: src/libnm-core-impl/nm-setting-connection.c:1411
+msgid "\"enabled\" and \"enabled-on-global-iface\" flag cannot be set together"
+msgstr ""
+
+#: src/libnm-core-impl/nm-setting-connection.c:1422
 msgid "cannot set both \"signal\" and \"fullmesh\" MPTCP flags"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1421
+#: src/libnm-core-impl/nm-setting-connection.c:1435
 #, fuzzy, c-format
 msgid "value %u is not a valid combination of MPTCP flags"
 msgstr "Greška: „%s“ nije ispravan argument uz opciju „%s“."
 
-#: src/libnm-core-impl/nm-setting-connection.c:1468
+#: src/libnm-core-impl/nm-setting-connection.c:1482
 msgid "DHCP option cannot be longer than 255 characters"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1479
+#: src/libnm-core-impl/nm-setting-connection.c:1493
 #, fuzzy
 msgid "MUD URL is not a valid URL"
 msgstr "Greška: „nm“ naredba „'%s“ nije ispravna."
 
-#: src/libnm-core-impl/nm-setting-connection.c:1499
+#: src/libnm-core-impl/nm-setting-connection.c:1513
 #, fuzzy
 msgid "invalid permissions not in format \"user:$UNAME[:]\""
 msgstr "neispravno polje „%s“"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1528
+#: src/libnm-core-impl/nm-setting-connection.c:1542
 #, c-format
 msgid "property type should be set to '%s'"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1546
+#: src/libnm-core-impl/nm-setting-connection.c:1560
 #, c-format
 msgid "slave-type '%s' requires a '%s' setting in the connection"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1557
+#: src/libnm-core-impl/nm-setting-connection.c:1571
 #, c-format
 msgid ""
 "Detect a slave connection with '%s' set and a port type '%s'. '%s' should be "
 "set to '%s'"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1583
+#: src/libnm-core-impl/nm-setting-connection.c:1597
 #, c-format
 msgid "A slave connection with '%s' set to '%s' cannot have a '%s' setting"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1600
+#: src/libnm-core-impl/nm-setting-connection.c:1614
 msgid "UUID needs normalization"
 msgstr ""
 
@@ -5952,29 +5956,25 @@ msgid ""
 "fc00::/7) and IPv6 privacy extension addresses (rfc3041, ipv6.ip6-privacy) "
 "will be excluded from being configured as endpoints. If \"disabled\" (0x1), "
 "MPTCP handling for the interface is disabled and no endpoints are "
-"registered. The \"enabled\" (0x2) flag means that MPTCP handling is enabled. "
-"This flag can also be implied from the presence of other flags. Even when "
-"enabled, MPTCP handling will by default still be disabled unless \"/proc/sys/"
-"net/mptcp/enabled\" sysctl is on. NetworkManager does not change the sysctl "
-"and this is up to the administrator or distribution. To configure endpoints "
-"even if the sysctl is disabled, \"also-without-sysctl\" (0x4) flag can be "
-"used. In that case, NetworkManager doesn't look at the sysctl and configures "
-"endpoints regardless. Even when enabled, NetworkManager will only configure "
-"MPTCP endpoints for a certain address family, if there is a unicast default "
-"route (0.0.0.0/0 or ::/0) in the main routing table. The flag \"also-without-"
-"default-route\" (0x8) can override that. When MPTCP handling is enabled then "
-"endpoints are configured with the specified address flags \"signal\" (0x10), "
-"\"subflow\" (0x20), \"backup\" (0x40), \"fullmesh\" (0x80). See ip-mptcp(8) "
-"manual for additional information about the flags. If the flags are zero "
-"(0x0), the global connection default from NetworkManager.conf is honored. If "
-"still unspecified, the fallback is \"enabled,subflow\". Note that this means "
-"that MPTCP is by default done depending on the \"/proc/sys/net/mptcp/"
-"enabled\" sysctl. NetworkManager does not change the MPTCP limits nor enable "
-"MPTCP via \"/proc/sys/net/mptcp/enabled\". That is a host configuration "
-"which the admin can change via sysctl and ip-mptcp. Strict reverse path "
-"filtering (rp_filter) breaks many MPTCP use cases, so when MPTCP handling "
-"for IPv4 addresses on the interface is enabled, NetworkManager would loosen "
-"the strict reverse path filtering (1) to the loose setting (2)."
+"registered. The flag \"enabled-on-global-iface\" (0x2) means that MPTCP "
+"handling is enabled if the interface configures a default route in the main "
+"routing table. This choice is per-address family, for example if there is an "
+"IPv4 default route 0.0.0.0/0, IPv4 endpoints are configured. The "
+"\"enabled\" (0x4) flag means that MPTCP handling is explicitly enabled. This "
+"flag can also be implied from the presence of other flags. If MPTCP handling "
+"is enabled, then endpoints will be configured with the specified address "
+"flags \"signal\" (0x10), \"subflow\" (0x20), \"backup\" (0x40), "
+"\"fullmesh\" (0x80). See ip-mptcp(8) manual for additional information about "
+"the flags. If the flags are zero, the global connection default from "
+"NetworkManager.conf is honored. If still unspecified, the fallback is either "
+"\"disabled\" or \"enabled-on-global-iface,subflow\" depending on \"/proc/sys/"
+"net/mptcp/enabled\". NetworkManager does not change the MPTCP limits nor "
+"enable MPTCP via \"/proc/sys/net/mptcp/enabled\". That is a host "
+"configuration which the admin can change via sysctl and ip-mptcp. Strict "
+"reverse path filtering (rp_filter) breaks many MPTCP use cases, so when "
+"MPTCP handling for IPv4 addresses on the interface is enabled, "
+"NetworkManager would loosen the strict reverse path filtering (1) to the "
+"loose setting (2)."
 msgstr ""
 
 #: src/libnmc-setting/settings-docs.h.in:18
@@ -7211,13 +7211,11 @@ msgstr ""
 #: src/libnmc-setting/settings-docs.h.in:200
 msgid ""
 "The gateway associated with this configuration. This is only meaningful if "
-"\"addresses\" is also set. Setting the gateway causes NetworkManager to "
-"configure a standard default route with the gateway as next hop. This is "
-"ignored if \"never-default\" is set. An alternative is to configure the "
-"default route explicitly with a manual route and /0 as prefix length. Note "
-"that the gateway usually conflicts with routing that NetworkManager "
-"configures for WireGuard interfaces, so usually it should not be set in that "
-"case. See \"ip4-auto-default-route\"."
+"\"addresses\" is also set. The gateway's main purpose is to control the next "
+"hop of the standard default route on the device. Hence, the gateway property "
+"conflicts with \"never-default\" and will be automatically dropped if the IP "
+"configuration is set to never-default. As an alternative to set the gateway, "
+"configure a static default route with /0 as prefix length."
 msgstr ""
 
 #: src/libnmc-setting/settings-docs.h.in:175
diff --git a/po/sv.po b/po/sv.po
index ebc81d8f..eae59716 100644
--- a/po/sv.po
+++ b/po/sv.po
@@ -9,7 +9,7 @@ msgstr ""
 "Project-Id-Version: NetworkManager\n"
 "Report-Msgid-Bugs-To: https://gitlab.freedesktop.org/NetworkManager/"
 "NetworkManager/issues\n"
-"POT-Creation-Date: 2022-08-26 16:42+0200\n"
+"POT-Creation-Date: 2022-08-11 16:06-0300\n"
 "PO-Revision-Date: 2017-12-04 20:16+0100\n"
 "Last-Translator: Josef Andersson <josef.andersson@fripost.org>\n"
 "Language-Team: Swedish <tp-sv@listor.tp-sv.se>\n"
@@ -1212,7 +1212,7 @@ msgstr ""
 #: src/libnm-core-impl/nm-setting-cdma.c:144
 #: src/libnm-core-impl/nm-setting-connection.c:1149
 #: src/libnm-core-impl/nm-setting-connection.c:1187
-#: src/libnm-core-impl/nm-setting-connection.c:1516
+#: src/libnm-core-impl/nm-setting-connection.c:1530
 #: src/libnm-core-impl/nm-setting-ip-config.c:5423
 #: src/libnm-core-impl/nm-setting-ip-tunnel.c:387
 #: src/libnm-core-impl/nm-setting-olpc-mesh.c:99
@@ -1556,7 +1556,7 @@ msgstr "lösenordet stöds ej när certifikat inte på ett PKCS#11-token"
 #: src/libnm-core-impl/nm-setting-cdma.c:159
 #: src/libnm-core-impl/nm-setting-connection.c:1159
 #: src/libnm-core-impl/nm-setting-connection.c:1202
-#: src/libnm-core-impl/nm-setting-connection.c:1454
+#: src/libnm-core-impl/nm-setting-connection.c:1468
 #: src/libnm-core-impl/nm-setting-gsm.c:298
 #: src/libnm-core-impl/nm-setting-gsm.c:353
 #: src/libnm-core-impl/nm-setting-gsm.c:396
@@ -1848,7 +1848,7 @@ msgstr "mätvärdet %d är inte giltigt"
 #: src/libnm-core-impl/nm-setting-connection.c:1351
 #: src/libnm-core-impl/nm-setting-connection.c:1365
 #: src/libnm-core-impl/nm-setting-connection.c:1379
-#: src/libnm-core-impl/nm-setting-connection.c:1440
+#: src/libnm-core-impl/nm-setting-connection.c:1454
 #, fuzzy, c-format
 msgid "value %d is not valid"
 msgstr "mätvärdet %d är inte giltigt"
@@ -1857,42 +1857,46 @@ msgstr "mätvärdet %d är inte giltigt"
 msgid "\"disabled\" flag cannot be combined with other MPTCP flags"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1409
+#: src/libnm-core-impl/nm-setting-connection.c:1411
+msgid "\"enabled\" and \"enabled-on-global-iface\" flag cannot be set together"
+msgstr ""
+
+#: src/libnm-core-impl/nm-setting-connection.c:1422
 msgid "cannot set both \"signal\" and \"fullmesh\" MPTCP flags"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1421
+#: src/libnm-core-impl/nm-setting-connection.c:1435
 #, fuzzy, c-format
 #| msgid "'%u' flags are not valid; use combination of %s"
 msgid "value %u is not a valid combination of MPTCP flags"
 msgstr "â€%uâ€-flaggor är inte giltiga; använd en kombination av %s"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1468
+#: src/libnm-core-impl/nm-setting-connection.c:1482
 #, fuzzy
 msgid "DHCP option cannot be longer than 255 characters"
 msgstr "gränssnittsnamnet är längre än 15 tecken"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1479
+#: src/libnm-core-impl/nm-setting-connection.c:1493
 #, fuzzy
 msgid "MUD URL is not a valid URL"
 msgstr "URI är inte giltig UTF-8"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1499
+#: src/libnm-core-impl/nm-setting-connection.c:1513
 #, fuzzy
 msgid "invalid permissions not in format \"user:$UNAME[:]\""
 msgstr "ogiltig körare â€%sâ€"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1528
+#: src/libnm-core-impl/nm-setting-connection.c:1542
 #, c-format
 msgid "property type should be set to '%s'"
 msgstr "egenskapstypen borde vara satt till â€%sâ€"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1546
+#: src/libnm-core-impl/nm-setting-connection.c:1560
 #, c-format
 msgid "slave-type '%s' requires a '%s' setting in the connection"
 msgstr "slavtypen â€%s†kräver en â€%sâ€-inställning i anslutningen"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1557
+#: src/libnm-core-impl/nm-setting-connection.c:1571
 #, c-format
 msgid ""
 "Detect a slave connection with '%s' set and a port type '%s'. '%s' should be "
@@ -1901,13 +1905,13 @@ msgstr ""
 "Upptäck en slavanslutning med â€%s†satt och en porttyp â€%sâ€. â€%s†bör sättas "
 "till â€%sâ€"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1583
+#: src/libnm-core-impl/nm-setting-connection.c:1597
 #, c-format
 msgid "A slave connection with '%s' set to '%s' cannot have a '%s' setting"
 msgstr ""
 "En slavanslutning med â€%s†satt till â€%s†kan inte ha en inställning â€%sâ€"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1600
+#: src/libnm-core-impl/nm-setting-connection.c:1614
 msgid "UUID needs normalization"
 msgstr ""
 
@@ -6112,29 +6116,25 @@ msgid ""
 "fc00::/7) and IPv6 privacy extension addresses (rfc3041, ipv6.ip6-privacy) "
 "will be excluded from being configured as endpoints. If \"disabled\" (0x1), "
 "MPTCP handling for the interface is disabled and no endpoints are "
-"registered. The \"enabled\" (0x2) flag means that MPTCP handling is enabled. "
-"This flag can also be implied from the presence of other flags. Even when "
-"enabled, MPTCP handling will by default still be disabled unless \"/proc/sys/"
-"net/mptcp/enabled\" sysctl is on. NetworkManager does not change the sysctl "
-"and this is up to the administrator or distribution. To configure endpoints "
-"even if the sysctl is disabled, \"also-without-sysctl\" (0x4) flag can be "
-"used. In that case, NetworkManager doesn't look at the sysctl and configures "
-"endpoints regardless. Even when enabled, NetworkManager will only configure "
-"MPTCP endpoints for a certain address family, if there is a unicast default "
-"route (0.0.0.0/0 or ::/0) in the main routing table. The flag \"also-without-"
-"default-route\" (0x8) can override that. When MPTCP handling is enabled then "
-"endpoints are configured with the specified address flags \"signal\" (0x10), "
-"\"subflow\" (0x20), \"backup\" (0x40), \"fullmesh\" (0x80). See ip-mptcp(8) "
-"manual for additional information about the flags. If the flags are zero "
-"(0x0), the global connection default from NetworkManager.conf is honored. If "
-"still unspecified, the fallback is \"enabled,subflow\". Note that this means "
-"that MPTCP is by default done depending on the \"/proc/sys/net/mptcp/"
-"enabled\" sysctl. NetworkManager does not change the MPTCP limits nor enable "
-"MPTCP via \"/proc/sys/net/mptcp/enabled\". That is a host configuration "
-"which the admin can change via sysctl and ip-mptcp. Strict reverse path "
-"filtering (rp_filter) breaks many MPTCP use cases, so when MPTCP handling "
-"for IPv4 addresses on the interface is enabled, NetworkManager would loosen "
-"the strict reverse path filtering (1) to the loose setting (2)."
+"registered. The flag \"enabled-on-global-iface\" (0x2) means that MPTCP "
+"handling is enabled if the interface configures a default route in the main "
+"routing table. This choice is per-address family, for example if there is an "
+"IPv4 default route 0.0.0.0/0, IPv4 endpoints are configured. The "
+"\"enabled\" (0x4) flag means that MPTCP handling is explicitly enabled. This "
+"flag can also be implied from the presence of other flags. If MPTCP handling "
+"is enabled, then endpoints will be configured with the specified address "
+"flags \"signal\" (0x10), \"subflow\" (0x20), \"backup\" (0x40), "
+"\"fullmesh\" (0x80). See ip-mptcp(8) manual for additional information about "
+"the flags. If the flags are zero, the global connection default from "
+"NetworkManager.conf is honored. If still unspecified, the fallback is either "
+"\"disabled\" or \"enabled-on-global-iface,subflow\" depending on \"/proc/sys/"
+"net/mptcp/enabled\". NetworkManager does not change the MPTCP limits nor "
+"enable MPTCP via \"/proc/sys/net/mptcp/enabled\". That is a host "
+"configuration which the admin can change via sysctl and ip-mptcp. Strict "
+"reverse path filtering (rp_filter) breaks many MPTCP use cases, so when "
+"MPTCP handling for IPv4 addresses on the interface is enabled, "
+"NetworkManager would loosen the strict reverse path filtering (1) to the "
+"loose setting (2)."
 msgstr ""
 
 #: src/libnmc-setting/settings-docs.h.in:18
@@ -7800,13 +7800,11 @@ msgstr ""
 #: src/libnmc-setting/settings-docs.h.in:200
 msgid ""
 "The gateway associated with this configuration. This is only meaningful if "
-"\"addresses\" is also set. Setting the gateway causes NetworkManager to "
-"configure a standard default route with the gateway as next hop. This is "
-"ignored if \"never-default\" is set. An alternative is to configure the "
-"default route explicitly with a manual route and /0 as prefix length. Note "
-"that the gateway usually conflicts with routing that NetworkManager "
-"configures for WireGuard interfaces, so usually it should not be set in that "
-"case. See \"ip4-auto-default-route\"."
+"\"addresses\" is also set. The gateway's main purpose is to control the next "
+"hop of the standard default route on the device. Hence, the gateway property "
+"conflicts with \"never-default\" and will be automatically dropped if the IP "
+"configuration is set to never-default. As an alternative to set the gateway, "
+"configure a static default route with /0 as prefix length."
 msgstr ""
 
 #: src/libnmc-setting/settings-docs.h.in:175
diff --git a/po/ta.po b/po/ta.po
index f2478d69..ecbbbce9 100644
--- a/po/ta.po
+++ b/po/ta.po
@@ -14,7 +14,7 @@ msgstr ""
 "Project-Id-Version: NetworkManager\n"
 "Report-Msgid-Bugs-To: https://gitlab.freedesktop.org/NetworkManager/"
 "NetworkManager/issues\n"
-"POT-Creation-Date: 2022-08-26 16:42+0200\n"
+"POT-Creation-Date: 2022-08-11 16:06-0300\n"
 "PO-Revision-Date: 2017-04-21 06:21-0400\n"
 "Last-Translator: Copied by Zanata <copied-by-zanata@zanata.org>\n"
 "Language-Team: Tamil <kde-i18n-doc@kde.org>\n"
@@ -1220,7 +1220,7 @@ msgstr ""
 #: src/libnm-core-impl/nm-setting-cdma.c:144
 #: src/libnm-core-impl/nm-setting-connection.c:1149
 #: src/libnm-core-impl/nm-setting-connection.c:1187
-#: src/libnm-core-impl/nm-setting-connection.c:1516
+#: src/libnm-core-impl/nm-setting-connection.c:1530
 #: src/libnm-core-impl/nm-setting-ip-config.c:5423
 #: src/libnm-core-impl/nm-setting-ip-tunnel.c:387
 #: src/libnm-core-impl/nm-setting-olpc-mesh.c:99
@@ -1567,7 +1567,7 @@ msgstr ""
 #: src/libnm-core-impl/nm-setting-cdma.c:159
 #: src/libnm-core-impl/nm-setting-connection.c:1159
 #: src/libnm-core-impl/nm-setting-connection.c:1202
-#: src/libnm-core-impl/nm-setting-connection.c:1454
+#: src/libnm-core-impl/nm-setting-connection.c:1468
 #: src/libnm-core-impl/nm-setting-gsm.c:298
 #: src/libnm-core-impl/nm-setting-gsm.c:353
 #: src/libnm-core-impl/nm-setting-gsm.c:396
@@ -1858,7 +1858,7 @@ msgstr "'%s' எனà¯à®± மதிபà¯à®ªà¯ செலà¯à®²à¯à®ªà®Ÿà®¿à®¯à®
 #: src/libnm-core-impl/nm-setting-connection.c:1351
 #: src/libnm-core-impl/nm-setting-connection.c:1365
 #: src/libnm-core-impl/nm-setting-connection.c:1379
-#: src/libnm-core-impl/nm-setting-connection.c:1440
+#: src/libnm-core-impl/nm-setting-connection.c:1454
 #, fuzzy, c-format
 msgid "value %d is not valid"
 msgstr "'%s' எனà¯à®± மதிபà¯à®ªà¯ செலà¯à®²à¯à®ªà®Ÿà®¿à®¯à®¾à®•à¯à®®à¯ UUID அலà¯à®²"
@@ -1867,40 +1867,44 @@ msgstr "'%s' எனà¯à®± மதிபà¯à®ªà¯ செலà¯à®²à¯à®ªà®Ÿà®¿à®¯à®
 msgid "\"disabled\" flag cannot be combined with other MPTCP flags"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1409
+#: src/libnm-core-impl/nm-setting-connection.c:1411
+msgid "\"enabled\" and \"enabled-on-global-iface\" flag cannot be set together"
+msgstr ""
+
+#: src/libnm-core-impl/nm-setting-connection.c:1422
 msgid "cannot set both \"signal\" and \"fullmesh\" MPTCP flags"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1421
+#: src/libnm-core-impl/nm-setting-connection.c:1435
 #, fuzzy, c-format
 msgid "value %u is not a valid combination of MPTCP flags"
 msgstr "'%s' செலà¯à®²à¯à®ªà®Ÿà®¿à®¯à®¾à®©à®¤à®²à¯à®²;  [%s] அலà¯à®²à®¤à¯  [%s] à®à®ªà¯ பயனà¯à®ªà®Ÿà¯à®¤à¯à®¤à®µà¯à®®à¯"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1468
+#: src/libnm-core-impl/nm-setting-connection.c:1482
 msgid "DHCP option cannot be longer than 255 characters"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1479
+#: src/libnm-core-impl/nm-setting-connection.c:1493
 #, fuzzy
 msgid "MUD URL is not a valid URL"
 msgstr "'%s' எனà¯à®ªà®¤à¯ செலà¯à®²à¯à®ªà®Ÿà®¿à®¯à®¾à®•à¯à®®à¯ UUID அலà¯à®²"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1499
+#: src/libnm-core-impl/nm-setting-connection.c:1513
 #, fuzzy
 msgid "invalid permissions not in format \"user:$UNAME[:]\""
 msgstr "தவறான தடமà¯: %s"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1528
+#: src/libnm-core-impl/nm-setting-connection.c:1542
 #, c-format
 msgid "property type should be set to '%s'"
 msgstr "பணà¯à®ªà¯ வகை '%s' என அமைகà¯à®•பà¯à®ªà®Ÿà¯à®Ÿà®¿à®°à¯à®•à¯à®• வேணà¯à®Ÿà¯à®®à¯"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1546
+#: src/libnm-core-impl/nm-setting-connection.c:1560
 #, c-format
 msgid "slave-type '%s' requires a '%s' setting in the connection"
 msgstr "ஸà¯à®²à¯‡à®µà¯ வகை '%s' கà¯à®•௠இணைபà¯à®ªà®¿à®²à¯ '%s' அமைபà¯à®ªà¯ அவசியமà¯"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1557
+#: src/libnm-core-impl/nm-setting-connection.c:1571
 #, c-format
 msgid ""
 "Detect a slave connection with '%s' set and a port type '%s'. '%s' should be "
@@ -1909,14 +1913,14 @@ msgstr ""
 "'%s' அமைகà¯à®•பà¯à®ªà®Ÿà¯à®Ÿà¯à®³à¯à®³ மறà¯à®±à¯à®®à¯ '%s' வகை தà¯à®±à¯ˆ வகையைக௠கொணà¯à®Ÿà¯à®³à¯à®³ அடிமை இணைபà¯à®ªà¯ˆà®•௠"
 "கணà¯à®Ÿà®±à®¿à®¯à®µà¯à®®à¯. '%s' ஆனத௠'%s' கà¯à®•௠அமைகà¯à®•பà¯à®ªà®Ÿ வேணà¯à®Ÿà¯à®®à¯."
 
-#: src/libnm-core-impl/nm-setting-connection.c:1583
+#: src/libnm-core-impl/nm-setting-connection.c:1597
 #, fuzzy, c-format
 msgid "A slave connection with '%s' set to '%s' cannot have a '%s' setting"
 msgstr ""
 "'%s' அமைகà¯à®•பà¯à®ªà®Ÿà¯à®Ÿà¯à®³à¯à®³ மறà¯à®±à¯à®®à¯ '%s' வகை தà¯à®±à¯ˆ வகையைக௠கொணà¯à®Ÿà¯à®³à¯à®³ அடிமை இணைபà¯à®ªà¯ˆà®•௠"
 "கணà¯à®Ÿà®±à®¿à®¯à®µà¯à®®à¯. '%s' ஆனத௠'%s' கà¯à®•௠அமைகà¯à®•பà¯à®ªà®Ÿ வேணà¯à®Ÿà¯à®®à¯."
 
-#: src/libnm-core-impl/nm-setting-connection.c:1600
+#: src/libnm-core-impl/nm-setting-connection.c:1614
 msgid "UUID needs normalization"
 msgstr ""
 
@@ -6082,29 +6086,25 @@ msgid ""
 "fc00::/7) and IPv6 privacy extension addresses (rfc3041, ipv6.ip6-privacy) "
 "will be excluded from being configured as endpoints. If \"disabled\" (0x1), "
 "MPTCP handling for the interface is disabled and no endpoints are "
-"registered. The \"enabled\" (0x2) flag means that MPTCP handling is enabled. "
-"This flag can also be implied from the presence of other flags. Even when "
-"enabled, MPTCP handling will by default still be disabled unless \"/proc/sys/"
-"net/mptcp/enabled\" sysctl is on. NetworkManager does not change the sysctl "
-"and this is up to the administrator or distribution. To configure endpoints "
-"even if the sysctl is disabled, \"also-without-sysctl\" (0x4) flag can be "
-"used. In that case, NetworkManager doesn't look at the sysctl and configures "
-"endpoints regardless. Even when enabled, NetworkManager will only configure "
-"MPTCP endpoints for a certain address family, if there is a unicast default "
-"route (0.0.0.0/0 or ::/0) in the main routing table. The flag \"also-without-"
-"default-route\" (0x8) can override that. When MPTCP handling is enabled then "
-"endpoints are configured with the specified address flags \"signal\" (0x10), "
-"\"subflow\" (0x20), \"backup\" (0x40), \"fullmesh\" (0x80). See ip-mptcp(8) "
-"manual for additional information about the flags. If the flags are zero "
-"(0x0), the global connection default from NetworkManager.conf is honored. If "
-"still unspecified, the fallback is \"enabled,subflow\". Note that this means "
-"that MPTCP is by default done depending on the \"/proc/sys/net/mptcp/"
-"enabled\" sysctl. NetworkManager does not change the MPTCP limits nor enable "
-"MPTCP via \"/proc/sys/net/mptcp/enabled\". That is a host configuration "
-"which the admin can change via sysctl and ip-mptcp. Strict reverse path "
-"filtering (rp_filter) breaks many MPTCP use cases, so when MPTCP handling "
-"for IPv4 addresses on the interface is enabled, NetworkManager would loosen "
-"the strict reverse path filtering (1) to the loose setting (2)."
+"registered. The flag \"enabled-on-global-iface\" (0x2) means that MPTCP "
+"handling is enabled if the interface configures a default route in the main "
+"routing table. This choice is per-address family, for example if there is an "
+"IPv4 default route 0.0.0.0/0, IPv4 endpoints are configured. The "
+"\"enabled\" (0x4) flag means that MPTCP handling is explicitly enabled. This "
+"flag can also be implied from the presence of other flags. If MPTCP handling "
+"is enabled, then endpoints will be configured with the specified address "
+"flags \"signal\" (0x10), \"subflow\" (0x20), \"backup\" (0x40), "
+"\"fullmesh\" (0x80). See ip-mptcp(8) manual for additional information about "
+"the flags. If the flags are zero, the global connection default from "
+"NetworkManager.conf is honored. If still unspecified, the fallback is either "
+"\"disabled\" or \"enabled-on-global-iface,subflow\" depending on \"/proc/sys/"
+"net/mptcp/enabled\". NetworkManager does not change the MPTCP limits nor "
+"enable MPTCP via \"/proc/sys/net/mptcp/enabled\". That is a host "
+"configuration which the admin can change via sysctl and ip-mptcp. Strict "
+"reverse path filtering (rp_filter) breaks many MPTCP use cases, so when "
+"MPTCP handling for IPv4 addresses on the interface is enabled, "
+"NetworkManager would loosen the strict reverse path filtering (1) to the "
+"loose setting (2)."
 msgstr ""
 
 #: src/libnmc-setting/settings-docs.h.in:18
@@ -7338,13 +7338,11 @@ msgstr ""
 #: src/libnmc-setting/settings-docs.h.in:200
 msgid ""
 "The gateway associated with this configuration. This is only meaningful if "
-"\"addresses\" is also set. Setting the gateway causes NetworkManager to "
-"configure a standard default route with the gateway as next hop. This is "
-"ignored if \"never-default\" is set. An alternative is to configure the "
-"default route explicitly with a manual route and /0 as prefix length. Note "
-"that the gateway usually conflicts with routing that NetworkManager "
-"configures for WireGuard interfaces, so usually it should not be set in that "
-"case. See \"ip4-auto-default-route\"."
+"\"addresses\" is also set. The gateway's main purpose is to control the next "
+"hop of the standard default route on the device. Hence, the gateway property "
+"conflicts with \"never-default\" and will be automatically dropped if the IP "
+"configuration is set to never-default. As an alternative to set the gateway, "
+"configure a static default route with /0 as prefix length."
 msgstr ""
 
 #: src/libnmc-setting/settings-docs.h.in:175
diff --git a/po/te.po b/po/te.po
index b87318f7..b5cd7a0c 100644
--- a/po/te.po
+++ b/po/te.po
@@ -11,7 +11,7 @@ msgstr ""
 "Project-Id-Version: NetworkManager\n"
 "Report-Msgid-Bugs-To: https://gitlab.freedesktop.org/NetworkManager/"
 "NetworkManager/issues\n"
-"POT-Creation-Date: 2022-08-26 16:42+0200\n"
+"POT-Creation-Date: 2022-08-11 16:06-0300\n"
 "PO-Revision-Date: 2017-04-21 05:58-0400\n"
 "Last-Translator: Copied by Zanata <copied-by-zanata@zanata.org>\n"
 "Language-Team: Telugu <kde-i18n-doc@kde.org>\n"
@@ -1223,7 +1223,7 @@ msgstr ""
 #: src/libnm-core-impl/nm-setting-cdma.c:144
 #: src/libnm-core-impl/nm-setting-connection.c:1149
 #: src/libnm-core-impl/nm-setting-connection.c:1187
-#: src/libnm-core-impl/nm-setting-connection.c:1516
+#: src/libnm-core-impl/nm-setting-connection.c:1530
 #: src/libnm-core-impl/nm-setting-ip-config.c:5423
 #: src/libnm-core-impl/nm-setting-ip-tunnel.c:387
 #: src/libnm-core-impl/nm-setting-olpc-mesh.c:99
@@ -1570,7 +1570,7 @@ msgstr ""
 #: src/libnm-core-impl/nm-setting-cdma.c:159
 #: src/libnm-core-impl/nm-setting-connection.c:1159
 #: src/libnm-core-impl/nm-setting-connection.c:1202
-#: src/libnm-core-impl/nm-setting-connection.c:1454
+#: src/libnm-core-impl/nm-setting-connection.c:1468
 #: src/libnm-core-impl/nm-setting-gsm.c:298
 #: src/libnm-core-impl/nm-setting-gsm.c:353
 #: src/libnm-core-impl/nm-setting-gsm.c:396
@@ -1860,7 +1860,7 @@ msgstr "విలà±à°µ '%s' చెలà±à°²à±à°¨à°Ÿà±à°µà°‚à°Ÿà°¿ UUID à°•à°¾
 #: src/libnm-core-impl/nm-setting-connection.c:1351
 #: src/libnm-core-impl/nm-setting-connection.c:1365
 #: src/libnm-core-impl/nm-setting-connection.c:1379
-#: src/libnm-core-impl/nm-setting-connection.c:1440
+#: src/libnm-core-impl/nm-setting-connection.c:1454
 #, fuzzy, c-format
 msgid "value %d is not valid"
 msgstr "విలà±à°µ '%s' చెలà±à°²à±à°¨à°Ÿà±à°µà°‚à°Ÿà°¿ UUID కాదà±"
@@ -1869,52 +1869,56 @@ msgstr "విలà±à°µ '%s' చెలà±à°²à±à°¨à°Ÿà±à°µà°‚à°Ÿà°¿ UUID à°•à°¾
 msgid "\"disabled\" flag cannot be combined with other MPTCP flags"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1409
+#: src/libnm-core-impl/nm-setting-connection.c:1411
+msgid "\"enabled\" and \"enabled-on-global-iface\" flag cannot be set together"
+msgstr ""
+
+#: src/libnm-core-impl/nm-setting-connection.c:1422
 msgid "cannot set both \"signal\" and \"fullmesh\" MPTCP flags"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1421
+#: src/libnm-core-impl/nm-setting-connection.c:1435
 #, fuzzy, c-format
 msgid "value %u is not a valid combination of MPTCP flags"
 msgstr "'%s' చెలà±à°²à±à°¨à°¦à°¿ కాదà±; [%s] లేదా [%s] à°µà±à°ªà°¯à±‹à°—à°¿à°‚à°šà±"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1468
+#: src/libnm-core-impl/nm-setting-connection.c:1482
 msgid "DHCP option cannot be longer than 255 characters"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1479
+#: src/libnm-core-impl/nm-setting-connection.c:1493
 #, fuzzy
 msgid "MUD URL is not a valid URL"
 msgstr "'%s' చెలà±à°²à±à°¨à°Ÿà±à°µà°‚à°Ÿà°¿ UUID కాదà±"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1499
+#: src/libnm-core-impl/nm-setting-connection.c:1513
 #, fuzzy
 msgid "invalid permissions not in format \"user:$UNAME[:]\""
 msgstr "చెలà±à°²à°¨à°¿ IPv4 రౌటౠ'%s'"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1528
+#: src/libnm-core-impl/nm-setting-connection.c:1542
 #, c-format
 msgid "property type should be set to '%s'"
 msgstr "లకà±à°·à°£à°‚ à°°à°•à°‚ '%s' కౠఅమరà±à°šà°¾à°²à°¿"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1546
+#: src/libnm-core-impl/nm-setting-connection.c:1560
 #, c-format
 msgid "slave-type '%s' requires a '%s' setting in the connection"
 msgstr "à°¸à±à°²à±‡à°µà±-à°°à°•à°‚ '%s' à°•à± '%s' అమరిక à°…à°¨à±à°¸à°‚ధానం నందౠకావాలి"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1557
+#: src/libnm-core-impl/nm-setting-connection.c:1571
 #, c-format
 msgid ""
 "Detect a slave connection with '%s' set and a port type '%s'. '%s' should be "
 "set to '%s'"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1583
+#: src/libnm-core-impl/nm-setting-connection.c:1597
 #, fuzzy, c-format
 msgid "A slave connection with '%s' set to '%s' cannot have a '%s' setting"
 msgstr "'%s' లేదా '%s' అమరిక కావాలి"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1600
+#: src/libnm-core-impl/nm-setting-connection.c:1614
 msgid "UUID needs normalization"
 msgstr ""
 
@@ -6060,29 +6064,25 @@ msgid ""
 "fc00::/7) and IPv6 privacy extension addresses (rfc3041, ipv6.ip6-privacy) "
 "will be excluded from being configured as endpoints. If \"disabled\" (0x1), "
 "MPTCP handling for the interface is disabled and no endpoints are "
-"registered. The \"enabled\" (0x2) flag means that MPTCP handling is enabled. "
-"This flag can also be implied from the presence of other flags. Even when "
-"enabled, MPTCP handling will by default still be disabled unless \"/proc/sys/"
-"net/mptcp/enabled\" sysctl is on. NetworkManager does not change the sysctl "
-"and this is up to the administrator or distribution. To configure endpoints "
-"even if the sysctl is disabled, \"also-without-sysctl\" (0x4) flag can be "
-"used. In that case, NetworkManager doesn't look at the sysctl and configures "
-"endpoints regardless. Even when enabled, NetworkManager will only configure "
-"MPTCP endpoints for a certain address family, if there is a unicast default "
-"route (0.0.0.0/0 or ::/0) in the main routing table. The flag \"also-without-"
-"default-route\" (0x8) can override that. When MPTCP handling is enabled then "
-"endpoints are configured with the specified address flags \"signal\" (0x10), "
-"\"subflow\" (0x20), \"backup\" (0x40), \"fullmesh\" (0x80). See ip-mptcp(8) "
-"manual for additional information about the flags. If the flags are zero "
-"(0x0), the global connection default from NetworkManager.conf is honored. If "
-"still unspecified, the fallback is \"enabled,subflow\". Note that this means "
-"that MPTCP is by default done depending on the \"/proc/sys/net/mptcp/"
-"enabled\" sysctl. NetworkManager does not change the MPTCP limits nor enable "
-"MPTCP via \"/proc/sys/net/mptcp/enabled\". That is a host configuration "
-"which the admin can change via sysctl and ip-mptcp. Strict reverse path "
-"filtering (rp_filter) breaks many MPTCP use cases, so when MPTCP handling "
-"for IPv4 addresses on the interface is enabled, NetworkManager would loosen "
-"the strict reverse path filtering (1) to the loose setting (2)."
+"registered. The flag \"enabled-on-global-iface\" (0x2) means that MPTCP "
+"handling is enabled if the interface configures a default route in the main "
+"routing table. This choice is per-address family, for example if there is an "
+"IPv4 default route 0.0.0.0/0, IPv4 endpoints are configured. The "
+"\"enabled\" (0x4) flag means that MPTCP handling is explicitly enabled. This "
+"flag can also be implied from the presence of other flags. If MPTCP handling "
+"is enabled, then endpoints will be configured with the specified address "
+"flags \"signal\" (0x10), \"subflow\" (0x20), \"backup\" (0x40), "
+"\"fullmesh\" (0x80). See ip-mptcp(8) manual for additional information about "
+"the flags. If the flags are zero, the global connection default from "
+"NetworkManager.conf is honored. If still unspecified, the fallback is either "
+"\"disabled\" or \"enabled-on-global-iface,subflow\" depending on \"/proc/sys/"
+"net/mptcp/enabled\". NetworkManager does not change the MPTCP limits nor "
+"enable MPTCP via \"/proc/sys/net/mptcp/enabled\". That is a host "
+"configuration which the admin can change via sysctl and ip-mptcp. Strict "
+"reverse path filtering (rp_filter) breaks many MPTCP use cases, so when "
+"MPTCP handling for IPv4 addresses on the interface is enabled, "
+"NetworkManager would loosen the strict reverse path filtering (1) to the "
+"loose setting (2)."
 msgstr ""
 
 #: src/libnmc-setting/settings-docs.h.in:18
@@ -7316,13 +7316,11 @@ msgstr ""
 #: src/libnmc-setting/settings-docs.h.in:200
 msgid ""
 "The gateway associated with this configuration. This is only meaningful if "
-"\"addresses\" is also set. Setting the gateway causes NetworkManager to "
-"configure a standard default route with the gateway as next hop. This is "
-"ignored if \"never-default\" is set. An alternative is to configure the "
-"default route explicitly with a manual route and /0 as prefix length. Note "
-"that the gateway usually conflicts with routing that NetworkManager "
-"configures for WireGuard interfaces, so usually it should not be set in that "
-"case. See \"ip4-auto-default-route\"."
+"\"addresses\" is also set. The gateway's main purpose is to control the next "
+"hop of the standard default route on the device. Hence, the gateway property "
+"conflicts with \"never-default\" and will be automatically dropped if the IP "
+"configuration is set to never-default. As an alternative to set the gateway, "
+"configure a static default route with /0 as prefix length."
 msgstr ""
 
 #: src/libnmc-setting/settings-docs.h.in:175
diff --git a/po/th.po b/po/th.po
index 9e5b3fc8..40ddd573 100644
--- a/po/th.po
+++ b/po/th.po
@@ -10,7 +10,7 @@ msgstr ""
 "Project-Id-Version: NetworkManager\n"
 "Report-Msgid-Bugs-To: https://gitlab.freedesktop.org/NetworkManager/"
 "NetworkManager/issues\n"
-"POT-Creation-Date: 2022-08-26 16:42+0200\n"
+"POT-Creation-Date: 2022-08-11 16:06-0300\n"
 "PO-Revision-Date: 2017-04-21 05:59-0400\n"
 "Last-Translator: Copied by Zanata <copied-by-zanata@zanata.org>\n"
 "Language-Team: Thai <l10n@opentle.org>\n"
@@ -1199,7 +1199,7 @@ msgstr ""
 #: src/libnm-core-impl/nm-setting-cdma.c:144
 #: src/libnm-core-impl/nm-setting-connection.c:1149
 #: src/libnm-core-impl/nm-setting-connection.c:1187
-#: src/libnm-core-impl/nm-setting-connection.c:1516
+#: src/libnm-core-impl/nm-setting-connection.c:1530
 #: src/libnm-core-impl/nm-setting-ip-config.c:5423
 #: src/libnm-core-impl/nm-setting-ip-tunnel.c:387
 #: src/libnm-core-impl/nm-setting-olpc-mesh.c:99
@@ -1541,7 +1541,7 @@ msgstr ""
 #: src/libnm-core-impl/nm-setting-cdma.c:159
 #: src/libnm-core-impl/nm-setting-connection.c:1159
 #: src/libnm-core-impl/nm-setting-connection.c:1202
-#: src/libnm-core-impl/nm-setting-connection.c:1454
+#: src/libnm-core-impl/nm-setting-connection.c:1468
 #: src/libnm-core-impl/nm-setting-gsm.c:298
 #: src/libnm-core-impl/nm-setting-gsm.c:353
 #: src/libnm-core-impl/nm-setting-gsm.c:396
@@ -1825,7 +1825,7 @@ msgstr ""
 #: src/libnm-core-impl/nm-setting-connection.c:1351
 #: src/libnm-core-impl/nm-setting-connection.c:1365
 #: src/libnm-core-impl/nm-setting-connection.c:1379
-#: src/libnm-core-impl/nm-setting-connection.c:1440
+#: src/libnm-core-impl/nm-setting-connection.c:1454
 #, c-format
 msgid "value %d is not valid"
 msgstr ""
@@ -1834,52 +1834,56 @@ msgstr ""
 msgid "\"disabled\" flag cannot be combined with other MPTCP flags"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1409
+#: src/libnm-core-impl/nm-setting-connection.c:1411
+msgid "\"enabled\" and \"enabled-on-global-iface\" flag cannot be set together"
+msgstr ""
+
+#: src/libnm-core-impl/nm-setting-connection.c:1422
 msgid "cannot set both \"signal\" and \"fullmesh\" MPTCP flags"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1421
+#: src/libnm-core-impl/nm-setting-connection.c:1435
 #, c-format
 msgid "value %u is not a valid combination of MPTCP flags"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1468
+#: src/libnm-core-impl/nm-setting-connection.c:1482
 msgid "DHCP option cannot be longer than 255 characters"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1479
+#: src/libnm-core-impl/nm-setting-connection.c:1493
 #, fuzzy
 msgid "MUD URL is not a valid URL"
 msgstr "ที่อยู่ไอพี:"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1499
+#: src/libnm-core-impl/nm-setting-connection.c:1513
 #, fuzzy
 msgid "invalid permissions not in format \"user:$UNAME[:]\""
 msgstr "ที่อยู่ไอพี:"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1528
+#: src/libnm-core-impl/nm-setting-connection.c:1542
 #, c-format
 msgid "property type should be set to '%s'"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1546
+#: src/libnm-core-impl/nm-setting-connection.c:1560
 #, c-format
 msgid "slave-type '%s' requires a '%s' setting in the connection"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1557
+#: src/libnm-core-impl/nm-setting-connection.c:1571
 #, c-format
 msgid ""
 "Detect a slave connection with '%s' set and a port type '%s'. '%s' should be "
 "set to '%s'"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1583
+#: src/libnm-core-impl/nm-setting-connection.c:1597
 #, c-format
 msgid "A slave connection with '%s' set to '%s' cannot have a '%s' setting"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1600
+#: src/libnm-core-impl/nm-setting-connection.c:1614
 msgid "UUID needs normalization"
 msgstr ""
 
@@ -5828,29 +5832,25 @@ msgid ""
 "fc00::/7) and IPv6 privacy extension addresses (rfc3041, ipv6.ip6-privacy) "
 "will be excluded from being configured as endpoints. If \"disabled\" (0x1), "
 "MPTCP handling for the interface is disabled and no endpoints are "
-"registered. The \"enabled\" (0x2) flag means that MPTCP handling is enabled. "
-"This flag can also be implied from the presence of other flags. Even when "
-"enabled, MPTCP handling will by default still be disabled unless \"/proc/sys/"
-"net/mptcp/enabled\" sysctl is on. NetworkManager does not change the sysctl "
-"and this is up to the administrator or distribution. To configure endpoints "
-"even if the sysctl is disabled, \"also-without-sysctl\" (0x4) flag can be "
-"used. In that case, NetworkManager doesn't look at the sysctl and configures "
-"endpoints regardless. Even when enabled, NetworkManager will only configure "
-"MPTCP endpoints for a certain address family, if there is a unicast default "
-"route (0.0.0.0/0 or ::/0) in the main routing table. The flag \"also-without-"
-"default-route\" (0x8) can override that. When MPTCP handling is enabled then "
-"endpoints are configured with the specified address flags \"signal\" (0x10), "
-"\"subflow\" (0x20), \"backup\" (0x40), \"fullmesh\" (0x80). See ip-mptcp(8) "
-"manual for additional information about the flags. If the flags are zero "
-"(0x0), the global connection default from NetworkManager.conf is honored. If "
-"still unspecified, the fallback is \"enabled,subflow\". Note that this means "
-"that MPTCP is by default done depending on the \"/proc/sys/net/mptcp/"
-"enabled\" sysctl. NetworkManager does not change the MPTCP limits nor enable "
-"MPTCP via \"/proc/sys/net/mptcp/enabled\". That is a host configuration "
-"which the admin can change via sysctl and ip-mptcp. Strict reverse path "
-"filtering (rp_filter) breaks many MPTCP use cases, so when MPTCP handling "
-"for IPv4 addresses on the interface is enabled, NetworkManager would loosen "
-"the strict reverse path filtering (1) to the loose setting (2)."
+"registered. The flag \"enabled-on-global-iface\" (0x2) means that MPTCP "
+"handling is enabled if the interface configures a default route in the main "
+"routing table. This choice is per-address family, for example if there is an "
+"IPv4 default route 0.0.0.0/0, IPv4 endpoints are configured. The "
+"\"enabled\" (0x4) flag means that MPTCP handling is explicitly enabled. This "
+"flag can also be implied from the presence of other flags. If MPTCP handling "
+"is enabled, then endpoints will be configured with the specified address "
+"flags \"signal\" (0x10), \"subflow\" (0x20), \"backup\" (0x40), "
+"\"fullmesh\" (0x80). See ip-mptcp(8) manual for additional information about "
+"the flags. If the flags are zero, the global connection default from "
+"NetworkManager.conf is honored. If still unspecified, the fallback is either "
+"\"disabled\" or \"enabled-on-global-iface,subflow\" depending on \"/proc/sys/"
+"net/mptcp/enabled\". NetworkManager does not change the MPTCP limits nor "
+"enable MPTCP via \"/proc/sys/net/mptcp/enabled\". That is a host "
+"configuration which the admin can change via sysctl and ip-mptcp. Strict "
+"reverse path filtering (rp_filter) breaks many MPTCP use cases, so when "
+"MPTCP handling for IPv4 addresses on the interface is enabled, "
+"NetworkManager would loosen the strict reverse path filtering (1) to the "
+"loose setting (2)."
 msgstr ""
 
 #: src/libnmc-setting/settings-docs.h.in:18
@@ -7084,13 +7084,11 @@ msgstr ""
 #: src/libnmc-setting/settings-docs.h.in:200
 msgid ""
 "The gateway associated with this configuration. This is only meaningful if "
-"\"addresses\" is also set. Setting the gateway causes NetworkManager to "
-"configure a standard default route with the gateway as next hop. This is "
-"ignored if \"never-default\" is set. An alternative is to configure the "
-"default route explicitly with a manual route and /0 as prefix length. Note "
-"that the gateway usually conflicts with routing that NetworkManager "
-"configures for WireGuard interfaces, so usually it should not be set in that "
-"case. See \"ip4-auto-default-route\"."
+"\"addresses\" is also set. The gateway's main purpose is to control the next "
+"hop of the standard default route on the device. Hence, the gateway property "
+"conflicts with \"never-default\" and will be automatically dropped if the IP "
+"configuration is set to never-default. As an alternative to set the gateway, "
+"configure a static default route with /0 as prefix length."
 msgstr ""
 
 #: src/libnmc-setting/settings-docs.h.in:175
diff --git a/po/tr.po b/po/tr.po
index 16f232d3..71b768a7 100644
--- a/po/tr.po
+++ b/po/tr.po
@@ -12,7 +12,7 @@ msgstr ""
 "Project-Id-Version: NetworkManager\n"
 "Report-Msgid-Bugs-To: https://gitlab.freedesktop.org/NetworkManager/"
 "NetworkManager/issues\n"
-"POT-Creation-Date: 2022-08-26 16:42+0200\n"
+"POT-Creation-Date: 2022-08-11 16:06-0300\n"
 "PO-Revision-Date: 2017-04-21 06:01-0400\n"
 "Last-Translator: Copied by Zanata <copied-by-zanata@zanata.org>\n"
 "Language-Team: Türkçe <gnome-turk@gnome.org>\n"
@@ -1238,7 +1238,7 @@ msgstr ""
 #: src/libnm-core-impl/nm-setting-cdma.c:144
 #: src/libnm-core-impl/nm-setting-connection.c:1149
 #: src/libnm-core-impl/nm-setting-connection.c:1187
-#: src/libnm-core-impl/nm-setting-connection.c:1516
+#: src/libnm-core-impl/nm-setting-connection.c:1530
 #: src/libnm-core-impl/nm-setting-ip-config.c:5423
 #: src/libnm-core-impl/nm-setting-ip-tunnel.c:387
 #: src/libnm-core-impl/nm-setting-olpc-mesh.c:99
@@ -1582,7 +1582,7 @@ msgstr ""
 #: src/libnm-core-impl/nm-setting-cdma.c:159
 #: src/libnm-core-impl/nm-setting-connection.c:1159
 #: src/libnm-core-impl/nm-setting-connection.c:1202
-#: src/libnm-core-impl/nm-setting-connection.c:1454
+#: src/libnm-core-impl/nm-setting-connection.c:1468
 #: src/libnm-core-impl/nm-setting-gsm.c:298
 #: src/libnm-core-impl/nm-setting-gsm.c:353
 #: src/libnm-core-impl/nm-setting-gsm.c:396
@@ -1873,7 +1873,7 @@ msgstr "'%s' değeri geçerli bir UUID değil"
 #: src/libnm-core-impl/nm-setting-connection.c:1351
 #: src/libnm-core-impl/nm-setting-connection.c:1365
 #: src/libnm-core-impl/nm-setting-connection.c:1379
-#: src/libnm-core-impl/nm-setting-connection.c:1440
+#: src/libnm-core-impl/nm-setting-connection.c:1454
 #, fuzzy, c-format
 msgid "value %d is not valid"
 msgstr "'%s' değeri geçerli bir UUID değil"
@@ -1882,40 +1882,44 @@ msgstr "'%s' değeri geçerli bir UUID değil"
 msgid "\"disabled\" flag cannot be combined with other MPTCP flags"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1409
+#: src/libnm-core-impl/nm-setting-connection.c:1411
+msgid "\"enabled\" and \"enabled-on-global-iface\" flag cannot be set together"
+msgstr ""
+
+#: src/libnm-core-impl/nm-setting-connection.c:1422
 msgid "cannot set both \"signal\" and \"fullmesh\" MPTCP flags"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1421
+#: src/libnm-core-impl/nm-setting-connection.c:1435
 #, fuzzy, c-format
 msgid "value %u is not a valid combination of MPTCP flags"
 msgstr "'%s' geçerli değil; [%s] ya da [%s] kullanın"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1468
+#: src/libnm-core-impl/nm-setting-connection.c:1482
 msgid "DHCP option cannot be longer than 255 characters"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1479
+#: src/libnm-core-impl/nm-setting-connection.c:1493
 #, fuzzy
 msgid "MUD URL is not a valid URL"
 msgstr "'%s' geçerli bir UUID değil"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1499
+#: src/libnm-core-impl/nm-setting-connection.c:1513
 #, fuzzy
 msgid "invalid permissions not in format \"user:$UNAME[:]\""
 msgstr "geçersiz yönlendirme: %s"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1528
+#: src/libnm-core-impl/nm-setting-connection.c:1542
 #, c-format
 msgid "property type should be set to '%s'"
 msgstr "özellik türü '%s' olarak ayarlanmalı"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1546
+#: src/libnm-core-impl/nm-setting-connection.c:1560
 #, c-format
 msgid "slave-type '%s' requires a '%s' setting in the connection"
 msgstr "ikincil tür '%s' bağlantı ayarı olarak bir '%s' gereksinimi duyuyor"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1557
+#: src/libnm-core-impl/nm-setting-connection.c:1571
 #, c-format
 msgid ""
 "Detect a slave connection with '%s' set and a port type '%s'. '%s' should be "
@@ -1924,14 +1928,14 @@ msgstr ""
 "'%s' atanmış ve bağlantı noktası türü '%s' olan bir ikincil bağlantı "
 "algılandı. '%s' '%s' olarak atanmalıdır."
 
-#: src/libnm-core-impl/nm-setting-connection.c:1583
+#: src/libnm-core-impl/nm-setting-connection.c:1597
 #, fuzzy, c-format
 msgid "A slave connection with '%s' set to '%s' cannot have a '%s' setting"
 msgstr ""
 "'%s' atanmış ve bağlantı noktası türü '%s' olan bir ikincil bağlantı "
 "algılandı. '%s' '%s' olarak atanmalıdır."
 
-#: src/libnm-core-impl/nm-setting-connection.c:1600
+#: src/libnm-core-impl/nm-setting-connection.c:1614
 msgid "UUID needs normalization"
 msgstr ""
 
@@ -6118,29 +6122,25 @@ msgid ""
 "fc00::/7) and IPv6 privacy extension addresses (rfc3041, ipv6.ip6-privacy) "
 "will be excluded from being configured as endpoints. If \"disabled\" (0x1), "
 "MPTCP handling for the interface is disabled and no endpoints are "
-"registered. The \"enabled\" (0x2) flag means that MPTCP handling is enabled. "
-"This flag can also be implied from the presence of other flags. Even when "
-"enabled, MPTCP handling will by default still be disabled unless \"/proc/sys/"
-"net/mptcp/enabled\" sysctl is on. NetworkManager does not change the sysctl "
-"and this is up to the administrator or distribution. To configure endpoints "
-"even if the sysctl is disabled, \"also-without-sysctl\" (0x4) flag can be "
-"used. In that case, NetworkManager doesn't look at the sysctl and configures "
-"endpoints regardless. Even when enabled, NetworkManager will only configure "
-"MPTCP endpoints for a certain address family, if there is a unicast default "
-"route (0.0.0.0/0 or ::/0) in the main routing table. The flag \"also-without-"
-"default-route\" (0x8) can override that. When MPTCP handling is enabled then "
-"endpoints are configured with the specified address flags \"signal\" (0x10), "
-"\"subflow\" (0x20), \"backup\" (0x40), \"fullmesh\" (0x80). See ip-mptcp(8) "
-"manual for additional information about the flags. If the flags are zero "
-"(0x0), the global connection default from NetworkManager.conf is honored. If "
-"still unspecified, the fallback is \"enabled,subflow\". Note that this means "
-"that MPTCP is by default done depending on the \"/proc/sys/net/mptcp/"
-"enabled\" sysctl. NetworkManager does not change the MPTCP limits nor enable "
-"MPTCP via \"/proc/sys/net/mptcp/enabled\". That is a host configuration "
-"which the admin can change via sysctl and ip-mptcp. Strict reverse path "
-"filtering (rp_filter) breaks many MPTCP use cases, so when MPTCP handling "
-"for IPv4 addresses on the interface is enabled, NetworkManager would loosen "
-"the strict reverse path filtering (1) to the loose setting (2)."
+"registered. The flag \"enabled-on-global-iface\" (0x2) means that MPTCP "
+"handling is enabled if the interface configures a default route in the main "
+"routing table. This choice is per-address family, for example if there is an "
+"IPv4 default route 0.0.0.0/0, IPv4 endpoints are configured. The "
+"\"enabled\" (0x4) flag means that MPTCP handling is explicitly enabled. This "
+"flag can also be implied from the presence of other flags. If MPTCP handling "
+"is enabled, then endpoints will be configured with the specified address "
+"flags \"signal\" (0x10), \"subflow\" (0x20), \"backup\" (0x40), "
+"\"fullmesh\" (0x80). See ip-mptcp(8) manual for additional information about "
+"the flags. If the flags are zero, the global connection default from "
+"NetworkManager.conf is honored. If still unspecified, the fallback is either "
+"\"disabled\" or \"enabled-on-global-iface,subflow\" depending on \"/proc/sys/"
+"net/mptcp/enabled\". NetworkManager does not change the MPTCP limits nor "
+"enable MPTCP via \"/proc/sys/net/mptcp/enabled\". That is a host "
+"configuration which the admin can change via sysctl and ip-mptcp. Strict "
+"reverse path filtering (rp_filter) breaks many MPTCP use cases, so when "
+"MPTCP handling for IPv4 addresses on the interface is enabled, "
+"NetworkManager would loosen the strict reverse path filtering (1) to the "
+"loose setting (2)."
 msgstr ""
 
 #: src/libnmc-setting/settings-docs.h.in:18
@@ -7374,13 +7374,11 @@ msgstr ""
 #: src/libnmc-setting/settings-docs.h.in:200
 msgid ""
 "The gateway associated with this configuration. This is only meaningful if "
-"\"addresses\" is also set. Setting the gateway causes NetworkManager to "
-"configure a standard default route with the gateway as next hop. This is "
-"ignored if \"never-default\" is set. An alternative is to configure the "
-"default route explicitly with a manual route and /0 as prefix length. Note "
-"that the gateway usually conflicts with routing that NetworkManager "
-"configures for WireGuard interfaces, so usually it should not be set in that "
-"case. See \"ip4-auto-default-route\"."
+"\"addresses\" is also set. The gateway's main purpose is to control the next "
+"hop of the standard default route on the device. Hence, the gateway property "
+"conflicts with \"never-default\" and will be automatically dropped if the IP "
+"configuration is set to never-default. As an alternative to set the gateway, "
+"configure a static default route with /0 as prefix length."
 msgstr ""
 
 #: src/libnmc-setting/settings-docs.h.in:175
diff --git a/po/uk.gmo b/po/uk.gmo
index 1b95d9a4..095d13a2 100644
--- a/po/uk.gmo
+++ b/po/uk.gmo
Binary files differdiff --git a/po/uk.po b/po/uk.po
index 9c75f0a1..ad03dd5e 100644
--- a/po/uk.po
+++ b/po/uk.po
@@ -10,7 +10,7 @@ msgstr ""
 "Project-Id-Version: NetworkManager\n"
 "Report-Msgid-Bugs-To: https://gitlab.freedesktop.org/NetworkManager/"
 "NetworkManager/issues\n"
-"POT-Creation-Date: 2022-08-26 16:42+0200\n"
+"POT-Creation-Date: 2022-08-11 16:06-0300\n"
 "PO-Revision-Date: 2022-07-03 08:50+0300\n"
 "Last-Translator: Yuri Chornoivan <yurchor@ukr.net>\n"
 "Language-Team: Ukrainian <kde-i18n-uk@kde.org>\n"
@@ -1212,7 +1212,7 @@ msgstr "неочікуваний UUID %s заміÑть %s"
 #: src/libnm-core-impl/nm-setting-cdma.c:144
 #: src/libnm-core-impl/nm-setting-connection.c:1149
 #: src/libnm-core-impl/nm-setting-connection.c:1187
-#: src/libnm-core-impl/nm-setting-connection.c:1516
+#: src/libnm-core-impl/nm-setting-connection.c:1530
 #: src/libnm-core-impl/nm-setting-ip-config.c:5423
 #: src/libnm-core-impl/nm-setting-ip-tunnel.c:387
 #: src/libnm-core-impl/nm-setting-olpc-mesh.c:99
@@ -1560,7 +1560,7 @@ msgstr ""
 #: src/libnm-core-impl/nm-setting-cdma.c:159
 #: src/libnm-core-impl/nm-setting-connection.c:1159
 #: src/libnm-core-impl/nm-setting-connection.c:1202
-#: src/libnm-core-impl/nm-setting-connection.c:1454
+#: src/libnm-core-impl/nm-setting-connection.c:1468
 #: src/libnm-core-impl/nm-setting-gsm.c:298
 #: src/libnm-core-impl/nm-setting-gsm.c:353
 #: src/libnm-core-impl/nm-setting-gsm.c:396
@@ -1844,7 +1844,7 @@ msgstr "лічильне Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ %d Ñ” некоректним"
 #: src/libnm-core-impl/nm-setting-connection.c:1351
 #: src/libnm-core-impl/nm-setting-connection.c:1365
 #: src/libnm-core-impl/nm-setting-connection.c:1379
-#: src/libnm-core-impl/nm-setting-connection.c:1440
+#: src/libnm-core-impl/nm-setting-connection.c:1454
 #, c-format
 msgid "value %d is not valid"
 msgstr "Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ %d Ñ” некоректним"
@@ -1853,39 +1853,43 @@ msgstr "Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ %d Ñ” некоректним"
 msgid "\"disabled\" flag cannot be combined with other MPTCP flags"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1409
+#: src/libnm-core-impl/nm-setting-connection.c:1411
+msgid "\"enabled\" and \"enabled-on-global-iface\" flag cannot be set together"
+msgstr ""
+
+#: src/libnm-core-impl/nm-setting-connection.c:1422
 msgid "cannot set both \"signal\" and \"fullmesh\" MPTCP flags"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1421
+#: src/libnm-core-impl/nm-setting-connection.c:1435
 #, fuzzy, c-format
 #| msgid "'%u' flags are not valid; use combination of %s"
 msgid "value %u is not a valid combination of MPTCP flags"
 msgstr "прапорці «%u» не Ñ” коректними; ÑкориÑтайтеÑÑ ÐºÐ¾Ð¼Ð±Ñ–Ð½Ð°Ñ†Ñ–Ñ”ÑŽ з %s"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1468
+#: src/libnm-core-impl/nm-setting-connection.c:1482
 msgid "DHCP option cannot be longer than 255 characters"
 msgstr "Довжина параметра DHCP не може перевищувати 255 Ñимволів"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1479
+#: src/libnm-core-impl/nm-setting-connection.c:1493
 msgid "MUD URL is not a valid URL"
 msgstr "ÐдреÑа MUD не Ñ” коректною адреÑою"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1499
+#: src/libnm-core-impl/nm-setting-connection.c:1513
 msgid "invalid permissions not in format \"user:$UNAME[:]\""
 msgstr "некоректний Ð·Ð°Ð¿Ð¸Ñ Ð¿Ñ€Ð°Ð² доÑтупу, не у форматі «кориÑтувач:$UNAME[:]»"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1528
+#: src/libnm-core-impl/nm-setting-connection.c:1542
 #, c-format
 msgid "property type should be set to '%s'"
 msgstr "тип влаÑтивоÑті має бути вÑтановлено у Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Â«%s»"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1546
+#: src/libnm-core-impl/nm-setting-connection.c:1560
 #, c-format
 msgid "slave-type '%s' requires a '%s' setting in the connection"
 msgstr "тип підлеглого з'Ñ”Ð´Ð½Ð°Ð½Ð½Ñ Â«%s» потребує параметра «%s» у з'єднанні"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1557
+#: src/libnm-core-impl/nm-setting-connection.c:1571
 #, c-format
 msgid ""
 "Detect a slave connection with '%s' set and a port type '%s'. '%s' should be "
@@ -1894,14 +1898,14 @@ msgstr ""
 "Визначити підлегле з'Ñ”Ð´Ð½Ð°Ð½Ð½Ñ Ð·Ñ– вÑтановленим «%s» Ñ– типом порту «%s». «%s» "
 "Ñлід вÑтановити у Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Â«%s»"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1583
+#: src/libnm-core-impl/nm-setting-connection.c:1597
 #, c-format
 msgid "A slave connection with '%s' set to '%s' cannot have a '%s' setting"
 msgstr ""
 "Підлегле з'Ñ”Ð´Ð½Ð°Ð½Ð½Ñ Ð· «%s», переведене у режим «%s», не може мати параметра "
 "«%s»"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1600
+#: src/libnm-core-impl/nm-setting-connection.c:1614
 msgid "UUID needs normalization"
 msgstr "UUID потребує нормалізації"
 
@@ -6108,29 +6112,25 @@ msgid ""
 "fc00::/7) and IPv6 privacy extension addresses (rfc3041, ipv6.ip6-privacy) "
 "will be excluded from being configured as endpoints. If \"disabled\" (0x1), "
 "MPTCP handling for the interface is disabled and no endpoints are "
-"registered. The \"enabled\" (0x2) flag means that MPTCP handling is enabled. "
-"This flag can also be implied from the presence of other flags. Even when "
-"enabled, MPTCP handling will by default still be disabled unless \"/proc/sys/"
-"net/mptcp/enabled\" sysctl is on. NetworkManager does not change the sysctl "
-"and this is up to the administrator or distribution. To configure endpoints "
-"even if the sysctl is disabled, \"also-without-sysctl\" (0x4) flag can be "
-"used. In that case, NetworkManager doesn't look at the sysctl and configures "
-"endpoints regardless. Even when enabled, NetworkManager will only configure "
-"MPTCP endpoints for a certain address family, if there is a unicast default "
-"route (0.0.0.0/0 or ::/0) in the main routing table. The flag \"also-without-"
-"default-route\" (0x8) can override that. When MPTCP handling is enabled then "
-"endpoints are configured with the specified address flags \"signal\" (0x10), "
-"\"subflow\" (0x20), \"backup\" (0x40), \"fullmesh\" (0x80). See ip-mptcp(8) "
-"manual for additional information about the flags. If the flags are zero "
-"(0x0), the global connection default from NetworkManager.conf is honored. If "
-"still unspecified, the fallback is \"enabled,subflow\". Note that this means "
-"that MPTCP is by default done depending on the \"/proc/sys/net/mptcp/"
-"enabled\" sysctl. NetworkManager does not change the MPTCP limits nor enable "
-"MPTCP via \"/proc/sys/net/mptcp/enabled\". That is a host configuration "
-"which the admin can change via sysctl and ip-mptcp. Strict reverse path "
-"filtering (rp_filter) breaks many MPTCP use cases, so when MPTCP handling "
-"for IPv4 addresses on the interface is enabled, NetworkManager would loosen "
-"the strict reverse path filtering (1) to the loose setting (2)."
+"registered. The flag \"enabled-on-global-iface\" (0x2) means that MPTCP "
+"handling is enabled if the interface configures a default route in the main "
+"routing table. This choice is per-address family, for example if there is an "
+"IPv4 default route 0.0.0.0/0, IPv4 endpoints are configured. The "
+"\"enabled\" (0x4) flag means that MPTCP handling is explicitly enabled. This "
+"flag can also be implied from the presence of other flags. If MPTCP handling "
+"is enabled, then endpoints will be configured with the specified address "
+"flags \"signal\" (0x10), \"subflow\" (0x20), \"backup\" (0x40), "
+"\"fullmesh\" (0x80). See ip-mptcp(8) manual for additional information about "
+"the flags. If the flags are zero, the global connection default from "
+"NetworkManager.conf is honored. If still unspecified, the fallback is either "
+"\"disabled\" or \"enabled-on-global-iface,subflow\" depending on \"/proc/sys/"
+"net/mptcp/enabled\". NetworkManager does not change the MPTCP limits nor "
+"enable MPTCP via \"/proc/sys/net/mptcp/enabled\". That is a host "
+"configuration which the admin can change via sysctl and ip-mptcp. Strict "
+"reverse path filtering (rp_filter) breaks many MPTCP use cases, so when "
+"MPTCP handling for IPv4 addresses on the interface is enabled, "
+"NetworkManager would loosen the strict reverse path filtering (1) to the "
+"loose setting (2)."
 msgstr ""
 
 #: src/libnmc-setting/settings-docs.h.in:18
@@ -8098,24 +8098,13 @@ msgstr ""
 
 #: src/libnmc-setting/settings-docs.h.in:174
 #: src/libnmc-setting/settings-docs.h.in:200
-#, fuzzy
-#| msgid ""
-#| "The gateway associated with this configuration. This is only meaningful "
-#| "if \"addresses\" is also set. The gateway's main purpose is to control "
-#| "the next hop of the standard default route on the device. Hence, the "
-#| "gateway property conflicts with \"never-default\" and will be "
-#| "automatically dropped if the IP configuration is set to never-default. As "
-#| "an alternative to set the gateway, configure a static default route "
-#| "with /0 as prefix length."
 msgid ""
 "The gateway associated with this configuration. This is only meaningful if "
-"\"addresses\" is also set. Setting the gateway causes NetworkManager to "
-"configure a standard default route with the gateway as next hop. This is "
-"ignored if \"never-default\" is set. An alternative is to configure the "
-"default route explicitly with a manual route and /0 as prefix length. Note "
-"that the gateway usually conflicts with routing that NetworkManager "
-"configures for WireGuard interfaces, so usually it should not be set in that "
-"case. See \"ip4-auto-default-route\"."
+"\"addresses\" is also set. The gateway's main purpose is to control the next "
+"hop of the standard default route on the device. Hence, the gateway property "
+"conflicts with \"never-default\" and will be automatically dropped if the IP "
+"configuration is set to never-default. As an alternative to set the gateway, "
+"configure a static default route with /0 as prefix length."
 msgstr ""
 "Шлюз, Ñкий пов'Ñзано із цими налаштуваннÑми. Має значеннÑ, лише Ñкщо вказано "
 "«addresses». ОÑновним призначеннÑм шлюзу Ñ” ÐºÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ Ð½Ð°Ñтупним переходом у "
diff --git a/po/vi.po b/po/vi.po
index 7463a767..56a8bd70 100644
--- a/po/vi.po
+++ b/po/vi.po
@@ -8,7 +8,7 @@ msgstr ""
 "Project-Id-Version: NetworkManager\n"
 "Report-Msgid-Bugs-To: https://gitlab.freedesktop.org/NetworkManager/"
 "NetworkManager/issues\n"
-"POT-Creation-Date: 2022-08-26 16:42+0200\n"
+"POT-Creation-Date: 2022-08-11 16:06-0300\n"
 "PO-Revision-Date: 2017-04-21 06:11-0400\n"
 "Last-Translator: Copied by Zanata <copied-by-zanata@zanata.org>\n"
 "Language-Team: Vietnamese <vi-VN@googlegroups.com>\n"
@@ -1145,7 +1145,7 @@ msgstr ""
 #: src/libnm-core-impl/nm-setting-cdma.c:144
 #: src/libnm-core-impl/nm-setting-connection.c:1149
 #: src/libnm-core-impl/nm-setting-connection.c:1187
-#: src/libnm-core-impl/nm-setting-connection.c:1516
+#: src/libnm-core-impl/nm-setting-connection.c:1530
 #: src/libnm-core-impl/nm-setting-ip-config.c:5423
 #: src/libnm-core-impl/nm-setting-ip-tunnel.c:387
 #: src/libnm-core-impl/nm-setting-olpc-mesh.c:99
@@ -1487,7 +1487,7 @@ msgstr ""
 #: src/libnm-core-impl/nm-setting-cdma.c:159
 #: src/libnm-core-impl/nm-setting-connection.c:1159
 #: src/libnm-core-impl/nm-setting-connection.c:1202
-#: src/libnm-core-impl/nm-setting-connection.c:1454
+#: src/libnm-core-impl/nm-setting-connection.c:1468
 #: src/libnm-core-impl/nm-setting-gsm.c:298
 #: src/libnm-core-impl/nm-setting-gsm.c:353
 #: src/libnm-core-impl/nm-setting-gsm.c:396
@@ -1769,7 +1769,7 @@ msgstr ""
 #: src/libnm-core-impl/nm-setting-connection.c:1351
 #: src/libnm-core-impl/nm-setting-connection.c:1365
 #: src/libnm-core-impl/nm-setting-connection.c:1379
-#: src/libnm-core-impl/nm-setting-connection.c:1440
+#: src/libnm-core-impl/nm-setting-connection.c:1454
 #, c-format
 msgid "value %d is not valid"
 msgstr ""
@@ -1778,52 +1778,56 @@ msgstr ""
 msgid "\"disabled\" flag cannot be combined with other MPTCP flags"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1409
+#: src/libnm-core-impl/nm-setting-connection.c:1411
+msgid "\"enabled\" and \"enabled-on-global-iface\" flag cannot be set together"
+msgstr ""
+
+#: src/libnm-core-impl/nm-setting-connection.c:1422
 msgid "cannot set both \"signal\" and \"fullmesh\" MPTCP flags"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1421
+#: src/libnm-core-impl/nm-setting-connection.c:1435
 #, c-format
 msgid "value %u is not a valid combination of MPTCP flags"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1468
+#: src/libnm-core-impl/nm-setting-connection.c:1482
 msgid "DHCP option cannot be longer than 255 characters"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1479
+#: src/libnm-core-impl/nm-setting-connection.c:1493
 #, fuzzy
 msgid "MUD URL is not a valid URL"
 msgstr "Không thể giải mã khoá riêng."
 
-#: src/libnm-core-impl/nm-setting-connection.c:1499
+#: src/libnm-core-impl/nm-setting-connection.c:1513
 #, fuzzy
 msgid "invalid permissions not in format \"user:$UNAME[:]\""
 msgstr "Gặp lỗi khi sơ khởi dữ liệu chứng nhận: %s"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1528
+#: src/libnm-core-impl/nm-setting-connection.c:1542
 #, c-format
 msgid "property type should be set to '%s'"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1546
+#: src/libnm-core-impl/nm-setting-connection.c:1560
 #, c-format
 msgid "slave-type '%s' requires a '%s' setting in the connection"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1557
+#: src/libnm-core-impl/nm-setting-connection.c:1571
 #, c-format
 msgid ""
 "Detect a slave connection with '%s' set and a port type '%s'. '%s' should be "
 "set to '%s'"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1583
+#: src/libnm-core-impl/nm-setting-connection.c:1597
 #, c-format
 msgid "A slave connection with '%s' set to '%s' cannot have a '%s' setting"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1600
+#: src/libnm-core-impl/nm-setting-connection.c:1614
 msgid "UUID needs normalization"
 msgstr ""
 
@@ -5719,29 +5723,25 @@ msgid ""
 "fc00::/7) and IPv6 privacy extension addresses (rfc3041, ipv6.ip6-privacy) "
 "will be excluded from being configured as endpoints. If \"disabled\" (0x1), "
 "MPTCP handling for the interface is disabled and no endpoints are "
-"registered. The \"enabled\" (0x2) flag means that MPTCP handling is enabled. "
-"This flag can also be implied from the presence of other flags. Even when "
-"enabled, MPTCP handling will by default still be disabled unless \"/proc/sys/"
-"net/mptcp/enabled\" sysctl is on. NetworkManager does not change the sysctl "
-"and this is up to the administrator or distribution. To configure endpoints "
-"even if the sysctl is disabled, \"also-without-sysctl\" (0x4) flag can be "
-"used. In that case, NetworkManager doesn't look at the sysctl and configures "
-"endpoints regardless. Even when enabled, NetworkManager will only configure "
-"MPTCP endpoints for a certain address family, if there is a unicast default "
-"route (0.0.0.0/0 or ::/0) in the main routing table. The flag \"also-without-"
-"default-route\" (0x8) can override that. When MPTCP handling is enabled then "
-"endpoints are configured with the specified address flags \"signal\" (0x10), "
-"\"subflow\" (0x20), \"backup\" (0x40), \"fullmesh\" (0x80). See ip-mptcp(8) "
-"manual for additional information about the flags. If the flags are zero "
-"(0x0), the global connection default from NetworkManager.conf is honored. If "
-"still unspecified, the fallback is \"enabled,subflow\". Note that this means "
-"that MPTCP is by default done depending on the \"/proc/sys/net/mptcp/"
-"enabled\" sysctl. NetworkManager does not change the MPTCP limits nor enable "
-"MPTCP via \"/proc/sys/net/mptcp/enabled\". That is a host configuration "
-"which the admin can change via sysctl and ip-mptcp. Strict reverse path "
-"filtering (rp_filter) breaks many MPTCP use cases, so when MPTCP handling "
-"for IPv4 addresses on the interface is enabled, NetworkManager would loosen "
-"the strict reverse path filtering (1) to the loose setting (2)."
+"registered. The flag \"enabled-on-global-iface\" (0x2) means that MPTCP "
+"handling is enabled if the interface configures a default route in the main "
+"routing table. This choice is per-address family, for example if there is an "
+"IPv4 default route 0.0.0.0/0, IPv4 endpoints are configured. The "
+"\"enabled\" (0x4) flag means that MPTCP handling is explicitly enabled. This "
+"flag can also be implied from the presence of other flags. If MPTCP handling "
+"is enabled, then endpoints will be configured with the specified address "
+"flags \"signal\" (0x10), \"subflow\" (0x20), \"backup\" (0x40), "
+"\"fullmesh\" (0x80). See ip-mptcp(8) manual for additional information about "
+"the flags. If the flags are zero, the global connection default from "
+"NetworkManager.conf is honored. If still unspecified, the fallback is either "
+"\"disabled\" or \"enabled-on-global-iface,subflow\" depending on \"/proc/sys/"
+"net/mptcp/enabled\". NetworkManager does not change the MPTCP limits nor "
+"enable MPTCP via \"/proc/sys/net/mptcp/enabled\". That is a host "
+"configuration which the admin can change via sysctl and ip-mptcp. Strict "
+"reverse path filtering (rp_filter) breaks many MPTCP use cases, so when "
+"MPTCP handling for IPv4 addresses on the interface is enabled, "
+"NetworkManager would loosen the strict reverse path filtering (1) to the "
+"loose setting (2)."
 msgstr ""
 
 #: src/libnmc-setting/settings-docs.h.in:18
@@ -6975,13 +6975,11 @@ msgstr ""
 #: src/libnmc-setting/settings-docs.h.in:200
 msgid ""
 "The gateway associated with this configuration. This is only meaningful if "
-"\"addresses\" is also set. Setting the gateway causes NetworkManager to "
-"configure a standard default route with the gateway as next hop. This is "
-"ignored if \"never-default\" is set. An alternative is to configure the "
-"default route explicitly with a manual route and /0 as prefix length. Note "
-"that the gateway usually conflicts with routing that NetworkManager "
-"configures for WireGuard interfaces, so usually it should not be set in that "
-"case. See \"ip4-auto-default-route\"."
+"\"addresses\" is also set. The gateway's main purpose is to control the next "
+"hop of the standard default route on the device. Hence, the gateway property "
+"conflicts with \"never-default\" and will be automatically dropped if the IP "
+"configuration is set to never-default. As an alternative to set the gateway, "
+"configure a static default route with /0 as prefix length."
 msgstr ""
 
 #: src/libnmc-setting/settings-docs.h.in:175
diff --git a/po/wa.po b/po/wa.po
index 2d693ca0..23963fb7 100644
--- a/po/wa.po
+++ b/po/wa.po
@@ -8,7 +8,7 @@ msgstr ""
 "Project-Id-Version: NetworkManager\n"
 "Report-Msgid-Bugs-To: https://gitlab.freedesktop.org/NetworkManager/"
 "NetworkManager/issues\n"
-"POT-Creation-Date: 2022-08-26 16:42+0200\n"
+"POT-Creation-Date: 2022-08-11 16:06-0300\n"
 "PO-Revision-Date: 2004-09-09 10:41+0200\n"
 "Last-Translator: Pablo Saratxaga <pablo@walon.org>\n"
 "Language-Team: Walloon <linux-wa@walon.org>\n"
@@ -1168,7 +1168,7 @@ msgstr ""
 #: src/libnm-core-impl/nm-setting-cdma.c:144
 #: src/libnm-core-impl/nm-setting-connection.c:1149
 #: src/libnm-core-impl/nm-setting-connection.c:1187
-#: src/libnm-core-impl/nm-setting-connection.c:1516
+#: src/libnm-core-impl/nm-setting-connection.c:1530
 #: src/libnm-core-impl/nm-setting-ip-config.c:5423
 #: src/libnm-core-impl/nm-setting-ip-tunnel.c:387
 #: src/libnm-core-impl/nm-setting-olpc-mesh.c:99
@@ -1510,7 +1510,7 @@ msgstr ""
 #: src/libnm-core-impl/nm-setting-cdma.c:159
 #: src/libnm-core-impl/nm-setting-connection.c:1159
 #: src/libnm-core-impl/nm-setting-connection.c:1202
-#: src/libnm-core-impl/nm-setting-connection.c:1454
+#: src/libnm-core-impl/nm-setting-connection.c:1468
 #: src/libnm-core-impl/nm-setting-gsm.c:298
 #: src/libnm-core-impl/nm-setting-gsm.c:353
 #: src/libnm-core-impl/nm-setting-gsm.c:396
@@ -1793,7 +1793,7 @@ msgstr ""
 #: src/libnm-core-impl/nm-setting-connection.c:1351
 #: src/libnm-core-impl/nm-setting-connection.c:1365
 #: src/libnm-core-impl/nm-setting-connection.c:1379
-#: src/libnm-core-impl/nm-setting-connection.c:1440
+#: src/libnm-core-impl/nm-setting-connection.c:1454
 #, c-format
 msgid "value %d is not valid"
 msgstr ""
@@ -1802,51 +1802,55 @@ msgstr ""
 msgid "\"disabled\" flag cannot be combined with other MPTCP flags"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1409
+#: src/libnm-core-impl/nm-setting-connection.c:1411
+msgid "\"enabled\" and \"enabled-on-global-iface\" flag cannot be set together"
+msgstr ""
+
+#: src/libnm-core-impl/nm-setting-connection.c:1422
 msgid "cannot set both \"signal\" and \"fullmesh\" MPTCP flags"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1421
+#: src/libnm-core-impl/nm-setting-connection.c:1435
 #, c-format
 msgid "value %u is not a valid combination of MPTCP flags"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1468
+#: src/libnm-core-impl/nm-setting-connection.c:1482
 msgid "DHCP option cannot be longer than 255 characters"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1479
+#: src/libnm-core-impl/nm-setting-connection.c:1493
 msgid "MUD URL is not a valid URL"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1499
+#: src/libnm-core-impl/nm-setting-connection.c:1513
 #, fuzzy
 msgid "invalid permissions not in format \"user:$UNAME[:]\""
 msgstr "Raloyaedjes rantoele"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1528
+#: src/libnm-core-impl/nm-setting-connection.c:1542
 #, c-format
 msgid "property type should be set to '%s'"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1546
+#: src/libnm-core-impl/nm-setting-connection.c:1560
 #, c-format
 msgid "slave-type '%s' requires a '%s' setting in the connection"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1557
+#: src/libnm-core-impl/nm-setting-connection.c:1571
 #, c-format
 msgid ""
 "Detect a slave connection with '%s' set and a port type '%s'. '%s' should be "
 "set to '%s'"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1583
+#: src/libnm-core-impl/nm-setting-connection.c:1597
 #, c-format
 msgid "A slave connection with '%s' set to '%s' cannot have a '%s' setting"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1600
+#: src/libnm-core-impl/nm-setting-connection.c:1614
 msgid "UUID needs normalization"
 msgstr ""
 
@@ -5801,29 +5805,25 @@ msgid ""
 "fc00::/7) and IPv6 privacy extension addresses (rfc3041, ipv6.ip6-privacy) "
 "will be excluded from being configured as endpoints. If \"disabled\" (0x1), "
 "MPTCP handling for the interface is disabled and no endpoints are "
-"registered. The \"enabled\" (0x2) flag means that MPTCP handling is enabled. "
-"This flag can also be implied from the presence of other flags. Even when "
-"enabled, MPTCP handling will by default still be disabled unless \"/proc/sys/"
-"net/mptcp/enabled\" sysctl is on. NetworkManager does not change the sysctl "
-"and this is up to the administrator or distribution. To configure endpoints "
-"even if the sysctl is disabled, \"also-without-sysctl\" (0x4) flag can be "
-"used. In that case, NetworkManager doesn't look at the sysctl and configures "
-"endpoints regardless. Even when enabled, NetworkManager will only configure "
-"MPTCP endpoints for a certain address family, if there is a unicast default "
-"route (0.0.0.0/0 or ::/0) in the main routing table. The flag \"also-without-"
-"default-route\" (0x8) can override that. When MPTCP handling is enabled then "
-"endpoints are configured with the specified address flags \"signal\" (0x10), "
-"\"subflow\" (0x20), \"backup\" (0x40), \"fullmesh\" (0x80). See ip-mptcp(8) "
-"manual for additional information about the flags. If the flags are zero "
-"(0x0), the global connection default from NetworkManager.conf is honored. If "
-"still unspecified, the fallback is \"enabled,subflow\". Note that this means "
-"that MPTCP is by default done depending on the \"/proc/sys/net/mptcp/"
-"enabled\" sysctl. NetworkManager does not change the MPTCP limits nor enable "
-"MPTCP via \"/proc/sys/net/mptcp/enabled\". That is a host configuration "
-"which the admin can change via sysctl and ip-mptcp. Strict reverse path "
-"filtering (rp_filter) breaks many MPTCP use cases, so when MPTCP handling "
-"for IPv4 addresses on the interface is enabled, NetworkManager would loosen "
-"the strict reverse path filtering (1) to the loose setting (2)."
+"registered. The flag \"enabled-on-global-iface\" (0x2) means that MPTCP "
+"handling is enabled if the interface configures a default route in the main "
+"routing table. This choice is per-address family, for example if there is an "
+"IPv4 default route 0.0.0.0/0, IPv4 endpoints are configured. The "
+"\"enabled\" (0x4) flag means that MPTCP handling is explicitly enabled. This "
+"flag can also be implied from the presence of other flags. If MPTCP handling "
+"is enabled, then endpoints will be configured with the specified address "
+"flags \"signal\" (0x10), \"subflow\" (0x20), \"backup\" (0x40), "
+"\"fullmesh\" (0x80). See ip-mptcp(8) manual for additional information about "
+"the flags. If the flags are zero, the global connection default from "
+"NetworkManager.conf is honored. If still unspecified, the fallback is either "
+"\"disabled\" or \"enabled-on-global-iface,subflow\" depending on \"/proc/sys/"
+"net/mptcp/enabled\". NetworkManager does not change the MPTCP limits nor "
+"enable MPTCP via \"/proc/sys/net/mptcp/enabled\". That is a host "
+"configuration which the admin can change via sysctl and ip-mptcp. Strict "
+"reverse path filtering (rp_filter) breaks many MPTCP use cases, so when "
+"MPTCP handling for IPv4 addresses on the interface is enabled, "
+"NetworkManager would loosen the strict reverse path filtering (1) to the "
+"loose setting (2)."
 msgstr ""
 
 #: src/libnmc-setting/settings-docs.h.in:18
@@ -7059,13 +7059,11 @@ msgstr ""
 #: src/libnmc-setting/settings-docs.h.in:200
 msgid ""
 "The gateway associated with this configuration. This is only meaningful if "
-"\"addresses\" is also set. Setting the gateway causes NetworkManager to "
-"configure a standard default route with the gateway as next hop. This is "
-"ignored if \"never-default\" is set. An alternative is to configure the "
-"default route explicitly with a manual route and /0 as prefix length. Note "
-"that the gateway usually conflicts with routing that NetworkManager "
-"configures for WireGuard interfaces, so usually it should not be set in that "
-"case. See \"ip4-auto-default-route\"."
+"\"addresses\" is also set. The gateway's main purpose is to control the next "
+"hop of the standard default route on the device. Hence, the gateway property "
+"conflicts with \"never-default\" and will be automatically dropped if the IP "
+"configuration is set to never-default. As an alternative to set the gateway, "
+"configure a static default route with /0 as prefix length."
 msgstr ""
 
 #: src/libnmc-setting/settings-docs.h.in:175
diff --git a/po/zh_CN.gmo b/po/zh_CN.gmo
index 7b4d8292..2a3d13f8 100644
--- a/po/zh_CN.gmo
+++ b/po/zh_CN.gmo
Binary files differdiff --git a/po/zh_CN.po b/po/zh_CN.po
index 7b6d585a..536abd0a 100644
--- a/po/zh_CN.po
+++ b/po/zh_CN.po
@@ -20,7 +20,7 @@ msgstr ""
 "Project-Id-Version: NetworkManager\n"
 "Report-Msgid-Bugs-To: https://gitlab.freedesktop.org/NetworkManager/"
 "NetworkManager/issues\n"
-"POT-Creation-Date: 2022-08-26 16:42+0200\n"
+"POT-Creation-Date: 2022-08-11 16:06-0300\n"
 "PO-Revision-Date: 2021-11-09 20:06+0800\n"
 "Last-Translator: Dingzhong Chen <wsxy162@gmail.com>\n"
 "Language-Team: Chinese - China <i18n-zh@googlegroups.com>\n"
@@ -1157,7 +1157,7 @@ msgstr "éžé¢„期的 uuid %sï¼Œè€Œä¸æ˜¯ %s"
 #: src/libnm-core-impl/nm-setting-cdma.c:144
 #: src/libnm-core-impl/nm-setting-connection.c:1149
 #: src/libnm-core-impl/nm-setting-connection.c:1187
-#: src/libnm-core-impl/nm-setting-connection.c:1516
+#: src/libnm-core-impl/nm-setting-connection.c:1530
 #: src/libnm-core-impl/nm-setting-ip-config.c:5423
 #: src/libnm-core-impl/nm-setting-ip-tunnel.c:387
 #: src/libnm-core-impl/nm-setting-olpc-mesh.c:99
@@ -1498,7 +1498,7 @@ msgstr "当è¯ä¹¦ä¸åœ¨ PKCS#11 ä»¤ç‰Œä¸Šæ—¶ä¸æ”¯æŒå¯†ç "
 #: src/libnm-core-impl/nm-setting-cdma.c:159
 #: src/libnm-core-impl/nm-setting-connection.c:1159
 #: src/libnm-core-impl/nm-setting-connection.c:1202
-#: src/libnm-core-impl/nm-setting-connection.c:1454
+#: src/libnm-core-impl/nm-setting-connection.c:1468
 #: src/libnm-core-impl/nm-setting-gsm.c:298
 #: src/libnm-core-impl/nm-setting-gsm.c:353
 #: src/libnm-core-impl/nm-setting-gsm.c:396
@@ -1781,7 +1781,7 @@ msgstr "计é‡å€¼ %d 无效"
 #: src/libnm-core-impl/nm-setting-connection.c:1351
 #: src/libnm-core-impl/nm-setting-connection.c:1365
 #: src/libnm-core-impl/nm-setting-connection.c:1379
-#: src/libnm-core-impl/nm-setting-connection.c:1440
+#: src/libnm-core-impl/nm-setting-connection.c:1454
 #, c-format
 msgid "value %d is not valid"
 msgstr "值 %d 无效"
@@ -1790,39 +1790,43 @@ msgstr "值 %d 无效"
 msgid "\"disabled\" flag cannot be combined with other MPTCP flags"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1409
+#: src/libnm-core-impl/nm-setting-connection.c:1411
+msgid "\"enabled\" and \"enabled-on-global-iface\" flag cannot be set together"
+msgstr ""
+
+#: src/libnm-core-impl/nm-setting-connection.c:1422
 msgid "cannot set both \"signal\" and \"fullmesh\" MPTCP flags"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1421
+#: src/libnm-core-impl/nm-setting-connection.c:1435
 #, fuzzy, c-format
 #| msgid "'%u' flags are not valid; use combination of %s"
 msgid "value %u is not a valid combination of MPTCP flags"
 msgstr "\"%u\" 标记无效;请使用 %s 的组åˆ"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1468
+#: src/libnm-core-impl/nm-setting-connection.c:1482
 msgid "DHCP option cannot be longer than 255 characters"
 msgstr "DHCP 选项ä¸èƒ½å¤šäºŽ 255 个字符"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1479
+#: src/libnm-core-impl/nm-setting-connection.c:1493
 msgid "MUD URL is not a valid URL"
 msgstr "MUD URL䏿˜¯ä¸€ä¸ªæœ‰æ•ˆçš„URL"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1499
+#: src/libnm-core-impl/nm-setting-connection.c:1513
 msgid "invalid permissions not in format \"user:$UNAME[:]\""
 msgstr "无效的æƒé™ï¼Œæ²¡æœ‰ä»¥ \"user:$UNAME[:]\" 为格å¼"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1528
+#: src/libnm-core-impl/nm-setting-connection.c:1542
 #, c-format
 msgid "property type should be set to '%s'"
 msgstr "属性类型应该设置为 \"%s\""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1546
+#: src/libnm-core-impl/nm-setting-connection.c:1560
 #, c-format
 msgid "slave-type '%s' requires a '%s' setting in the connection"
 msgstr "slave-type \"%s\" è¦æ±‚连接中有 \"%s\" 设置"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1557
+#: src/libnm-core-impl/nm-setting-connection.c:1571
 #, c-format
 msgid ""
 "Detect a slave connection with '%s' set and a port type '%s'. '%s' should be "
@@ -1830,12 +1834,12 @@ msgid ""
 msgstr ""
 "检测到设置了 \"%s\" 和端å£ç±»åž‹ä¸º \"%s\" 的从连接。\"%s\" 应该设置为 \"%s\""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1583
+#: src/libnm-core-impl/nm-setting-connection.c:1597
 #, c-format
 msgid "A slave connection with '%s' set to '%s' cannot have a '%s' setting"
 msgstr "\"%s\" 设为 \"%s\" 的从连接ä¸èƒ½æœ‰ä¸ª \"%s\" 设置"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1600
+#: src/libnm-core-impl/nm-setting-connection.c:1614
 msgid "UUID needs normalization"
 msgstr ""
 
@@ -5939,29 +5943,25 @@ msgid ""
 "fc00::/7) and IPv6 privacy extension addresses (rfc3041, ipv6.ip6-privacy) "
 "will be excluded from being configured as endpoints. If \"disabled\" (0x1), "
 "MPTCP handling for the interface is disabled and no endpoints are "
-"registered. The \"enabled\" (0x2) flag means that MPTCP handling is enabled. "
-"This flag can also be implied from the presence of other flags. Even when "
-"enabled, MPTCP handling will by default still be disabled unless \"/proc/sys/"
-"net/mptcp/enabled\" sysctl is on. NetworkManager does not change the sysctl "
-"and this is up to the administrator or distribution. To configure endpoints "
-"even if the sysctl is disabled, \"also-without-sysctl\" (0x4) flag can be "
-"used. In that case, NetworkManager doesn't look at the sysctl and configures "
-"endpoints regardless. Even when enabled, NetworkManager will only configure "
-"MPTCP endpoints for a certain address family, if there is a unicast default "
-"route (0.0.0.0/0 or ::/0) in the main routing table. The flag \"also-without-"
-"default-route\" (0x8) can override that. When MPTCP handling is enabled then "
-"endpoints are configured with the specified address flags \"signal\" (0x10), "
-"\"subflow\" (0x20), \"backup\" (0x40), \"fullmesh\" (0x80). See ip-mptcp(8) "
-"manual for additional information about the flags. If the flags are zero "
-"(0x0), the global connection default from NetworkManager.conf is honored. If "
-"still unspecified, the fallback is \"enabled,subflow\". Note that this means "
-"that MPTCP is by default done depending on the \"/proc/sys/net/mptcp/"
-"enabled\" sysctl. NetworkManager does not change the MPTCP limits nor enable "
-"MPTCP via \"/proc/sys/net/mptcp/enabled\". That is a host configuration "
-"which the admin can change via sysctl and ip-mptcp. Strict reverse path "
-"filtering (rp_filter) breaks many MPTCP use cases, so when MPTCP handling "
-"for IPv4 addresses on the interface is enabled, NetworkManager would loosen "
-"the strict reverse path filtering (1) to the loose setting (2)."
+"registered. The flag \"enabled-on-global-iface\" (0x2) means that MPTCP "
+"handling is enabled if the interface configures a default route in the main "
+"routing table. This choice is per-address family, for example if there is an "
+"IPv4 default route 0.0.0.0/0, IPv4 endpoints are configured. The "
+"\"enabled\" (0x4) flag means that MPTCP handling is explicitly enabled. This "
+"flag can also be implied from the presence of other flags. If MPTCP handling "
+"is enabled, then endpoints will be configured with the specified address "
+"flags \"signal\" (0x10), \"subflow\" (0x20), \"backup\" (0x40), "
+"\"fullmesh\" (0x80). See ip-mptcp(8) manual for additional information about "
+"the flags. If the flags are zero, the global connection default from "
+"NetworkManager.conf is honored. If still unspecified, the fallback is either "
+"\"disabled\" or \"enabled-on-global-iface,subflow\" depending on \"/proc/sys/"
+"net/mptcp/enabled\". NetworkManager does not change the MPTCP limits nor "
+"enable MPTCP via \"/proc/sys/net/mptcp/enabled\". That is a host "
+"configuration which the admin can change via sysctl and ip-mptcp. Strict "
+"reverse path filtering (rp_filter) breaks many MPTCP use cases, so when "
+"MPTCP handling for IPv4 addresses on the interface is enabled, "
+"NetworkManager would loosen the strict reverse path filtering (1) to the "
+"loose setting (2)."
 msgstr ""
 
 #: src/libnmc-setting/settings-docs.h.in:18
@@ -7602,24 +7602,13 @@ msgstr ""
 
 #: src/libnmc-setting/settings-docs.h.in:174
 #: src/libnmc-setting/settings-docs.h.in:200
-#, fuzzy
-#| msgid ""
-#| "The gateway associated with this configuration. This is only meaningful "
-#| "if \"addresses\" is also set. The gateway's main purpose is to control "
-#| "the next hop of the standard default route on the device. Hence, the "
-#| "gateway property conflicts with \"never-default\" and will be "
-#| "automatically dropped if the IP configuration is set to never-default. As "
-#| "an alternative to set the gateway, configure a static default route "
-#| "with /0 as prefix length."
 msgid ""
 "The gateway associated with this configuration. This is only meaningful if "
-"\"addresses\" is also set. Setting the gateway causes NetworkManager to "
-"configure a standard default route with the gateway as next hop. This is "
-"ignored if \"never-default\" is set. An alternative is to configure the "
-"default route explicitly with a manual route and /0 as prefix length. Note "
-"that the gateway usually conflicts with routing that NetworkManager "
-"configures for WireGuard interfaces, so usually it should not be set in that "
-"case. See \"ip4-auto-default-route\"."
+"\"addresses\" is also set. The gateway's main purpose is to control the next "
+"hop of the standard default route on the device. Hence, the gateway property "
+"conflicts with \"never-default\" and will be automatically dropped if the IP "
+"configuration is set to never-default. As an alternative to set the gateway, "
+"configure a static default route with /0 as prefix length."
 msgstr ""
 "与此é…置相关è”çš„ç½‘å…³ã€‚åªæœ‰å½“ \"addresses\" ä¹Ÿè¢«è®¾ç½®æ—¶ï¼Œè¿™æ‰æœ‰æ„义。网关的主è¦"
 "目的是控制设备上标准默认路由的下一跳。因此,网关属性与 \"never-default\" 冲"
diff --git a/po/zh_HK.po b/po/zh_HK.po
index 499d6ea2..b01f7d65 100644
--- a/po/zh_HK.po
+++ b/po/zh_HK.po
@@ -9,7 +9,7 @@ msgstr ""
 "Project-Id-Version: NetworkManager\n"
 "Report-Msgid-Bugs-To: https://gitlab.freedesktop.org/NetworkManager/"
 "NetworkManager/issues\n"
-"POT-Creation-Date: 2022-08-26 16:42+0200\n"
+"POT-Creation-Date: 2022-08-11 16:06-0300\n"
 "PO-Revision-Date: 2017-04-21 06:26-0400\n"
 "Last-Translator: Copied by Zanata <copied-by-zanata@zanata.org>\n"
 "Language-Team: Chinese (Hong Kong) <community@linuxhall.org>\n"
@@ -1201,7 +1201,7 @@ msgstr ""
 #: src/libnm-core-impl/nm-setting-cdma.c:144
 #: src/libnm-core-impl/nm-setting-connection.c:1149
 #: src/libnm-core-impl/nm-setting-connection.c:1187
-#: src/libnm-core-impl/nm-setting-connection.c:1516
+#: src/libnm-core-impl/nm-setting-connection.c:1530
 #: src/libnm-core-impl/nm-setting-ip-config.c:5423
 #: src/libnm-core-impl/nm-setting-ip-tunnel.c:387
 #: src/libnm-core-impl/nm-setting-olpc-mesh.c:99
@@ -1544,7 +1544,7 @@ msgstr ""
 #: src/libnm-core-impl/nm-setting-cdma.c:159
 #: src/libnm-core-impl/nm-setting-connection.c:1159
 #: src/libnm-core-impl/nm-setting-connection.c:1202
-#: src/libnm-core-impl/nm-setting-connection.c:1454
+#: src/libnm-core-impl/nm-setting-connection.c:1468
 #: src/libnm-core-impl/nm-setting-gsm.c:298
 #: src/libnm-core-impl/nm-setting-gsm.c:353
 #: src/libnm-core-impl/nm-setting-gsm.c:396
@@ -1828,7 +1828,7 @@ msgstr ""
 #: src/libnm-core-impl/nm-setting-connection.c:1351
 #: src/libnm-core-impl/nm-setting-connection.c:1365
 #: src/libnm-core-impl/nm-setting-connection.c:1379
-#: src/libnm-core-impl/nm-setting-connection.c:1440
+#: src/libnm-core-impl/nm-setting-connection.c:1454
 #, c-format
 msgid "value %d is not valid"
 msgstr ""
@@ -1837,52 +1837,56 @@ msgstr ""
 msgid "\"disabled\" flag cannot be combined with other MPTCP flags"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1409
+#: src/libnm-core-impl/nm-setting-connection.c:1411
+msgid "\"enabled\" and \"enabled-on-global-iface\" flag cannot be set together"
+msgstr ""
+
+#: src/libnm-core-impl/nm-setting-connection.c:1422
 msgid "cannot set both \"signal\" and \"fullmesh\" MPTCP flags"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1421
+#: src/libnm-core-impl/nm-setting-connection.c:1435
 #, c-format
 msgid "value %u is not a valid combination of MPTCP flags"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1468
+#: src/libnm-core-impl/nm-setting-connection.c:1482
 msgid "DHCP option cannot be longer than 255 characters"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1479
+#: src/libnm-core-impl/nm-setting-connection.c:1493
 #, fuzzy
 msgid "MUD URL is not a valid URL"
 msgstr "IP ä½å€ï¼š"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1499
+#: src/libnm-core-impl/nm-setting-connection.c:1513
 #, fuzzy
 msgid "invalid permissions not in format \"user:$UNAME[:]\""
 msgstr "IP ä½å€ï¼š"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1528
+#: src/libnm-core-impl/nm-setting-connection.c:1542
 #, c-format
 msgid "property type should be set to '%s'"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1546
+#: src/libnm-core-impl/nm-setting-connection.c:1560
 #, c-format
 msgid "slave-type '%s' requires a '%s' setting in the connection"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1557
+#: src/libnm-core-impl/nm-setting-connection.c:1571
 #, c-format
 msgid ""
 "Detect a slave connection with '%s' set and a port type '%s'. '%s' should be "
 "set to '%s'"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1583
+#: src/libnm-core-impl/nm-setting-connection.c:1597
 #, c-format
 msgid "A slave connection with '%s' set to '%s' cannot have a '%s' setting"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1600
+#: src/libnm-core-impl/nm-setting-connection.c:1614
 msgid "UUID needs normalization"
 msgstr ""
 
@@ -5850,29 +5854,25 @@ msgid ""
 "fc00::/7) and IPv6 privacy extension addresses (rfc3041, ipv6.ip6-privacy) "
 "will be excluded from being configured as endpoints. If \"disabled\" (0x1), "
 "MPTCP handling for the interface is disabled and no endpoints are "
-"registered. The \"enabled\" (0x2) flag means that MPTCP handling is enabled. "
-"This flag can also be implied from the presence of other flags. Even when "
-"enabled, MPTCP handling will by default still be disabled unless \"/proc/sys/"
-"net/mptcp/enabled\" sysctl is on. NetworkManager does not change the sysctl "
-"and this is up to the administrator or distribution. To configure endpoints "
-"even if the sysctl is disabled, \"also-without-sysctl\" (0x4) flag can be "
-"used. In that case, NetworkManager doesn't look at the sysctl and configures "
-"endpoints regardless. Even when enabled, NetworkManager will only configure "
-"MPTCP endpoints for a certain address family, if there is a unicast default "
-"route (0.0.0.0/0 or ::/0) in the main routing table. The flag \"also-without-"
-"default-route\" (0x8) can override that. When MPTCP handling is enabled then "
-"endpoints are configured with the specified address flags \"signal\" (0x10), "
-"\"subflow\" (0x20), \"backup\" (0x40), \"fullmesh\" (0x80). See ip-mptcp(8) "
-"manual for additional information about the flags. If the flags are zero "
-"(0x0), the global connection default from NetworkManager.conf is honored. If "
-"still unspecified, the fallback is \"enabled,subflow\". Note that this means "
-"that MPTCP is by default done depending on the \"/proc/sys/net/mptcp/"
-"enabled\" sysctl. NetworkManager does not change the MPTCP limits nor enable "
-"MPTCP via \"/proc/sys/net/mptcp/enabled\". That is a host configuration "
-"which the admin can change via sysctl and ip-mptcp. Strict reverse path "
-"filtering (rp_filter) breaks many MPTCP use cases, so when MPTCP handling "
-"for IPv4 addresses on the interface is enabled, NetworkManager would loosen "
-"the strict reverse path filtering (1) to the loose setting (2)."
+"registered. The flag \"enabled-on-global-iface\" (0x2) means that MPTCP "
+"handling is enabled if the interface configures a default route in the main "
+"routing table. This choice is per-address family, for example if there is an "
+"IPv4 default route 0.0.0.0/0, IPv4 endpoints are configured. The "
+"\"enabled\" (0x4) flag means that MPTCP handling is explicitly enabled. This "
+"flag can also be implied from the presence of other flags. If MPTCP handling "
+"is enabled, then endpoints will be configured with the specified address "
+"flags \"signal\" (0x10), \"subflow\" (0x20), \"backup\" (0x40), "
+"\"fullmesh\" (0x80). See ip-mptcp(8) manual for additional information about "
+"the flags. If the flags are zero, the global connection default from "
+"NetworkManager.conf is honored. If still unspecified, the fallback is either "
+"\"disabled\" or \"enabled-on-global-iface,subflow\" depending on \"/proc/sys/"
+"net/mptcp/enabled\". NetworkManager does not change the MPTCP limits nor "
+"enable MPTCP via \"/proc/sys/net/mptcp/enabled\". That is a host "
+"configuration which the admin can change via sysctl and ip-mptcp. Strict "
+"reverse path filtering (rp_filter) breaks many MPTCP use cases, so when "
+"MPTCP handling for IPv4 addresses on the interface is enabled, "
+"NetworkManager would loosen the strict reverse path filtering (1) to the "
+"loose setting (2)."
 msgstr ""
 
 #: src/libnmc-setting/settings-docs.h.in:18
@@ -7106,13 +7106,11 @@ msgstr ""
 #: src/libnmc-setting/settings-docs.h.in:200
 msgid ""
 "The gateway associated with this configuration. This is only meaningful if "
-"\"addresses\" is also set. Setting the gateway causes NetworkManager to "
-"configure a standard default route with the gateway as next hop. This is "
-"ignored if \"never-default\" is set. An alternative is to configure the "
-"default route explicitly with a manual route and /0 as prefix length. Note "
-"that the gateway usually conflicts with routing that NetworkManager "
-"configures for WireGuard interfaces, so usually it should not be set in that "
-"case. See \"ip4-auto-default-route\"."
+"\"addresses\" is also set. The gateway's main purpose is to control the next "
+"hop of the standard default route on the device. Hence, the gateway property "
+"conflicts with \"never-default\" and will be automatically dropped if the IP "
+"configuration is set to never-default. As an alternative to set the gateway, "
+"configure a static default route with /0 as prefix length."
 msgstr ""
 
 #: src/libnmc-setting/settings-docs.h.in:175
diff --git a/po/zh_TW.po b/po/zh_TW.po
index 307a5597..2b56f90d 100644
--- a/po/zh_TW.po
+++ b/po/zh_TW.po
@@ -20,7 +20,7 @@ msgstr ""
 "Project-Id-Version: NetworkManager\n"
 "Report-Msgid-Bugs-To: https://gitlab.freedesktop.org/NetworkManager/"
 "NetworkManager/issues\n"
-"POT-Creation-Date: 2022-08-26 16:42+0200\n"
+"POT-Creation-Date: 2022-08-11 16:06-0300\n"
 "PO-Revision-Date: 2019-06-28 19:18+0800\n"
 "Last-Translator: Hsiu-Ming Chang <cges30901@gmail.com>\n"
 "Language-Team: Traditional Chinese <zh@li.org>\n"
@@ -1172,7 +1172,7 @@ msgstr ""
 #: src/libnm-core-impl/nm-setting-cdma.c:144
 #: src/libnm-core-impl/nm-setting-connection.c:1149
 #: src/libnm-core-impl/nm-setting-connection.c:1187
-#: src/libnm-core-impl/nm-setting-connection.c:1516
+#: src/libnm-core-impl/nm-setting-connection.c:1530
 #: src/libnm-core-impl/nm-setting-ip-config.c:5423
 #: src/libnm-core-impl/nm-setting-ip-tunnel.c:387
 #: src/libnm-core-impl/nm-setting-olpc-mesh.c:99
@@ -1514,7 +1514,7 @@ msgstr "證書ä¸åœ¨PKCS#11ä»¤ç‰Œä¸Šæ™‚ï¼Œä¸æ”¯æŒå¯†ç¢¼"
 #: src/libnm-core-impl/nm-setting-cdma.c:159
 #: src/libnm-core-impl/nm-setting-connection.c:1159
 #: src/libnm-core-impl/nm-setting-connection.c:1202
-#: src/libnm-core-impl/nm-setting-connection.c:1454
+#: src/libnm-core-impl/nm-setting-connection.c:1468
 #: src/libnm-core-impl/nm-setting-gsm.c:298
 #: src/libnm-core-impl/nm-setting-gsm.c:353
 #: src/libnm-core-impl/nm-setting-gsm.c:396
@@ -1802,7 +1802,7 @@ msgstr "索引「%sã€ç„¡æ•ˆ"
 #: src/libnm-core-impl/nm-setting-connection.c:1351
 #: src/libnm-core-impl/nm-setting-connection.c:1365
 #: src/libnm-core-impl/nm-setting-connection.c:1379
-#: src/libnm-core-impl/nm-setting-connection.c:1440
+#: src/libnm-core-impl/nm-setting-connection.c:1454
 #, c-format
 msgid "value %d is not valid"
 msgstr "值 %d 無效"
@@ -1811,54 +1811,58 @@ msgstr "值 %d 無效"
 msgid "\"disabled\" flag cannot be combined with other MPTCP flags"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1409
+#: src/libnm-core-impl/nm-setting-connection.c:1411
+msgid "\"enabled\" and \"enabled-on-global-iface\" flag cannot be set together"
+msgstr ""
+
+#: src/libnm-core-impl/nm-setting-connection.c:1422
 msgid "cannot set both \"signal\" and \"fullmesh\" MPTCP flags"
 msgstr ""
 
-#: src/libnm-core-impl/nm-setting-connection.c:1421
+#: src/libnm-core-impl/nm-setting-connection.c:1435
 #, fuzzy, c-format
 #| msgid "'%u' flags are not valid; use combination of %s"
 msgid "value %u is not a valid combination of MPTCP flags"
 msgstr "「%uã€æ——標無效;請使用「%sã€çš„組åˆ"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1468
+#: src/libnm-core-impl/nm-setting-connection.c:1482
 #, fuzzy
 msgid "DHCP option cannot be longer than 255 characters"
 msgstr "接å£å稱超éŽ15個字符"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1479
+#: src/libnm-core-impl/nm-setting-connection.c:1493
 #, fuzzy
 msgid "MUD URL is not a valid URL"
 msgstr "URI無效UTF-8"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1499
+#: src/libnm-core-impl/nm-setting-connection.c:1513
 #, fuzzy
 msgid "invalid permissions not in format \"user:$UNAME[:]\""
 msgstr "無效的權é™ã€Œ%sã€"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1528
+#: src/libnm-core-impl/nm-setting-connection.c:1542
 #, c-format
 msgid "property type should be set to '%s'"
 msgstr "屬性類型應設置為'%s'"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1546
+#: src/libnm-core-impl/nm-setting-connection.c:1560
 #, c-format
 msgid "slave-type '%s' requires a '%s' setting in the connection"
 msgstr "slave-type「%sã€éœ€è¦é€£ç·šä¸­ã€Œ%sã€è¨­å®šå­˜åœ¨"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1557
+#: src/libnm-core-impl/nm-setting-connection.c:1571
 #, c-format
 msgid ""
 "Detect a slave connection with '%s' set and a port type '%s'. '%s' should be "
 "set to '%s'"
 msgstr "用'檢測從屬連接%s' 設置和端å£é¡žåž‹'%s'. “%s' 應該設置為'%s'"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1583
+#: src/libnm-core-impl/nm-setting-connection.c:1597
 #, c-format
 msgid "A slave connection with '%s' set to '%s' cannot have a '%s' setting"
 msgstr "「%sã€è¨­ç‚ºã€Œ%sã€çš„從屬連線ä¸èƒ½æœ‰ã€Œ%sã€è¨­å®š"
 
-#: src/libnm-core-impl/nm-setting-connection.c:1600
+#: src/libnm-core-impl/nm-setting-connection.c:1614
 msgid "UUID needs normalization"
 msgstr ""
 
@@ -5954,29 +5958,25 @@ msgid ""
 "fc00::/7) and IPv6 privacy extension addresses (rfc3041, ipv6.ip6-privacy) "
 "will be excluded from being configured as endpoints. If \"disabled\" (0x1), "
 "MPTCP handling for the interface is disabled and no endpoints are "
-"registered. The \"enabled\" (0x2) flag means that MPTCP handling is enabled. "
-"This flag can also be implied from the presence of other flags. Even when "
-"enabled, MPTCP handling will by default still be disabled unless \"/proc/sys/"
-"net/mptcp/enabled\" sysctl is on. NetworkManager does not change the sysctl "
-"and this is up to the administrator or distribution. To configure endpoints "
-"even if the sysctl is disabled, \"also-without-sysctl\" (0x4) flag can be "
-"used. In that case, NetworkManager doesn't look at the sysctl and configures "
-"endpoints regardless. Even when enabled, NetworkManager will only configure "
-"MPTCP endpoints for a certain address family, if there is a unicast default "
-"route (0.0.0.0/0 or ::/0) in the main routing table. The flag \"also-without-"
-"default-route\" (0x8) can override that. When MPTCP handling is enabled then "
-"endpoints are configured with the specified address flags \"signal\" (0x10), "
-"\"subflow\" (0x20), \"backup\" (0x40), \"fullmesh\" (0x80). See ip-mptcp(8) "
-"manual for additional information about the flags. If the flags are zero "
-"(0x0), the global connection default from NetworkManager.conf is honored. If "
-"still unspecified, the fallback is \"enabled,subflow\". Note that this means "
-"that MPTCP is by default done depending on the \"/proc/sys/net/mptcp/"
-"enabled\" sysctl. NetworkManager does not change the MPTCP limits nor enable "
-"MPTCP via \"/proc/sys/net/mptcp/enabled\". That is a host configuration "
-"which the admin can change via sysctl and ip-mptcp. Strict reverse path "
-"filtering (rp_filter) breaks many MPTCP use cases, so when MPTCP handling "
-"for IPv4 addresses on the interface is enabled, NetworkManager would loosen "
-"the strict reverse path filtering (1) to the loose setting (2)."
+"registered. The flag \"enabled-on-global-iface\" (0x2) means that MPTCP "
+"handling is enabled if the interface configures a default route in the main "
+"routing table. This choice is per-address family, for example if there is an "
+"IPv4 default route 0.0.0.0/0, IPv4 endpoints are configured. The "
+"\"enabled\" (0x4) flag means that MPTCP handling is explicitly enabled. This "
+"flag can also be implied from the presence of other flags. If MPTCP handling "
+"is enabled, then endpoints will be configured with the specified address "
+"flags \"signal\" (0x10), \"subflow\" (0x20), \"backup\" (0x40), "
+"\"fullmesh\" (0x80). See ip-mptcp(8) manual for additional information about "
+"the flags. If the flags are zero, the global connection default from "
+"NetworkManager.conf is honored. If still unspecified, the fallback is either "
+"\"disabled\" or \"enabled-on-global-iface,subflow\" depending on \"/proc/sys/"
+"net/mptcp/enabled\". NetworkManager does not change the MPTCP limits nor "
+"enable MPTCP via \"/proc/sys/net/mptcp/enabled\". That is a host "
+"configuration which the admin can change via sysctl and ip-mptcp. Strict "
+"reverse path filtering (rp_filter) breaks many MPTCP use cases, so when "
+"MPTCP handling for IPv4 addresses on the interface is enabled, "
+"NetworkManager would loosen the strict reverse path filtering (1) to the "
+"loose setting (2)."
 msgstr ""
 
 #: src/libnmc-setting/settings-docs.h.in:18
@@ -7501,13 +7501,11 @@ msgstr ""
 #: src/libnmc-setting/settings-docs.h.in:200
 msgid ""
 "The gateway associated with this configuration. This is only meaningful if "
-"\"addresses\" is also set. Setting the gateway causes NetworkManager to "
-"configure a standard default route with the gateway as next hop. This is "
-"ignored if \"never-default\" is set. An alternative is to configure the "
-"default route explicitly with a manual route and /0 as prefix length. Note "
-"that the gateway usually conflicts with routing that NetworkManager "
-"configures for WireGuard interfaces, so usually it should not be set in that "
-"case. See \"ip4-auto-default-route\"."
+"\"addresses\" is also set. The gateway's main purpose is to control the next "
+"hop of the standard default route on the device. Hence, the gateway property "
+"conflicts with \"never-default\" and will be automatically dropped if the IP "
+"configuration is set to never-default. As an alternative to set the gateway, "
+"configure a static default route with /0 as prefix length."
 msgstr ""
 
 #: src/libnmc-setting/settings-docs.h.in:175
diff --git a/src/core/NetworkManagerUtils.c b/src/core/NetworkManagerUtils.c
index 8b0b4845..f5b7666b 100644
--- a/src/core/NetworkManagerUtils.c
+++ b/src/core/NetworkManagerUtils.c
@@ -978,6 +978,7 @@ nm_ip_routing_rule_to_platform(const NMIPRoutingRule *rule, NMPlatformRoutingRul
                 .start = uid_range_start,
                 .end   = uid_range_end,
             },
+        .protocol = RTPROT_STATIC,
     };
 
     nm_ip_routing_rule_get_xifname_bin(rule, TRUE, out_pl->iifname);
diff --git a/src/core/devices/nm-device-bond.c b/src/core/devices/nm-device-bond.c
index 44bb316d..3e083de4 100644
--- a/src/core/devices/nm-device-bond.c
+++ b/src/core/devices/nm-device-bond.c
@@ -395,61 +395,57 @@ _platform_lnk_bond_init_from_setting(NMSettingBond *s_bond, NMPlatformLnkBond *p
 {
     const char *opt_value;
 
+#define _v_fcn(fcn, s_bond, opt) (fcn(nm_setting_bond_get_option_normalized((s_bond), (opt))))
+#define _v_u8(s_bond, opt)       _nm_setting_bond_opt_value_as_u8((s_bond), (opt))
+#define _v_u16(s_bond, opt)      _nm_setting_bond_opt_value_as_u16((s_bond), (opt))
+#define _v_u32(s_bond, opt)      _nm_setting_bond_opt_value_as_u32((s_bond), (opt))
+#define _v_intbool(s_bond, opt)  _nm_setting_bond_opt_value_as_intbool((s_bond), (opt))
+
     *props = (NMPlatformLnkBond){
-        .mode = _nm_setting_bond_mode_from_string(
-            nm_setting_bond_get_option_normalized(s_bond, NM_SETTING_BOND_OPTION_MODE)),
+        .mode      = _v_fcn(_nm_setting_bond_mode_from_string, s_bond, NM_SETTING_BOND_OPTION_MODE),
         .primary   = _setting_bond_primary_opt_as_ifindex(s_bond),
-        .miimon    = _nm_setting_bond_opt_value_as_u32(s_bond, NM_SETTING_BOND_OPTION_MIIMON),
-        .updelay   = _nm_setting_bond_opt_value_as_u32(s_bond, NM_SETTING_BOND_OPTION_UPDELAY),
-        .downdelay = _nm_setting_bond_opt_value_as_u32(s_bond, NM_SETTING_BOND_OPTION_DOWNDELAY),
-        .arp_interval =
-            _nm_setting_bond_opt_value_as_u32(s_bond, NM_SETTING_BOND_OPTION_ARP_INTERVAL),
-        .resend_igmp =
-            _nm_setting_bond_opt_value_as_u32(s_bond, NM_SETTING_BOND_OPTION_RESEND_IGMP),
-        .min_links = _nm_setting_bond_opt_value_as_u32(s_bond, NM_SETTING_BOND_OPTION_MIN_LINKS),
-        .lp_interval =
-            _nm_setting_bond_opt_value_as_u32(s_bond, NM_SETTING_BOND_OPTION_LP_INTERVAL),
-        .packets_per_port =
-            _nm_setting_bond_opt_value_as_u32(s_bond, NM_SETTING_BOND_OPTION_PACKETS_PER_SLAVE),
-        .peer_notif_delay =
-            _nm_setting_bond_opt_value_as_u32(s_bond, NM_SETTING_BOND_OPTION_PEER_NOTIF_DELAY),
-        .arp_all_targets = _nm_setting_bond_arp_all_targets_from_string(
-            nm_setting_bond_get_option_normalized(s_bond, NM_SETTING_BOND_OPTION_ARP_ALL_TARGETS)),
-        .arp_validate = _nm_setting_bond_arp_validate_from_string(
-            nm_setting_bond_get_option_normalized(s_bond, NM_SETTING_BOND_OPTION_ARP_VALIDATE)),
-        .ad_actor_sys_prio =
-            _nm_setting_bond_opt_value_as_u16(s_bond, NM_SETTING_BOND_OPTION_AD_ACTOR_SYS_PRIO),
-        .ad_user_port_key =
-            _nm_setting_bond_opt_value_as_u16(s_bond, NM_SETTING_BOND_OPTION_AD_USER_PORT_KEY),
-        .primary_reselect = _nm_setting_bond_primary_reselect_from_string(
-            nm_setting_bond_get_option_normalized(s_bond, NM_SETTING_BOND_OPTION_PRIMARY_RESELECT)),
-        .fail_over_mac = _nm_setting_bond_fail_over_mac_from_string(
-            nm_setting_bond_get_option_normalized(s_bond, NM_SETTING_BOND_OPTION_FAIL_OVER_MAC)),
-        .xmit_hash_policy = _nm_setting_bond_xmit_hash_policy_from_string(
-            nm_setting_bond_get_option_normalized(s_bond, NM_SETTING_BOND_OPTION_XMIT_HASH_POLICY)),
-        .num_grat_arp =
-            _nm_setting_bond_opt_value_as_u8(s_bond, NM_SETTING_BOND_OPTION_NUM_GRAT_ARP),
-        .all_ports_active =
-            _nm_setting_bond_opt_value_as_u8(s_bond, NM_SETTING_BOND_OPTION_ALL_SLAVES_ACTIVE),
-        .lacp_rate = _nm_setting_bond_lacp_rate_from_string(
-            nm_setting_bond_get_option_normalized(s_bond, NM_SETTING_BOND_OPTION_LACP_RATE)),
-        .ad_select = _nm_setting_bond_ad_select_from_string(
-            nm_setting_bond_get_option_normalized(s_bond, NM_SETTING_BOND_OPTION_AD_SELECT)),
+        .miimon    = _v_u32(s_bond, NM_SETTING_BOND_OPTION_MIIMON),
+        .updelay   = _v_u32(s_bond, NM_SETTING_BOND_OPTION_UPDELAY),
+        .downdelay = _v_u32(s_bond, NM_SETTING_BOND_OPTION_DOWNDELAY),
+        .arp_interval      = _v_u32(s_bond, NM_SETTING_BOND_OPTION_ARP_INTERVAL),
+        .resend_igmp       = _v_u32(s_bond, NM_SETTING_BOND_OPTION_RESEND_IGMP),
+        .min_links         = _v_u32(s_bond, NM_SETTING_BOND_OPTION_MIN_LINKS),
+        .lp_interval       = _v_u32(s_bond, NM_SETTING_BOND_OPTION_LP_INTERVAL),
+        .packets_per_port  = _v_u32(s_bond, NM_SETTING_BOND_OPTION_PACKETS_PER_SLAVE),
+        .peer_notif_delay  = _v_u32(s_bond, NM_SETTING_BOND_OPTION_PEER_NOTIF_DELAY),
+        .arp_all_targets   = _v_fcn(_nm_setting_bond_arp_all_targets_from_string,
+                                  s_bond,
+                                  NM_SETTING_BOND_OPTION_ARP_ALL_TARGETS),
+        .arp_validate      = _v_fcn(_nm_setting_bond_arp_validate_from_string,
+                               s_bond,
+                               NM_SETTING_BOND_OPTION_ARP_VALIDATE),
+        .ad_actor_sys_prio = _v_u16(s_bond, NM_SETTING_BOND_OPTION_AD_ACTOR_SYS_PRIO),
+        .ad_user_port_key  = _v_u16(s_bond, NM_SETTING_BOND_OPTION_AD_USER_PORT_KEY),
+        .primary_reselect  = _v_fcn(_nm_setting_bond_primary_reselect_from_string,
+                                   s_bond,
+                                   NM_SETTING_BOND_OPTION_PRIMARY_RESELECT),
+        .fail_over_mac     = _v_fcn(_nm_setting_bond_fail_over_mac_from_string,
+                                s_bond,
+                                NM_SETTING_BOND_OPTION_FAIL_OVER_MAC),
+        .xmit_hash_policy  = _v_fcn(_nm_setting_bond_xmit_hash_policy_from_string,
+                                   s_bond,
+                                   NM_SETTING_BOND_OPTION_XMIT_HASH_POLICY),
+        .num_grat_arp      = _v_u8(s_bond, NM_SETTING_BOND_OPTION_NUM_GRAT_ARP),
+        .all_ports_active  = _v_u8(s_bond, NM_SETTING_BOND_OPTION_ALL_SLAVES_ACTIVE),
+        .lacp_rate         = _v_fcn(_nm_setting_bond_lacp_rate_from_string,
+                            s_bond,
+                            NM_SETTING_BOND_OPTION_LACP_RATE),
+        .ad_select         = _v_fcn(_nm_setting_bond_ad_select_from_string,
+                            s_bond,
+                            NM_SETTING_BOND_OPTION_AD_SELECT),
+        .use_carrier       = _v_intbool(s_bond, NM_SETTING_BOND_OPTION_USE_CARRIER),
+        .tlb_dynamic_lb    = _v_intbool(s_bond, NM_SETTING_BOND_OPTION_TLB_DYNAMIC_LB),
     };
 
     nm_ether_addr_from_string(
         &props->ad_actor_system,
         nm_setting_bond_get_option_normalized(s_bond, NM_SETTING_BOND_OPTION_AD_ACTOR_SYSTEM));
 
-    opt_value = nm_setting_bond_get_option_normalized(s_bond, NM_SETTING_BOND_OPTION_USE_CARRIER);
-    if (opt_value != NULL)
-        props->use_carrier = _nm_utils_ascii_str_to_bool(opt_value, FALSE);
-
-    opt_value =
-        nm_setting_bond_get_option_normalized(s_bond, NM_SETTING_BOND_OPTION_TLB_DYNAMIC_LB);
-    if (opt_value != NULL)
-        props->tlb_dynamic_lb = _nm_utils_ascii_str_to_bool(opt_value, FALSE);
-
     opt_value = nm_setting_bond_get_option_normalized(s_bond, NM_SETTING_BOND_OPTION_ARP_IP_TARGET);
     if (opt_value != NULL)
         props->arp_ip_targets_num =
@@ -459,7 +455,6 @@ _platform_lnk_bond_init_from_setting(NMSettingBond *s_bond, NMPlatformLnkBond *p
     props->updelay_has          = props->miimon_has && props->miimon;
     props->downdelay_has        = props->miimon_has && props->miimon;
     props->peer_notif_delay_has = (props->miimon || props->arp_interval) && props->peer_notif_delay;
-    props->arp_all_targets_has  = props->arp_interval && props->arp_all_targets;
     props->resend_igmp_has      = props->resend_igmp != 1;
     props->lp_interval_has      = props->lp_interval != 1;
     props->tlb_dynamic_lb_has   = NM_IN_SET(props->mode, NM_BOND_MODE_TLB, NM_BOND_MODE_ALB);
@@ -493,6 +488,10 @@ act_stage1_prepare(NMDevice *device, NMDeviceStateReason *out_failure_reason)
         if (!nm_device_hw_addr_set_cloned(device, nm_device_get_applied_connection(device), FALSE))
             ret = NM_ACT_STAGE_RETURN_FAILURE;
     }
+
+    /* This is a workaround because netlink do not support ifname as primary */
+    set_bond_attr_or_default(device, s_bond, NM_SETTING_BOND_OPTION_PRIMARY);
+
     nm_device_bring_up(device, TRUE, NULL);
 
     return ret;
diff --git a/src/core/devices/nm-device-ethernet.c b/src/core/devices/nm-device-ethernet.c
index 40c6d208..4788cdc6 100644
--- a/src/core/devices/nm-device-ethernet.c
+++ b/src/core/devices/nm-device-ethernet.c
@@ -1354,6 +1354,11 @@ wake_on_lan_enable(NMDevice *device)
     if (s_wired) {
         wol      = nm_setting_wired_get_wake_on_lan(s_wired);
         password = nm_setting_wired_get_wake_on_lan_password(s_wired);
+
+        /* NMSettingWired does not reject invalid flags. Filter them out here. */
+        wol = (wol
+               & (NM_SETTING_WIRED_WAKE_ON_LAN_ALL | NM_SETTING_WIRED_WAKE_ON_LAN_EXCLUSIVE_FLAGS));
+
         if (wol != NM_SETTING_WIRED_WAKE_ON_LAN_DEFAULT)
             goto found;
     }
@@ -1370,9 +1375,14 @@ wake_on_lan_enable(NMDevice *device)
         nm_log_dbg(LOGD_ETHER, "invalid default value %u for wake-on-lan", (guint) wol);
         wol = NM_SETTING_WIRED_WAKE_ON_LAN_DEFAULT;
     }
+
+    wol = wol & (NM_SETTING_WIRED_WAKE_ON_LAN_ALL | NM_SETTING_WIRED_WAKE_ON_LAN_EXCLUSIVE_FLAGS);
+
     if (wol != NM_SETTING_WIRED_WAKE_ON_LAN_DEFAULT)
         goto found;
+
     wol = NM_SETTING_WIRED_WAKE_ON_LAN_IGNORE;
+
 found:
     return nm_platform_ethtool_set_wake_on_lan(nm_device_get_platform(device),
                                                nm_device_get_ifindex(device),
diff --git a/src/core/devices/nm-device-private.h b/src/core/devices/nm-device-private.h
index b54aed6a..31424d5c 100644
--- a/src/core/devices/nm-device-private.h
+++ b/src/core/devices/nm-device-private.h
@@ -89,7 +89,10 @@ nm_device_devip_set_state(NMDevice             *self,
     nm_assert(NM_IS_DEVICE(self));
     nm_assert_addr_family_or_unspec(addr_family);
     nm_assert(!l3cd || NM_IS_L3_CONFIG_DATA(l3cd));
-    nm_assert(NM_IN_SET(ip_state, NM_DEVICE_IP_STATE_PENDING, NM_DEVICE_IP_STATE_READY));
+    nm_assert(NM_IN_SET(ip_state,
+                        NM_DEVICE_IP_STATE_NONE,
+                        NM_DEVICE_IP_STATE_PENDING,
+                        NM_DEVICE_IP_STATE_READY));
 
     nm_device_devip_set_state_full(self, addr_family, ip_state, l3cd, NM_DEVICE_STATE_REASON_NONE);
 }
diff --git a/src/core/devices/nm-device-veth.c b/src/core/devices/nm-device-veth.c
index 63dfd8bb..c3482e78 100644
--- a/src/core/devices/nm-device-veth.c
+++ b/src/core/devices/nm-device-veth.c
@@ -101,8 +101,8 @@ create_and_realize(NMDevice              *device,
     peer        = nm_setting_veth_get_peer(s_veth);
     peer_device = nm_manager_get_device(NM_MANAGER_GET, peer, NM_DEVICE_TYPE_VETH);
     if (peer_device) {
-        /* The veth device and its peer already exist. No need to create it again. */
-        if (nm_streq0(nm_device_get_iface(nm_device_parent_get_device(peer_device)), iface))
+        if (nm_device_parent_get_device(peer_device))
+            /* The veth device and its peer already exist. No need to create it again. */
             return TRUE;
     }
 
diff --git a/src/core/devices/nm-device.c b/src/core/devices/nm-device.c
index d63b902b..2cda9b0d 100644
--- a/src/core/devices/nm-device.c
+++ b/src/core/devices/nm-device.c
@@ -96,6 +96,8 @@
 #define NM_DEVICE_AUTH_RETRIES_INFINITY -2
 #define NM_DEVICE_AUTH_RETRIES_DEFAULT  3
 
+#define AUTOCONNECT_RESET_RETRIES_TIMER 300
+
 /*****************************************************************************/
 
 typedef void (*ActivationHandleFunc)(NMDevice *self);
@@ -761,6 +763,9 @@ typedef struct _NMDevicePrivate {
 
     GVariant *ports_variant; /* Array of port devices D-Bus path */
     char     *prop_ip_iface; /* IP interface D-Bus property */
+
+    int    autoconnect_retries;
+    gint32 autoconnect_retries_blocked_until;
 } NMDevicePrivate;
 
 G_DEFINE_ABSTRACT_TYPE(NMDevice, nm_device, NM_TYPE_DBUS_OBJECT)
@@ -778,7 +783,9 @@ static void _dev_l3_cfg_commit_type_reset(NMDevice *self);
 
 static gboolean nm_device_master_add_slave(NMDevice *self, NMDevice *slave, gboolean configure);
 static void     nm_device_slave_notify_enslave(NMDevice *self, gboolean success);
-static void     nm_device_slave_notify_release(NMDevice *self, NMDeviceStateReason reason);
+static void     nm_device_slave_notify_release(NMDevice           *self,
+                                               NMDeviceStateReason reason,
+                                               ReleaseSlaveType    release_type);
 
 static void _dev_ipll6_start(NMDevice *self);
 
@@ -6236,7 +6243,7 @@ nm_device_master_release_slave(NMDevice           *self,
                                                release_type >= RELEASE_SLAVE_TYPE_CONFIG);
 
     /* raise notifications about the release, including clearing is_enslaved. */
-    nm_device_slave_notify_release(slave, reason);
+    nm_device_slave_notify_release(slave, reason, release_type);
 
     /* keep both alive until the end of the function.
      * Transfers ownership from slave_priv->master.  */
@@ -6536,12 +6543,16 @@ device_recheck_slave_status(NMDevice *self, const NMPlatformLink *plink)
 
     g_return_if_fail(plink);
 
-    if (plink->master <= 0)
-        goto out;
-
-    master                  = nm_manager_get_device_by_ifindex(NM_MANAGER_GET, plink->master);
-    plink_master            = nm_platform_link_get(nm_device_get_platform(self), plink->master);
-    plink_master_keep_alive = nmp_object_ref(NMP_OBJECT_UP_CAST(plink_master));
+    if (plink->master > 0) {
+        master                  = nm_manager_get_device_by_ifindex(NM_MANAGER_GET, plink->master);
+        plink_master            = nm_platform_link_get(nm_device_get_platform(self), plink->master);
+        plink_master_keep_alive = nmp_object_ref(NMP_OBJECT_UP_CAST(plink_master));
+    } else {
+        if (priv->master_ifindex == 0)
+            goto out;
+        master       = NULL;
+        plink_master = NULL;
+    }
 
     if (master == NULL && plink_master
         && NM_IN_STRSET(plink_master->name, "ovs-system", "ovs-netdev")
@@ -6646,7 +6657,6 @@ device_link_changed(gpointer user_data)
     NMDeviceClass                  *klass             = NM_DEVICE_GET_CLASS(self);
     NMDevicePrivate                *priv              = NM_DEVICE_GET_PRIVATE(self);
     gboolean                        ip_ifname_changed = FALSE;
-    gboolean                        hw_addr_changed;
     nm_auto_nmpobj const NMPObject *pllink_keep_alive = NULL;
     const NMPlatformLink           *pllink;
     const char                     *str;
@@ -6693,9 +6703,9 @@ device_link_changed(gpointer user_data)
     if (ifindex == nm_device_get_ip_ifindex(self))
         _stats_update_counters_from_pllink(self, pllink);
 
-    had_hw_addr     = (priv->hw_addr != NULL);
-    hw_addr_changed = nm_device_update_hw_address(self);
-    got_hw_addr     = (!had_hw_addr && priv->hw_addr);
+    had_hw_addr = (priv->hw_addr != NULL);
+    nm_device_update_hw_address(self);
+    got_hw_addr = (!had_hw_addr && priv->hw_addr);
     nm_device_update_permanent_hw_address(self, FALSE);
 
     if (pllink->name[0] && !nm_streq(priv->iface, pllink->name)) {
@@ -6746,8 +6756,6 @@ device_link_changed(gpointer user_data)
     /* Update DHCP, etc, if needed */
     if (ip_ifname_changed)
         nm_device_update_dynamic_ip_setup(self, "IP interface changed");
-    else if (hw_addr_changed)
-        nm_device_update_dynamic_ip_setup(self, "hw-address changed");
 
     was_up   = priv->up;
     priv->up = NM_FLAGS_HAS(pllink->n_ifi_flags, IFF_UP);
@@ -8024,7 +8032,9 @@ nm_device_slave_notify_enslave(NMDevice *self, gboolean success)
  * Notifies a slave that it has been released, and why.
  */
 static void
-nm_device_slave_notify_release(NMDevice *self, NMDeviceStateReason reason)
+nm_device_slave_notify_release(NMDevice           *self,
+                               NMDeviceStateReason reason,
+                               ReleaseSlaveType    release_type)
 {
     NMDevicePrivate *priv       = NM_DEVICE_GET_PRIVATE(self);
     NMConnection    *connection = nm_device_get_applied_connection(self);
@@ -8032,7 +8042,7 @@ nm_device_slave_notify_release(NMDevice *self, NMDeviceStateReason reason)
 
     g_return_if_fail(priv->master);
 
-    if (!priv->is_enslaved)
+    if (!priv->is_enslaved && release_type == RELEASE_SLAVE_TYPE_NO_CONFIG)
         return;
 
     if (priv->state > NM_DEVICE_STATE_DISCONNECTED && priv->state <= NM_DEVICE_STATE_ACTIVATED) {
@@ -8956,7 +8966,7 @@ nm_device_emit_recheck_assume(gpointer user_data)
     priv = NM_DEVICE_GET_PRIVATE(self);
 
     priv->recheck_assume_id = 0;
-    if (!nm_device_get_act_request(self))
+    if (!priv->queued_act_request && !nm_device_get_act_request(self))
         g_signal_emit(self, signals[RECHECK_ASSUME], 0);
 
     return G_SOURCE_REMOVE;
@@ -9954,6 +9964,7 @@ nm_device_devip_set_state_full(NMDevice             *self,
 
     nm_assert_addr_family_or_unspec(addr_family);
     nm_assert(NM_IN_SET(ip_state,
+                        NM_DEVICE_IP_STATE_NONE,
                         NM_DEVICE_IP_STATE_PENDING,
                         NM_DEVICE_IP_STATE_READY,
                         NM_DEVICE_IP_STATE_FAILED));
@@ -9961,7 +9972,7 @@ nm_device_devip_set_state_full(NMDevice             *self,
 
     nm_assert((ip_state != NM_DEVICE_IP_STATE_FAILED)
               == (failed_reason == NM_DEVICE_STATE_REASON_NONE));
-    nm_assert((ip_state != NM_DEVICE_IP_STATE_FAILED) || !l3cd);
+    nm_assert(NM_IN_SET(ip_state, NM_DEVICE_IP_STATE_PENDING, NM_DEVICE_IP_STATE_READY) || !l3cd);
 
     p = _dev_ipdev_data(self, addr_family);
 
@@ -12206,7 +12217,7 @@ _dev_ipsharedx_cleanup(NMDevice *self, int addr_family)
         }
 
         if (priv->ipshared_data_4.v4.firewall_config) {
-            nm_firewall_config_apply(priv->ipshared_data_4.v4.firewall_config, FALSE);
+            nm_firewall_config_apply_sync(priv->ipshared_data_4.v4.firewall_config, FALSE);
             nm_clear_pointer(&priv->ipshared_data_4.v4.firewall_config, nm_firewall_config_free);
         }
 
@@ -12353,8 +12364,8 @@ _dev_ipshared4_start(NMDevice *self)
         goto out_fail;
 
     priv->ipshared_data_4.v4.firewall_config =
-        nm_firewall_config_new(ip_iface, ip4_addr.address, ip4_addr.plen);
-    nm_firewall_config_apply(priv->ipshared_data_4.v4.firewall_config, TRUE);
+        nm_firewall_config_new_shared(ip_iface, ip4_addr.address, ip4_addr.plen);
+    nm_firewall_config_apply_sync(priv->ipshared_data_4.v4.firewall_config, TRUE);
 
     priv->ipshared_data_4.v4.l3cd = nm_l3_config_data_ref(l3cd);
     _dev_l3_register_l3cds_set_one(self, L3_CONFIG_DATA_TYPE_SHARED_4, l3cd, FALSE);
@@ -16857,6 +16868,49 @@ nm_device_get_initial_hw_address(NMDevice *self)
     return NM_DEVICE_GET_PRIVATE(self)->hw_addr_initial;
 }
 
+void
+nm_device_set_autoconnect_retries(NMDevice *self, int tries)
+{
+    NMDevicePrivate *priv = NM_DEVICE_GET_PRIVATE(self);
+
+    if (priv->autoconnect_retries != tries) {
+        _LOGT(LOGD_DEVICE, "autoconnect: retries set %d", tries);
+        priv->autoconnect_retries = tries;
+    }
+
+    if (tries)
+        priv->autoconnect_retries_blocked_until = 0; /* we are not blocked anymore */
+    else
+        priv->autoconnect_retries_blocked_until =
+            nm_utils_get_monotonic_timestamp_sec() + AUTOCONNECT_RESET_RETRIES_TIMER;
+}
+
+int
+nm_device_get_autoconnect_retries(NMDevice *self)
+{
+    NMDevicePrivate *priv = NM_DEVICE_GET_PRIVATE(self);
+
+    return priv->autoconnect_retries;
+}
+
+gint32
+nm_device_autoconnect_retries_blocked_until(NMDevice *self)
+{
+    NMDevicePrivate *priv = NM_DEVICE_GET_PRIVATE(self);
+
+    return priv->autoconnect_retries_blocked_until;
+}
+
+void
+nm_device_autoconnect_retries_reset(NMDevice *self)
+{
+    NMDevicePrivate *priv = NM_DEVICE_GET_PRIVATE(self);
+
+    /* default value, we will sync. with connection value when needed */
+    priv->autoconnect_retries               = -2;
+    priv->autoconnect_retries_blocked_until = 0;
+}
+
 /**
  * nm_device_spec_match_list:
  * @self: an #NMDevice
@@ -17161,6 +17215,13 @@ nm_device_get_hostname_from_dns_lookup(NMDevice *self, int addr_family, gboolean
     /* If the device is not supposed to have addresses,
      * return an immediate empty result.*/
     if (!nm_device_get_applied_connection(self)) {
+        nm_clear_pointer(&priv->hostname_resolver_x[IS_IPv4], _hostname_resolver_free);
+        NM_SET_OUT(out_wait, FALSE);
+        return NULL;
+    }
+
+    if (!priv->carrier) {
+        nm_clear_pointer(&priv->hostname_resolver_x[IS_IPv4], _hostname_resolver_free);
         NM_SET_OUT(out_wait, FALSE);
         return NULL;
     }
@@ -17601,6 +17662,8 @@ nm_device_init(NMDevice *self)
     priv->sys_iface_state_      = NM_DEVICE_SYS_IFACE_STATE_EXTERNAL;
 
     priv->promisc_reset = NM_OPTION_BOOL_DEFAULT;
+
+    priv->autoconnect_retries = -2;
 }
 
 static GObject *
diff --git a/src/core/devices/nm-device.h b/src/core/devices/nm-device.h
index de850e68..fea46bb7 100644
--- a/src/core/devices/nm-device.h
+++ b/src/core/devices/nm-device.h
@@ -464,6 +464,11 @@ const char *nm_device_get_permanent_hw_address_full(NMDevice *self,
                                                     gboolean *out_is_fake);
 const char *nm_device_get_initial_hw_address(NMDevice *dev);
 
+void   nm_device_set_autoconnect_retries(NMDevice *self, int tries);
+int    nm_device_get_autoconnect_retries(NMDevice *self);
+gint32 nm_device_autoconnect_retries_blocked_until(NMDevice *self);
+void   nm_device_autoconnect_retries_reset(NMDevice *self);
+
 NMDhcpConfig *nm_device_get_dhcp_config(NMDevice *dev, int addr_family);
 
 NML3Cfg *nm_device_get_l3cfg(NMDevice *self);
diff --git a/src/core/devices/ovs/nm-ovsdb.c b/src/core/devices/ovs/nm-ovsdb.c
index e7c96852..d3e858a1 100644
--- a/src/core/devices/ovs/nm-ovsdb.c
+++ b/src/core/devices/ovs/nm-ovsdb.c
@@ -18,6 +18,7 @@
 #include "nm-manager.h"
 #include "nm-setting-ovs-external-ids.h"
 #include "nm-priv-helper-call.h"
+#include "libnm-platform/nm-platform.h"
 
 /*****************************************************************************/
 
@@ -120,6 +121,7 @@ enum {
 static guint signals[LAST_SIGNAL] = {0};
 
 typedef struct {
+    NMPlatform        *platform;
     GSocketConnection *conn;
     GCancellable      *conn_cancellable;
     char               buf[4096]; /* Input buffer */
@@ -135,8 +137,14 @@ typedef struct {
     GHashTable *bridges;    /* bridge uuid => OpenvswitchBridge */
     char       *db_uuid;
     guint       num_failures;
-    guint       num_pending_deletions;
     bool        ready : 1;
+    struct {
+        GPtrArray *interfaces;      /* Interface names we are waiting to go away */
+        GSource   *timeout_source;  /* After all deletions complete, wait this
+                                    * timeout for interfaces to disappear */
+        gulong     link_changed_id; /* Platform link-changed signal handle */
+        guint      num_pending_del; /* Number of ovsdb deletions pending */
+    } cleanup;
 } NMOvsdbPrivate;
 
 struct _NMOvsdb {
@@ -161,6 +169,7 @@ static void ovsdb_disconnect(NMOvsdb *self, gboolean retry, gboolean is_disposin
 static void ovsdb_read(NMOvsdb *self);
 static void ovsdb_write(NMOvsdb *self);
 static void ovsdb_next_command(NMOvsdb *self);
+static void cleanup_check_ready(NMOvsdb *self);
 
 /*****************************************************************************/
 
@@ -2283,21 +2292,114 @@ ovsdb_disconnect(NMOvsdb *self, gboolean retry, gboolean is_disposing)
 }
 
 static void
-_check_ready(NMOvsdb *self)
+cleanup_emit_ready(NMOvsdb *self, const char *reason)
+{
+    NMOvsdbPrivate *priv = NM_OVSDB_GET_PRIVATE(self);
+
+    _LOGT("cleanup: ready (%s)", reason);
+
+    nm_clear_pointer(&priv->cleanup.interfaces, g_ptr_array_unref);
+    nm_clear_g_source_inst(&priv->cleanup.timeout_source);
+    nm_clear_g_signal_handler(priv->platform, &priv->cleanup.link_changed_id);
+
+    priv->ready = TRUE;
+    g_signal_emit(self, signals[READY], 0);
+    nm_manager_unblock_failed_ovs_interfaces(nm_manager_get());
+}
+
+static gboolean
+cleanup_timeout(NMOvsdb *self)
+{
+    cleanup_emit_ready(self, "timeout");
+    return G_SOURCE_CONTINUE;
+}
+
+static void
+cleanup_link_cb(NMPlatform     *platform,
+                int             obj_type_i,
+                int             ifindex,
+                NMPlatformLink *plink,
+                int             change_type_i,
+                gpointer        user_data)
+{
+    const NMPlatformSignalChangeType change_type = change_type_i;
+
+    if (change_type != NM_PLATFORM_SIGNAL_REMOVED)
+        return;
+
+    cleanup_check_ready(user_data);
+}
+
+static void
+cleanup_check_ready(NMOvsdb *self)
 {
     NMOvsdbPrivate *priv = NM_OVSDB_GET_PRIVATE(self);
+    guint           i    = 0;
 
     nm_assert(!priv->ready);
 
-    if (priv->num_pending_deletions == 0) {
-        priv->ready = TRUE;
-        g_signal_emit(self, signals[READY], 0);
-        nm_manager_unblock_failed_ovs_interfaces(nm_manager_get());
+    if (priv->cleanup.num_pending_del > 0)
+        return;
+
+    /* After we have deleted an interface from ovsdb, the link will stay
+     * in platform until ovs-vswitch removes it. To avoid race conditions,
+     * we need to wait until the link goes away; otherwise, after adding the
+     * interface again, these race conditions can happen:
+     * 1) we see the link in platform, and proceed with activation. But after
+     *    that, ovs-vswitchd reads the updates from ovsdb-server and deletes/recreates
+     *    the link.
+     * 2) ovs-vswitch combines the delete/insert of the interface to a no-op. NM sees
+     *    the link staying in platform, but doesn't know whether the link is ready
+     *    or we are again in case 1)
+     * In other words, it's necessary to wait that the link goes away before inserting
+     * the interface again.
+     */
+    while (i < nm_g_ptr_array_len(priv->cleanup.interfaces)) {
+        const char                  *ifname;
+        const NMDedupMultiHeadEntry *pl_links_head_entry;
+        NMDedupMultiIter             pliter;
+        const NMPlatformLink        *link;
+        gboolean                     found = FALSE;
+
+        ifname              = priv->cleanup.interfaces->pdata[i];
+        pl_links_head_entry = nm_platform_lookup_link_by_ifname(priv->platform, ifname);
+        nmp_cache_iter_for_each_link (&pliter, pl_links_head_entry, &link) {
+            if (link->type == NM_LINK_TYPE_OPENVSWITCH
+                && nmp_object_is_visible(NMP_OBJECT_UP_CAST(link))) {
+                found = TRUE;
+                break;
+            }
+        }
+
+        if (!found) {
+            g_ptr_array_remove_index_fast(priv->cleanup.interfaces, i);
+            continue;
+        }
+        i++;
     }
+
+    if (nm_g_ptr_array_len(priv->cleanup.interfaces) == 0) {
+        cleanup_emit_ready(self, "all interfaces deleted");
+        return;
+    }
+
+    _LOGT("cleanup: still waiting for %d interfaces", priv->cleanup.interfaces->len);
+
+    if (priv->cleanup.timeout_source) {
+        /* We already registered the timeout/change-callback */
+        return;
+    }
+
+    priv->cleanup.timeout_source =
+        nm_g_timeout_add_seconds_source(6, G_SOURCE_FUNC(cleanup_timeout), self);
+    priv->cleanup.link_changed_id = g_signal_connect(priv->platform,
+                                                     NM_PLATFORM_SIGNAL_LINK_CHANGED,
+                                                     G_CALLBACK(cleanup_link_cb),
+                                                     self);
 }
 
 static void
-_del_initial_iface_cb(GError *error, gpointer user_data)
+cleanup_del_iface_cb(GError *error, gpointer user_data)
 {
     NMOvsdb        *self;
     gs_free char   *ifname = NULL;
@@ -2309,18 +2411,18 @@ _del_initial_iface_cb(GError *error, gpointer user_data)
         return;
 
     priv = NM_OVSDB_GET_PRIVATE(self);
-    nm_assert(priv->num_pending_deletions > 0);
-    priv->num_pending_deletions--;
+    nm_assert(priv->cleanup.num_pending_del > 0);
+    priv->cleanup.num_pending_del--;
 
-    _LOGD("delete initial interface '%s': %s %s%s%s, pending %u",
+    _LOGD("cleanup: deleted interface '%s': %s %s%s%s, pending %u",
           ifname,
           error ? "error" : "success",
           error ? "(" : "",
           error ? error->message : "",
           error ? ")" : "",
-          priv->num_pending_deletions);
+          priv->cleanup.num_pending_del);
 
-    _check_ready(self);
+    cleanup_check_ready(self);
 }
 
 static void
@@ -2331,7 +2433,7 @@ ovsdb_cleanup_initial_interfaces(NMOvsdb *self)
     NMUtilsUserData            *data;
     GHashTableIter              iter;
 
-    if (priv->ready || priv->num_pending_deletions != 0)
+    if (priv->ready || priv->cleanup.num_pending_del > 0 || priv->cleanup.interfaces)
         return;
 
     /* Delete OVS interfaces added by NM. Bridges and ports and
@@ -2339,17 +2441,22 @@ ovsdb_cleanup_initial_interfaces(NMOvsdb *self)
      * when no interface is present. */
     g_hash_table_iter_init(&iter, self->_priv.interfaces);
     while (g_hash_table_iter_next(&iter, NULL, (gpointer *) &interface)) {
-        if (interface->connection_uuid) {
-            priv->num_pending_deletions++;
-            _LOGD("deleting initial interface '%s' (pending: %u)",
-                  interface->name,
-                  priv->num_pending_deletions);
-            data = nm_utils_user_data_pack(self, g_strdup(interface->name));
-            nm_ovsdb_del_interface(self, interface->name, _del_initial_iface_cb, data);
+        if (!interface->connection_uuid) {
+            /* not created by NM, ignore */
+            continue;
         }
+
+        if (!priv->cleanup.interfaces)
+            priv->cleanup.interfaces = g_ptr_array_new_with_free_func(g_free);
+        g_ptr_array_add(priv->cleanup.interfaces, g_strdup(interface->name));
+
+        _LOGD("cleanup: deleting interface '%s'", interface->name);
+        priv->cleanup.num_pending_del++;
+        data = nm_utils_user_data_pack(self, g_strdup(interface->name));
+        nm_ovsdb_del_interface(self, interface->name, cleanup_del_iface_cb, data);
     }
 
-    _check_ready(self);
+    cleanup_check_ready(self);
 }
 
 static void
@@ -2622,8 +2729,9 @@ nm_ovsdb_init(NMOvsdb *self)
 
     c_list_init(&priv->calls_lst_head);
 
-    priv->input  = g_string_new(NULL);
-    priv->output = g_string_new(NULL);
+    priv->platform = g_object_ref(NM_PLATFORM_GET);
+    priv->input    = g_string_new(NULL);
+    priv->output   = g_string_new(NULL);
     priv->bridges =
         g_hash_table_new_full(nm_pstr_hash, nm_pstr_equal, (GDestroyNotify) _free_bridge, NULL);
     priv->ports =
@@ -2653,6 +2761,7 @@ dispose(GObject *object)
         priv->output = NULL;
     }
 
+    g_clear_object(&priv->platform);
     nm_clear_pointer(&priv->bridges, g_hash_table_destroy);
     nm_clear_pointer(&priv->ports, g_hash_table_destroy);
     nm_clear_pointer(&priv->interfaces, g_hash_table_destroy);
diff --git a/src/core/devices/team/nm-device-team.c b/src/core/devices/team/nm-device-team.c
index e6d34266..4e073ddf 100644
--- a/src/core/devices/team/nm-device-team.c
+++ b/src/core/devices/team/nm-device-team.c
@@ -43,6 +43,7 @@ typedef struct {
     bool               kill_in_progress : 1;
     GFileMonitor      *usock_monitor;
     NMDeviceStageState stage1_state : 3;
+    GHashTable        *port_configs;
 } NMDeviceTeamPrivate;
 
 struct _NMDeviceTeam {
@@ -138,20 +139,44 @@ complete_connection(NMDevice            *device,
 }
 
 static gboolean
+_update_port_config(NMDeviceTeam *self, const char *port_iface, const char *sanitized_config)
+{
+    NMDeviceTeamPrivate *priv = NM_DEVICE_TEAM_GET_PRIVATE(self);
+    int                  err;
+
+    err = teamdctl_port_config_update_raw(priv->tdc, port_iface, sanitized_config);
+    if (err != 0) {
+        _LOGE(LOGD_TEAM, "failed to update config for port %s (err=%d)", port_iface, err);
+        return FALSE;
+    }
+
+    return TRUE;
+}
+
+static gboolean
 ensure_teamd_connection(NMDevice *device)
 {
     NMDeviceTeam         *self  = NM_DEVICE_TEAM(device);
     NMDeviceTeamPrivate  *priv  = NM_DEVICE_TEAM_GET_PRIVATE(self);
     gs_free_error GError *error = NULL;
+    const char           *port_iface;
+    const char           *port_config;
+    GHashTableIter        iter;
 
     if (priv->tdc)
         return TRUE;
 
     priv->tdc = _tdc_connect_new(self, nm_device_get_iface(device), &error);
-    if (!priv->tdc)
+    if (!priv->tdc) {
         _LOGE(LOGD_TEAM, "failed to connect to teamd: %s", error->message);
+        return FALSE;
+    }
 
-    return !!priv->tdc;
+    g_hash_table_iter_init(&iter, priv->port_configs);
+    while (g_hash_table_iter_next(&iter, (gpointer *) &port_iface, (gpointer *) &port_config))
+        _update_port_config(self, port_iface, port_config);
+
+    return TRUE;
 }
 
 static const char *
@@ -840,28 +865,20 @@ attach_port(NMDevice                  *device,
 
         s_team_port = nm_connection_get_setting_team_port(connection);
         if (s_team_port) {
-            const char *config = nm_setting_team_port_get_config(s_team_port);
-
-            if (config) {
-                if (!priv->tdc) {
-                    _LOGW(LOGD_TEAM,
-                          "attached team port %s config not changed, not connected to teamd",
-                          port_iface);
-                } else {
-                    gs_free char *sanitized_config = NULL;
-                    int           err;
-
-                    sanitized_config = g_strdup(config);
-                    g_strdelimit(sanitized_config, "\r\n", ' ');
-                    err = teamdctl_port_config_update_raw(priv->tdc, port_iface, sanitized_config);
-                    if (err != 0) {
-                        _LOGE(LOGD_TEAM,
-                              "failed to update config for port %s (err=%d)",
-                              port_iface,
-                              err);
-                        return FALSE;
-                    }
-                }
+            char *sanitized_config;
+
+            sanitized_config = g_strdup(nm_setting_team_port_get_config(s_team_port) ?: "{}");
+            g_strdelimit(sanitized_config, "\r\n", ' ');
+
+            g_hash_table_insert(priv->port_configs, g_strdup(port_iface), sanitized_config);
+
+            if (!priv->tdc) {
+                _LOGW(LOGD_TEAM,
+                      "attached team port %s config not changed, not connected to teamd",
+                      port_iface);
+            } else {
+                if (!_update_port_config(self, port_iface, sanitized_config))
+                    return FALSE;
             }
         }
         success = nm_platform_link_enslave(nm_device_get_platform(device),
@@ -885,8 +902,9 @@ attach_port(NMDevice                  *device,
 static void
 detach_port(NMDevice *device, NMDevice *port, gboolean configure)
 {
-    NMDeviceTeam        *self = NM_DEVICE_TEAM(device);
-    NMDeviceTeamPrivate *priv = NM_DEVICE_TEAM_GET_PRIVATE(self);
+    NMDeviceTeam        *self       = NM_DEVICE_TEAM(device);
+    NMDeviceTeamPrivate *priv       = NM_DEVICE_TEAM_GET_PRIVATE(self);
+    const char          *port_iface = nm_device_get_ip_iface(port);
     gboolean             do_release, success;
     NMSettingTeamPort   *s_port;
     int                  ifindex_port;
@@ -902,36 +920,36 @@ detach_port(NMDevice *device, NMDevice *port, gboolean configure)
     ifindex_port = nm_device_get_ip_ifindex(port);
 
     if (ifindex_port <= 0) {
-        _LOGD(LOGD_TEAM, "team port %s is already detached", nm_device_get_ip_iface(port));
+        _LOGD(LOGD_TEAM, "team port %s is already detached", port_iface);
     } else if (do_release) {
         success = nm_platform_link_release(nm_device_get_platform(device),
                                            nm_device_get_ip_ifindex(device),
                                            ifindex_port);
         if (success)
-            _LOGI(LOGD_TEAM, "detached team port %s", nm_device_get_ip_iface(port));
+            _LOGI(LOGD_TEAM, "detached team port %s", port_iface);
         else
-            _LOGW(LOGD_TEAM, "failed to detach team port %s", nm_device_get_ip_iface(port));
+            _LOGW(LOGD_TEAM, "failed to detach team port %s", port_iface);
 
         /* Kernel team code "closes" the port when releasing it, (which clears
          * IFF_UP), so we must bring it back up here to ensure carrier changes and
          * other state is noticed by the now-released port.
          */
         if (!nm_device_bring_up(port, TRUE, NULL)) {
-            _LOGW(LOGD_TEAM,
-                  "detached team port %s could not be brought up",
-                  nm_device_get_ip_iface(port));
+            _LOGW(LOGD_TEAM, "detached team port %s could not be brought up", port_iface);
         }
 
         nm_clear_g_source(&priv->teamd_read_timeout);
         priv->teamd_read_timeout = g_timeout_add_seconds(5, teamd_read_timeout_cb, self);
     } else
-        _LOGI(LOGD_TEAM, "team port %s was detached", nm_device_get_ip_iface(port));
+        _LOGI(LOGD_TEAM, "team port %s was detached", port_iface);
 
     /* Delete any port configuration we previously set */
     if (configure && priv->tdc
         && (s_port = nm_device_get_applied_setting(port, NM_TYPE_SETTING_TEAM_PORT))
-        && (nm_setting_team_port_get_config(s_port)))
-        teamdctl_port_config_update_raw(priv->tdc, nm_device_get_ip_iface(port), "{}");
+        && (nm_setting_team_port_get_config(s_port))) {
+        _update_port_config(self, port_iface, "{}");
+        g_hash_table_remove(priv->port_configs, port_iface);
+    }
 }
 
 static gboolean
@@ -995,6 +1013,8 @@ constructed(GObject *object)
 
     G_OBJECT_CLASS(nm_device_team_parent_class)->constructed(object);
 
+    priv->port_configs = g_hash_table_new_full(nm_str_hash, g_str_equal, g_free, g_free);
+
     if (nm_dbus_manager_get_dbus_connection(nm_dbus_manager_get())) {
         /* Register D-Bus name watcher */
         tmp_str = g_strdup_printf("org.libteam.teamd.%s", nm_device_get_ip_iface(device));
@@ -1054,6 +1074,7 @@ dispose(GObject *object)
 
     teamd_cleanup(self, TRUE);
     nm_clear_g_free(&priv->config);
+    nm_clear_pointer(&priv->port_configs, g_hash_table_destroy);
 
     G_OBJECT_CLASS(nm_device_team_parent_class)->dispose(object);
 }
diff --git a/src/core/devices/wwan/nm-modem-ofono.c b/src/core/devices/wwan/nm-modem-ofono.c
index c003880e..fc27c3fd 100644
--- a/src/core/devices/wwan/nm-modem-ofono.c
+++ b/src/core/devices/wwan/nm-modem-ofono.c
@@ -739,7 +739,7 @@ handle_settings(GVariant *v_dict, gpointer user_data)
     gboolean             ret = FALSE;
     const char          *interface;
     const char          *s;
-    const char         **array;
+    gs_free const char **array = NULL;
     guint32              address_network, gateway_network;
     int                  ifindex;
     GError              *error = NULL;
@@ -838,15 +838,16 @@ handle_settings(GVariant *v_dict, gpointer user_data)
     }
     if (array) {
         gboolean any_good = FALSE;
+        gsize    i;
 
-        for (; array[0]; array++) {
-            if (!nm_utils_parse_inaddr_bin(AF_INET, *array, NULL, &address_network)
+        for (i = 0; array[i]; i++) {
+            if (!nm_utils_parse_inaddr_bin(AF_INET, array[i], NULL, &address_network)
                 || !address_network) {
-                _LOGW("invalid NameServer: %s", *array);
+                _LOGW("invalid NameServer: %s", array[i]);
                 continue;
             }
             any_good = TRUE;
-            _LOGI("DNS: %s", *array);
+            _LOGI("DNS: %s", array[i]);
             nm_l3_config_data_add_nameserver(priv->l3cd_4, AF_INET, &address_network);
         }
         if (!any_good) {
diff --git a/src/core/dhcp/nm-dhcp-client.c b/src/core/dhcp/nm-dhcp-client.c
index 77cfeecf..1329b953 100644
--- a/src/core/dhcp/nm-dhcp-client.c
+++ b/src/core/dhcp/nm-dhcp-client.c
@@ -115,9 +115,6 @@ typedef struct _NMDhcpClientPrivate {
                 in_addr_t    addr;
                 NMOptionBool state;
             } acd;
-            struct {
-                GDBusMethodInvocation *invocation;
-            } bound;
         } v4;
         struct {
             GSource *lladdr_timeout_source;
@@ -125,6 +122,8 @@ typedef struct _NMDhcpClientPrivate {
         } v6;
     };
 
+    GDBusMethodInvocation *invocation;
+
     struct {
         gulong id;
         bool   wait_dhcp_commit : 1;
@@ -909,13 +908,10 @@ _accept(NMDhcpClient *self, const NML3ConfigData *l3cd, GError **error)
 {
     NMDhcpClientPrivate *priv = NM_DHCP_CLIENT_GET_PRIVATE(self);
 
-    if (!NM_IS_IPv4(priv->config.addr_family))
+    if (!priv->invocation)
         return TRUE;
 
-    if (!priv->v4.bound.invocation)
-        return TRUE;
-
-    g_dbus_method_invocation_return_value(g_steal_pointer(&priv->v4.bound.invocation), NULL);
+    g_dbus_method_invocation_return_value(g_steal_pointer(&priv->invocation), NULL);
     return TRUE;
 }
 
@@ -939,20 +935,17 @@ decline(NMDhcpClient *self, const NML3ConfigData *l3cd, const char *error_messag
 {
     NMDhcpClientPrivate *priv = NM_DHCP_CLIENT_GET_PRIVATE(self);
 
-    if (!NM_IS_IPv4(priv->config.addr_family))
-        return TRUE;
-
-    if (!priv->v4.bound.invocation) {
+    if (!priv->invocation) {
         nm_utils_error_set(error,
                            NM_UTILS_ERROR_UNKNOWN,
                            "calling decline in unexpected script state");
         return FALSE;
     }
-
-    g_dbus_method_invocation_return_error(g_steal_pointer(&priv->v4.bound.invocation),
+    g_dbus_method_invocation_return_error(g_steal_pointer(&priv->invocation),
                                           NM_DEVICE_ERROR,
                                           NM_DEVICE_ERROR_FAILED,
-                                          "acd failed");
+                                          NM_IS_IPv4(priv->config.addr_family) ? "ACD failed"
+                                                                               : "DAD failed");
     return TRUE;
 }
 
@@ -1043,8 +1036,11 @@ ipv6_lladdr_find(NMDhcpClient *self)
     return NULL;
 }
 
-static const NMPlatformIP6Address *
-ipv6_tentative_addr_find(NMDhcpClient *self)
+static void
+ipv6_tentative_addr_check(NMDhcpClient                *self,
+                          GPtrArray                  **tentative,
+                          GPtrArray                  **missing,
+                          const NMPlatformIP6Address **valid)
 {
     NMDhcpClientPrivate        *priv = NM_DHCP_CLIENT_GET_PRIVATE(self);
     NMDedupMultiIter            iter;
@@ -1062,16 +1058,26 @@ ipv6_tentative_addr_find(NMDhcpClient *self)
                                                                     NMP_CACHE_ID_TYPE_OBJECT_TYPE,
                                                                     &needle));
         if (!pladdr) {
-            /* Address was removed from platform */
+            /* address removed: we assume that's because DAD failed */
+            if (missing) {
+                if (!*missing)
+                    *missing = g_ptr_array_new();
+                g_ptr_array_add(*missing, (gpointer) addr);
+            }
             continue;
         }
 
         if (NM_FLAGS_HAS(pladdr->n_ifa_flags, IFA_F_TENTATIVE)
-            && !NM_FLAGS_HAS(pladdr->n_ifa_flags, IFA_F_OPTIMISTIC))
-            return pladdr;
-    }
+            && !NM_FLAGS_HAS(pladdr->n_ifa_flags, IFA_F_OPTIMISTIC)) {
+            if (tentative) {
+                if (!*tentative)
+                    *tentative = g_ptr_array_new();
+                g_ptr_array_add(*tentative, (gpointer) addr);
+            }
+        }
 
-    return NULL;
+        NM_SET_OUT(valid, addr);
+    }
 }
 
 static void
@@ -1108,21 +1114,61 @@ l3_cfg_notify_cb(NML3Cfg *l3cfg, const NML3ConfigNotifyData *notify_data, NMDhcp
 
     if (notify_data->notify_type == NM_L3_CONFIG_NOTIFY_TYPE_PLATFORM_CHANGE_ON_IDLE
         && priv->l3cfg_notify.wait_ipv6_dad) {
-        const NMPlatformIP6Address *tentative;
+        gs_unref_ptrarray GPtrArray *tentative = NULL;
+        gs_unref_ptrarray GPtrArray *missing   = NULL;
+        const NMPlatformIP6Address  *valid     = NULL;
+        char                         str[NM_UTILS_TO_STRING_BUFFER_SIZE];
+        guint                        i;
+        gs_free_error GError        *error = NULL;
+
+        ipv6_tentative_addr_check(self, &tentative, &missing, &valid);
+        if (tentative) {
+            for (i = 0; i < tentative->len; i++) {
+                _LOGD("still waiting DAD for address: %s",
+                      nm_platform_ip6_address_to_string(tentative->pdata[i], str, sizeof(str)));
+            }
+        } else {
+            /* done */
 
-        tentative = ipv6_tentative_addr_find(self);
-        if (!tentative) {
-            _LOGD("addresses in the lease completed DAD");
             priv->l3cfg_notify.wait_ipv6_dad = FALSE;
             nm_clear_g_source_inst(&priv->v6.dad_timeout_source);
             l3_cfg_notify_check_connected(self);
-            _emit_notify(
-                self,
-                &((NMDhcpClientNotifyData){.notify_type  = NM_DHCP_CLIENT_NOTIFY_TYPE_LEASE_UPDATE,
-                                           .lease_update = {
-                                               .l3cd     = priv->l3cd_curr,
-                                               .accepted = TRUE,
-                                           }}));
+
+            if (missing) {
+                for (i = 0; i < missing->len; i++) {
+                    _LOGE("DAD failed for address: %s",
+                          nm_platform_ip6_address_to_string(missing->pdata[i], str, sizeof(str)));
+                }
+            }
+
+            if (valid) {
+                /* at least one non-duplicate address */
+                _LOGD("addresses in the lease completed DAD: accept the lease");
+
+                if (_dhcp_client_accept(self, priv->l3cd_curr, &error)) {
+                    _emit_notify(self,
+                                 &((NMDhcpClientNotifyData){
+                                     .notify_type  = NM_DHCP_CLIENT_NOTIFY_TYPE_LEASE_UPDATE,
+                                     .lease_update = {
+                                         .l3cd     = priv->l3cd_curr,
+                                         .accepted = TRUE,
+                                     }}));
+                } else {
+                    gs_free char *reason =
+                        g_strdup_printf("error accepting lease: %s", error->message);
+
+                    _LOGD("accept failed: %s", error->message);
+                    _emit_notify(self,
+                                 &((NMDhcpClientNotifyData){
+                                     .notify_type         = NM_DHCP_CLIENT_NOTIFY_TYPE_IT_LOOKS_BAD,
+                                     .it_looks_bad.reason = reason,
+                                 }));
+                }
+            } else {
+                _LOGD("decline the lease");
+                if (!_dhcp_client_decline(self, priv->l3cd_curr, "DAD failed", &error))
+                    _LOGD("decline failed: %s", error->message);
+            }
         }
     }
 
@@ -1155,20 +1201,23 @@ l3_cfg_notify_cb(NML3Cfg *l3cfg, const NML3ConfigNotifyData *notify_data, NMDhcp
                                                     address4->peer_address))
                 goto wait_dhcp_commit_done;
         } else {
-            const NMPlatformIP6Address *address6 = (const NMPlatformIP6Address *) lease_address;
-            const NMPlatformIP6Address *tentative;
-            char                        str[NM_UTILS_TO_STRING_BUFFER_SIZE];
+            const NMPlatformIP6Address  *address6  = (const NMPlatformIP6Address *) lease_address;
+            gs_unref_ptrarray GPtrArray *tentative = NULL;
+            char                         str[NM_UTILS_TO_STRING_BUFFER_SIZE];
+            guint                        i;
 
             if (!nm_l3_config_data_lookup_address_6(committed_l3cd, &address6->address))
                 goto wait_dhcp_commit_done;
 
-            tentative = ipv6_tentative_addr_find(self);
+            ipv6_tentative_addr_check(self, &tentative, NULL, NULL);
             if (tentative) {
                 priv->l3cfg_notify.wait_ipv6_dad = TRUE;
                 priv->v6.dad_timeout_source =
                     nm_g_timeout_add_seconds_source(30, ipv6_dad_timeout, self);
-                _LOGD("wait DAD for address %s",
-                      nm_platform_ip6_address_to_string(tentative, str, sizeof(str)));
+                for (i = 0; i < tentative->len; i++) {
+                    _LOGD("wait DAD for address %s",
+                          nm_platform_ip6_address_to_string(tentative->pdata[i], str, sizeof(str)));
+                }
             } else {
                 priv->l3cfg_notify.wait_ipv6_dad = FALSE;
                 nm_clear_g_source_inst(&priv->v6.dad_timeout_source);
@@ -1179,22 +1228,22 @@ l3_cfg_notify_cb(NML3Cfg *l3cfg, const NML3ConfigNotifyData *notify_data, NMDhcp
 
         l3_cfg_notify_check_connected(self);
 
-        _LOGD("accept lease");
+        if (priv->config.addr_family == AF_INET || !priv->l3cfg_notify.wait_ipv6_dad) {
+            _LOGD("accept lease");
 
-        if (!_dhcp_client_accept(self, priv->l3cd_curr, &error)) {
-            gs_free char *reason = g_strdup_printf("error accepting lease: %s", error->message);
+            if (!_dhcp_client_accept(self, priv->l3cd_curr, &error)) {
+                gs_free char *reason = g_strdup_printf("error accepting lease: %s", error->message);
 
-            _LOGD("accept failed: %s", error->message);
+                _LOGD("accept failed: %s", error->message);
 
-            _emit_notify(self,
-                         &((NMDhcpClientNotifyData){
-                             .notify_type         = NM_DHCP_CLIENT_NOTIFY_TYPE_IT_LOOKS_BAD,
-                             .it_looks_bad.reason = reason,
-                         }));
-            goto wait_dhcp_commit_done;
-        }
+                _emit_notify(self,
+                             &((NMDhcpClientNotifyData){
+                                 .notify_type         = NM_DHCP_CLIENT_NOTIFY_TYPE_IT_LOOKS_BAD,
+                                 .it_looks_bad.reason = reason,
+                             }));
+                goto wait_dhcp_commit_done;
+            }
 
-        if (priv->config.addr_family == AF_INET || !priv->l3cfg_notify.wait_ipv6_dad) {
             _emit_notify(
                 self,
                 &((NMDhcpClientNotifyData){.notify_type  = NM_DHCP_CLIENT_NOTIFY_TYPE_LEASE_UPDATE,
@@ -1368,8 +1417,8 @@ nm_dhcp_client_stop(NMDhcpClient *self, gboolean release)
 
     priv->is_stopped = TRUE;
 
-    if (NM_IS_IPv4(priv->config.addr_family) && priv->v4.bound.invocation) {
-        g_dbus_method_invocation_return_error(g_steal_pointer(&priv->v4.bound.invocation),
+    if (priv->invocation) {
+        g_dbus_method_invocation_return_error(g_steal_pointer(&priv->invocation),
                                               NM_DEVICE_ERROR,
                                               NM_DEVICE_ERROR_FAILED,
                                               "dhcp stopping");
@@ -1528,7 +1577,6 @@ nm_dhcp_client_handle_event(gpointer               unused,
     NMPlatformIP6Address                    prefix = {
                            0,
     };
-    int IS_IPv4;
 
     g_return_val_if_fail(NM_IS_DHCP_CLIENT(self), FALSE);
     g_return_val_if_fail(iface != NULL, FALSE);
@@ -1625,16 +1673,13 @@ nm_dhcp_client_handle_event(gpointer               unused,
         client_event_type = NM_DHCP_CLIENT_EVENT_TYPE_FAIL;
     }
 
-    IS_IPv4 = NM_IS_IPv4(priv->config.addr_family);
-
-    if (IS_IPv4 && priv->v4.bound.invocation)
-        g_dbus_method_invocation_return_value(g_steal_pointer(&priv->v4.bound.invocation), NULL);
+    if (priv->invocation)
+        g_dbus_method_invocation_return_value(g_steal_pointer(&priv->invocation), NULL);
 
-    if (IS_IPv4
-        && NM_IN_SET(client_event_type,
-                     NM_DHCP_CLIENT_EVENT_TYPE_BOUND,
-                     NM_DHCP_CLIENT_EVENT_TYPE_EXTENDED))
-        priv->v4.bound.invocation = g_steal_pointer(&invocation);
+    if (NM_IN_SET(client_event_type,
+                  NM_DHCP_CLIENT_EVENT_TYPE_BOUND,
+                  NM_DHCP_CLIENT_EVENT_TYPE_EXTENDED))
+        priv->invocation = g_steal_pointer(&invocation);
 
     _nm_dhcp_client_notify(self, client_event_type, l3cd);
 
@@ -1785,10 +1830,6 @@ set_property(GObject *object, guint prop_id, const GValue *value, GParamSpec *ps
          * explicitly initialize the respective union member. */
         if (NM_IS_IPv4(priv->config.addr_family)) {
             priv->v4 = (typeof(priv->v4)){
-                .bound =
-                    {
-                        .invocation = NULL,
-                    },
                 .acd =
                     {
                         .addr                = INADDR_ANY,
diff --git a/src/core/dhcp/nm-dhcp-helper.c b/src/core/dhcp/nm-dhcp-helper.c
index 5a17f4e8..78db617c 100644
--- a/src/core/dhcp/nm-dhcp-helper.c
+++ b/src/core/dhcp/nm-dhcp-helper.c
@@ -114,6 +114,8 @@ main(int argc, char *argv[])
     gint64                           time_start;
     gint64                           time_end;
     gint64                           remaining_time;
+    gboolean                         IS_IPv4;
+    const char                      *reason;
 
     /* Connecting to the unix socket can fail with EAGAIN if there are too
      * many pending connections and the server can't accept them in time
@@ -124,7 +126,19 @@ main(int argc, char *argv[])
     time_end   = time_start + (5000 * 1000L);
     try_count  = 0;
 
-    _LOGi("nm-dhcp-helper: event called");
+    reason = getenv("reason");
+
+    _LOGi("nm-dhcp-helper: event called: %s", reason);
+
+    IS_IPv4 = !NM_IN_STRSET(reason,
+                            "PREINIT6",
+                            "BOUND6",
+                            "RENEW6",
+                            "REBIND6",
+                            "DEPREF6",
+                            "EXPIRE6",
+                            "RELEASE6",
+                            "STOP6");
 
 do_connect:
     try_count++;
@@ -244,5 +258,6 @@ out:
     }
 
     _LOGi("success: %s", success ? "YES" : "NO");
-    return success ? EXIT_SUCCESS : EXIT_FAILURE;
+    /* The error code to send a decline depends on the address family */
+    return success ? EXIT_SUCCESS : (IS_IPv4 ? 1 : 3);
 }
diff --git a/src/core/dns/nm-dns-manager.c b/src/core/dns/nm-dns-manager.c
index 1e54452a..a2fead3f 100644
--- a/src/core/dns/nm-dns-manager.c
+++ b/src/core/dns/nm-dns-manager.c
@@ -2039,8 +2039,15 @@ nm_dns_manager_set_ip_config(NMDnsManager         *self,
 
     if (!ip_data) {
         ip_data = _dns_config_ip_data_new(data, addr_family, source_tag, l3cd, ip_config_type);
-        if (!any_removed)
+        priv->ip_data_lst_need_sort = TRUE;
+        if (!any_removed) {
+            /* `any_removed` tracks whether we deleted any ip_data. If that happened,
+             * we already compared the old and new l3cds and set `changed` accordingly.
+             * Here we only need to set `changed` if we are adding a new ip_data without
+             * removing the old one.
+             */
             changed = TRUE;
+        }
     } else {
         ip_data->ip_config_type = ip_config_type;
         changed                 = TRUE;
diff --git a/src/core/nm-config-data.c b/src/core/nm-config-data.c
index 0f512e38..753e3fb5 100644
--- a/src/core/nm-config-data.c
+++ b/src/core/nm-config-data.c
@@ -585,7 +585,7 @@ _merge_keyfiles(GKeyFile *keyfile_user, GKeyFile *keyfile_intern)
         if (!keys)
             continue;
 
-        is_intern = g_str_has_prefix(group, NM_CONFIG_KEYFILE_GROUPPREFIX_INTERN);
+        is_intern = NM_STR_HAS_PREFIX(group, NM_CONFIG_KEYFILE_GROUPPREFIX_INTERN);
         if (!is_intern
             && g_key_file_has_key(keyfile_intern,
                                   group,
@@ -634,9 +634,11 @@ _nm_config_data_log_sort(const char **pa, const char **pb, gpointer dummy)
     const char *a = *pa;
     const char *b = *pb;
 
+    nm_assert(a && b && !nm_streq(a, b));
+
     /* we sort intern groups to the end. */
-    a_is_intern = g_str_has_prefix(a, NM_CONFIG_KEYFILE_GROUPPREFIX_INTERN);
-    b_is_intern = g_str_has_prefix(b, NM_CONFIG_KEYFILE_GROUPPREFIX_INTERN);
+    a_is_intern = NM_STR_HAS_PREFIX(a, NM_CONFIG_KEYFILE_GROUPPREFIX_INTERN);
+    b_is_intern = NM_STR_HAS_PREFIX(b, NM_CONFIG_KEYFILE_GROUPPREFIX_INTERN);
 
     if (a_is_intern && b_is_intern)
         return 0;
@@ -646,8 +648,8 @@ _nm_config_data_log_sort(const char **pa, const char **pb, gpointer dummy)
         return -1;
 
     /* we sort connection groups before intern groups (to the end). */
-    a_is_connection = a && g_str_has_prefix(a, NM_CONFIG_KEYFILE_GROUPPREFIX_CONNECTION);
-    b_is_connection = b && g_str_has_prefix(b, NM_CONFIG_KEYFILE_GROUPPREFIX_CONNECTION);
+    a_is_connection = NM_STR_HAS_PREFIX(a, NM_CONFIG_KEYFILE_GROUPPREFIX_CONNECTION);
+    b_is_connection = NM_STR_HAS_PREFIX(b, NM_CONFIG_KEYFILE_GROUPPREFIX_CONNECTION);
 
     if (a_is_connection && b_is_connection) {
         /* if both are connection groups, we want the explicit [connection] group first. */
@@ -668,8 +670,8 @@ _nm_config_data_log_sort(const char **pa, const char **pb, gpointer dummy)
         return -1;
 
     /* we sort device groups before connection groups (to the end). */
-    a_is_device = a && g_str_has_prefix(a, NM_CONFIG_KEYFILE_GROUPPREFIX_DEVICE);
-    b_is_device = b && g_str_has_prefix(b, NM_CONFIG_KEYFILE_GROUPPREFIX_DEVICE);
+    a_is_device = NM_STR_HAS_PREFIX(a, NM_CONFIG_KEYFILE_GROUPPREFIX_DEVICE);
+    b_is_device = NM_STR_HAS_PREFIX(b, NM_CONFIG_KEYFILE_GROUPPREFIX_DEVICE);
 
     if (a_is_device && b_is_device) {
         /* if both are device groups, we want the explicit [device] group first. */
@@ -770,27 +772,48 @@ nm_config_data_log(const NMConfigData  *self,
     groups_full = g_ptr_array_sized_new(ngroups + 5);
 
     if (ngroups) {
+        /* g_key_file_get_groups() can return duplicates ( :( ), but the
+         * keyfile that we constructed should not have any. Assert for that. */
+        nm_assert(!nm_strv_has_duplicate((const char *const *) groups, ngroups, FALSE));
+
         g_ptr_array_set_size(groups_full, ngroups);
         memcpy(groups_full->pdata, groups, sizeof(groups[0]) * ngroups);
-        g_ptr_array_sort_with_data(groups_full, (GCompareDataFunc) _nm_config_data_log_sort, NULL);
     }
 
     if (print_default) {
         for (g = 0; g < G_N_ELEMENTS(default_values); g++) {
             const char *group = default_values[g].group;
-            gssize      idx;
+            guint       g2;
 
-            idx = nm_utils_array_find_binary_search((gconstpointer *) groups_full->pdata,
-                                                    sizeof(char *),
-                                                    groups_full->len,
-                                                    &group,
-                                                    (GCompareDataFunc) _nm_config_data_log_sort,
-                                                    NULL);
-            if (idx < 0)
-                g_ptr_array_insert(groups_full, (~idx), (gpointer) group);
+            if (g > 0) {
+                if (nm_streq(group, default_values[g - 1].group)) {
+                    /* Repeated values. We already added this one. Skip */
+                    continue;
+                }
+                if (NM_MORE_ASSERT_ONCE(20)) {
+                    /* We require that the default values are grouped by their "group".
+                     * That is, all default values for a certain "group" are close to
+                     * each other in the list. Assert for that. */
+                    for (g2 = g + 1; g2 < groups_full->len; g2++) {
+                        nm_assert(!nm_streq(default_values[g - 1].group, default_values[g2].group));
+                    }
+                }
+            }
+
+            for (g2 = 0; g2 < groups_full->len; g2++) {
+                if (nm_streq(group, groups_full->pdata[g2]))
+                    goto next;
+            }
+
+            g_ptr_array_add(groups_full, (gpointer) group);
+
+next:
+            (void) 0;
         }
     }
 
+    g_ptr_array_sort_with_data(groups_full, (GCompareDataFunc) _nm_config_data_log_sort, NULL);
+
     if (!stream)
         _LOG(stream, prefix, "config-data[%p]: %u groups", self, groups_full->len);
 
diff --git a/src/core/nm-connectivity.c b/src/core/nm-connectivity.c
index 25ac3c7f..cd30853d 100644
--- a/src/core/nm-connectivity.c
+++ b/src/core/nm-connectivity.c
@@ -82,7 +82,6 @@ struct _NMConnectivityCheckHandle {
         gsize response_good_cnt;
 
         guint curl_timer;
-        int   ch_ifindex;
     } concheck;
 #endif
 
@@ -1049,8 +1048,6 @@ nm_connectivity_check_start(NMConnectivity             *self,
         NMConnectivityState state;
         const char         *reason;
 
-        cb_data->concheck.ch_ifindex = ifindex;
-
         if (platform) {
             state = check_platform_config(self, platform, ifindex, addr_family, &reason);
             nm_assert((state == NM_CONNECTIVITY_UNKNOWN) == !reason);
@@ -1106,7 +1103,7 @@ nm_connectivity_check_start(NMConnectivity             *self,
                                    "org.freedesktop.resolve1.Manager",
                                    "ResolveHostname",
                                    g_variant_new("(isit)",
-                                                 (gint32) cb_data->concheck.ch_ifindex,
+                                                 0,
                                                  cb_data->concheck.con_config->host,
                                                  (gint32) cb_data->addr_family,
                                                  SD_RESOLVED_DNS),
diff --git a/src/core/nm-firewall-utils.c b/src/core/nm-firewall-utils.c
index 1311f503..e482ab96 100644
--- a/src/core/nm-firewall-utils.c
+++ b/src/core/nm-firewall-utils.c
@@ -111,6 +111,8 @@ _share_iptables_get_name(gboolean is_iptables_chain, const char *prefix, const c
     return nm_str_buf_finalize(&strbuf, NULL);
 }
 
+/*****************************************************************************/
+
 static gboolean
 _share_iptables_call_v(const char *const *argv)
 {
@@ -171,7 +173,7 @@ _share_iptables_chain_add(const char *table, const char *chain)
 }
 
 static void
-_share_iptables_set_masquerade(gboolean add, const char *ip_iface, in_addr_t addr, guint8 plen)
+_share_iptables_set_masquerade_sync(gboolean up, const char *ip_iface, in_addr_t addr, guint8 plen)
 {
     char          str_subnet[_SHARE_IPTABLES_SUBNET_TO_STR_LEN];
     gs_free char *comment_name = NULL;
@@ -182,7 +184,7 @@ _share_iptables_set_masquerade(gboolean add, const char *ip_iface, in_addr_t add
     _share_iptables_call("" IPTABLES_PATH "",
                          "--table",
                          "nat",
-                         add ? "--insert" : "--delete",
+                         up ? "--insert" : "--delete",
                          "POSTROUTING",
                          "--source",
                          str_subnet,
@@ -309,8 +311,8 @@ _share_iptables_set_shared_chains_delete(const char *chain_input, const char *ch
     _share_iptables_chain_delete("filter", chain_forward);
 }
 
-_nm_unused static void
-_share_iptables_set_shared(gboolean add, const char *ip_iface, in_addr_t addr, guint plen)
+static void
+_share_iptables_set_shared_sync(gboolean up, const char *ip_iface, in_addr_t addr, guint plen)
 {
     gs_free char *comment_name  = NULL;
     gs_free char *chain_input   = NULL;
@@ -320,13 +322,13 @@ _share_iptables_set_shared(gboolean add, const char *ip_iface, in_addr_t addr, g
     chain_input   = _share_iptables_get_name(TRUE, "nm-sh-in", ip_iface);
     chain_forward = _share_iptables_get_name(TRUE, "nm-sh-fw", ip_iface);
 
-    if (add)
+    if (up)
         _share_iptables_set_shared_chains_add(chain_input, chain_forward, ip_iface, addr, plen);
 
     _share_iptables_call("" IPTABLES_PATH "",
                          "--table",
                          "filter",
-                         add ? "--insert" : "--delete",
+                         up ? "--insert" : "--delete",
                          "INPUT",
                          "--in-interface",
                          ip_iface,
@@ -340,7 +342,7 @@ _share_iptables_set_shared(gboolean add, const char *ip_iface, in_addr_t addr, g
     _share_iptables_call("" IPTABLES_PATH "",
                          "--table",
                          "filter",
-                         add ? "--insert" : "--delete",
+                         up ? "--insert" : "--delete",
                          "FORWARD",
                          "--jump",
                          chain_forward,
@@ -349,7 +351,7 @@ _share_iptables_set_shared(gboolean add, const char *ip_iface, in_addr_t addr, g
                          "--comment",
                          comment_name);
 
-    if (!add)
+    if (!up)
         _share_iptables_set_shared_chains_delete(chain_input, chain_forward);
 }
 
@@ -428,14 +430,21 @@ _fw_nft_call_communicate_cb(GObject *source, GAsyncResult *result, gpointer user
     } else if (g_subprocess_get_successful(call_data->subprocess)) {
         nm_log_dbg(LOGD_SHARING, "firewall: nft[%s]: command successful", call_data->identifier);
     } else {
+        char          buf[NM_UTILS_GET_PROCESS_EXIT_STATUS_BUF_LEN];
         gs_free char *ss_stdout    = NULL;
         gs_free char *ss_stderr    = NULL;
         gboolean      print_stdout = (stdout_buf && g_bytes_get_size(stdout_buf) > 0);
         gboolean      print_stderr = (stderr_buf && g_bytes_get_size(stderr_buf) > 0);
+        int           status;
+
+        status = g_subprocess_get_status(call_data->subprocess);
+
+        nm_utils_get_process_exit_status_desc_buf(status, buf, sizeof(buf));
 
         nm_log_warn(LOGD_SHARING,
-                    "firewall: nft[%s]: command failed:%s%s%s%s%s%s%s",
+                    "firewall: nft[%s]: command %s:%s%s%s%s%s%s%s",
                     call_data->identifier,
+                    buf,
                     print_stdout || print_stderr ? "" : " unknown reason",
                     NM_PRINT_FMT_QUOTED(
                         print_stdout,
@@ -453,6 +462,8 @@ _fw_nft_call_communicate_cb(GObject *source, GAsyncResult *result, gpointer user
                                                            &ss_stderr),
                         "\")",
                         ""));
+
+        nm_utils_error_set(&error, NM_UTILS_ERROR_COMMAND_FAILED, "nft command %s", buf);
     }
 
     _fw_nft_call_data_free(call_data, g_steal_pointer(&error));
@@ -486,23 +497,31 @@ _fw_nft_call_timeout_cb(gpointer user_data)
     return G_SOURCE_CONTINUE;
 }
 
-static void
-_fw_nft_call(GBytes             *stdin_buf,
-             GCancellable       *cancellable,
-             GAsyncReadyCallback callback,
-             gpointer            callback_user_data)
+void
+nm_firewall_nft_call(GBytes             *stdin_buf,
+                     GCancellable       *cancellable,
+                     GAsyncReadyCallback callback,
+                     gpointer            callback_user_data)
 {
     gs_unref_object GSubprocessLauncher *subprocess_launcher = NULL;
     gs_free_error GError                *error               = NULL;
     FwNftCallData                       *call_data;
+    gs_free char                        *ss1 = NULL;
 
     call_data  = g_slice_new(FwNftCallData);
     *call_data = (FwNftCallData){
-        .task       = nm_g_task_new(NULL, cancellable, _fw_nft_call, callback, callback_user_data),
-        .subprocess = NULL,
+        .task =
+            nm_g_task_new(NULL, cancellable, nm_firewall_nft_call, callback, callback_user_data),
+        .subprocess     = NULL,
         .timeout_source = NULL,
     };
 
+    nm_log_trace(LOGD_SHARING,
+                 "firewall: nft: call command: [ '%s' ]",
+                 nm_utils_buf_utf8safe_escape_bytes(stdin_buf,
+                                                    NM_UTILS_STR_UTF8_SAFE_FLAG_ESCAPE_CTRL,
+                                                    &ss1));
+
     if (cancellable) {
         call_data->cancellable_id = g_cancellable_connect(cancellable,
                                                           G_CALLBACK(_fw_nft_call_cancelled_cb),
@@ -554,10 +573,10 @@ _fw_nft_call(GBytes             *stdin_buf,
                            g_task_get_context(call_data->task));
 }
 
-static gboolean
-_fw_nft_call_finish(GAsyncResult *result, GError **error)
+gboolean
+nm_firewall_nft_call_finish(GAsyncResult *result, GError **error)
 {
-    g_return_val_if_fail(nm_g_task_is_valid(result, NULL, _fw_nft_call), FALSE);
+    g_return_val_if_fail(nm_g_task_is_valid(result, NULL, nm_firewall_nft_call), FALSE);
 
     return g_task_propagate_boolean(G_TASK(result), error);
 }
@@ -575,7 +594,7 @@ _fw_nft_call_sync_done(GObject *source, GAsyncResult *result, gpointer user_data
 {
     FwNftCallSyncData *data = user_data;
 
-    data->success = _fw_nft_call_finish(result, data->error);
+    data->success = nm_firewall_nft_call_finish(result, data->error);
     g_main_loop_quit(data->loop);
 }
 
@@ -590,7 +609,7 @@ _fw_nft_call_sync(GBytes *stdin_buf, GError **error)
                               .error = error,
     };
 
-    _fw_nft_call(stdin_buf, NULL, _fw_nft_call_sync_done, &data);
+    nm_firewall_nft_call(stdin_buf, NULL, _fw_nft_call_sync_done, &data);
 
     g_main_loop_run(main_loop);
     return data.success;
@@ -598,25 +617,30 @@ _fw_nft_call_sync(GBytes *stdin_buf, GError **error)
 
 /*****************************************************************************/
 
+#define _append(p_strbuf, fmt, ...) nm_str_buf_append_printf((p_strbuf), "" fmt "\n", ##__VA_ARGS__)
+
 static void
-_fw_nft_set(gboolean add, const char *ip_iface, in_addr_t addr, guint8 plen)
+_fw_nft_append_cmd_table(NMStrBuf *strbuf, const char *family, const char *table_name, gboolean up)
+{
+    /* Either delete the table, or create/flush it. */
+    _append(strbuf, "add table %s %s", family, table_name);
+    _append(strbuf, "%s table %s %s", up ? "flush" : "delete", family, table_name);
+}
+
+static GBytes *
+_fw_nft_set_shared_construct(gboolean up, const char *ip_iface, in_addr_t addr, guint8 plen)
 {
     nm_auto_str_buf NMStrBuf strbuf = NM_STR_BUF_INIT(NM_UTILS_GET_NEXT_REALLOC_SIZE_1000, FALSE);
-    gs_unref_bytes GBytes   *stdin_buf  = NULL;
     gs_free char            *table_name = NULL;
-    gs_free char            *ss1        = NULL;
     char                     str_subnet[_SHARE_IPTABLES_SUBNET_TO_STR_LEN];
 
     table_name = _share_iptables_get_name(FALSE, "nm-shared", ip_iface);
 
     _share_iptables_subnet_to_str(str_subnet, addr, plen);
 
-#define _append(p_strbuf, fmt, ...) nm_str_buf_append_printf((p_strbuf), "" fmt "\n", ##__VA_ARGS__)
-
-    _append(&strbuf, "add table ip %s", table_name);
-    _append(&strbuf, "%s table ip %s", add ? "flush" : "delete", table_name);
+    _fw_nft_append_cmd_table(&strbuf, "ip", table_name, up);
 
-    if (add) {
+    if (up) {
         _append(&strbuf,
                 "add chain ip %s nat_postrouting {"
                 " type nat hook postrouting priority 100; policy accept; "
@@ -631,16 +655,15 @@ _fw_nft_set(gboolean add, const char *ip_iface, in_addr_t addr, guint8 plen)
         /* This filter_input chain serves no real purpose, because "accept" only stops
          * evaluation of the current rule. It cannot fully accept the packet. Since
          * this chain has no other rules, it is useless in this form.
+         *
+         * _append(&strbuf,
+         *         "add chain ip %s filter_input {"
+         *         " type filter hook input priority 0; policy 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 ip %s filter_input {"
-                " type filter hook input priority 0; policy 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 ip %s filter_forward {"
@@ -673,14 +696,7 @@ _fw_nft_set(gboolean add, const char *ip_iface, in_addr_t addr, guint8 plen)
                 ip_iface);
     }
 
-    nm_log_trace(LOGD_SHARING,
-                 "firewall: nft command: [ %s ]",
-                 nm_utils_str_utf8safe_escape(nm_str_buf_get_str(&strbuf),
-                                              NM_UTILS_STR_UTF8_SAFE_FLAG_ESCAPE_CTRL,
-                                              &ss1));
-
-    stdin_buf = nm_str_buf_finalize_to_gbytes(&strbuf);
-    _fw_nft_call_sync(stdin_buf, NULL);
+    return nm_str_buf_finalize_to_gbytes(&strbuf);
 }
 
 /*****************************************************************************/
@@ -692,7 +708,7 @@ struct _NMFirewallConfig {
 };
 
 NMFirewallConfig *
-nm_firewall_config_new(const char *ip_iface, in_addr_t addr, guint8 plen)
+nm_firewall_config_new_shared(const char *ip_iface, in_addr_t addr, guint8 plen)
 {
     NMFirewallConfig *self;
 
@@ -719,17 +735,24 @@ nm_firewall_config_free(NMFirewallConfig *self)
     nm_g_slice_free(self);
 }
 
+/*****************************************************************************/
+
 void
-nm_firewall_config_apply(NMFirewallConfig *self, gboolean shared)
+nm_firewall_config_apply_sync(NMFirewallConfig *self, gboolean up)
 {
     switch (nm_firewall_utils_get_backend()) {
     case NM_FIREWALL_BACKEND_IPTABLES:
-        _share_iptables_set_masquerade(shared, self->ip_iface, self->addr, self->plen);
-        _share_iptables_set_shared(shared, self->ip_iface, self->addr, self->plen);
+        _share_iptables_set_masquerade_sync(up, self->ip_iface, self->addr, self->plen);
+        _share_iptables_set_shared_sync(up, self->ip_iface, self->addr, self->plen);
         break;
     case NM_FIREWALL_BACKEND_NFTABLES:
-        _fw_nft_set(shared, self->ip_iface, self->addr, self->plen);
+    {
+        gs_unref_bytes GBytes *stdin_buf = NULL;
+
+        stdin_buf = _fw_nft_set_shared_construct(up, self->ip_iface, self->addr, self->plen);
+        _fw_nft_call_sync(stdin_buf, NULL);
         break;
+    }
     case NM_FIREWALL_BACKEND_NONE:
         break;
     default:
diff --git a/src/core/nm-firewall-utils.h b/src/core/nm-firewall-utils.h
index 3d6c8a69..9d883fea 100644
--- a/src/core/nm-firewall-utils.h
+++ b/src/core/nm-firewall-utils.h
@@ -20,10 +20,19 @@ NMFirewallBackend nm_firewall_utils_get_backend(void);
 
 typedef struct _NMFirewallConfig NMFirewallConfig;
 
-NMFirewallConfig *nm_firewall_config_new(const char *ip_iface, in_addr_t addr, guint8 plen);
+NMFirewallConfig *nm_firewall_config_new_shared(const char *ip_iface, in_addr_t addr, guint8 plen);
 
 void nm_firewall_config_free(NMFirewallConfig *self);
 
-void nm_firewall_config_apply(NMFirewallConfig *self, gboolean shared);
+void nm_firewall_config_apply_sync(NMFirewallConfig *self, gboolean up);
+
+/*****************************************************************************/
+
+void nm_firewall_nft_call(GBytes             *stdin_buf,
+                          GCancellable       *cancellable,
+                          GAsyncReadyCallback callback,
+                          gpointer            callback_user_data);
+
+gboolean nm_firewall_nft_call_finish(GAsyncResult *result, GError **error);
 
 #endif /* __NM_FIREWALL_UTILS_H__ */
diff --git a/src/core/nm-l3cfg.c b/src/core/nm-l3cfg.c
index 69ea0d26..8fa1e07d 100644
--- a/src/core/nm-l3cfg.c
+++ b/src/core/nm-l3cfg.c
@@ -4010,7 +4010,7 @@ _l3_commit_ndisc_params(NML3Cfg *self, NML3CfgCommitType commit_type)
 
     if (retrans_set
         && (!self->priv.p->ndisc_retrans_timer_msec_set
-            || self->priv.p->ndisc_reachable_time_msec != retrans)) {
+            || self->priv.p->ndisc_retrans_timer_msec != retrans)) {
         self->priv.p->ndisc_retrans_timer_msec     = retrans;
         self->priv.p->ndisc_retrans_timer_msec_set = TRUE;
         if (ifname) {
diff --git a/src/core/nm-policy.c b/src/core/nm-policy.c
index 16b0211f..518fc596 100644
--- a/src/core/nm-policy.c
+++ b/src/core/nm-policy.c
@@ -797,6 +797,20 @@ device_dns_lookup_done(NMDevice *device, gpointer user_data)
 }
 
 static void
+device_carrier_changed(NMDevice *device, GParamSpec *pspec, gpointer user_data)
+{
+    NMPolicyPrivate *priv = user_data;
+    NMPolicy        *self = _PRIV_TO_SELF(priv);
+    gs_free char    *msg  = NULL;
+
+    if (nm_device_has_carrier(device)) {
+        g_signal_handlers_disconnect_by_func(device, device_carrier_changed, priv);
+        msg = g_strdup_printf("device '%s' got carrier", nm_device_get_iface(device));
+        update_system_hostname(self, msg);
+    }
+}
+
+static void
 update_system_hostname(NMPolicy *self, const char *msg)
 {
     NMPolicyPrivate       *priv = NM_POLICY_GET_PRIVATE(self);
@@ -880,6 +894,7 @@ update_system_hostname(NMPolicy *self, const char *msg)
         info        = &g_array_index(infos, DeviceHostnameInfo, i);
         addr_family = info->IS_IPv4 ? AF_INET : AF_INET6;
         g_signal_handlers_disconnect_by_func(info->device, device_dns_lookup_done, self);
+        g_signal_handlers_disconnect_by_func(info->device, device_carrier_changed, priv);
 
         if (info->from_dhcp) {
             dhcp_config = nm_device_get_dhcp_config(info->device, addr_family);
@@ -905,10 +920,18 @@ update_system_hostname(NMPolicy *self, const char *msg)
 
         if (priv->hostname_mode != NM_POLICY_HOSTNAME_MODE_DHCP) {
             if (info->from_dns) {
-                const char *result;
-                gboolean    wait = FALSE;
+                const char *result = NULL;
+                gboolean    wait   = FALSE;
 
-                result = nm_device_get_hostname_from_dns_lookup(info->device, addr_family, &wait);
+                if (nm_device_has_carrier(info->device)) {
+                    result =
+                        nm_device_get_hostname_from_dns_lookup(info->device, addr_family, &wait);
+                } else {
+                    g_signal_connect(info->device,
+                                     "notify::" NM_DEVICE_CARRIER,
+                                     G_CALLBACK(device_carrier_changed),
+                                     priv);
+                }
                 if (result) {
                     _set_hostname(self, result, "from address lookup");
                     return;
@@ -1556,6 +1579,7 @@ nm_policy_unblock_failed_ovs_interfaces(NMPolicy *self)
     NMPolicyPrivate             *priv        = NM_POLICY_GET_PRIVATE(self);
     NMSettingsConnection *const *connections = NULL;
     guint                        i;
+    gboolean                     multiconnect = FALSE;
 
     _LOGT(LOGD_DEVICE, "unblocking failed OVS interfaces");
 
@@ -1563,6 +1587,13 @@ nm_policy_unblock_failed_ovs_interfaces(NMPolicy *self)
     for (i = 0; connections[i]; i++) {
         NMSettingsConnection *sett_conn  = connections[i];
         NMConnection         *connection = nm_settings_connection_get_connection(sett_conn);
+        NMSettingConnection  *s_con      = nm_connection_get_setting_connection(connection);
+
+        /* Check if any connection is connect multiple */
+        if (s_con
+            && nm_setting_connection_get_multi_connect(s_con)
+                   == NM_CONNECTION_MULTI_CONNECT_MULTIPLE)
+            multiconnect = TRUE;
 
         if (nm_connection_get_setting_ovs_interface(connection)) {
             nm_settings_connection_autoconnect_retries_reset(sett_conn);
@@ -1572,6 +1603,18 @@ nm_policy_unblock_failed_ovs_interfaces(NMPolicy *self)
                 FALSE);
         }
     }
+
+    /* There is, at least, one multiconnect connection with an OVS setting.
+     * Let's check the OVS devices retries */
+    if (multiconnect) {
+        NMDevice      *device;
+        GHashTableIter h_iter;
+        g_hash_table_iter_init(&h_iter, priv->devices);
+        while (g_hash_table_iter_next(&h_iter, (gpointer *) &device, NULL)) {
+            if (nm_device_get_device_type(device) == NM_DEVICE_TYPE_OVS_INTERFACE)
+                nm_device_autoconnect_retries_reset(device);
+        }
+    }
 }
 
 static gboolean
@@ -1583,7 +1626,8 @@ reset_autoconnect_all(
     NMPolicyPrivate             *priv        = NM_POLICY_GET_PRIVATE(self);
     NMSettingsConnection *const *connections = NULL;
     guint                        i;
-    gboolean                     changed = FALSE;
+    gboolean                     changed      = FALSE;
+    gboolean                     multiconnect = FALSE;
 
     _LOGD(LOGD_DEVICE,
           "re-enabling autoconnect for all connections%s%s%s",
@@ -1594,6 +1638,8 @@ reset_autoconnect_all(
     connections = nm_settings_get_connections(priv->settings, NULL);
     for (i = 0; connections[i]; i++) {
         NMSettingsConnection *sett_conn = connections[i];
+        NMSettingConnection  *s_con =
+            nm_connection_get_setting_connection(nm_settings_connection_get_connection(sett_conn));
 
         if (device
             && !nm_device_check_connection_compatible(
@@ -1602,6 +1648,11 @@ reset_autoconnect_all(
                 NULL))
             continue;
 
+        if (s_con
+            && nm_setting_connection_get_multi_connect(s_con)
+                   == NM_CONNECTION_MULTI_CONNECT_MULTIPLE)
+            multiconnect = TRUE;
+
         if (only_no_secrets) {
             /* we only reset the no-secrets blocked flag. */
             if (nm_settings_connection_autoconnect_blocked_reason_set(
@@ -1630,6 +1681,20 @@ reset_autoconnect_all(
             }
         }
     }
+
+    /* There is, at least, one multiconnect connection. Let's check the devices retries */
+    if (multiconnect) {
+        NMDevice      *device_iter;
+        GHashTableIter h_iter;
+        g_hash_table_iter_init(&h_iter, priv->devices);
+        while (g_hash_table_iter_next(&h_iter, (gpointer *) &device_iter, NULL)) {
+            if (nm_device_get_autoconnect_retries(device_iter) != -2) {
+                nm_device_autoconnect_retries_reset(device_iter);
+                changed = TRUE;
+            }
+        }
+    }
+
     return changed;
 }
 
@@ -1687,7 +1752,8 @@ reset_connections_retries(gpointer user_data)
     NMSettingsConnection *const *connections = NULL;
     guint                        i;
     gint32                       con_stamp, min_stamp, now;
-    gboolean                     changed = FALSE;
+    gboolean                     changed      = FALSE;
+    gboolean                     multiconnect = FALSE;
 
     priv->reset_retries_id = 0;
 
@@ -1696,6 +1762,14 @@ reset_connections_retries(gpointer user_data)
     connections = nm_settings_get_connections(priv->settings, NULL);
     for (i = 0; connections[i]; i++) {
         NMSettingsConnection *connection = connections[i];
+        NMSettingConnection  *s_con =
+            nm_connection_get_setting_connection(nm_settings_connection_get_connection(connection));
+
+        /* Check if any connection is connect multiple */
+        if (s_con
+            && nm_setting_connection_get_multi_connect(s_con)
+                   == NM_CONNECTION_MULTI_CONNECT_MULTIPLE)
+            multiconnect = TRUE;
 
         con_stamp = nm_settings_connection_autoconnect_retries_blocked_until(connection);
         if (con_stamp == 0)
@@ -1708,6 +1782,25 @@ reset_connections_retries(gpointer user_data)
             min_stamp = con_stamp;
     }
 
+    /* There is, at least, one multiconnect connection. Let's check the devices retries */
+    if (multiconnect) {
+        NMDevice      *device;
+        GHashTableIter h_iter;
+        g_hash_table_iter_init(&h_iter, priv->devices);
+        while (g_hash_table_iter_next(&h_iter, (gpointer *) &device, NULL)) {
+            con_stamp = nm_device_autoconnect_retries_blocked_until(device);
+
+            /* default value in device is -2, which means, we do not care */
+            if (con_stamp <= 0)
+                continue;
+            if (con_stamp <= now) {
+                nm_device_autoconnect_retries_reset(device);
+                changed = TRUE;
+            } else if (min_stamp == 0 || min_stamp > con_stamp)
+                min_stamp = con_stamp;
+        }
+    }
+
     /* Schedule the handler again if there are some stamps left */
     if (min_stamp != 0)
         priv->reset_retries_id =
@@ -1721,21 +1814,31 @@ reset_connections_retries(gpointer user_data)
 }
 
 static void
-_connection_autoconnect_retries_set(NMPolicy *self, NMSettingsConnection *connection, int tries)
+_connection_autoconnect_retries_set(NMPolicy             *self,
+                                    NMSettingsConnection *connection,
+                                    NMDevice             *device,
+                                    int                   tries)
 {
-    NMPolicyPrivate *priv = NM_POLICY_GET_PRIVATE(self);
+    NMPolicyPrivate     *priv = NM_POLICY_GET_PRIVATE(self);
+    NMSettingConnection *s_con;
+    gint32               retry_time;
 
     nm_assert(NM_IS_SETTINGS_CONNECTION(connection));
     nm_assert(tries >= 0);
 
-    nm_settings_connection_autoconnect_retries_set(connection, tries);
+    s_con = nm_connection_get_setting_connection(nm_settings_connection_get_connection(connection));
+    if (s_con
+        && nm_setting_connection_get_multi_connect(s_con) == NM_CONNECTION_MULTI_CONNECT_MULTIPLE) {
+        nm_device_set_autoconnect_retries(device, tries);
+        retry_time = nm_device_autoconnect_retries_blocked_until(device);
+    } else {
+        nm_settings_connection_autoconnect_retries_set(connection, tries);
+        retry_time = nm_settings_connection_autoconnect_retries_blocked_until(connection);
+    }
 
     if (tries == 0) {
         /* Schedule a handler to reset retries count */
         if (!priv->reset_retries_id) {
-            gint32 retry_time =
-                nm_settings_connection_autoconnect_retries_blocked_until(connection);
-
             g_warn_if_fail(retry_time != 0);
             priv->reset_retries_id =
                 g_timeout_add_seconds(MAX(0, retry_time - nm_utils_get_monotonic_timestamp_sec()),
@@ -1997,13 +2100,25 @@ device_state_changed(NMDevice           *device,
             }
 
             if (!blocked) {
-                tries = nm_settings_connection_autoconnect_retries_get(sett_conn);
+                s_con = nm_connection_get_setting_connection(
+                    nm_settings_connection_get_connection(sett_conn));
+                if (s_con
+                    && nm_setting_connection_get_multi_connect(s_con)
+                           == NM_CONNECTION_MULTI_CONNECT_MULTIPLE) {
+                    if (nm_device_get_autoconnect_retries(device) == -2)
+                        nm_device_set_autoconnect_retries(
+                            device,
+                            nm_settings_connection_autoconnect_retries_get(sett_conn));
+
+                    tries = nm_device_get_autoconnect_retries(device);
+                } else
+                    tries = nm_settings_connection_autoconnect_retries_get(sett_conn);
                 if (tries > 0) {
                     _LOGD(LOGD_DEVICE,
                           "connection '%s' failed to autoconnect; %d tries left",
                           nm_settings_connection_get_id(sett_conn),
                           tries - 1);
-                    _connection_autoconnect_retries_set(self, sett_conn, tries - 1);
+                    _connection_autoconnect_retries_set(self, sett_conn, device, tries - 1);
                 } else if (tries != 0) {
                     _LOGD(LOGD_DEVICE,
                           "connection '%s' failed to autoconnect; infinite tries left",
@@ -2893,7 +3008,7 @@ dispose(GObject *object)
     }
 
     g_hash_table_iter_init(&h_iter, priv->devices);
-    if (g_hash_table_iter_next(&h_iter, (gpointer *) &device, NULL)) {
+    while (g_hash_table_iter_next(&h_iter, (gpointer *) &device, NULL)) {
         g_hash_table_iter_remove(&h_iter);
         devices_list_unregister(self, device);
     }
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 6452d72a..4d8e7bd6 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
@@ -5355,59 +5355,41 @@ wired_connection_from_ifcfg(const char *file, shvarFile *ifcfg, GError **error)
 static gboolean
 parse_infiniband_p_key(shvarFile *ifcfg, int *out_p_key, char **out_parent, GError **error)
 {
-    char    *device = NULL, *physdev = NULL, *pkey_id = NULL;
-    char    *ifname = NULL;
-    int      id;
-    gboolean ret = FALSE;
-
-    device = svGetValueStr_cp(ifcfg, "DEVICE");
-    if (!device) {
-        PARSE_WARNING("InfiniBand connection specified PKEY but not DEVICE");
-        goto done;
-    }
+    gs_free char *physdev = NULL;
+    gs_free char *pkey_id = NULL;
+    int           id;
 
     physdev = svGetValueStr_cp(ifcfg, "PHYSDEV");
     if (!physdev) {
-        PARSE_WARNING("InfiniBand connection specified PKEY but not PHYSDEV");
-        goto done;
+        g_set_error(error,
+                    NM_SETTINGS_ERROR,
+                    NM_SETTINGS_ERROR_INVALID_CONNECTION,
+                    "infiniband connection specified PKEY but not PHYSDEV");
+        return FALSE;
     }
 
     pkey_id = svGetValueStr_cp(ifcfg, "PKEY_ID");
     if (!pkey_id) {
-        PARSE_WARNING("InfiniBand connection specified PKEY but not PKEY_ID");
-        goto done;
+        g_set_error(error,
+                    NM_SETTINGS_ERROR,
+                    NM_SETTINGS_ERROR_INVALID_CONNECTION,
+                    "infiniband connection specified PKEY but not PKEY_ID");
+        return FALSE;
     }
 
     id = _nm_utils_ascii_str_to_int64(pkey_id, 0, 0, 0xFFFF, -1);
     if (id == -1) {
-        PARSE_WARNING("invalid InfiniBand PKEY_ID '%s'", pkey_id);
-        goto done;
-    }
-    id = (id | 0x8000);
-
-    ifname = g_strdup_printf("%s.%04x", physdev, (unsigned) id);
-    if (strcmp(device, ifname) != 0) {
-        PARSE_WARNING("InfiniBand DEVICE (%s) does not match PHYSDEV+PKEY_ID (%s)", device, ifname);
-        goto done;
-    }
-
-    *out_p_key  = id;
-    *out_parent = g_strdup(physdev);
-    ret         = TRUE;
-
-done:
-    g_free(device);
-    g_free(physdev);
-    g_free(pkey_id);
-    g_free(ifname);
-
-    if (!ret) {
         g_set_error(error,
                     NM_SETTINGS_ERROR,
                     NM_SETTINGS_ERROR_INVALID_CONNECTION,
-                    "Failed to create InfiniBand setting");
+                    "invalid infiniband PKEY_ID '%s'",
+                    pkey_id);
+        return FALSE;
     }
-    return ret;
+
+    *out_p_key  = id;
+    *out_parent = g_steal_pointer(&physdev);
+    return TRUE;
 }
 
 static NMSetting *
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 96efc9e5..e8948c3d 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
@@ -1312,6 +1312,7 @@ write_ethtool_setting(NMConnection *connection, shvarFile *ifcfg, GError **error
         gboolean             is_first;
         guint32              u32;
         gboolean             b;
+        gboolean             any_option = FALSE;
 
         s_con = nm_connection_get_setting_connection(connection);
         if (s_con) {
@@ -1341,6 +1342,7 @@ write_ethtool_setting(NMConnection *connection, shvarFile *ifcfg, GError **error
             g_string_append_c(str, ' ');
             g_string_append(str, nms_ifcfg_rh_utils_get_ethtool_name(ethtool_id));
             g_string_append(str, b ? " on" : " off");
+            any_option = TRUE;
         }
 
         is_first = TRUE;
@@ -1356,6 +1358,7 @@ write_ethtool_setting(NMConnection *connection, shvarFile *ifcfg, GError **error
             g_string_append_c(str, ' ');
             g_string_append(str, nms_ifcfg_rh_utils_get_ethtool_name(ethtool_id));
             g_string_append_printf(str, " %" G_GUINT32_FORMAT, u32);
+            any_option = TRUE;
         }
 
         is_first = TRUE;
@@ -1371,7 +1374,10 @@ write_ethtool_setting(NMConnection *connection, shvarFile *ifcfg, GError **error
             g_string_append_c(str, ' ');
             g_string_append(str, nms_ifcfg_rh_utils_get_ethtool_name(ethtool_id));
             g_string_append_printf(str, " %" G_GUINT32_FORMAT, u32);
+            any_option = TRUE;
         }
+
+        is_first = TRUE;
         for (ethtool_id = _NM_ETHTOOL_ID_PAUSE_FIRST; ethtool_id <= _NM_ETHTOOL_ID_PAUSE_LAST;
              ethtool_id++) {
             nm_assert(nms_ifcfg_rh_utils_get_ethtool_name(ethtool_id));
@@ -1384,9 +1390,10 @@ write_ethtool_setting(NMConnection *connection, shvarFile *ifcfg, GError **error
             g_string_append_c(str, ' ');
             g_string_append(str, nms_ifcfg_rh_utils_get_ethtool_name(ethtool_id));
             g_string_append(str, b ? " on" : " off");
+            any_option = TRUE;
         }
 
-        if (!str) {
+        if (!any_option) {
             /* Write an empty dummy "-A" option without arguments. This is to
              * ensure that the reader will create an (all default) NMSettingEthtool.
              * Also, it seems that `ethtool -A "$IFACE"` is silently accepted. */
diff --git a/src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-ipoib b/src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-ipoib
new file mode 100644
index 00000000..b45da5f7
--- /dev/null
+++ b/src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-ipoib
@@ -0,0 +1,9 @@
+TYPE=InfiniBand
+PKEY=yes
+PKEY_ID=12
+PHYSDEV=ib0
+CONNECTED_MODE=yes
+IPADDR=192.168.2.2
+NETMASK=255.255.255.0
+GATEWAY=192.168.2.1
+NAME=ib012
diff --git a/src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test_roundtrip_ethtool-6.cexpected b/src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test_roundtrip_ethtool-6.cexpected
new file mode 100644
index 00000000..784ad224
--- /dev/null
+++ b/src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test_roundtrip_ethtool-6.cexpected
@@ -0,0 +1,15 @@
+TYPE=Ethernet
+PROXY_METHOD=none
+BROWSER_ONLY=no
+ETHTOOL_OPTS="autoneg on ; -A net0 pause-autoneg off"
+BOOTPROTO=dhcp
+DEFROUTE=yes
+IPV4_FAILURE_FATAL=no
+IPV6INIT=yes
+IPV6_AUTOCONF=yes
+IPV6_DEFROUTE=yes
+IPV6_FAILURE_FATAL=no
+IPV6_ADDR_GEN_MODE=default
+NAME=test_roundtrip_ethtool
+UUID=${UUID}
+ONBOOT=yes
diff --git a/src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test_roundtrip_ethtool-7.cexpected b/src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test_roundtrip_ethtool-7.cexpected
new file mode 100644
index 00000000..02ab14fe
--- /dev/null
+++ b/src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test_roundtrip_ethtool-7.cexpected
@@ -0,0 +1,15 @@
+TYPE=Ethernet
+PROXY_METHOD=none
+BROWSER_ONLY=no
+ETHTOOL_OPTS="autoneg on ; -G net0 rx 512"
+BOOTPROTO=dhcp
+DEFROUTE=yes
+IPV4_FAILURE_FATAL=no
+IPV6INIT=yes
+IPV6_AUTOCONF=yes
+IPV6_DEFROUTE=yes
+IPV6_FAILURE_FATAL=no
+IPV6_ADDR_GEN_MODE=default
+NAME=test_roundtrip_ethtool
+UUID=${UUID}
+ONBOOT=yes
diff --git a/src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test_roundtrip_ethtool-8.cexpected b/src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test_roundtrip_ethtool-8.cexpected
new file mode 100644
index 00000000..fd760839
--- /dev/null
+++ b/src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test_roundtrip_ethtool-8.cexpected
@@ -0,0 +1,15 @@
+TYPE=Ethernet
+PROXY_METHOD=none
+BROWSER_ONLY=no
+ETHTOOL_OPTS="autoneg on ; -A net0"
+BOOTPROTO=dhcp
+DEFROUTE=yes
+IPV4_FAILURE_FATAL=no
+IPV6INIT=yes
+IPV6_AUTOCONF=yes
+IPV6_DEFROUTE=yes
+IPV6_FAILURE_FATAL=no
+IPV6_ADDR_GEN_MODE=default
+NAME=test_roundtrip_ethtool
+UUID=${UUID}
+ONBOOT=yes
diff --git a/src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test_roundtrip_ethtool-9.cexpected b/src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test_roundtrip_ethtool-9.cexpected
new file mode 100644
index 00000000..1703b0dc
--- /dev/null
+++ b/src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test_roundtrip_ethtool-9.cexpected
@@ -0,0 +1,15 @@
+TYPE=Ethernet
+PROXY_METHOD=none
+BROWSER_ONLY=no
+ETHTOOL_OPTS="autoneg on ; -G net0 rx 512 ; -A net0 pause-autoneg off"
+BOOTPROTO=dhcp
+DEFROUTE=yes
+IPV4_FAILURE_FATAL=no
+IPV6INIT=yes
+IPV6_AUTOCONF=yes
+IPV6_DEFROUTE=yes
+IPV6_FAILURE_FATAL=no
+IPV6_ADDR_GEN_MODE=default
+NAME=test_roundtrip_ethtool
+UUID=${UUID}
+ONBOOT=yes
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 9fdae4bd..886a605f 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
@@ -3425,6 +3425,7 @@ test_roundtrip_ethtool(void)
     gs_unref_object NMConnection *connection = NULL;
     NMSetting                    *s_ethtool;
     NMSetting                    *s_wired;
+    int                           i_run;
 
     connection = nmtst_create_minimal_connection("test_roundtrip_ethtool",
                                                  NULL,
@@ -3487,6 +3488,159 @@ test_roundtrip_ethtool(void)
                            TEST_IFCFG_DIR "/ifcfg-test_roundtrip_ethtool-5.cexpected",
                            NULL);
     g_clear_object(&connection);
+
+    connection = nmtst_create_minimal_connection("test_roundtrip_ethtool",
+                                                 NULL,
+                                                 NM_SETTING_WIRED_SETTING_NAME,
+                                                 NULL);
+    s_wired    = nmtst_connection_assert_setting(connection, NM_TYPE_SETTING_WIRED);
+    g_object_set(s_wired, NM_SETTING_WIRED_AUTO_NEGOTIATE, TRUE, NULL);
+
+    s_ethtool = _nm_connection_new_setting(connection, NM_TYPE_SETTING_ETHTOOL);
+    nm_setting_option_set_boolean(s_ethtool, NM_ETHTOOL_OPTNAME_PAUSE_AUTONEG, FALSE);
+    _writer_new_connec_exp(connection,
+                           TEST_SCRATCH_DIR,
+                           TEST_IFCFG_DIR "/ifcfg-test_roundtrip_ethtool-6.cexpected",
+                           NULL);
+    g_clear_object(&connection);
+
+    connection = nmtst_create_minimal_connection("test_roundtrip_ethtool",
+                                                 NULL,
+                                                 NM_SETTING_WIRED_SETTING_NAME,
+                                                 NULL);
+    s_wired    = nmtst_connection_assert_setting(connection, NM_TYPE_SETTING_WIRED);
+    g_object_set(s_wired, NM_SETTING_WIRED_AUTO_NEGOTIATE, TRUE, NULL);
+
+    s_ethtool = _nm_connection_new_setting(connection, NM_TYPE_SETTING_ETHTOOL);
+    nm_setting_option_set_uint32(s_ethtool, NM_ETHTOOL_OPTNAME_RING_RX, 512);
+    _writer_new_connec_exp(connection,
+                           TEST_SCRATCH_DIR,
+                           TEST_IFCFG_DIR "/ifcfg-test_roundtrip_ethtool-7.cexpected",
+                           NULL);
+    g_clear_object(&connection);
+
+    connection = nmtst_create_minimal_connection("test_roundtrip_ethtool",
+                                                 NULL,
+                                                 NM_SETTING_WIRED_SETTING_NAME,
+                                                 NULL);
+    s_wired    = nmtst_connection_assert_setting(connection, NM_TYPE_SETTING_WIRED);
+    g_object_set(s_wired, NM_SETTING_WIRED_AUTO_NEGOTIATE, TRUE, NULL);
+
+    s_ethtool = _nm_connection_new_setting(connection, NM_TYPE_SETTING_ETHTOOL);
+    _writer_new_connec_exp(connection,
+                           TEST_SCRATCH_DIR,
+                           TEST_IFCFG_DIR "/ifcfg-test_roundtrip_ethtool-8.cexpected",
+                           NULL);
+    g_clear_object(&connection);
+
+    connection = nmtst_create_minimal_connection("test_roundtrip_ethtool",
+                                                 NULL,
+                                                 NM_SETTING_WIRED_SETTING_NAME,
+                                                 NULL);
+    s_wired    = nmtst_connection_assert_setting(connection, NM_TYPE_SETTING_WIRED);
+    g_object_set(s_wired, NM_SETTING_WIRED_AUTO_NEGOTIATE, TRUE, NULL);
+
+    s_ethtool = _nm_connection_new_setting(connection, NM_TYPE_SETTING_ETHTOOL);
+    nm_setting_option_set_boolean(s_ethtool, NM_ETHTOOL_OPTNAME_PAUSE_AUTONEG, FALSE);
+    nm_setting_option_set_uint32(s_ethtool, NM_ETHTOOL_OPTNAME_RING_RX, 512);
+    _writer_new_connec_exp(connection,
+                           TEST_SCRATCH_DIR,
+                           TEST_IFCFG_DIR "/ifcfg-test_roundtrip_ethtool-9.cexpected",
+                           NULL);
+    g_clear_object(&connection);
+
+    for (i_run = 0; i_run < 20; i_run++) {
+        gs_unref_object NMConnection *con2     = NULL;
+        gs_unref_object NMConnection *reread   = NULL;
+        nmtst_auto_unlinkfile char   *testfile = NULL;
+        gboolean                      reread_same;
+        gboolean                      v_bool;
+        NMEthtoolID                   ethtool_ids[_NM_ETHTOOL_ID_NUM];
+        guint                         i;
+        guint                         l;
+        NMSettingWiredWakeOnLan       wake_on_lan;
+
+        con2    = nmtst_create_minimal_connection("test_roundtrip_ethtool",
+                                               NULL,
+                                               NM_SETTING_WIRED_SETTING_NAME,
+                                               NULL);
+        s_wired = nmtst_connection_assert_setting(con2, NM_TYPE_SETTING_WIRED);
+        g_object_set(s_wired, NM_SETTING_WIRED_AUTO_NEGOTIATE, nmtst_get_rand_bool(), NULL);
+
+        if (nmtst_get_rand_bool()) {
+            g_object_set(s_wired,
+                         NM_SETTING_WIRED_SPEED,
+                         1000u,
+                         NM_SETTING_WIRED_DUPLEX,
+                         nmtst_get_rand_bool() ? "full" : "half",
+                         NULL);
+        }
+
+        wake_on_lan = nmtst_get_rand_uint32();
+        wake_on_lan = wake_on_lan & NM_SETTING_WIRED_WAKE_ON_LAN_ALL;
+        wake_on_lan = nmtst_rand_select(wake_on_lan,
+                                        NM_SETTING_WIRED_WAKE_ON_LAN_DEFAULT,
+                                        NM_SETTING_WIRED_WAKE_ON_LAN_IGNORE);
+        g_object_set(s_wired, NM_SETTING_WIRED_WAKE_ON_LAN, (guint) wake_on_lan, NULL);
+
+        if (NM_FLAGS_HAS(wake_on_lan, NM_SETTING_WIRED_WAKE_ON_LAN_MAGIC)
+            && nmtst_get_rand_bool()) {
+            g_object_set(s_wired, NM_SETTING_WIRED_WAKE_ON_LAN_PASSWORD, "aa:bb:cc:dd:ee:ff", NULL);
+        }
+
+        l = nmtst_get_rand_uint32() % (G_N_ELEMENTS(ethtool_ids) + 2);
+        if (l == 0) {
+            /* pass. No ethtool setting. */
+            goto check_roundtrip;
+        }
+        l--;
+
+        s_ethtool = _nm_connection_new_setting(con2, NM_TYPE_SETTING_ETHTOOL);
+
+        for (i = 0; i < (int) G_N_ELEMENTS(ethtool_ids); i++)
+            ethtool_ids[i] = i;
+        nmtst_rand_perm(NULL, ethtool_ids, NULL, sizeof(ethtool_ids[0]), G_N_ELEMENTS(ethtool_ids));
+
+        for (i = 0; i < l; i++) {
+            NMEthtoolID         ethtool_id = ethtool_ids[i];
+            const GVariantType *vtype;
+            const char         *optname;
+
+            optname = nm_ethtool_data[ethtool_id]->optname;
+            vtype   = nm_ethtool_id_get_variant_type(ethtool_id);
+
+            if (NM_IN_SET(ethtool_id,
+                          NM_ETHTOOL_ID_COALESCE_ADAPTIVE_RX,
+                          NM_ETHTOOL_ID_COALESCE_ADAPTIVE_TX)) {
+                nm_setting_option_set_uint32(s_ethtool, optname, nmtst_get_rand_uint32() % 2);
+            } else if (g_variant_type_equal(vtype, G_VARIANT_TYPE_BOOLEAN))
+                nm_setting_option_set_boolean(s_ethtool, optname, nmtst_get_rand_bool());
+            else if (g_variant_type_equal(vtype, G_VARIANT_TYPE_UINT32))
+                nm_setting_option_set_uint32(s_ethtool, optname, nmtst_get_rand_uint32());
+            else
+                g_assert_not_reached();
+        }
+
+        if ((nm_setting_option_get_boolean(s_ethtool, NM_ETHTOOL_OPTNAME_PAUSE_RX, NULL)
+             || nm_setting_option_get_boolean(s_ethtool, NM_ETHTOOL_OPTNAME_PAUSE_TX, NULL))
+            && nm_setting_option_get_boolean(s_ethtool, NM_ETHTOOL_OPTNAME_PAUSE_AUTONEG, &v_bool)
+            && v_bool) {
+            /* don't accidentally create an invalid profile. */
+            nm_setting_option_set(s_ethtool,
+                                  NM_ETHTOOL_OPTNAME_PAUSE_AUTONEG,
+                                  nmtst_get_rand_bool() ? g_variant_new_boolean(FALSE) : NULL);
+        }
+
+check_roundtrip:
+        _writer_new_connection_reread(con2,
+                                      TEST_SCRATCH_DIR,
+                                      &testfile,
+                                      NO_EXPECTED,
+                                      &reread,
+                                      &reread_same);
+        g_assert(NM_IS_CONNECTION(reread));
+        g_assert(reread_same);
+    }
 }
 
 static void
@@ -8211,8 +8365,35 @@ test_read_infiniband(void)
 }
 
 static void
-test_write_infiniband(void)
+test_read_ipoib(void)
+{
+    gs_unref_object NMConnection *connection = NULL;
+    NMSettingInfiniband          *s_infiniband;
+    char                         *unmanaged = NULL;
+    const char                   *transport_mode;
+    int                           pkey;
+
+    connection = _connection_from_file(TEST_IFCFG_DIR "/ifcfg-test-ipoib",
+                                       NULL,
+                                       TYPE_INFINIBAND,
+                                       &unmanaged);
+    g_assert(!unmanaged);
+
+    s_infiniband = nmtst_connection_assert_setting(connection, NM_TYPE_SETTING_INFINIBAND);
+
+    pkey = nm_setting_infiniband_get_p_key(s_infiniband);
+    g_assert(pkey);
+    g_assert_cmpint(pkey, ==, 12);
+
+    transport_mode = nm_setting_infiniband_get_transport_mode(s_infiniband);
+    g_assert(transport_mode);
+    g_assert_cmpstr(transport_mode, ==, "connected");
+}
+
+static void
+test_write_infiniband(gconstpointer test_data)
 {
+    const int                     TEST_IDX   = GPOINTER_TO_INT(test_data);
     nmtst_auto_unlinkfile char   *testfile   = NULL;
     gs_unref_object NMConnection *connection = NULL;
     gs_unref_object NMConnection *reread     = NULL;
@@ -8223,14 +8404,15 @@ test_write_infiniband(void)
     const char  *mac = "80:00:11:22:33:44:55:66:77:88:99:aa:bb:cc:dd:ee:ff:00:11:22";
     guint32      mtu = 65520;
     NMIPAddress *addr;
-    GError      *error = NULL;
+    GError      *error          = NULL;
+    const char  *interface_name = NULL;
 
     connection = nm_simple_connection_new();
 
     s_con = _nm_connection_new_setting(connection, NM_TYPE_SETTING_CONNECTION);
     g_object_set(s_con,
                  NM_SETTING_CONNECTION_ID,
-                 "Test Write InfiniBand",
+                 "Test Write Infiniband",
                  NM_SETTING_CONNECTION_UUID,
                  nm_uuid_generate_random_str_a(),
                  NM_SETTING_CONNECTION_AUTOCONNECT,
@@ -8239,15 +8421,28 @@ test_write_infiniband(void)
                  NM_SETTING_INFINIBAND_SETTING_NAME,
                  NULL);
 
+    if (NM_IN_SET(TEST_IDX, 1, 3))
+        interface_name = "ib0.000c";
+
+    g_object_set(s_con, NM_SETTING_CONNECTION_INTERFACE_NAME, interface_name, NULL);
+
     s_infiniband = _nm_connection_new_setting(connection, NM_TYPE_SETTING_INFINIBAND);
-    g_object_set(s_infiniband,
-                 NM_SETTING_INFINIBAND_MAC_ADDRESS,
-                 mac,
-                 NM_SETTING_INFINIBAND_MTU,
-                 mtu,
-                 NM_SETTING_INFINIBAND_TRANSPORT_MODE,
-                 "connected",
-                 NULL);
+    g_object_set(s_infiniband, NM_SETTING_INFINIBAND_TRANSPORT_MODE, "connected", NULL);
+    if (NM_IN_SET(TEST_IDX, 1, 2)) {
+        g_object_set(s_infiniband,
+                     NM_SETTING_INFINIBAND_MAC_ADDRESS,
+                     mac,
+                     NM_SETTING_INFINIBAND_MTU,
+                     mtu,
+                     NULL);
+    } else {
+        g_object_set(s_infiniband,
+                     NM_SETTING_INFINIBAND_P_KEY,
+                     12,
+                     NM_SETTING_INFINIBAND_PARENT,
+                     "ib0",
+                     NULL);
+    }
 
     s_ip4 = _nm_connection_new_setting(connection, NM_TYPE_SETTING_IP4_CONFIG);
     g_object_set(s_ip4,
@@ -8267,6 +8462,9 @@ test_write_infiniband(void)
     s_ip6 = _nm_connection_new_setting(connection, NM_TYPE_SETTING_IP6_CONFIG);
     g_object_set(s_ip6, NM_SETTING_IP_CONFIG_METHOD, NM_SETTING_IP6_CONFIG_METHOD_IGNORE, NULL);
 
+    if (nmtst_get_rand_bool())
+        nmtst_connection_normalize(connection);
+
     nmtst_assert_connection_verifies(connection);
 
     _writer_new_connection(connection, TEST_SCRATCH_DIR, &testfile);
@@ -8274,6 +8472,8 @@ test_write_infiniband(void)
     reread = _connection_from_file(testfile, NULL, TYPE_INFINIBAND, NULL);
 
     nmtst_assert_connection_equals(connection, TRUE, reread, FALSE);
+
+    g_assert_cmpstr(interface_name, ==, nm_connection_get_interface_name(reread));
 }
 
 static void
@@ -10446,6 +10646,7 @@ main(int argc, char **argv)
     g_test_add_func(TPATH "wifi/read/wep-no-keys", test_read_wifi_wep_no_keys);
     g_test_add_func(TPATH "wifi/read/wep-agent-keys", test_read_wifi_wep_agent_keys);
     g_test_add_func(TPATH "infiniband/read", test_read_infiniband);
+    g_test_add_func(TPATH "ipoib/read", test_read_ipoib);
     g_test_add_func(TPATH "vlan/read", test_read_vlan_interface);
     g_test_add_func(TPATH "vlan/read-flags-1", test_read_vlan_flags_1);
     g_test_add_func(TPATH "vlan/read-flags-2", test_read_vlan_flags_2);
@@ -10582,7 +10783,10 @@ main(int argc, char **argv)
     g_test_add_func(TPATH "permissions/read", test_read_permissions);
     g_test_add_func(TPATH "permissions/write", test_write_permissions);
     g_test_add_func(TPATH "wifi/write-wep-agent-keys", test_write_wifi_wep_agent_keys);
-    g_test_add_func(TPATH "infiniband/write", test_write_infiniband);
+    g_test_add_data_func(TPATH "infiniband/write/1", GINT_TO_POINTER(1), test_write_infiniband);
+    g_test_add_data_func(TPATH "infiniband/write/2", GINT_TO_POINTER(2), test_write_infiniband);
+    g_test_add_data_func(TPATH "infiniband/write/3", GINT_TO_POINTER(3), test_write_infiniband);
+    g_test_add_data_func(TPATH "infiniband/write/4", GINT_TO_POINTER(4), test_write_infiniband);
     g_test_add_func(TPATH "vlan/write", test_write_vlan);
     g_test_add_func(TPATH "vlan/write-flags", test_write_vlan_flags);
     g_test_add_func(TPATH "vlan/write-only-vlanid", test_write_vlan_only_vlanid);
diff --git a/src/core/settings/plugins/keyfile/tests/test-keyfile-settings.c b/src/core/settings/plugins/keyfile/tests/test-keyfile-settings.c
index 1307d4b2..47be3a5e 100644
--- a/src/core/settings/plugins/keyfile/tests/test-keyfile-settings.c
+++ b/src/core/settings/plugins/keyfile/tests/test-keyfile-settings.c
@@ -2292,14 +2292,19 @@ test_read_missing_vlan_flags(void)
 static void
 test_read_missing_id_uuid(void)
 {
-    gs_unref_object NMConnection *connection    = NULL;
-    gs_free char                 *expected_uuid = NULL;
-    const char                   *FILENAME      = TEST_KEYFILES_DIR "/Test_Missing_ID_UUID";
+    gs_unref_object NMConnection *connection     = NULL;
+    gs_free char                 *expected_uuid  = NULL;
+    gs_free char                 *expected_uuid2 = NULL;
+    const char                   *FILENAME       = TEST_KEYFILES_DIR "/Test_Missing_ID_UUID";
+    const char                    F[] = "keyfile\0" TEST_KEYFILES_DIR "/Test_Missing_ID_UUID";
 
     expected_uuid = nm_uuid_generate_from_strings("keyfile", FILENAME, NULL);
 
-    connection = keyfile_read_connection_from_file(FILENAME);
+    expected_uuid2 =
+        nm_uuid_generate_from_string_str(F, sizeof(F), NM_UUID_TYPE_VERSION3, &nm_uuid_ns_1);
+    g_assert_cmpstr(expected_uuid, ==, expected_uuid2);
 
+    connection = keyfile_read_connection_from_file(FILENAME);
     g_assert_cmpstr(nm_connection_get_id(connection), ==, "Test_Missing_ID_UUID");
     g_assert_cmpstr(nm_connection_get_uuid(connection), ==, expected_uuid);
 }
diff --git a/src/libnm-base/nm-ethtool-base.c b/src/libnm-base/nm-ethtool-base.c
index 99bbe68e..78e9fbc1 100644
--- a/src/libnm-base/nm-ethtool-base.c
+++ b/src/libnm-base/nm-ethtool-base.c
@@ -294,3 +294,15 @@ nm_ethtool_id_to_type(NMEthtoolID id)
 
     return NM_ETHTOOL_TYPE_UNKNOWN;
 }
+
+const GVariantType *
+nm_ethtool_id_get_variant_type(NMEthtoolID ethtool_id)
+{
+    if (nm_ethtool_id_is_feature(ethtool_id) || nm_ethtool_id_is_pause(ethtool_id))
+        return G_VARIANT_TYPE_BOOLEAN;
+
+    if (nm_ethtool_id_is_coalesce(ethtool_id) || nm_ethtool_id_is_ring(ethtool_id))
+        return G_VARIANT_TYPE_UINT32;
+
+    return NULL;
+}
diff --git a/src/libnm-base/nm-ethtool-base.h b/src/libnm-base/nm-ethtool-base.h
index abedcafe..22bb88fb 100644
--- a/src/libnm-base/nm-ethtool-base.h
+++ b/src/libnm-base/nm-ethtool-base.h
@@ -21,6 +21,8 @@ const NMEthtoolData *nm_ethtool_data_get_by_optname(const char *optname);
 
 NMEthtoolType nm_ethtool_id_to_type(NMEthtoolID id);
 
+const GVariantType *nm_ethtool_id_get_variant_type(NMEthtoolID ethtool_id);
+
 /****************************************************************************/
 
 static inline NMEthtoolID
diff --git a/src/libnm-client-impl/libnm.ver b/src/libnm-client-impl/libnm.ver
index e414b7e6..2478defa 100644
--- a/src/libnm-client-impl/libnm.ver
+++ b/src/libnm-client-impl/libnm.ver
@@ -1844,3 +1844,37 @@ global:
 	nm_setting_ip4_link_local_get_type;
 	nm_setting_ip6_config_get_mtu;
 } libnm_1_38_0;
+
+libnm_1_40_4 {
+global:
+	nm_device_6lowpan_get_parent;
+	nm_device_macsec_get_parent;
+	nm_device_veth_get_peer;
+	nm_device_vxlan_get_carrier;
+	nm_device_vxlan_get_rsc;
+	nm_device_wifi_p2p_get_peer_by_path;
+	nm_setting_6lowpan_get_parent;
+	nm_setting_6lowpan_new;
+	nm_setting_connection_get_mptcp_flags;
+	nm_setting_hostname_new;
+	nm_setting_ip4_config_get_link_local;
+	nm_setting_ip_config_get_dhcp_iaid;
+	nm_setting_ip_tunnel_get_encapsulation_limit;
+	nm_setting_ip_tunnel_get_flow_label;
+	nm_setting_ovs_bridge_get_datapath_type;
+	nm_setting_vpn_get_persistent;
+	nm_setting_wpan_get_channel;
+	nm_setting_wpan_get_mac_address;
+	nm_setting_wpan_get_page;
+	nm_setting_wpan_get_pan_id;
+	nm_setting_wpan_get_short_address;
+	nm_setting_wpan_new;
+	nm_sriov_vf_attribute_validate;
+	nm_tc_tfilter_get_action;
+	nm_tc_tfilter_set_action;
+	nm_utils_ip_addresses_from_variant;
+	nm_utils_ip_addresses_to_variant;
+	nm_utils_ip_routes_from_variant;
+	nm_utils_ip_routes_to_variant;
+	nm_vpn_plugin_info_supports_multiple;
+} libnm_1_40_0;
diff --git a/src/libnm-client-impl/meson.build b/src/libnm-client-impl/meson.build
index 46464a63..d72ed545 100644
--- a/src/libnm-client-impl/meson.build
+++ b/src/libnm-client-impl/meson.build
@@ -236,5 +236,4 @@ if enable_introspection
     ],
     depends: libnm_gir,
   )
-
 endif
diff --git a/src/libnm-client-impl/nm-client.c b/src/libnm-client-impl/nm-client.c
index a2ca8333..871c5466 100644
--- a/src/libnm-client-impl/nm-client.c
+++ b/src/libnm-client-impl/nm-client.c
@@ -5248,7 +5248,7 @@ _add_and_activate_connection(NMClient           *self,
  * @partial: (allow-none): an #NMConnection to add; the connection may be
  *   partially filled (or even %NULL) and will be completed by NetworkManager
  *   using the given @device and @specific_object before being added
- * @device: the #NMDevice
+ * @device: (allow-none): the #NMDevice
  * @specific_object: (allow-none): the object path of a connection-type-specific
  *   object this activation should use. This parameter is currently ignored for
  *   wired and mobile broadband connections, and the value of %NULL should be used
@@ -5322,7 +5322,7 @@ nm_client_add_and_activate_connection_finish(NMClient *client, GAsyncResult *res
  * @partial: (allow-none): an #NMConnection to add; the connection may be
  *   partially filled (or even %NULL) and will be completed by NetworkManager
  *   using the given @device and @specific_object before being added
- * @device: the #NMDevice
+ * @device: (allow-none): the #NMDevice
  * @specific_object: (allow-none): the object path of a connection-type-specific
  *   object this activation should use. This parameter is currently ignored for
  *   wired and mobile broadband connections, and the value of %NULL should be used
@@ -5396,6 +5396,8 @@ nm_client_add_and_activate_connection2(NMClient           *client,
  *
  * Returns: (transfer full): the new #NMActiveConnection on success, %NULL on
  *   failure, in which case @error will be set.
+ *
+ * Since: 1.16
  **/
 NMActiveConnection *
 nm_client_add_and_activate_connection2_finish(NMClient     *client,
diff --git a/src/libnm-client-impl/nm-device-6lowpan.c b/src/libnm-client-impl/nm-device-6lowpan.c
index 39558f25..fc1f59ba 100644
--- a/src/libnm-client-impl/nm-device-6lowpan.c
+++ b/src/libnm-client-impl/nm-device-6lowpan.c
@@ -39,7 +39,7 @@ G_DEFINE_TYPE(NMDevice6Lowpan, nm_device_6lowpan, NM_TYPE_DEVICE)
  *
  * Returns: (transfer none): the device's parent device
  *
- * Since: 1.14
+ * Since: 1.42, 1.40.4
  **/
 NMDevice *
 nm_device_6lowpan_get_parent(NMDevice6Lowpan *device)
@@ -49,27 +49,6 @@ nm_device_6lowpan_get_parent(NMDevice6Lowpan *device)
     return nml_dbus_property_o_get_obj(&NM_DEVICE_6LOWPAN_GET_PRIVATE(device)->parent);
 }
 
-/**
- * nm_device_6lowpan_get_hw_address: (skip)
- * @device: a #NMDevice6Lowpan
- *
- * Gets the hardware (MAC) address of the #NMDevice6Lowpan
- *
- * Returns: the hardware address. This is the internal string used by the
- * device, and must not be modified.
- *
- * Since: 1.14
- *
- * Deprecated: 1.24: Use nm_device_get_hw_address() instead.
- **/
-const char *
-nm_device_6lowpan_get_hw_address(NMDevice6Lowpan *device)
-{
-    g_return_val_if_fail(NM_IS_DEVICE_6LOWPAN(device), NULL);
-
-    return nm_device_get_hw_address(NM_DEVICE(device));
-}
-
 /*****************************************************************************/
 
 static void
diff --git a/src/libnm-client-impl/nm-device-macsec.c b/src/libnm-client-impl/nm-device-macsec.c
index 525d32d0..763faa6c 100644
--- a/src/libnm-client-impl/nm-device-macsec.c
+++ b/src/libnm-client-impl/nm-device-macsec.c
@@ -65,7 +65,7 @@ G_DEFINE_TYPE(NMDeviceMacsec, nm_device_macsec, NM_TYPE_DEVICE)
  *
  * Returns: (transfer none): the device's parent device
  *
- * Since: 1.6
+ * Since: 1.42, 1.40.4
  **/
 NMDevice *
 nm_device_macsec_get_parent(NMDeviceMacsec *device)
diff --git a/src/libnm-client-impl/nm-device-tun.c b/src/libnm-client-impl/nm-device-tun.c
index 353b4bdc..2e75c860 100644
--- a/src/libnm-client-impl/nm-device-tun.c
+++ b/src/libnm-client-impl/nm-device-tun.c
@@ -124,7 +124,7 @@ nm_device_tun_get_group(NMDeviceTun *device)
 }
 
 /**
- * nm_device_tun_get_pi:
+ * nm_device_tun_get_no_pi:
  * @device: a #NMDeviceTun
  *
  * Returns whether the #NMDeviceTun has the IFF_NO_PI flag.
diff --git a/src/libnm-client-impl/nm-device-veth.c b/src/libnm-client-impl/nm-device-veth.c
index d9fc325b..0d4537ed 100644
--- a/src/libnm-client-impl/nm-device-veth.c
+++ b/src/libnm-client-impl/nm-device-veth.c
@@ -44,7 +44,7 @@ G_DEFINE_TYPE(NMDeviceVeth, nm_device_veth, NM_TYPE_DEVICE_ETHERNET)
  *
  * Returns: (transfer none): the device's peer device
  *
- * Since: 1.30
+ * Since: 1.42, 1.40.4
  **/
 NMDevice *
 nm_device_veth_get_peer(NMDeviceVeth *device)
diff --git a/src/libnm-client-impl/nm-device-vxlan.c b/src/libnm-client-impl/nm-device-vxlan.c
index d81b5516..13c20536 100644
--- a/src/libnm-client-impl/nm-device-vxlan.c
+++ b/src/libnm-client-impl/nm-device-vxlan.c
@@ -99,7 +99,7 @@ nm_device_vxlan_get_hw_address(NMDeviceVxlan *device)
  * This property is not implemented yet, and the function always returns
  * FALSE.
  *
- * Since: 1.2
+ * Since: 1.42, 1.40.4
  **/
 gboolean
 nm_device_vxlan_get_carrier(NMDeviceVxlan *device)
@@ -325,7 +325,7 @@ nm_device_vxlan_get_proxy(NMDeviceVxlan *device)
  *
  * Returns: whether route short circuit is turned on
  *
- * Since: 1.2
+ * Since: 1.42, 1.40.4
  **/
 gboolean
 nm_device_vxlan_get_rsc(NMDeviceVxlan *device)
diff --git a/src/libnm-client-impl/nm-device-wifi-p2p.c b/src/libnm-client-impl/nm-device-wifi-p2p.c
index 6e667ac6..3d539111 100644
--- a/src/libnm-client-impl/nm-device-wifi-p2p.c
+++ b/src/libnm-client-impl/nm-device-wifi-p2p.c
@@ -100,7 +100,7 @@ nm_device_wifi_p2p_get_peers(NMDeviceWifiP2P *device)
  *
  * Returns: (transfer none): the peer or %NULL if none is found.
  *
- * Since: 1.16
+ * Since: 1.42, 1.40.4
  **/
 NMWifiP2PPeer *
 nm_device_wifi_p2p_get_peer_by_path(NMDeviceWifiP2P *device, const char *path)
diff --git a/src/libnm-client-impl/nm-device-wpan.c b/src/libnm-client-impl/nm-device-wpan.c
index 30c1ea16..337e3de0 100644
--- a/src/libnm-client-impl/nm-device-wpan.c
+++ b/src/libnm-client-impl/nm-device-wpan.c
@@ -24,25 +24,6 @@ struct _NMDeviceWpanClass {
 G_DEFINE_TYPE(NMDeviceWpan, nm_device_wpan, NM_TYPE_DEVICE)
 /*****************************************************************************/
 
-/**
- * nm_device_wpan_get_hw_address: (skip)
- * @device: a #NMDeviceWpan
- *
- * Gets the active hardware (MAC) address of the #NMDeviceWpan
- *
- * Returns: the active hardware address. This is the internal string used by the
- * device, and must not be modified.
- *
- * Deprecated: 1.24: Use nm_device_get_hw_address() instead.
- **/
-const char *
-nm_device_wpan_get_hw_address(NMDeviceWpan *device)
-{
-    g_return_val_if_fail(NM_IS_DEVICE_WPAN(device), NULL);
-
-    return nm_device_get_hw_address(NM_DEVICE(device));
-}
-
 static gboolean
 connection_compatible(NMDevice *device, NMConnection *connection, GError **error)
 {
diff --git a/src/libnm-client-impl/nm-remote-connection.c b/src/libnm-client-impl/nm-remote-connection.c
index 23dfc1da..b10d3d55 100644
--- a/src/libnm-client-impl/nm-remote-connection.c
+++ b/src/libnm-client-impl/nm-remote-connection.c
@@ -125,6 +125,8 @@ nm_remote_connection_update2(NMRemoteConnection    *connection,
  *
  * Returns: (transfer full): on success, a #GVariant of type "a{sv}" with the result. On failure,
  *   %NULL.
+ *
+ * Since: 1.12
  **/
 GVariant *
 nm_remote_connection_update2_finish(NMRemoteConnection *connection,
diff --git a/src/libnm-client-impl/nm-settings-docs-gir.xml b/src/libnm-client-impl/nm-settings-docs-gir.xml
index 3ce853e4..eef7de67 100644
--- a/src/libnm-client-impl/nm-settings-docs-gir.xml
+++ b/src/libnm-client-impl/nm-settings-docs-gir.xml
@@ -145,9 +145,7 @@
 
  This property is currently not implemented for DHCPv6.</description><description-docbook><para> Array of servers from which DHCP offers must be rejected. This property is useful to avoid getting a lease from misconfigured or rogue servers.</para><para> For DHCPv4, each element must be an IPv4 address, optionally followed by a slash and a prefix length (e.g. "192.168.122.0/24").</para><para> This property is currently not implemented for DHCPv6.</para></description-docbook></property><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 "dhcp-hostname" property is NULL and this property is TRUE, the current persistent hostname of the computer is sent.</description><description-docbook><para> If TRUE, a hostname is sent to the DHCP server when acquiring a lease. Some DHCP servers use this hostname to update DNS databases, essentially providing a static hostname for the computer.  If the "dhcp-hostname" property is NULL and this property is TRUE, the current persistent hostname of the computer is sent.</para></description-docbook></property><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.</description><description-docbook><para> 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).</para><para> Set to 2147483647 (MAXINT32) for infinity.</para></description-docbook></property><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</description><description-docbook><para> 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.</para><para> Since 1.28</para></description-docbook></property><property name="dns" name_upper="DNS" type="array of uint32"><description> Array of IP addresses of DNS servers.</description><description-docbook><para> Array of IP addresses of DNS servers.</para></description-docbook></property><property name="dns-options" name_upper="DNS_OPTIONS" type="array of string"><description> Array of DNS options as described in man 5 resolv.conf.
+ Set to 2147483647 (MAXINT32) for infinity.</description><description-docbook><para> 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).</para><para> Set to 2147483647 (MAXINT32) for infinity.</para></description-docbook></property><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.</description><description-docbook><para> 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.</para></description-docbook></property><property name="dns" name_upper="DNS" type="array of uint32"><description> Array of IP addresses of DNS servers.</description><description-docbook><para> Array of IP addresses of DNS servers.</para></description-docbook></property><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.
 
@@ -179,9 +177,7 @@
 
  Note that the gateway usually conflicts with routing that NetworkManager configures for WireGuard interfaces, so usually it should not be set in that case. See "ip4-auto-default-route".</description><description-docbook><para> The gateway associated with this configuration. This is only meaningful if "addresses" is also set.</para><para> Setting the gateway causes NetworkManager to configure a standard default route with the gateway as next hop. This is ignored if "never-default" is set. An alternative is to configure the default route explicitly with a manual route and /0 as prefix length.</para><para> Note that the gateway usually conflicts with routing that NetworkManager configures for WireGuard interfaces, so usually it should not be set in that case. See "ip4-auto-default-route".</para></description-docbook></property><property name="ignore-auto-dns" name_upper="IGNORE_AUTO_DNS" type="boolean" default="FALSE"><description> When "method" is set to "auto" and this property to TRUE, automatically configured name servers and search domains are ignored and only name servers and search domains specified in the "dns" and "dns-search" properties, if any, are used.</description><description-docbook><para> When "method" is set to "auto" and this property to TRUE, automatically configured name servers and search domains are ignored and only name servers and search domains specified in the "dns" and "dns-search" properties, if any, are used.</para></description-docbook></property><property name="ignore-auto-routes" name_upper="IGNORE_AUTO_ROUTES" type="boolean" default="FALSE"><description> When "method" is set to "auto" and this property to TRUE, automatically configured routes are ignored and only routes specified in the "routes" property, if any, are used.</description><description-docbook><para> When "method" is set to "auto" and this property to TRUE, automatically configured routes are ignored and only routes specified in the "routes" property, if any, are used.</para></description-docbook></property><property name="link-local" name_upper="LINK_LOCAL" type="int32" default="0"><description> Enable and disable the IPv4 link-local configuration independently of the ipv4.method configuration. This allows a link-local address (169.254.x.y/16) to be obtained in addition to other addresses, such as those manually configured or obtained from a DHCP server.
 
- When set to "auto", the value is dependent on "ipv4.method". When set to "default", it honors the global connection default, before falling back to "auto". Note that if "ipv4.method" is "disabled", then link local addressing is always disabled too. The default is "default".
-
- Since 1.40</description><description-docbook><para> Enable and disable the IPv4 link-local configuration independently of the ipv4.method configuration. This allows a link-local address (169.254.x.y/16) to be obtained in addition to other addresses, such as those manually configured or obtained from a DHCP server.</para><para> When set to "auto", the value is dependent on "ipv4.method". When set to "default", it honors the global connection default, before falling back to "auto". Note that if "ipv4.method" is "disabled", then link local addressing is always disabled too. The default is "default".</para><para> Since 1.40</para></description-docbook></property><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.</description><description-docbook><para> 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.</para></description-docbook></property><property name="method" name_upper="METHOD" type="string"><description> IP configuration method.
+ When set to "auto", the value is dependent on "ipv4.method". When set to "default", it honors the global connection default, before falling back to "auto". Note that if "ipv4.method" is "disabled", then link local addressing is always disabled too. The default is "default".</description><description-docbook><para> Enable and disable the IPv4 link-local configuration independently of the ipv4.method configuration. This allows a link-local address (169.254.x.y/16) to be obtained in addition to other addresses, such as those manually configured or obtained from a DHCP server.</para><para> When set to "auto", the value is dependent on "ipv4.method". When set to "default", it honors the global connection default, before falling back to "auto". Note that if "ipv4.method" is "disabled", then link local addressing is always disabled too. The default is "default".</para></description-docbook></property><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.</description><description-docbook><para> 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.</para></description-docbook></property><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.
 
diff --git a/src/libnm-client-impl/nm-vpn-plugin-old.c b/src/libnm-client-impl/nm-vpn-plugin-old.c
index 19ba2bb0..8898f09a 100644
--- a/src/libnm-client-impl/nm-vpn-plugin-old.c
+++ b/src/libnm-client-impl/nm-vpn-plugin-old.c
@@ -281,13 +281,8 @@ schedule_fail_stop(NMVpnPluginOld *plugin, guint timeout_secs)
         priv->fail_stop_id = g_idle_add(fail_stop, plugin);
 }
 
-/**
- * nm_vpn_plugin_old_set_config:
- *
- * Deprecated: 1.2: Replaced by NMVpnServicePlugin.
- */
-void
-nm_vpn_plugin_old_set_config(NMVpnPluginOld *plugin, GVariant *config)
+static void
+set_config(NMVpnPluginOld *plugin, GVariant *config)
 {
     NMVpnPluginOldPrivate *priv = NM_VPN_PLUGIN_OLD_GET_PRIVATE(plugin);
 
@@ -382,13 +377,8 @@ nm_vpn_plugin_old_set_ip4_config(NMVpnPluginOld *plugin, GVariant *ip4_config)
         nm_vpn_plugin_old_set_state(plugin, NM_VPN_SERVICE_STATE_STARTED);
 }
 
-/**
- * nm_vpn_plugin_old_set_ip6_config:
- *
- * Deprecated: 1.2: Replaced by NMVpnServicePlugin.
- */
-void
-nm_vpn_plugin_old_set_ip6_config(NMVpnPluginOld *plugin, GVariant *ip6_config)
+static void
+set_ip6_config(NMVpnPluginOld *plugin, GVariant *ip6_config)
 {
     NMVpnPluginOldPrivate *priv = NM_VPN_PLUGIN_OLD_GET_PRIVATE(plugin);
 
@@ -721,7 +711,7 @@ impl_vpn_plugin_old_set_config(NMVpnPluginOld        *plugin,
                                GVariant              *config,
                                gpointer               user_data)
 {
-    nm_vpn_plugin_old_set_config(plugin, config);
+    set_config(plugin, config);
     g_dbus_method_invocation_return_value(context, NULL);
 }
 
@@ -741,7 +731,7 @@ impl_vpn_plugin_old_set_ip6_config(NMVpnPluginOld        *plugin,
                                    GVariant              *config,
                                    gpointer               user_data)
 {
-    nm_vpn_plugin_old_set_ip6_config(plugin, config);
+    set_ip6_config(plugin, config);
     g_dbus_method_invocation_return_value(context, NULL);
 }
 
diff --git a/src/libnm-client-impl/nm-vpn-service-plugin.c b/src/libnm-client-impl/nm-vpn-service-plugin.c
index 3493d1db..d26a4ff5 100644
--- a/src/libnm-client-impl/nm-vpn-service-plugin.c
+++ b/src/libnm-client-impl/nm-vpn-service-plugin.c
@@ -136,6 +136,11 @@ nm_vpn_service_plugin_set_state(NMVpnServicePlugin *plugin, NMVpnServiceState st
     }
 }
 
+/**
+ * nm_vpn_service_plugin_set_login_banner:
+ *
+ * Since: 1.2
+ */
 void
 nm_vpn_service_plugin_set_login_banner(NMVpnServicePlugin *plugin, const char *banner)
 {
@@ -160,6 +165,11 @@ _emit_failure(NMVpnServicePlugin *plugin, NMVpnPluginFailure reason)
         nmdbus_vpn_plugin_emit_failure(priv->dbus_vpn_service_plugin, reason);
 }
 
+/**
+ * nm_vpn_service_plugin_failure:
+ *
+ * Since: 1.2
+ */
 void
 nm_vpn_service_plugin_failure(NMVpnServicePlugin *plugin, NMVpnPluginFailure reason)
 {
@@ -169,6 +179,11 @@ nm_vpn_service_plugin_failure(NMVpnServicePlugin *plugin, NMVpnPluginFailure rea
     nm_vpn_service_plugin_disconnect(plugin, NULL);
 }
 
+/**
+ * nm_vpn_service_plugin_disconnect:
+ *
+ * Since: 1.2
+ */
 gboolean
 nm_vpn_service_plugin_disconnect(NMVpnServicePlugin *plugin, GError **err)
 {
@@ -326,6 +341,11 @@ schedule_fail_stop(NMVpnServicePlugin *plugin, guint timeout_secs)
         priv->fail_stop_id = g_idle_add(fail_stop, plugin);
 }
 
+/**
+ * nm_vpn_service_plugin_set_config:
+ *
+ * Since: 1.2
+ */
 void
 nm_vpn_service_plugin_set_config(NMVpnServicePlugin *plugin, GVariant *config)
 {
@@ -364,6 +384,11 @@ nm_vpn_service_plugin_set_config(NMVpnServicePlugin *plugin, GVariant *config)
         nm_vpn_service_plugin_set_state(plugin, NM_VPN_SERVICE_STATE_STARTED);
 }
 
+/**
+ * nm_vpn_service_plugin_set_ip4_config:
+ *
+ * Since: 1.2
+ */
 void
 nm_vpn_service_plugin_set_ip4_config(NMVpnServicePlugin *plugin, GVariant *ip4_config)
 {
@@ -422,6 +447,11 @@ nm_vpn_service_plugin_set_ip4_config(NMVpnServicePlugin *plugin, GVariant *ip4_c
         nm_vpn_service_plugin_set_state(plugin, NM_VPN_SERVICE_STATE_STARTED);
 }
 
+/**
+ * nm_vpn_service_plugin_set_ip6_config:
+ *
+ * Since: 1.2
+ */
 void
 nm_vpn_service_plugin_set_ip6_config(NMVpnServicePlugin *plugin, GVariant *ip6_config)
 {
diff --git a/src/libnm-client-impl/tests/meson.build b/src/libnm-client-impl/tests/meson.build
index 3f2e78a7..0c0e188b 100644
--- a/src/libnm-client-impl/tests/meson.build
+++ b/src/libnm-client-impl/tests/meson.build
@@ -44,3 +44,15 @@ foreach test_unit: test_units
     args: test_args + [exe.full_path()],
   )
 endforeach
+
+if enable_introspection
+  test(
+    'check-local-libnm-gir',
+    python,
+    args: [
+      join_paths(meson.source_root(), 'src', 'libnm-client-impl', 'tests', 'test-gir.py'),
+      '--gir', libnm_gir[0],
+      '--ver', join_paths(meson.source_root(), 'src', 'libnm-client-impl', 'libnm.ver'),
+    ],
+  )
+endif
diff --git a/src/libnm-client-impl/tests/test-gir.py b/src/libnm-client-impl/tests/test-gir.py
new file mode 100755
index 00000000..d91849b8
--- /dev/null
+++ b/src/libnm-client-impl/tests/test-gir.py
@@ -0,0 +1,153 @@
+#!/usr/bin/env python
+# SPDX-License-Identifier: LGPL-2.1-or-later
+#
+# Copyright (C) 2022 Red Hat, Inc.
+#
+
+from __future__ import print_function
+import xml.etree.ElementTree as ET
+import argparse
+import sys
+
+C_NS = "http://www.gtk.org/introspection/c/1.0"
+CORE_NS = "http://www.gtk.org/introspection/core/1.0"
+GLIB_NS = "http://www.gtk.org/introspection/glib/1.0"
+
+
+def syms_from_gir(girfile):
+    def xml_symbols(xml, types):
+        ret = []
+        for t in types:
+            ret += xml.findall("./{%s}namespace/{%s}%s" % (CORE_NS, CORE_NS, t))
+            ret += xml.findall("./{%s}namespace/*/{%s}%s" % (CORE_NS, CORE_NS, t))
+        return ret
+
+    girxml = ET.parse(girfile)
+    c_syms = {}
+    for sym in xml_symbols(girxml, ("constructor", "function", "method")):
+        c_syms[sym.get("{%s}identifier" % C_NS)] = sym.get("version")
+
+    for sym in xml_symbols(
+        girxml, ("bitfield", "class", "enumeration", "interface", "record")
+    ):
+        get_type = sym.get("{%s}get-type" % GLIB_NS)
+        if get_type is None:
+            continue
+        version = sym.get("version")
+
+        if version is None:
+            # FIXME: The get_type() functions should be exported in the same
+            # version the type itself appeared. However, a large number of
+            # classes lack Since: tags in their doc blocks. Fall back to using
+            # the tag on _new() method for the test to be able to proceed
+            # reasonably. This should be fixed eventually.
+            constructor = sym.find("./{%s}constructor" % CORE_NS)
+            if constructor is not None:
+                version = constructor.get("version")
+
+        c_syms[get_type] = version
+    return c_syms
+
+
+# Older Python doesn't have str.removesuffix()
+def str_removesuffix(string, suffix):
+    try:
+        return string.removesuffix(suffix)
+    except AttributeError:
+        if string.endswith(suffix):
+            return string[: -len(suffix)]
+        else:
+            return string
+
+
+# Older Python doesn't have str.removeprefix()
+def str_removeprefix(string, prefix):
+    try:
+        return string.removeprefix(prefix)
+    except AttributeError:
+        if string.startswith(prefix):
+            return string[len(prefix) :]
+        else:
+            return string
+
+
+def syms_from_ver(verfile):
+    c_syms = {}
+    for line in open(verfile).readlines():
+        line = line.strip()
+
+        if line.endswith("{"):
+            line = str_removesuffix(line, " {")
+            line = str_removeprefix(line, "libnm_")
+            (major, minor, micro) = line.split("_")
+            if int(major) > 1 or int(minor) > 0:
+                if int(micro) > 0:
+                    # Snap to next major version. Perhaps not
+                    # exactly correct, but good for all symbols
+                    # we export but nm_ethtool_optname_is_feature().
+                    minor = str(int(minor) + 2)
+                version = major + "." + minor
+            else:
+                version = None
+        elif (
+            line.endswith(";")
+            and not line.startswith("}")
+            and not line.startswith("#")
+            and not line == "*;"
+        ):
+            c_syms[str_removesuffix(line, ";")] = version
+
+    # This one is... messy.
+    c_syms["nm_ethtool_optname_is_feature"] = "1.20"
+
+    return c_syms
+
+
+parser = argparse.ArgumentParser()
+parser.add_argument(
+    "--gir",
+    metavar="FILE",
+    help="NM-1.0.gir file",
+    required=True,
+)
+parser.add_argument(
+    "--ver",
+    metavar="FILE",
+    help="libnm.ver file",
+    required=True,
+)
+
+args = parser.parse_args()
+
+gir_syms = syms_from_gir(args.gir)
+ver_syms = syms_from_ver(args.ver)
+
+exit_code = 0
+
+for (gir_sym, gir_ver) in gir_syms.items():
+    if gir_sym not in ver_syms:
+        exit_code = 1
+        print(
+            'FAIL: "%s" found in "%s", but is not exported. Needs adding to "%s"?'
+            % (gir_sym, args.gir, args.ver),
+            file=sys.stderr,
+        )
+        continue
+    if gir_ver != ver_syms[gir_sym]:
+        exit_code = 1
+        print(
+            'FAIL: "%s" exported in version "%s" but documented as available since "%s"'
+            % (gir_sym, ver_syms[gir_sym], gir_ver),
+            file=sys.stderr,
+        )
+
+# In python2, dict.keys() returns lists, not sets. Cast them.
+for sym in set(ver_syms.keys()) - set(gir_syms.keys()):
+    exit_code = 1
+    print(
+        'FAIL: "%s" found in "%s", but not in "%s". Maybe the doc comment is wrong or g-ir-scanner messed up?'
+        % (sym, args.ver, args.gir),
+        file=sys.stderr,
+    )
+
+sys.exit(exit_code)
diff --git a/src/libnm-client-public/nm-checkpoint.h b/src/libnm-client-public/nm-checkpoint.h
index 456d7f6b..c47ff39c 100644
--- a/src/libnm-client-public/nm-checkpoint.h
+++ b/src/libnm-client-public/nm-checkpoint.h
@@ -29,6 +29,8 @@ G_BEGIN_DECLS
 
 /**
  * NMCheckpoint:
+ *
+ * Since: 1.12
  */
 typedef struct _NMCheckpoint      NMCheckpoint;
 typedef struct _NMCheckpointClass NMCheckpointClass;
diff --git a/src/libnm-client-public/nm-client.h b/src/libnm-client-public/nm-client.h
index 6307f112..da5e509e 100644
--- a/src/libnm-client-public/nm-client.h
+++ b/src/libnm-client-public/nm-client.h
@@ -120,6 +120,11 @@ GQuark nm_client_error_quark(void);
 
 /* DNS stuff */
 
+/**
+ * NMDnsEntry:
+ *
+ * Since: 1.6
+ */
 typedef struct NMDnsEntry NMDnsEntry;
 
 NM_AVAILABLE_IN_1_6
diff --git a/src/libnm-client-public/nm-device-6lowpan.h b/src/libnm-client-public/nm-device-6lowpan.h
index d5f8a7a5..7feba237 100644
--- a/src/libnm-client-public/nm-device-6lowpan.h
+++ b/src/libnm-client-public/nm-device-6lowpan.h
@@ -29,6 +29,8 @@ G_BEGIN_DECLS
 
 /**
  * NMDevice6Lowpan:
+ *
+ * Since: 1.14
  */
 typedef struct _NMDevice6Lowpan      NMDevice6Lowpan;
 typedef struct _NMDevice6LowpanClass NMDevice6LowpanClass;
@@ -36,13 +38,9 @@ typedef struct _NMDevice6LowpanClass NMDevice6LowpanClass;
 NM_AVAILABLE_IN_1_14
 GType nm_device_6lowpan_get_type(void);
 
-NM_AVAILABLE_IN_1_14
+NM_AVAILABLE_IN_1_40_4
 NMDevice *nm_device_6lowpan_get_parent(NMDevice6Lowpan *device);
 
-NM_AVAILABLE_IN_1_14
-NM_DEPRECATED_IN_1_24_FOR(nm_device_get_hw_address)
-const char *nm_device_6lowpan_get_hw_address(NMDevice6Lowpan *device);
-
 G_END_DECLS
 
 #endif /* __NM_DEVICE_6LOWPAN_H__ */
diff --git a/src/libnm-client-public/nm-device-dummy.h b/src/libnm-client-public/nm-device-dummy.h
index 8b2f7485..0e6c6fe6 100644
--- a/src/libnm-client-public/nm-device-dummy.h
+++ b/src/libnm-client-public/nm-device-dummy.h
@@ -28,6 +28,8 @@ G_BEGIN_DECLS
 
 /**
  * NMDeviceDummy:
+ *
+ * Since: 1.8
  */
 typedef struct _NMDeviceDummy      NMDeviceDummy;
 typedef struct _NMDeviceDummyClass NMDeviceDummyClass;
diff --git a/src/libnm-client-public/nm-device-ip-tunnel.h b/src/libnm-client-public/nm-device-ip-tunnel.h
index 4f55dc0b..4b9b9f5b 100644
--- a/src/libnm-client-public/nm-device-ip-tunnel.h
+++ b/src/libnm-client-public/nm-device-ip-tunnel.h
@@ -41,6 +41,8 @@ G_BEGIN_DECLS
 
 /**
  * NMDeviceIPTunnel:
+ *
+ * Since: 1.2
  */
 typedef struct _NMDeviceIPTunnel      NMDeviceIPTunnel;
 typedef struct _NMDeviceIPTunnelClass NMDeviceIPTunnelClass;
diff --git a/src/libnm-client-public/nm-device-macsec.h b/src/libnm-client-public/nm-device-macsec.h
index b1ec3637..f4f6f03d 100644
--- a/src/libnm-client-public/nm-device-macsec.h
+++ b/src/libnm-client-public/nm-device-macsec.h
@@ -41,6 +41,8 @@ G_BEGIN_DECLS
 
 /**
  * NMDeviceMacsec:
+ *
+ * Since: 1.6
  */
 typedef struct _NMDeviceMacsec      NMDeviceMacsec;
 typedef struct _NMDeviceMacsecClass NMDeviceMacsecClass;
@@ -48,7 +50,7 @@ typedef struct _NMDeviceMacsecClass NMDeviceMacsecClass;
 NM_AVAILABLE_IN_1_6
 GType nm_device_macsec_get_type(void);
 
-NM_AVAILABLE_IN_1_6
+NM_AVAILABLE_IN_1_40_4
 NMDevice *nm_device_macsec_get_parent(NMDeviceMacsec *device);
 
 NM_AVAILABLE_IN_1_6
diff --git a/src/libnm-client-public/nm-device-macvlan.h b/src/libnm-client-public/nm-device-macvlan.h
index 95699334..85292069 100644
--- a/src/libnm-client-public/nm-device-macvlan.h
+++ b/src/libnm-client-public/nm-device-macvlan.h
@@ -32,6 +32,8 @@ G_BEGIN_DECLS
 
 /**
  * NMDeviceMacvlan:
+ *
+ * Since: 1.2
  */
 typedef struct _NMDeviceMacvlan      NMDeviceMacvlan;
 typedef struct _NMDeviceMacvlanClass NMDeviceMacvlanClass;
diff --git a/src/libnm-client-public/nm-device-ovs-bridge.h b/src/libnm-client-public/nm-device-ovs-bridge.h
index 8c454057..a6c9ff0b 100644
--- a/src/libnm-client-public/nm-device-ovs-bridge.h
+++ b/src/libnm-client-public/nm-device-ovs-bridge.h
@@ -29,6 +29,8 @@ G_BEGIN_DECLS
 
 /**
  * NMDeviceOvsBridge:
+ *
+ * Since: 1.10
  */
 typedef struct _NMDeviceOvsBridge      NMDeviceOvsBridge;
 typedef struct _NMDeviceOvsBridgeClass NMDeviceOvsBridgeClass;
diff --git a/src/libnm-client-public/nm-device-ovs-interface.h b/src/libnm-client-public/nm-device-ovs-interface.h
index 1ba7ac3a..eb74ee48 100644
--- a/src/libnm-client-public/nm-device-ovs-interface.h
+++ b/src/libnm-client-public/nm-device-ovs-interface.h
@@ -28,6 +28,8 @@ G_BEGIN_DECLS
 
 /**
  * NMDeviceOvsInterface:
+ *
+ * Since: 1.10
  */
 typedef struct _NMDeviceOvsInterface      NMDeviceOvsInterface;
 typedef struct _NMDeviceOvsInterfaceClass NMDeviceOvsInterfaceClass;
diff --git a/src/libnm-client-public/nm-device-ovs-port.h b/src/libnm-client-public/nm-device-ovs-port.h
index 7524cacb..8014ed91 100644
--- a/src/libnm-client-public/nm-device-ovs-port.h
+++ b/src/libnm-client-public/nm-device-ovs-port.h
@@ -29,6 +29,8 @@ G_BEGIN_DECLS
 
 /**
  * NMDeviceOvsPort:
+ *
+ * Since: 1.10
  */
 typedef struct _NMDeviceOvsPort      NMDeviceOvsPort;
 typedef struct _NMDeviceOvsPortClass NMDeviceOvsPortClass;
diff --git a/src/libnm-client-public/nm-device-ppp.h b/src/libnm-client-public/nm-device-ppp.h
index 4003f901..4d56cd89 100644
--- a/src/libnm-client-public/nm-device-ppp.h
+++ b/src/libnm-client-public/nm-device-ppp.h
@@ -23,10 +23,13 @@ G_BEGIN_DECLS
 
 /**
  * NMDevicePpp:
+ *
+ * Since: 1.10
  */
 typedef struct _NMDevicePpp      NMDevicePpp;
 typedef struct _NMDevicePppClass NMDevicePppClass;
 
+NM_AVAILABLE_IN_1_10
 GType nm_device_ppp_get_type(void);
 
 G_END_DECLS
diff --git a/src/libnm-client-public/nm-device-tun.h b/src/libnm-client-public/nm-device-tun.h
index e1e7310d..42690358 100644
--- a/src/libnm-client-public/nm-device-tun.h
+++ b/src/libnm-client-public/nm-device-tun.h
@@ -33,6 +33,8 @@ G_BEGIN_DECLS
 
 /**
  * NMDeviceTun:
+ *
+ * Since: 1.2
  */
 typedef struct _NMDeviceTun      NMDeviceTun;
 typedef struct _NMDeviceTunClass NMDeviceTunClass;
diff --git a/src/libnm-client-public/nm-device-veth.h b/src/libnm-client-public/nm-device-veth.h
index 8f61ae20..9de27595 100644
--- a/src/libnm-client-public/nm-device-veth.h
+++ b/src/libnm-client-public/nm-device-veth.h
@@ -27,6 +27,8 @@ G_BEGIN_DECLS
 
 /**
  * NMDeviceVeth:
+ *
+ * Since: 1.30
  */
 typedef struct _NMDeviceVeth      NMDeviceVeth;
 typedef struct _NMDeviceVethClass NMDeviceVethClass;
@@ -34,7 +36,7 @@ typedef struct _NMDeviceVethClass NMDeviceVethClass;
 NM_AVAILABLE_IN_1_30
 GType nm_device_veth_get_type(void);
 
-NM_AVAILABLE_IN_1_30
+NM_AVAILABLE_IN_1_40_4
 NMDevice *nm_device_veth_get_peer(NMDeviceVeth *device);
 
 G_END_DECLS
diff --git a/src/libnm-client-public/nm-device-vrf.h b/src/libnm-client-public/nm-device-vrf.h
index fbc8b202..82e0657d 100644
--- a/src/libnm-client-public/nm-device-vrf.h
+++ b/src/libnm-client-public/nm-device-vrf.h
@@ -24,6 +24,8 @@ G_BEGIN_DECLS
 
 /**
  * NMDeviceVrf:
+ *
+ * Since: 1.24
  */
 typedef struct _NMDeviceVrf      NMDeviceVrf;
 typedef struct _NMDeviceVrfClass NMDeviceVrfClass;
diff --git a/src/libnm-client-public/nm-device-vxlan.h b/src/libnm-client-public/nm-device-vxlan.h
index 7939539d..fa7511e1 100644
--- a/src/libnm-client-public/nm-device-vxlan.h
+++ b/src/libnm-client-public/nm-device-vxlan.h
@@ -45,6 +45,8 @@ G_BEGIN_DECLS
 
 /**
  * NMDeviceVxlan:
+ *
+ * Since: 1.2
  */
 typedef struct _NMDeviceVxlan      NMDeviceVxlan;
 typedef struct _NMDeviceVxlanClass NMDeviceVxlanClass;
@@ -56,7 +58,7 @@ NM_AVAILABLE_IN_1_2
 NM_DEPRECATED_IN_1_24_FOR(nm_device_get_hw_address)
 const char *nm_device_vxlan_get_hw_address(NMDeviceVxlan *device);
 
-NM_AVAILABLE_IN_1_2
+NM_AVAILABLE_IN_1_40_4
 gboolean nm_device_vxlan_get_carrier(NMDeviceVxlan *device);
 NM_AVAILABLE_IN_1_2
 NMDevice *nm_device_vxlan_get_parent(NMDeviceVxlan *device);
@@ -84,7 +86,7 @@ NM_AVAILABLE_IN_1_2
 guint nm_device_vxlan_get_limit(NMDeviceVxlan *device);
 NM_AVAILABLE_IN_1_2
 gboolean nm_device_vxlan_get_proxy(NMDeviceVxlan *device);
-NM_AVAILABLE_IN_1_2
+NM_AVAILABLE_IN_1_40_4
 gboolean nm_device_vxlan_get_rsc(NMDeviceVxlan *device);
 NM_AVAILABLE_IN_1_2
 gboolean nm_device_vxlan_get_l2miss(NMDeviceVxlan *device);
diff --git a/src/libnm-client-public/nm-device-wifi-p2p.h b/src/libnm-client-public/nm-device-wifi-p2p.h
index ad0ca436..31add1e3 100644
--- a/src/libnm-client-public/nm-device-wifi-p2p.h
+++ b/src/libnm-client-public/nm-device-wifi-p2p.h
@@ -44,7 +44,7 @@ NM_AVAILABLE_IN_1_16
 NM_DEPRECATED_IN_1_24_FOR(nm_device_get_hw_address)
 const char *nm_device_wifi_p2p_get_hw_address(NMDeviceWifiP2P *device);
 
-NM_AVAILABLE_IN_1_16
+NM_AVAILABLE_IN_1_40_4
 NMWifiP2PPeer *nm_device_wifi_p2p_get_peer_by_path(NMDeviceWifiP2P *device, const char *path);
 
 NM_AVAILABLE_IN_1_16
diff --git a/src/libnm-client-public/nm-device-wireguard.h b/src/libnm-client-public/nm-device-wireguard.h
index 756dfb4e..fa167878 100644
--- a/src/libnm-client-public/nm-device-wireguard.h
+++ b/src/libnm-client-public/nm-device-wireguard.h
@@ -27,6 +27,8 @@ G_BEGIN_DECLS
 
 /**
  * NMDeviceWireGuard:
+ *
+ * Since: 1.14
  */
 typedef struct _NMDeviceWireGuard      NMDeviceWireGuard;
 typedef struct _NMDeviceWireGuardClass NMDeviceWireGuardClass;
diff --git a/src/libnm-client-public/nm-device-wpan.h b/src/libnm-client-public/nm-device-wpan.h
index 8b011851..d6805040 100644
--- a/src/libnm-client-public/nm-device-wpan.h
+++ b/src/libnm-client-public/nm-device-wpan.h
@@ -27,6 +27,8 @@ G_BEGIN_DECLS
 
 /**
  * NMDeviceWpan:
+ *
+ * Since: 1.14
  */
 typedef struct _NMDeviceWpan      NMDeviceWpan;
 typedef struct _NMDeviceWpanClass NMDeviceWpanClass;
@@ -34,10 +36,6 @@ typedef struct _NMDeviceWpanClass NMDeviceWpanClass;
 NM_AVAILABLE_IN_1_14
 GType nm_device_wpan_get_type(void);
 
-NM_AVAILABLE_IN_1_14
-NM_DEPRECATED_IN_1_24_FOR(nm_device_get_hw_address)
-const char *nm_device_wpan_get_hw_address(NMDeviceWpan *device);
-
 G_END_DECLS
 
 #endif /* __NM_DEVICE_WPAN_H__ */
diff --git a/src/libnm-client-public/nm-vpn-plugin-old.h b/src/libnm-client-public/nm-vpn-plugin-old.h
index fe0d4bc2..cc6f6178 100644
--- a/src/libnm-client-public/nm-vpn-plugin-old.h
+++ b/src/libnm-client-public/nm-vpn-plugin-old.h
@@ -108,15 +108,9 @@ NM_DEPRECATED_IN_1_2
 void nm_vpn_plugin_old_failure(NMVpnPluginOld *plugin, NMVpnPluginFailure reason);
 
 NM_DEPRECATED_IN_1_2
-void nm_vpn_plugin_old_set_config(NMVpnPluginOld *plugin, GVariant *config);
-
-NM_DEPRECATED_IN_1_2
 void nm_vpn_plugin_old_set_ip4_config(NMVpnPluginOld *plugin, GVariant *ip4_config);
 
 NM_DEPRECATED_IN_1_2
-void nm_vpn_plugin_old_set_ip6_config(NMVpnPluginOld *plugin, GVariant *ip6_config);
-
-NM_DEPRECATED_IN_1_2
 gboolean nm_vpn_plugin_old_disconnect(NMVpnPluginOld *plugin, GError **err);
 
 /* Utility functions */
diff --git a/src/libnm-client-public/nm-vpn-service-plugin.h b/src/libnm-client-public/nm-vpn-service-plugin.h
index 5187d93d..baf5b3a6 100644
--- a/src/libnm-client-public/nm-vpn-service-plugin.h
+++ b/src/libnm-client-public/nm-vpn-service-plugin.h
@@ -35,6 +35,8 @@ G_BEGIN_DECLS
 
 /**
  * NMVpnServicePlugin:
+ *
+ * Since: 1.2
  */
 typedef struct {
     NM_AVAILABLE_IN_1_2
diff --git a/src/libnm-client-public/nm-wifi-p2p-peer.h b/src/libnm-client-public/nm-wifi-p2p-peer.h
index eff27bcb..dd8a109f 100644
--- a/src/libnm-client-public/nm-wifi-p2p-peer.h
+++ b/src/libnm-client-public/nm-wifi-p2p-peer.h
@@ -37,6 +37,8 @@ G_BEGIN_DECLS
 
 /**
  * NMWifiP2PPeer:
+ *
+ * Since: 1.16
  */
 typedef struct _NMWifiP2PPeer      NMWifiP2PPeer;
 typedef struct _NMWifiP2PPeerClass NMWifiP2PPeerClass;
diff --git a/src/libnm-core-impl/nm-connection.c b/src/libnm-core-impl/nm-connection.c
index aed4be21..2f5bf357 100644
--- a/src/libnm-core-impl/nm-connection.c
+++ b/src/libnm-core-impl/nm-connection.c
@@ -228,8 +228,10 @@ _nm_connection_add_setting(NMConnection *connection, NMSetting *setting)
     priv = NM_CONNECTION_GET_PRIVATE(connection);
 
     s_old = priv->settings[setting_info->meta_type];
-    if (s_old == setting)
+    if (s_old == setting) {
+        g_object_unref(s_old);
         return;
+    }
 
     priv->settings[setting_info->meta_type] = setting;
 
@@ -3487,7 +3489,7 @@ nm_connection_get_setting_olpc_mesh(NMConnection *connection)
  *
  * Returns: (transfer none): an #NMSettingOvsBridge if the connection contains one, otherwise %NULL
  *
- * Since: 1.10
+ * Since: 1.14
  **/
 NMSettingOvsBridge *
 nm_connection_get_setting_ovs_bridge(NMConnection *connection)
@@ -3503,7 +3505,7 @@ nm_connection_get_setting_ovs_bridge(NMConnection *connection)
  *
  * Returns: (transfer none): an #NMSettingOvsInterface if the connection contains one, otherwise %NULL
  *
- * Since: 1.10
+ * Since: 1.14
  **/
 NMSettingOvsInterface *
 nm_connection_get_setting_ovs_interface(NMConnection *connection)
@@ -3520,7 +3522,7 @@ nm_connection_get_setting_ovs_interface(NMConnection *connection)
  *
  * Returns: (transfer none): an #NMSettingOvsPatch if the connection contains one, otherwise %NULL
  *
- * Since: 1.10
+ * Since: 1.14
  **/
 NMSettingOvsPatch *
 nm_connection_get_setting_ovs_patch(NMConnection *connection)
@@ -3536,7 +3538,7 @@ nm_connection_get_setting_ovs_patch(NMConnection *connection)
  *
  * Returns: (transfer none): an #NMSettingOvsPort if the connection contains one, otherwise %NULL
  *
- * Since: 1.10
+ * Since: 1.14
  **/
 NMSettingOvsPort *
 nm_connection_get_setting_ovs_port(NMConnection *connection)
@@ -3626,7 +3628,7 @@ nm_connection_get_setting_tc_config(NMConnection *connection)
  *
  * Returns: (transfer none): an #NMSettingTun if the connection contains one, otherwise %NULL
  *
- * Since: 1.2
+ * Since: 1.14
  **/
 NMSettingTun *
 nm_connection_get_setting_tun(NMConnection *connection)
diff --git a/src/libnm-core-impl/nm-setting-6lowpan.c b/src/libnm-core-impl/nm-setting-6lowpan.c
index 765af69b..21b3dbb9 100644
--- a/src/libnm-core-impl/nm-setting-6lowpan.c
+++ b/src/libnm-core-impl/nm-setting-6lowpan.c
@@ -29,6 +29,8 @@ typedef struct {
  * NMSetting6Lowpan:
  *
  * 6LoWPAN Settings
+ *
+ * Since: 1.14
  */
 struct _NMSetting6Lowpan {
     NMSetting parent;
@@ -51,7 +53,7 @@ G_DEFINE_TYPE(NMSetting6Lowpan, nm_setting_6lowpan, NM_TYPE_SETTING)
  *
  * Returns: the #NMSetting6Lowpan:parent property of the setting
  *
- * Since: 1.14
+ * Since: 1.42, 1.40.4
  **/
 const char *
 nm_setting_6lowpan_get_parent(NMSetting6Lowpan *setting)
@@ -139,7 +141,7 @@ nm_setting_6lowpan_init(NMSetting6Lowpan *setting)
  *
  * Returns: (transfer full): the new empty #NMSetting6Lowpan object
  *
- * Since: 1.14
+ * Since: 1.42, 1.40.4
  **/
 NMSetting *
 nm_setting_6lowpan_new(void)
diff --git a/src/libnm-core-impl/nm-setting-bond-port.c b/src/libnm-core-impl/nm-setting-bond-port.c
index 9b41a74f..7ea82a76 100644
--- a/src/libnm-core-impl/nm-setting-bond-port.c
+++ b/src/libnm-core-impl/nm-setting-bond-port.c
@@ -85,13 +85,15 @@ verify(NMSetting *setting, NMConnection *connection, GError **error)
         }
 
         slave_type = nm_setting_connection_get_slave_type(s_con);
-        if (!nm_streq0(slave_type, NM_SETTING_BOND_SETTING_NAME)) {
+        if (slave_type && !nm_streq(slave_type, NM_SETTING_BOND_SETTING_NAME)) {
             g_set_error(error,
                         NM_CONNECTION_ERROR,
                         NM_CONNECTION_ERROR_INVALID_PROPERTY,
-                        _("A connection with a '%s' setting must have the slave-type set to '%s'"),
+                        _("A connection with a '%s' setting must have the slave-type set to '%s'. "
+                          "Instead it is '%s'"),
                         NM_SETTING_BOND_PORT_SETTING_NAME,
-                        NM_SETTING_BOND_SETTING_NAME);
+                        NM_SETTING_BOND_SETTING_NAME,
+                        slave_type);
             g_prefix_error(error,
                            "%s.%s: ",
                            NM_SETTING_CONNECTION_SETTING_NAME,
diff --git a/src/libnm-core-impl/nm-setting-bond.c b/src/libnm-core-impl/nm-setting-bond.c
index cdfc7641..18b6fefb 100644
--- a/src/libnm-core-impl/nm-setting-bond.c
+++ b/src/libnm-core-impl/nm-setting-bond.c
@@ -764,37 +764,64 @@ _nm_setting_bond_get_option_type(NMSettingBond *setting, const char *name)
     return option_meta->opt_type;
 }
 
-guint32
-_nm_setting_bond_opt_value_as_u32(NMSettingBond *s_bond, const char *opt)
+#define _opt_value_as_u64(s_bond, opt, v_max)                                            \
+    ({                                                                                   \
+        const OptionMeta *_meta;                                                         \
+        NMSettingBond    *_s_bond = (s_bond);                                            \
+        const char       *_opt    = (opt);                                               \
+        const guint64     _v_max  = (v_max);                                             \
+        const char       *_s;                                                            \
+        guint64           _val;                                                          \
+                                                                                         \
+        nm_assert(NM_IS_SETTING_BOND(_s_bond));                                          \
+        nm_assert(_opt);                                                                 \
+                                                                                         \
+        _meta = _get_option_meta(_opt);                                                  \
+                                                                                         \
+        nm_assert(_meta);                                                                \
+        nm_assert(_meta->opt_type == NM_BOND_OPTION_TYPE_INT);                           \
+        nm_assert(_meta->min < _meta->max);                                              \
+        nm_assert(_meta->max <= _v_max);                                                 \
+        nm_assert(_meta->val);                                                           \
+                                                                                         \
+        _s = nm_setting_bond_get_option_normalized(_s_bond, _opt);                       \
+        if (_s) {                                                                        \
+            _val = _nm_utils_ascii_str_to_uint64(_s, 10, _meta->min, _meta->max, 0);     \
+            /* Note that _s is only a valid integer, if the profile verifies. We require
+             * that the caller only calls these functions on valid profile. */ \
+            nm_assert(errno == 0);                                                       \
+        } else {                                                                         \
+            _val  = 0;                                                                   \
+            errno = EINVAL;                                                              \
+        }                                                                                \
+                                                                                         \
+        _val;                                                                            \
+    })
+
+guint8
+_nm_setting_bond_opt_value_as_u8(NMSettingBond *s_bond, const char *opt)
 {
-    nm_assert(_get_option_meta(opt)->opt_type == NM_BOND_OPTION_TYPE_INT);
-    return _nm_utils_ascii_str_to_uint64(nm_setting_bond_get_option_normalized(s_bond, opt),
-                                         10,
-                                         0,
-                                         G_MAXUINT32,
-                                         0);
+    return _opt_value_as_u64(s_bond, opt, G_MAXUINT8);
 }
 
 guint16
 _nm_setting_bond_opt_value_as_u16(NMSettingBond *s_bond, const char *opt)
 {
-    nm_assert(_get_option_meta(opt)->opt_type == NM_BOND_OPTION_TYPE_INT);
-    return _nm_utils_ascii_str_to_uint64(nm_setting_bond_get_option_normalized(s_bond, opt),
-                                         10,
-                                         0,
-                                         G_MAXUINT16,
-                                         0);
+    return _opt_value_as_u64(s_bond, opt, G_MAXUINT16);
 }
 
-guint8
-_nm_setting_bond_opt_value_as_u8(NMSettingBond *s_bond, const char *opt)
+guint32
+_nm_setting_bond_opt_value_as_u32(NMSettingBond *s_bond, const char *opt)
+{
+    return _opt_value_as_u64(s_bond, opt, G_MAXUINT32);
+}
+
+bool
+_nm_setting_bond_opt_value_as_intbool(NMSettingBond *s_bond, const char *opt)
 {
-    nm_assert(_get_option_meta(opt)->opt_type == NM_BOND_OPTION_TYPE_INT);
-    return _nm_utils_ascii_str_to_uint64(nm_setting_bond_get_option_normalized(s_bond, opt),
-                                         10,
-                                         0,
-                                         G_MAXUINT8,
-                                         0);
+    /* This does not parse the value as a boolean string, instead, it requires
+     * that it's a number, either "0" or "1". */
+    return _opt_value_as_u64(s_bond, opt, 1);
 }
 
 /*****************************************************************************/
diff --git a/src/libnm-core-impl/nm-setting-bridge.c b/src/libnm-core-impl/nm-setting-bridge.c
index 39a3fb60..89611147 100644
--- a/src/libnm-core-impl/nm-setting-bridge.c
+++ b/src/libnm-core-impl/nm-setting-bridge.c
@@ -926,7 +926,7 @@ _nm_setting_bridge_get_vlans(NMSettingBridge *setting)
  *
  * Returns: the #NMSettingBridge:group-address property of the setting
  *
- * Since 1.24
+ * Since: 1.24
  **/
 const char *
 nm_setting_bridge_get_group_address(const NMSettingBridge *setting)
@@ -942,7 +942,7 @@ nm_setting_bridge_get_group_address(const NMSettingBridge *setting)
  *
  * Returns: the #NMSettingBridge:vlan-protocol property of the setting
  *
- * Since 1.24
+ * Since: 1.24
  **/
 const char *
 nm_setting_bridge_get_vlan_protocol(const NMSettingBridge *setting)
@@ -958,7 +958,7 @@ nm_setting_bridge_get_vlan_protocol(const NMSettingBridge *setting)
  *
  * Returns: the #NMSettingBridge:vlan-stats-enabled property of the setting
  *
- * Since 1.24
+ * Since: 1.24
  **/
 gboolean
 nm_setting_bridge_get_vlan_stats_enabled(const NMSettingBridge *setting)
@@ -974,7 +974,7 @@ nm_setting_bridge_get_vlan_stats_enabled(const NMSettingBridge *setting)
  *
  * Returns: the #NMSettingBridge:multicast-router property of the setting
  *
- * Since 1.24
+ * Since: 1.24
  **/
 const char *
 nm_setting_bridge_get_multicast_router(const NMSettingBridge *setting)
@@ -990,7 +990,7 @@ nm_setting_bridge_get_multicast_router(const NMSettingBridge *setting)
  *
  * Returns: the #NMSettingBridge:multicast-query-use-ifaddr property of the setting
  *
- * Since 1.24
+ * Since: 1.24
  **/
 gboolean
 nm_setting_bridge_get_multicast_query_use_ifaddr(const NMSettingBridge *setting)
@@ -1006,7 +1006,7 @@ nm_setting_bridge_get_multicast_query_use_ifaddr(const NMSettingBridge *setting)
  *
  * Returns: the #NMSettingBridge:multicast-querier property of the setting
  *
- * Since 1.24
+ * Since: 1.24
  **/
 gboolean
 nm_setting_bridge_get_multicast_querier(const NMSettingBridge *setting)
@@ -1022,7 +1022,7 @@ nm_setting_bridge_get_multicast_querier(const NMSettingBridge *setting)
  *
  * Returns: the #NMSettingBridge:multicast-hash-max property of the setting
  *
- * Since 1.26
+ * Since: 1.26
  **/
 guint32
 nm_setting_bridge_get_multicast_hash_max(const NMSettingBridge *setting)
@@ -1038,7 +1038,7 @@ nm_setting_bridge_get_multicast_hash_max(const NMSettingBridge *setting)
  *
  * Returns: the #NMSettingBridge:multicast-last-member-count property of the setting
  *
- * Since 1.26
+ * Since: 1.26
  **/
 guint32
 nm_setting_bridge_get_multicast_last_member_count(const NMSettingBridge *setting)
@@ -1054,7 +1054,7 @@ nm_setting_bridge_get_multicast_last_member_count(const NMSettingBridge *setting
  *
  * Returns: the #NMSettingBridge:multicast-last-member-interval property of the setting
  *
- * Since 1.26
+ * Since: 1.26
  **/
 guint64
 nm_setting_bridge_get_multicast_last_member_interval(const NMSettingBridge *setting)
@@ -1070,7 +1070,7 @@ nm_setting_bridge_get_multicast_last_member_interval(const NMSettingBridge *sett
  *
  * Returns: the #NMSettingBridge:multicast-membership-interval property of the setting
  *
- * Since 1.26
+ * Since: 1.26
  **/
 guint64
 nm_setting_bridge_get_multicast_membership_interval(const NMSettingBridge *setting)
@@ -1086,7 +1086,7 @@ nm_setting_bridge_get_multicast_membership_interval(const NMSettingBridge *setti
  *
  * Returns: the #NMSettingBridge:multicast-querier-interval property of the setting
  *
- * Since 1.26
+ * Since: 1.26
  **/
 guint64
 nm_setting_bridge_get_multicast_querier_interval(const NMSettingBridge *setting)
@@ -1102,7 +1102,7 @@ nm_setting_bridge_get_multicast_querier_interval(const NMSettingBridge *setting)
  *
  * Returns: the #NMSettingBridge:multicast-query-interval property of the setting
  *
- * Since 1.26
+ * Since: 1.26
  **/
 guint64
 nm_setting_bridge_get_multicast_query_interval(const NMSettingBridge *setting)
@@ -1118,7 +1118,7 @@ nm_setting_bridge_get_multicast_query_interval(const NMSettingBridge *setting)
  *
  * Returns: the #NMSettingBridge:multicast-query-response-interval property of the setting
  *
- * Since 1.26
+ * Since: 1.26
  **/
 guint64
 nm_setting_bridge_get_multicast_query_response_interval(const NMSettingBridge *setting)
@@ -1134,7 +1134,7 @@ nm_setting_bridge_get_multicast_query_response_interval(const NMSettingBridge *s
  *
  * Returns: the #NMSettingBridge:multicast-query-response-interval property of the setting
  *
- * Since 1.26
+ * Since: 1.26
  **/
 guint32
 nm_setting_bridge_get_multicast_startup_query_count(const NMSettingBridge *setting)
@@ -1150,7 +1150,7 @@ nm_setting_bridge_get_multicast_startup_query_count(const NMSettingBridge *setti
  *
  * Returns: the #NMSettingBridge:multicast-startup-query-interval property of the setting
  *
- * Since 1.26
+ * Since: 1.26
  **/
 guint64
 nm_setting_bridge_get_multicast_startup_query_interval(const NMSettingBridge *setting)
diff --git a/src/libnm-core-impl/nm-setting-connection.c b/src/libnm-core-impl/nm-setting-connection.c
index cbce1c12..bc14c767 100644
--- a/src/libnm-core-impl/nm-setting-connection.c
+++ b/src/libnm-core-impl/nm-setting-connection.c
@@ -1023,7 +1023,7 @@ nm_setting_connection_get_dns_over_tls(NMSettingConnection *setting)
  *
  * Returns: the #NMSettingConnection:mptcp-flags property of the setting.
  *
- * Since: 1.40
+ * Since: 1.42, 1.40.4
  **/
 NMMptcpFlags
 nm_setting_connection_get_mptcp_flags(NMSettingConnection *setting)
diff --git a/src/libnm-core-impl/nm-setting-ethtool.c b/src/libnm-core-impl/nm-setting-ethtool.c
index 71179efd..1db6c335 100644
--- a/src/libnm-core-impl/nm-setting-ethtool.c
+++ b/src/libnm-core-impl/nm-setting-ethtool.c
@@ -23,20 +23,6 @@
 
 /*****************************************************************************/
 
-static const GVariantType *
-get_variant_type_from_ethtool_id(NMEthtoolID ethtool_id)
-{
-    if (nm_ethtool_id_is_feature(ethtool_id) || nm_ethtool_id_is_pause(ethtool_id))
-        return G_VARIANT_TYPE_BOOLEAN;
-
-    if (nm_ethtool_id_is_coalesce(ethtool_id) || nm_ethtool_id_is_ring(ethtool_id))
-        return G_VARIANT_TYPE_UINT32;
-
-    return NULL;
-}
-
-/*****************************************************************************/
-
 /**
  * nm_ethtool_optname_is_feature:
  * @optname: (allow-none): the option name to check
@@ -302,7 +288,7 @@ verify(NMSetting *setting, NMConnection *connection, GError **error)
         NMEthtoolID         ethtool_id;
 
         ethtool_id   = nm_ethtool_id_get_by_name(optname);
-        variant_type = get_variant_type_from_ethtool_id(ethtool_id);
+        variant_type = nm_ethtool_id_get_variant_type(ethtool_id);
 
         if (!variant_type) {
             g_set_error_literal(error,
@@ -365,7 +351,7 @@ get_variant_type(const NMSettInfoSetting *sett_info, const char *name, GError **
 {
     const GVariantType *variant_type;
 
-    variant_type = get_variant_type_from_ethtool_id(nm_ethtool_id_get_by_name(name));
+    variant_type = nm_ethtool_id_get_variant_type(nm_ethtool_id_get_by_name(name));
 
     if (!variant_type) {
         g_set_error(error,
diff --git a/src/libnm-core-impl/nm-setting-hostname.c b/src/libnm-core-impl/nm-setting-hostname.c
index 276a75a8..8a5e50be 100644
--- a/src/libnm-core-impl/nm-setting-hostname.c
+++ b/src/libnm-core-impl/nm-setting-hostname.c
@@ -134,7 +134,7 @@ nm_setting_hostname_init(NMSettingHostname *setting)
  *
  * Returns: (transfer full): the new empty #NMSettingHostname object
  *
- * Since: 1.30
+ * Since: 1.42, 1.40.4
  **/
 NMSetting *
 nm_setting_hostname_new(void)
diff --git a/src/libnm-core-impl/nm-setting-ip-config.c b/src/libnm-core-impl/nm-setting-ip-config.c
index 916a8038..73f98ab1 100644
--- a/src/libnm-core-impl/nm-setting-ip-config.c
+++ b/src/libnm-core-impl/nm-setting-ip-config.c
@@ -266,6 +266,8 @@ nm_ip_address_unref(NMIPAddress *address)
  *
  * Returns: 0 if the two objects have the same values (according to their flags)
  *   or a integer indicating the compare order.
+ *
+ * Since: 1.22
  **/
 int
 nm_ip_address_cmp_full(const NMIPAddress *a, const NMIPAddress *b, NMIPAddressCmpFlags cmp_flags)
@@ -4343,6 +4345,8 @@ nm_setting_ip_config_get_num_dns_options(NMSettingIPConfig *setting)
  * a default configuration, while the former explicitly means "no-options".
  *
  * Returns: whether DNS options are initialized or left unset (the default).
+ *
+ * Since: 1.2
  **/
 gboolean
 nm_setting_ip_config_has_dns_options(NMSettingIPConfig *setting)
@@ -5291,7 +5295,7 @@ nm_setting_ip_config_get_required_timeout(NMSettingIPConfig *setting)
  *
  * Returns: the configured DHCP IAID (Identity Association Identifier)
  *
- * Since: 1.22
+ * Since: 1.42, 1.40.4
  **/
 const char *
 nm_setting_ip_config_get_dhcp_iaid(NMSettingIPConfig *setting)
diff --git a/src/libnm-core-impl/nm-setting-ip-tunnel.c b/src/libnm-core-impl/nm-setting-ip-tunnel.c
index d42e97b9..73416813 100644
--- a/src/libnm-core-impl/nm-setting-ip-tunnel.c
+++ b/src/libnm-core-impl/nm-setting-ip-tunnel.c
@@ -240,7 +240,7 @@ nm_setting_ip_tunnel_get_output_key(NMSettingIPTunnel *setting)
  *
  * Returns: the encapsulation limit value
  *
- * Since: 1.2
+ * Since: 1.42, 1.40.4
  **/
 guint
 nm_setting_ip_tunnel_get_encapsulation_limit(NMSettingIPTunnel *setting)
@@ -258,7 +258,7 @@ nm_setting_ip_tunnel_get_encapsulation_limit(NMSettingIPTunnel *setting)
  *
  * Returns: the flow label value
  *
- * Since: 1.2
+ * Since: 1.42, 1.40.4
  **/
 guint
 nm_setting_ip_tunnel_get_flow_label(NMSettingIPTunnel *setting)
@@ -286,7 +286,7 @@ nm_setting_ip_tunnel_get_mtu(NMSettingIPTunnel *setting)
     return NM_SETTING_IP_TUNNEL_GET_PRIVATE(setting)->mtu;
 }
 
-/*
+/**
  * nm_setting_ip_tunnel_get_flags:
  * @setting: the #NMSettingIPTunnel
  *
diff --git a/src/libnm-core-impl/nm-setting-ip4-config.c b/src/libnm-core-impl/nm-setting-ip4-config.c
index ff56834e..d991152c 100644
--- a/src/libnm-core-impl/nm-setting-ip4-config.c
+++ b/src/libnm-core-impl/nm-setting-ip4-config.c
@@ -138,7 +138,7 @@ nm_setting_ip4_config_get_dhcp_vendor_class_identifier(NMSettingIP4Config *setti
  *
  * Returns: the link-local configuration
  *
- * Since: 1.40
+ * Since: 1.42, 1.40.4
  **/
 NMSettingIP4LinkLocal
 nm_setting_ip4_config_get_link_local(NMSettingIP4Config *setting)
@@ -898,7 +898,7 @@ nm_setting_ip4_config_class_init(NMSettingIP4ConfigClass *klass)
      * a global connection default gets consulted.
      * If still unspecified, the DHCP option is not sent to the server.
      *
-     * Since 1.28
+     * Since: 1.28
      */
     /* ---ifcfg-rh---
      * property: dhcp-vendor-class-identifier
@@ -928,7 +928,7 @@ nm_setting_ip4_config_class_init(NMSettingIP4ConfigClass *klass)
      * falling back to "auto". Note that if "ipv4.method" is "disabled", then
      * link local addressing is always disabled too. The default is "default".
      *
-     * Since 1.40
+     * Since: 1.40
      */
     /* ---ifcfg-rh---
      * property: link-local
diff --git a/src/libnm-core-impl/nm-setting-ip6-config.c b/src/libnm-core-impl/nm-setting-ip6-config.c
index 8b593b97..94794d1e 100644
--- a/src/libnm-core-impl/nm-setting-ip6-config.c
+++ b/src/libnm-core-impl/nm-setting-ip6-config.c
@@ -832,8 +832,7 @@ nm_setting_ip6_config_class_init(NMSettingIP6ConfigClass *klass)
                                              NM_SETTING_IP6_CONFIG_ADDR_GEN_MODE_DEFAULT,
                                              NM_SETTING_PARAM_NONE,
                                              NMSettingIP6ConfigPrivate,
-                                             addr_gen_mode,
-                                             .to_dbus_including_default = TRUE);
+                                             addr_gen_mode);
 
     /**
      * NMSettingIP6Config:token:
diff --git a/src/libnm-core-impl/nm-setting-ovs-bridge.c b/src/libnm-core-impl/nm-setting-ovs-bridge.c
index b15aab19..7dc9fda4 100644
--- a/src/libnm-core-impl/nm-setting-ovs-bridge.c
+++ b/src/libnm-core-impl/nm-setting-ovs-bridge.c
@@ -120,7 +120,7 @@ nm_setting_ovs_bridge_get_stp_enable(NMSettingOvsBridge *self)
  *
  * Returns: the #NMSettingOvsBridge:datapath_type property of the setting
  *
- * Since: 1.20
+ * Since: 1.42, 1.40.4
  **/
 const char *
 nm_setting_ovs_bridge_get_datapath_type(NMSettingOvsBridge *self)
diff --git a/src/libnm-core-impl/nm-setting-ovs-external-ids.c b/src/libnm-core-impl/nm-setting-ovs-external-ids.c
index 6b8d5d37..f4e31f81 100644
--- a/src/libnm-core-impl/nm-setting-ovs-external-ids.c
+++ b/src/libnm-core-impl/nm-setting-ovs-external-ids.c
@@ -195,6 +195,8 @@ _nm_setting_ovs_external_ids_get_data(NMSettingOvsExternalIDs *self)
  *
  * Returns: (array length=out_len) (transfer none): a
  *   %NULL-terminated array containing each key from the table.
+ *
+ * Since: 1.30
   **/
 const char *const *
 nm_setting_ovs_external_ids_get_data_keys(NMSettingOvsExternalIDs *setting, guint *out_len)
diff --git a/src/libnm-core-impl/nm-setting-sriov.c b/src/libnm-core-impl/nm-setting-sriov.c
index 30dd8f54..f9bee21e 100644
--- a/src/libnm-core-impl/nm-setting-sriov.c
+++ b/src/libnm-core-impl/nm-setting-sriov.c
@@ -372,7 +372,7 @@ const NMVariantAttributeSpec *const _nm_sriov_vf_attribute_spec[] = {
  *
  * Returns: %TRUE if the attribute is valid, %FALSE otherwise
  *
- * Since: 1.14
+ * Since: 1.42, 1.40.4
  */
 gboolean
 nm_sriov_vf_attribute_validate(const char *name, GVariant *value, gboolean *known, GError **error)
@@ -649,7 +649,7 @@ nm_sriov_vf_get_vlan_qos(const NMSriovVF *vf, guint vlan_id)
     return vlan->qos;
 }
 
-/*
+/**
  * nm_sriov_vf_get_vlan_protocol:
  * @vf: the #NMSriovVF
  * @vlan_id: the VLAN id
diff --git a/src/libnm-core-impl/nm-setting-tc-config.c b/src/libnm-core-impl/nm-setting-tc-config.c
index 08a7f94d..529bbca1 100644
--- a/src/libnm-core-impl/nm-setting-tc-config.c
+++ b/src/libnm-core-impl/nm-setting-tc-config.c
@@ -935,7 +935,7 @@ nm_tc_tfilter_get_parent(NMTCTfilter *tfilter)
  *
  * Returns: the action associated with a traffic filter.
  *
- * Since: 1.12
+ * Since: 1.42, 1.40.4
  **/
 NMTCAction *
 nm_tc_tfilter_get_action(NMTCTfilter *tfilter)
@@ -956,7 +956,7 @@ nm_tc_tfilter_get_action(NMTCTfilter *tfilter)
  *
  * Sets the action associated with a traffic filter.
  *
- * Since: 1.12
+ * Since: 1.42, 1.40.4
  **/
 void
 nm_tc_tfilter_set_action(NMTCTfilter *tfilter, NMTCAction *action)
diff --git a/src/libnm-core-impl/nm-setting-user.c b/src/libnm-core-impl/nm-setting-user.c
index 0e95d38b..70bdc62a 100644
--- a/src/libnm-core-impl/nm-setting-user.c
+++ b/src/libnm-core-impl/nm-setting-user.c
@@ -35,6 +35,8 @@ typedef struct {
  * NMSettingUser:
  *
  * General User Profile Settings
+ *
+ * Since: 1.8
  */
 struct _NMSettingUser {
     NMSetting            parent;
@@ -216,6 +218,8 @@ _create_data_hash(void)
  *
  * Returns: (array length=out_len) (transfer none): a
  *   %NULL-terminated array containing each key from the table.
+ *
+ * Since: 1.8
   **/
 const char *const *
 nm_setting_user_get_keys(NMSettingUser *setting, guint *out_len)
@@ -498,6 +502,8 @@ nm_setting_user_init(NMSettingUser *self)
  * Creates a new #NMSettingUser object with default values.
  *
  * Returns: the new empty #NMSettingUser object
+ *
+ * Since: 1.8
  **/
 NMSetting *
 nm_setting_user_new(void)
diff --git a/src/libnm-core-impl/nm-setting-vpn.c b/src/libnm-core-impl/nm-setting-vpn.c
index 42f75fa2..7e6f18dd 100644
--- a/src/libnm-core-impl/nm-setting-vpn.c
+++ b/src/libnm-core-impl/nm-setting-vpn.c
@@ -147,6 +147,8 @@ nm_setting_vpn_get_user_name(NMSettingVpn *setting)
  * @setting: the #NMSettingVpn
  *
  * Returns: the #NMSettingVpn:persistent property of the setting
+ *
+ * Since: 1.42, 1.40.4
  **/
 gboolean
 nm_setting_vpn_get_persistent(NMSettingVpn *setting)
diff --git a/src/libnm-core-impl/nm-setting-wireguard.c b/src/libnm-core-impl/nm-setting-wireguard.c
index ad0f01d5..599ded3c 100644
--- a/src/libnm-core-impl/nm-setting-wireguard.c
+++ b/src/libnm-core-impl/nm-setting-wireguard.c
@@ -1437,7 +1437,7 @@ _peers_clear(NMSettingWireGuardPrivate *priv)
 }
 
 /**
- * nm_setting_wireguard_:
+ * nm_setting_wireguard_clear_peers:
  * @self: the #NMSettingWireGuard instance
  *
  * Returns: the number of cleared peers.
diff --git a/src/libnm-core-impl/nm-setting-wireless-security.c b/src/libnm-core-impl/nm-setting-wireless-security.c
index d9c5afb8..ebefd504 100644
--- a/src/libnm-core-impl/nm-setting-wireless-security.c
+++ b/src/libnm-core-impl/nm-setting-wireless-security.c
@@ -561,7 +561,7 @@ nm_setting_wireless_security_clear_groups(NMSettingWirelessSecurity *setting)
     _notify(setting, PROP_GROUP);
 }
 
-/*
+/**
  * nm_setting_wireless_security_get_pmf:
  * @setting: the #NMSettingWirelessSecurity
  *
@@ -798,7 +798,7 @@ nm_setting_wireless_security_get_wps_method(NMSettingWirelessSecurity *setting)
     return NM_SETTING_WIRELESS_SECURITY_GET_PRIVATE(setting)->wps_method;
 }
 
-/*
+/**
  * nm_setting_wireless_security_get_fils:
  * @setting: the #NMSettingWirelessSecurity
  *
diff --git a/src/libnm-core-impl/nm-setting-wpan.c b/src/libnm-core-impl/nm-setting-wpan.c
index 9e25dd16..a3e56ded 100644
--- a/src/libnm-core-impl/nm-setting-wpan.c
+++ b/src/libnm-core-impl/nm-setting-wpan.c
@@ -53,6 +53,8 @@ typedef struct {
  * NMSettingWpan:
  *
  * IEEE 802.15.4 (WPAN) MAC Settings
+ *
+ * Since: 1.14
  */
 struct _NMSettingWpan {
     NMSetting parent;
@@ -75,7 +77,7 @@ G_DEFINE_TYPE(NMSettingWpan, nm_setting_wpan, NM_TYPE_SETTING)
  *
  * Returns: the #NMSettingWpan:mac-address property of the setting
  *
- * Since: 1.14
+ * Since: 1.42, 1.40.4
  **/
 const char *
 nm_setting_wpan_get_mac_address(NMSettingWpan *setting)
@@ -91,7 +93,7 @@ nm_setting_wpan_get_mac_address(NMSettingWpan *setting)
  *
  * Returns: the #NMSettingWpan:pan-id property of the setting
  *
- * Since: 1.14
+ * Since: 1.42, 1.40.4
  **/
 guint16
 nm_setting_wpan_get_pan_id(NMSettingWpan *setting)
@@ -107,7 +109,7 @@ nm_setting_wpan_get_pan_id(NMSettingWpan *setting)
  *
  * Returns: the #NMSettingWpan:short-address property of the setting
  *
- * Since: 1.14
+ * Since: 1.42, 1.40.4
  **/
 guint16
 nm_setting_wpan_get_short_address(NMSettingWpan *setting)
@@ -123,7 +125,7 @@ nm_setting_wpan_get_short_address(NMSettingWpan *setting)
  *
  * Returns: the #NMSettingWpan:page property of the setting
  *
- * Since: 1.16
+ * Since: 1.42, 1.40.4
  **/
 gint16
 nm_setting_wpan_get_page(NMSettingWpan *setting)
@@ -139,7 +141,7 @@ nm_setting_wpan_get_page(NMSettingWpan *setting)
  *
  * Returns: the #NMSettingWpan:channel property of the setting
  *
- * Since: 1.16
+ * Since: 1.42, 1.40.4
  **/
 gint16
 nm_setting_wpan_get_channel(NMSettingWpan *setting)
@@ -211,7 +213,7 @@ nm_setting_wpan_init(NMSettingWpan *setting)
  *
  * Returns: (transfer full): the new empty #NMSettingWpan object
  *
- * Since: 1.14
+ * Since: 1.42, 1.40.4
  **/
 NMSetting *
 nm_setting_wpan_new(void)
diff --git a/src/libnm-core-impl/nm-setting.c b/src/libnm-core-impl/nm-setting.c
index 35070bae..b6f72137 100644
--- a/src/libnm-core-impl/nm-setting.c
+++ b/src/libnm-core-impl/nm-setting.c
@@ -30,6 +30,20 @@
 
 /*****************************************************************************/
 
+/*
+ * We use literal numbers in the header (as opposed to e.g.
+ * (1 << (1 + G_PARAM_USER_SHIFT))), because g-ir-scanner sometimes gets
+ * confused by unknown tokens and silently treats them as zero:
+ * https://gitlab.gnome.org/GNOME/gobject-introspection/-/merge_requests/366
+ */
+
+G_STATIC_ASSERT(G_PARAM_USER_SHIFT == 8);
+G_STATIC_ASSERT(NM_SETTING_PARAM_REQUIRED == (1 << (1 + G_PARAM_USER_SHIFT)));
+G_STATIC_ASSERT(NM_SETTING_PARAM_SECRET == (1 << (2 + G_PARAM_USER_SHIFT)));
+G_STATIC_ASSERT(NM_SETTING_PARAM_FUZZY_IGNORE == (1 << (3 + G_PARAM_USER_SHIFT)));
+
+/*****************************************************************************/
+
 typedef struct {
     GHashTable  *hash;
     const char **names;
@@ -3847,7 +3861,7 @@ nm_setting_option_clear_by_name(NMSetting *setting, NMUtilsPredicateStr predicat
  * Returns: (transfer none): the #GVariant or %NULL if the option
  *   is not set.
  *
- * Since: 1.26.
+ * Since: 1.26
  */
 GVariant *
 nm_setting_option_get(NMSetting *setting, const char *opt_name)
diff --git a/src/libnm-core-impl/nm-utils.c b/src/libnm-core-impl/nm-utils.c
index 3c4cbc65..1c6d36c2 100644
--- a/src/libnm-core-impl/nm-utils.c
+++ b/src/libnm-core-impl/nm-utils.c
@@ -147,7 +147,7 @@ nm_sock_addr_endpoint_new(const char *endpoint)
     gsize               i;
     gs_free char       *host_clone = NULL;
     const char         *host;
-    guint16             port;
+    guint16             port = 0;
 
     g_return_val_if_fail(endpoint, NULL);
 
@@ -1942,6 +1942,8 @@ next:
  * include additional attributes.
  *
  * Returns: (transfer none): a new floating #GVariant representing @addresses.
+ *
+ * Since: 1.42, 1.40.4
  **/
 GVariant *
 nm_utils_ip_addresses_to_variant(GPtrArray *addresses)
@@ -1995,6 +1997,8 @@ nm_utils_ip_addresses_to_variant(GPtrArray *addresses)
  *
  * Returns: (transfer full) (element-type NMIPAddress): a newly allocated
  *   #GPtrArray of #NMIPAddress objects
+ *
+ * Since: 1.42, 1.40.4
  **/
 GPtrArray *
 nm_utils_ip_addresses_from_variant(GVariant *value, int family)
@@ -2054,6 +2058,8 @@ nm_utils_ip_addresses_from_variant(GVariant *value, int family)
  * prefix, next hop, metric, and additional attributes).
  *
  * Returns: (transfer none): a new floating #GVariant representing @routes.
+ *
+ * Since: 1.42, 1.40.4
  **/
 GVariant *
 nm_utils_ip_routes_to_variant(GPtrArray *routes)
@@ -2120,6 +2126,8 @@ nm_utils_ip_routes_to_variant(GPtrArray *routes)
  *
  * Returns: (transfer full) (element-type NMIPRoute): a newly allocated
  *   #GPtrArray of #NMIPRoute objects
+ *
+ * Since: 1.42, 1.40.4
  **/
 GPtrArray *
 nm_utils_ip_routes_from_variant(GVariant *value, int family)
@@ -4314,6 +4322,8 @@ nm_utils_is_valid_iface_name_utf8safe(const char *utf8safe_name)
  *
  * Before 1.20, this function did not accept %NULL as @name argument. If you
  *   want to run against older versions of libnm, don't pass %NULL.
+ *
+ * Since: 1.6
  */
 gboolean
 nm_utils_is_valid_iface_name(const char *name, GError **error)
@@ -5249,7 +5259,7 @@ next:
     return g_steal_pointer(&ht);
 }
 
-/*
+/**
  * nm_utils_format_variant_attributes:
  * @attributes: (element-type utf8 GVariant): a #GHashTable mapping attribute names to #GVariant values
  * @attr_separator: the attribute separator character
@@ -5275,8 +5285,8 @@ nm_utils_format_variant_attributes(GHashTable *attributes,
 
 /*****************************************************************************/
 
-/*
- * nm_utils_get_timestamp_msec():
+/**
+ * nm_utils_get_timestamp_msec:
  *
  * Gets current time in milliseconds of CLOCK_BOOTTIME.
  *
@@ -5314,7 +5324,7 @@ nm_utils_get_timestamp_msec(void)
  * Returns: the version ID of the libnm version. That is, the %NM_VERSION
  *   at runtime.
  *
- * Since: 1.6.0
+ * Since: 1.6
  */
 guint
 nm_utils_version(void)
diff --git a/src/libnm-core-impl/nm-vpn-editor-plugin.c b/src/libnm-core-impl/nm-vpn-editor-plugin.c
index 225f25ef..3a6abbc2 100644
--- a/src/libnm-core-impl/nm-vpn-editor-plugin.c
+++ b/src/libnm-core-impl/nm-vpn-editor-plugin.c
@@ -470,8 +470,20 @@ nm_vpn_editor_plugin_import(NMVpnEditorPlugin *plugin, const char *path, GError
     g_return_val_if_fail(NM_IS_VPN_EDITOR_PLUGIN(plugin), NULL);
 
     if (nm_vpn_editor_plugin_get_capabilities(plugin) & NM_VPN_EDITOR_PLUGIN_CAPABILITY_IMPORT) {
+        gs_free_error GError *error2 = NULL;
+
         g_return_val_if_fail(NM_VPN_EDITOR_PLUGIN_GET_INTERFACE(plugin)->import_from_file != NULL,
                              NULL);
+
+        if (!error) {
+            /* Some VPN plugins crash if error argument is omitted. Work around that
+             * in libnm by always requesting an error.
+             *
+             * https://gitlab.gnome.org/GNOME/NetworkManager-vpnc/-/blob/c7d197477c94c5bae0396f0ef826db4d835e487d/properties/nm-vpnc-editor-plugin.c#L281
+             **/
+            error = &error2;
+        }
+
         return NM_VPN_EDITOR_PLUGIN_GET_INTERFACE(plugin)->import_from_file(plugin, path, error);
     }
 
diff --git a/src/libnm-core-impl/nm-vpn-plugin-info.c b/src/libnm-core-impl/nm-vpn-plugin-info.c
index 473063fb..baa19347 100644
--- a/src/libnm-core-impl/nm-vpn-plugin-info.c
+++ b/src/libnm-core-impl/nm-vpn-plugin-info.c
@@ -898,7 +898,7 @@ nm_vpn_plugin_info_get_program(NMVpnPluginInfo *self)
  *
  * Returns: %TRUE if the service supports multiple instances with different bus names, otherwise %FALSE
  *
- * Since: 1.2
+ * Since: 1.42, 1.40.4
  */
 gboolean
 nm_vpn_plugin_info_supports_multiple(NMVpnPluginInfo *self)
diff --git a/src/libnm-core-impl/tests/test-general.c b/src/libnm-core-impl/tests/test-general.c
index 64b3dca7..a21f50db 100644
--- a/src/libnm-core-impl/tests/test-general.c
+++ b/src/libnm-core-impl/tests/test-general.c
@@ -3139,6 +3139,9 @@ test_setting_new_from_dbus_bad(void)
                  NULL);
     nm_connection_add_setting(conn, setting);
 
+    /* Test assignment of same setting again. */
+    nm_connection_add_setting(conn, g_object_ref(setting));
+
     setting = nm_setting_wireless_new();
     ssid    = g_bytes_new("my-ssid", 7);
     g_object_set(setting,
diff --git a/src/libnm-core-impl/tests/test-setting.c b/src/libnm-core-impl/tests/test-setting.c
index 5bdae716..a4e3932a 100644
--- a/src/libnm-core-impl/tests/test-setting.c
+++ b/src/libnm-core-impl/tests/test-setting.c
@@ -5068,6 +5068,65 @@ test_6lowpan_1(void)
 
 /*****************************************************************************/
 
+static void
+test_bond_meta(void)
+{
+    gs_unref_object NMConnection *con = NULL;
+    NMSettingBond                *set;
+    char                          sbuf[200];
+
+    create_bond_connection(&con, &set);
+
+    g_assert_cmpstr(nm_setting_bond_get_option_normalized(set, NM_SETTING_BOND_OPTION_MODE),
+                    ==,
+                    "balance-rr");
+
+#define _A(_nm_setting_bond_opt_value_as_xxx, set, opt, value, errsv)                  \
+    G_STMT_START                                                                       \
+    {                                                                                  \
+        g_assert_cmpint(_nm_setting_bond_opt_value_as_xxx((set), (opt)), ==, (value)); \
+        g_assert_cmpint(errno, ==, (errsv));                                           \
+    }                                                                                  \
+    G_STMT_END
+
+    _A(_nm_setting_bond_opt_value_as_u32, set, NM_SETTING_BOND_OPTION_MIIMON, 100, 0);
+    _A(_nm_setting_bond_opt_value_as_u32, set, NM_SETTING_BOND_OPTION_UPDELAY, 0, 0);
+    _A(_nm_setting_bond_opt_value_as_u32, set, NM_SETTING_BOND_OPTION_DOWNDELAY, 0, 0);
+    _A(_nm_setting_bond_opt_value_as_u32, set, NM_SETTING_BOND_OPTION_ARP_INTERVAL, 0, 0);
+    _A(_nm_setting_bond_opt_value_as_u32, set, NM_SETTING_BOND_OPTION_RESEND_IGMP, 1, 0);
+    _A(_nm_setting_bond_opt_value_as_u32, set, NM_SETTING_BOND_OPTION_MIN_LINKS, 0, 0);
+    _A(_nm_setting_bond_opt_value_as_u32, set, NM_SETTING_BOND_OPTION_LP_INTERVAL, 1, 0);
+    _A(_nm_setting_bond_opt_value_as_u32, set, NM_SETTING_BOND_OPTION_PACKETS_PER_SLAVE, 1, 0);
+    _A(_nm_setting_bond_opt_value_as_u32, set, NM_SETTING_BOND_OPTION_PEER_NOTIF_DELAY, 0, 0);
+    _A(_nm_setting_bond_opt_value_as_u16, set, NM_SETTING_BOND_OPTION_AD_ACTOR_SYS_PRIO, 0, EINVAL);
+    _A(_nm_setting_bond_opt_value_as_u16, set, NM_SETTING_BOND_OPTION_AD_USER_PORT_KEY, 0, EINVAL);
+    _A(_nm_setting_bond_opt_value_as_u8, set, NM_SETTING_BOND_OPTION_NUM_GRAT_ARP, 1, 0);
+    _A(_nm_setting_bond_opt_value_as_u8, set, NM_SETTING_BOND_OPTION_ALL_SLAVES_ACTIVE, 0, 0);
+    _A(_nm_setting_bond_opt_value_as_intbool, set, NM_SETTING_BOND_OPTION_USE_CARRIER, 1, 0);
+    _A(_nm_setting_bond_opt_value_as_intbool,
+       set,
+       NM_SETTING_BOND_OPTION_TLB_DYNAMIC_LB,
+       0,
+       EINVAL);
+
+    nm_setting_bond_add_option(set, NM_SETTING_BOND_OPTION_ARP_INTERVAL, "5");
+    _A(_nm_setting_bond_opt_value_as_u32, set, NM_SETTING_BOND_OPTION_ARP_INTERVAL, 5, 0);
+
+    nm_setting_bond_add_option(set,
+                               NM_SETTING_BOND_OPTION_ARP_INTERVAL,
+                               nm_sprintf_buf(sbuf, "%d", G_MAXINT));
+    _A(_nm_setting_bond_opt_value_as_u32, set, NM_SETTING_BOND_OPTION_ARP_INTERVAL, G_MAXINT, 0);
+
+    nm_setting_bond_add_option(set, NM_SETTING_BOND_OPTION_MODE, "802.3ad");
+    _A(_nm_setting_bond_opt_value_as_u16, set, NM_SETTING_BOND_OPTION_AD_ACTOR_SYS_PRIO, 65535, 0);
+    _A(_nm_setting_bond_opt_value_as_u16, set, NM_SETTING_BOND_OPTION_AD_USER_PORT_KEY, 0, 0);
+
+    nm_setting_bond_add_option(set, NM_SETTING_BOND_OPTION_MODE, "balance-tlb");
+    _A(_nm_setting_bond_opt_value_as_intbool, set, NM_SETTING_BOND_OPTION_TLB_DYNAMIC_LB, 1, 0);
+}
+
+/*****************************************************************************/
+
 NMTST_DEFINE();
 
 int
@@ -5185,5 +5244,7 @@ main(int argc, char **argv)
 
     g_test_add_func("/libnm/test_setting_metadata", test_setting_metadata);
 
+    g_test_add_func("/libnm/test_bond_meta", test_bond_meta);
+
     return g_test_run();
 }
diff --git a/src/libnm-core-intern/nm-core-internal.h b/src/libnm-core-intern/nm-core-internal.h
index ee4cc25b..4e1bab47 100644
--- a/src/libnm-core-intern/nm-core-internal.h
+++ b/src/libnm-core-intern/nm-core-internal.h
@@ -517,9 +517,10 @@ NMConnectionMultiConnect _nm_connection_get_multi_connect(NMConnection *connecti
 
 gboolean _nm_setting_bond_option_supported(const char *option, NMBondMode mode);
 
-guint32 _nm_setting_bond_opt_value_as_u32(NMSettingBond *s_bond, const char *opt);
-guint16 _nm_setting_bond_opt_value_as_u16(NMSettingBond *s_bond, const char *opt);
 guint8  _nm_setting_bond_opt_value_as_u8(NMSettingBond *s_bond, const char *opt);
+guint16 _nm_setting_bond_opt_value_as_u16(NMSettingBond *s_bond, const char *opt);
+guint32 _nm_setting_bond_opt_value_as_u32(NMSettingBond *s_bond, const char *opt);
+bool    _nm_setting_bond_opt_value_as_intbool(NMSettingBond *s_bond, const char *opt);
 
 /*****************************************************************************/
 
diff --git a/src/libnm-core-public/nm-connection.h b/src/libnm-core-public/nm-connection.h
index 93061f25..47004ce8 100644
--- a/src/libnm-core-public/nm-connection.h
+++ b/src/libnm-core-public/nm-connection.h
@@ -220,12 +220,13 @@ NMSettingMacsec *nm_connection_get_setting_macsec(NMConnection *connection);
 NM_AVAILABLE_IN_1_2
 NMSettingMacvlan  *nm_connection_get_setting_macvlan(NMConnection *connection);
 NMSettingOlpcMesh *nm_connection_get_setting_olpc_mesh(NMConnection *connection);
-NM_AVAILABLE_IN_1_10
+NM_AVAILABLE_IN_1_14
 NMSettingOvsBridge *nm_connection_get_setting_ovs_bridge(NMConnection *connection);
-NM_AVAILABLE_IN_1_10
+NM_AVAILABLE_IN_1_14
 NMSettingOvsInterface *nm_connection_get_setting_ovs_interface(NMConnection *connection);
-NMSettingOvsPatch     *nm_connection_get_setting_ovs_patch(NMConnection *connection);
-NM_AVAILABLE_IN_1_10
+NM_AVAILABLE_IN_1_14
+NMSettingOvsPatch *nm_connection_get_setting_ovs_patch(NMConnection *connection);
+NM_AVAILABLE_IN_1_14
 NMSettingOvsPort *nm_connection_get_setting_ovs_port(NMConnection *connection);
 NMSettingPpp     *nm_connection_get_setting_ppp(NMConnection *connection);
 NMSettingPppoe   *nm_connection_get_setting_pppoe(NMConnection *connection);
@@ -234,7 +235,7 @@ NMSettingProxy  *nm_connection_get_setting_proxy(NMConnection *connection);
 NMSettingSerial *nm_connection_get_setting_serial(NMConnection *connection);
 NM_AVAILABLE_IN_1_12
 NMSettingTCConfig *nm_connection_get_setting_tc_config(NMConnection *connection);
-NM_AVAILABLE_IN_1_2
+NM_AVAILABLE_IN_1_14
 NMSettingTun              *nm_connection_get_setting_tun(NMConnection *connection);
 NMSettingVpn              *nm_connection_get_setting_vpn(NMConnection *connection);
 NMSettingWimax            *nm_connection_get_setting_wimax(NMConnection *connection);
diff --git a/src/libnm-core-public/nm-dbus-interface.h b/src/libnm-core-public/nm-dbus-interface.h
index 4557dde0..6e1a84a1 100644
--- a/src/libnm-core-public/nm-dbus-interface.h
+++ b/src/libnm-core-public/nm-dbus-interface.h
@@ -103,6 +103,8 @@
  * The range 0x7000 - 0x7FFF of capabilities is guaranteed not to be
  * used by upstream NetworkManager. It could thus be used for downstream
  * extensions.
+ *
+ * Since: 1.6
  */
 typedef enum {
     NM_CAPABILITY_TEAM = 1,
@@ -967,7 +969,7 @@ typedef enum {
  *
  * The flags for CheckpointCreate call
  *
- * Since: 1.4 (gi flags generated since 1.12)
+ * Since: 1.12 (public since 1.4, g-ir since 1.12)
  */
 typedef enum /*< flags >*/ {
     NM_CHECKPOINT_CREATE_FLAG_NONE                       = 0,
diff --git a/src/libnm-core-public/nm-dbus-types.xml b/src/libnm-core-public/nm-dbus-types.xml
index cb72820d..52ac4981 100644
--- a/src/libnm-core-public/nm-dbus-types.xml
+++ b/src/libnm-core-public/nm-dbus-types.xml
@@ -18,7 +18,7 @@
     <indexterm zone="NMCapability">
       <primary>NMCapability</primary>
     </indexterm>
-    <para><para><link linkend="NMCapability">NMCapability</link> names the numbers in the Capabilities property. Capabilities are positive numbers. They are part of stable API and a certain capability number is guaranteed not to change.</para><para>The range 0x7000 - 0x7FFF of capabilities is guaranteed not to be used by upstream NetworkManager. It could thus be used for downstream extensions.</para><para></para></para>
+    <para><para><link linkend="NMCapability">NMCapability</link> names the numbers in the Capabilities property. Capabilities are positive numbers. They are part of stable API and a certain capability number is guaranteed not to change.</para><para>The range 0x7000 - 0x7FFF of capabilities is guaranteed not to be used by upstream NetworkManager. It could thus be used for downstream extensions.</para><para>Since: 1.6</para><para></para></para>
     <refsect3 role="enum_members">
       <title>Values</title>
       <informaltable role="enum_members_table" pgwide="1" frame="none">
@@ -1613,7 +1613,7 @@
     <indexterm zone="NMCheckpointCreateFlags">
       <primary>NMCheckpointCreateFlags</primary>
     </indexterm>
-    <para><para>The flags for CheckpointCreate call</para><para>Since: 1.4 (gi flags generated since 1.12)</para><para></para></para>
+    <para><para>The flags for CheckpointCreate call</para><para>Since: 1.12 (public since 1.4, g-ir since 1.12)</para><para></para></para>
     <refsect3 role="enum_members">
       <title>Values</title>
       <informaltable role="enum_members_table" pgwide="1" frame="none">
diff --git a/src/libnm-core-public/nm-setting-6lowpan.h b/src/libnm-core-public/nm-setting-6lowpan.h
index 358ccff6..ab2f7b44 100644
--- a/src/libnm-core-public/nm-setting-6lowpan.h
+++ b/src/libnm-core-public/nm-setting-6lowpan.h
@@ -33,10 +33,10 @@ typedef struct _NMSetting6LowpanClass NMSetting6LowpanClass;
 
 NM_AVAILABLE_IN_1_14
 GType nm_setting_6lowpan_get_type(void);
-NM_AVAILABLE_IN_1_14
+NM_AVAILABLE_IN_1_40_4
 NMSetting *nm_setting_6lowpan_new(void);
 
-NM_AVAILABLE_IN_1_14
+NM_AVAILABLE_IN_1_40_4
 const char *nm_setting_6lowpan_get_parent(NMSetting6Lowpan *setting);
 
 G_END_DECLS
diff --git a/src/libnm-core-public/nm-setting-connection.h b/src/libnm-core-public/nm-setting-connection.h
index 4b6ce17c..4f6653bf 100644
--- a/src/libnm-core-public/nm-setting-connection.h
+++ b/src/libnm-core-public/nm-setting-connection.h
@@ -73,6 +73,8 @@ G_BEGIN_DECLS
  *
  * #NMSettingConnectionAutoconnectSlaves values indicate whether slave connections
  * should be activated when master is activated.
+ *
+ * Since: 1.2
  */
 typedef enum {
     NM_SETTING_CONNECTION_AUTOCONNECT_SLAVES_DEFAULT = -1,
@@ -87,6 +89,8 @@ typedef enum {
  * @NM_SETTING_CONNECTION_LLDP_ENABLE_RX: enable reception of LLDP frames
  *
  * #NMSettingConnectionLldp values indicate whether LLDP should be enabled.
+ *
+ * Since: 1.2
  */
 typedef enum {
     NM_SETTING_CONNECTION_LLDP_DEFAULT   = -1,
@@ -217,7 +221,7 @@ NMSettingConnectionLlmnr nm_setting_connection_get_llmnr(NMSettingConnection *se
 NM_AVAILABLE_IN_1_34
 NMSettingConnectionDnsOverTls nm_setting_connection_get_dns_over_tls(NMSettingConnection *setting);
 
-NM_AVAILABLE_IN_1_40
+NM_AVAILABLE_IN_1_40_4
 NMMptcpFlags nm_setting_connection_get_mptcp_flags(NMSettingConnection *setting);
 
 NM_AVAILABLE_IN_1_20
diff --git a/src/libnm-core-public/nm-setting-hostname.h b/src/libnm-core-public/nm-setting-hostname.h
index f93e0efe..3fb71197 100644
--- a/src/libnm-core-public/nm-setting-hostname.h
+++ b/src/libnm-core-public/nm-setting-hostname.h
@@ -36,7 +36,7 @@ typedef struct _NMSettingHostnameClass NMSettingHostnameClass;
 
 NM_AVAILABLE_IN_1_30
 GType nm_setting_hostname_get_type(void);
-NM_AVAILABLE_IN_1_30
+NM_AVAILABLE_IN_1_40_4
 NMSetting *nm_setting_hostname_new(void);
 
 NM_AVAILABLE_IN_1_30
diff --git a/src/libnm-core-public/nm-setting-ip-config.h b/src/libnm-core-public/nm-setting-ip-config.h
index 6283ecc9..acbdec0f 100644
--- a/src/libnm-core-public/nm-setting-ip-config.h
+++ b/src/libnm-core-public/nm-setting-ip-config.h
@@ -480,7 +480,7 @@ NM_AVAILABLE_IN_1_2
 int nm_setting_ip_config_get_dhcp_timeout(NMSettingIPConfig *setting);
 NM_AVAILABLE_IN_1_34
 int nm_setting_ip_config_get_required_timeout(NMSettingIPConfig *setting);
-NM_AVAILABLE_IN_1_22
+NM_AVAILABLE_IN_1_40_4
 const char *nm_setting_ip_config_get_dhcp_iaid(NMSettingIPConfig *setting);
 
 NM_AVAILABLE_IN_1_22
diff --git a/src/libnm-core-public/nm-setting-ip-tunnel.h b/src/libnm-core-public/nm-setting-ip-tunnel.h
index 34920099..62472f11 100644
--- a/src/libnm-core-public/nm-setting-ip-tunnel.h
+++ b/src/libnm-core-public/nm-setting-ip-tunnel.h
@@ -43,7 +43,7 @@ G_BEGIN_DECLS
 
 typedef struct _NMSettingIPTunnelClass NMSettingIPTunnelClass;
 
-/*
+/**
  * NMIPTunnelFlags:
  * @NM_IP_TUNNEL_FLAG_NONE: no flag
  * @NM_IP_TUNNEL_FLAG_IP6_IGN_ENCAP_LIMIT: don't add encapsulation limit
@@ -94,9 +94,9 @@ NM_AVAILABLE_IN_1_2
 const char *nm_setting_ip_tunnel_get_input_key(NMSettingIPTunnel *setting);
 NM_AVAILABLE_IN_1_2
 const char *nm_setting_ip_tunnel_get_output_key(NMSettingIPTunnel *setting);
-NM_AVAILABLE_IN_1_2
+NM_AVAILABLE_IN_1_40_4
 guint nm_setting_ip_tunnel_get_encapsulation_limit(NMSettingIPTunnel *setting);
-NM_AVAILABLE_IN_1_2
+NM_AVAILABLE_IN_1_40_4
 guint nm_setting_ip_tunnel_get_flow_label(NMSettingIPTunnel *setting);
 NM_AVAILABLE_IN_1_2
 guint nm_setting_ip_tunnel_get_mtu(NMSettingIPTunnel *setting);
diff --git a/src/libnm-core-public/nm-setting-ip4-config.h b/src/libnm-core-public/nm-setting-ip4-config.h
index 7991d682..66c457b9 100644
--- a/src/libnm-core-public/nm-setting-ip4-config.h
+++ b/src/libnm-core-public/nm-setting-ip4-config.h
@@ -113,7 +113,7 @@ const char *nm_setting_ip4_config_get_dhcp_fqdn(NMSettingIP4Config *setting);
 NM_AVAILABLE_IN_1_28
 const char *nm_setting_ip4_config_get_dhcp_vendor_class_identifier(NMSettingIP4Config *setting);
 
-NM_AVAILABLE_IN_1_40
+NM_AVAILABLE_IN_1_40_4
 NMSettingIP4LinkLocal nm_setting_ip4_config_get_link_local(NMSettingIP4Config *setting);
 
 G_END_DECLS
diff --git a/src/libnm-core-public/nm-setting-macvlan.h b/src/libnm-core-public/nm-setting-macvlan.h
index 88ee81e7..25c41346 100644
--- a/src/libnm-core-public/nm-setting-macvlan.h
+++ b/src/libnm-core-public/nm-setting-macvlan.h
@@ -42,6 +42,8 @@ typedef struct _NMSettingMacvlanClass NMSettingMacvlanClass;
  * @NM_SETTING_MACVLAN_MODE_PRIVATE: private mode
  * @NM_SETTING_MACVLAN_MODE_PASSTHRU: passthru mode
  * @NM_SETTING_MACVLAN_MODE_SOURCE: source mode
+ *
+ * Since: 1.2
  **/
 typedef enum {
     NM_SETTING_MACVLAN_MODE_UNKNOWN  = 0,
diff --git a/src/libnm-core-public/nm-setting-ovs-bridge.h b/src/libnm-core-public/nm-setting-ovs-bridge.h
index 33e8dffb..bc7d7e9b 100644
--- a/src/libnm-core-public/nm-setting-ovs-bridge.h
+++ b/src/libnm-core-public/nm-setting-ovs-bridge.h
@@ -49,7 +49,7 @@ NM_AVAILABLE_IN_1_10
 gboolean nm_setting_ovs_bridge_get_rstp_enable(NMSettingOvsBridge *self);
 NM_AVAILABLE_IN_1_10
 gboolean nm_setting_ovs_bridge_get_stp_enable(NMSettingOvsBridge *self);
-NM_AVAILABLE_IN_1_20
+NM_AVAILABLE_IN_1_40_4
 const char *nm_setting_ovs_bridge_get_datapath_type(NMSettingOvsBridge *self);
 
 G_END_DECLS
diff --git a/src/libnm-core-public/nm-setting-sriov.h b/src/libnm-core-public/nm-setting-sriov.h
index 93afde98..0438e800 100644
--- a/src/libnm-core-public/nm-setting-sriov.h
+++ b/src/libnm-core-public/nm-setting-sriov.h
@@ -109,7 +109,7 @@ NM_AVAILABLE_IN_1_14
 const char **nm_sriov_vf_get_attribute_names(const NMSriovVF *vf);
 NM_AVAILABLE_IN_1_14
 GVariant *nm_sriov_vf_get_attribute(const NMSriovVF *vf, const char *name);
-NM_AVAILABLE_IN_1_14
+NM_AVAILABLE_IN_1_40_4
 gboolean
 nm_sriov_vf_attribute_validate(const char *name, GVariant *value, gboolean *known, GError **error);
 
diff --git a/src/libnm-core-public/nm-setting-tc-config.h b/src/libnm-core-public/nm-setting-tc-config.h
index abd61683..ab1a9909 100644
--- a/src/libnm-core-public/nm-setting-tc-config.h
+++ b/src/libnm-core-public/nm-setting-tc-config.h
@@ -102,9 +102,9 @@ NM_AVAILABLE_IN_1_12
 void nm_tc_tfilter_set_handle(NMTCTfilter *tfilter, guint32 handle);
 NM_AVAILABLE_IN_1_12
 guint32 nm_tc_tfilter_get_parent(NMTCTfilter *tfilter);
-NM_AVAILABLE_IN_1_12
+NM_AVAILABLE_IN_1_40_4
 NMTCAction *nm_tc_tfilter_get_action(NMTCTfilter *tfilter);
-NM_AVAILABLE_IN_1_12
+NM_AVAILABLE_IN_1_40_4
 void nm_tc_tfilter_set_action(NMTCTfilter *tfilter, NMTCAction *action);
 
 #define NM_TYPE_SETTING_TC_CONFIG (nm_setting_tc_config_get_type())
diff --git a/src/libnm-core-public/nm-setting-team.h b/src/libnm-core-public/nm-setting-team.h
index 63df4080..2e16ee20 100644
--- a/src/libnm-core-public/nm-setting-team.h
+++ b/src/libnm-core-public/nm-setting-team.h
@@ -25,6 +25,8 @@ G_BEGIN_DECLS
  *    option 'validate_inactive' is enabled (set to true).
  * @NM_TEAM_LINK_WATCHER_ARP_PING_FLAG_SEND_ALWAYS: the arp_ping link watcher option
  *    'send_always' is enabled (set to true).
+ *
+ * Since: 1.12
  */
 typedef enum /*< flags >*/ {
     NM_TEAM_LINK_WATCHER_ARP_PING_FLAG_NONE              = 0, /*< skip >*/
diff --git a/src/libnm-core-public/nm-setting-tun.h b/src/libnm-core-public/nm-setting-tun.h
index 8f808410..3575c644 100644
--- a/src/libnm-core-public/nm-setting-tun.h
+++ b/src/libnm-core-public/nm-setting-tun.h
@@ -39,6 +39,8 @@ G_BEGIN_DECLS
  * @NM_SETTING_TUN_MODE_TAP: a TAP device
  *
  * #NMSettingTunMode values indicate the device type (TUN/TAP)
+ *
+ * Since: 1.2
  */
 typedef enum {
     NM_SETTING_TUN_MODE_UNKNOWN = 0,
diff --git a/src/libnm-core-public/nm-setting-vpn.h b/src/libnm-core-public/nm-setting-vpn.h
index 151a293a..a00fa975 100644
--- a/src/libnm-core-public/nm-setting-vpn.h
+++ b/src/libnm-core-public/nm-setting-vpn.h
@@ -49,7 +49,9 @@ GType nm_setting_vpn_get_type(void);
 NMSetting  *nm_setting_vpn_new(void);
 const char *nm_setting_vpn_get_service_type(NMSettingVpn *setting);
 const char *nm_setting_vpn_get_user_name(NMSettingVpn *setting);
-gboolean    nm_setting_vpn_get_persistent(NMSettingVpn *setting);
+
+NM_AVAILABLE_IN_1_40_4
+gboolean nm_setting_vpn_get_persistent(NMSettingVpn *setting);
 
 guint32     nm_setting_vpn_get_num_data_items(NMSettingVpn *setting);
 void        nm_setting_vpn_add_data_item(NMSettingVpn *setting, const char *key, const char *item);
diff --git a/src/libnm-core-public/nm-setting-wireless-security.h b/src/libnm-core-public/nm-setting-wireless-security.h
index e564204b..b9fea123 100644
--- a/src/libnm-core-public/nm-setting-wireless-security.h
+++ b/src/libnm-core-public/nm-setting-wireless-security.h
@@ -74,6 +74,8 @@ typedef enum {
  * @NM_SETTING_WIRELESS_SECURITY_PMF_REQUIRED: require PMF and fail if not available
  *
  * These flags indicate whether PMF must be enabled.
+ *
+ * Since: 1.10
  **/
 typedef enum {
     NM_SETTING_WIRELESS_SECURITY_PMF_DEFAULT  = 0,
diff --git a/src/libnm-core-public/nm-setting-wireless.h b/src/libnm-core-public/nm-setting-wireless.h
index 1f94060c..bb158112 100644
--- a/src/libnm-core-public/nm-setting-wireless.h
+++ b/src/libnm-core-public/nm-setting-wireless.h
@@ -132,6 +132,8 @@ typedef enum /*< flags >*/ {
  * @NM_SETTING_WIRELESS_POWERSAVE_ENABLE: enable powersave
  *
  * These flags indicate whether wireless powersave must be enabled.
+ *
+ * Since: 1.2
  **/
 typedef enum {
     NM_SETTING_WIRELESS_POWERSAVE_DEFAULT = 0,
diff --git a/src/libnm-core-public/nm-setting-wpan.h b/src/libnm-core-public/nm-setting-wpan.h
index 883b77e1..934ab196 100644
--- a/src/libnm-core-public/nm-setting-wpan.h
+++ b/src/libnm-core-public/nm-setting-wpan.h
@@ -38,18 +38,18 @@ typedef struct _NMSettingWpanClass NMSettingWpanClass;
 
 NM_AVAILABLE_IN_1_14
 GType nm_setting_wpan_get_type(void);
-NM_AVAILABLE_IN_1_14
+NM_AVAILABLE_IN_1_40_4
 NMSetting *nm_setting_wpan_new(void);
 
-NM_AVAILABLE_IN_1_14
+NM_AVAILABLE_IN_1_40_4
 const char *nm_setting_wpan_get_mac_address(NMSettingWpan *setting);
-NM_AVAILABLE_IN_1_14
+NM_AVAILABLE_IN_1_40_4
 guint16 nm_setting_wpan_get_pan_id(NMSettingWpan *setting);
-NM_AVAILABLE_IN_1_14
+NM_AVAILABLE_IN_1_40_4
 guint16 nm_setting_wpan_get_short_address(NMSettingWpan *setting);
-NM_AVAILABLE_IN_1_16
+NM_AVAILABLE_IN_1_40_4
 gint16 nm_setting_wpan_get_page(NMSettingWpan *setting);
-NM_AVAILABLE_IN_1_16
+NM_AVAILABLE_IN_1_40_4
 gint16 nm_setting_wpan_get_channel(NMSettingWpan *setting);
 
 G_END_DECLS
diff --git a/src/libnm-core-public/nm-setting.h b/src/libnm-core-public/nm-setting.h
index ee2076c3..ae898458 100644
--- a/src/libnm-core-public/nm-setting.h
+++ b/src/libnm-core-public/nm-setting.h
@@ -24,15 +24,15 @@ G_BEGIN_DECLS
     (G_TYPE_INSTANCE_GET_CLASS((obj), NM_TYPE_SETTING, NMSettingClass))
 
 /* The property of the #NMSetting is required for the setting to be valid */
-#define NM_SETTING_PARAM_REQUIRED (1 << (1 + G_PARAM_USER_SHIFT))
+#define NM_SETTING_PARAM_REQUIRED 0x200
 
 /* The property of the #NMSetting is a secret */
-#define NM_SETTING_PARAM_SECRET (1 << (2 + G_PARAM_USER_SHIFT))
+#define NM_SETTING_PARAM_SECRET 0x400
 
 /* The property of the #NMSetting should be ignored during comparisons that
  * use the %NM_SETTING_COMPARE_FLAG_FUZZY flag.
  */
-#define NM_SETTING_PARAM_FUZZY_IGNORE (1 << (3 + G_PARAM_USER_SHIFT))
+#define NM_SETTING_PARAM_FUZZY_IGNORE 0x800
 
 /* Note: all non-glib GParamFlags bits are reserved by NetworkManager */
 
@@ -122,6 +122,8 @@ typedef enum {
  * @NM_SETTING_MAC_RANDOMIZATION_ALWAYS: a random MAC address is used.
  *
  * Controls if and how the MAC address of a device is randomzied.
+ *
+ * Since: 1.2
  **/
 typedef enum {
     NM_SETTING_MAC_RANDOMIZATION_DEFAULT = 0,
diff --git a/src/libnm-core-public/nm-utils.h b/src/libnm-core-public/nm-utils.h
index 5faed75a..dc89f234 100644
--- a/src/libnm-core-public/nm-utils.h
+++ b/src/libnm-core-public/nm-utils.h
@@ -104,9 +104,13 @@ GPtrArray *nm_utils_ip6_addresses_from_variant(GVariant *value, char **out_gatew
 GVariant  *nm_utils_ip6_routes_to_variant(GPtrArray *routes);
 GPtrArray *nm_utils_ip6_routes_from_variant(GVariant *value);
 
-GVariant  *nm_utils_ip_addresses_to_variant(GPtrArray *addresses);
+NM_AVAILABLE_IN_1_40_4
+GVariant *nm_utils_ip_addresses_to_variant(GPtrArray *addresses);
+NM_AVAILABLE_IN_1_40_4
 GPtrArray *nm_utils_ip_addresses_from_variant(GVariant *value, int family);
-GVariant  *nm_utils_ip_routes_to_variant(GPtrArray *routes);
+NM_AVAILABLE_IN_1_40_4
+GVariant *nm_utils_ip_routes_to_variant(GPtrArray *routes);
+NM_AVAILABLE_IN_1_40_4
 GPtrArray *nm_utils_ip_routes_from_variant(GVariant *value, int family);
 
 char *nm_utils_uuid_generate(void);
diff --git a/src/libnm-core-public/nm-version-macros.h b/src/libnm-core-public/nm-version-macros.h
index acf84ddd..04fce5df 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 (0)
+#define NM_MICRO_VERSION (6)
 
 /**
  * NM_CHECK_VERSION:
@@ -72,6 +72,7 @@
 #define NM_VERSION_1_36   (NM_ENCODE_VERSION (1, 36, 0))
 #define NM_VERSION_1_38   (NM_ENCODE_VERSION (1, 38, 0))
 #define NM_VERSION_1_40   (NM_ENCODE_VERSION (1, 40, 0))
+#define NM_VERSION_1_40_4 (NM_ENCODE_VERSION (1, 40, 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 07e79899..fc854aef 100644
--- a/src/libnm-core-public/nm-version-macros.h.in
+++ b/src/libnm-core-public/nm-version-macros.h.in
@@ -72,6 +72,7 @@
 #define NM_VERSION_1_36   (NM_ENCODE_VERSION (1, 36, 0))
 #define NM_VERSION_1_38   (NM_ENCODE_VERSION (1, 38, 0))
 #define NM_VERSION_1_40   (NM_ENCODE_VERSION (1, 40, 0))
+#define NM_VERSION_1_40_4 (NM_ENCODE_VERSION (1, 40, 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 9f6e3e78..d9f9a121 100644
--- a/src/libnm-core-public/nm-version.h
+++ b/src/libnm-core-public/nm-version.h
@@ -341,6 +341,12 @@
 #define NM_AVAILABLE_IN_1_40
 #endif
 
+#if NM_VERSION_MAX_ALLOWED < NM_VERSION_1_40_4
+#define NM_AVAILABLE_IN_1_40_4 G_UNAVAILABLE(1, 40.4)
+#else
+#define NM_AVAILABLE_IN_1_40_4
+#endif
+
 /*
  * Synchronous API for calling D-Bus in libnm is deprecated. See
  * https://networkmanager.dev/docs/libnm/latest/usage.html#sync-api
diff --git a/src/libnm-core-public/nm-vpn-plugin-info.h b/src/libnm-core-public/nm-vpn-plugin-info.h
index aa319a57..167af52c 100644
--- a/src/libnm-core-public/nm-vpn-plugin-info.h
+++ b/src/libnm-core-public/nm-vpn-plugin-info.h
@@ -62,7 +62,7 @@ NM_AVAILABLE_IN_1_4
 const char *nm_vpn_plugin_info_get_auth_dialog(NMVpnPluginInfo *self);
 NM_AVAILABLE_IN_1_4
 gboolean nm_vpn_plugin_info_supports_hints(NMVpnPluginInfo *self);
-NM_AVAILABLE_IN_1_2
+NM_AVAILABLE_IN_1_40_4
 gboolean nm_vpn_plugin_info_supports_multiple(NMVpnPluginInfo *self);
 NM_AVAILABLE_IN_1_4
 const char *const *nm_vpn_plugin_info_get_aliases(NMVpnPluginInfo *self);
diff --git a/src/libnm-glib-aux/nm-keyfile-aux.c b/src/libnm-glib-aux/nm-keyfile-aux.c
index 1cae28b4..20a4690f 100644
--- a/src/libnm-glib-aux/nm-keyfile-aux.c
+++ b/src/libnm-glib-aux/nm-keyfile-aux.c
@@ -442,7 +442,7 @@ nm_key_file_db_prune(NMKeyFileDB *self,
     _LOGD("prune keyfile of old entries: \"%s\"", self->filename);
 
     if (!self->groups_pruned) {
-        /* When we prune the first time, we swap the GKeyfile instance.
+        /* 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.
          *
diff --git a/src/libnm-glib-aux/nm-shared-utils.c b/src/libnm-glib-aux/nm-shared-utils.c
index 624f9a3e..d0885477 100644
--- a/src/libnm-glib-aux/nm-shared-utils.c
+++ b/src/libnm-glib-aux/nm-shared-utils.c
@@ -6621,19 +6621,38 @@ nm_crypto_md5_hash(const guint8 *salt,
 
 /*****************************************************************************/
 
-char *
-nm_utils_get_process_exit_status_desc(int status)
+const char *
+nm_utils_get_process_exit_status_desc_buf(int status, char *buf, gsize buf_len)
 {
+    const char *buf0 = buf;
+
+    nm_assert(buf_len == 0 || buf);
+
+    /* This should give a partial sentence, it it can be combined with
+     * prinft("command XYZ %s.\n", desc) */
+
     if (WIFEXITED(status))
-        return g_strdup_printf("exited with status %d", WEXITSTATUS(status));
+        nm_strbuf_append(&buf, &buf_len, "exited with status %d", WEXITSTATUS(status));
     else if (WIFSIGNALED(status))
-        return g_strdup_printf("killed by signal %d", WTERMSIG(status));
+        nm_strbuf_append(&buf, &buf_len, "killed by signal %d", WTERMSIG(status));
     else if (WIFSTOPPED(status))
-        return g_strdup_printf("stopped by signal %d", WSTOPSIG(status));
+        nm_strbuf_append(&buf, &buf_len, "stopped by signal %d", WSTOPSIG(status));
     else if (WIFCONTINUED(status))
-        return g_strdup("resumed by SIGCONT)");
+        nm_strbuf_append(&buf, &buf_len, "resumed by SIGCONT");
     else
-        return g_strdup_printf("exited with unknown status 0x%x", status);
+        nm_strbuf_append(&buf, &buf_len, "exited with unknown status 0x%x", status);
+
+    return buf0;
+}
+
+char *
+nm_utils_get_process_exit_status_desc(int status)
+{
+    char buf[NM_UTILS_GET_PROCESS_EXIT_STATUS_BUF_LEN];
+
+    nm_utils_get_process_exit_status_desc_buf(status, buf, sizeof(buf));
+
+    return g_strdup(buf);
 }
 
 /*****************************************************************************/
diff --git a/src/libnm-glib-aux/nm-shared-utils.h b/src/libnm-glib-aux/nm-shared-utils.h
index 3d8eaced..fe7c59f3 100644
--- a/src/libnm-glib-aux/nm-shared-utils.h
+++ b/src/libnm-glib-aux/nm-shared-utils.h
@@ -809,6 +809,8 @@ gssize _nm_strv_find_first(const char *const *list, gssize len, const char *need
 #define nm_strv_find_first(list, len, needle) \
     _nm_strv_find_first(NM_CAST_STRV_CC(list), (len), (needle))
 
+#define nm_strv_contains(list, len, needle) (nm_strv_find_first((list), (len), (needle)) >= 0)
+
 gboolean nm_strv_has_duplicate(const char *const *list, gssize len, gboolean is_sorted);
 
 const char **nm_strv_cleanup_const(const char **strv, gboolean skip_empty, gboolean skip_repeated);
@@ -1318,6 +1320,8 @@ typedef enum {
     NM_UTILS_ERROR_INVALID_ARGUMENT,    /*< nick=InvalidArgument >*/
     NM_UTILS_ERROR_NOT_READY,           /*< nick=NotReady >*/
 
+    NM_UTILS_ERROR_COMMAND_FAILED, /*< nick=CommandFailed >*/
+
     NM_UTILS_ERROR_AMBIGUOUS, /*< nick=Ambiguous >*/
 
     /* the following codes have a special meaning and are exactly used for
@@ -3403,6 +3407,10 @@ void nm_crypto_md5_hash(const guint8 *salt,
 
 /*****************************************************************************/
 
+#define NM_UTILS_GET_PROCESS_EXIT_STATUS_BUF_LEN 41
+
+const char *nm_utils_get_process_exit_status_desc_buf(int status, char *buf, gsize buf_len);
+
 char *nm_utils_get_process_exit_status_desc(int status);
 
 gboolean nm_utils_validate_hostname(const char *hostname);
diff --git a/src/libnm-glib-aux/nm-str-buf.h b/src/libnm-glib-aux/nm-str-buf.h
index 652bc96b..e8b51208 100644
--- a/src/libnm-glib-aux/nm-str-buf.h
+++ b/src/libnm-glib-aux/nm-str-buf.h
@@ -78,14 +78,14 @@ NM_STR_BUF_INIT(gsize allocated, gboolean do_bzero_mem)
             ? (size)                                                                        \
             : 0,                                                                            \
         FALSE,                                                                              \
-        (do_bzero_mem));
+        (do_bzero_mem))
 
 #define NM_STR_BUF_INIT_ARR(arr, do_bzero_mem)                                                    \
     NM_STR_BUF_INIT_FULL((arr),                                                                   \
                          0,                                                                       \
                          NM_STATIC_ASSERT_EXPR_1(sizeof(arr) > sizeof(char *)) ? sizeof(arr) : 0, \
                          FALSE,                                                                   \
-                         (do_bzero_mem));
+                         (do_bzero_mem))
 
 void _nm_str_buf_ensure_size(NMStrBuf *strbuf, gsize new_size, gboolean reserve_exact);
 
@@ -530,7 +530,10 @@ nm_str_buf_finalize(NMStrBuf *strbuf, gsize *out_len)
         char *str = g_steal_pointer(&strbuf->_priv_str);
         char *result;
 
-        result = g_strndup(str, strbuf->_priv_len);
+        result = g_new(char, strbuf->_priv_len + 1u);
+        memcpy(result, str, strbuf->_priv_len);
+        result[strbuf->_priv_len] = '\0';
+
         if (strbuf->_priv_do_bzero_mem)
             nm_explicit_bzero(str, strbuf->_priv_len);
         return result;
diff --git a/src/libnm-glib-aux/tests/test-shared-general.c b/src/libnm-glib-aux/tests/test-shared-general.c
index 7d36d64a..cfe70b58 100644
--- a/src/libnm-glib-aux/tests/test-shared-general.c
+++ b/src/libnm-glib-aux/tests/test-shared-general.c
@@ -970,6 +970,16 @@ test_nm_str_buf(void)
         } else
             g_assert(stack_buf != nm_str_buf_get_str(&strbuf));
     }
+
+    {
+        nm_auto_str_buf NMStrBuf s1  = NM_STR_BUF_INIT_A(10, nmtst_get_rand_bool());
+        gs_free char            *str = NULL;
+        gsize                    l;
+
+        nm_str_buf_append_len(&s1, "a\0b", 3);
+        str = nm_str_buf_finalize(&s1, &l);
+        g_assert_cmpmem(str, l + 1, "a\0b", 4);
+    }
 }
 
 /*****************************************************************************/
diff --git a/src/libnm-platform/nm-linux-platform.c b/src/libnm-platform/nm-linux-platform.c
index cd685fe2..eb7c671b 100644
--- a/src/libnm-platform/nm-linux-platform.c
+++ b/src/libnm-platform/nm-linux-platform.c
@@ -1589,11 +1589,8 @@ _parse_lnk_bond(const char *kind, struct nlattr *info_data)
 
     if (tb[IFLA_BOND_MODE])
         props->mode = nla_get_u8(tb[IFLA_BOND_MODE]);
-    if (tb[IFLA_BOND_PRIMARY]) {
-        props->primary = nla_get_u32(tb[IFLA_BOND_PRIMARY]);
-    } else if (tb[IFLA_BOND_ACTIVE_SLAVE]) {
-        props->primary = nla_get_u32(tb[IFLA_BOND_ACTIVE_SLAVE]);
-    }
+    if (tb[IFLA_BOND_PRIMARY])
+        props->primary = NM_CLAMP((int) nla_get_u32(tb[IFLA_BOND_PRIMARY]), 0, G_MAXINT);
     if (tb[IFLA_BOND_MIIMON]) {
         props->miimon     = nla_get_u32(tb[IFLA_BOND_MIIMON]);
         props->miimon_has = TRUE;
@@ -1631,12 +1628,8 @@ _parse_lnk_bond(const char *kind, struct nlattr *info_data)
     }
     if (tb[IFLA_BOND_ARP_VALIDATE])
         props->arp_validate = nla_get_u32(tb[IFLA_BOND_ARP_VALIDATE]);
-    if (tb[IFLA_BOND_ARP_ALL_TARGETS]) {
-        props->arp_all_targets     = nla_get_u32(tb[IFLA_BOND_ARP_ALL_TARGETS]);
-        props->arp_all_targets_has = TRUE;
-    } else {
-        props->arp_all_targets_has = FALSE;
-    }
+    if (tb[IFLA_BOND_ARP_ALL_TARGETS])
+        props->arp_all_targets = nla_get_u32(tb[IFLA_BOND_ARP_ALL_TARGETS]);
     if (tb[IFLA_BOND_PRIMARY_RESELECT])
         props->primary_reselect = nla_get_u8(tb[IFLA_BOND_PRIMARY_RESELECT]);
     if (tb[IFLA_BOND_FAIL_OVER_MAC])
@@ -2677,7 +2670,7 @@ _wireguard_read_info(NMPlatform     *platform /* used only as logging context */
           ifindex,
           wireguard_family_id);
 
-    msg = nlmsg_alloc();
+    msg = nlmsg_alloc(0);
 
     if (!genlmsg_put(msg,
                      NL_AUTO_PORT,
@@ -2886,7 +2879,7 @@ _wireguard_create_change_nlmsgs(NMPlatform                               *platfo
 
 again:
 
-    msg = nlmsg_alloc();
+    msg = nlmsg_alloc(0);
     if (!genlmsg_put(msg,
                      NL_AUTO_PORT,
                      NL_AUTO_SEQ,
@@ -4521,7 +4514,7 @@ _nl_msg_new_link_set_linkinfo(struct nl_msg *msg, NMLinkType link_type, gconstpo
             nla_nest_end(msg, targets);
         }
 
-        if (props->arp_all_targets_has)
+        if (props->arp_all_targets)
             NLA_PUT_U32(msg, IFLA_BOND_ARP_ALL_TARGETS, props->arp_all_targets);
         if (props->arp_interval)
             NLA_PUT_U32(msg, IFLA_BOND_ARP_INTERVAL, props->arp_interval);
@@ -4539,7 +4532,7 @@ _nl_msg_new_link_set_linkinfo(struct nl_msg *msg, NMLinkType link_type, gconstpo
             NLA_PUT_U32(msg, IFLA_BOND_PACKETS_PER_SLAVE, props->packets_per_port);
         if (props->peer_notif_delay_has)
             NLA_PUT_U32(msg, IFLA_BOND_PEER_NOTIF_DELAY, props->peer_notif_delay);
-        if (props->primary)
+        if (props->primary > 0)
             NLA_PUT_U32(msg, IFLA_BOND_PRIMARY, props->primary);
         if (props->resend_igmp_has)
             NLA_PUT_U32(msg, IFLA_BOND_RESEND_IGMP, props->resend_igmp);
@@ -4972,7 +4965,8 @@ _nl_msg_new_link_full(uint16_t    nlmsg_type,
                       const char *ifname,
                       guint8      family,
                       unsigned    flags_mask,
-                      unsigned    flags_set)
+                      unsigned    flags_set,
+                      size_t      len)
 {
     nm_auto_nlmsg struct nl_msg *msg = NULL;
     const struct ifinfomsg       ifi = {
@@ -4984,7 +4978,7 @@ _nl_msg_new_link_full(uint16_t    nlmsg_type,
 
     nm_assert(NM_IN_SET(nlmsg_type, RTM_DELLINK, RTM_NEWLINK, RTM_GETLINK, RTM_SETLINK));
 
-    msg = nlmsg_alloc_simple(nlmsg_type, nlmsg_flags);
+    msg = nlmsg_alloc_new(len ? nlmsg_total_size(NLMSG_HDRLEN + len) : 0, nlmsg_type, nlmsg_flags);
 
     if (nlmsg_append_struct(msg, &ifi) < 0)
         goto nla_put_failure;
@@ -5001,7 +4995,7 @@ nla_put_failure:
 static struct nl_msg *
 _nl_msg_new_link(uint16_t nlmsg_type, uint16_t nlmsg_flags, int ifindex, const char *ifname)
 {
-    return _nl_msg_new_link_full(nlmsg_type, nlmsg_flags, ifindex, ifname, AF_UNSPEC, 0, 0);
+    return _nl_msg_new_link_full(nlmsg_type, nlmsg_flags, ifindex, ifname, AF_UNSPEC, 0, 0, 0);
 }
 
 /* Copied and modified from libnl3's build_addr_msg(). */
@@ -5033,7 +5027,7 @@ _nl_msg_new_address(uint16_t      nlmsg_type,
     nm_assert(NM_IN_SET(family, AF_INET, AF_INET6));
     nm_assert(NM_IN_SET(nlmsg_type, RTM_NEWADDR, RTM_DELADDR));
 
-    msg = nlmsg_alloc_simple(nlmsg_type, nlmsg_flags);
+    msg = nlmsg_alloc_new(0, nlmsg_type, nlmsg_flags);
 
     addr_len = family == AF_INET ? sizeof(in_addr_t) : sizeof(struct in6_addr);
 
@@ -5140,7 +5134,7 @@ _nl_msg_new_route(uint16_t nlmsg_type, uint16_t nlmsg_flags, const NMPObject *ob
         NM_IN_SET(NMP_OBJECT_GET_TYPE(obj), NMP_OBJECT_TYPE_IP4_ROUTE, NMP_OBJECT_TYPE_IP6_ROUTE));
     nm_assert(NM_IN_SET(nlmsg_type, RTM_NEWROUTE, RTM_DELROUTE));
 
-    msg = nlmsg_alloc_simple(nlmsg_type, nlmsg_flags);
+    msg = nlmsg_alloc_new(0, nlmsg_type, nlmsg_flags);
 
     if (nlmsg_append_struct(msg, &rtmsg) < 0)
         goto nla_put_failure;
@@ -5232,7 +5226,7 @@ _nl_msg_new_routing_rule(uint16_t                     nlmsg_type,
     const guint8 addr_size           = nm_utils_addr_family_to_size(routing_rule->addr_family);
     guint32      table;
 
-    msg = nlmsg_alloc_simple(nlmsg_type, nlmsg_flags);
+    msg = nlmsg_alloc_new(0, nlmsg_type, nlmsg_flags);
 
     table = routing_rule->table;
 
@@ -5351,7 +5345,7 @@ _nl_msg_new_qdisc(uint16_t nlmsg_type, uint16_t nlmsg_flags, const NMPlatformQdi
                   .tcm_info    = qdisc->info,
     };
 
-    msg = nlmsg_alloc_simple(nlmsg_type, nlmsg_flags | NMP_NLM_FLAG_F_ECHO);
+    msg = nlmsg_alloc_new(0, nlmsg_type, nlmsg_flags | NMP_NLM_FLAG_F_ECHO);
 
     if (nlmsg_append_struct(msg, &tcm) < 0)
         goto nla_put_failure;
@@ -5439,7 +5433,7 @@ _nl_msg_new_tfilter(uint16_t nlmsg_type, uint16_t nlmsg_flags, const NMPlatformT
                   .tcm_info    = tfilter->info,
     };
 
-    msg = nlmsg_alloc_simple(nlmsg_type, nlmsg_flags | NMP_NLM_FLAG_F_ECHO);
+    msg = nlmsg_alloc_new(0, nlmsg_type, nlmsg_flags | NMP_NLM_FLAG_F_ECHO);
 
     if (nlmsg_append_struct(msg, &tcm) < 0)
         goto nla_put_failure;
@@ -7234,7 +7228,7 @@ _nl_msg_new_dump_rtnl(NMPObjectType obj_type, int preferred_addr_family)
     nm_assert(klass);
     nm_assert(klass->rtm_gettype > 0);
 
-    nlmsg = nlmsg_alloc_simple(klass->rtm_gettype, NLM_F_DUMP);
+    nlmsg = nlmsg_alloc_new(0, klass->rtm_gettype, NLM_F_DUMP);
 
     if (klass->addr_family != AF_UNSPEC) {
         /* if the class specifies a particular address family, then it is preferred. */
@@ -7279,7 +7273,7 @@ _nl_msg_new_dump_genl_families(void)
 {
     nm_auto_nlmsg struct nl_msg *nlmsg = NULL;
 
-    nlmsg = nlmsg_alloc_size(nlmsg_total_size(GENL_HDRLEN));
+    nlmsg = nlmsg_alloc(nlmsg_total_size(GENL_HDRLEN));
 
     if (!genlmsg_put(nlmsg,
                      NL_AUTO_PORT,
@@ -8095,7 +8089,8 @@ link_change_flags(NMPlatform *platform, int ifindex, unsigned flags_mask, unsign
           nm_platform_link_flags2str(flags_set, s_flags, sizeof(s_flags)),
           nm_platform_link_flags2str(flags_mask, s_flags2, sizeof(s_flags2)));
 
-    nlmsg = _nl_msg_new_link_full(RTM_NEWLINK, 0, ifindex, NULL, AF_UNSPEC, flags_mask, flags_set);
+    nlmsg =
+        _nl_msg_new_link_full(RTM_NEWLINK, 0, ifindex, NULL, AF_UNSPEC, flags_mask, flags_set, 0);
     if (!nlmsg)
         return -NME_UNSPEC;
     return do_change_link(platform, CHANGE_LINK_TYPE_UNSPEC, ifindex, nlmsg, NULL);
@@ -8410,16 +8405,23 @@ link_set_sriov_vfs(NMPlatform *platform, int ifindex, const NMPlatformVF *const
 {
     nm_auto_nlmsg struct nl_msg *nlmsg = NULL;
     struct nlattr               *list, *info, *vlan_list;
-    guint                        i;
+    guint                        i      = 0;
+    guint                        num    = 0;
+    size_t                       buflen = 0;
 
-    nlmsg = _nl_msg_new_link(RTM_NEWLINK, 0, ifindex, NULL);
+    while (vfs[num])
+        num++;
+
+    /* A single IFLA_VF_INFO shouldn't take more than 200 bytes. */
+    buflen = (num + 1) * 200;
+    nlmsg  = _nl_msg_new_link_full(RTM_NEWLINK, 0, ifindex, NULL, AF_UNSPEC, 0, 0, buflen);
     if (!nlmsg)
         g_return_val_if_reached(-NME_BUG);
 
     if (!(list = nla_nest_start(nlmsg, IFLA_VFINFO_LIST)))
         goto nla_put_failure;
 
-    for (i = 0; vfs[i]; i++) {
+    for (; vfs[i]; i++) {
         const NMPlatformVF *vf = vfs[i];
 
         if (!(info = nla_nest_start(nlmsg, IFLA_VF_INFO)))
@@ -8492,6 +8494,11 @@ link_set_sriov_vfs(NMPlatform *platform, int ifindex, const NMPlatformVF *const
 
     return (do_change_link(platform, CHANGE_LINK_TYPE_UNSPEC, ifindex, nlmsg, NULL) >= 0);
 nla_put_failure:
+    _LOGE("error building SR-IOV VFs netlink message: used %u/%zu bytes for %u/%u VFs",
+          nlmsg_hdr(nlmsg)->nlmsg_len,
+          buflen,
+          i,
+          num);
     g_return_val_if_reached(FALSE);
 }
 
@@ -8506,8 +8513,14 @@ link_set_bridge_vlans(NMPlatform                        *platform,
     struct bridge_vlan_info      vinfo = {};
     guint                        i;
 
-    nlmsg =
-        _nl_msg_new_link_full(vlans ? RTM_SETLINK : RTM_DELLINK, 0, ifindex, NULL, AF_BRIDGE, 0, 0);
+    nlmsg = _nl_msg_new_link_full(vlans ? RTM_SETLINK : RTM_DELLINK,
+                                  0,
+                                  ifindex,
+                                  NULL,
+                                  AF_BRIDGE,
+                                  0,
+                                  0,
+                                  0);
     if (!nlmsg)
         g_return_val_if_reached(-NME_BUG);
 
@@ -9535,7 +9548,7 @@ tc_delete(NMPlatform *platform,
         log_tag = "do-delete-tc";
     }
 
-    msg = nlmsg_alloc_simple(nlmsg_type, NMP_NLM_FLAG_F_ECHO);
+    msg = nlmsg_alloc_new(0, nlmsg_type, NMP_NLM_FLAG_F_ECHO);
 
     if (nlmsg_append_struct(msg, &tcm) < 0)
         goto nla_put_failure;
@@ -10259,7 +10272,7 @@ mptcp_addr_update(NMPlatform *platform, NMOptionBool add, const NMPlatformMptcpA
           cmd_str,
           nm_platform_mptcp_addr_to_string(addr, sbuf, sizeof(sbuf)));
 
-    nlmsg = nlmsg_alloc_size(nlmsg_total_size(GENL_HDRLEN) + 200);
+    nlmsg = nlmsg_alloc(nlmsg_total_size(GENL_HDRLEN) + 200);
 
     if (!genlmsg_put(nlmsg,
                      NL_AUTO_PORT,
@@ -10350,7 +10363,7 @@ mptcp_addrs_dump(NMPlatform *platform)
         return NULL;
     }
 
-    nlmsg = nlmsg_alloc_size(nlmsg_total_size(GENL_HDRLEN));
+    nlmsg = nlmsg_alloc(nlmsg_total_size(GENL_HDRLEN));
 
     if (!genlmsg_put(nlmsg,
                      NL_AUTO_PORT,
diff --git a/src/libnm-platform/nm-netlink.c b/src/libnm-platform/nm-netlink.c
index 36841d56..e08eee5e 100644
--- a/src/libnm-platform/nm-netlink.c
+++ b/src/libnm-platform/nm-netlink.c
@@ -364,11 +364,22 @@ nla_reserve(struct nl_msg *msg, int attrtype, int attrlen)
 
 /*****************************************************************************/
 
+/**
+ * Allocate a new netlink message.
+ *
+ * Allocates a new netlink message without any further payload. If @len is zero,
+ * the maximum payload size is set to the size of one memory page.
+ *
+ * @return Newly allocated netlink message or NULL.
+ */
 struct nl_msg *
-nlmsg_alloc_size(size_t len)
+nlmsg_alloc(size_t len)
 {
     struct nl_msg *nm;
 
+    if (len == 0)
+        len = nm_utils_getpagesize();
+
     if (len < sizeof(struct nlmsghdr))
         len = sizeof(struct nlmsghdr);
     else if (len > UINT32_MAX)
@@ -384,38 +395,23 @@ nlmsg_alloc_size(size_t len)
     return nm;
 }
 
-/**
- * Allocate a new netlink message with the default maximum payload size.
- *
- * Allocates a new netlink message without any further payload. The
- * maximum payload size defaults to PAGESIZE or as otherwise specified
- * with nlmsg_set_default_size().
- *
- * @return Newly allocated netlink message or NULL.
- */
-struct nl_msg *
-nlmsg_alloc(void)
-{
-    return nlmsg_alloc_size(nm_utils_getpagesize());
-}
-
 struct nl_msg *
 nlmsg_alloc_convert(struct nlmsghdr *hdr)
 {
     struct nl_msg *nm;
 
-    nm = nlmsg_alloc_size(NLMSG_ALIGN(hdr->nlmsg_len));
+    nm = nlmsg_alloc(NLMSG_ALIGN(hdr->nlmsg_len));
     memcpy(nm->nm_nlh, hdr, hdr->nlmsg_len);
     return nm;
 }
 
 struct nl_msg *
-nlmsg_alloc_simple(uint16_t nlmsgtype, uint16_t flags)
+nlmsg_alloc_new(size_t size, uint16_t nlmsgtype, uint16_t flags)
 {
     struct nl_msg *nm;
     struct nlmsghdr *new;
 
-    nm               = nlmsg_alloc();
+    nm               = nlmsg_alloc(size);
     new              = nm->nm_nlh;
     new->nlmsg_type  = nlmsgtype;
     new->nlmsg_flags = flags;
@@ -928,7 +924,7 @@ genl_ctrl_resolve(struct nl_sock *sk, const char *name)
                              .valid_arg = &response_data,
     };
 
-    msg = nlmsg_alloc();
+    msg = nlmsg_alloc(0);
 
     if (!genlmsg_put(msg, NL_AUTO_PORT, NL_AUTO_SEQ, GENL_ID_CTRL, 0, 0, CTRL_CMD_GETFAMILY, 1))
         return -ENOMEM;
diff --git a/src/libnm-platform/nm-netlink.h b/src/libnm-platform/nm-netlink.h
index 44ed70af..634be2b4 100644
--- a/src/libnm-platform/nm-netlink.h
+++ b/src/libnm-platform/nm-netlink.h
@@ -393,13 +393,11 @@ nla_parse_nested(struct nlattr           *tb[],
 
 /*****************************************************************************/
 
-struct nl_msg *nlmsg_alloc(void);
-
-struct nl_msg *nlmsg_alloc_size(size_t max);
+struct nl_msg *nlmsg_alloc(size_t len);
 
 struct nl_msg *nlmsg_alloc_convert(struct nlmsghdr *hdr);
 
-struct nl_msg *nlmsg_alloc_simple(uint16_t nlmsgtype, uint16_t flags);
+struct nl_msg *nlmsg_alloc_new(size_t size, uint16_t nlmsgtype, uint16_t flags);
 
 void *nlmsg_reserve(struct nl_msg *n, uint32_t len, uint32_t pad);
 
diff --git a/src/libnm-platform/nm-platform.c b/src/libnm-platform/nm-platform.c
index df177485..7d82083c 100644
--- a/src/libnm-platform/nm-platform.c
+++ b/src/libnm-platform/nm-platform.c
@@ -6082,7 +6082,6 @@ nm_platform_lnk_bond_to_string(const NMPlatformLnkBond *lnk, char *buf, gsize le
     char sbuf_updelay[30];
     char sbuf_downdelay[30];
     char sbuf_peer_notif_delay[60];
-    char sbuf_arp_all_targets[30];
     char sbuf_resend_igmp[30];
     char sbuf_lp_interval[30];
     char sbuf_tlb_dynamic_lb[30];
@@ -6096,7 +6095,7 @@ nm_platform_lnk_bond_to_string(const NMPlatformLnkBond *lnk, char *buf, gsize le
         &len,
         "bond"
         " mode %u"
-        " primary %u"
+        " primary %d"
         "%s" /* miimon */
         "%s" /* updelay */
         "%s" /* downdelay */
@@ -6106,7 +6105,7 @@ nm_platform_lnk_bond_to_string(const NMPlatformLnkBond *lnk, char *buf, gsize le
         "%s" /* lp_interval */
         " packets_per_port %u"
         "%s" /* peer_notif_delay */
-        "%s" /* arp_all_targets */
+        " arp_all_targets %u"
         " arp_validate %u"
         " ad_actor_sys_prio %u"
         " ad_user_port_key %u"
@@ -6156,12 +6155,7 @@ nm_platform_lnk_bond_to_string(const NMPlatformLnkBond *lnk, char *buf, gsize le
                              !lnk->peer_notif_delay_has ? "?" : "",
                              lnk->peer_notif_delay)
             : "",
-        lnk->arp_all_targets_has || lnk->arp_all_targets != 0
-            ? nm_sprintf_buf(sbuf_arp_all_targets,
-                             " arp_all_targets%s %u",
-                             !lnk->arp_all_targets_has ? "?" : "",
-                             lnk->arp_all_targets)
-            : "",
+        lnk->arp_all_targets,
         lnk->arp_validate,
         lnk->ad_actor_sys_prio,
         lnk->ad_user_port_key,
@@ -8043,7 +8037,6 @@ nm_platform_lnk_bond_hash_update(const NMPlatformLnkBond *obj, NMHashState *h)
                         obj->primary_reselect,
                         obj->xmit_hash_policy,
                         NM_HASH_COMBINE_BOOLS(guint16,
-                                              obj->arp_all_targets_has,
                                               obj->downdelay_has,
                                               obj->lp_interval_has,
                                               obj->miimon_has,
@@ -8089,7 +8082,6 @@ nm_platform_lnk_bond_cmp(const NMPlatformLnkBond *a, const NMPlatformLnkBond *b)
     NM_CMP_FIELD(a, b, mode);
     NM_CMP_FIELD(a, b, primary_reselect);
     NM_CMP_FIELD(a, b, xmit_hash_policy);
-    NM_CMP_FIELD_BOOL(a, b, arp_all_targets_has);
     NM_CMP_FIELD_BOOL(a, b, downdelay_has);
     NM_CMP_FIELD_BOOL(a, b, lp_interval_has);
     NM_CMP_FIELD_BOOL(a, b, miimon_has);
diff --git a/src/libnm-platform/nm-platform.h b/src/libnm-platform/nm-platform.h
index 90ffbed0..7792bbf5 100644
--- a/src/libnm-platform/nm-platform.h
+++ b/src/libnm-platform/nm-platform.h
@@ -895,6 +895,7 @@ extern const NMPlatformLnkBridge nm_platform_lnk_bridge_default;
 #define NM_BOND_MAX_ARP_TARGETS 16
 
 typedef struct {
+    int         primary;
     in_addr_t   arp_ip_target[NM_BOND_MAX_ARP_TARGETS];
     guint32     arp_all_targets;
     guint32     arp_interval;
@@ -905,7 +906,6 @@ typedef struct {
     guint32     min_links;
     guint32     packets_per_port;
     guint32     peer_notif_delay;
-    guint32     primary;
     guint32     resend_igmp;
     guint32     updelay;
     guint16     ad_actor_sys_prio;
@@ -920,7 +920,6 @@ typedef struct {
     guint8      mode;
     guint8      primary_reselect;
     guint8      xmit_hash_policy;
-    bool        arp_all_targets_has : 1;
     bool        downdelay_has : 1;
     bool        lp_interval_has : 1;
     bool        miimon_has : 1;
diff --git a/src/libnm-platform/nmp-global-tracker.c b/src/libnm-platform/nmp-global-tracker.c
index ea4da284..12869cb2 100644
--- a/src/libnm-platform/nmp-global-tracker.c
+++ b/src/libnm-platform/nmp-global-tracker.c
@@ -198,7 +198,7 @@ _track_data_hash(gconstpointer data)
     _track_data_assert(track_data, FALSE);
 
     nm_hash_init(&h, 269297543u);
-    nmp_object_id_hash_update(track_data->obj, &h);
+    nmp_object_hash_update(track_data->obj, &h);
     nm_hash_update_val(&h, track_data->user_tag);
     return nm_hash_complete(&h);
 }
@@ -213,7 +213,7 @@ _track_data_equal(gconstpointer data_a, gconstpointer data_b)
     _track_data_assert(track_data_b, FALSE);
 
     return track_data_a->user_tag == track_data_b->user_tag
-           && nmp_object_id_equal(track_data_a->obj, track_data_b->obj);
+           && nmp_object_equal(track_data_a->obj, track_data_b->obj);
 }
 
 static void
@@ -253,6 +253,22 @@ _track_obj_data_get_best_data(TrackObjData *obj_data)
         td_best = track_data;
     }
 
+    if (!td_best)
+        return NULL;
+
+    /* Always copy the object from the best TrackData to the TrackObjData. It is
+     * a bit odd that this getter modifies TrackObjData. However, it gives the
+     * nice property that after calling _track_obj_data_get_best_data() you can
+     * use obj_data->obj (and get the same as td_best->obj).
+     *
+     * This is actually important, because the previous obj_data->obj will have
+     * the same ID, but it might have minor differences to td_best->obj.
+     *
+     * Note that at this point obj_data->obj also might be an object that is no longer
+     * tracked. Updating the reference will ensure that we don't have such old references
+     * around and update to use the most appropriate one. */
+    nmp_object_ref_set(&obj_data->obj, td_best->obj);
+
     return td_best;
 }
 
diff --git a/src/libnm-platform/nmp-object.c b/src/libnm-platform/nmp-object.c
index d06aa9cd..6609a7d5 100644
--- a/src/libnm-platform/nmp-object.c
+++ b/src/libnm-platform/nmp-object.c
@@ -1318,10 +1318,9 @@ nmp_object_copy(NMPObject *dst, const NMPObject *src, gboolean id_only)
 
         g_return_if_fail(klass == NMP_OBJECT_GET_CLASS(src));
 
-        if (id_only) {
-            if (klass->cmd_plobj_id_copy)
-                klass->cmd_plobj_id_copy(&dst->object, &src->object);
-        } else if (klass->cmd_obj_copy)
+        if (id_only && klass->cmd_plobj_id_copy)
+            klass->cmd_plobj_id_copy(&dst->object, &src->object);
+        else if (klass->cmd_obj_copy)
             klass->cmd_obj_copy(dst, src);
         else
             memcpy(&dst->object, &src->object, klass->sizeof_data);
diff --git a/src/libnm-platform/tests/test-nm-platform.c b/src/libnm-platform/tests/test-nm-platform.c
index c351f014..cd54df92 100644
--- a/src/libnm-platform/tests/test-nm-platform.c
+++ b/src/libnm-platform/tests/test-nm-platform.c
@@ -27,10 +27,9 @@ test_use_symbols(void)
         (void (*)(void)) nlmsg_hdr,
         (void (*)(void)) nlmsg_reserve,
         (void (*)(void)) nla_reserve,
-        (void (*)(void)) nlmsg_alloc_size,
-        (void (*)(void)) nlmsg_alloc,
         (void (*)(void)) nlmsg_alloc_convert,
-        (void (*)(void)) nlmsg_alloc_simple,
+        (void (*)(void)) nlmsg_alloc_new,
+        (void (*)(void)) nlmsg_alloc,
         (void (*)(void)) nlmsg_free,
         (void (*)(void)) nlmsg_append,
         (void (*)(void)) nlmsg_parse,
diff --git a/src/libnm-platform/wifi/nm-wifi-utils-nl80211.c b/src/libnm-platform/wifi/nm-wifi-utils-nl80211.c
index 37edd928..c7ee0473 100644
--- a/src/libnm-platform/wifi/nm-wifi-utils-nl80211.c
+++ b/src/libnm-platform/wifi/nm-wifi-utils-nl80211.c
@@ -86,7 +86,7 @@ _nl80211_alloc_msg(guint16 genl_family_id, int ifindex, int phy, uint8_t cmd, ui
 {
     nm_auto_nlmsg struct nl_msg *msg = NULL;
 
-    msg = nlmsg_alloc();
+    msg = nlmsg_alloc(0);
     genlmsg_put(msg, NL_AUTO_PORT, NL_AUTO_SEQ, genl_family_id, 0, flags, cmd, 0);
     NLA_PUT_U32(msg, NL80211_ATTR_IFINDEX, ifindex);
     if (phy != -1)
diff --git a/src/libnm-platform/wpan/nm-wpan-utils.c b/src/libnm-platform/wpan/nm-wpan-utils.c
index 675efe5a..03c9581f 100644
--- a/src/libnm-platform/wpan/nm-wpan-utils.c
+++ b/src/libnm-platform/wpan/nm-wpan-utils.c
@@ -79,7 +79,7 @@ _nl802154_alloc_msg(guint16 genl_family_id, int ifindex, uint8_t cmd, uint16_t f
 {
     nm_auto_nlmsg struct nl_msg *msg = NULL;
 
-    msg = nlmsg_alloc();
+    msg = nlmsg_alloc(0);
     if (!genlmsg_put(msg, NL_AUTO_PORT, NL_AUTO_SEQ, genl_family_id, 0, flags, cmd, 0))
         goto nla_put_failure;
     NLA_PUT_U32(msg, NL802154_ATTR_IFINDEX, ifindex);
diff --git a/src/libnm-std-aux/nm-std-aux.h b/src/libnm-std-aux/nm-std-aux.h
index 77243ab1..d49f7c43 100644
--- a/src/libnm-std-aux/nm-std-aux.h
+++ b/src/libnm-std-aux/nm-std-aux.h
@@ -170,8 +170,8 @@ typedef uint64_t _nm_bitwise nm_be64_t;
 #define NM_LIKELY(expr)   (__builtin_expect(NM_BOOLEAN_EXPR(expr), 1))
 #define NM_UNLIKELY(expr) (__builtin_expect(NM_BOOLEAN_EXPR(expr), 0))
 #else
-#define NM_LIKELY(expr)   NM_BOOLEAN_EXPR(expr)
-#define NM_UNLIKELY(expr) NM_BOOLEAN_EXPR(expr)
+#define NM_LIKELY(expr)   (NM_BOOLEAN_EXPR(expr))
+#define NM_UNLIKELY(expr) (NM_BOOLEAN_EXPR(expr))
 #endif
 
 /*****************************************************************************/
diff --git a/src/libnmc-setting/settings-docs-input.xml b/src/libnmc-setting/settings-docs-input.xml
index d9ce0e2d..77643955 100644
--- a/src/libnmc-setting/settings-docs-input.xml
+++ b/src/libnmc-setting/settings-docs-input.xml
@@ -132,9 +132,7 @@
 
  This property is currently not implemented for DHCPv6.</description></property><property name="dhcp-send-hostname" name_upper="DHCP_SEND_HOSTNAME" type="boolean" default="TRUE"><description-docbook><para> If TRUE, a hostname is sent to the DHCP server when acquiring a lease. Some DHCP servers use this hostname to update DNS databases, essentially providing a static hostname for the computer.  If the "dhcp-hostname" property is NULL and this property is TRUE, the current persistent hostname of the computer is sent.</para></description-docbook><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 "dhcp-hostname" property is NULL and this property is TRUE, the current persistent hostname of the computer is sent.</description></property><property name="dhcp-timeout" name_upper="DHCP_TIMEOUT" type="int32" default="0"><description-docbook><para> 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).</para><para> Set to 2147483647 (MAXINT32) for infinity.</para></description-docbook><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.</description></property><property name="dhcp-vendor-class-identifier" name_upper="DHCP_VENDOR_CLASS_IDENTIFIER" type="string"><description-docbook><para> 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.</para><para> Since 1.28</para></description-docbook><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</description></property><property name="dns" name_upper="DNS" type="array of uint32"><description-docbook><para> Array of IP addresses of DNS servers.</para></description-docbook><description> Array of IP addresses of DNS servers.</description></property><property name="dns-options" name_upper="DNS_OPTIONS" type="array of string"><description-docbook><para> Array of DNS options as described in man 5 resolv.conf.</para><para> 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.</para><para> The currently supported options are "attempts", "debug", "edns0", "inet6", "ip6-bytestring", "ip6-dotint", "ndots", "no-check-names", "no-ip6-dotint", "no-reload", "no-tld-query", "rotate", "single-request", "single-request-reopen", "timeout", "trust-ad", "use-vc".</para><para> The "trust-ad" setting is only honored if the profile contributes name servers to resolv.conf, and if all contributing profiles have "trust-ad" enabled.</para><para> When using a caching DNS plugin (dnsmasq or systemd-resolved in NetworkManager.conf) then "edns0" and "trust-ad" are automatically added.</para></description-docbook><description> Array of DNS options as described in man 5 resolv.conf.
+ Set to 2147483647 (MAXINT32) for infinity.</description></property><property name="dhcp-vendor-class-identifier" name_upper="DHCP_VENDOR_CLASS_IDENTIFIER" type="string"><description-docbook><para> 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.</para></description-docbook><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.</description></property><property name="dns" name_upper="DNS" type="array of uint32"><description-docbook><para> Array of IP addresses of DNS servers.</para></description-docbook><description> Array of IP addresses of DNS servers.</description></property><property name="dns-options" name_upper="DNS_OPTIONS" type="array of string"><description-docbook><para> Array of DNS options as described in man 5 resolv.conf.</para><para> 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.</para><para> The currently supported options are "attempts", "debug", "edns0", "inet6", "ip6-bytestring", "ip6-dotint", "ndots", "no-check-names", "no-ip6-dotint", "no-reload", "no-tld-query", "rotate", "single-request", "single-request-reopen", "timeout", "trust-ad", "use-vc".</para><para> The "trust-ad" setting is only honored if the profile contributes name servers to resolv.conf, and if all contributing profiles have "trust-ad" enabled.</para><para> When using a caching DNS plugin (dnsmasq or systemd-resolved in NetworkManager.conf) then "edns0" and "trust-ad" are automatically added.</para></description-docbook><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.
 
@@ -164,11 +162,9 @@
 
  Setting the gateway causes NetworkManager to configure a standard default route with the gateway as next hop. This is ignored if "never-default" is set. An alternative is to configure the default route explicitly with a manual route and /0 as prefix length.
 
- Note that the gateway usually conflicts with routing that NetworkManager configures for WireGuard interfaces, so usually it should not be set in that case. See "ip4-auto-default-route".</description></property><property name="ignore-auto-dns" name_upper="IGNORE_AUTO_DNS" type="boolean" default="FALSE"><description-docbook><para> When "method" is set to "auto" and this property to TRUE, automatically configured name servers and search domains are ignored and only name servers and search domains specified in the "dns" and "dns-search" properties, if any, are used.</para></description-docbook><description> When "method" is set to "auto" and this property to TRUE, automatically configured name servers and search domains are ignored and only name servers and search domains specified in the "dns" and "dns-search" properties, if any, are used.</description></property><property name="ignore-auto-routes" name_upper="IGNORE_AUTO_ROUTES" type="boolean" default="FALSE"><description-docbook><para> When "method" is set to "auto" and this property to TRUE, automatically configured routes are ignored and only routes specified in the "routes" property, if any, are used.</para></description-docbook><description> When "method" is set to "auto" and this property to TRUE, automatically configured routes are ignored and only routes specified in the "routes" property, if any, are used.</description></property><property name="link-local" name_upper="LINK_LOCAL" type="int32" default="0"><description-docbook><para> Enable and disable the IPv4 link-local configuration independently of the ipv4.method configuration. This allows a link-local address (169.254.x.y/16) to be obtained in addition to other addresses, such as those manually configured or obtained from a DHCP server.</para><para> When set to "auto", the value is dependent on "ipv4.method". When set to "default", it honors the global connection default, before falling back to "auto". Note that if "ipv4.method" is "disabled", then link local addressing is always disabled too. The default is "default".</para><para> Since 1.40</para></description-docbook><description> Enable and disable the IPv4 link-local configuration independently of the ipv4.method configuration. This allows a link-local address (169.254.x.y/16) to be obtained in addition to other addresses, such as those manually configured or obtained from a DHCP server.
-
- When set to "auto", the value is dependent on "ipv4.method". When set to "default", it honors the global connection default, before falling back to "auto". Note that if "ipv4.method" is "disabled", then link local addressing is always disabled too. The default is "default".
+ Note that the gateway usually conflicts with routing that NetworkManager configures for WireGuard interfaces, so usually it should not be set in that case. See "ip4-auto-default-route".</description></property><property name="ignore-auto-dns" name_upper="IGNORE_AUTO_DNS" type="boolean" default="FALSE"><description-docbook><para> When "method" is set to "auto" and this property to TRUE, automatically configured name servers and search domains are ignored and only name servers and search domains specified in the "dns" and "dns-search" properties, if any, are used.</para></description-docbook><description> When "method" is set to "auto" and this property to TRUE, automatically configured name servers and search domains are ignored and only name servers and search domains specified in the "dns" and "dns-search" properties, if any, are used.</description></property><property name="ignore-auto-routes" name_upper="IGNORE_AUTO_ROUTES" type="boolean" default="FALSE"><description-docbook><para> When "method" is set to "auto" and this property to TRUE, automatically configured routes are ignored and only routes specified in the "routes" property, if any, are used.</para></description-docbook><description> When "method" is set to "auto" and this property to TRUE, automatically configured routes are ignored and only routes specified in the "routes" property, if any, are used.</description></property><property name="link-local" name_upper="LINK_LOCAL" type="int32" default="0"><description-docbook><para> Enable and disable the IPv4 link-local configuration independently of the ipv4.method configuration. This allows a link-local address (169.254.x.y/16) to be obtained in addition to other addresses, such as those manually configured or obtained from a DHCP server.</para><para> When set to "auto", the value is dependent on "ipv4.method". When set to "default", it honors the global connection default, before falling back to "auto". Note that if "ipv4.method" is "disabled", then link local addressing is always disabled too. The default is "default".</para></description-docbook><description> Enable and disable the IPv4 link-local configuration independently of the ipv4.method configuration. This allows a link-local address (169.254.x.y/16) to be obtained in addition to other addresses, such as those manually configured or obtained from a DHCP server.
 
- Since 1.40</description></property><property name="may-fail" name_upper="MAY_FAIL" type="boolean" default="TRUE"><description-docbook><para> 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.</para></description-docbook><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.</description></property><property name="method" name_upper="METHOD" type="string"><description-docbook><para> IP configuration method.</para><para> NMSettingIP4Config and NMSettingIP6Config both support "disabled", "auto", "manual", and "link-local". See the subclass-specific documentation for other values.</para><para> 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.</para><para> For methods that imply no upstream network, such as "shared" or "link-local", these properties must be empty.</para><para> 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.</para></description-docbook><description> IP configuration method.
+ When set to "auto", the value is dependent on "ipv4.method". When set to "default", it honors the global connection default, before falling back to "auto". Note that if "ipv4.method" is "disabled", then link local addressing is always disabled too. The default is "default".</description></property><property name="may-fail" name_upper="MAY_FAIL" type="boolean" default="TRUE"><description-docbook><para> 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.</para></description-docbook><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.</description></property><property name="method" name_upper="METHOD" type="string"><description-docbook><para> IP configuration method.</para><para> NMSettingIP4Config and NMSettingIP6Config both support "disabled", "auto", "manual", and "link-local". See the subclass-specific documentation for other values.</para><para> 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.</para><para> For methods that imply no upstream network, such as "shared" or "link-local", these properties must be empty.</para><para> 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.</para></description-docbook><description> IP configuration method.
 
  NMSettingIP4Config and NMSettingIP6Config both support "disabled", "auto", "manual", and "link-local". See the subclass-specific documentation for other values.
 
diff --git a/src/libnmc-setting/settings-docs.h b/src/libnmc-setting/settings-docs.h
index 1ed2f134..934ddff9 100644
--- a/src/libnmc-setting/settings-docs.h
+++ b/src/libnmc-setting/settings-docs.h
@@ -166,7 +166,7 @@
 #define DESCRIBE_DOC_NM_SETTING_IP4_CONFIG_DHCP_REJECT_SERVERS N_("Array of servers from which DHCP offers must be rejected. This property is useful to avoid getting a lease from misconfigured or rogue servers. For DHCPv4, each element must be an IPv4 address, optionally followed by a slash and a prefix length (e.g. \"192.168.122.0/24\"). This property is currently not implemented for DHCPv6.")
 #define DESCRIBE_DOC_NM_SETTING_IP4_CONFIG_DHCP_SEND_HOSTNAME N_("If TRUE, a hostname is sent to the DHCP server when acquiring a lease. Some DHCP servers use this hostname to update DNS databases, essentially providing a static hostname for the computer.  If the \"dhcp-hostname\" property is NULL and this property is TRUE, the current persistent hostname of the computer is sent.")
 #define DESCRIBE_DOC_NM_SETTING_IP4_CONFIG_DHCP_TIMEOUT N_("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.")
-#define DESCRIBE_DOC_NM_SETTING_IP4_CONFIG_DHCP_VENDOR_CLASS_IDENTIFIER N_("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")
+#define DESCRIBE_DOC_NM_SETTING_IP4_CONFIG_DHCP_VENDOR_CLASS_IDENTIFIER N_("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.")
 #define DESCRIBE_DOC_NM_SETTING_IP4_CONFIG_DNS N_("Array of IP addresses of DNS servers.")
 #define DESCRIBE_DOC_NM_SETTING_IP4_CONFIG_DNS_OPTIONS N_("Array of DNS options as described in man 5 resolv.conf. NULL means that the options are unset and left at the default. In this case NetworkManager will use default options. This is distinct from an empty list of properties. The currently supported options are \"attempts\", \"debug\", \"edns0\", \"inet6\", \"ip6-bytestring\", \"ip6-dotint\", \"ndots\", \"no-check-names\", \"no-ip6-dotint\", \"no-reload\", \"no-tld-query\", \"rotate\", \"single-request\", \"single-request-reopen\", \"timeout\", \"trust-ad\", \"use-vc\". The \"trust-ad\" setting is only honored if the profile contributes name servers to resolv.conf, and if all contributing profiles have \"trust-ad\" enabled. When using a caching DNS plugin (dnsmasq or systemd-resolved in NetworkManager.conf) then \"edns0\" and \"trust-ad\" are automatically added.")
 #define DESCRIBE_DOC_NM_SETTING_IP4_CONFIG_DNS_PRIORITY N_("DNS servers priority. The relative priority for DNS servers specified by this setting.  A lower numerical value is better (higher priority). Negative values have the special effect of excluding other configurations with a greater numerical priority value; so in presence of at least one negative priority, only DNS servers from connections with the lowest priority value will be used. To avoid all DNS leaks, set the priority of the profile that should be used to the most negative value of all active connections profiles. Zero selects a globally configured default value. If the latter is missing or zero too, it defaults to 50 for VPNs (including WireGuard) and 100 for other connections. Note that the priority is to order DNS settings for multiple active connections.  It does not disambiguate multiple DNS servers within the same connection profile. When multiple devices have configurations with the same priority, VPNs will be considered first, then devices with the best (lowest metric) default route and then all other devices. When using dns=default, servers with higher priority will be on top of resolv.conf. To prioritize a given server over another one within the same connection, just specify them in the desired order. Note that commonly the resolver tries name servers in /etc/resolv.conf in the order listed, proceeding with the next server in the list on failure. See for example the \"rotate\" option of the dns-options setting. If there are any negative DNS priorities, then only name servers from the devices with that lowest priority will be considered. When using a DNS resolver that supports Conditional Forwarding or Split DNS (with dns=dnsmasq or dns=systemd-resolved settings), each connection is used to query domains in its search list. The search domains determine which name servers to ask, and the DNS priority is used to prioritize name servers based on the domain.  Queries for domains not present in any search list are routed through connections having the '~.' special wildcard domain, which is added automatically to connections with the default route (or can be added manually).  When multiple connections specify the same domain, the one with the best priority (lowest numerical value) wins.  If a sub domain is configured on another interface it will be accepted regardless the priority, unless parent domain on the other interface has a negative priority, which causes the sub domain to be shadowed. With Split DNS one can avoid undesired DNS leaks by properly configuring DNS priorities and the search domains, so that only name servers of the desired interface are configured.")
@@ -174,7 +174,7 @@
 #define DESCRIBE_DOC_NM_SETTING_IP4_CONFIG_GATEWAY N_("The gateway associated with this configuration. This is only meaningful if \"addresses\" is also set. Setting the gateway causes NetworkManager to configure a standard default route with the gateway as next hop. This is ignored if \"never-default\" is set. An alternative is to configure the default route explicitly with a manual route and /0 as prefix length. Note that the gateway usually conflicts with routing that NetworkManager configures for WireGuard interfaces, so usually it should not be set in that case. See \"ip4-auto-default-route\".")
 #define DESCRIBE_DOC_NM_SETTING_IP4_CONFIG_IGNORE_AUTO_DNS N_("When \"method\" is set to \"auto\" and this property to TRUE, automatically configured name servers and search domains are ignored and only name servers and search domains specified in the \"dns\" and \"dns-search\" properties, if any, are used.")
 #define DESCRIBE_DOC_NM_SETTING_IP4_CONFIG_IGNORE_AUTO_ROUTES N_("When \"method\" is set to \"auto\" and this property to TRUE, automatically configured routes are ignored and only routes specified in the \"routes\" property, if any, are used.")
-#define DESCRIBE_DOC_NM_SETTING_IP4_CONFIG_LINK_LOCAL N_("Enable and disable the IPv4 link-local configuration independently of the ipv4.method configuration. This allows a link-local address (169.254.x.y/16) to be obtained in addition to other addresses, such as those manually configured or obtained from a DHCP server. When set to \"auto\", the value is dependent on \"ipv4.method\". When set to \"default\", it honors the global connection default, before falling back to \"auto\". Note that if \"ipv4.method\" is \"disabled\", then link local addressing is always disabled too. The default is \"default\". Since 1.40")
+#define DESCRIBE_DOC_NM_SETTING_IP4_CONFIG_LINK_LOCAL N_("Enable and disable the IPv4 link-local configuration independently of the ipv4.method configuration. This allows a link-local address (169.254.x.y/16) to be obtained in addition to other addresses, such as those manually configured or obtained from a DHCP server. When set to \"auto\", the value is dependent on \"ipv4.method\". When set to \"default\", it honors the global connection default, before falling back to \"auto\". Note that if \"ipv4.method\" is \"disabled\", then link local addressing is always disabled too. The default is \"default\".")
 #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.")
diff --git a/src/libnmc-setting/settings-docs.h.in b/src/libnmc-setting/settings-docs.h.in
index 1ed2f134..934ddff9 100644
--- a/src/libnmc-setting/settings-docs.h.in
+++ b/src/libnmc-setting/settings-docs.h.in
@@ -166,7 +166,7 @@
 #define DESCRIBE_DOC_NM_SETTING_IP4_CONFIG_DHCP_REJECT_SERVERS N_("Array of servers from which DHCP offers must be rejected. This property is useful to avoid getting a lease from misconfigured or rogue servers. For DHCPv4, each element must be an IPv4 address, optionally followed by a slash and a prefix length (e.g. \"192.168.122.0/24\"). This property is currently not implemented for DHCPv6.")
 #define DESCRIBE_DOC_NM_SETTING_IP4_CONFIG_DHCP_SEND_HOSTNAME N_("If TRUE, a hostname is sent to the DHCP server when acquiring a lease. Some DHCP servers use this hostname to update DNS databases, essentially providing a static hostname for the computer.  If the \"dhcp-hostname\" property is NULL and this property is TRUE, the current persistent hostname of the computer is sent.")
 #define DESCRIBE_DOC_NM_SETTING_IP4_CONFIG_DHCP_TIMEOUT N_("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.")
-#define DESCRIBE_DOC_NM_SETTING_IP4_CONFIG_DHCP_VENDOR_CLASS_IDENTIFIER N_("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")
+#define DESCRIBE_DOC_NM_SETTING_IP4_CONFIG_DHCP_VENDOR_CLASS_IDENTIFIER N_("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.")
 #define DESCRIBE_DOC_NM_SETTING_IP4_CONFIG_DNS N_("Array of IP addresses of DNS servers.")
 #define DESCRIBE_DOC_NM_SETTING_IP4_CONFIG_DNS_OPTIONS N_("Array of DNS options as described in man 5 resolv.conf. NULL means that the options are unset and left at the default. In this case NetworkManager will use default options. This is distinct from an empty list of properties. The currently supported options are \"attempts\", \"debug\", \"edns0\", \"inet6\", \"ip6-bytestring\", \"ip6-dotint\", \"ndots\", \"no-check-names\", \"no-ip6-dotint\", \"no-reload\", \"no-tld-query\", \"rotate\", \"single-request\", \"single-request-reopen\", \"timeout\", \"trust-ad\", \"use-vc\". The \"trust-ad\" setting is only honored if the profile contributes name servers to resolv.conf, and if all contributing profiles have \"trust-ad\" enabled. When using a caching DNS plugin (dnsmasq or systemd-resolved in NetworkManager.conf) then \"edns0\" and \"trust-ad\" are automatically added.")
 #define DESCRIBE_DOC_NM_SETTING_IP4_CONFIG_DNS_PRIORITY N_("DNS servers priority. The relative priority for DNS servers specified by this setting.  A lower numerical value is better (higher priority). Negative values have the special effect of excluding other configurations with a greater numerical priority value; so in presence of at least one negative priority, only DNS servers from connections with the lowest priority value will be used. To avoid all DNS leaks, set the priority of the profile that should be used to the most negative value of all active connections profiles. Zero selects a globally configured default value. If the latter is missing or zero too, it defaults to 50 for VPNs (including WireGuard) and 100 for other connections. Note that the priority is to order DNS settings for multiple active connections.  It does not disambiguate multiple DNS servers within the same connection profile. When multiple devices have configurations with the same priority, VPNs will be considered first, then devices with the best (lowest metric) default route and then all other devices. When using dns=default, servers with higher priority will be on top of resolv.conf. To prioritize a given server over another one within the same connection, just specify them in the desired order. Note that commonly the resolver tries name servers in /etc/resolv.conf in the order listed, proceeding with the next server in the list on failure. See for example the \"rotate\" option of the dns-options setting. If there are any negative DNS priorities, then only name servers from the devices with that lowest priority will be considered. When using a DNS resolver that supports Conditional Forwarding or Split DNS (with dns=dnsmasq or dns=systemd-resolved settings), each connection is used to query domains in its search list. The search domains determine which name servers to ask, and the DNS priority is used to prioritize name servers based on the domain.  Queries for domains not present in any search list are routed through connections having the '~.' special wildcard domain, which is added automatically to connections with the default route (or can be added manually).  When multiple connections specify the same domain, the one with the best priority (lowest numerical value) wins.  If a sub domain is configured on another interface it will be accepted regardless the priority, unless parent domain on the other interface has a negative priority, which causes the sub domain to be shadowed. With Split DNS one can avoid undesired DNS leaks by properly configuring DNS priorities and the search domains, so that only name servers of the desired interface are configured.")
@@ -174,7 +174,7 @@
 #define DESCRIBE_DOC_NM_SETTING_IP4_CONFIG_GATEWAY N_("The gateway associated with this configuration. This is only meaningful if \"addresses\" is also set. Setting the gateway causes NetworkManager to configure a standard default route with the gateway as next hop. This is ignored if \"never-default\" is set. An alternative is to configure the default route explicitly with a manual route and /0 as prefix length. Note that the gateway usually conflicts with routing that NetworkManager configures for WireGuard interfaces, so usually it should not be set in that case. See \"ip4-auto-default-route\".")
 #define DESCRIBE_DOC_NM_SETTING_IP4_CONFIG_IGNORE_AUTO_DNS N_("When \"method\" is set to \"auto\" and this property to TRUE, automatically configured name servers and search domains are ignored and only name servers and search domains specified in the \"dns\" and \"dns-search\" properties, if any, are used.")
 #define DESCRIBE_DOC_NM_SETTING_IP4_CONFIG_IGNORE_AUTO_ROUTES N_("When \"method\" is set to \"auto\" and this property to TRUE, automatically configured routes are ignored and only routes specified in the \"routes\" property, if any, are used.")
-#define DESCRIBE_DOC_NM_SETTING_IP4_CONFIG_LINK_LOCAL N_("Enable and disable the IPv4 link-local configuration independently of the ipv4.method configuration. This allows a link-local address (169.254.x.y/16) to be obtained in addition to other addresses, such as those manually configured or obtained from a DHCP server. When set to \"auto\", the value is dependent on \"ipv4.method\". When set to \"default\", it honors the global connection default, before falling back to \"auto\". Note that if \"ipv4.method\" is \"disabled\", then link local addressing is always disabled too. The default is \"default\". Since 1.40")
+#define DESCRIBE_DOC_NM_SETTING_IP4_CONFIG_LINK_LOCAL N_("Enable and disable the IPv4 link-local configuration independently of the ipv4.method configuration. This allows a link-local address (169.254.x.y/16) to be obtained in addition to other addresses, such as those manually configured or obtained from a DHCP server. When set to \"auto\", the value is dependent on \"ipv4.method\". When set to \"default\", it honors the global connection default, before falling back to \"auto\". Note that if \"ipv4.method\" is \"disabled\", then link local addressing is always disabled too. The default is \"default\".")
 #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.")
diff --git a/src/nm-initrd-generator/nm-initrd-generator.h b/src/nm-initrd-generator/nm-initrd-generator.h
index 4f33ac65..0761c9bb 100644
--- a/src/nm-initrd-generator/nm-initrd-generator.h
+++ b/src/nm-initrd-generator/nm-initrd-generator.h
@@ -12,6 +12,9 @@
 #define NMI_WAIT_DEVICE_TIMEOUT_MSEC 60000
 #define NMI_IP_REQUIRED_TIMEOUT_MSEC 20000
 
+#define NMI_AUTOCONNECT_PRIORITY_CMDLINE  -100
+#define NMI_AUTOCONNECT_PRIORITY_FIRMWARE -200
+
 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 34b19e45..36bfdb0b 100644
--- a/src/nm-initrd-generator/nmi-cmdline-reader.c
+++ b/src/nm-initrd-generator/nmi-cmdline-reader.c
@@ -99,6 +99,7 @@ reader_create_connection(Reader                  *reader,
                          const char              *ifname,
                          const char              *mac,
                          const char              *type_name,
+                         int                      autoconnect_priority,
                          NMConnectionMultiConnect multi_connect)
 {
     NMConnection *connection;
@@ -155,6 +156,8 @@ reader_create_connection(Reader                  *reader,
                  multi_connect,
                  NM_SETTING_CONNECTION_AUTOCONNECT_RETRIES,
                  1,
+                 NM_SETTING_CONNECTION_AUTOCONNECT_PRIORITY,
+                 autoconnect_priority,
                  NULL);
 
     if (nm_streq0(type_name, NM_SETTING_INFINIBAND_SETTING_NAME)) {
@@ -189,6 +192,7 @@ reader_get_default_connection(Reader *reader)
                                        NULL,
                                        NULL,
                                        NM_SETTING_WIRED_SETTING_NAME,
+                                       NMI_AUTOCONNECT_PRIORITY_CMDLINE,
                                        NM_CONNECTION_MULTI_CONNECT_MULTIPLE);
         nm_connection_add_setting(con, nm_setting_wired_new());
         reader->default_connection = con;
@@ -264,6 +268,7 @@ reader_get_connection(Reader     *reader,
                                               ifname,
                                               mac,
                                               type_name,
+                                              NMI_AUTOCONNECT_PRIORITY_CMDLINE,
                                               NM_CONNECTION_MULTI_CONNECT_SINGLE);
     }
     setting = (NMSetting *) nm_connection_get_setting_connection(connection);
@@ -1526,6 +1531,7 @@ nmi_cmdline_reader_parse(const char        *etc_connections_dir,
                                                   NULL,
                                                   bootif,
                                                   NM_SETTING_WIRED_SETTING_NAME,
+                                                  NMI_AUTOCONNECT_PRIORITY_FIRMWARE,
                                                   NM_CONNECTION_MULTI_CONNECT_SINGLE);
         } else {
             g_object_set(s_wired, NM_SETTING_WIRED_MAC_ADDRESS, bootif, NULL);
diff --git a/src/nm-initrd-generator/nmi-dt-reader.c b/src/nm-initrd-generator/nmi-dt-reader.c
index 554f5c4d..99fe25a2 100644
--- a/src/nm-initrd-generator/nmi-dt-reader.c
+++ b/src/nm-initrd-generator/nmi-dt-reader.c
@@ -248,6 +248,8 @@ nmi_dt_reader_parse(const char *sysfs_dir)
                                            NM_SETTING_WIRED_SETTING_NAME,
                                            NM_SETTING_CONNECTION_ID,
                                            "OpenFirmware Connection",
+                                           NM_SETTING_CONNECTION_AUTOCONNECT_PRIORITY,
+                                           NMI_AUTOCONNECT_PRIORITY_FIRMWARE,
                                            NULL));
 
     s_ip4 = nm_setting_ip4_config_new();
diff --git a/src/nm-initrd-generator/nmi-ibft-reader.c b/src/nm-initrd-generator/nmi-ibft-reader.c
index 5e4b1bb3..3f30e531 100644
--- a/src/nm-initrd-generator/nmi-ibft-reader.c
+++ b/src/nm-initrd-generator/nmi-ibft-reader.c
@@ -328,6 +328,8 @@ connection_setting_add(GHashTable   *nic,
                  id,
                  NM_SETTING_CONNECTION_INTERFACE_NAME,
                  NULL,
+                 NM_SETTING_CONNECTION_AUTOCONNECT_PRIORITY,
+                 NMI_AUTOCONNECT_PRIORITY_FIRMWARE,
                  NULL);
 
     g_free(uuid);
diff --git a/src/nm-initrd-generator/tests/test-cmdline-reader.c b/src/nm-initrd-generator/tests/test-cmdline-reader.c
index d7b7b3cb..977e58b9 100644
--- a/src/nm-initrd-generator/tests/test-cmdline-reader.c
+++ b/src/nm-initrd-generator/tests/test-cmdline-reader.c
@@ -13,6 +13,7 @@
 #include <sys/socket.h>
 
 #include "libnm-core-intern/nm-core-internal.h"
+#include "libnm-glib-aux/nm-uuid.h"
 
 #include "nm-initrd-generator/nm-initrd-generator.h"
 
@@ -114,6 +115,9 @@ test_auto(void)
     g_assert_cmpint(nm_setting_connection_get_wait_device_timeout(s_con), ==, -1);
 
     g_assert(nm_setting_connection_get_autoconnect(s_con));
+    g_assert_cmpint(nm_setting_connection_get_autoconnect_priority(s_con),
+                    ==,
+                    NMI_AUTOCONNECT_PRIORITY_CMDLINE);
 
     s_wired = nm_connection_get_setting_wired(connection);
     g_assert(s_wired);
@@ -174,6 +178,9 @@ test_dhcp_with_hostname(void)
     g_assert_cmpint(nm_setting_connection_get_wait_device_timeout(s_con), ==, -1);
 
     g_assert(nm_setting_connection_get_autoconnect(s_con));
+    g_assert_cmpint(nm_setting_connection_get_autoconnect_priority(s_con),
+                    ==,
+                    NMI_AUTOCONNECT_PRIORITY_CMDLINE);
 
     s_wired = nm_connection_get_setting_wired(connection);
     g_assert(s_wired);
@@ -219,6 +226,9 @@ test_dhcp_with_mtu(void)
         g_assert_cmpint(nm_setting_connection_get_wait_device_timeout(s_con), ==, -1);
 
         g_assert(nm_setting_connection_get_autoconnect(s_con));
+        g_assert_cmpint(nm_setting_connection_get_autoconnect_priority(s_con),
+                        ==,
+                        NMI_AUTOCONNECT_PRIORITY_CMDLINE);
 
         s_wired = nm_connection_get_setting_wired(connection);
         g_assert(s_wired);
@@ -279,6 +289,9 @@ test_dhcp_timeout(void)
         g_assert_cmpint(nm_setting_connection_get_wait_device_timeout(s_con), ==, -1);
         g_assert_cmpint(nm_setting_connection_get_autoconnect_retries(s_con), ==, 1);
         g_assert(nm_setting_connection_get_autoconnect(s_con));
+        g_assert_cmpint(nm_setting_connection_get_autoconnect_priority(s_con),
+                        ==,
+                        NMI_AUTOCONNECT_PRIORITY_CMDLINE);
 
         s_ip4 = nm_connection_get_setting_ip4_config(connection);
         g_assert(s_ip4);
@@ -1652,7 +1665,11 @@ test_ibft_ip_dev(void)
 {
     const char *const            *ARGV = NM_MAKE_STRV("ip=eth0:ibft");
     NMSettingConnection          *s_con;
-    gs_unref_object NMConnection *connection = NULL;
+    gs_unref_object NMConnection *connection    = NULL;
+    const char                   *s_hwaddr      = "00:53:00:ab:00:01";
+    const char                   *s_vlanid      = "666";
+    const char                   *s_ipaddr      = "2001:0db8:0000:0000:0000:0000:0000:0002";
+    gs_free char                 *expected_uuid = NULL;
 
     connection = _parse_con(ARGV, "eth0");
 
@@ -1662,6 +1679,17 @@ test_ibft_ip_dev(void)
                     ==,
                     NM_SETTING_VLAN_SETTING_NAME);
     g_assert_cmpstr(nm_setting_connection_get_interface_name(s_con), ==, NULL);
+
+    expected_uuid = nm_uuid_generate_from_strings("ibft",
+                                                  s_hwaddr,
+                                                  s_vlanid ? "V" : "v",
+                                                  s_vlanid ? s_vlanid : "",
+                                                  s_ipaddr ? "A" : "DHCP",
+                                                  s_ipaddr ? s_ipaddr : "",
+                                                  NULL);
+
+    g_assert_cmpstr(expected_uuid, ==, "16d9bd1c-e2ab-31ef-9196-860078e81a23");
+    g_assert_cmpstr(nm_connection_get_uuid(connection), ==, expected_uuid);
 }
 
 static void
diff --git a/src/nm-initrd-generator/tests/test-ibft-reader.c b/src/nm-initrd-generator/tests/test-ibft-reader.c
index 55925a9a..4aa4d7f3 100644
--- a/src/nm-initrd-generator/tests/test-ibft-reader.c
+++ b/src/nm-initrd-generator/tests/test-ibft-reader.c
@@ -72,6 +72,9 @@ test_read_ibft_dhcp(void)
     g_assert_cmpstr(nm_setting_connection_get_interface_name(s_con), ==, NULL);
     g_assert_cmpint(nm_setting_connection_get_timestamp(s_con), ==, 0);
     g_assert(nm_setting_connection_get_autoconnect(s_con));
+    g_assert_cmpint(nm_setting_connection_get_autoconnect_priority(s_con),
+                    ==,
+                    NMI_AUTOCONNECT_PRIORITY_FIRMWARE);
 
     s_wired = nm_connection_get_setting_wired(connection);
     g_assert(s_wired);
@@ -121,6 +124,9 @@ test_read_ibft_static(void)
     g_assert_cmpstr(nm_setting_connection_get_interface_name(s_con), ==, NULL);
     g_assert_cmpint(nm_setting_connection_get_timestamp(s_con), ==, 0);
     g_assert(nm_setting_connection_get_autoconnect(s_con));
+    g_assert_cmpint(nm_setting_connection_get_autoconnect_priority(s_con),
+                    ==,
+                    NMI_AUTOCONNECT_PRIORITY_FIRMWARE);
 
     s_wired = nm_connection_get_setting_wired(connection);
     g_assert(s_wired);
diff --git a/src/nmcli/devices.c b/src/nmcli/devices.c
index 43bd3724..9b7ebce3 100644
--- a/src/nmcli/devices.c
+++ b/src/nmcli/devices.c
@@ -2919,6 +2919,8 @@ do_devices_monitor(const NMCCommand *cmd, NmCli *nmc, int argc, const char *cons
             nmc->return_value = NMC_RESULT_ERROR_USER_INPUT;
             return;
         }
+        if (!devices)
+            return;
     } else {
         /* No devices specified. Monitor all. */
         devices = nm_client_get_devices(nmc->client);
diff --git a/src/nmcli/generate-docs-nm-settings-nmcli.xml b/src/nmcli/generate-docs-nm-settings-nmcli.xml
index 371081b0..5da5c979 100644
--- a/src/nmcli/generate-docs-nm-settings-nmcli.xml
+++ b/src/nmcli/generate-docs-nm-settings-nmcli.xml
@@ -699,9 +699,9 @@
         <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"
-                  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" />
+                  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." />
         <property name="link-local"
-                  description="Enable and disable the IPv4 link-local configuration independently of the ipv4.method configuration. This allows a link-local address (169.254.x.y/16) to be obtained in addition to other addresses, such as those manually configured or obtained from a DHCP server. When set to &quot;auto&quot;, the value is dependent on &quot;ipv4.method&quot;. When set to &quot;default&quot;, it honors the global connection default, before falling back to &quot;auto&quot;. Note that if &quot;ipv4.method&quot; is &quot;disabled&quot;, then link local addressing is always disabled too. The default is &quot;default&quot;. Since 1.40" />
+                  description="Enable and disable the IPv4 link-local configuration independently of the ipv4.method configuration. This allows a link-local address (169.254.x.y/16) to be obtained in addition to other addresses, such as those manually configured or obtained from a DHCP server. When set to &quot;auto&quot;, the value is dependent on &quot;ipv4.method&quot;. When set to &quot;default&quot;, it honors the global connection default, before falling back to &quot;auto&quot;. Note that if &quot;ipv4.method&quot; is &quot;disabled&quot;, then link local addressing is always disabled too. The default is &quot;default&quot;." />
         <property name="dhcp-reject-servers"
                   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." />
     </setting>
diff --git a/src/nmcli/generate-docs-nm-settings-nmcli.xml.in b/src/nmcli/generate-docs-nm-settings-nmcli.xml.in
index 371081b0..5da5c979 100644
--- a/src/nmcli/generate-docs-nm-settings-nmcli.xml.in
+++ b/src/nmcli/generate-docs-nm-settings-nmcli.xml.in
@@ -699,9 +699,9 @@
         <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"
-                  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" />
+                  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." />
         <property name="link-local"
-                  description="Enable and disable the IPv4 link-local configuration independently of the ipv4.method configuration. This allows a link-local address (169.254.x.y/16) to be obtained in addition to other addresses, such as those manually configured or obtained from a DHCP server. When set to &quot;auto&quot;, the value is dependent on &quot;ipv4.method&quot;. When set to &quot;default&quot;, it honors the global connection default, before falling back to &quot;auto&quot;. Note that if &quot;ipv4.method&quot; is &quot;disabled&quot;, then link local addressing is always disabled too. The default is &quot;default&quot;. Since 1.40" />
+                  description="Enable and disable the IPv4 link-local configuration independently of the ipv4.method configuration. This allows a link-local address (169.254.x.y/16) to be obtained in addition to other addresses, such as those manually configured or obtained from a DHCP server. When set to &quot;auto&quot;, the value is dependent on &quot;ipv4.method&quot;. When set to &quot;default&quot;, it honors the global connection default, before falling back to &quot;auto&quot;. Note that if &quot;ipv4.method&quot; is &quot;disabled&quot;, then link local addressing is always disabled too. The default is &quot;default&quot;." />
         <property name="dhcp-reject-servers"
                   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." />
     </setting>
diff --git a/src/nmcli/meson.build b/src/nmcli/meson.build
index a122e2af..be625fe0 100644
--- a/src/nmcli/meson.build
+++ b/src/nmcli/meson.build
@@ -87,7 +87,7 @@ if enable_docs
     ],
   )
 else
-  settings_docs_source = configure_file(
+  gen_metadata_nm_settings_nmcli_xml = configure_file(
     input: 'generate-docs-nm-settings-nmcli.xml.in',
     output: '@BASENAME@',
     configuration: configuration_data(),