From bba2e4b4de668db525cbfdfc35292e5a0b51671a Mon Sep 17 00:00:00 2001
From: Michael Biebl
Date: Thu, 22 Feb 2024 17:21:11 +0100
Subject: New upstream version 1.46.0
---
Makefile.am | 2 +
Makefile.in | 30 +
NEWS | 10 +-
configure | 28 +-
configure.ac | 4 +-
docs/api/html/NetworkManager-dispatcher.html | 82 ++
docs/api/html/NetworkManager.conf.html | 4 +
docs/api/html/NetworkManager.devhelp2 | 1 +
docs/api/html/index.html | 2 +-
docs/api/html/ix01.html | 20 +-
docs/api/html/nm-dbus-types.html | 17 +-
docs/api/html/nm-settings-dbus.html | 60 +-
docs/api/html/nm-settings-nmcli.html | 152 ++-
docs/api/html/settings-connection.html | 4 +-
docs/api/html/settings-generic.html | 11 +-
docs/api/html/settings-macsec.html | 12 +
docs/api/html/settings-sriov.html | 28 +
docs/api/settings-spec.xml | 28 +-
docs/api/version.xml | 2 +-
docs/libnm/html/NMSetting.html | 49 +
docs/libnm/html/NMSettingGeneric.html | 56 +-
docs/libnm/html/NMSettingMacsec.html | 95 ++
docs/libnm/html/NMSettingSriov.html | 298 +++-
docs/libnm/html/api-index-full.html | 92 ++
docs/libnm/html/index.html | 2 +-
docs/libnm/html/libnm-nm-dbus-interface.html | 38 +
docs/libnm/html/libnm-nm-version-macros.html | 4 +-
docs/libnm/html/libnm.devhelp2 | 37 +
docs/libnm/html/object-tree.html | 4 +
docs/libnm/html/usage.html | 2 +-
docs/libnm/libnm-sections.txt | 26 +
docs/libnm/libnm.types | 4 +
docs/libnm/version.xml | 2 +-
man/NetworkManager-dispatcher.8 | 105 +-
man/NetworkManager-dispatcher.xml | 84 ++
man/NetworkManager-wait-online.service.8 | 4 +-
man/NetworkManager.8 | 6 +-
man/NetworkManager.conf.5 | 10 +-
man/NetworkManager.conf.xml | 3 +
man/nm-cloud-setup.8 | 6 +-
man/nm-initrd-generator.8 | 6 +-
man/nm-online.1 | 6 +-
man/nm-openvswitch.7 | 6 +-
man/nm-settings-dbus.5 | 81 +-
man/nm-settings-dbus.xml | 30 +-
man/nm-settings-ifcfg-rh.5 | 6 +-
man/nm-settings-ifcfg-rh.xml | 2 +-
man/nm-settings-keyfile.5 | 6 +-
man/nm-settings-keyfile.xml | 2 +-
man/nm-settings-nmcli.5 | 74 +-
man/nm-settings-nmcli.xml | 19 +-
man/nmcli-examples.7 | 6 +-
man/nmcli.1 | 6 +-
man/nmtui.1 | 6 +-
meson.build | 2 +-
po/NetworkManager.pot | 1419 ++++++++++----------
src/core/devices/nm-device-factory.c | 17 +-
src/core/devices/nm-device-factory.h | 2 +
src/core/devices/nm-device-generic.c | 343 ++++-
src/core/devices/nm-device-generic.h | 3 +-
src/core/devices/nm-device-macsec.c | 17 +-
src/core/devices/nm-device-utils.c | 4 +-
src/core/devices/nm-device.c | 62 +-
src/core/dhcp/nm-dhcp-client.c | 6 +
src/core/ndisc/nm-ndisc.c | 10 +-
src/core/nm-config.c | 29 +-
src/core/nm-config.h | 5 +-
src/core/nm-dispatcher.c | 677 +++++++---
src/core/nm-dispatcher.h | 16 +
src/core/nm-manager.c | 18 +-
src/core/platform/tests/test-link.c | 12 +-
.../plugins/ifcfg-rh/nms-ifcfg-rh-reader.c | 2 +-
.../settings/plugins/ifcfg-rh/nms-ifcfg-rh-utils.c | 109 --
.../plugins/ifcfg-rh/nms-ifcfg-rh-writer.c | 2 +-
src/core/supplicant/nm-supplicant-config.c | 30 +-
src/core/supplicant/nm-supplicant-config.h | 7 +-
.../supplicant/nm-supplicant-settings-verify.c | 1 +
src/libnm-base/nm-base.h | 29 +
src/libnm-client-impl/libnm.ver | 10 +
src/libnm-core-aux-extern/nm-dispatcher-api.h | 2 +
.../gen-metadata-nm-settings-libnm-core.xml.in | 22 +-
src/libnm-core-impl/nm-connection.c | 7 +
src/libnm-core-impl/nm-setting-connection.c | 22 +-
src/libnm-core-impl/nm-setting-generic.c | 128 +-
src/libnm-core-impl/nm-setting-ip-config.c | 6 +-
src/libnm-core-impl/nm-setting-ip6-config.c | 22 +-
src/libnm-core-impl/nm-setting-macsec.c | 49 +-
src/libnm-core-impl/nm-setting-private.h | 96 +-
src/libnm-core-impl/nm-setting-sriov.c | 133 +-
src/libnm-core-impl/nm-setting-wireguard.c | 3 +-
src/libnm-core-impl/nm-setting.c | 153 ++-
src/libnm-core-impl/tests/test-setting.c | 37 +-
src/libnm-core-intern/nm-core-internal.h | 8 +-
src/libnm-core-public/nm-dbus-interface.h | 20 +
src/libnm-core-public/nm-dbus-types.xml | 5 +
src/libnm-core-public/nm-setting-generic.h | 5 +
src/libnm-core-public/nm-setting-macsec.h | 21 +
src/libnm-core-public/nm-setting-sriov.h | 64 +-
src/libnm-core-public/nm-setting.h | 3 +
src/libnm-core-public/nm-version-macros.h | 4 +-
src/libnm-glib-aux/nm-shared-utils.c | 111 ++
src/libnm-glib-aux/nm-shared-utils.h | 5 +
src/libnm-platform/devlink/nm-devlink.c | 365 +++++
src/libnm-platform/devlink/nm-devlink.h | 30 +
src/libnm-platform/meson.build | 1 +
src/libnm-platform/nm-linux-platform.c | 440 ++++--
src/libnm-platform/nm-platform.c | 19 +-
src/libnm-platform/nm-platform.h | 15 +-
src/libnmc-base/nm-client-utils.c | 4 +-
src/libnmc-base/nm-secret-agent-simple.c | 63 +-
src/libnmc-base/nm-secret-agent-simple.h | 1 +
src/libnmc-setting/nm-meta-setting-desc.c | 86 +-
src/libnmc-setting/settings-docs.h | 5 +
src/libnmc-setting/settings-docs.h.in | 5 +
src/nm-dispatcher/nm-dispatcher-utils.c | 30 +
src/nm-dispatcher/nm-dispatcher.c | 527 ++++++--
src/nmcli/common.c | 2 +-
src/nmcli/connections.c | 22 +-
src/nmcli/gen-metadata-nm-settings-nmcli.xml.in | 19 +
src/nmtui/nmt-page-bridge.c | 2 +-
src/nmtui/nmt-password-dialog.c | 2 +-
121 files changed, 5497 insertions(+), 1579 deletions(-)
create mode 100644 src/libnm-platform/devlink/nm-devlink.c
create mode 100644 src/libnm-platform/devlink/nm-devlink.h
diff --git a/Makefile.am b/Makefile.am
index 833e8046..1948fcc1 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -672,6 +672,8 @@ src_libnm_platform_libnm_platform_la_SOURCES = \
src/libnm-platform/nmp-object.h \
src/libnm-platform/nmp-plobj.c \
src/libnm-platform/nmp-plobj.h \
+ src/libnm-platform/devlink/nm-devlink.c \
+ src/libnm-platform/devlink/nm-devlink.h \
src/libnm-platform/wifi/nm-wifi-utils-nl80211.c \
src/libnm-platform/wifi/nm-wifi-utils-nl80211.h \
src/libnm-platform/wifi/nm-wifi-utils-private.h \
diff --git a/Makefile.in b/Makefile.in
index 0ac8d211..ce9b8030 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -1496,6 +1496,8 @@ am__src_libnm_platform_libnm_platform_la_SOURCES_DIST = \
src/libnm-platform/nmp-object.c \
src/libnm-platform/nmp-object.h src/libnm-platform/nmp-plobj.c \
src/libnm-platform/nmp-plobj.h \
+ src/libnm-platform/devlink/nm-devlink.c \
+ src/libnm-platform/devlink/nm-devlink.h \
src/libnm-platform/wifi/nm-wifi-utils-nl80211.c \
src/libnm-platform/wifi/nm-wifi-utils-nl80211.h \
src/libnm-platform/wifi/nm-wifi-utils-private.h \
@@ -1516,6 +1518,7 @@ am_src_libnm_platform_libnm_platform_la_OBJECTS = \
src/libnm-platform/libnm_platform_la-nmp-netns.lo \
src/libnm-platform/libnm_platform_la-nmp-object.lo \
src/libnm-platform/libnm_platform_la-nmp-plobj.lo \
+ src/libnm-platform/devlink/libnm_platform_la-nm-devlink.lo \
src/libnm-platform/wifi/libnm_platform_la-nm-wifi-utils-nl80211.lo \
src/libnm-platform/wifi/libnm_platform_la-nm-wifi-utils.lo \
src/libnm-platform/wpan/libnm_platform_la-nm-wpan-utils.lo \
@@ -3159,6 +3162,7 @@ am__depfiles_remade = examples/C/glib/$(DEPDIR)/add_connection_gdbus-add-connect
src/libnm-platform/$(DEPDIR)/libnm_platform_la-nmp-netns.Plo \
src/libnm-platform/$(DEPDIR)/libnm_platform_la-nmp-object.Plo \
src/libnm-platform/$(DEPDIR)/libnm_platform_la-nmp-plobj.Plo \
+ src/libnm-platform/devlink/$(DEPDIR)/libnm_platform_la-nm-devlink.Plo \
src/libnm-platform/tests/$(DEPDIR)/test_nm_platform-test-nm-platform.Po \
src/libnm-platform/wifi/$(DEPDIR)/libnm_platform_la-nm-wifi-utils-nl80211.Plo \
src/libnm-platform/wifi/$(DEPDIR)/libnm_platform_la-nm-wifi-utils-wext.Plo \
@@ -5673,6 +5677,8 @@ src_libnm_platform_libnm_platform_la_SOURCES = \
src/libnm-platform/nmp-object.c \
src/libnm-platform/nmp-object.h src/libnm-platform/nmp-plobj.c \
src/libnm-platform/nmp-plobj.h \
+ src/libnm-platform/devlink/nm-devlink.c \
+ src/libnm-platform/devlink/nm-devlink.h \
src/libnm-platform/wifi/nm-wifi-utils-nl80211.c \
src/libnm-platform/wifi/nm-wifi-utils-nl80211.h \
src/libnm-platform/wifi/nm-wifi-utils-private.h \
@@ -10652,6 +10658,15 @@ src/libnm-platform/libnm_platform_la-nmp-object.lo: \
src/libnm-platform/libnm_platform_la-nmp-plobj.lo: \
src/libnm-platform/$(am__dirstamp) \
src/libnm-platform/$(DEPDIR)/$(am__dirstamp)
+src/libnm-platform/devlink/$(am__dirstamp):
+ @$(MKDIR_P) src/libnm-platform/devlink
+ @: > src/libnm-platform/devlink/$(am__dirstamp)
+src/libnm-platform/devlink/$(DEPDIR)/$(am__dirstamp):
+ @$(MKDIR_P) src/libnm-platform/devlink/$(DEPDIR)
+ @: > src/libnm-platform/devlink/$(DEPDIR)/$(am__dirstamp)
+src/libnm-platform/devlink/libnm_platform_la-nm-devlink.lo: \
+ src/libnm-platform/devlink/$(am__dirstamp) \
+ src/libnm-platform/devlink/$(DEPDIR)/$(am__dirstamp)
src/libnm-platform/wifi/$(am__dirstamp):
@$(MKDIR_P) src/libnm-platform/wifi
@: > src/libnm-platform/wifi/$(am__dirstamp)
@@ -12060,6 +12075,8 @@ mostlyclean-compile:
-rm -f src/libnm-log-null/*.lo
-rm -f src/libnm-platform/*.$(OBJEXT)
-rm -f src/libnm-platform/*.lo
+ -rm -f src/libnm-platform/devlink/*.$(OBJEXT)
+ -rm -f src/libnm-platform/devlink/*.lo
-rm -f src/libnm-platform/tests/*.$(OBJEXT)
-rm -f src/libnm-platform/wifi/*.$(OBJEXT)
-rm -f src/libnm-platform/wifi/*.lo
@@ -12555,6 +12572,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@src/libnm-platform/$(DEPDIR)/libnm_platform_la-nmp-netns.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@src/libnm-platform/$(DEPDIR)/libnm_platform_la-nmp-object.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@src/libnm-platform/$(DEPDIR)/libnm_platform_la-nmp-plobj.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@src/libnm-platform/devlink/$(DEPDIR)/libnm_platform_la-nm-devlink.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@src/libnm-platform/tests/$(DEPDIR)/test_nm_platform-test-nm-platform.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@src/libnm-platform/wifi/$(DEPDIR)/libnm_platform_la-nm-wifi-utils-nl80211.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@src/libnm-platform/wifi/$(DEPDIR)/libnm_platform_la-nm-wifi-utils-wext.Plo@am__quote@ # am--include-marker
@@ -15741,6 +15759,13 @@ src/libnm-platform/libnm_platform_la-nmp-plobj.lo: src/libnm-platform/nmp-plobj.
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(src_libnm_platform_libnm_platform_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o src/libnm-platform/libnm_platform_la-nmp-plobj.lo `test -f 'src/libnm-platform/nmp-plobj.c' || echo '$(srcdir)/'`src/libnm-platform/nmp-plobj.c
+src/libnm-platform/devlink/libnm_platform_la-nm-devlink.lo: src/libnm-platform/devlink/nm-devlink.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(src_libnm_platform_libnm_platform_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT src/libnm-platform/devlink/libnm_platform_la-nm-devlink.lo -MD -MP -MF src/libnm-platform/devlink/$(DEPDIR)/libnm_platform_la-nm-devlink.Tpo -c -o src/libnm-platform/devlink/libnm_platform_la-nm-devlink.lo `test -f 'src/libnm-platform/devlink/nm-devlink.c' || echo '$(srcdir)/'`src/libnm-platform/devlink/nm-devlink.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/libnm-platform/devlink/$(DEPDIR)/libnm_platform_la-nm-devlink.Tpo src/libnm-platform/devlink/$(DEPDIR)/libnm_platform_la-nm-devlink.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/libnm-platform/devlink/nm-devlink.c' object='src/libnm-platform/devlink/libnm_platform_la-nm-devlink.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(src_libnm_platform_libnm_platform_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o src/libnm-platform/devlink/libnm_platform_la-nm-devlink.lo `test -f 'src/libnm-platform/devlink/nm-devlink.c' || echo '$(srcdir)/'`src/libnm-platform/devlink/nm-devlink.c
+
src/libnm-platform/wifi/libnm_platform_la-nm-wifi-utils-nl80211.lo: src/libnm-platform/wifi/nm-wifi-utils-nl80211.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(src_libnm_platform_libnm_platform_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT src/libnm-platform/wifi/libnm_platform_la-nm-wifi-utils-nl80211.lo -MD -MP -MF src/libnm-platform/wifi/$(DEPDIR)/libnm_platform_la-nm-wifi-utils-nl80211.Tpo -c -o src/libnm-platform/wifi/libnm_platform_la-nm-wifi-utils-nl80211.lo `test -f 'src/libnm-platform/wifi/nm-wifi-utils-nl80211.c' || echo '$(srcdir)/'`src/libnm-platform/wifi/nm-wifi-utils-nl80211.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/libnm-platform/wifi/$(DEPDIR)/libnm_platform_la-nm-wifi-utils-nl80211.Tpo src/libnm-platform/wifi/$(DEPDIR)/libnm_platform_la-nm-wifi-utils-nl80211.Plo
@@ -18387,6 +18412,7 @@ clean-libtool:
-rm -rf src/libnm-log-core/.libs src/libnm-log-core/_libs
-rm -rf src/libnm-log-null/.libs src/libnm-log-null/_libs
-rm -rf src/libnm-platform/.libs src/libnm-platform/_libs
+ -rm -rf src/libnm-platform/devlink/.libs src/libnm-platform/devlink/_libs
-rm -rf src/libnm-platform/tests/.libs src/libnm-platform/tests/_libs
-rm -rf src/libnm-platform/wifi/.libs src/libnm-platform/wifi/_libs
-rm -rf src/libnm-platform/wpan/.libs src/libnm-platform/wpan/_libs
@@ -19921,6 +19947,8 @@ distclean-generic:
-rm -f src/libnm-log-null/$(am__dirstamp)
-rm -f src/libnm-platform/$(DEPDIR)/$(am__dirstamp)
-rm -f src/libnm-platform/$(am__dirstamp)
+ -rm -f src/libnm-platform/devlink/$(DEPDIR)/$(am__dirstamp)
+ -rm -f src/libnm-platform/devlink/$(am__dirstamp)
-rm -f src/libnm-platform/tests/$(DEPDIR)/$(am__dirstamp)
-rm -f src/libnm-platform/tests/$(am__dirstamp)
-rm -f src/libnm-platform/wifi/$(DEPDIR)/$(am__dirstamp)
@@ -20442,6 +20470,7 @@ distclean: distclean-recursive
-rm -f src/libnm-platform/$(DEPDIR)/libnm_platform_la-nmp-netns.Plo
-rm -f src/libnm-platform/$(DEPDIR)/libnm_platform_la-nmp-object.Plo
-rm -f src/libnm-platform/$(DEPDIR)/libnm_platform_la-nmp-plobj.Plo
+ -rm -f src/libnm-platform/devlink/$(DEPDIR)/libnm_platform_la-nm-devlink.Plo
-rm -f src/libnm-platform/tests/$(DEPDIR)/test_nm_platform-test-nm-platform.Po
-rm -f src/libnm-platform/wifi/$(DEPDIR)/libnm_platform_la-nm-wifi-utils-nl80211.Plo
-rm -f src/libnm-platform/wifi/$(DEPDIR)/libnm_platform_la-nm-wifi-utils-wext.Plo
@@ -21125,6 +21154,7 @@ maintainer-clean: maintainer-clean-recursive
-rm -f src/libnm-platform/$(DEPDIR)/libnm_platform_la-nmp-netns.Plo
-rm -f src/libnm-platform/$(DEPDIR)/libnm_platform_la-nmp-object.Plo
-rm -f src/libnm-platform/$(DEPDIR)/libnm_platform_la-nmp-plobj.Plo
+ -rm -f src/libnm-platform/devlink/$(DEPDIR)/libnm_platform_la-nm-devlink.Plo
-rm -f src/libnm-platform/tests/$(DEPDIR)/test_nm_platform-test-nm-platform.Po
-rm -f src/libnm-platform/wifi/$(DEPDIR)/libnm_platform_la-nm-wifi-utils-nl80211.Plo
-rm -f src/libnm-platform/wifi/$(DEPDIR)/libnm_platform_la-nm-wifi-utils-wext.Plo
diff --git a/NEWS b/NEWS
index 01138b58..6ac3118d 100644
--- a/NEWS
+++ b/NEWS
@@ -36,8 +36,8 @@ Overview of changes since NetworkManager-1.44
* Support Ethtool EEE (Energy Efficient Ethernet) settings.
* Add options to prevent edns0 and trust-ad being automatically added to DNS
configuration.
-* Implement fwmark property for IP tunnels
-* Add support to HSR/PRP interfaces
+* Implement fwmark property for IP tunnels.
+* Add support to HSR/PRP interfaces.
* Deprecated connection.* properties master, slave-type, autoconnect-slaves
* Allow configuring static routes also when addresses is empty.
* VPN: accept pref-src for IPv6 routes from VPN plugins.
@@ -45,6 +45,12 @@ Overview of changes since NetworkManager-1.44
* Support modifying the DSCP header field for DHCP packets, and change the
default to CS0.
* Enable IPv4 DAD (Duplicate Address Detection) by default.
+* vpn: support 2FA authentication from VPN plugins.
+* nmtui: allow adding a bond as bridge port.
+* sriov: add support to configure the NIC's eswitch settings via Devlink.
+* ndisc: fix IPv6 address lifetimes computation.
+* Support the MACsec offload mode.
+* Support creating generic devices via external "device-handler" dispatcher.
* Documentation improvements.
* Many internal improvements and bug fixes.
diff --git a/configure b/configure
index f343607d..cf24cb99 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.45.91.
+# Generated by GNU Autoconf 2.71 for NetworkManager 1.46.0.
#
# Report bugs to .
#
@@ -622,8 +622,8 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='NetworkManager'
PACKAGE_TARNAME='NetworkManager'
-PACKAGE_VERSION='1.45.91'
-PACKAGE_STRING='NetworkManager 1.45.91'
+PACKAGE_VERSION='1.46.0'
+PACKAGE_STRING='NetworkManager 1.46.0'
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.45.91 to adapt to many kinds of systems.
+\`configure' configures NetworkManager 1.46.0 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.45.91:";;
+ short | recursive ) echo "Configuration of NetworkManager 1.46.0:";;
esac
cat <<\_ACEOF
@@ -2172,7 +2172,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-NetworkManager configure 1.45.91
+NetworkManager configure 1.46.0
generated by GNU Autoconf 2.71
Copyright (C) 2021 Free Software Foundation, Inc.
@@ -2893,7 +2893,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.45.91, which was
+It was created by NetworkManager $as_me 1.46.0, which was
generated by GNU Autoconf 2.71. Invocation command line was
$ $0$ac_configure_args_raw
@@ -4389,7 +4389,7 @@ fi
# Define the identity of the package.
PACKAGE='NetworkManager'
- VERSION='1.45.91'
+ VERSION='1.46.0'
printf "%s\n" "#define PACKAGE \"$PACKAGE\"" >>confdefs.h
@@ -19297,9 +19297,9 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
NM_MAJOR_VERSION=1
-NM_MINOR_VERSION=45
-NM_MICRO_VERSION=91
-NM_VERSION=1.45.91
+NM_MINOR_VERSION=46
+NM_MICRO_VERSION=0
+NM_VERSION=1.46.0
@@ -19307,7 +19307,7 @@ NM_VERSION=1.45.91
-NM_GIT_SHA=87764094834398d7a3196e10a7bfb0441cdbd14b
+NM_GIT_SHA=e39f48a30a2ef7b445276a859bbd5255e4c5071d
if test """" != "no-config-h" ; then
@@ -32687,7 +32687,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.45.91, which was
+This file was extended by NetworkManager $as_me 1.46.0, which was
generated by GNU Autoconf 2.71. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -32755,7 +32755,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.45.91
+NetworkManager config.status 1.46.0
configured by $0, generated by GNU Autoconf 2.71,
with options \\"\$ac_cs_config\\"
diff --git a/configure.ac b/configure.ac
index 9b594e41..9bc5dc51 100644
--- a/configure.ac
+++ b/configure.ac
@@ -7,8 +7,8 @@ dnl - add corresponding NM_VERSION_x_y_z macros in
dnl "shared/nm-version-macros.h.in"
dnl - update number in meson.build
m4_define([nm_major_version], [1])
-m4_define([nm_minor_version], [45])
-m4_define([nm_micro_version], [91])
+m4_define([nm_minor_version], [46])
+m4_define([nm_micro_version], [0])
m4_define([nm_version],
[nm_major_version.nm_minor_version.nm_micro_version])
diff --git a/docs/api/html/NetworkManager-dispatcher.html b/docs/api/html/NetworkManager-dispatcher.html
index b8ef62c3..cf1c55dd 100644
--- a/docs/api/html/NetworkManager-dispatcher.html
+++ b/docs/api/html/NetworkManager-dispatcher.html
@@ -169,6 +169,69 @@
looking at file /run/NetworkManager/resolv.conf
+
+device-add
|
+
+
+ This action is called when a connection of type generic
+ has the generic.device-handler property set. The property
+ indicates the name of a dispatcher script to be executed in directory
+ /{etc,usr/lib}/NetworkManager/dispatcher.d/device. Note
+ that differently from other actions, only one script is executed.
+
+
+ The script needs to perform any action needed to create the device
+ for the generic connection. On successful termination, the script
+ returns zero. Otherwise, it returns a non-zero value to indicate an
+ error. The script can return values to NetworkManager by writing to
+ standard output; each line should contain a key name followed by the
+ equal sign '=' and a key value. The keys understood at the moment
+ are:
+
+
+
+
+
+
+
+
+IFINDEX
|
+ Indicates the interface index of the interface
+ created by the script. This key is required when the script
+ succeeds; if it is not set, the activation will fail. The key is
+ ignored in case of script failure. |
+
+
+ERROR
|
+ Specifies an error message indicating the cause
+ of the script failure. It is ignored when the script succeeds.
+ |
+
+
+
+
+ Since the dispatcher service captures stdout for parsing those keys,
+ anything written to stdout will not appear in the dispatcher service
+ journal log. Use stderr if you want to print messages to the journal
+ (for example, for debugging). Only the first 8KiB of stdout are
+ considered and among those, only the first 64 lines; the rest is
+ ignored.
+
+ |
+
+
+device-delete
|
+
+ This action is the counterpart of device-add and
+ is called to delete the device for a generic connection. All the
+ aspects described for device-add also apply to
+ this action, with the only exception that key
+ IFINDEX is ignored. It is not necessary to delete
+ the kernel link in the handler because NetworkManager already does
+ that; therefore the action is useful for any additional cleanup
+ needed.
+ |
+
@@ -314,6 +377,25 @@
In case of VPN, VPN_IP_IFACE is set, and IP4_*, IP6_* variables with VPN prefix are
exported too, like VPN_IP4_ADDRESS_0, VPN_IP4_NUM_ADDRESSES.
+
+ The content of the user setting for the connection
+ being activated is also passed via environment variables. Each key is
+ stored in a variable with name CONNECTION_USER_
+ concatenated with the encoding of the key name. The encoding works as
+ follows:
+
+
+lowercase letters become uppercase
+uppercase letters are prefixed with an underscore
+numbers do not change
+a dot is replaced with a double underscore
+any other character is encoded with an underscore followed by
+ its 3-digit octal representation
+
+
+ For example, key test.foo-Bar2 is stored in a variable named
+ CONNECTION_USER_TEST__FOO_055_BAR2.
+
Dispatcher scripts are run one at a time, but asynchronously from the main
NetworkManager process, and will be killed if they run for too long. If your script
diff --git a/docs/api/html/NetworkManager.conf.html b/docs/api/html/NetworkManager.conf.html
index 67aa539e..aee3ac66 100644
--- a/docs/api/html/NetworkManager.conf.html
+++ b/docs/api/html/NetworkManager.conf.html
@@ -995,6 +995,10 @@ ipv6.ip6-privacy=0
If configured explicitly to 0, the MTU is not reconfigured during device activation unless it is required due to IPv6 constraints. If left unspecified, a DHCP/IPv6 SLAAC provided value is used or the MTU is left unspecified on activation. |
+macsec.offload
|
+ |
+
+
sriov.autoprobe-drivers
|
If left unspecified, drivers are autoprobed when the SR-IOV VF gets created. |
diff --git a/docs/api/html/NetworkManager.devhelp2 b/docs/api/html/NetworkManager.devhelp2
index 252bb748..6e0036ab 100644
--- a/docs/api/html/NetworkManager.devhelp2
+++ b/docs/api/html/NetworkManager.devhelp2
@@ -746,6 +746,7 @@
+
diff --git a/docs/api/html/index.html b/docs/api/html/index.html
index e015aaca..f43e0514 100644
--- a/docs/api/html/index.html
+++ b/docs/api/html/index.html
@@ -16,7 +16,7 @@
NetworkManager Reference Manual |
|---|
- for NetworkManager 1.45.91
+ for NetworkManager 1.46.0
The latest version of this documentation can be found on-line at
https://networkmanager.dev/docs/api/latest/.
diff --git a/docs/api/html/ix01.html b/docs/api/html/ix01.html
index 04d94335..6dc24c5d 100644
--- a/docs/api/html/ix01.html
+++ b/docs/api/html/ix01.html
@@ -700,6 +700,8 @@
devargs, ovs-dpdk
+
device-handler, generic
+
device-id, gsm
org.freedesktop.NetworkManager.Device.Wired, org.freedesktop.NetworkManager.Device.Wired
@@ -825,6 +827,12 @@
encrypt, macsec
+
eswitch-encap-mode, sriov
+
+
eswitch-inline-mode, sriov
+
+
eswitch-mode, sriov
+
@@ -1256,6 +1264,8 @@
O
+- offload, macsec
+
- ofport-request, ovs-interface
- only-from-default, hostname
@@ -1363,7 +1373,7 @@
- pmf, 802-11-wireless-security
-- port, macsec, 802-3-ethernet
+
- port, macsec, 802-3-ethernet
- port-type, connection
@@ -1522,7 +1532,7 @@
- send-delay, serial
-- send-sci, macsec
+
- send-sci, macsec
- service, pppoe
@@ -1579,7 +1589,7 @@
- tos, ip-tunnel, vxlan
-- total-vfs, sriov
+
- total-vfs, sriov
- transport-mode, infiniband
@@ -1609,11 +1619,11 @@
V
-- validation, macsec
+
- validation, macsec
- vci, adsl
-- vfs, sriov
+
- vfs, sriov
- vlan-default-pvid, bridge
diff --git a/docs/api/html/nm-dbus-types.html b/docs/api/html/nm-dbus-types.html
index c59dfbb2..96afcda9 100644
--- a/docs/api/html/nm-dbus-types.html
+++ b/docs/api/html/nm-dbus-types.html
@@ -3129,6 +3129,21 @@
|
+
+|
+ NM_DEVICE_STATE_REASON_DEVICE_HANDLER_FAILED
+
+ |
+
+ = 68
+
+ |
+
+ The device handler dispatcher returned an error. Since: 1.46
+
+ |
+ |
+
@@ -3136,7 +3151,7 @@
enum NMMetered
-
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.
+
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.
For the connection profile only NM_METERED_UNKNOWN, NM_METERED_NO and NM_METERED_YES are allowed.
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.
Most applications probably should treat the runtime state NM_METERED_GUESS_YES like NM_METERED_YES, and all other states as not metered.
diff --git a/docs/api/html/nm-settings-dbus.html b/docs/api/html/nm-settings-dbus.html
index 9f5c9842..52539c2e 100644
--- a/docs/api/html/nm-settings-dbus.html
+++ b/docs/api/html/nm-settings-dbus.html
@@ -137,8 +137,8 @@ Depending on "connection.multi-connect", a profile can (auto)connect only once a
|
autoconnect-ports |
-NMTernary (int32) |
- |
+int32 |
+-1 |
Whether or not ports of this connection should be automatically brought up when NetworkManager activates this connection. This only has a real effect for controller connections. The properties "autoconnect", "autoconnect-priority" and "autoconnect-retries" are unrelated to this setting. The permitted values are: 0: leave port connections untouched, 1: activate all the port connections with this connection, -1: default. If -1 (default) is set, global connection.autoconnect-ports is read to determine the real value. If it is default as well, this fallbacks to 0. |
@@ -1475,7 +1475,17 @@ Since 1.34, NULL is the default and means "fabric". Before 1.34, NULL was reject
| Default Value |
Value Description |
-
+
+|
+device-handler |
+string |
+ |
+Name of the device handler that will be invoked to add and delete the device for this connection. The name can only contain ASCII alphanumeric characters and '-', '_', '.'. It cannot start with '.'.
+
+See the NetworkManager-dispatcher(8) man page for more details about how to write the device handler.
+
+By setting this property the generic connection becomes "virtual", meaning that it can be activated without an existing device; the device will be created at the time the connection is started by invoking the device-handler. |
+
@@ -2570,6 +2580,19 @@ When set, the token is used as IPv6 interface identifier instead of the hardware
|
+offload |
+int32 |
+-1 |
+Specifies the MACsec offload mode.
+
+0 (off) disables MACsec offload.
+
+1 (phy) and 2 (mac) request offload respectively to the PHY or to the MAC; if the selected mode is not available, the connection will fail.
+
+-1 (default) uses the global default value specified in NetworkManager configuration; if no global default is defined, the built-in default is 0 (off). |
+
+
+|
parent |
string |
|
@@ -3334,6 +3357,37 @@ When set to -1 (default), the global default is used; in case the global default
|
+eswitch-encap-mode |
+int32 |
+-1 |
+Select the eswitch encapsulation support.
+
+Currently it's only supported for PCI PF devices, and only if the eswitch device is managed from the same PCI address than the PF.
+
+If set to -1 (preserve) (default) the eswitch encap-mode won't be modified by NetworkManager. |
+
+
+|
+eswitch-inline-mode |
+int32 |
+-1 |
+Select the eswitch inline-mode of the device. Some HWs need the VF driver to put part of the packet headers on the TX descriptor so the e-switch can do proper matching and steering.
+
+Currently it's only supported for PCI PF devices, and only if the eswitch device is managed from the same PCI address than the PF.
+
+If set to -1 (preserve) (default) the eswitch inline-mode won't be modified by NetworkManager. |
+
+
+|
+eswitch-mode |
+int32 |
+-1 |
+Select the eswitch mode of the device. Currently it's only supported for PCI PF devices, and only if the eswitch device is managed from the same PCI address than the PF.
+
+If set to -1 (preserve) (default) the eswitch mode won't be modified by NetworkManager. |
+
+
+|
total-vfs |
uint32 |
0 |
diff --git a/docs/api/html/nm-settings-nmcli.html b/docs/api/html/nm-settings-nmcli.html
index 84406d4a..9d266d92 100644
--- a/docs/api/html/nm-settings-nmcli.html
+++ b/docs/api/html/nm-settings-nmcli.html
@@ -2488,7 +2488,31 @@
-
gsm setting
+
generic setting
+
Generic Link Settings.
+
+ Properties:
+
+
+
+
+
+
+
+generic.device-handler
|
+
+ Name of the device handler that will be invoked to add and delete the device for this connection. The name can only contain ASCII alphanumeric characters and '-', '_', '.'. It cannot start with '.'.
+See the NetworkManager-dispatcher(8) man page for more details about how to write the device handler.
+By setting this property the generic connection becomes "virtual", meaning that it can be activated without an existing device; the device will be created at the time the connection is started by invoking the device-handler.
+
+ Format: string
+ |
+
+
+
+
+
+
gsm setting
GSM-based Mobile Broadband Settings.
Properties:
@@ -2654,7 +2678,7 @@
-
infiniband setting
+
infiniband setting
Infiniband Settings.
Properties:
@@ -2730,7 +2754,7 @@
-
ipv4 setting
+
ipv4 setting
IPv4 Settings.
Properties:
@@ -3150,7 +3174,7 @@ Example: priority 5 from 192.167.4.0/24 table 45
-
ipv6 setting
+
ipv6 setting
IPv6 Settings.
Properties:
@@ -3563,7 +3587,7 @@ Example: priority 5 from 1:2:3::5/128 table 45
-
ip-tunnel setting
+
ip-tunnel setting
IP Tunneling Settings.
Properties:
@@ -3717,7 +3741,7 @@ Example: priority 5 from 1:2:3::5/128 table 45
-
macsec setting
+
macsec setting
MACSec Settings.
Properties:
@@ -3783,6 +3807,19 @@ Example: priority 5 from 1:2:3::5/128 table 45
+macsec.offload
|
+
+ Specifies the MACsec offload mode.
+"off" (0) disables MACsec offload.
+"phy" (1) and "mac" (2) request offload respectively to the PHY or to the MAC; if the selected mode is not available, the connection will fail.
+"default" (-1) uses the global default value specified in NetworkManager configuration; if no global default is defined, the built-in default is "off" (0).
+
+ Format: choice (NMSettingMacsecOffload)
+
+ Valid values: default (-1), off (0), phy (1), mac (2)
+ |
+
+
macsec.parent
|
@@ -3829,7 +3866,7 @@ Example: priority 5 from 1:2:3::5/128 table 45
- macvlan setting
+ macvlan setting
MAC VLAN Settings.
Properties:
@@ -3889,7 +3926,7 @@ Example: priority 5 from 1:2:3::5/128 table 45
- match setting
+ match setting
Match settings.
Properties:
@@ -3944,7 +3981,7 @@ Example: priority 5 from 1:2:3::5/128 table 45
- 802-11-olpc-mesh setting
+ 802-11-olpc-mesh setting
Alias: olpc-mesh
OLPC Wireless Mesh Settings.
@@ -3995,7 +4032,7 @@ Example: priority 5 from 1:2:3::5/128 table 45
- ovs-bridge setting
+ ovs-bridge setting
OvsBridge Link Settings.
Properties:
@@ -4061,7 +4098,7 @@ Example: priority 5 from 1:2:3::5/128 table 45
- ovs-dpdk setting
+ ovs-dpdk setting
OvsDpdk Link Settings.
Properties:
@@ -4115,7 +4152,7 @@ Example: priority 5 from 1:2:3::5/128 table 45
- ovs-interface setting
+ ovs-interface setting
Open vSwitch Interface Settings.
Properties:
@@ -4151,7 +4188,7 @@ Example: priority 5 from 1:2:3::5/128 table 45
- ovs-patch setting
+ ovs-patch setting
OvsPatch Link Settings.
Properties:
@@ -4173,7 +4210,7 @@ Example: priority 5 from 1:2:3::5/128 table 45
- ovs-port setting
+ ovs-port setting
OvsPort Link Settings.
Properties:
@@ -4258,7 +4295,7 @@ Example: priority 5 from 1:2:3::5/128 table 45
- ppp setting
+ ppp setting
Point-to-Point Protocol Settings.
Properties:
@@ -4454,7 +4491,7 @@ Example: priority 5 from 1:2:3::5/128 table 45
- pppoe setting
+ pppoe setting
PPP-over-Ethernet Settings.
Properties:
@@ -4520,7 +4557,7 @@ Example: priority 5 from 1:2:3::5/128 table 45
- proxy setting
+ proxy setting
WWW Proxy Settings.
Properties:
@@ -4580,7 +4617,7 @@ Example: priority 5 from 1:2:3::5/128 table 45
- serial setting
+ serial setting
Serial Link Settings.
Properties:
@@ -4646,7 +4683,7 @@ Example: priority 5 from 1:2:3::5/128 table 45
- sriov setting
+ sriov setting
SR-IOV settings.
Properties:
@@ -4671,6 +4708,41 @@ Example: priority 5 from 1:2:3::5/128 table 45
|
+sriov.eswitch-encap-mode
|
+
+ Select the eswitch encapsulation support.
+Currently it's only supported for PCI PF devices, and only if the eswitch device is managed from the same PCI address than the PF.
+If set to "preserve" (-1) (default) the eswitch encap-mode won't be modified by NetworkManager.
+
+ Format: choice (NMSriovEswitchEncapMode)
+
+ Valid values: preserve (-1), none (0), basic (1)
+ |
+
+
+sriov.eswitch-inline-mode
|
+
+ Select the eswitch inline-mode of the device. Some HWs need the VF driver to put part of the packet headers on the TX descriptor so the e-switch can do proper matching and steering.
+Currently it's only supported for PCI PF devices, and only if the eswitch device is managed from the same PCI address than the PF.
+If set to "preserve" (-1) (default) the eswitch inline-mode won't be modified by NetworkManager.
+
+ Format: choice (NMSriovEswitchInlineMode)
+
+ Valid values: preserve (-1), none (0), link (1), network (2), transport (3)
+ |
+
+
+sriov.eswitch-mode
|
+
+ Select the eswitch mode of the device. Currently it's only supported for PCI PF devices, and only if the eswitch device is managed from the same PCI address than the PF.
+If set to "preserve" (-1) (default) the eswitch mode won't be modified by NetworkManager.
+
+ Format: choice (NMSriovEswitchMode)
+
+ Valid values: preserve (-1), legacy (0), switchdev (1)
+ |
+
+
sriov.total-vfs
|
The total number of virtual functions to create.
@@ -4703,7 +4775,7 @@ Example: priority 5 from 1:2:3::5/128 table 45
- tc setting
+ tc setting
Linux Traffic Control Settings.
Properties:
@@ -5080,7 +5152,7 @@ Linux traffic control subsystem
- team setting
+ team setting
Teaming Settings.
Properties:
@@ -5268,7 +5340,7 @@ Linux traffic control subsystem
- team-port setting
+ team-port setting
Team Port Settings.
Properties:
@@ -5360,7 +5432,7 @@ Linux traffic control subsystem
- tun setting
+ tun setting
Tunnel Settings.
Properties:
@@ -5444,7 +5516,7 @@ Linux traffic control subsystem
- vlan setting
+ vlan setting
VLAN Settings.
Properties:
@@ -5526,7 +5598,7 @@ Linux traffic control subsystem
- vpn setting
+ vpn setting
VPN Settings.
Properties:
@@ -5598,7 +5670,7 @@ Linux traffic control subsystem
- vrf setting
+ vrf setting
VRF settings.
Properties:
@@ -5624,7 +5696,7 @@ Linux traffic control subsystem
- vxlan setting
+ vxlan setting
VXLAN Settings.
Properties:
@@ -5808,7 +5880,7 @@ Linux traffic control subsystem
- wifi-p2p setting
+ wifi-p2p setting
Wi-Fi P2P Settings.
Properties:
@@ -5854,7 +5926,7 @@ Linux traffic control subsystem
- wimax setting
+ wimax setting
WiMax Settings.
Properties:
@@ -5896,7 +5968,7 @@ Linux traffic control subsystem
- 802-3-ethernet setting
+ 802-3-ethernet setting
Alias: ethernet
Wired Ethernet Settings.
@@ -6064,7 +6136,7 @@ Linux traffic control subsystem
- wireguard setting
+ wireguard setting
WireGuard Settings.
Properties:
@@ -6163,7 +6235,7 @@ Linux traffic control subsystem
- 802-11-wireless setting
+ 802-11-wireless setting
Alias: wifi
Wi-Fi Settings.
@@ -6357,7 +6429,7 @@ Linux traffic control subsystem
- 802-11-wireless-security setting
+ 802-11-wireless-security setting
Alias: wifi-sec
Wi-Fi Security Settings.
@@ -6564,7 +6636,7 @@ Linux traffic control subsystem
- wpan setting
+ wpan setting
IEEE 802.15.4 (WPAN) MAC Settings.
Properties:
@@ -6646,7 +6718,7 @@ Linux traffic control subsystem
- bond-port setting
+ bond-port setting
Bond Port Settings.
Properties:
@@ -6686,7 +6758,7 @@ Linux traffic control subsystem
- hostname setting
+ hostname setting
Hostname settings.
Properties:
@@ -6748,7 +6820,7 @@ Linux traffic control subsystem
- hsr setting
+ hsr setting
HSR/PRP Settings.
Properties:
@@ -6806,7 +6878,7 @@ Linux traffic control subsystem
- link setting
+ link setting
Link settings.
Properties:
@@ -6870,7 +6942,7 @@ Linux traffic control subsystem
- loopback setting
+ loopback setting
Loopback Link Settings.
Properties:
@@ -6896,7 +6968,7 @@ Linux traffic control subsystem
- veth setting
+ veth setting
Veth Settings.
Properties:
diff --git a/docs/api/html/settings-connection.html b/docs/api/html/settings-connection.html
index f450a596..afd9d6cc 100644
--- a/docs/api/html/settings-connection.html
+++ b/docs/api/html/settings-connection.html
@@ -77,8 +77,8 @@ Depending on "connection.multi-connect", a profile can (auto)connect only once a
|
autoconnect-ports |
-NMTernary (int32) |
- |
+int32 |
+-1 |
Whether or not ports of this connection should be automatically brought up when NetworkManager activates this connection. This only has a real effect for controller connections. The properties "autoconnect", "autoconnect-priority" and "autoconnect-retries" are unrelated to this setting. The permitted values are: 0: leave port connections untouched, 1: activate all the port connections with this connection, -1: default. If -1 (default) is set, global connection.autoconnect-ports is read to determine the real value. If it is default as well, this fallbacks to 0. |
diff --git a/docs/api/html/settings-generic.html b/docs/api/html/settings-generic.html
index 4beac3ac..3594cb94 100644
--- a/docs/api/html/settings-generic.html
+++ b/docs/api/html/settings-generic.html
@@ -52,7 +52,16 @@
| Default Value |
Value Description |
-
+
+device-handler |
+string |
+ |
+Name of the device handler that will be invoked to add and delete the device for this connection. The name can only contain ASCII alphanumeric characters and '-', '_', '.'. It cannot start with '.'.
+
+See the NetworkManager-dispatcher(8) man page for more details about how to write the device handler.
+
+By setting this property the generic connection becomes "virtual", meaning that it can be activated without an existing device; the device will be created at the time the connection is started by invoking the device-handler. |
+
diff --git a/docs/api/html/settings-macsec.html b/docs/api/html/settings-macsec.html
index 13977556..8ae1020f 100644
--- a/docs/api/html/settings-macsec.html
+++ b/docs/api/html/settings-macsec.html
@@ -84,6 +84,18 @@
Specifies how the CAK (Connectivity Association Key) for MKA (MACsec Key Agreement) is obtained. |
+offload |
+int32 |
+-1 |
+Specifies the MACsec offload mode.
+
+0 (off) disables MACsec offload.
+
+1 (phy) and 2 (mac) request offload respectively to the PHY or to the MAC; if the selected mode is not available, the connection will fail.
+
+-1 (default) uses the global default value specified in NetworkManager configuration; if no global default is defined, the built-in default is 0 (off). |
+
+
parent |
string |
|
diff --git a/docs/api/html/settings-sriov.html b/docs/api/html/settings-sriov.html
index 3d3b9aa5..72aa72ef 100644
--- a/docs/api/html/settings-sriov.html
+++ b/docs/api/html/settings-sriov.html
@@ -66,6 +66,34 @@ If set to 0 (false), VFs will not be claimed and no network interfaces will be c
When set to -1 (default), the global default is used; in case the global default is unspecified it is assumed to be 1 (true).
+eswitch-encap-mode |
+int32 |
+-1 |
+Select the eswitch encapsulation support.
+
+Currently it's only supported for PCI PF devices, and only if the eswitch device is managed from the same PCI address than the PF.
+
+If set to -1 (preserve) (default) the eswitch encap-mode won't be modified by NetworkManager. |
+
+
+eswitch-inline-mode |
+int32 |
+-1 |
+Select the eswitch inline-mode of the device. Some HWs need the VF driver to put part of the packet headers on the TX descriptor so the e-switch can do proper matching and steering.
+
+Currently it's only supported for PCI PF devices, and only if the eswitch device is managed from the same PCI address than the PF.
+
+If set to -1 (preserve) (default) the eswitch inline-mode won't be modified by NetworkManager. |
+
+
+eswitch-mode |
+int32 |
+-1 |
+Select the eswitch mode of the device. Currently it's only supported for PCI PF devices, and only if the eswitch device is managed from the same PCI address than the PF.
+
+If set to -1 (preserve) (default) the eswitch mode won't be modified by NetworkManager. |
+
+
total-vfs |
uint32 |
0 |
diff --git a/docs/api/settings-spec.xml b/docs/api/settings-spec.xml
index bdff11c1..3a1105e0 100644
--- a/docs/api/settings-spec.xml
+++ b/docs/api/settings-spec.xml
@@ -12,7 +12,7 @@ Note that autoconnect is not implemented for VPN profiles. See "secondaries" as
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.autoconnect-portsautoconnect-portsNMTernary (int32)Whether or not ports of this connection should be automatically brought up when NetworkManager activates this connection. This only has a real effect for controller connections. The properties "autoconnect", "autoconnect-priority" and "autoconnect-retries" are unrelated to this setting. The permitted values are: 0: leave port connections untouched, 1: activate all the port connections with this connection, -1: default. If -1 (default) is set, global connection.autoconnect-ports is read to determine the real value. If it is default as well, this fallbacks to 0.
autoconnect-priorityautoconnect-priorityint320The 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.
autoconnect-retriesautoconnect-retriesint32-1The 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.
autoconnect-slavesautoconnect-slavesNMSettingConnectionAutoconnectSlaves (int32)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.
controllercontrollerstringInterface name of the controller device or UUID of the controller connection.
dns-over-tlsdns-over-tlsint32-1Whether DNSOverTls (dns-over-tls) is enabled for the connection. DNSOverTls is a technology which uses TLS to encrypt dns traffic.
+Depending on "connection.multi-connect", a profile can (auto)connect only once at a time or multiple times.
autoconnect-portsautoconnect-portsint32-1Whether or not ports of this connection should be automatically brought up when NetworkManager activates this connection. This only has a real effect for controller connections. The properties "autoconnect", "autoconnect-priority" and "autoconnect-retries" are unrelated to this setting. The permitted values are: 0: leave port connections untouched, 1: activate all the port connections with this connection, -1: default. If -1 (default) is set, global connection.autoconnect-ports is read to determine the real value. If it is default as well, this fallbacks to 0.
autoconnect-priorityautoconnect-priorityint320The 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.
autoconnect-retriesautoconnect-retriesint32-1The 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.
autoconnect-slavesautoconnect-slavesNMSettingConnectionAutoconnectSlaves (int32)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.
controllercontrollerstringInterface name of the controller device or UUID of the controller connection.
dns-over-tlsdns-over-tlsint32-1Whether 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.
@@ -142,7 +142,11 @@ Since 1.34, NULL is the default and means "fabric". Before 1.34, NULL was reject
Properties
Key NameValue TypeDefault ValueValue Description
genericGeneric Link Settings
Properties
- Key NameValue TypeDefault ValueValue Description
gsmGSM-based Mobile Broadband Settings
+ Key NameValue TypeDefault ValueValue Description
device-handlerdevice-handlerstringName of the device handler that will be invoked to add and delete the device for this connection. The name can only contain ASCII alphanumeric characters and '-', '_', '.'. It cannot start with '.'.
+
+See the NetworkManager-dispatcher(8) man page for more details about how to write the device handler.
+
+By setting this property the generic connection becomes "virtual", meaning that it can be activated without an existing device; the device will be created at the time the connection is started by invoking the device-handler.
gsmGSM-based Mobile Broadband Settings
Properties
Key NameValue TypeDefault ValueValue Description
apnapnstringThe 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.
@@ -356,7 +360,13 @@ When set, the token is used as IPv6 interface identifier instead of the hardware
Properties
Key NameValue TypeDefault ValueValue Description
encapsulation-limitencapsulation-limituint320How many additional levels of encapsulation are permitted to be prepended to packets. This property applies only to IPv6 tunnels. To disable this option, add 0x1 (ip6-ign-encap-limit) to ip-tunnel flags.
flagsflagsuint320Tunnel flags. Currently, the following values are supported: 0x1 (ip6-ign-encap-limit), 0x2 (ip6-use-orig-tclass), 0x4 (ip6-use-orig-flowlabel), 0x8 (ip6-mip6-dev), 0x10 (ip6-rcv-dscp-copy), 0x20 (ip6-use-orig-fwmark). They are valid only for IPv6 tunnels.
flow-labelflow-labeluint320The flow label to assign to tunnel packets. This property applies only to IPv6 tunnels.
fwmarkfwmarkuint320The fwmark value to assign to tunnel packets. This property can be set to a non zero value only on VTI and VTI6 tunnels.
input-keyinput-keystringThe key used for tunnel input packets; the property is valid only for certain tunnel modes (GRE, IP6GRE). If empty, no key is used.
locallocalstringThe local endpoint of the tunnel; the value can be empty, otherwise it must contain an IPv4 or IPv6 address.
modemodeuint320The tunneling mode. Valid values: 1 (ipip), 2 (gre), 3 (sit), 4 (isatap), 5 (vti), 6 (ip6ip6), 7 (ipip6), 8 (ip6gre), 9 (vti6), 10 (gretap) and 11 (ip6gretap)
mtumtuuint320If non-zero, only transmit packets of the specified size or smaller, breaking larger packets up into multiple fragments.
output-keyoutput-keystringThe key used for tunnel output packets; the property is valid only for certain tunnel modes (GRE, IP6GRE). If empty, no key is used.
parentparentstringIf given, specifies the parent interface name or parent connection UUID the new device will be bound to so that tunneled packets will only be routed via that interface.
path-mtu-discoverypath-mtu-discoverybooleanTRUEWhether to enable Path MTU Discovery on this tunnel.
remoteremotestringThe remote endpoint of the tunnel; the value must contain an IPv4 or IPv6 address.
tostosuint320The type of service (IPv4) or traffic class (IPv6) field to be set on tunneled packets.
ttlttluint320The TTL to assign to tunneled packets. 0 is a special value meaning that packets inherit the TTL value.
macsecMACSec Settings
Properties
- Key NameValue TypeDefault ValueValue Description
encryptencryptbooleanTRUEWhether the transmitted traffic must be encrypted.
mka-cakmka-cakstringThe pre-shared CAK (Connectivity Association Key) for MACsec Key Agreement. Must be a string of 32 hexadecimal characters.
mka-cak-flagsmka-cak-flagsNMSettingSecretFlags (uint32)Flags indicating how to handle the "mka-cak" property.
mka-cknmka-cknstringThe pre-shared CKN (Connectivity-association Key Name) for MACsec Key Agreement. Must be a string of hexadecimal characters with a even length between 2 and 64.
modemodeint320Specifies how the CAK (Connectivity Association Key) for MKA (MACsec Key Agreement) is obtained.
parentparentstringIf given, specifies the parent interface name or parent connection UUID from which this MACSEC interface should be created. If this property is not specified, the connection must contain an "802-3-ethernet" setting with a "mac-address" property.
portportint321The port component of the SCI (Secure Channel Identifier), between 1 and 65534.
send-scisend-scibooleanTRUESpecifies whether the SCI (Secure Channel Identifier) is included in every packet.
validationvalidationint322Specifies the validation mode for incoming frames.
macvlanMAC VLAN Settings
+ Key NameValue TypeDefault ValueValue Description
encryptencryptbooleanTRUEWhether the transmitted traffic must be encrypted.
mka-cakmka-cakstringThe pre-shared CAK (Connectivity Association Key) for MACsec Key Agreement. Must be a string of 32 hexadecimal characters.
mka-cak-flagsmka-cak-flagsNMSettingSecretFlags (uint32)Flags indicating how to handle the "mka-cak" property.
mka-cknmka-cknstringThe pre-shared CKN (Connectivity-association Key Name) for MACsec Key Agreement. Must be a string of hexadecimal characters with a even length between 2 and 64.
modemodeint320Specifies how the CAK (Connectivity Association Key) for MKA (MACsec Key Agreement) is obtained.
offloadoffloadint32-1Specifies the MACsec offload mode.
+
+0 (off) disables MACsec offload.
+
+1 (phy) and 2 (mac) request offload respectively to the PHY or to the MAC; if the selected mode is not available, the connection will fail.
+
+-1 (default) uses the global default value specified in NetworkManager configuration; if no global default is defined, the built-in default is 0 (off).
parentparentstringIf given, specifies the parent interface name or parent connection UUID from which this MACSEC interface should be created. If this property is not specified, the connection must contain an "802-3-ethernet" setting with a "mac-address" property.
portportint321The port component of the SCI (Secure Channel Identifier), between 1 and 65534.
send-scisend-scibooleanTRUESpecifies whether the SCI (Secure Channel Identifier) is included in every packet.
validationvalidationint322Specifies the validation mode for incoming frames.
macvlanMAC VLAN Settings
Properties
Key NameValue TypeDefault ValueValue Description
modemodeuint320The macvlan mode, which specifies the communication mechanism between multiple macvlans on the same lower device.
parentparentstringIf given, specifies the parent interface name or parent connection UUID from which this MAC-VLAN interface should be created. If this property is not specified, the connection must contain an "802-3-ethernet" setting with a "mac-address" property.
promiscuouspromiscuousbooleanTRUEWhether the interface should be put in promiscuous mode.
taptapbooleanFALSEWhether the interface should be a MACVTAP.
matchMatch settings
Properties
@@ -406,7 +416,17 @@ If set to 1 (true), the kernel will try to bind VFs to a compatible driver and i
If set to 0 (false), VFs will not be claimed and no network interfaces will be created for them.
-When set to -1 (default), the global default is used; in case the global default is unspecified it is assumed to be 1 (true).
total-vfstotal-vfsuint320The total number of virtual functions to create.
+When set to -1 (default), the global default is used; in case the global default is unspecified it is assumed to be 1 (true).
eswitch-encap-modeeswitch-encap-modeint32-1Select the eswitch encapsulation support.
+
+Currently it's only supported for PCI PF devices, and only if the eswitch device is managed from the same PCI address than the PF.
+
+If set to -1 (preserve) (default) the eswitch encap-mode won't be modified by NetworkManager.
eswitch-inline-modeeswitch-inline-modeint32-1Select the eswitch inline-mode of the device. Some HWs need the VF driver to put part of the packet headers on the TX descriptor so the e-switch can do proper matching and steering.
+
+Currently it's only supported for PCI PF devices, and only if the eswitch device is managed from the same PCI address than the PF.
+
+If set to -1 (preserve) (default) the eswitch inline-mode won't be modified by NetworkManager.
eswitch-modeeswitch-modeint32-1Select the eswitch mode of the device. Currently it's only supported for PCI PF devices, and only if the eswitch device is managed from the same PCI address than the PF.
+
+If set to -1 (preserve) (default) the eswitch mode won't be modified by NetworkManager.
total-vfstotal-vfsuint320The total number of virtual functions to create.
Note that when the sriov setting is present NetworkManager enforces the number of virtual functions on the interface (also when it is zero) during activation and resets it upon deactivation. To prevent any changes to SR-IOV parameters don't add a sriov setting to the connection.
vfsvfsarray of vardictArray of virtual function descriptors.
diff --git a/docs/api/version.xml b/docs/api/version.xml
index 24a58e09..0a3db35b 100644
--- a/docs/api/version.xml
+++ b/docs/api/version.xml
@@ -1 +1 @@
-1.45.91
+1.46.0
diff --git a/docs/libnm/html/NMSetting.html b/docs/libnm/html/NMSetting.html
index a921dc81..b35c6b74 100644
--- a/docs/libnm/html/NMSetting.html
+++ b/docs/libnm/html/NMSetting.html
@@ -215,6 +215,14 @@
|
+GType
+ |
+
+nm_setting_get_enum_property_type ()
+ |
+
+
+|
NMRange *
|
@@ -1218,6 +1226,47 @@ on setting
+ nm_setting_get_enum_property_type ()
+ GType
+nm_setting_get_enum_property_type (GType setting_type,
+ const char *property_name);
+ Get the type of the enum that defines the values that the property accepts. It is only
+useful for properties configured to accept values from certain enum type, otherwise
+it will return G_TYPE_INVALID. Note that flags (children of G_TYPE_FLAGS) are also
+considered enums.
+ Note that the GObject property might be implemented as an integer, actually, and not
+as enum. Find out what underlying type is used, checking the GParamSpec, before
+setting the GObject property.
+
+
+ Returns
+ the enum's GType, or G_TYPE_INVALID if the property is not of enum type
+
+ Since: 1.46
+
+
+
nm_range_new ()
NMRange *
nm_range_new (guint64 start,
diff --git a/docs/libnm/html/NMSettingGeneric.html b/docs/libnm/html/NMSettingGeneric.html
index 4a10561c..fae31e4e 100644
--- a/docs/libnm/html/NMSettingGeneric.html
+++ b/docs/libnm/html/NMSettingGeneric.html
@@ -38,14 +38,23 @@
-
+
+
|
NMSetting *
|
nm_setting_generic_new ()
|
-
+ |
+
+| const char *
+ |
+
+nm_setting_generic_get_device_handler ()
+ |
+
+
+
+| #define |
+NM_SETTING_GENERIC_DEVICE_HANDLER |
+
+
@@ -82,6 +97,33 @@ nm_setting_generic_new (
void[transfer full]
+
+
+
nm_setting_generic_get_device_handler ()
+
const char *
+nm_setting_generic_get_device_handler (NMSettingGeneric *setting);
+
Returns the “device-handler” property of the connection.
+
+
+
Returns
+
the device handler name, or NULL if no device handler is set
+
+
Since: 1.46
+
Types and Values
@@ -90,6 +132,12 @@ nm_setting_generic_new (
void#define NM_SETTING_GENERIC_SETTING_NAME "generic"
+
+
+
NM_SETTING_GENERIC_DEVICE_HANDLER
+
#define NM_SETTING_GENERIC_DEVICE_HANDLER "device-handler"
+
+
@@ -169,6 +177,10 @@
NM_SETTING_MACSEC_SEND_SCI |
+| #define |
+NM_SETTING_MACSEC_OFFLOAD |
+
+
| enum |
NMSettingMacsecMode |
@@ -184,6 +196,10 @@
#define |
NM_SETTING_MACSEC_MKA_CKN_LENGTH |
+
+| enum |
+NMSettingMacsecOffload |
+
@@ -191,6 +207,7 @@
Object Hierarchy
GEnum
├── NMSettingMacsecMode
+ ├── NMSettingMacsecOffload
╰── NMSettingMacsecValidation
@@ -447,6 +464,32 @@ nm_setting_macsec_get_send_sci (
Since: 1.12
+
+
+
nm_setting_macsec_get_offload ()
+
NMSettingMacsecOffload
+nm_setting_macsec_get_offload (NMSettingMacsec *setting);
+
+
+
Returns
+
the “offload” property of the setting
+
+
Since: 1.46
+
@@ -305,6 +353,9 @@
GBoxed
╰── NMSriovVF
GEnum
+ ├── NMSriovEswitchEncapMode
+ ├── NMSriovEswitchInlineMode
+ ├── NMSriovEswitchMode
╰── NMSriovVFVlanProtocol
@@ -574,6 +625,86 @@ property.
+
nm_setting_sriov_get_eswitch_mode ()
+
NMSriovEswitchMode
+nm_setting_sriov_get_eswitch_mode (NMSettingSriov *setting);
+
+
+
Returns
+
the value contained in the “eswitch-mode” property.
+
+
Since: 1.46
+
+
+
+
nm_setting_sriov_get_eswitch_inline_mode ()
+
NMSriovEswitchInlineMode
+nm_setting_sriov_get_eswitch_inline_mode
+ (NMSettingSriov *setting);
+
+
+
Returns
+
the value contained in the “eswitch-inline-mode” property.
+
+
Since: 1.46
+
+
+
+
nm_setting_sriov_get_eswitch_encap_mode ()
+
NMSriovEswitchEncapMode
+nm_setting_sriov_get_eswitch_encap_mode
+ (NMSettingSriov *setting);
+
+
+
Returns
+
the value contained in the “eswitch-encap-mode” property.
+
+
Since: 1.46
+
+
+
nm_sriov_vf_add_vlan ()
gboolean
nm_sriov_vf_add_vlan (NMSriovVF *vf,
@@ -1162,19 +1293,37 @@ the value is of the correct type and well-formed.
NM_SETTING_SRIOV_TOTAL_VFS
-
#define NM_SETTING_SRIOV_TOTAL_VFS "total-vfs"
+#define NM_SETTING_SRIOV_TOTAL_VFS "total-vfs"
NM_SETTING_SRIOV_VFS
-
#define NM_SETTING_SRIOV_VFS "vfs"
+#define NM_SETTING_SRIOV_VFS "vfs"
NM_SETTING_SRIOV_AUTOPROBE_DRIVERS
-
#define NM_SETTING_SRIOV_AUTOPROBE_DRIVERS "autoprobe-drivers"
+#define NM_SETTING_SRIOV_AUTOPROBE_DRIVERS "autoprobe-drivers"
+
+
+
+
+
NM_SETTING_SRIOV_ESWITCH_MODE
+
#define NM_SETTING_SRIOV_ESWITCH_MODE "eswitch-mode"
+
+
+
+
+
NM_SETTING_SRIOV_ESWITCH_INLINE_MODE
+
#define NM_SETTING_SRIOV_ESWITCH_INLINE_MODE "eswitch-inline-mode"
+
+
+
+
+
NM_SETTING_SRIOV_ESWITCH_ENCAP_MODE
+
#define NM_SETTING_SRIOV_ESWITCH_ENCAP_MODE "eswitch-encap-mode"
@@ -1239,6 +1388,149 @@ the value is of the correct type and well-formed.
Since: 1.14
+
+
+
enum NMSriovEswitchMode
+
+
Since: 1.46
+
+
+
+
enum NMSriovEswitchInlineMode
+
+
Since: 1.46
+
+
+
+
enum NMSriovEswitchEncapMode
+
+
Since: 1.46
+
@@ -4308,6 +4328,24 @@ sub-option will trigger creation of an additional subflow to generate a full mes
Since: 1.40
+
+
+
NM_SECRET_TAG_VPN_MSG
+
#define NM_SECRET_TAG_VPN_MSG "x-vpn-message:"
+
+
+
+
+
NM_SECRET_TAG_DYNAMIC_CHALLENGE
+
#define NM_SECRET_TAG_DYNAMIC_CHALLENGE "x-dynamic-challenge:"
+
+
+
+
+
NM_SECRET_TAG_DYNAMIC_CHALLENGE_ECHO
+
#define NM_SECRET_TAG_DYNAMIC_CHALLENGE_ECHO "x-dynamic-challenge-echo:"
+
+