From 018b0a0ceecbe01b939e9fd83d874ebef2791c65 Mon Sep 17 00:00:00 2001 From: Packit Service Date: Jan 28 2021 16:13:39 +0000 Subject: NetworkManager-1.30.0 base --- diff --git a/Makefile.in b/Makefile.in index 54bd941..1f25b2f 100644 --- a/Makefile.in +++ b/Makefile.in @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.16.2 from Makefile.am. +# Makefile.in generated by automake 1.16.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2020 Free Software Foundation, Inc. +# Copyright (C) 1994-2018 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -3476,8 +3476,8 @@ am__recursive_targets = \ AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ cscope check recheck distdir distdir-am dist dist-all \ distcheck -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) \ - config.h.in +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) \ + $(LISP)config.h.in # Read a list of newline-separated strings from the standard input, # and print each of them once, without duplicates. Input order is # *not* preserved. @@ -18693,10 +18693,6 @@ dist-xz: distdir tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz $(am__post_remove_distdir) -dist-zstd: distdir - tardir=$(distdir) && $(am__tar) | zstd -c $${ZSTD_CLEVEL-$${ZSTD_OPT--19}} >$(distdir).tar.zst - $(am__post_remove_distdir) - dist-tarZ: distdir @echo WARNING: "Support for distribution archives compressed with" \ "legacy program 'compress' is deprecated." >&2 @@ -18739,8 +18735,6 @@ distcheck: dist eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).shar.gz | unshar ;;\ *.zip*) \ unzip $(distdir).zip ;;\ - *.tar.zst*) \ - zstd -dc $(distdir).tar.zst | $(am__untar) ;;\ esac chmod -R a-w $(distdir) chmod u+w $(distdir) @@ -20337,7 +20331,7 @@ uninstall-man: uninstall-man1 uninstall-man5 uninstall-man7 \ clean-pppd_pluginLTLIBRARIES clean-sbinPROGRAMS cscope \ cscopelist-am ctags ctags-am dist dist-all dist-bzip2 \ dist-gzip dist-hook dist-lzip dist-shar dist-tarZ dist-xz \ - dist-zip dist-zstd distcheck distclean distclean-compile \ + dist-zip distcheck distclean distclean-compile \ distclean-generic distclean-hdr distclean-libtool \ distclean-tags distcleancheck distdir distuninstallcheck dvi \ dvi-am html html-am info info-am install install-am \ diff --git a/NEWS b/NEWS index 0363799..fd62e4d 100644 --- a/NEWS +++ b/NEWS @@ -13,6 +13,9 @@ USE AT YOUR OWN RISK. NOT RECOMMENDED FOR PRODUCTION USE! the profile. * Increase timeout of NetworkManager-wait-online.service to 60 seconds. * Add "ipv4.dhcp-client-id=ipv6-duid" option for RFC4361. +* The dhcpcd plugin now requires a minimum version of dhcpcd-9.3.3 with + the --noconfigure option. Using an older version will cause dhcpcd to + exit with a status code of 1. ============================================= NetworkManager-1.28 diff --git a/aclocal.m4 b/aclocal.m4 index e3d5eee..4e36943 100644 --- a/aclocal.m4 +++ b/aclocal.m4 @@ -1,6 +1,6 @@ -# generated automatically by aclocal 1.16.2 -*- Autoconf -*- +# generated automatically by aclocal 1.16.1 -*- Autoconf -*- -# Copyright (C) 1996-2020 Free Software Foundation, Inc. +# Copyright (C) 1996-2018 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -364,7 +364,7 @@ AS_IF([test "$AS_TR_SH([with_]m4_tolower([$1]))" = "yes"], [AC_DEFINE([HAVE_][$1], 1, [Enable ]m4_tolower([$1])[ support])]) ])dnl PKG_HAVE_DEFINE_WITH_MODULES -# Copyright (C) 2002-2020 Free Software Foundation, Inc. +# Copyright (C) 2002-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -379,7 +379,7 @@ AC_DEFUN([AM_AUTOMAKE_VERSION], [am__api_version='1.16' dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to dnl require some minimum version. Point them to the right macro. -m4_if([$1], [1.16.2], [], +m4_if([$1], [1.16.1], [], [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl ]) @@ -395,14 +395,14 @@ m4_define([_AM_AUTOCONF_VERSION], []) # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced. # This function is AC_REQUIREd by AM_INIT_AUTOMAKE. AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], -[AM_AUTOMAKE_VERSION([1.16.2])dnl +[AM_AUTOMAKE_VERSION([1.16.1])dnl m4_ifndef([AC_AUTOCONF_VERSION], [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))]) # AM_AUX_DIR_EXPAND -*- Autoconf -*- -# Copyright (C) 2001-2020 Free Software Foundation, Inc. +# Copyright (C) 2001-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -454,7 +454,7 @@ am_aux_dir=`cd "$ac_aux_dir" && pwd` # AM_CONDITIONAL -*- Autoconf -*- -# Copyright (C) 1997-2020 Free Software Foundation, Inc. +# Copyright (C) 1997-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -485,7 +485,7 @@ AC_CONFIG_COMMANDS_PRE( Usually this means the macro was only invoked conditionally.]]) fi])]) -# Copyright (C) 1999-2020 Free Software Foundation, Inc. +# Copyright (C) 1999-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -676,7 +676,7 @@ _AM_SUBST_NOTMAKE([am__nodep])dnl # Generate code to set up dependency tracking. -*- Autoconf -*- -# Copyright (C) 1999-2020 Free Software Foundation, Inc. +# Copyright (C) 1999-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -715,9 +715,7 @@ AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], done if test $am_rc -ne 0; then AC_MSG_FAILURE([Something went wrong bootstrapping makefile fragments - for automatic dependency tracking. If GNU make was not used, consider - re-running the configure script with MAKE="gmake" (or whatever is - necessary). You can also try re-running configure with the + for automatic dependency tracking. Try re-running configure with the '--disable-dependency-tracking' option to at least be able to build the package (albeit without support for automatic dependency tracking).]) fi @@ -744,7 +742,7 @@ AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], # Do all the work for Automake. -*- Autoconf -*- -# Copyright (C) 1996-2020 Free Software Foundation, Inc. +# Copyright (C) 1996-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -941,7 +939,7 @@ for _am_header in $config_headers :; do done echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count]) -# Copyright (C) 2001-2020 Free Software Foundation, Inc. +# Copyright (C) 2001-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -962,7 +960,7 @@ if test x"${install_sh+set}" != xset; then fi AC_SUBST([install_sh])]) -# Copyright (C) 2003-2020 Free Software Foundation, Inc. +# Copyright (C) 2003-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -984,7 +982,7 @@ AC_SUBST([am__leading_dot])]) # Add --enable-maintainer-mode option to configure. -*- Autoconf -*- # From Jim Meyering -# Copyright (C) 1996-2020 Free Software Foundation, Inc. +# Copyright (C) 1996-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -1019,7 +1017,7 @@ AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles]) # Check to see how 'make' treats includes. -*- Autoconf -*- -# Copyright (C) 2001-2020 Free Software Foundation, Inc. +# Copyright (C) 2001-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -1062,7 +1060,7 @@ AC_SUBST([am__quote])]) # Fake the existence of programs that GNU maintainers use. -*- Autoconf -*- -# Copyright (C) 1997-2020 Free Software Foundation, Inc. +# Copyright (C) 1997-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -1099,7 +1097,7 @@ else fi ]) -# Copyright (C) 2003-2020 Free Software Foundation, Inc. +# Copyright (C) 2003-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -1133,7 +1131,7 @@ esac # Helper functions for option handling. -*- Autoconf -*- -# Copyright (C) 2001-2020 Free Software Foundation, Inc. +# Copyright (C) 2001-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -1162,7 +1160,7 @@ AC_DEFUN([_AM_SET_OPTIONS], AC_DEFUN([_AM_IF_OPTION], [m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) -# Copyright (C) 1999-2020 Free Software Foundation, Inc. +# Copyright (C) 1999-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -1209,7 +1207,7 @@ AC_LANG_POP([C])]) # For backward compatibility. AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])]) -# Copyright (C) 1999-2020 Free Software Foundation, Inc. +# Copyright (C) 1999-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -1447,7 +1445,7 @@ for i in list(range(0, 4)): minverhex = (minverhex << 8) + minver[[i]] sys.exit(sys.hexversion < minverhex)" AS_IF([AM_RUN_LOG([$1 -c "$prog"])], [$3], [$4])]) -# Copyright (C) 2001-2020 Free Software Foundation, Inc. +# Copyright (C) 2001-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -1466,7 +1464,7 @@ AC_DEFUN([AM_RUN_LOG], # Check to make sure that the build environment is sane. -*- Autoconf -*- -# Copyright (C) 1996-2020 Free Software Foundation, Inc. +# Copyright (C) 1996-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -1547,7 +1545,7 @@ AC_CONFIG_COMMANDS_PRE( rm -f conftest.file ]) -# Copyright (C) 2009-2020 Free Software Foundation, Inc. +# Copyright (C) 2009-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -1607,7 +1605,7 @@ AC_SUBST([AM_BACKSLASH])dnl _AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl ]) -# Copyright (C) 2001-2020 Free Software Foundation, Inc. +# Copyright (C) 2001-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -1635,7 +1633,7 @@ fi INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" AC_SUBST([INSTALL_STRIP_PROGRAM])]) -# Copyright (C) 2006-2020 Free Software Foundation, Inc. +# Copyright (C) 2006-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -1654,7 +1652,7 @@ AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)]) # Check how to create a tarball. -*- Autoconf -*- -# Copyright (C) 2004-2020 Free Software Foundation, Inc. +# Copyright (C) 2004-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, diff --git a/build-aux/compile b/build-aux/compile index 23fcba0..99e5052 100755 --- a/build-aux/compile +++ b/build-aux/compile @@ -3,7 +3,7 @@ scriptversion=2018-03-07.03; # UTC -# Copyright (C) 1999-2020 Free Software Foundation, Inc. +# Copyright (C) 1999-2018 Free Software Foundation, Inc. # Written by Tom Tromey . # # This program is free software; you can redistribute it and/or modify @@ -53,7 +53,7 @@ func_file_conv () MINGW*) file_conv=mingw ;; - CYGWIN* | MSYS*) + CYGWIN*) file_conv=cygwin ;; *) @@ -67,7 +67,7 @@ func_file_conv () mingw/*) file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'` ;; - cygwin/* | msys/*) + cygwin/*) file=`cygpath -m "$file" || echo "$file"` ;; wine/*) diff --git a/build-aux/depcomp b/build-aux/depcomp index 6b39162..65cbf70 100755 --- a/build-aux/depcomp +++ b/build-aux/depcomp @@ -3,7 +3,7 @@ scriptversion=2018-03-07.03; # UTC -# Copyright (C) 1999-2020 Free Software Foundation, Inc. +# Copyright (C) 1999-2018 Free Software Foundation, Inc. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/build-aux/install-sh b/build-aux/install-sh index 20d8b2e..8175c64 100755 --- a/build-aux/install-sh +++ b/build-aux/install-sh @@ -451,18 +451,7 @@ do trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0 # Copy the file name to the temp name. - (umask $cp_umask && - { test -z "$stripcmd" || { - # Create $dsttmp read-write so that cp doesn't create it read-only, - # which would cause strip to fail. - if test -z "$doit"; then - : >"$dsttmp" # No need to fork-exec 'touch'. - else - $doit touch "$dsttmp" - fi - } - } && - $doit_exec $cpprog "$src" "$dsttmp") && + (umask $cp_umask && $doit_exec $cpprog "$src" "$dsttmp") && # and set any options; do chmod last to preserve setuid bits. # diff --git a/build-aux/missing b/build-aux/missing index 8d0eaad..625aeb1 100755 --- a/build-aux/missing +++ b/build-aux/missing @@ -3,7 +3,7 @@ scriptversion=2018-03-07.03; # UTC -# Copyright (C) 1996-2020 Free Software Foundation, Inc. +# Copyright (C) 1996-2018 Free Software Foundation, Inc. # Originally written by Fran,cois Pinard , 1996. # This program is free software; you can redistribute it and/or modify diff --git a/build-aux/tap-driver.sh b/build-aux/tap-driver.sh index 865761d..2516e9c 100755 --- a/build-aux/tap-driver.sh +++ b/build-aux/tap-driver.sh @@ -1,5 +1,5 @@ #! /bin/sh -# Copyright (C) 2011-2020 Free Software Foundation, Inc. +# Copyright (C) 2011-2018 Free Software Foundation, Inc. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/build-aux/test-driver b/build-aux/test-driver index 89dba1e..b8521a4 100755 --- a/build-aux/test-driver +++ b/build-aux/test-driver @@ -3,7 +3,7 @@ scriptversion=2018-03-07.03; # UTC -# Copyright (C) 2011-2020 Free Software Foundation, Inc. +# Copyright (C) 2011-2018 Free Software Foundation, Inc. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/clients/cli/generate-docs-nm-settings-nmcli.xml b/clients/cli/generate-docs-nm-settings-nmcli.xml index cc47e6a..aad43c8 100644 --- a/clients/cli/generate-docs-nm-settings-nmcli.xml +++ b/clients/cli/generate-docs-nm-settings-nmcli.xml @@ -631,7 +631,7 @@ + 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="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="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="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." /> . # @@ -591,8 +591,8 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='NetworkManager' PACKAGE_TARNAME='NetworkManager' -PACKAGE_VERSION='1.29.9' -PACKAGE_STRING='NetworkManager 1.29.9' +PACKAGE_VERSION='1.29.10' +PACKAGE_STRING='NetworkManager 1.29.10' PACKAGE_BUGREPORT='http://bugzilla.gnome.org/enter_bug.cgi?product=NetworkManager' PACKAGE_URL='' @@ -1726,7 +1726,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.29.9 to adapt to many kinds of systems. +\`configure' configures NetworkManager 1.29.10 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1796,7 +1796,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of NetworkManager 1.29.9:";; + short | recursive ) echo "Configuration of NetworkManager 1.29.10:";; esac cat <<\_ACEOF @@ -2142,7 +2142,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -NetworkManager configure 1.29.9 +NetworkManager configure 1.29.10 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -2915,7 +2915,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.29.9, which was +It was created by NetworkManager $as_me 1.29.10, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -3785,7 +3785,7 @@ fi # Define the identity of the package. PACKAGE='NetworkManager' - VERSION='1.29.9' + VERSION='1.29.10' cat >>confdefs.h <<_ACEOF @@ -17969,8 +17969,8 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu NM_MAJOR_VERSION=1 NM_MINOR_VERSION=29 -NM_MICRO_VERSION=9 -NM_VERSION=1.29.9 +NM_MICRO_VERSION=10 +NM_VERSION=1.29.10 @@ -17978,7 +17978,7 @@ NM_VERSION=1.29.9 -NM_GIT_SHA=bcb63affdd18cb5a246f332da35275adba443065 +NM_GIT_SHA=05745cf0798ca07a3e8a2b1df8fa53b2cfcb9c6c if test """" != "no-config-h" ; then @@ -29448,7 +29448,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.29.9, which was +This file was extended by NetworkManager $as_me 1.29.10, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -29514,7 +29514,7 @@ _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -NetworkManager config.status 1.29.9 +NetworkManager config.status 1.29.10 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" @@ -30724,9 +30724,7 @@ $as_echo X/"$am_mf" | { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "Something went wrong bootstrapping makefile fragments - for automatic dependency tracking. If GNU make was not used, consider - re-running the configure script with MAKE=\"gmake\" (or whatever is - necessary). You can also try re-running configure with the + for automatic dependency tracking. Try re-running configure with the '--disable-dependency-tracking' option to at least be able to build the package (albeit without support for automatic dependency tracking). See \`config.log' for more details" "$LINENO" 5; } diff --git a/configure.ac b/configure.ac index f4e00d9..627989f 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], [29]) -m4_define([nm_micro_version], [9]) +m4_define([nm_micro_version], [10]) m4_define([nm_version], [nm_major_version.nm_minor_version.nm_micro_version]) diff --git a/docs/api/Makefile.in b/docs/api/Makefile.in index fcbc944..b82b032 100644 --- a/docs/api/Makefile.in +++ b/docs/api/Makefile.in @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.16.2 from Makefile.am. +# Makefile.in generated by automake 1.16.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2020 Free Software Foundation, Inc. +# Copyright (C) 1994-2018 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -555,7 +555,6 @@ DOC_STAMPS = setup-build.stamp scan-build.stamp sgml-build.stamp \ sgml.stamp html.stamp pdf.stamp SCANOBJ_FILES = \ - $(DOC_MODULE).actions \ $(DOC_MODULE).args \ $(DOC_MODULE).hierarchy \ $(DOC_MODULE).interfaces \ diff --git a/docs/api/html/NetworkManager.conf.html b/docs/api/html/NetworkManager.conf.html index 05250d1..3655be2 100644 --- a/docs/api/html/NetworkManager.conf.html +++ b/docs/api/html/NetworkManager.conf.html @@ -8,7 +8,7 @@ - + @@ -1588,6 +1588,6 @@ interface-name:vboxnet*,except:interface-name:vboxnet2 +
Generated by GTK-Doc V1.33.0 \ No newline at end of file diff --git a/docs/api/html/NetworkManager.html b/docs/api/html/NetworkManager.html index ff497a1..ad0e679 100644 --- a/docs/api/html/NetworkManager.html +++ b/docs/api/html/NetworkManager.html @@ -8,7 +8,7 @@ - + @@ -594,6 +594,6 @@ +
Generated by GTK-Doc V1.33.0 \ No newline at end of file diff --git a/docs/api/html/ch01.html b/docs/api/html/ch01.html index 0715709..4cbe2f6 100644 --- a/docs/api/html/ch01.html +++ b/docs/api/html/ch01.html @@ -8,7 +8,7 @@ - + @@ -179,6 +179,6 @@ +
Generated by GTK-Doc V1.33.0 \ No newline at end of file diff --git a/docs/api/html/dbus-secret-agent.html b/docs/api/html/dbus-secret-agent.html index 71d7ea5..b8a0c99 100644 --- a/docs/api/html/dbus-secret-agent.html +++ b/docs/api/html/dbus-secret-agent.html @@ -8,7 +8,7 @@ - + @@ -27,6 +27,6 @@ +
Generated by GTK-Doc V1.33.0 \ No newline at end of file diff --git a/docs/api/html/dbus-types.html b/docs/api/html/dbus-types.html index b5eb97f..cfdccb5 100644 --- a/docs/api/html/dbus-types.html +++ b/docs/api/html/dbus-types.html @@ -8,7 +8,7 @@ - + @@ -27,6 +27,6 @@ +
Generated by GTK-Doc V1.33.0 \ No newline at end of file diff --git a/docs/api/html/dbus-vpn-plugin.html b/docs/api/html/dbus-vpn-plugin.html index 7bec382..1c6124e 100644 --- a/docs/api/html/dbus-vpn-plugin.html +++ b/docs/api/html/dbus-vpn-plugin.html @@ -8,7 +8,7 @@ - + @@ -27,6 +27,6 @@ +
Generated by GTK-Doc V1.33.0 \ No newline at end of file diff --git a/docs/api/html/dbus-vpn-types.html b/docs/api/html/dbus-vpn-types.html index bb2edb3..a6c5d51 100644 --- a/docs/api/html/dbus-vpn-types.html +++ b/docs/api/html/dbus-vpn-types.html @@ -8,7 +8,7 @@ - + @@ -27,6 +27,6 @@ +
Generated by GTK-Doc V1.33.0 \ No newline at end of file diff --git a/docs/api/html/gdbus-org.freedesktop.NetworkManager.AccessPoint.html b/docs/api/html/gdbus-org.freedesktop.NetworkManager.AccessPoint.html index 550a116..4b3f1a1 100644 --- a/docs/api/html/gdbus-org.freedesktop.NetworkManager.AccessPoint.html +++ b/docs/api/html/gdbus-org.freedesktop.NetworkManager.AccessPoint.html @@ -8,7 +8,7 @@ - + @@ -186,6 +186,6 @@ LastSeen readable i +
Generated by GTK-Doc V1.33.0 \ No newline at end of file diff --git a/docs/api/html/gdbus-org.freedesktop.NetworkManager.AgentManager.html b/docs/api/html/gdbus-org.freedesktop.NetworkManager.AgentManager.html index a237c1b..4a2591b 100644 --- a/docs/api/html/gdbus-org.freedesktop.NetworkManager.AgentManager.html +++ b/docs/api/html/gdbus-org.freedesktop.NetworkManager.AgentManager.html @@ -8,7 +8,7 @@ - + @@ -105,6 +105,6 @@ Unregister (); +
Generated by GTK-Doc V1.33.0 \ No newline at end of file diff --git a/docs/api/html/gdbus-org.freedesktop.NetworkManager.Checkpoint.html b/docs/api/html/gdbus-org.freedesktop.NetworkManager.Checkpoint.html index 8f4f7b2..fd78205 100644 --- a/docs/api/html/gdbus-org.freedesktop.NetworkManager.Checkpoint.html +++ b/docs/api/html/gdbus-org.freedesktop.NetworkManager.Checkpoint.html @@ -8,7 +8,7 @@ - + @@ -105,6 +105,6 @@ RollbackTimeout readable u +
Generated by GTK-Doc V1.33.0 \ No newline at end of file diff --git a/docs/api/html/gdbus-org.freedesktop.NetworkManager.Connection.Active.html b/docs/api/html/gdbus-org.freedesktop.NetworkManager.Connection.Active.html index 63e4612..ee122d8 100644 --- a/docs/api/html/gdbus-org.freedesktop.NetworkManager.Connection.Active.html +++ b/docs/api/html/gdbus-org.freedesktop.NetworkManager.Connection.Active.html @@ -8,7 +8,7 @@ - + @@ -297,6 +297,6 @@ Master readable o +
Generated by GTK-Doc V1.33.0 \ No newline at end of file diff --git a/docs/api/html/gdbus-org.freedesktop.NetworkManager.DHCP4Config.html b/docs/api/html/gdbus-org.freedesktop.NetworkManager.DHCP4Config.html index 96238c2..f33cfc0 100644 --- a/docs/api/html/gdbus-org.freedesktop.NetworkManager.DHCP4Config.html +++ b/docs/api/html/gdbus-org.freedesktop.NetworkManager.DHCP4Config.html @@ -8,7 +8,7 @@ - + @@ -84,6 +84,6 @@ Options readable a{sv} +
Generated by GTK-Doc V1.33.0 \ No newline at end of file diff --git a/docs/api/html/gdbus-org.freedesktop.NetworkManager.DHCP6Config.html b/docs/api/html/gdbus-org.freedesktop.NetworkManager.DHCP6Config.html index f26712a..e0b70ca 100644 --- a/docs/api/html/gdbus-org.freedesktop.NetworkManager.DHCP6Config.html +++ b/docs/api/html/gdbus-org.freedesktop.NetworkManager.DHCP6Config.html @@ -8,7 +8,7 @@ - + @@ -84,6 +84,6 @@ Options readable a{sv} +
Generated by GTK-Doc V1.33.0 \ No newline at end of file diff --git a/docs/api/html/gdbus-org.freedesktop.NetworkManager.Device.Adsl.html b/docs/api/html/gdbus-org.freedesktop.NetworkManager.Device.Adsl.html index f886c18..623a76b 100644 --- a/docs/api/html/gdbus-org.freedesktop.NetworkManager.Device.Adsl.html +++ b/docs/api/html/gdbus-org.freedesktop.NetworkManager.Device.Adsl.html @@ -8,7 +8,7 @@ - + @@ -86,6 +86,6 @@ Carrier readable b +
Generated by GTK-Doc V1.33.0 \ No newline at end of file diff --git a/docs/api/html/gdbus-org.freedesktop.NetworkManager.Device.Bluetooth.html b/docs/api/html/gdbus-org.freedesktop.NetworkManager.Device.Bluetooth.html index bcd45b4..a138c19 100644 --- a/docs/api/html/gdbus-org.freedesktop.NetworkManager.Device.Bluetooth.html +++ b/docs/api/html/gdbus-org.freedesktop.NetworkManager.Device.Bluetooth.html @@ -8,7 +8,7 @@ - + @@ -107,6 +107,6 @@ BtCapabilities readable u +
Generated by GTK-Doc V1.33.0 \ No newline at end of file diff --git a/docs/api/html/gdbus-org.freedesktop.NetworkManager.Device.Bond.html b/docs/api/html/gdbus-org.freedesktop.NetworkManager.Device.Bond.html index a7e9cf2..f670573 100644 --- a/docs/api/html/gdbus-org.freedesktop.NetworkManager.Device.Bond.html +++ b/docs/api/html/gdbus-org.freedesktop.NetworkManager.Device.Bond.html @@ -8,7 +8,7 @@ - + @@ -110,6 +110,6 @@ Slaves readable ao +
Generated by GTK-Doc V1.33.0 \ No newline at end of file diff --git a/docs/api/html/gdbus-org.freedesktop.NetworkManager.Device.Bridge.html b/docs/api/html/gdbus-org.freedesktop.NetworkManager.Device.Bridge.html index b820333..34785c0 100644 --- a/docs/api/html/gdbus-org.freedesktop.NetworkManager.Device.Bridge.html +++ b/docs/api/html/gdbus-org.freedesktop.NetworkManager.Device.Bridge.html @@ -8,7 +8,7 @@ - + @@ -110,6 +110,6 @@ Slaves readable ao +
Generated by GTK-Doc V1.33.0 \ No newline at end of file diff --git a/docs/api/html/gdbus-org.freedesktop.NetworkManager.Device.Dummy.html b/docs/api/html/gdbus-org.freedesktop.NetworkManager.Device.Dummy.html index a11a705..fa9e6dc 100644 --- a/docs/api/html/gdbus-org.freedesktop.NetworkManager.Device.Dummy.html +++ b/docs/api/html/gdbus-org.freedesktop.NetworkManager.Device.Dummy.html @@ -8,7 +8,7 @@ - + @@ -85,6 +85,6 @@ n +
Generated by GTK-Doc V1.33.0 \ No newline at end of file diff --git a/docs/api/html/gdbus-org.freedesktop.NetworkManager.Device.Generic.html b/docs/api/html/gdbus-org.freedesktop.NetworkManager.Device.Generic.html index 477eb58..1894866 100644 --- a/docs/api/html/gdbus-org.freedesktop.NetworkManager.Device.Generic.html +++ b/docs/api/html/gdbus-org.freedesktop.NetworkManager.Device.Generic.html @@ -8,7 +8,7 @@ - + @@ -95,6 +95,6 @@ TypeDescription readable s +
Generated by GTK-Doc V1.33.0 \ No newline at end of file diff --git a/docs/api/html/gdbus-org.freedesktop.NetworkManager.Device.IPTunnel.html b/docs/api/html/gdbus-org.freedesktop.NetworkManager.Device.IPTunnel.html index 2a00c9e..b0da4a5 100644 --- a/docs/api/html/gdbus-org.freedesktop.NetworkManager.Device.IPTunnel.html +++ b/docs/api/html/gdbus-org.freedesktop.NetworkManager.Device.IPTunnel.html @@ -8,7 +8,7 @@ - + @@ -197,6 +197,6 @@ Flags readable u +
Generated by GTK-Doc V1.33.0 \ No newline at end of file diff --git a/docs/api/html/gdbus-org.freedesktop.NetworkManager.Device.Infiniband.html b/docs/api/html/gdbus-org.freedesktop.NetworkManager.Device.Infiniband.html index 84668e7..d81e12f 100644 --- a/docs/api/html/gdbus-org.freedesktop.NetworkManager.Device.Infiniband.html +++ b/docs/api/html/gdbus-org.freedesktop.NetworkManager.Device.Infiniband.html @@ -8,7 +8,7 @@ - + @@ -99,6 +99,6 @@ Carrier readable b +
Generated by GTK-Doc V1.33.0 \ No newline at end of file diff --git a/docs/api/html/gdbus-org.freedesktop.NetworkManager.Device.Lowpan.html b/docs/api/html/gdbus-org.freedesktop.NetworkManager.Device.Lowpan.html index c6182a6..b45c0fb 100644 --- a/docs/api/html/gdbus-org.freedesktop.NetworkManager.Device.Lowpan.html +++ b/docs/api/html/gdbus-org.freedesktop.NetworkManager.Device.Lowpan.html @@ -8,7 +8,7 @@ - + @@ -67,6 +67,6 @@ Parent readable o +
Generated by GTK-Doc V1.33.0 \ No newline at end of file diff --git a/docs/api/html/gdbus-org.freedesktop.NetworkManager.Device.Macsec.html b/docs/api/html/gdbus-org.freedesktop.NetworkManager.Device.Macsec.html index 11ec7cc..c248f9f 100644 --- a/docs/api/html/gdbus-org.freedesktop.NetworkManager.Device.Macsec.html +++ b/docs/api/html/gdbus-org.freedesktop.NetworkManager.Device.Macsec.html @@ -8,7 +8,7 @@ - + @@ -209,6 +209,6 @@ ReplayProtect readable b +
Generated by GTK-Doc V1.33.0 \ No newline at end of file diff --git a/docs/api/html/gdbus-org.freedesktop.NetworkManager.Device.Macvlan.html b/docs/api/html/gdbus-org.freedesktop.NetworkManager.Device.Macvlan.html index 62daf00..a227ff1 100644 --- a/docs/api/html/gdbus-org.freedesktop.NetworkManager.Device.Macvlan.html +++ b/docs/api/html/gdbus-org.freedesktop.NetworkManager.Device.Macvlan.html @@ -8,7 +8,7 @@ - + @@ -113,6 +113,6 @@ Tap readable b +
Generated by GTK-Doc V1.33.0 \ No newline at end of file diff --git a/docs/api/html/gdbus-org.freedesktop.NetworkManager.Device.Modem.html b/docs/api/html/gdbus-org.freedesktop.NetworkManager.Device.Modem.html index fbe9a32..ae6a3a3 100644 --- a/docs/api/html/gdbus-org.freedesktop.NetworkManager.Device.Modem.html +++ b/docs/api/html/gdbus-org.freedesktop.NetworkManager.Device.Modem.html @@ -8,7 +8,7 @@ - + @@ -140,6 +140,6 @@ Apn readable s +
Generated by GTK-Doc V1.33.0 \ No newline at end of file diff --git a/docs/api/html/gdbus-org.freedesktop.NetworkManager.Device.OlpcMesh.html b/docs/api/html/gdbus-org.freedesktop.NetworkManager.Device.OlpcMesh.html index 3f6eef5..ec2a78c 100644 --- a/docs/api/html/gdbus-org.freedesktop.NetworkManager.Device.OlpcMesh.html +++ b/docs/api/html/gdbus-org.freedesktop.NetworkManager.Device.OlpcMesh.html @@ -8,7 +8,7 @@ - + @@ -105,6 +105,6 @@ ActiveChannel readable u +
Generated by GTK-Doc V1.33.0 \ No newline at end of file diff --git a/docs/api/html/gdbus-org.freedesktop.NetworkManager.Device.OvsBridge.html b/docs/api/html/gdbus-org.freedesktop.NetworkManager.Device.OvsBridge.html index 6bb2c8b..04c5215 100644 --- a/docs/api/html/gdbus-org.freedesktop.NetworkManager.Device.OvsBridge.html +++ b/docs/api/html/gdbus-org.freedesktop.NetworkManager.Device.OvsBridge.html @@ -8,7 +8,7 @@ - + @@ -86,6 +86,6 @@ Slaves readable ao +
Generated by GTK-Doc V1.33.0 \ No newline at end of file diff --git a/docs/api/html/gdbus-org.freedesktop.NetworkManager.Device.OvsInterface.html b/docs/api/html/gdbus-org.freedesktop.NetworkManager.Device.OvsInterface.html index 473cafc..87c76b5 100644 --- a/docs/api/html/gdbus-org.freedesktop.NetworkManager.Device.OvsInterface.html +++ b/docs/api/html/gdbus-org.freedesktop.NetworkManager.Device.OvsInterface.html @@ -8,7 +8,7 @@ - + @@ -65,6 +65,6 @@ PropertiesChanged (a{sv} properties); +
Generated by GTK-Doc V1.33.0 \ No newline at end of file diff --git a/docs/api/html/gdbus-org.freedesktop.NetworkManager.Device.OvsPort.html b/docs/api/html/gdbus-org.freedesktop.NetworkManager.Device.OvsPort.html index 78517f5..4f6d8df 100644 --- a/docs/api/html/gdbus-org.freedesktop.NetworkManager.Device.OvsPort.html +++ b/docs/api/html/gdbus-org.freedesktop.NetworkManager.Device.OvsPort.html @@ -8,7 +8,7 @@ - + @@ -86,6 +86,6 @@ Slaves readable ao +
Generated by GTK-Doc V1.33.0 \ No newline at end of file diff --git a/docs/api/html/gdbus-org.freedesktop.NetworkManager.Device.Ppp.html b/docs/api/html/gdbus-org.freedesktop.NetworkManager.Device.Ppp.html index a0af822..31e153b 100644 --- a/docs/api/html/gdbus-org.freedesktop.NetworkManager.Device.Ppp.html +++ b/docs/api/html/gdbus-org.freedesktop.NetworkManager.Device.Ppp.html @@ -8,7 +8,7 @@ - + @@ -65,6 +65,6 @@ PropertiesChanged (a{sv} properties); +
Generated by GTK-Doc V1.33.0 \ No newline at end of file diff --git a/docs/api/html/gdbus-org.freedesktop.NetworkManager.Device.Statistics.html b/docs/api/html/gdbus-org.freedesktop.NetworkManager.Device.Statistics.html index e5fc091..ea3eca7 100644 --- a/docs/api/html/gdbus-org.freedesktop.NetworkManager.Device.Statistics.html +++ b/docs/api/html/gdbus-org.freedesktop.NetworkManager.Device.Statistics.html @@ -8,7 +8,7 @@ - + @@ -106,6 +106,6 @@ RxBytes readable t +
Generated by GTK-Doc V1.33.0 \ No newline at end of file diff --git a/docs/api/html/gdbus-org.freedesktop.NetworkManager.Device.Team.html b/docs/api/html/gdbus-org.freedesktop.NetworkManager.Device.Team.html index 2b52be6..208f5a5 100644 --- a/docs/api/html/gdbus-org.freedesktop.NetworkManager.Device.Team.html +++ b/docs/api/html/gdbus-org.freedesktop.NetworkManager.Device.Team.html @@ -8,7 +8,7 @@ - + @@ -120,6 +120,6 @@ Config readable s +
Generated by GTK-Doc V1.33.0 \ No newline at end of file diff --git a/docs/api/html/gdbus-org.freedesktop.NetworkManager.Device.Tun.html b/docs/api/html/gdbus-org.freedesktop.NetworkManager.Device.Tun.html index 39f4c6b..314b17d 100644 --- a/docs/api/html/gdbus-org.freedesktop.NetworkManager.Device.Tun.html +++ b/docs/api/html/gdbus-org.freedesktop.NetworkManager.Device.Tun.html @@ -8,7 +8,7 @@ - + @@ -148,6 +148,6 @@ n +
Generated by GTK-Doc V1.33.0 \ No newline at end of file diff --git a/docs/api/html/gdbus-org.freedesktop.NetworkManager.Device.Veth.html b/docs/api/html/gdbus-org.freedesktop.NetworkManager.Device.Veth.html index 6dd7273..3913dae 100644 --- a/docs/api/html/gdbus-org.freedesktop.NetworkManager.Device.Veth.html +++ b/docs/api/html/gdbus-org.freedesktop.NetworkManager.Device.Veth.html @@ -8,7 +8,7 @@ - + @@ -83,6 +83,6 @@ Peer readable o +
Generated by GTK-Doc V1.33.0 \ No newline at end of file diff --git a/docs/api/html/gdbus-org.freedesktop.NetworkManager.Device.Vlan.html b/docs/api/html/gdbus-org.freedesktop.NetworkManager.Device.Vlan.html index 3b5d09f..8220f53 100644 --- a/docs/api/html/gdbus-org.freedesktop.NetworkManager.Device.Vlan.html +++ b/docs/api/html/gdbus-org.freedesktop.NetworkManager.Device.Vlan.html @@ -8,7 +8,7 @@ - + @@ -119,6 +119,6 @@ VlanId readable u +
Generated by GTK-Doc V1.33.0 \ No newline at end of file diff --git a/docs/api/html/gdbus-org.freedesktop.NetworkManager.Device.Vrf.html b/docs/api/html/gdbus-org.freedesktop.NetworkManager.Device.Vrf.html index 3e9572d..afd573f 100644 --- a/docs/api/html/gdbus-org.freedesktop.NetworkManager.Device.Vrf.html +++ b/docs/api/html/gdbus-org.freedesktop.NetworkManager.Device.Vrf.html @@ -8,7 +8,7 @@ - + @@ -55,6 +55,6 @@ Table readable u +
Generated by GTK-Doc V1.33.0 \ No newline at end of file diff --git a/docs/api/html/gdbus-org.freedesktop.NetworkManager.Device.Vxlan.html b/docs/api/html/gdbus-org.freedesktop.NetworkManager.Device.Vxlan.html index 587feaf..2a1067b 100644 --- a/docs/api/html/gdbus-org.freedesktop.NetworkManager.Device.Vxlan.html +++ b/docs/api/html/gdbus-org.freedesktop.NetworkManager.Device.Vxlan.html @@ -8,7 +8,7 @@ - + @@ -252,6 +252,6 @@ L3miss readable b +
Generated by GTK-Doc V1.33.0 \ No newline at end of file diff --git a/docs/api/html/gdbus-org.freedesktop.NetworkManager.Device.WifiP2P.html b/docs/api/html/gdbus-org.freedesktop.NetworkManager.Device.WifiP2P.html index 91dd84a..b426b89 100644 --- a/docs/api/html/gdbus-org.freedesktop.NetworkManager.Device.WifiP2P.html +++ b/docs/api/html/gdbus-org.freedesktop.NetworkManager.Device.WifiP2P.html @@ -8,7 +8,7 @@ - + @@ -168,6 +168,6 @@ Peers readable ao +
Generated by GTK-Doc V1.33.0 \ No newline at end of file diff --git a/docs/api/html/gdbus-org.freedesktop.NetworkManager.Device.WireGuard.html b/docs/api/html/gdbus-org.freedesktop.NetworkManager.Device.WireGuard.html index f07fb94..5bb89c9 100644 --- a/docs/api/html/gdbus-org.freedesktop.NetworkManager.Device.WireGuard.html +++ b/docs/api/html/gdbus-org.freedesktop.NetworkManager.Device.WireGuard.html @@ -8,7 +8,7 @@ - + @@ -76,6 +76,6 @@ FwMark readable u +
Generated by GTK-Doc V1.33.0 \ No newline at end of file diff --git a/docs/api/html/gdbus-org.freedesktop.NetworkManager.Device.Wired.html b/docs/api/html/gdbus-org.freedesktop.NetworkManager.Device.Wired.html index 6a65cbf..46f84e3 100644 --- a/docs/api/html/gdbus-org.freedesktop.NetworkManager.Device.Wired.html +++ b/docs/api/html/gdbus-org.freedesktop.NetworkManager.Device.Wired.html @@ -8,7 +8,7 @@ - + @@ -129,6 +129,6 @@ Carrier readable b +
Generated by GTK-Doc V1.33.0 \ No newline at end of file diff --git a/docs/api/html/gdbus-org.freedesktop.NetworkManager.Device.Wireless.html b/docs/api/html/gdbus-org.freedesktop.NetworkManager.Device.Wireless.html index 022e2ae..98d8160 100644 --- a/docs/api/html/gdbus-org.freedesktop.NetworkManager.Device.Wireless.html +++ b/docs/api/html/gdbus-org.freedesktop.NetworkManager.Device.Wireless.html @@ -8,7 +8,7 @@ - + @@ -274,6 +274,6 @@ LastScan readable x +
Generated by GTK-Doc V1.33.0 \ No newline at end of file diff --git a/docs/api/html/gdbus-org.freedesktop.NetworkManager.Device.Wpan.html b/docs/api/html/gdbus-org.freedesktop.NetworkManager.Device.Wpan.html index f894cc0..0b20a21 100644 --- a/docs/api/html/gdbus-org.freedesktop.NetworkManager.Device.Wpan.html +++ b/docs/api/html/gdbus-org.freedesktop.NetworkManager.Device.Wpan.html @@ -8,7 +8,7 @@ - + @@ -57,6 +57,6 @@ HwAddress readable s +
Generated by GTK-Doc V1.33.0 \ No newline at end of file diff --git a/docs/api/html/gdbus-org.freedesktop.NetworkManager.Device.html b/docs/api/html/gdbus-org.freedesktop.NetworkManager.Device.html index 0bb8e85..058b5b5 100644 --- a/docs/api/html/gdbus-org.freedesktop.NetworkManager.Device.html +++ b/docs/api/html/gdbus-org.freedesktop.NetworkManager.Device.html @@ -8,7 +8,7 @@ - + @@ -605,6 +605,6 @@ HwAddress readable s +
Generated by GTK-Doc V1.33.0 \ No newline at end of file diff --git a/docs/api/html/gdbus-org.freedesktop.NetworkManager.DnsManager.html b/docs/api/html/gdbus-org.freedesktop.NetworkManager.DnsManager.html index f6091bf..fa0bd56 100644 --- a/docs/api/html/gdbus-org.freedesktop.NetworkManager.DnsManager.html +++ b/docs/api/html/gdbus-org.freedesktop.NetworkManager.DnsManager.html @@ -8,7 +8,7 @@ - + @@ -82,6 +82,6 @@ Configuration readable aa{sv} +
Generated by GTK-Doc V1.33.0 \ No newline at end of file diff --git a/docs/api/html/gdbus-org.freedesktop.NetworkManager.IP4Config.html b/docs/api/html/gdbus-org.freedesktop.NetworkManager.IP4Config.html index 4a891b9..c941c60 100644 --- a/docs/api/html/gdbus-org.freedesktop.NetworkManager.IP4Config.html +++ b/docs/api/html/gdbus-org.freedesktop.NetworkManager.IP4Config.html @@ -8,7 +8,7 @@ - + @@ -220,6 +220,6 @@ WinsServerData readable as +
Generated by GTK-Doc V1.33.0 \ No newline at end of file diff --git a/docs/api/html/gdbus-org.freedesktop.NetworkManager.IP6Config.html b/docs/api/html/gdbus-org.freedesktop.NetworkManager.IP6Config.html index 82db2ff..e046dfe 100644 --- a/docs/api/html/gdbus-org.freedesktop.NetworkManager.IP6Config.html +++ b/docs/api/html/gdbus-org.freedesktop.NetworkManager.IP6Config.html @@ -8,7 +8,7 @@ - + @@ -179,6 +179,6 @@ DnsPriority readable i +
Generated by GTK-Doc V1.33.0 \ No newline at end of file diff --git a/docs/api/html/gdbus-org.freedesktop.NetworkManager.PPP.html b/docs/api/html/gdbus-org.freedesktop.NetworkManager.PPP.html index 4670db2..c8b3d2f 100644 --- a/docs/api/html/gdbus-org.freedesktop.NetworkManager.PPP.html +++ b/docs/api/html/gdbus-org.freedesktop.NetworkManager.PPP.html @@ -8,7 +8,7 @@ - + @@ -147,6 +147,6 @@ SetIfindex (IN i ifindex); +
Generated by GTK-Doc V1.33.0 \ No newline at end of file diff --git a/docs/api/html/gdbus-org.freedesktop.NetworkManager.SecretAgent.html b/docs/api/html/gdbus-org.freedesktop.NetworkManager.SecretAgent.html index c8d1d6b..a141eb1 100644 --- a/docs/api/html/gdbus-org.freedesktop.NetworkManager.SecretAgent.html +++ b/docs/api/html/gdbus-org.freedesktop.NetworkManager.SecretAgent.html @@ -8,7 +8,7 @@ - + @@ -197,6 +197,6 @@ DeleteSecrets (IN a{sa{sv}} connection, +
Generated by GTK-Doc V1.33.0 \ No newline at end of file diff --git a/docs/api/html/gdbus-org.freedesktop.NetworkManager.Settings.Connection.html b/docs/api/html/gdbus-org.freedesktop.NetworkManager.Settings.Connection.html index 478de12..8149cdb 100644 --- a/docs/api/html/gdbus-org.freedesktop.NetworkManager.Settings.Connection.html +++ b/docs/api/html/gdbus-org.freedesktop.NetworkManager.Settings.Connection.html @@ -8,7 +8,7 @@ - + @@ -355,6 +355,6 @@ Filename readable s +
Generated by GTK-Doc V1.33.0 \ No newline at end of file diff --git a/docs/api/html/gdbus-org.freedesktop.NetworkManager.Settings.html b/docs/api/html/gdbus-org.freedesktop.NetworkManager.Settings.html index da39bc0..4fa9a5e 100644 --- a/docs/api/html/gdbus-org.freedesktop.NetworkManager.Settings.html +++ b/docs/api/html/gdbus-org.freedesktop.NetworkManager.Settings.html @@ -8,7 +8,7 @@ - + @@ -423,6 +423,6 @@ CanModify readable b +
Generated by GTK-Doc V1.33.0 \ No newline at end of file diff --git a/docs/api/html/gdbus-org.freedesktop.NetworkManager.VPN.Connection.html b/docs/api/html/gdbus-org.freedesktop.NetworkManager.VPN.Connection.html index b19d4c5..b8945e0 100644 --- a/docs/api/html/gdbus-org.freedesktop.NetworkManager.VPN.Connection.html +++ b/docs/api/html/gdbus-org.freedesktop.NetworkManager.VPN.Connection.html @@ -8,7 +8,7 @@ - + @@ -124,6 +124,6 @@ Banner readable s +
Generated by GTK-Doc V1.33.0 \ No newline at end of file diff --git a/docs/api/html/gdbus-org.freedesktop.NetworkManager.VPN.Plugin.html b/docs/api/html/gdbus-org.freedesktop.NetworkManager.VPN.Plugin.html index b63ea74..1eb6ca2 100644 --- a/docs/api/html/gdbus-org.freedesktop.NetworkManager.VPN.Plugin.html +++ b/docs/api/html/gdbus-org.freedesktop.NetworkManager.VPN.Plugin.html @@ -8,7 +8,7 @@ - + @@ -415,6 +415,6 @@ State readable u +
Generated by GTK-Doc V1.33.0 \ No newline at end of file diff --git a/docs/api/html/gdbus-org.freedesktop.NetworkManager.WifiP2PPeer.html b/docs/api/html/gdbus-org.freedesktop.NetworkManager.WifiP2PPeer.html index 478368a..12ef5c7 100644 --- a/docs/api/html/gdbus-org.freedesktop.NetworkManager.WifiP2PPeer.html +++ b/docs/api/html/gdbus-org.freedesktop.NetworkManager.WifiP2PPeer.html @@ -8,7 +8,7 @@ - + @@ -170,6 +170,6 @@ LastSeen readable i +
Generated by GTK-Doc V1.33.0 \ No newline at end of file diff --git a/docs/api/html/gdbus-org.freedesktop.NetworkManager.html b/docs/api/html/gdbus-org.freedesktop.NetworkManager.html index a3993d5..8843c3a 100644 --- a/docs/api/html/gdbus-org.freedesktop.NetworkManager.html +++ b/docs/api/html/gdbus-org.freedesktop.NetworkManager.html @@ -8,7 +8,7 @@ - + @@ -1039,6 +1039,6 @@ GlobalDnsConfiguration readwrite a{sv} +
Generated by GTK-Doc V1.33.0 \ No newline at end of file diff --git a/docs/api/html/index.html b/docs/api/html/index.html index e75bdb3..5a7b708 100644 --- a/docs/api/html/index.html +++ b/docs/api/html/index.html @@ -7,7 +7,7 @@ - + @@ -16,7 +16,7 @@

- for NetworkManager 1.29.9 + for NetworkManager 1.29.10 The latest version of this documentation can be found on-line at https://developer.gnome.org/NetworkManager/stable/. @@ -452,6 +452,6 @@

+
Generated by GTK-Doc V1.33.0 \ No newline at end of file diff --git a/docs/api/html/ix01.html b/docs/api/html/ix01.html index abd980d..7539665 100644 --- a/docs/api/html/ix01.html +++ b/docs/api/html/ix01.html @@ -8,7 +8,7 @@ - + @@ -26,1694 +26,1694 @@

Symbols

-
org.freedesktop.NetworkManager.AccessPoint, org.freedesktop.NetworkManager.AccessPoint +
org.freedesktop.NetworkManager.AccessPoint, org.freedesktop.NetworkManager.AccessPoint
-
org.freedesktop.NetworkManager.AccessPoint::PropertiesChanged, The "PropertiesChanged" signal +
org.freedesktop.NetworkManager.AccessPoint::PropertiesChanged, The "PropertiesChanged" signal
-
org.freedesktop.NetworkManager.AccessPoint:Flags, The "Flags" property +
org.freedesktop.NetworkManager.AccessPoint:Flags, The "Flags" property
-
org.freedesktop.NetworkManager.AccessPoint:Frequency, The "Frequency" property +
org.freedesktop.NetworkManager.AccessPoint:Frequency, The "Frequency" property
-
org.freedesktop.NetworkManager.AccessPoint:HwAddress, The "HwAddress" property +
org.freedesktop.NetworkManager.AccessPoint:HwAddress, The "HwAddress" property
-
org.freedesktop.NetworkManager.AccessPoint:LastSeen, The "LastSeen" property +
org.freedesktop.NetworkManager.AccessPoint:LastSeen, The "LastSeen" property
-
org.freedesktop.NetworkManager.AccessPoint:MaxBitrate, The "MaxBitrate" property +
org.freedesktop.NetworkManager.AccessPoint:MaxBitrate, The "MaxBitrate" property
-
org.freedesktop.NetworkManager.AccessPoint:Mode, The "Mode" property +
org.freedesktop.NetworkManager.AccessPoint:Mode, The "Mode" property
-
org.freedesktop.NetworkManager.AccessPoint:RsnFlags, The "RsnFlags" property +
org.freedesktop.NetworkManager.AccessPoint:RsnFlags, The "RsnFlags" property
-
org.freedesktop.NetworkManager.AccessPoint:Ssid, The "Ssid" property +
org.freedesktop.NetworkManager.AccessPoint:Ssid, The "Ssid" property
-
org.freedesktop.NetworkManager.AccessPoint:Strength, The "Strength" property +
org.freedesktop.NetworkManager.AccessPoint:Strength, The "Strength" property
-
org.freedesktop.NetworkManager.AccessPoint:WpaFlags, The "WpaFlags" property +
org.freedesktop.NetworkManager.AccessPoint:WpaFlags, The "WpaFlags" property
-
org.freedesktop.NetworkManager.AgentManager, org.freedesktop.NetworkManager.AgentManager +
org.freedesktop.NetworkManager.AgentManager, org.freedesktop.NetworkManager.AgentManager
-
org.freedesktop.NetworkManager.AgentManager.Register(), The Register() method +
org.freedesktop.NetworkManager.AgentManager.Register(), The Register() method
-
org.freedesktop.NetworkManager.AgentManager.RegisterWithCapabilities(), The RegisterWithCapabilities() method +
org.freedesktop.NetworkManager.AgentManager.RegisterWithCapabilities(), The RegisterWithCapabilities() method
-
org.freedesktop.NetworkManager.AgentManager.Unregister(), The Unregister() method +
org.freedesktop.NetworkManager.AgentManager.Unregister(), The Unregister() method
-
org.freedesktop.NetworkManager.Device, org.freedesktop.NetworkManager.Device +
org.freedesktop.NetworkManager.Device, org.freedesktop.NetworkManager.Device
-
org.freedesktop.NetworkManager.Device.Adsl, org.freedesktop.NetworkManager.Device.Adsl +
org.freedesktop.NetworkManager.Device.Adsl, org.freedesktop.NetworkManager.Device.Adsl
-
org.freedesktop.NetworkManager.Device.Adsl::PropertiesChanged, The "PropertiesChanged" signal +
org.freedesktop.NetworkManager.Device.Adsl::PropertiesChanged, The "PropertiesChanged" signal
-
org.freedesktop.NetworkManager.Device.Adsl:Carrier, The "Carrier" property +
org.freedesktop.NetworkManager.Device.Adsl:Carrier, The "Carrier" property
-
org.freedesktop.NetworkManager.Device.Bluetooth, org.freedesktop.NetworkManager.Device.Bluetooth +
org.freedesktop.NetworkManager.Device.Bluetooth, org.freedesktop.NetworkManager.Device.Bluetooth
-
org.freedesktop.NetworkManager.Device.Bluetooth::PropertiesChanged, The "PropertiesChanged" signal +
org.freedesktop.NetworkManager.Device.Bluetooth::PropertiesChanged, The "PropertiesChanged" signal
-
org.freedesktop.NetworkManager.Device.Bluetooth:BtCapabilities, The "BtCapabilities" property +
org.freedesktop.NetworkManager.Device.Bluetooth:BtCapabilities, The "BtCapabilities" property
-
org.freedesktop.NetworkManager.Device.Bluetooth:HwAddress, The "HwAddress" property +
org.freedesktop.NetworkManager.Device.Bluetooth:HwAddress, The "HwAddress" property
-
org.freedesktop.NetworkManager.Device.Bluetooth:Name, The "Name" property +
org.freedesktop.NetworkManager.Device.Bluetooth:Name, The "Name" property
-
org.freedesktop.NetworkManager.Device.Bond, org.freedesktop.NetworkManager.Device.Bond +
org.freedesktop.NetworkManager.Device.Bond, org.freedesktop.NetworkManager.Device.Bond
-
org.freedesktop.NetworkManager.Device.Bond::PropertiesChanged, The "PropertiesChanged" signal +
org.freedesktop.NetworkManager.Device.Bond::PropertiesChanged, The "PropertiesChanged" signal
-
org.freedesktop.NetworkManager.Device.Bond:Carrier, The "Carrier" property +
org.freedesktop.NetworkManager.Device.Bond:Carrier, The "Carrier" property
-
org.freedesktop.NetworkManager.Device.Bond:HwAddress, The "HwAddress" property +
org.freedesktop.NetworkManager.Device.Bond:HwAddress, The "HwAddress" property
-
org.freedesktop.NetworkManager.Device.Bond:Slaves, The "Slaves" property +
org.freedesktop.NetworkManager.Device.Bond:Slaves, The "Slaves" property
-
org.freedesktop.NetworkManager.Device.Bridge, org.freedesktop.NetworkManager.Device.Bridge +
org.freedesktop.NetworkManager.Device.Bridge, org.freedesktop.NetworkManager.Device.Bridge
-
org.freedesktop.NetworkManager.Device.Bridge::PropertiesChanged, The "PropertiesChanged" signal +
org.freedesktop.NetworkManager.Device.Bridge::PropertiesChanged, The "PropertiesChanged" signal
-
org.freedesktop.NetworkManager.Device.Bridge:Carrier, The "Carrier" property +
org.freedesktop.NetworkManager.Device.Bridge:Carrier, The "Carrier" property
-
org.freedesktop.NetworkManager.Device.Bridge:HwAddress, The "HwAddress" property +
org.freedesktop.NetworkManager.Device.Bridge:HwAddress, The "HwAddress" property
-
org.freedesktop.NetworkManager.Device.Bridge:Slaves, The "Slaves" property +
org.freedesktop.NetworkManager.Device.Bridge:Slaves, The "Slaves" property
-
org.freedesktop.NetworkManager.Device.Delete(), The Delete() method +
org.freedesktop.NetworkManager.Device.Delete(), The Delete() method
-
org.freedesktop.NetworkManager.Device.Disconnect(), The Disconnect() method +
org.freedesktop.NetworkManager.Device.Disconnect(), The Disconnect() method
-
org.freedesktop.NetworkManager.Device.Dummy, org.freedesktop.NetworkManager.Device.Dummy +
org.freedesktop.NetworkManager.Device.Dummy, org.freedesktop.NetworkManager.Device.Dummy
-
org.freedesktop.NetworkManager.Device.Dummy::PropertiesChanged, The "PropertiesChanged" signal +
org.freedesktop.NetworkManager.Device.Dummy::PropertiesChanged, The "PropertiesChanged" signal
-
org.freedesktop.NetworkManager.Device.Dummy:HwAddress, The "HwAddress" property +
org.freedesktop.NetworkManager.Device.Dummy:HwAddress, The "HwAddress" property
-
org.freedesktop.NetworkManager.Device.Generic, org.freedesktop.NetworkManager.Device.Generic +
org.freedesktop.NetworkManager.Device.Generic, org.freedesktop.NetworkManager.Device.Generic
-
org.freedesktop.NetworkManager.Device.Generic::PropertiesChanged, The "PropertiesChanged" signal +
org.freedesktop.NetworkManager.Device.Generic::PropertiesChanged, The "PropertiesChanged" signal
-
org.freedesktop.NetworkManager.Device.Generic:HwAddress, The "HwAddress" property +
org.freedesktop.NetworkManager.Device.Generic:HwAddress, The "HwAddress" property
-
org.freedesktop.NetworkManager.Device.Generic:TypeDescription, The "TypeDescription" property +
org.freedesktop.NetworkManager.Device.Generic:TypeDescription, The "TypeDescription" property
-
org.freedesktop.NetworkManager.Device.GetAppliedConnection(), The GetAppliedConnection() method +
org.freedesktop.NetworkManager.Device.GetAppliedConnection(), The GetAppliedConnection() method
-
org.freedesktop.NetworkManager.Device.Infiniband, org.freedesktop.NetworkManager.Device.Infiniband +
org.freedesktop.NetworkManager.Device.Infiniband, org.freedesktop.NetworkManager.Device.Infiniband
-
org.freedesktop.NetworkManager.Device.Infiniband::PropertiesChanged, The "PropertiesChanged" signal +
org.freedesktop.NetworkManager.Device.Infiniband::PropertiesChanged, The "PropertiesChanged" signal
-
org.freedesktop.NetworkManager.Device.Infiniband:Carrier, The "Carrier" property +
org.freedesktop.NetworkManager.Device.Infiniband:Carrier, The "Carrier" property
-
org.freedesktop.NetworkManager.Device.Infiniband:HwAddress, The "HwAddress" property +
org.freedesktop.NetworkManager.Device.Infiniband:HwAddress, The "HwAddress" property
-
org.freedesktop.NetworkManager.Device.IPTunnel, org.freedesktop.NetworkManager.Device.IPTunnel +
org.freedesktop.NetworkManager.Device.IPTunnel, org.freedesktop.NetworkManager.Device.IPTunnel
-
org.freedesktop.NetworkManager.Device.IPTunnel::PropertiesChanged, The "PropertiesChanged" signal +
org.freedesktop.NetworkManager.Device.IPTunnel::PropertiesChanged, The "PropertiesChanged" signal
-
org.freedesktop.NetworkManager.Device.IPTunnel:EncapsulationLimit, The "EncapsulationLimit" property +
org.freedesktop.NetworkManager.Device.IPTunnel:EncapsulationLimit, The "EncapsulationLimit" property
-
org.freedesktop.NetworkManager.Device.IPTunnel:Flags, The "Flags" property +
org.freedesktop.NetworkManager.Device.IPTunnel:Flags, The "Flags" property
-
org.freedesktop.NetworkManager.Device.IPTunnel:FlowLabel, The "FlowLabel" property +
org.freedesktop.NetworkManager.Device.IPTunnel:FlowLabel, The "FlowLabel" property
-
org.freedesktop.NetworkManager.Device.IPTunnel:InputKey, The "InputKey" property +
org.freedesktop.NetworkManager.Device.IPTunnel:InputKey, The "InputKey" property
-
org.freedesktop.NetworkManager.Device.IPTunnel:Local, The "Local" property +
org.freedesktop.NetworkManager.Device.IPTunnel:Local, The "Local" property
-
org.freedesktop.NetworkManager.Device.IPTunnel:Mode, The "Mode" property +
org.freedesktop.NetworkManager.Device.IPTunnel:Mode, The "Mode" property
-
org.freedesktop.NetworkManager.Device.IPTunnel:OutputKey, The "OutputKey" property +
org.freedesktop.NetworkManager.Device.IPTunnel:OutputKey, The "OutputKey" property
-
org.freedesktop.NetworkManager.Device.IPTunnel:Parent, The "Parent" property +
org.freedesktop.NetworkManager.Device.IPTunnel:Parent, The "Parent" property
-
org.freedesktop.NetworkManager.Device.IPTunnel:PathMtuDiscovery, The "PathMtuDiscovery" property +
org.freedesktop.NetworkManager.Device.IPTunnel:PathMtuDiscovery, The "PathMtuDiscovery" property
-
org.freedesktop.NetworkManager.Device.IPTunnel:Remote, The "Remote" property +
org.freedesktop.NetworkManager.Device.IPTunnel:Remote, The "Remote" property
-
org.freedesktop.NetworkManager.Device.IPTunnel:Tos, The "Tos" property +
org.freedesktop.NetworkManager.Device.IPTunnel:Tos, The "Tos" property
-
org.freedesktop.NetworkManager.Device.IPTunnel:Ttl, The "Ttl" property +
org.freedesktop.NetworkManager.Device.IPTunnel:Ttl, The "Ttl" property
-
org.freedesktop.NetworkManager.Device.Lowpan, org.freedesktop.NetworkManager.Device.Lowpan +
org.freedesktop.NetworkManager.Device.Lowpan, org.freedesktop.NetworkManager.Device.Lowpan
-
org.freedesktop.NetworkManager.Device.Lowpan:HwAddress, The "HwAddress" property +
org.freedesktop.NetworkManager.Device.Lowpan:HwAddress, The "HwAddress" property
-
org.freedesktop.NetworkManager.Device.Lowpan:Parent, The "Parent" property +
org.freedesktop.NetworkManager.Device.Lowpan:Parent, The "Parent" property
-
org.freedesktop.NetworkManager.Device.Macsec, org.freedesktop.NetworkManager.Device.Macsec +
org.freedesktop.NetworkManager.Device.Macsec, org.freedesktop.NetworkManager.Device.Macsec
-
org.freedesktop.NetworkManager.Device.Macsec::PropertiesChanged, The "PropertiesChanged" signal +
org.freedesktop.NetworkManager.Device.Macsec::PropertiesChanged, The "PropertiesChanged" signal
-
org.freedesktop.NetworkManager.Device.Macsec:CipherSuite, The "CipherSuite" property +
org.freedesktop.NetworkManager.Device.Macsec:CipherSuite, The "CipherSuite" property
-
org.freedesktop.NetworkManager.Device.Macsec:EncodingSa, The "EncodingSa" property +
org.freedesktop.NetworkManager.Device.Macsec:EncodingSa, The "EncodingSa" property
-
org.freedesktop.NetworkManager.Device.Macsec:Encrypt, The "Encrypt" property +
org.freedesktop.NetworkManager.Device.Macsec:Encrypt, The "Encrypt" property
-
org.freedesktop.NetworkManager.Device.Macsec:Es, The "Es" property +
org.freedesktop.NetworkManager.Device.Macsec:Es, The "Es" property
-
org.freedesktop.NetworkManager.Device.Macsec:IcvLength, The "IcvLength" property +
org.freedesktop.NetworkManager.Device.Macsec:IcvLength, The "IcvLength" property
-
org.freedesktop.NetworkManager.Device.Macsec:IncludeSci, The "IncludeSci" property +
org.freedesktop.NetworkManager.Device.Macsec:IncludeSci, The "IncludeSci" property
-
org.freedesktop.NetworkManager.Device.Macsec:Parent, The "Parent" property +
org.freedesktop.NetworkManager.Device.Macsec:Parent, The "Parent" property
-
org.freedesktop.NetworkManager.Device.Macsec:Protect, The "Protect" property +
org.freedesktop.NetworkManager.Device.Macsec:Protect, The "Protect" property
-
org.freedesktop.NetworkManager.Device.Macsec:ReplayProtect, The "ReplayProtect" property +
org.freedesktop.NetworkManager.Device.Macsec:ReplayProtect, The "ReplayProtect" property
-
org.freedesktop.NetworkManager.Device.Macsec:Scb, The "Scb" property +
org.freedesktop.NetworkManager.Device.Macsec:Scb, The "Scb" property
-
org.freedesktop.NetworkManager.Device.Macsec:Sci, The "Sci" property +
org.freedesktop.NetworkManager.Device.Macsec:Sci, The "Sci" property
-
org.freedesktop.NetworkManager.Device.Macsec:Validation, The "Validation" property +
org.freedesktop.NetworkManager.Device.Macsec:Validation, The "Validation" property
-
org.freedesktop.NetworkManager.Device.Macsec:Window, The "Window" property +
org.freedesktop.NetworkManager.Device.Macsec:Window, The "Window" property
-
org.freedesktop.NetworkManager.Device.Macvlan, org.freedesktop.NetworkManager.Device.Macvlan +
org.freedesktop.NetworkManager.Device.Macvlan, org.freedesktop.NetworkManager.Device.Macvlan
-
org.freedesktop.NetworkManager.Device.Macvlan::PropertiesChanged, The "PropertiesChanged" signal +
org.freedesktop.NetworkManager.Device.Macvlan::PropertiesChanged, The "PropertiesChanged" signal
-
org.freedesktop.NetworkManager.Device.Macvlan:Mode, The "Mode" property +
org.freedesktop.NetworkManager.Device.Macvlan:Mode, The "Mode" property
-
org.freedesktop.NetworkManager.Device.Macvlan:NoPromisc, The "NoPromisc" property +
org.freedesktop.NetworkManager.Device.Macvlan:NoPromisc, The "NoPromisc" property
-
org.freedesktop.NetworkManager.Device.Macvlan:Parent, The "Parent" property +
org.freedesktop.NetworkManager.Device.Macvlan:Parent, The "Parent" property
-
org.freedesktop.NetworkManager.Device.Macvlan:Tap, The "Tap" property +
org.freedesktop.NetworkManager.Device.Macvlan:Tap, The "Tap" property
-
org.freedesktop.NetworkManager.Device.Modem, org.freedesktop.NetworkManager.Device.Modem +
org.freedesktop.NetworkManager.Device.Modem, org.freedesktop.NetworkManager.Device.Modem
-
org.freedesktop.NetworkManager.Device.Modem::PropertiesChanged, The "PropertiesChanged" signal +
org.freedesktop.NetworkManager.Device.Modem::PropertiesChanged, The "PropertiesChanged" signal
-
org.freedesktop.NetworkManager.Device.Modem:Apn, The "Apn" property +
org.freedesktop.NetworkManager.Device.Modem:Apn, The "Apn" property
-
org.freedesktop.NetworkManager.Device.Modem:CurrentCapabilities, The "CurrentCapabilities" property +
org.freedesktop.NetworkManager.Device.Modem:CurrentCapabilities, The "CurrentCapabilities" property
-
org.freedesktop.NetworkManager.Device.Modem:DeviceId, The "DeviceId" property +
org.freedesktop.NetworkManager.Device.Modem:DeviceId, The "DeviceId" property
-
org.freedesktop.NetworkManager.Device.Modem:ModemCapabilities, The "ModemCapabilities" property +
org.freedesktop.NetworkManager.Device.Modem:ModemCapabilities, The "ModemCapabilities" property
-
org.freedesktop.NetworkManager.Device.Modem:OperatorCode, The "OperatorCode" property +
org.freedesktop.NetworkManager.Device.Modem:OperatorCode, The "OperatorCode" property
-
org.freedesktop.NetworkManager.Device.OlpcMesh, org.freedesktop.NetworkManager.Device.OlpcMesh +
org.freedesktop.NetworkManager.Device.OlpcMesh, org.freedesktop.NetworkManager.Device.OlpcMesh
-
org.freedesktop.NetworkManager.Device.OlpcMesh::PropertiesChanged, The "PropertiesChanged" signal +
org.freedesktop.NetworkManager.Device.OlpcMesh::PropertiesChanged, The "PropertiesChanged" signal
-
org.freedesktop.NetworkManager.Device.OlpcMesh:ActiveChannel, The "ActiveChannel" property +
org.freedesktop.NetworkManager.Device.OlpcMesh:ActiveChannel, The "ActiveChannel" property
-
org.freedesktop.NetworkManager.Device.OlpcMesh:Companion, The "Companion" property +
org.freedesktop.NetworkManager.Device.OlpcMesh:Companion, The "Companion" property
-
org.freedesktop.NetworkManager.Device.OlpcMesh:HwAddress, The "HwAddress" property +
org.freedesktop.NetworkManager.Device.OlpcMesh:HwAddress, The "HwAddress" property
-
org.freedesktop.NetworkManager.Device.OvsBridge, org.freedesktop.NetworkManager.Device.OvsBridge +
org.freedesktop.NetworkManager.Device.OvsBridge, org.freedesktop.NetworkManager.Device.OvsBridge
-
org.freedesktop.NetworkManager.Device.OvsBridge::PropertiesChanged, The "PropertiesChanged" signal +
org.freedesktop.NetworkManager.Device.OvsBridge::PropertiesChanged, The "PropertiesChanged" signal
-
org.freedesktop.NetworkManager.Device.OvsBridge:Slaves, The "Slaves" property +
org.freedesktop.NetworkManager.Device.OvsBridge:Slaves, The "Slaves" property
-
org.freedesktop.NetworkManager.Device.OvsInterface, org.freedesktop.NetworkManager.Device.OvsInterface +
org.freedesktop.NetworkManager.Device.OvsInterface, org.freedesktop.NetworkManager.Device.OvsInterface
-
org.freedesktop.NetworkManager.Device.OvsInterface::PropertiesChanged, The "PropertiesChanged" signal +
org.freedesktop.NetworkManager.Device.OvsInterface::PropertiesChanged, The "PropertiesChanged" signal
-
org.freedesktop.NetworkManager.Device.OvsPort, org.freedesktop.NetworkManager.Device.OvsPort +
org.freedesktop.NetworkManager.Device.OvsPort, org.freedesktop.NetworkManager.Device.OvsPort
-
org.freedesktop.NetworkManager.Device.OvsPort::PropertiesChanged, The "PropertiesChanged" signal +
org.freedesktop.NetworkManager.Device.OvsPort::PropertiesChanged, The "PropertiesChanged" signal
-
org.freedesktop.NetworkManager.Device.OvsPort:Slaves, The "Slaves" property +
org.freedesktop.NetworkManager.Device.OvsPort:Slaves, The "Slaves" property
-
org.freedesktop.NetworkManager.Device.Ppp, org.freedesktop.NetworkManager.Device.Ppp +
org.freedesktop.NetworkManager.Device.Ppp, org.freedesktop.NetworkManager.Device.Ppp
-
org.freedesktop.NetworkManager.Device.Ppp::PropertiesChanged, The "PropertiesChanged" signal +
org.freedesktop.NetworkManager.Device.Ppp::PropertiesChanged, The "PropertiesChanged" signal
-
org.freedesktop.NetworkManager.Device.Reapply(), The Reapply() method +
org.freedesktop.NetworkManager.Device.Reapply(), The Reapply() method
-
org.freedesktop.NetworkManager.Device.Statistics, org.freedesktop.NetworkManager.Device.Statistics +
org.freedesktop.NetworkManager.Device.Statistics, org.freedesktop.NetworkManager.Device.Statistics
-
org.freedesktop.NetworkManager.Device.Statistics::PropertiesChanged, The "PropertiesChanged" signal +
org.freedesktop.NetworkManager.Device.Statistics::PropertiesChanged, The "PropertiesChanged" signal
-
org.freedesktop.NetworkManager.Device.Statistics:RefreshRateMs, The "RefreshRateMs" property +
org.freedesktop.NetworkManager.Device.Statistics:RefreshRateMs, The "RefreshRateMs" property
-
org.freedesktop.NetworkManager.Device.Statistics:RxBytes, The "RxBytes" property +
org.freedesktop.NetworkManager.Device.Statistics:RxBytes, The "RxBytes" property
-
org.freedesktop.NetworkManager.Device.Statistics:TxBytes, The "TxBytes" property +
org.freedesktop.NetworkManager.Device.Statistics:TxBytes, The "TxBytes" property
-
org.freedesktop.NetworkManager.Device.Team, org.freedesktop.NetworkManager.Device.Team +
org.freedesktop.NetworkManager.Device.Team, org.freedesktop.NetworkManager.Device.Team
-
org.freedesktop.NetworkManager.Device.Team::PropertiesChanged, The "PropertiesChanged" signal +
org.freedesktop.NetworkManager.Device.Team::PropertiesChanged, The "PropertiesChanged" signal
-
org.freedesktop.NetworkManager.Device.Team:Carrier, The "Carrier" property +
org.freedesktop.NetworkManager.Device.Team:Carrier, The "Carrier" property
-
org.freedesktop.NetworkManager.Device.Team:Config, The "Config" property +
org.freedesktop.NetworkManager.Device.Team:Config, The "Config" property
-
org.freedesktop.NetworkManager.Device.Team:HwAddress, The "HwAddress" property +
org.freedesktop.NetworkManager.Device.Team:HwAddress, The "HwAddress" property
-
org.freedesktop.NetworkManager.Device.Team:Slaves, The "Slaves" property +
org.freedesktop.NetworkManager.Device.Team:Slaves, The "Slaves" property
-
org.freedesktop.NetworkManager.Device.Tun, org.freedesktop.NetworkManager.Device.Tun +
org.freedesktop.NetworkManager.Device.Tun, org.freedesktop.NetworkManager.Device.Tun
-
org.freedesktop.NetworkManager.Device.Tun::PropertiesChanged, The "PropertiesChanged" signal +
org.freedesktop.NetworkManager.Device.Tun::PropertiesChanged, The "PropertiesChanged" signal
-
org.freedesktop.NetworkManager.Device.Tun:Group, The "Group" property +
org.freedesktop.NetworkManager.Device.Tun:Group, The "Group" property
-
org.freedesktop.NetworkManager.Device.Tun:HwAddress, The "HwAddress" property +
org.freedesktop.NetworkManager.Device.Tun:HwAddress, The "HwAddress" property
-
org.freedesktop.NetworkManager.Device.Tun:Mode, The "Mode" property +
org.freedesktop.NetworkManager.Device.Tun:Mode, The "Mode" property
-
org.freedesktop.NetworkManager.Device.Tun:MultiQueue, The "MultiQueue" property +
org.freedesktop.NetworkManager.Device.Tun:MultiQueue, The "MultiQueue" property
-
org.freedesktop.NetworkManager.Device.Tun:NoPi, The "NoPi" property +
org.freedesktop.NetworkManager.Device.Tun:NoPi, The "NoPi" property
-
org.freedesktop.NetworkManager.Device.Tun:Owner, The "Owner" property +
org.freedesktop.NetworkManager.Device.Tun:Owner, The "Owner" property
-
org.freedesktop.NetworkManager.Device.Tun:VnetHdr, The "VnetHdr" property +
org.freedesktop.NetworkManager.Device.Tun:VnetHdr, The "VnetHdr" property
-
org.freedesktop.NetworkManager.Device.Veth, org.freedesktop.NetworkManager.Device.Veth +
org.freedesktop.NetworkManager.Device.Veth, org.freedesktop.NetworkManager.Device.Veth
-
org.freedesktop.NetworkManager.Device.Veth::PropertiesChanged, The "PropertiesChanged" signal +
org.freedesktop.NetworkManager.Device.Veth::PropertiesChanged, The "PropertiesChanged" signal
-
org.freedesktop.NetworkManager.Device.Veth:Peer, The "Peer" property +
org.freedesktop.NetworkManager.Device.Veth:Peer, The "Peer" property
-
org.freedesktop.NetworkManager.Device.Vlan, org.freedesktop.NetworkManager.Device.Vlan +
org.freedesktop.NetworkManager.Device.Vlan, org.freedesktop.NetworkManager.Device.Vlan
-
org.freedesktop.NetworkManager.Device.Vlan::PropertiesChanged, The "PropertiesChanged" signal +
org.freedesktop.NetworkManager.Device.Vlan::PropertiesChanged, The "PropertiesChanged" signal
-
org.freedesktop.NetworkManager.Device.Vlan:Carrier, The "Carrier" property +
org.freedesktop.NetworkManager.Device.Vlan:Carrier, The "Carrier" property
-
org.freedesktop.NetworkManager.Device.Vlan:HwAddress, The "HwAddress" property +
org.freedesktop.NetworkManager.Device.Vlan:HwAddress, The "HwAddress" property
-
org.freedesktop.NetworkManager.Device.Vlan:Parent, The "Parent" property +
org.freedesktop.NetworkManager.Device.Vlan:Parent, The "Parent" property
-
org.freedesktop.NetworkManager.Device.Vlan:VlanId, The "VlanId" property +
org.freedesktop.NetworkManager.Device.Vlan:VlanId, The "VlanId" property
-
org.freedesktop.NetworkManager.Device.Vrf, org.freedesktop.NetworkManager.Device.Vrf +
org.freedesktop.NetworkManager.Device.Vrf, org.freedesktop.NetworkManager.Device.Vrf
-
org.freedesktop.NetworkManager.Device.Vrf:Table, The "Table" property +
org.freedesktop.NetworkManager.Device.Vrf:Table, The "Table" property
-
org.freedesktop.NetworkManager.Device.Vxlan, org.freedesktop.NetworkManager.Device.Vxlan +
org.freedesktop.NetworkManager.Device.Vxlan, org.freedesktop.NetworkManager.Device.Vxlan
-
org.freedesktop.NetworkManager.Device.Vxlan::PropertiesChanged, The "PropertiesChanged" signal +
org.freedesktop.NetworkManager.Device.Vxlan::PropertiesChanged, The "PropertiesChanged" signal
-
org.freedesktop.NetworkManager.Device.Vxlan:Ageing, The "Ageing" property +
org.freedesktop.NetworkManager.Device.Vxlan:Ageing, The "Ageing" property
-
org.freedesktop.NetworkManager.Device.Vxlan:DstPort, The "DstPort" property +
org.freedesktop.NetworkManager.Device.Vxlan:DstPort, The "DstPort" property
-
org.freedesktop.NetworkManager.Device.Vxlan:Group, The "Group" property +
org.freedesktop.NetworkManager.Device.Vxlan:Group, The "Group" property
-
org.freedesktop.NetworkManager.Device.Vxlan:HwAddress, The "HwAddress" property +
org.freedesktop.NetworkManager.Device.Vxlan:HwAddress, The "HwAddress" property
-
org.freedesktop.NetworkManager.Device.Vxlan:Id, The "Id" property +
org.freedesktop.NetworkManager.Device.Vxlan:Id, The "Id" property
-
org.freedesktop.NetworkManager.Device.Vxlan:L2miss, The "L2miss" property +
org.freedesktop.NetworkManager.Device.Vxlan:L2miss, The "L2miss" property
-
org.freedesktop.NetworkManager.Device.Vxlan:L3miss, The "L3miss" property +
org.freedesktop.NetworkManager.Device.Vxlan:L3miss, The "L3miss" property
-
org.freedesktop.NetworkManager.Device.Vxlan:Learning, The "Learning" property +
org.freedesktop.NetworkManager.Device.Vxlan:Learning, The "Learning" property
-
org.freedesktop.NetworkManager.Device.Vxlan:Limit, The "Limit" property +
org.freedesktop.NetworkManager.Device.Vxlan:Limit, The "Limit" property
-
org.freedesktop.NetworkManager.Device.Vxlan:Local, The "Local" property +
org.freedesktop.NetworkManager.Device.Vxlan:Local, The "Local" property
-
org.freedesktop.NetworkManager.Device.Vxlan:Parent, The "Parent" property +
org.freedesktop.NetworkManager.Device.Vxlan:Parent, The "Parent" property
-
org.freedesktop.NetworkManager.Device.Vxlan:Proxy, The "Proxy" property +
org.freedesktop.NetworkManager.Device.Vxlan:Proxy, The "Proxy" property
-
org.freedesktop.NetworkManager.Device.Vxlan:Rsc, The "Rsc" property +
org.freedesktop.NetworkManager.Device.Vxlan:Rsc, The "Rsc" property
-
org.freedesktop.NetworkManager.Device.Vxlan:SrcPortMax, The "SrcPortMax" property +
org.freedesktop.NetworkManager.Device.Vxlan:SrcPortMax, The "SrcPortMax" property
-
org.freedesktop.NetworkManager.Device.Vxlan:SrcPortMin, The "SrcPortMin" property +
org.freedesktop.NetworkManager.Device.Vxlan:SrcPortMin, The "SrcPortMin" property
-
org.freedesktop.NetworkManager.Device.Vxlan:Tos, The "Tos" property +
org.freedesktop.NetworkManager.Device.Vxlan:Tos, The "Tos" property
-
org.freedesktop.NetworkManager.Device.Vxlan:Ttl, The "Ttl" property +
org.freedesktop.NetworkManager.Device.Vxlan:Ttl, The "Ttl" property
-
org.freedesktop.NetworkManager.Device.WireGuard, org.freedesktop.NetworkManager.Device.WireGuard +
org.freedesktop.NetworkManager.Device.WireGuard, org.freedesktop.NetworkManager.Device.WireGuard
-
org.freedesktop.NetworkManager.Device.WireGuard:FwMark, The "FwMark" property +
org.freedesktop.NetworkManager.Device.WireGuard:FwMark, The "FwMark" property
-
org.freedesktop.NetworkManager.Device.WireGuard:ListenPort, The "ListenPort" property +
org.freedesktop.NetworkManager.Device.WireGuard:ListenPort, The "ListenPort" property
-
org.freedesktop.NetworkManager.Device.WireGuard:PublicKey, The "PublicKey" property +
org.freedesktop.NetworkManager.Device.WireGuard:PublicKey, The "PublicKey" property
-
org.freedesktop.NetworkManager.Device.Wpan, org.freedesktop.NetworkManager.Device.Wpan +
org.freedesktop.NetworkManager.Device.Wpan, org.freedesktop.NetworkManager.Device.Wpan
-
org.freedesktop.NetworkManager.Device.Wpan:HwAddress, The "HwAddress" property +
org.freedesktop.NetworkManager.Device.Wpan:HwAddress, The "HwAddress" property
-
org.freedesktop.NetworkManager.Device::StateChanged, The "StateChanged" signal +
org.freedesktop.NetworkManager.Device::StateChanged, The "StateChanged" signal
-
org.freedesktop.NetworkManager.Device:ActiveConnection, The "ActiveConnection" property +
org.freedesktop.NetworkManager.Device:ActiveConnection, The "ActiveConnection" property
-
org.freedesktop.NetworkManager.Device:Autoconnect, The "Autoconnect" property +
org.freedesktop.NetworkManager.Device:Autoconnect, The "Autoconnect" property
-
org.freedesktop.NetworkManager.Device:AvailableConnections, The "AvailableConnections" property +
org.freedesktop.NetworkManager.Device:AvailableConnections, The "AvailableConnections" property
-
org.freedesktop.NetworkManager.Device:Capabilities, The "Capabilities" property +
org.freedesktop.NetworkManager.Device:Capabilities, The "Capabilities" property
-
org.freedesktop.NetworkManager.Device:DeviceType, The "DeviceType" property +
org.freedesktop.NetworkManager.Device:DeviceType, The "DeviceType" property
-
org.freedesktop.NetworkManager.Device:Dhcp4Config, The "Dhcp4Config" property +
org.freedesktop.NetworkManager.Device:Dhcp4Config, The "Dhcp4Config" property
-
org.freedesktop.NetworkManager.Device:Dhcp6Config, The "Dhcp6Config" property +
org.freedesktop.NetworkManager.Device:Dhcp6Config, The "Dhcp6Config" property
-
org.freedesktop.NetworkManager.Device:Driver, The "Driver" property +
org.freedesktop.NetworkManager.Device:Driver, The "Driver" property
-
org.freedesktop.NetworkManager.Device:DriverVersion, The "DriverVersion" property +
org.freedesktop.NetworkManager.Device:DriverVersion, The "DriverVersion" property
-
org.freedesktop.NetworkManager.Device:FirmwareMissing, The "FirmwareMissing" property +
org.freedesktop.NetworkManager.Device:FirmwareMissing, The "FirmwareMissing" property
-
org.freedesktop.NetworkManager.Device:FirmwareVersion, The "FirmwareVersion" property +
org.freedesktop.NetworkManager.Device:FirmwareVersion, The "FirmwareVersion" property
-
org.freedesktop.NetworkManager.Device:HwAddress, The "HwAddress" property +
org.freedesktop.NetworkManager.Device:HwAddress, The "HwAddress" property
-
org.freedesktop.NetworkManager.Device:Interface, The "Interface" property +
org.freedesktop.NetworkManager.Device:Interface, The "Interface" property
-
org.freedesktop.NetworkManager.Device:InterfaceFlags, The "InterfaceFlags" property +
org.freedesktop.NetworkManager.Device:InterfaceFlags, The "InterfaceFlags" property
-
org.freedesktop.NetworkManager.Device:Ip4Address, The "Ip4Address" property +
org.freedesktop.NetworkManager.Device:Ip4Address, The "Ip4Address" property
-
org.freedesktop.NetworkManager.Device:Ip4Config, The "Ip4Config" property +
org.freedesktop.NetworkManager.Device:Ip4Config, The "Ip4Config" property
-
org.freedesktop.NetworkManager.Device:Ip4Connectivity, The "Ip4Connectivity" property +
org.freedesktop.NetworkManager.Device:Ip4Connectivity, The "Ip4Connectivity" property
-
org.freedesktop.NetworkManager.Device:Ip6Config, The "Ip6Config" property +
org.freedesktop.NetworkManager.Device:Ip6Config, The "Ip6Config" property
-
org.freedesktop.NetworkManager.Device:Ip6Connectivity, The "Ip6Connectivity" property +
org.freedesktop.NetworkManager.Device:Ip6Connectivity, The "Ip6Connectivity" property
-
org.freedesktop.NetworkManager.Device:IpInterface, The "IpInterface" property +
org.freedesktop.NetworkManager.Device:IpInterface, The "IpInterface" property
-
org.freedesktop.NetworkManager.Device:LldpNeighbors, The "LldpNeighbors" property +
org.freedesktop.NetworkManager.Device:LldpNeighbors, The "LldpNeighbors" property
-
org.freedesktop.NetworkManager.Device:Managed, The "Managed" property +
org.freedesktop.NetworkManager.Device:Managed, The "Managed" property
-
org.freedesktop.NetworkManager.Device:Metered, The "Metered" property +
org.freedesktop.NetworkManager.Device:Metered, The "Metered" property
-
org.freedesktop.NetworkManager.Device:Mtu, The "Mtu" property +
org.freedesktop.NetworkManager.Device:Mtu, The "Mtu" property
-
org.freedesktop.NetworkManager.Device:NmPluginMissing, The "NmPluginMissing" property +
org.freedesktop.NetworkManager.Device:NmPluginMissing, The "NmPluginMissing" property
-
org.freedesktop.NetworkManager.Device:Path, The "Path" property +
org.freedesktop.NetworkManager.Device:Path, The "Path" property
-
org.freedesktop.NetworkManager.Device:PhysicalPortId, The "PhysicalPortId" property +
org.freedesktop.NetworkManager.Device:PhysicalPortId, The "PhysicalPortId" property
-
org.freedesktop.NetworkManager.Device:Real, The "Real" property +
org.freedesktop.NetworkManager.Device:Real, The "Real" property
-
org.freedesktop.NetworkManager.Device:State, The "State" property +
org.freedesktop.NetworkManager.Device:State, The "State" property
-
org.freedesktop.NetworkManager.Device:StateReason, The "StateReason" property +
org.freedesktop.NetworkManager.Device:StateReason, The "StateReason" property
-
org.freedesktop.NetworkManager.Device:Udi, The "Udi" property +
org.freedesktop.NetworkManager.Device:Udi, The "Udi" property
-
org.freedesktop.NetworkManager.DnsManager, org.freedesktop.NetworkManager.DnsManager +
org.freedesktop.NetworkManager.DnsManager, org.freedesktop.NetworkManager.DnsManager
-
org.freedesktop.NetworkManager.DnsManager:Configuration, The "Configuration" property +
org.freedesktop.NetworkManager.DnsManager:Configuration, The "Configuration" property
-
org.freedesktop.NetworkManager.DnsManager:Mode, The "Mode" property +
org.freedesktop.NetworkManager.DnsManager:Mode, The "Mode" property
-
org.freedesktop.NetworkManager.DnsManager:RcManager, The "RcManager" property +
org.freedesktop.NetworkManager.DnsManager:RcManager, The "RcManager" property
-
org.freedesktop.NetworkManager.IP4Config, org.freedesktop.NetworkManager.IP4Config +
org.freedesktop.NetworkManager.IP4Config, org.freedesktop.NetworkManager.IP4Config
-
org.freedesktop.NetworkManager.IP4Config::PropertiesChanged, The "PropertiesChanged" signal +
org.freedesktop.NetworkManager.IP4Config::PropertiesChanged, The "PropertiesChanged" signal
-
org.freedesktop.NetworkManager.IP4Config:AddressData, The "AddressData" property +
org.freedesktop.NetworkManager.IP4Config:AddressData, The "AddressData" property
-
org.freedesktop.NetworkManager.IP4Config:Addresses, The "Addresses" property +
org.freedesktop.NetworkManager.IP4Config:Addresses, The "Addresses" property
-
org.freedesktop.NetworkManager.IP4Config:DnsOptions, The "DnsOptions" property +
org.freedesktop.NetworkManager.IP4Config:DnsOptions, The "DnsOptions" property
-
org.freedesktop.NetworkManager.IP4Config:DnsPriority, The "DnsPriority" property +
org.freedesktop.NetworkManager.IP4Config:DnsPriority, The "DnsPriority" property
-
org.freedesktop.NetworkManager.IP4Config:Domains, The "Domains" property +
org.freedesktop.NetworkManager.IP4Config:Domains, The "Domains" property
-
org.freedesktop.NetworkManager.IP4Config:Gateway, The "Gateway" property +
org.freedesktop.NetworkManager.IP4Config:Gateway, The "Gateway" property
-
org.freedesktop.NetworkManager.IP4Config:NameserverData, The "NameserverData" property +
org.freedesktop.NetworkManager.IP4Config:NameserverData, The "NameserverData" property
-
org.freedesktop.NetworkManager.IP4Config:Nameservers, The "Nameservers" property +
org.freedesktop.NetworkManager.IP4Config:Nameservers, The "Nameservers" property
-
org.freedesktop.NetworkManager.IP4Config:RouteData, The "RouteData" property +
org.freedesktop.NetworkManager.IP4Config:RouteData, The "RouteData" property
-
org.freedesktop.NetworkManager.IP4Config:Routes, The "Routes" property +
org.freedesktop.NetworkManager.IP4Config:Routes, The "Routes" property
-
org.freedesktop.NetworkManager.IP4Config:Searches, The "Searches" property +
org.freedesktop.NetworkManager.IP4Config:Searches, The "Searches" property
-
org.freedesktop.NetworkManager.IP4Config:WinsServerData, The "WinsServerData" property +
org.freedesktop.NetworkManager.IP4Config:WinsServerData, The "WinsServerData" property
-
org.freedesktop.NetworkManager.IP4Config:WinsServers, The "WinsServers" property +
org.freedesktop.NetworkManager.IP4Config:WinsServers, The "WinsServers" property
-
org.freedesktop.NetworkManager.IP6Config, org.freedesktop.NetworkManager.IP6Config +
org.freedesktop.NetworkManager.IP6Config, org.freedesktop.NetworkManager.IP6Config
-
org.freedesktop.NetworkManager.IP6Config::PropertiesChanged, The "PropertiesChanged" signal +
org.freedesktop.NetworkManager.IP6Config::PropertiesChanged, The "PropertiesChanged" signal
-
org.freedesktop.NetworkManager.IP6Config:AddressData, The "AddressData" property +
org.freedesktop.NetworkManager.IP6Config:AddressData, The "AddressData" property
-
org.freedesktop.NetworkManager.IP6Config:Addresses, The "Addresses" property +
org.freedesktop.NetworkManager.IP6Config:Addresses, The "Addresses" property
-
org.freedesktop.NetworkManager.IP6Config:DnsOptions, The "DnsOptions" property +
org.freedesktop.NetworkManager.IP6Config:DnsOptions, The "DnsOptions" property
-
org.freedesktop.NetworkManager.IP6Config:DnsPriority, The "DnsPriority" property +
org.freedesktop.NetworkManager.IP6Config:DnsPriority, The "DnsPriority" property
-
org.freedesktop.NetworkManager.IP6Config:Domains, The "Domains" property +
org.freedesktop.NetworkManager.IP6Config:Domains, The "Domains" property
-
org.freedesktop.NetworkManager.IP6Config:Gateway, The "Gateway" property +
org.freedesktop.NetworkManager.IP6Config:Gateway, The "Gateway" property
-
org.freedesktop.NetworkManager.IP6Config:Nameservers, The "Nameservers" property +
org.freedesktop.NetworkManager.IP6Config:Nameservers, The "Nameservers" property
-
org.freedesktop.NetworkManager.IP6Config:RouteData, The "RouteData" property +
org.freedesktop.NetworkManager.IP6Config:RouteData, The "RouteData" property
-
org.freedesktop.NetworkManager.IP6Config:Routes, The "Routes" property +
org.freedesktop.NetworkManager.IP6Config:Routes, The "Routes" property
-
org.freedesktop.NetworkManager.IP6Config:Searches, The "Searches" property +
org.freedesktop.NetworkManager.IP6Config:Searches, The "Searches" property
-
org.freedesktop.NetworkManager.SecretAgent, org.freedesktop.NetworkManager.SecretAgent +
org.freedesktop.NetworkManager.SecretAgent, org.freedesktop.NetworkManager.SecretAgent
-
org.freedesktop.NetworkManager.SecretAgent.CancelGetSecrets(), The CancelGetSecrets() method +
org.freedesktop.NetworkManager.SecretAgent.CancelGetSecrets(), The CancelGetSecrets() method
-
org.freedesktop.NetworkManager.SecretAgent.DeleteSecrets(), The DeleteSecrets() method +
org.freedesktop.NetworkManager.SecretAgent.DeleteSecrets(), The DeleteSecrets() method
-
org.freedesktop.NetworkManager.SecretAgent.GetSecrets(), The GetSecrets() method +
org.freedesktop.NetworkManager.SecretAgent.GetSecrets(), The GetSecrets() method
-
org.freedesktop.NetworkManager.SecretAgent.SaveSecrets(), The SaveSecrets() method +
org.freedesktop.NetworkManager.SecretAgent.SaveSecrets(), The SaveSecrets() method
-
org.freedesktop.NetworkManager.Settings, org.freedesktop.NetworkManager.Settings +
org.freedesktop.NetworkManager.Settings, org.freedesktop.NetworkManager.Settings
-
org.freedesktop.NetworkManager.Settings.AddConnection(), The AddConnection() method +
org.freedesktop.NetworkManager.Settings.AddConnection(), The AddConnection() method
-
org.freedesktop.NetworkManager.Settings.AddConnection2(), The AddConnection2() method +
org.freedesktop.NetworkManager.Settings.AddConnection2(), The AddConnection2() method
-
org.freedesktop.NetworkManager.Settings.AddConnectionUnsaved(), The AddConnectionUnsaved() method +
org.freedesktop.NetworkManager.Settings.AddConnectionUnsaved(), The AddConnectionUnsaved() method
-
org.freedesktop.NetworkManager.Settings.Connection, org.freedesktop.NetworkManager.Settings.Connection +
org.freedesktop.NetworkManager.Settings.Connection, org.freedesktop.NetworkManager.Settings.Connection
-
org.freedesktop.NetworkManager.Settings.Connection.ClearSecrets(), The ClearSecrets() method +
org.freedesktop.NetworkManager.Settings.Connection.ClearSecrets(), The ClearSecrets() method
-
org.freedesktop.NetworkManager.Settings.Connection.Delete(), The Delete() method +
org.freedesktop.NetworkManager.Settings.Connection.Delete(), The Delete() method
-
org.freedesktop.NetworkManager.Settings.Connection.GetSecrets(), The GetSecrets() method +
org.freedesktop.NetworkManager.Settings.Connection.GetSecrets(), The GetSecrets() method
-
org.freedesktop.NetworkManager.Settings.Connection.GetSettings(), The GetSettings() method +
org.freedesktop.NetworkManager.Settings.Connection.GetSettings(), The GetSettings() method
-
org.freedesktop.NetworkManager.Settings.Connection.Save(), The Save() method +
org.freedesktop.NetworkManager.Settings.Connection.Save(), The Save() method
-
org.freedesktop.NetworkManager.Settings.Connection.Update(), The Update() method +
org.freedesktop.NetworkManager.Settings.Connection.Update(), The Update() method
-
org.freedesktop.NetworkManager.Settings.Connection.Update2(), The Update2() method +
org.freedesktop.NetworkManager.Settings.Connection.Update2(), The Update2() method
-
org.freedesktop.NetworkManager.Settings.Connection.UpdateUnsaved(), The UpdateUnsaved() method +
org.freedesktop.NetworkManager.Settings.Connection.UpdateUnsaved(), The UpdateUnsaved() method
-
org.freedesktop.NetworkManager.Settings.Connection::PropertiesChanged, The "PropertiesChanged" signal +
org.freedesktop.NetworkManager.Settings.Connection::PropertiesChanged, The "PropertiesChanged" signal
-
org.freedesktop.NetworkManager.Settings.Connection::Removed, The "Removed" signal +
org.freedesktop.NetworkManager.Settings.Connection::Removed, The "Removed" signal
-
org.freedesktop.NetworkManager.Settings.Connection::Updated, The "Updated" signal +
org.freedesktop.NetworkManager.Settings.Connection::Updated, The "Updated" signal
-
org.freedesktop.NetworkManager.Settings.Connection:Filename, The "Filename" property +
org.freedesktop.NetworkManager.Settings.Connection:Filename, The "Filename" property
-
org.freedesktop.NetworkManager.Settings.Connection:Flags, The "Flags" property +
org.freedesktop.NetworkManager.Settings.Connection:Flags, The "Flags" property
-
org.freedesktop.NetworkManager.Settings.Connection:Unsaved, The "Unsaved" property +
org.freedesktop.NetworkManager.Settings.Connection:Unsaved, The "Unsaved" property
-
org.freedesktop.NetworkManager.Settings.GetConnectionByUuid(), The GetConnectionByUuid() method +
org.freedesktop.NetworkManager.Settings.GetConnectionByUuid(), The GetConnectionByUuid() method
-
org.freedesktop.NetworkManager.Settings.ListConnections(), The ListConnections() method +
org.freedesktop.NetworkManager.Settings.ListConnections(), The ListConnections() method
-
org.freedesktop.NetworkManager.Settings.LoadConnections(), The LoadConnections() method +
org.freedesktop.NetworkManager.Settings.LoadConnections(), The LoadConnections() method
-
org.freedesktop.NetworkManager.Settings.ReloadConnections(), The ReloadConnections() method +
org.freedesktop.NetworkManager.Settings.ReloadConnections(), The ReloadConnections() method
-
org.freedesktop.NetworkManager.Settings.SaveHostname(), The SaveHostname() method +
org.freedesktop.NetworkManager.Settings.SaveHostname(), The SaveHostname() method
-
org.freedesktop.NetworkManager.Settings::ConnectionRemoved, The "ConnectionRemoved" signal +
org.freedesktop.NetworkManager.Settings::ConnectionRemoved, The "ConnectionRemoved" signal
-
org.freedesktop.NetworkManager.Settings::NewConnection, The "NewConnection" signal +
org.freedesktop.NetworkManager.Settings::NewConnection, The "NewConnection" signal
-
org.freedesktop.NetworkManager.Settings::PropertiesChanged, The "PropertiesChanged" signal +
org.freedesktop.NetworkManager.Settings::PropertiesChanged, The "PropertiesChanged" signal
-
org.freedesktop.NetworkManager.Settings:CanModify, The "CanModify" property +
org.freedesktop.NetworkManager.Settings:CanModify, The "CanModify" property
-
org.freedesktop.NetworkManager.Settings:Connections, The "Connections" property +
org.freedesktop.NetworkManager.Settings:Connections, The "Connections" property
-
org.freedesktop.NetworkManager.Settings:Hostname, The "Hostname" property +
org.freedesktop.NetworkManager.Settings:Hostname, The "Hostname" property

A

-
org.freedesktop.NetworkManager.Connection.Active, org.freedesktop.NetworkManager.Connection.Active +
org.freedesktop.NetworkManager.Connection.Active, org.freedesktop.NetworkManager.Connection.Active
-
org.freedesktop.NetworkManager.Connection.Active::PropertiesChanged, The "PropertiesChanged" signal +
org.freedesktop.NetworkManager.Connection.Active::PropertiesChanged, The "PropertiesChanged" signal
-
org.freedesktop.NetworkManager.Connection.Active::StateChanged, The "StateChanged" signal +
org.freedesktop.NetworkManager.Connection.Active::StateChanged, The "StateChanged" signal
-
org.freedesktop.NetworkManager.Connection.Active:Connection, The "Connection" property +
org.freedesktop.NetworkManager.Connection.Active:Connection, The "Connection" property
-
org.freedesktop.NetworkManager.Connection.Active:Default, The "Default" property +
org.freedesktop.NetworkManager.Connection.Active:Default, The "Default" property
-
org.freedesktop.NetworkManager.Connection.Active:Default6, The "Default6" property +
org.freedesktop.NetworkManager.Connection.Active:Default6, The "Default6" property
-
org.freedesktop.NetworkManager.Connection.Active:Devices, The "Devices" property +
org.freedesktop.NetworkManager.Connection.Active:Devices, The "Devices" property
-
org.freedesktop.NetworkManager.Connection.Active:Dhcp4Config, The "Dhcp4Config" property +
org.freedesktop.NetworkManager.Connection.Active:Dhcp4Config, The "Dhcp4Config" property
-
org.freedesktop.NetworkManager.Connection.Active:Dhcp6Config, The "Dhcp6Config" property +
org.freedesktop.NetworkManager.Connection.Active:Dhcp6Config, The "Dhcp6Config" property
-
org.freedesktop.NetworkManager.Connection.Active:Id, The "Id" property +
org.freedesktop.NetworkManager.Connection.Active:Id, The "Id" property
-
org.freedesktop.NetworkManager.Connection.Active:Ip4Config, The "Ip4Config" property +
org.freedesktop.NetworkManager.Connection.Active:Ip4Config, The "Ip4Config" property
-
org.freedesktop.NetworkManager.Connection.Active:Ip6Config, The "Ip6Config" property +
org.freedesktop.NetworkManager.Connection.Active:Ip6Config, The "Ip6Config" property
-
org.freedesktop.NetworkManager.Connection.Active:Master, The "Master" property +
org.freedesktop.NetworkManager.Connection.Active:Master, The "Master" property
-
org.freedesktop.NetworkManager.Connection.Active:SpecificObject, The "SpecificObject" property +
org.freedesktop.NetworkManager.Connection.Active:SpecificObject, The "SpecificObject" property
-
org.freedesktop.NetworkManager.Connection.Active:State, The "State" property +
org.freedesktop.NetworkManager.Connection.Active:State, The "State" property
-
org.freedesktop.NetworkManager.Connection.Active:StateFlags, The "StateFlags" property +
org.freedesktop.NetworkManager.Connection.Active:StateFlags, The "StateFlags" property
-
org.freedesktop.NetworkManager.Connection.Active:Type, The "Type" property +
org.freedesktop.NetworkManager.Connection.Active:Type, The "Type" property
-
org.freedesktop.NetworkManager.Connection.Active:Uuid, The "Uuid" property +
org.freedesktop.NetworkManager.Connection.Active:Uuid, The "Uuid" property
-
org.freedesktop.NetworkManager.Connection.Active:Vpn, The "Vpn" property +
org.freedesktop.NetworkManager.Connection.Active:Vpn, The "Vpn" property
-
addr-gen-mode, ipv6 +
addr-gen-mode, ipv6
-
address-data, ipv4, ipv6 +
address-data, ipv4, ipv6
-
addresses, ipv4, ipv6 +
addresses, ipv4, ipv6
-
ageing, vxlan +
ageing, vxlan
-
ageing-time, bridge +
ageing-time, bridge
-
altsubject-matches, 802-1x +
altsubject-matches, 802-1x
-
anonymous-identity, 802-1x +
anonymous-identity, 802-1x
-
ap-isolation, 802-11-wireless +
ap-isolation, 802-11-wireless
-
apn, gsm +
apn, gsm
-
app-fcoe-flags, dcb +
app-fcoe-flags, dcb
-
app-fcoe-mode, dcb +
app-fcoe-mode, dcb
-
app-fcoe-priority, dcb +
app-fcoe-priority, dcb
-
app-fip-flags, dcb +
app-fip-flags, dcb
-
app-fip-priority, dcb +
app-fip-priority, dcb
-
app-iscsi-flags, dcb +
app-iscsi-flags, dcb
-
app-iscsi-priority, dcb +
app-iscsi-priority, dcb
-
assigned-mac-address, 802-3-ethernet, 802-11-wireless +
assigned-mac-address, 802-3-ethernet, 802-11-wireless
-
auth-alg, 802-11-wireless-security +
auth-alg, 802-11-wireless-security
-
auth-retries, connection +
auth-retries, connection
-
auth-timeout, 802-1x +
auth-timeout, 802-1x
-
auto-config, gsm +
auto-config, gsm
-
auto-negotiate, 802-3-ethernet +
auto-negotiate, 802-3-ethernet
-
autoconnect, connection +
autoconnect, connection
-
autoconnect-priority, connection +
autoconnect-priority, connection
-
autoconnect-retries, connection +
autoconnect-retries, connection
-
autoconnect-slaves, connection +
autoconnect-slaves, connection
-
autoprobe-drivers, sriov +
autoprobe-drivers, sriov

B

-
band, 802-11-wireless +
band, 802-11-wireless
-
baud, ppp, serial +
baud, ppp, serial
-
bdaddr, bluetooth +
bdaddr, bluetooth
-
bits, serial +
bits, serial
-
bond-downdelay, ovs-port +
bond-downdelay, ovs-port
-
bond-mode, ovs-port +
bond-mode, ovs-port
-
bond-updelay, ovs-port +
bond-updelay, ovs-port
-
browser-only, proxy +
browser-only, proxy
-
bssid, 802-11-wireless +
bssid, 802-11-wireless

C

-
ca-cert, 802-1x +
ca-cert, 802-1x
-
ca-cert-password, 802-1x +
ca-cert-password, 802-1x
-
ca-cert-password-flags, 802-1x +
ca-cert-password-flags, 802-1x
-
ca-path, 802-1x +
ca-path, 802-1x
-
channel, 802-11-olpc-mesh, 802-11-wireless, wpan +
channel, 802-11-olpc-mesh, 802-11-wireless, wpan
-
org.freedesktop.NetworkManager.Checkpoint, org.freedesktop.NetworkManager.Checkpoint +
org.freedesktop.NetworkManager.Checkpoint, org.freedesktop.NetworkManager.Checkpoint
-
org.freedesktop.NetworkManager.Checkpoint::PropertiesChanged, The "PropertiesChanged" signal +
org.freedesktop.NetworkManager.Checkpoint::PropertiesChanged, The "PropertiesChanged" signal
-
org.freedesktop.NetworkManager.Checkpoint:Created, The "Created" property +
org.freedesktop.NetworkManager.Checkpoint:Created, The "Created" property
-
org.freedesktop.NetworkManager.Checkpoint:Devices, The "Devices" property +
org.freedesktop.NetworkManager.Checkpoint:Devices, The "Devices" property
-
org.freedesktop.NetworkManager.Checkpoint:RollbackTimeout, The "RollbackTimeout" property +
org.freedesktop.NetworkManager.Checkpoint:RollbackTimeout, The "RollbackTimeout" property
-
client-cert, 802-1x +
client-cert, 802-1x
-
client-cert-password, 802-1x +
client-cert-password, 802-1x
-
client-cert-password-flags, 802-1x +
client-cert-password-flags, 802-1x
-
cloned-mac-address, 802-3-ethernet, 802-11-wireless +
cloned-mac-address, 802-3-ethernet, 802-11-wireless
-
config, team, team-port +
config, team, team-port
-
crtscts, ppp +
crtscts, ppp

D

-
dad-timeout, ipv4, ipv6 +
dad-timeout, ipv4, ipv6
-
data, user, vpn, ovs-external-ids +
data, user, vpn, ovs-external-ids
-
datapath-type, ovs-bridge +
datapath-type, ovs-bridge
-
destination-port, vxlan +
destination-port, vxlan
-
devargs, ovs-dpdk +
devargs, ovs-dpdk
-
device-id, gsm +
device-id, gsm
-
org.freedesktop.NetworkManager.Device.Wired, org.freedesktop.NetworkManager.Device.Wired +
org.freedesktop.NetworkManager.Device.Wired, org.freedesktop.NetworkManager.Device.Wired
-
org.freedesktop.NetworkManager.Device.Wired::PropertiesChanged, The "PropertiesChanged" signal +
org.freedesktop.NetworkManager.Device.Wired::PropertiesChanged, The "PropertiesChanged" signal
-
org.freedesktop.NetworkManager.Device.Wired:Carrier, The "Carrier" property +
org.freedesktop.NetworkManager.Device.Wired:Carrier, The "Carrier" property
-
org.freedesktop.NetworkManager.Device.Wired:HwAddress, The "HwAddress" property +
org.freedesktop.NetworkManager.Device.Wired:HwAddress, The "HwAddress" property
-
org.freedesktop.NetworkManager.Device.Wired:PermHwAddress, The "PermHwAddress" property +
org.freedesktop.NetworkManager.Device.Wired:PermHwAddress, The "PermHwAddress" property
-
org.freedesktop.NetworkManager.Device.Wired:S390Subchannels, The "S390Subchannels" property +
org.freedesktop.NetworkManager.Device.Wired:S390Subchannels, The "S390Subchannels" property
-
org.freedesktop.NetworkManager.Device.Wired:Speed, The "Speed" property +
org.freedesktop.NetworkManager.Device.Wired:Speed, The "Speed" property
-
org.freedesktop.NetworkManager.Device.Wireless, org.freedesktop.NetworkManager.Device.Wireless +
org.freedesktop.NetworkManager.Device.Wireless, org.freedesktop.NetworkManager.Device.Wireless
-
org.freedesktop.NetworkManager.Device.Wireless.GetAccessPoints(), The GetAccessPoints() method +
org.freedesktop.NetworkManager.Device.Wireless.GetAccessPoints(), The GetAccessPoints() method
-
org.freedesktop.NetworkManager.Device.Wireless.GetAllAccessPoints(), The GetAllAccessPoints() method +
org.freedesktop.NetworkManager.Device.Wireless.GetAllAccessPoints(), The GetAllAccessPoints() method
-
org.freedesktop.NetworkManager.Device.Wireless.RequestScan(), The RequestScan() method +
org.freedesktop.NetworkManager.Device.Wireless.RequestScan(), The RequestScan() method
-
org.freedesktop.NetworkManager.Device.Wireless::AccessPointAdded, The "AccessPointAdded" signal +
org.freedesktop.NetworkManager.Device.Wireless::AccessPointAdded, The "AccessPointAdded" signal
-
org.freedesktop.NetworkManager.Device.Wireless::AccessPointRemoved, The "AccessPointRemoved" signal +
org.freedesktop.NetworkManager.Device.Wireless::AccessPointRemoved, The "AccessPointRemoved" signal
-
org.freedesktop.NetworkManager.Device.Wireless::PropertiesChanged, The "PropertiesChanged" signal +
org.freedesktop.NetworkManager.Device.Wireless::PropertiesChanged, The "PropertiesChanged" signal
-
org.freedesktop.NetworkManager.Device.Wireless:AccessPoints, The "AccessPoints" property +
org.freedesktop.NetworkManager.Device.Wireless:AccessPoints, The "AccessPoints" property
-
org.freedesktop.NetworkManager.Device.Wireless:ActiveAccessPoint, The "ActiveAccessPoint" property +
org.freedesktop.NetworkManager.Device.Wireless:ActiveAccessPoint, The "ActiveAccessPoint" property
-
org.freedesktop.NetworkManager.Device.Wireless:Bitrate, The "Bitrate" property +
org.freedesktop.NetworkManager.Device.Wireless:Bitrate, The "Bitrate" property
-
org.freedesktop.NetworkManager.Device.Wireless:HwAddress, The "HwAddress" property +
org.freedesktop.NetworkManager.Device.Wireless:HwAddress, The "HwAddress" property
-
org.freedesktop.NetworkManager.Device.Wireless:LastScan, The "LastScan" property +
org.freedesktop.NetworkManager.Device.Wireless:LastScan, The "LastScan" property
-
org.freedesktop.NetworkManager.Device.Wireless:Mode, The "Mode" property +
org.freedesktop.NetworkManager.Device.Wireless:Mode, The "Mode" property
-
org.freedesktop.NetworkManager.Device.Wireless:PermHwAddress, The "PermHwAddress" property +
org.freedesktop.NetworkManager.Device.Wireless:PermHwAddress, The "PermHwAddress" property
-
org.freedesktop.NetworkManager.Device.Wireless:WirelessCapabilities, The "WirelessCapabilities" property +
org.freedesktop.NetworkManager.Device.Wireless:WirelessCapabilities, The "WirelessCapabilities" property
-
org.freedesktop.NetworkManager.Device.WifiP2P, org.freedesktop.NetworkManager.Device.WifiP2P +
org.freedesktop.NetworkManager.Device.WifiP2P, org.freedesktop.NetworkManager.Device.WifiP2P
-
org.freedesktop.NetworkManager.Device.WifiP2P.StartFind(), The StartFind() method +
org.freedesktop.NetworkManager.Device.WifiP2P.StartFind(), The StartFind() method
-
org.freedesktop.NetworkManager.Device.WifiP2P.StopFind(), The StopFind() method +
org.freedesktop.NetworkManager.Device.WifiP2P.StopFind(), The StopFind() method
-
org.freedesktop.NetworkManager.Device.WifiP2P::PeerAdded, The "PeerAdded" signal +
org.freedesktop.NetworkManager.Device.WifiP2P::PeerAdded, The "PeerAdded" signal
-
org.freedesktop.NetworkManager.Device.WifiP2P::PeerRemoved, The "PeerRemoved" signal +
org.freedesktop.NetworkManager.Device.WifiP2P::PeerRemoved, The "PeerRemoved" signal
-
org.freedesktop.NetworkManager.Device.WifiP2P:HwAddress, The "HwAddress" property +
org.freedesktop.NetworkManager.Device.WifiP2P:HwAddress, The "HwAddress" property
-
org.freedesktop.NetworkManager.Device.WifiP2P:Peers, The "Peers" property +
org.freedesktop.NetworkManager.Device.WifiP2P:Peers, The "Peers" property
-
dhcp-anycast-address, 802-11-olpc-mesh +
dhcp-anycast-address, 802-11-olpc-mesh
-
dhcp-client-id, ipv4 +
dhcp-client-id, ipv4
-
dhcp-duid, ipv6 +
dhcp-duid, ipv6
-
dhcp-fqdn, ipv4 +
dhcp-fqdn, ipv4
-
dhcp-hostname, ipv4, ipv6 +
dhcp-hostname, ipv4, ipv6
-
dhcp-hostname-flags, ipv4, ipv6 +
dhcp-hostname-flags, ipv4, ipv6
-
dhcp-iaid, ipv4, ipv6 +
dhcp-iaid, ipv4, ipv6
-
dhcp-reject-servers, ipv4, ipv6 +
dhcp-reject-servers, ipv4, ipv6
-
dhcp-send-hostname, ipv4, ipv6 +
dhcp-send-hostname, ipv4, ipv6
-
dhcp-timeout, ipv4, ipv6 +
dhcp-timeout, ipv4, ipv6
-
dhcp-vendor-class-identifier, ipv4 +
dhcp-vendor-class-identifier, ipv4
-
org.freedesktop.NetworkManager.DHCP4Config, org.freedesktop.NetworkManager.DHCP4Config +
org.freedesktop.NetworkManager.DHCP4Config, org.freedesktop.NetworkManager.DHCP4Config
-
org.freedesktop.NetworkManager.DHCP4Config::PropertiesChanged, The "PropertiesChanged" signal +
org.freedesktop.NetworkManager.DHCP4Config::PropertiesChanged, The "PropertiesChanged" signal
-
org.freedesktop.NetworkManager.DHCP4Config:Options, The "Options" property +
org.freedesktop.NetworkManager.DHCP4Config:Options, The "Options" property
-
org.freedesktop.NetworkManager.DHCP6Config, org.freedesktop.NetworkManager.DHCP6Config +
org.freedesktop.NetworkManager.DHCP6Config, org.freedesktop.NetworkManager.DHCP6Config
-
org.freedesktop.NetworkManager.DHCP6Config::PropertiesChanged, The "PropertiesChanged" signal +
org.freedesktop.NetworkManager.DHCP6Config::PropertiesChanged, The "PropertiesChanged" signal
-
org.freedesktop.NetworkManager.DHCP6Config:Options, The "Options" property +
org.freedesktop.NetworkManager.DHCP6Config:Options, The "Options" property
-
dns, ipv4, ipv6 +
dns, ipv4, ipv6
-
dns-options, ipv4, ipv6 +
dns-options, ipv4, ipv6
-
dns-priority, ipv4, ipv6 +
dns-priority, ipv4, ipv6
-
dns-search, ipv4, ipv6 +
dns-search, ipv4, ipv6
-
domain-match, 802-1x +
domain-match, 802-1x
-
domain-suffix-match, 802-1x +
domain-suffix-match, 802-1x
-
driver, match +
driver, match
-
duplex, 802-3-ethernet +
duplex, 802-3-ethernet

E

-
eap, 802-1x +
eap, 802-1x
-
egress-priority-map, vlan +
egress-priority-map, vlan
-
encapsulation, adsl +
encapsulation, adsl
-
encapsulation-limit, ip-tunnel +
encapsulation-limit, ip-tunnel
-
encrypt, macsec +
encrypt, macsec

F

-
fail-mode, ovs-bridge +
fail-mode, ovs-bridge
-
fils, 802-11-wireless-security +
fils, 802-11-wireless-security
-
flags, ip-tunnel, vlan +
flags, ip-tunnel, vlan
-
flow-label, ip-tunnel +
flow-label, ip-tunnel
-
forward-delay, bridge +
forward-delay, bridge
-
from-dhcp, hostname +
from-dhcp, hostname
-
from-dns-lookup, hostname +
from-dns-lookup, hostname
-
fwmark, wireguard +
fwmark, wireguard

G

-
gateway, ipv4, ipv6 +
gateway, ipv4, ipv6
-
gateway-ping-timeout, connection +
gateway-ping-timeout, connection
-
generate-mac-address-mask, 802-3-ethernet, 802-11-wireless +
generate-mac-address-mask, 802-3-ethernet, 802-11-wireless
-
group, tun, 802-11-wireless-security +
group, tun, 802-11-wireless-security
-
group-address, bridge +
group-address, bridge
-
group-forward-mask, bridge +
group-forward-mask, bridge

H

-
hairpin-mode, bridge-port +
hairpin-mode, bridge-port
-
hello-time, bridge +
hello-time, bridge
-
hidden, 802-11-wireless +
hidden, 802-11-wireless
-
home-only, gsm +
home-only, gsm

I

-
id, connection, vlan, vxlan +
id, connection, vlan, vxlan
-
identity, 802-1x +
identity, 802-1x
-
ignore-auto-dns, ipv4, ipv6 +
ignore-auto-dns, ipv4, ipv6
-
ignore-auto-routes, ipv4, ipv6 +
ignore-auto-routes, ipv4, ipv6
-
ingress-priority-map, vlan +
ingress-priority-map, vlan
-
input-key, ip-tunnel +
input-key, ip-tunnel
-
interface-name, connection, bond, bridge, match, team, vlan +
interface-name, connection, bond, bridge, match, team, vlan
-
ip4-auto-default-route, wireguard +
ip4-auto-default-route, wireguard
-
ip6-auto-default-route, wireguard +
ip6-auto-default-route, wireguard
-
ip6-privacy, ipv6 +
ip6-privacy, ipv6

K

-
kernel-command-line, match +
kernel-command-line, match
-
key-mgmt, 802-11-wireless-security +
key-mgmt, 802-11-wireless-security

L

-
l2-miss, vxlan +
l2-miss, vxlan
-
l3-miss, vxlan +
l3-miss, vxlan
-
lacp, ovs-port +
lacp, ovs-port
-
lacp-key, team-port +
lacp-key, team-port
-
lacp-prio, team-port +
lacp-prio, team-port
-
lcp-echo-failure, ppp +
lcp-echo-failure, ppp
-
lcp-echo-interval, ppp +
lcp-echo-interval, ppp
-
leap-password, 802-11-wireless-security +
leap-password, 802-11-wireless-security
-
leap-password-flags, 802-11-wireless-security +
leap-password-flags, 802-11-wireless-security
-
leap-username, 802-11-wireless-security +
leap-username, 802-11-wireless-security
-
learning, vxlan +
learning, vxlan
-
limit, vxlan +
limit, vxlan
-
link-watchers, team, team-port +
link-watchers, team, team-port
-
listen-port, wireguard +
listen-port, wireguard
-
lldp, connection +
lldp, connection
-
llmnr, connection +
llmnr, connection
-
local, ip-tunnel, vxlan +
local, ip-tunnel, vxlan

M

-
mac-address, bridge, infiniband, wimax, 802-3-ethernet, 802-11-wireless, wpan +
mac-address, bridge, infiniband, wimax, 802-3-ethernet, 802-11-wireless, wpan
-
mac-address-blacklist, 802-3-ethernet, 802-11-wireless +
mac-address-blacklist, 802-3-ethernet, 802-11-wireless
-
mac-address-randomization, 802-11-wireless +
mac-address-randomization, 802-11-wireless
-
org.freedesktop.NetworkManager, org.freedesktop.NetworkManager +
org.freedesktop.NetworkManager, org.freedesktop.NetworkManager
-
org.freedesktop.NetworkManager.ActivateConnection(), The ActivateConnection() method +
org.freedesktop.NetworkManager.ActivateConnection(), The ActivateConnection() method
-
org.freedesktop.NetworkManager.AddAndActivateConnection(), The AddAndActivateConnection() method +
org.freedesktop.NetworkManager.AddAndActivateConnection(), The AddAndActivateConnection() method
-
org.freedesktop.NetworkManager.AddAndActivateConnection2(), The AddAndActivateConnection2() method +
org.freedesktop.NetworkManager.AddAndActivateConnection2(), The AddAndActivateConnection2() method
-
org.freedesktop.NetworkManager.CheckConnectivity(), The CheckConnectivity() method +
org.freedesktop.NetworkManager.CheckConnectivity(), The CheckConnectivity() method
-
org.freedesktop.NetworkManager.CheckpointAdjustRollbackTimeout(), The CheckpointAdjustRollbackTimeout() method +
org.freedesktop.NetworkManager.CheckpointAdjustRollbackTimeout(), The CheckpointAdjustRollbackTimeout() method
-
org.freedesktop.NetworkManager.CheckpointCreate(), The CheckpointCreate() method +
org.freedesktop.NetworkManager.CheckpointCreate(), The CheckpointCreate() method
-
org.freedesktop.NetworkManager.CheckpointDestroy(), The CheckpointDestroy() method +
org.freedesktop.NetworkManager.CheckpointDestroy(), The CheckpointDestroy() method
-
org.freedesktop.NetworkManager.CheckpointRollback(), The CheckpointRollback() method +
org.freedesktop.NetworkManager.CheckpointRollback(), The CheckpointRollback() method
-
org.freedesktop.NetworkManager.DeactivateConnection(), The DeactivateConnection() method +
org.freedesktop.NetworkManager.DeactivateConnection(), The DeactivateConnection() method
-
org.freedesktop.NetworkManager.Enable(), The Enable() method +
org.freedesktop.NetworkManager.Enable(), The Enable() method
-
org.freedesktop.NetworkManager.GetAllDevices(), The GetAllDevices() method +
org.freedesktop.NetworkManager.GetAllDevices(), The GetAllDevices() method
-
org.freedesktop.NetworkManager.GetDeviceByIpIface(), The GetDeviceByIpIface() method +
org.freedesktop.NetworkManager.GetDeviceByIpIface(), The GetDeviceByIpIface() method
-
org.freedesktop.NetworkManager.GetDevices(), The GetDevices() method +
org.freedesktop.NetworkManager.GetDevices(), The GetDevices() method
-
org.freedesktop.NetworkManager.GetLogging(), The GetLogging() method +
org.freedesktop.NetworkManager.GetLogging(), The GetLogging() method
-
org.freedesktop.NetworkManager.GetPermissions(), The GetPermissions() method +
org.freedesktop.NetworkManager.GetPermissions(), The GetPermissions() method
-
org.freedesktop.NetworkManager.Reload(), The Reload() method +
org.freedesktop.NetworkManager.Reload(), The Reload() method
-
org.freedesktop.NetworkManager.SetLogging(), The SetLogging() method +
org.freedesktop.NetworkManager.SetLogging(), The SetLogging() method
-
org.freedesktop.NetworkManager.Sleep(), The Sleep() method +
org.freedesktop.NetworkManager.Sleep(), The Sleep() method
-
org.freedesktop.NetworkManager.state(), The state() method +
org.freedesktop.NetworkManager.state(), The state() method
-
org.freedesktop.NetworkManager::CheckPermissions, The "CheckPermissions" signal +
org.freedesktop.NetworkManager::CheckPermissions, The "CheckPermissions" signal
-
org.freedesktop.NetworkManager::DeviceAdded, The "DeviceAdded" signal +
org.freedesktop.NetworkManager::DeviceAdded, The "DeviceAdded" signal
-
org.freedesktop.NetworkManager::DeviceRemoved, The "DeviceRemoved" signal +
org.freedesktop.NetworkManager::DeviceRemoved, The "DeviceRemoved" signal
-
org.freedesktop.NetworkManager::PropertiesChanged, The "PropertiesChanged" signal +
org.freedesktop.NetworkManager::PropertiesChanged, The "PropertiesChanged" signal
-
org.freedesktop.NetworkManager::StateChanged, The "StateChanged" signal +
org.freedesktop.NetworkManager::StateChanged, The "StateChanged" signal
-
org.freedesktop.NetworkManager:ActivatingConnection, The "ActivatingConnection" property +
org.freedesktop.NetworkManager:ActivatingConnection, The "ActivatingConnection" property
-
org.freedesktop.NetworkManager:ActiveConnections, The "ActiveConnections" property +
org.freedesktop.NetworkManager:ActiveConnections, The "ActiveConnections" property
-
org.freedesktop.NetworkManager:AllDevices, The "AllDevices" property +
org.freedesktop.NetworkManager:AllDevices, The "AllDevices" property
-
org.freedesktop.NetworkManager:Capabilities, The "Capabilities" property +
org.freedesktop.NetworkManager:Capabilities, The "Capabilities" property
-
org.freedesktop.NetworkManager:Checkpoints, The "Checkpoints" property +
org.freedesktop.NetworkManager:Checkpoints, The "Checkpoints" property
-
org.freedesktop.NetworkManager:Connectivity, The "Connectivity" property +
org.freedesktop.NetworkManager:Connectivity, The "Connectivity" property
-
org.freedesktop.NetworkManager:ConnectivityCheckAvailable, The "ConnectivityCheckAvailable" property +
org.freedesktop.NetworkManager:ConnectivityCheckAvailable, The "ConnectivityCheckAvailable" property
-
org.freedesktop.NetworkManager:ConnectivityCheckEnabled, The "ConnectivityCheckEnabled" property +
org.freedesktop.NetworkManager:ConnectivityCheckEnabled, The "ConnectivityCheckEnabled" property
-
org.freedesktop.NetworkManager:ConnectivityCheckUri, The "ConnectivityCheckUri" property +
org.freedesktop.NetworkManager:ConnectivityCheckUri, The "ConnectivityCheckUri" property
-
org.freedesktop.NetworkManager:Devices, The "Devices" property +
org.freedesktop.NetworkManager:Devices, The "Devices" property
-
org.freedesktop.NetworkManager:GlobalDnsConfiguration, The "GlobalDnsConfiguration" property +
org.freedesktop.NetworkManager:GlobalDnsConfiguration, The "GlobalDnsConfiguration" property
-
org.freedesktop.NetworkManager:Metered, The "Metered" property +
org.freedesktop.NetworkManager:Metered, The "Metered" property
-
org.freedesktop.NetworkManager:NetworkingEnabled, The "NetworkingEnabled" property +
org.freedesktop.NetworkManager:NetworkingEnabled, The "NetworkingEnabled" property
-
org.freedesktop.NetworkManager:PrimaryConnection, The "PrimaryConnection" property +
org.freedesktop.NetworkManager:PrimaryConnection, The "PrimaryConnection" property
-
org.freedesktop.NetworkManager:PrimaryConnectionType, The "PrimaryConnectionType" property +
org.freedesktop.NetworkManager:PrimaryConnectionType, The "PrimaryConnectionType" property
-
org.freedesktop.NetworkManager:Startup, The "Startup" property +
org.freedesktop.NetworkManager:Startup, The "Startup" property
-
org.freedesktop.NetworkManager:State, The "State" property +
org.freedesktop.NetworkManager:State, The "State" property
-
org.freedesktop.NetworkManager:Version, The "Version" property +
org.freedesktop.NetworkManager:Version, The "Version" property
-
org.freedesktop.NetworkManager:WimaxEnabled, The "WimaxEnabled" property +
org.freedesktop.NetworkManager:WimaxEnabled, The "WimaxEnabled" property
-
org.freedesktop.NetworkManager:WimaxHardwareEnabled, The "WimaxHardwareEnabled" property +
org.freedesktop.NetworkManager:WimaxHardwareEnabled, The "WimaxHardwareEnabled" property
-
org.freedesktop.NetworkManager:WirelessEnabled, The "WirelessEnabled" property +
org.freedesktop.NetworkManager:WirelessEnabled, The "WirelessEnabled" property
-
org.freedesktop.NetworkManager:WirelessHardwareEnabled, The "WirelessHardwareEnabled" property +
org.freedesktop.NetworkManager:WirelessHardwareEnabled, The "WirelessHardwareEnabled" property
-
org.freedesktop.NetworkManager:WwanEnabled, The "WwanEnabled" property +
org.freedesktop.NetworkManager:WwanEnabled, The "WwanEnabled" property
-
org.freedesktop.NetworkManager:WwanHardwareEnabled, The "WwanHardwareEnabled" property +
org.freedesktop.NetworkManager:WwanHardwareEnabled, The "WwanHardwareEnabled" property
-
master, connection +
master, connection
-
max-age, bridge +
max-age, bridge
-
may-fail, ipv4, ipv6 +
may-fail, ipv4, ipv6
-
mcast-rejoin-count, team +
mcast-rejoin-count, team
-
mcast-rejoin-interval, team +
mcast-rejoin-interval, team
-
mcast-snooping-enable, ovs-bridge +
mcast-snooping-enable, ovs-bridge
-
mdns, connection +
mdns, connection
-
metered, connection +
metered, connection
-
method, ipv4, ipv6, proxy +
method, ipv4, ipv6, proxy
-
mka-cak, macsec +
mka-cak, macsec
-
mka-cak-flags, macsec +
mka-cak-flags, macsec
-
mka-ckn, macsec +
mka-ckn, macsec
-
mode, ip-tunnel, macsec, macvlan, tun, 802-11-wireless +
mode, ip-tunnel, macsec, macvlan, tun, 802-11-wireless
-
mppe-stateful, ppp +
mppe-stateful, ppp
-
mru, ppp +
mru, ppp
-
mtu, cdma, gsm, infiniband, ip-tunnel, ppp, 802-3-ethernet, wireguard, 802-11-wireless +
mtu, cdma, gsm, infiniband, ip-tunnel, ppp, 802-3-ethernet, wireguard, 802-11-wireless
-
mud-url, connection +
mud-url, connection
-
multi-connect, connection +
multi-connect, connection
-
multi-queue, tun +
multi-queue, tun
-
multicast-hash-max, bridge +
multicast-hash-max, bridge
-
multicast-last-member-count, bridge +
multicast-last-member-count, bridge
-
multicast-last-member-interval, bridge +
multicast-last-member-interval, bridge
-
multicast-membership-interval, bridge +
multicast-membership-interval, bridge
-
multicast-querier, bridge +
multicast-querier, bridge
-
multicast-querier-interval, bridge +
multicast-querier-interval, bridge
-
multicast-query-interval, bridge +
multicast-query-interval, bridge
-
multicast-query-response-interval, bridge +
multicast-query-response-interval, bridge
-
multicast-query-use-ifaddr, bridge +
multicast-query-use-ifaddr, bridge
-
multicast-router, bridge +
multicast-router, bridge
-
multicast-snooping, bridge +
multicast-snooping, bridge
-
multicast-startup-query-count, bridge +
multicast-startup-query-count, bridge
-
multicast-startup-query-interval, bridge +
multicast-startup-query-interval, bridge

N

-
network-id, gsm +
network-id, gsm
-
network-name, wimax +
network-name, wimax
-
never-default, ipv4, ipv6 +
never-default, ipv4, ipv6
-
NM80211ApFlags, enum NM80211ApFlags +
NM80211ApFlags, enum NM80211ApFlags
-
NM80211ApSecurityFlags, enum NM80211ApSecurityFlags +
NM80211ApSecurityFlags, enum NM80211ApSecurityFlags
-
NM80211Mode, enum NM80211Mode +
NM80211Mode, enum NM80211Mode
-
NMActivationStateFlags, enum NMActivationStateFlags +
NMActivationStateFlags, enum NMActivationStateFlags
-
NMActiveConnectionState, enum NMActiveConnectionState +
NMActiveConnectionState, enum NMActiveConnectionState
-
NMActiveConnectionStateReason, enum NMActiveConnectionStateReason +
NMActiveConnectionStateReason, enum NMActiveConnectionStateReason
-
NMBluetoothCapabilities, enum NMBluetoothCapabilities +
NMBluetoothCapabilities, enum NMBluetoothCapabilities
-
NMCapability, enum NMCapability +
NMCapability, enum NMCapability
-
NMCheckpointCreateFlags, enum NMCheckpointCreateFlags +
NMCheckpointCreateFlags, enum NMCheckpointCreateFlags
-
NMClientPermission, enum NMClientPermission +
NMClientPermission, enum NMClientPermission
-
NMClientPermissionResult, enum NMClientPermissionResult +
NMClientPermissionResult, enum NMClientPermissionResult
-
NMConnectionMultiConnect, enum NMConnectionMultiConnect +
NMConnectionMultiConnect, enum NMConnectionMultiConnect
-
NMConnectivityState, enum NMConnectivityState +
NMConnectivityState, enum NMConnectivityState
-
NMDeviceCapabilities, enum NMDeviceCapabilities +
NMDeviceCapabilities, enum NMDeviceCapabilities
-
NMDeviceInterfaceFlags, enum NMDeviceInterfaceFlags +
NMDeviceInterfaceFlags, enum NMDeviceInterfaceFlags
-
NMDeviceModemCapabilities, enum NMDeviceModemCapabilities +
NMDeviceModemCapabilities, enum NMDeviceModemCapabilities
-
NMDeviceState, enum NMDeviceState +
NMDeviceState, enum NMDeviceState
-
NMDeviceStateReason, enum NMDeviceStateReason +
NMDeviceStateReason, enum NMDeviceStateReason
-
NMDeviceType, enum NMDeviceType +
NMDeviceType, enum NMDeviceType
-
NMDeviceWifiCapabilities, enum NMDeviceWifiCapabilities +
NMDeviceWifiCapabilities, enum NMDeviceWifiCapabilities
-
NMIPTunnelMode, enum NMIPTunnelMode +
NMIPTunnelMode, enum NMIPTunnelMode
-
NMManagerReloadFlags, enum NMManagerReloadFlags +
NMManagerReloadFlags, enum NMManagerReloadFlags
-
NMMetered, enum NMMetered +
NMMetered, enum NMMetered
-
NMRollbackResult, enum NMRollbackResult +
NMRollbackResult, enum NMRollbackResult
-
NMSecretAgentCapabilities, enum NMSecretAgentCapabilities +
NMSecretAgentCapabilities, enum NMSecretAgentCapabilities
-
NMSecretAgentGetSecretsFlags, enum NMSecretAgentGetSecretsFlags +
NMSecretAgentGetSecretsFlags, enum NMSecretAgentGetSecretsFlags
-
NMSettingsAddConnection2Flags, enum NMSettingsAddConnection2Flags +
NMSettingsAddConnection2Flags, enum NMSettingsAddConnection2Flags
-
NMSettingsConnectionFlags, enum NMSettingsConnectionFlags +
NMSettingsConnectionFlags, enum NMSettingsConnectionFlags
-
NMSettingsUpdate2Flags, enum NMSettingsUpdate2Flags +
NMSettingsUpdate2Flags, enum NMSettingsUpdate2Flags
-
NMState, enum NMState +
NMState, enum NMState
-
NMTernary, enum NMTernary +
NMTernary, enum NMTernary
-
NMVpnConnectionState, enum NMVpnConnectionState +
NMVpnConnectionState, enum NMVpnConnectionState
-
NMVpnConnectionStateReason, enum NMVpnConnectionStateReason +
NMVpnConnectionStateReason, enum NMVpnConnectionStateReason
-
NMVpnPluginFailure, enum NMVpnPluginFailure +
NMVpnPluginFailure, enum NMVpnPluginFailure
-
NMVpnServiceState, enum NMVpnServiceState +
NMVpnServiceState, enum NMVpnServiceState
-
NMWimaxNspNetworkType, enum NMWimaxNspNetworkType +
NMWimaxNspNetworkType, enum NMWimaxNspNetworkType
-
no-vj-comp, ppp +
no-vj-comp, ppp
-
noauth, ppp +
noauth, ppp
-
nobsdcomp, ppp +
nobsdcomp, ppp
-
nodeflate, ppp +
nodeflate, ppp
-
notify-peers-count, team +
notify-peers-count, team
-
notify-peers-interval, team +
notify-peers-interval, team
-
number, cdma, gsm +
number, cdma, gsm

O

-
only-from-default, hostname +
only-from-default, hostname
-
optional, 802-1x +
optional, 802-1x
-
options, bond +
options, bond
-
output-key, ip-tunnel +
output-key, ip-tunnel
-
owner, tun +
owner, tun

P

-
p-key, infiniband +
p-key, infiniband
-
pac-file, 802-1x +
pac-file, 802-1x
-
pac-script, proxy +
pac-script, proxy
-
pac-url, proxy +
pac-url, proxy
-
page, wpan +
page, wpan
-
pairwise, 802-11-wireless-security +
pairwise, 802-11-wireless-security
-
pan-id, wpan +
pan-id, wpan
-
parent, 6lowpan, infiniband, ip-tunnel, macsec, macvlan, pppoe, vlan, vxlan +
parent, 6lowpan, infiniband, ip-tunnel, macsec, macvlan, pppoe, vlan, vxlan
-
parity, serial +
parity, serial
-
password, 802-1x, adsl, cdma, gsm, pppoe +
password, 802-1x, adsl, cdma, gsm, pppoe
-
password-flags, 802-1x, adsl, cdma, gsm, pppoe +
password-flags, 802-1x, adsl, cdma, gsm, pppoe
-
password-raw, 802-1x +
password-raw, 802-1x
-
password-raw-flags, 802-1x +
password-raw-flags, 802-1x
-
path, match +
path, match
-
path-cost, bridge-port +
path-cost, bridge-port
-
path-mtu-discovery, ip-tunnel +
path-mtu-discovery, ip-tunnel
-
peer, ovs-patch, wifi-p2p, veth +
peer, ovs-patch, wifi-p2p, veth
-
peer-routes, wireguard +
peer-routes, wireguard
-
peers, wireguard +
peers, wireguard
-
permissions, connection +
permissions, connection
-
persistent, vpn +
persistent, vpn
-
phase1-auth-flags, 802-1x +
phase1-auth-flags, 802-1x
-
phase1-fast-provisioning, 802-1x +
phase1-fast-provisioning, 802-1x
-
phase1-peaplabel, 802-1x +
phase1-peaplabel, 802-1x
-
phase1-peapver, 802-1x +
phase1-peapver, 802-1x
-
phase2-altsubject-matches, 802-1x +
phase2-altsubject-matches, 802-1x
-
phase2-auth, 802-1x +
phase2-auth, 802-1x
-
phase2-autheap, 802-1x +
phase2-autheap, 802-1x
-
phase2-ca-cert, 802-1x +
phase2-ca-cert, 802-1x
-
phase2-ca-cert-password, 802-1x +
phase2-ca-cert-password, 802-1x
-
phase2-ca-cert-password-flags, 802-1x +
phase2-ca-cert-password-flags, 802-1x
-
phase2-ca-path, 802-1x +
phase2-ca-path, 802-1x
-
phase2-client-cert, 802-1x +
phase2-client-cert, 802-1x
-
phase2-client-cert-password, 802-1x +
phase2-client-cert-password, 802-1x
-
phase2-client-cert-password-flags, 802-1x +
phase2-client-cert-password-flags, 802-1x
-
phase2-domain-match, 802-1x +
phase2-domain-match, 802-1x
-
phase2-domain-suffix-match, 802-1x +
phase2-domain-suffix-match, 802-1x
-
phase2-private-key, 802-1x +
phase2-private-key, 802-1x
-
phase2-private-key-password, 802-1x +
phase2-private-key-password, 802-1x
-
phase2-private-key-password-flags, 802-1x +
phase2-private-key-password-flags, 802-1x
-
phase2-subject-match, 802-1x +
phase2-subject-match, 802-1x
-
pi, tun +
pi, tun
-
pin, 802-1x, gsm +
pin, 802-1x, gsm
-
pin-flags, 802-1x, gsm +
pin-flags, 802-1x, gsm
-
pmf, 802-11-wireless-security +
pmf, 802-11-wireless-security
-
port, macsec, 802-3-ethernet +
port, macsec, 802-3-ethernet
-
powersave, 802-11-wireless +
powersave, 802-11-wireless
-
org.freedesktop.NetworkManager.PPP, org.freedesktop.NetworkManager.PPP +
org.freedesktop.NetworkManager.PPP, org.freedesktop.NetworkManager.PPP
-
org.freedesktop.NetworkManager.PPP.NeedSecrets(), The NeedSecrets() method +
org.freedesktop.NetworkManager.PPP.NeedSecrets(), The NeedSecrets() method
-
org.freedesktop.NetworkManager.PPP.SetIfindex(), The SetIfindex() method +
org.freedesktop.NetworkManager.PPP.SetIfindex(), The SetIfindex() method
-
org.freedesktop.NetworkManager.PPP.SetIp4Config(), The SetIp4Config() method +
org.freedesktop.NetworkManager.PPP.SetIp4Config(), The SetIp4Config() method
-
org.freedesktop.NetworkManager.PPP.SetIp6Config(), The SetIp6Config() method +
org.freedesktop.NetworkManager.PPP.SetIp6Config(), The SetIp6Config() method
-
org.freedesktop.NetworkManager.PPP.SetState(), The SetState() method +
org.freedesktop.NetworkManager.PPP.SetState(), The SetState() method
-
prio, team-port +
prio, team-port
-
priority, bridge, bridge-port, hostname +
priority, bridge, bridge-port, hostname
-
priority-bandwidth, dcb +
priority-bandwidth, dcb
-
priority-flow-control, dcb +
priority-flow-control, dcb
-
priority-flow-control-flags, dcb +
priority-flow-control-flags, dcb
-
priority-group-bandwidth, dcb +
priority-group-bandwidth, dcb
-
priority-group-flags, dcb +
priority-group-flags, dcb
-
priority-group-id, dcb +
priority-group-id, dcb
-
priority-strict-bandwidth, dcb +
priority-strict-bandwidth, dcb
-
priority-traffic-class, dcb +
priority-traffic-class, dcb
-
private-key, 802-1x, wireguard +
private-key, 802-1x, wireguard
-
private-key-flags, wireguard +
private-key-flags, wireguard
-
private-key-password, 802-1x +
private-key-password, 802-1x
-
private-key-password-flags, 802-1x +
private-key-password-flags, 802-1x
-
promiscuous, macvlan +
promiscuous, macvlan
-
proto, 802-11-wireless-security +
proto, 802-11-wireless-security
-
protocol, adsl +
protocol, adsl
-
proxy, vxlan +
proxy, vxlan
-
psk, 802-11-wireless-security +
psk, 802-11-wireless-security
-
psk-flags, 802-11-wireless-security +
psk-flags, 802-11-wireless-security

Q

-
qdiscs, tc +
qdiscs, tc
-
queue-id, team-port +
queue-id, team-port

R

-
ra-timeout, ipv6 +
ra-timeout, ipv6
-
rate, 802-11-wireless +
rate, 802-11-wireless
-
read-only, connection +
read-only, connection
-
refuse-chap, ppp +
refuse-chap, ppp
-
refuse-eap, ppp +
refuse-eap, ppp
-
refuse-mschap, ppp +
refuse-mschap, ppp
-
refuse-mschapv2, ppp +
refuse-mschapv2, ppp
-
refuse-pap, ppp +
refuse-pap, ppp
-
remote, ip-tunnel, vxlan +
remote, ip-tunnel, vxlan
-
require-mppe, ppp +
require-mppe, ppp
-
require-mppe-128, ppp +
require-mppe-128, ppp
-
route-data, ipv4, ipv6 +
route-data, ipv4, ipv6
-
route-metric, ipv4, ipv6 +
route-metric, ipv4, ipv6
-
route-table, ipv4, ipv6 +
route-table, ipv4, ipv6
-
routes, ipv4, ipv6 +
routes, ipv4, ipv6
-
rsc, vxlan +
rsc, vxlan
-
rstp-enable, ovs-bridge +
rstp-enable, ovs-bridge
-
runner, team +
runner, team
-
runner-active, team +
runner-active, team
-
runner-agg-select-policy, team +
runner-agg-select-policy, team
-
runner-fast-rate, team +
runner-fast-rate, team
-
runner-hwaddr-policy, team +
runner-hwaddr-policy, team
-
runner-min-ports, team +
runner-min-ports, team
-
runner-sys-prio, team +
runner-sys-prio, team
-
runner-tx-balancer, team +
runner-tx-balancer, team
-
runner-tx-balancer-interval, team +
runner-tx-balancer-interval, team
-
runner-tx-hash, team +
runner-tx-hash, team

S

-
s390-nettype, 802-3-ethernet +
s390-nettype, 802-3-ethernet
-
s390-options, 802-3-ethernet +
s390-options, 802-3-ethernet
-
s390-subchannels, 802-3-ethernet +
s390-subchannels, 802-3-ethernet
-
secondaries, connection +
secondaries, connection
-
secrets, vpn +
secrets, vpn
-
security, 802-11-wireless +
security, 802-11-wireless
-
seen-bssids, 802-11-wireless +
seen-bssids, 802-11-wireless
-
send-delay, serial +
send-delay, serial
-
send-sci, macsec +
send-sci, macsec
-
service, pppoe +
service, pppoe
-
service-type, vpn +
service-type, vpn
-
short-address, wpan +
short-address, wpan
-
sim-id, gsm +
sim-id, gsm
-
sim-operator-id, gsm +
sim-operator-id, gsm
-
slave-type, connection +
slave-type, connection
-
source-port-max, vxlan +
source-port-max, vxlan
-
source-port-min, vxlan +
source-port-min, vxlan
-
speed, 802-3-ethernet +
speed, 802-3-ethernet
-
ssid, 802-11-olpc-mesh, 802-11-wireless +
ssid, 802-11-olpc-mesh, 802-11-wireless
-
stable-id, connection +
stable-id, connection
-
sticky, team-port +
sticky, team-port
-
stopbits, serial +
stopbits, serial
-
stp, bridge +
stp, bridge
-
stp-enable, ovs-bridge +
stp-enable, ovs-bridge
-
subject-match, 802-1x +
subject-match, 802-1x
-
system-ca-certs, 802-1x +
system-ca-certs, 802-1x

T

-
table, vrf +
table, vrf
-
tag, ovs-port +
tag, ovs-port
-
tap, macvlan +
tap, macvlan
-
tfilters, tc +
tfilters, tc
-
timeout, vpn +
timeout, vpn
-
timestamp, connection +
timestamp, connection
-
token, ipv6 +
token, ipv6
-
tos, ip-tunnel, vxlan +
tos, ip-tunnel, vxlan
-
total-vfs, sriov +
total-vfs, sriov
-
transport-mode, infiniband +
transport-mode, infiniband
-
ttl, ip-tunnel, vxlan +
ttl, ip-tunnel, vxlan
-
tx-power, 802-11-wireless +
tx-power, 802-11-wireless
-
type, connection, bluetooth, ovs-interface +
type, connection, bluetooth, ovs-interface

U

-
user-name, vpn +
user-name, vpn
-
username, adsl, cdma, gsm, pppoe +
username, adsl, cdma, gsm, pppoe
-
uuid, connection +
uuid, connection

V

-
validation, macsec +
validation, macsec
-
vci, adsl +
vci, adsl
-
vfs, sriov +
vfs, sriov
-
vlan-default-pvid, bridge +
vlan-default-pvid, bridge
-
vlan-filtering, bridge +
vlan-filtering, bridge
-
vlan-mode, ovs-port +
vlan-mode, ovs-port
-
vlan-protocol, bridge +
vlan-protocol, bridge
-
vlan-stats-enabled, bridge +
vlan-stats-enabled, bridge
-
vlans, bridge, bridge-port +
vlans, bridge, bridge-port
-
vnet-hdr, tun +
vnet-hdr, tun
-
vpi, adsl +
vpi, adsl
-
org.freedesktop.NetworkManager.VPN.Connection, org.freedesktop.NetworkManager.VPN.Connection +
org.freedesktop.NetworkManager.VPN.Connection, org.freedesktop.NetworkManager.VPN.Connection
-
org.freedesktop.NetworkManager.VPN.Connection::PropertiesChanged, The "PropertiesChanged" signal +
org.freedesktop.NetworkManager.VPN.Connection::PropertiesChanged, The "PropertiesChanged" signal
-
org.freedesktop.NetworkManager.VPN.Connection::VpnStateChanged, The "VpnStateChanged" signal +
org.freedesktop.NetworkManager.VPN.Connection::VpnStateChanged, The "VpnStateChanged" signal
-
org.freedesktop.NetworkManager.VPN.Connection:Banner, The "Banner" property +
org.freedesktop.NetworkManager.VPN.Connection:Banner, The "Banner" property
-
org.freedesktop.NetworkManager.VPN.Connection:VpnState, The "VpnState" property +
org.freedesktop.NetworkManager.VPN.Connection:VpnState, The "VpnState" property
-
org.freedesktop.NetworkManager.VPN.Plugin, org.freedesktop.NetworkManager.VPN.Plugin +
org.freedesktop.NetworkManager.VPN.Plugin, org.freedesktop.NetworkManager.VPN.Plugin
-
org.freedesktop.NetworkManager.VPN.Plugin.Connect(), The Connect() method +
org.freedesktop.NetworkManager.VPN.Plugin.Connect(), The Connect() method
-
org.freedesktop.NetworkManager.VPN.Plugin.ConnectInteractive(), The ConnectInteractive() method +
org.freedesktop.NetworkManager.VPN.Plugin.ConnectInteractive(), The ConnectInteractive() method
-
org.freedesktop.NetworkManager.VPN.Plugin.Disconnect(), The Disconnect() method +
org.freedesktop.NetworkManager.VPN.Plugin.Disconnect(), The Disconnect() method
-
org.freedesktop.NetworkManager.VPN.Plugin.NeedSecrets(), The NeedSecrets() method +
org.freedesktop.NetworkManager.VPN.Plugin.NeedSecrets(), The NeedSecrets() method
-
org.freedesktop.NetworkManager.VPN.Plugin.NewSecrets(), The NewSecrets() method +
org.freedesktop.NetworkManager.VPN.Plugin.NewSecrets(), The NewSecrets() method
-
org.freedesktop.NetworkManager.VPN.Plugin.SetConfig(), The SetConfig() method +
org.freedesktop.NetworkManager.VPN.Plugin.SetConfig(), The SetConfig() method
-
org.freedesktop.NetworkManager.VPN.Plugin.SetFailure(), The SetFailure() method +
org.freedesktop.NetworkManager.VPN.Plugin.SetFailure(), The SetFailure() method
-
org.freedesktop.NetworkManager.VPN.Plugin.SetIp4Config(), The SetIp4Config() method +
org.freedesktop.NetworkManager.VPN.Plugin.SetIp4Config(), The SetIp4Config() method
-
org.freedesktop.NetworkManager.VPN.Plugin.SetIp6Config(), The SetIp6Config() method +
org.freedesktop.NetworkManager.VPN.Plugin.SetIp6Config(), The SetIp6Config() method
-
org.freedesktop.NetworkManager.VPN.Plugin::Config, The "Config" signal +
org.freedesktop.NetworkManager.VPN.Plugin::Config, The "Config" signal
-
org.freedesktop.NetworkManager.VPN.Plugin::Failure, The "Failure" signal +
org.freedesktop.NetworkManager.VPN.Plugin::Failure, The "Failure" signal
-
org.freedesktop.NetworkManager.VPN.Plugin::Ip4Config, The "Ip4Config" signal +
org.freedesktop.NetworkManager.VPN.Plugin::Ip4Config, The "Ip4Config" signal
-
org.freedesktop.NetworkManager.VPN.Plugin::Ip6Config, The "Ip6Config" signal +
org.freedesktop.NetworkManager.VPN.Plugin::Ip6Config, The "Ip6Config" signal
-
org.freedesktop.NetworkManager.VPN.Plugin::LoginBanner, The "LoginBanner" signal +
org.freedesktop.NetworkManager.VPN.Plugin::LoginBanner, The "LoginBanner" signal
-
org.freedesktop.NetworkManager.VPN.Plugin::SecretsRequired, The "SecretsRequired" signal +
org.freedesktop.NetworkManager.VPN.Plugin::SecretsRequired, The "SecretsRequired" signal
-
org.freedesktop.NetworkManager.VPN.Plugin::StateChanged, The "StateChanged" signal +
org.freedesktop.NetworkManager.VPN.Plugin::StateChanged, The "StateChanged" signal
-
org.freedesktop.NetworkManager.VPN.Plugin:State, The "State" property +
org.freedesktop.NetworkManager.VPN.Plugin:State, The "State" property

W

-
wait-device-timeout, connection +
wait-device-timeout, connection
-
wake-on-lan, 802-3-ethernet +
wake-on-lan, 802-3-ethernet
-
wake-on-lan-password, 802-3-ethernet +
wake-on-lan-password, 802-3-ethernet
-
wake-on-wlan, 802-11-wireless +
wake-on-wlan, 802-11-wireless
-
wep-key-flags, 802-11-wireless-security +
wep-key-flags, 802-11-wireless-security
-
wep-key-type, 802-11-wireless-security +
wep-key-type, 802-11-wireless-security
-
wep-key0, 802-11-wireless-security +
wep-key0, 802-11-wireless-security
-
wep-key1, 802-11-wireless-security +
wep-key1, 802-11-wireless-security
-
wep-key2, 802-11-wireless-security +
wep-key2, 802-11-wireless-security
-
wep-key3, 802-11-wireless-security +
wep-key3, 802-11-wireless-security
-
wep-tx-keyidx, 802-11-wireless-security +
wep-tx-keyidx, 802-11-wireless-security
-
wfd-ies, wifi-p2p +
wfd-ies, wifi-p2p
-
org.freedesktop.NetworkManager.WifiP2PPeer, org.freedesktop.NetworkManager.WifiP2PPeer +
org.freedesktop.NetworkManager.WifiP2PPeer, org.freedesktop.NetworkManager.WifiP2PPeer
-
org.freedesktop.NetworkManager.WifiP2PPeer:Flags, The "Flags" property +
org.freedesktop.NetworkManager.WifiP2PPeer:Flags, The "Flags" property
-
org.freedesktop.NetworkManager.WifiP2PPeer:HwAddress, The "HwAddress" property +
org.freedesktop.NetworkManager.WifiP2PPeer:HwAddress, The "HwAddress" property
-
org.freedesktop.NetworkManager.WifiP2PPeer:LastSeen, The "LastSeen" property +
org.freedesktop.NetworkManager.WifiP2PPeer:LastSeen, The "LastSeen" property
-
org.freedesktop.NetworkManager.WifiP2PPeer:Manufacturer, The "Manufacturer" property +
org.freedesktop.NetworkManager.WifiP2PPeer:Manufacturer, The "Manufacturer" property
-
org.freedesktop.NetworkManager.WifiP2PPeer:Model, The "Model" property +
org.freedesktop.NetworkManager.WifiP2PPeer:Model, The "Model" property
-
org.freedesktop.NetworkManager.WifiP2PPeer:ModelNumber, The "ModelNumber" property +
org.freedesktop.NetworkManager.WifiP2PPeer:ModelNumber, The "ModelNumber" property
-
org.freedesktop.NetworkManager.WifiP2PPeer:Name, The "Name" property +
org.freedesktop.NetworkManager.WifiP2PPeer:Name, The "Name" property
-
org.freedesktop.NetworkManager.WifiP2PPeer:Serial, The "Serial" property +
org.freedesktop.NetworkManager.WifiP2PPeer:Serial, The "Serial" property
-
org.freedesktop.NetworkManager.WifiP2PPeer:Strength, The "Strength" property +
org.freedesktop.NetworkManager.WifiP2PPeer:Strength, The "Strength" property
-
org.freedesktop.NetworkManager.WifiP2PPeer:WfdIEs, The "WfdIEs" property +
org.freedesktop.NetworkManager.WifiP2PPeer:WfdIEs, The "WfdIEs" property
-
wps-method, wifi-p2p, 802-11-wireless-security +
wps-method, wifi-p2p, 802-11-wireless-security

Z

-
zone, connection +
zone, connection
+
Generated by GTK-Doc V1.33.0 \ No newline at end of file diff --git a/docs/api/html/license.html b/docs/api/html/license.html index e1b6848..45ca298 100644 --- a/docs/api/html/license.html +++ b/docs/api/html/license.html @@ -7,7 +7,7 @@ - + @@ -55,6 +55,6 @@

+
Generated by GTK-Doc V1.33.0 \ No newline at end of file diff --git a/docs/api/html/manpages.html b/docs/api/html/manpages.html index 64c083b..7507854 100644 --- a/docs/api/html/manpages.html +++ b/docs/api/html/manpages.html @@ -8,7 +8,7 @@ - + @@ -68,6 +68,6 @@ +
Generated by GTK-Doc V1.33.0 \ No newline at end of file diff --git a/docs/api/html/nm-cloud-setup.html b/docs/api/html/nm-cloud-setup.html index 4d95434..80e7c2e 100644 --- a/docs/api/html/nm-cloud-setup.html +++ b/docs/api/html/nm-cloud-setup.html @@ -8,7 +8,7 @@ - + @@ -260,6 +260,6 @@ +
Generated by GTK-Doc V1.33.0 \ No newline at end of file diff --git a/docs/api/html/nm-dbus-types.html b/docs/api/html/nm-dbus-types.html index 9287ec6..af1ee6c 100644 --- a/docs/api/html/nm-dbus-types.html +++ b/docs/api/html/nm-dbus-types.html @@ -8,7 +8,7 @@ - + @@ -68,7 +68,7 @@

-

OpenVSwitch can be managed. This means the OVS device plugin is loaded. Since: 1.24

+

OpenVSwitch can be managed. This means the OVS device plugin is loaded. Since: 1.24.

  @@ -784,7 +784,7 @@

-

an 802.11 Wi-Fi P2P device (Since: 1.16)

+

an 802.11 Wi-Fi P2P device. Since: 1.16.

  @@ -799,7 +799,7 @@

-

A VRF (Virtual Routing and Forwarding) interface (Since: 1.24)

+

A VRF (Virtual Routing and Forwarding) interface. Since: 1.24.

  @@ -3998,7 +3998,7 @@

-

upon rollback, delete any new connection added after the checkpoint (Since: 1.6)

+

upon rollback, delete any new connection added after the checkpoint. Since: 1.6.

  @@ -4013,7 +4013,7 @@

-

upon rollback, disconnect any new device appeared after the checkpoint (Since: 1.6)

+

upon rollback, disconnect any new device appeared after the checkpoint. Since: 1.6.

  @@ -4028,7 +4028,7 @@

-

by default, creating a checkpoint fails if there are already existing checkoints that reference the same devices. With this flag, creation of such checkpoints is allowed, however, if an older checkpoint that references overlapping devices gets rolled back, it will automatically destroy this checkpoint during rollback. This allows to create several overlapping checkpoints in parallel, and rollback to them at will. With the special case that rolling back to an older checkpoint will invalidate all overlapping younger checkpoints. This opts-in that the checkpoint can be automatically destroyed by the rollback of an older checkpoint. (Since: 1.12)

+

by default, creating a checkpoint fails if there are already existing checkoints that reference the same devices. With this flag, creation of such checkpoints is allowed, however, if an older checkpoint that references overlapping devices gets rolled back, it will automatically destroy this checkpoint during rollback. This allows to create several overlapping checkpoints in parallel, and rollback to them at will. With the special case that rolling back to an older checkpoint will invalidate all overlapping younger checkpoints. This opts-in that the checkpoint can be automatically destroyed by the rollback of an older checkpoint. Since: 1.12.

  @@ -4203,7 +4203,7 @@

-

the profile was generated to represent an external configuration of a networking device. Since: 1.26

+

the profile was generated to represent an external configuration of a networking device. Since: 1.26.

  @@ -4343,7 +4343,7 @@

-

the lifetime of the activation is bound to the visibility of the connection profile, which in turn depends on "connection.permissions" and whether a session for the user exists. Since: 1.16

+

the lifetime of the activation is bound to the visibility of the connection profile, which in turn depends on "connection.permissions" and whether a session for the user exists. Since: 1.16.

  @@ -4358,7 +4358,7 @@

-

the active connection was generated to represent an external configuration of a networking device. Since: 1.26

+

the active connection was generated to represent an external configuration of a networking device. Since: 1.26.

  @@ -5196,6 +5196,6 @@ +
Generated by GTK-Doc V1.33.0 \ No newline at end of file diff --git a/docs/api/html/nm-initrd-generator.html b/docs/api/html/nm-initrd-generator.html index 200b019..bef22dc 100644 --- a/docs/api/html/nm-initrd-generator.html +++ b/docs/api/html/nm-initrd-generator.html @@ -8,7 +8,7 @@ - + @@ -69,6 +69,13 @@

+ -r | --run-config-dir + path +

+

Output directory for config files.

+ + +

-s | --stdout

Dump connections to standard output. Useful for debugging.

@@ -89,6 +96,7 @@ rd.peerdns rd.bootif rd.net.timeout.dhcp +rd.net.timeout.carrier BOOTIF

Please consult the dracut.cmdline(7) @@ -130,6 +138,6 @@

+
Generated by GTK-Doc V1.33.0 \ No newline at end of file diff --git a/docs/api/html/nm-online.html b/docs/api/html/nm-online.html index ab6a6a6..84fef32 100644 --- a/docs/api/html/nm-online.html +++ b/docs/api/html/nm-online.html @@ -8,7 +8,7 @@ - + @@ -149,6 +149,6 @@ +
Generated by GTK-Doc V1.33.0 \ No newline at end of file diff --git a/docs/api/html/nm-openvswitch.html b/docs/api/html/nm-openvswitch.html index 39878e9..74825fc 100644 --- a/docs/api/html/nm-openvswitch.html +++ b/docs/api/html/nm-openvswitch.html @@ -8,7 +8,7 @@ - + @@ -172,6 +172,6 @@ Connection 'ovs-slave-eth3' (8dedeecb-ed12-482b-b77a-24a4fb835136) successfully +
Generated by GTK-Doc V1.33.0 \ No newline at end of file diff --git a/docs/api/html/nm-settings-dbus.html b/docs/api/html/nm-settings-dbus.html index 7b2275d..f49d8ee 100644 --- a/docs/api/html/nm-settings-dbus.html +++ b/docs/api/html/nm-settings-dbus.html @@ -8,7 +8,7 @@ - + @@ -1601,7 +1601,7 @@ dns-options array of string   -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. +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. @@ -1797,7 +1797,7 @@ dns-options array of string   -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. +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. @@ -4215,6 +4215,6 @@ +
Generated by GTK-Doc V1.33.0 \ No newline at end of file diff --git a/docs/api/html/nm-settings-ifcfg-rh.html b/docs/api/html/nm-settings-ifcfg-rh.html index aa36c35..d8d3728 100644 --- a/docs/api/html/nm-settings-ifcfg-rh.html +++ b/docs/api/html/nm-settings-ifcfg-rh.html @@ -8,7 +8,7 @@ - + @@ -2722,6 +2722,6 @@ Allowed values: "yes", "no" +
Generated by GTK-Doc V1.33.0 \ No newline at end of file diff --git a/docs/api/html/nm-settings-keyfile.html b/docs/api/html/nm-settings-keyfile.html index d635adf..a2a0799 100644 --- a/docs/api/html/nm-settings-keyfile.html +++ b/docs/api/html/nm-settings-keyfile.html @@ -8,7 +8,7 @@ - + @@ -567,6 +567,6 @@ Example: mac-address-blacklist= 00:22:68:12:79:A6;00:22:68:12:79 +
Generated by GTK-Doc V1.33.0 \ No newline at end of file diff --git a/docs/api/html/nm-settings-nmcli.html b/docs/api/html/nm-settings-nmcli.html index 0b4e9e9..4b758f6 100644 --- a/docs/api/html/nm-settings-nmcli.html +++ b/docs/api/html/nm-settings-nmcli.html @@ -8,7 +8,7 @@ - + @@ -2015,7 +2015,7 @@

dns-options

-

Array of DNS options as described in man 5 resolv.conf. NULL means that the options are unset and left at the default. In this case NetworkManager will use default options. This is distinct from an empty list of properties. The currently supported options are "attempts", "debug", "edns0", "inet6", "ip6-bytestring", "ip6-dotint", "ndots", "no-check-names", "no-ip6-dotint", "no-reload", "no-tld-query", "rotate", "single-request", "single-request-reopen", "timeout", "trust-ad", "use-vc". The "trust-ad" setting is only honored if the profile contributes name servers to resolv.conf, and if all contributing profiles have "trust-ad" enabled.

+

Array of DNS options as described in man 5 resolv.conf. NULL means that the options are unset and left at the default. In this case NetworkManager will use default options. This is distinct from an empty list of properties. The currently supported options are "attempts", "debug", "edns0", "inet6", "ip6-bytestring", "ip6-dotint", "ndots", "no-check-names", "no-ip6-dotint", "no-reload", "no-tld-query", "rotate", "single-request", "single-request-reopen", "timeout", "trust-ad", "use-vc". The "trust-ad" setting is only honored if the profile contributes name servers to resolv.conf, and if all contributing profiles have "trust-ad" enabled. When using a caching DNS plugin (dnsmasq or systemd-resolved in NetworkManager.conf) then "edns0" and "trust-ad" are automatically added.

Format: array of string

@@ -2207,7 +2207,7 @@

dns-options

-

Array of DNS options as described in man 5 resolv.conf. NULL means that the options are unset and left at the default. In this case NetworkManager will use default options. This is distinct from an empty list of properties. The currently supported options are "attempts", "debug", "edns0", "inet6", "ip6-bytestring", "ip6-dotint", "ndots", "no-check-names", "no-ip6-dotint", "no-reload", "no-tld-query", "rotate", "single-request", "single-request-reopen", "timeout", "trust-ad", "use-vc". The "trust-ad" setting is only honored if the profile contributes name servers to resolv.conf, and if all contributing profiles have "trust-ad" enabled.

+

Array of DNS options as described in man 5 resolv.conf. NULL means that the options are unset and left at the default. In this case NetworkManager will use default options. This is distinct from an empty list of properties. The currently supported options are "attempts", "debug", "edns0", "inet6", "ip6-bytestring", "ip6-dotint", "ndots", "no-check-names", "no-ip6-dotint", "no-reload", "no-tld-query", "rotate", "single-request", "single-request-reopen", "timeout", "trust-ad", "use-vc". The "trust-ad" setting is only honored if the profile contributes name servers to resolv.conf, and if all contributing profiles have "trust-ad" enabled. When using a caching DNS plugin (dnsmasq or systemd-resolved in NetworkManager.conf) then "edns0" and "trust-ad" are automatically added.

Format: array of string

@@ -4751,6 +4751,6 @@ +
Generated by GTK-Doc V1.33.0 \ No newline at end of file diff --git a/docs/api/html/nm-vpn-dbus-types.html b/docs/api/html/nm-vpn-dbus-types.html index 8c69cbe..c7b0078 100644 --- a/docs/api/html/nm-vpn-dbus-types.html +++ b/docs/api/html/nm-vpn-dbus-types.html @@ -8,7 +8,7 @@ - + @@ -555,6 +555,6 @@ +
Generated by GTK-Doc V1.33.0 \ No newline at end of file diff --git a/docs/api/html/nmcli-examples.html b/docs/api/html/nmcli-examples.html index 8b15995..ad56ea7 100644 --- a/docs/api/html/nmcli-examples.html +++ b/docs/api/html/nmcli-examples.html @@ -8,7 +8,7 @@ - + @@ -649,6 +649,6 @@ Connection 'ethernet-4' (de89cdeb-a3e1-4d53-8fa0-c22546c775f4) successfully +
Generated by GTK-Doc V1.33.0 \ No newline at end of file diff --git a/docs/api/html/nmcli.html b/docs/api/html/nmcli.html index bcb6657..33d8eaf 100644 --- a/docs/api/html/nmcli.html +++ b/docs/api/html/nmcli.html @@ -8,7 +8,7 @@ - + @@ -1716,6 +1716,6 @@ +
Generated by GTK-Doc V1.33.0 \ No newline at end of file diff --git a/docs/api/html/nmtui.html b/docs/api/html/nmtui.html index ee9ab9f..edf90ab 100644 --- a/docs/api/html/nmtui.html +++ b/docs/api/html/nmtui.html @@ -8,7 +8,7 @@ - + @@ -83,6 +83,6 @@ +
Generated by GTK-Doc V1.33.0 \ No newline at end of file diff --git a/docs/api/html/ref-dbus-access-points.html b/docs/api/html/ref-dbus-access-points.html index f59402c..0b4bb69 100644 --- a/docs/api/html/ref-dbus-access-points.html +++ b/docs/api/html/ref-dbus-access-points.html @@ -8,7 +8,7 @@ - + @@ -27,6 +27,6 @@ +
Generated by GTK-Doc V1.33.0 \ No newline at end of file diff --git a/docs/api/html/ref-dbus-active-connections.html b/docs/api/html/ref-dbus-active-connections.html index a46f4dd..4c2cd24 100644 --- a/docs/api/html/ref-dbus-active-connections.html +++ b/docs/api/html/ref-dbus-active-connections.html @@ -8,7 +8,7 @@ - + @@ -32,6 +32,6 @@ +
Generated by GTK-Doc V1.33.0 \ No newline at end of file diff --git a/docs/api/html/ref-dbus-agent-manager.html b/docs/api/html/ref-dbus-agent-manager.html index a64f484..eccc57b 100644 --- a/docs/api/html/ref-dbus-agent-manager.html +++ b/docs/api/html/ref-dbus-agent-manager.html @@ -8,7 +8,7 @@ - + @@ -27,6 +27,6 @@ +
Generated by GTK-Doc V1.33.0 \ No newline at end of file diff --git a/docs/api/html/ref-dbus-checkpoint.html b/docs/api/html/ref-dbus-checkpoint.html index 59f7aae..1795082 100644 --- a/docs/api/html/ref-dbus-checkpoint.html +++ b/docs/api/html/ref-dbus-checkpoint.html @@ -8,7 +8,7 @@ - + @@ -27,6 +27,6 @@ +
Generated by GTK-Doc V1.33.0 \ No newline at end of file diff --git a/docs/api/html/ref-dbus-devices.html b/docs/api/html/ref-dbus-devices.html index 8abca65..6537de2 100644 --- a/docs/api/html/ref-dbus-devices.html +++ b/docs/api/html/ref-dbus-devices.html @@ -8,7 +8,7 @@ - + @@ -119,6 +119,6 @@ +
Generated by GTK-Doc V1.33.0 \ No newline at end of file diff --git a/docs/api/html/ref-dbus-dhcp4-configs.html b/docs/api/html/ref-dbus-dhcp4-configs.html index 9c77a26..1f222e0 100644 --- a/docs/api/html/ref-dbus-dhcp4-configs.html +++ b/docs/api/html/ref-dbus-dhcp4-configs.html @@ -8,7 +8,7 @@ - + @@ -27,6 +27,6 @@ +
Generated by GTK-Doc V1.33.0 \ No newline at end of file diff --git a/docs/api/html/ref-dbus-dhcp6-configs.html b/docs/api/html/ref-dbus-dhcp6-configs.html index b318d44..0845bf0 100644 --- a/docs/api/html/ref-dbus-dhcp6-configs.html +++ b/docs/api/html/ref-dbus-dhcp6-configs.html @@ -8,7 +8,7 @@ - + @@ -27,6 +27,6 @@ +
Generated by GTK-Doc V1.33.0 \ No newline at end of file diff --git a/docs/api/html/ref-dbus-dns-manager.html b/docs/api/html/ref-dbus-dns-manager.html index ba431bc..1ab7f8a 100644 --- a/docs/api/html/ref-dbus-dns-manager.html +++ b/docs/api/html/ref-dbus-dns-manager.html @@ -8,7 +8,7 @@ - + @@ -27,6 +27,6 @@ +
Generated by GTK-Doc V1.33.0 \ No newline at end of file diff --git a/docs/api/html/ref-dbus-ip4-configs.html b/docs/api/html/ref-dbus-ip4-configs.html index b9c03bd..2bc3e16 100644 --- a/docs/api/html/ref-dbus-ip4-configs.html +++ b/docs/api/html/ref-dbus-ip4-configs.html @@ -8,7 +8,7 @@ - + @@ -27,6 +27,6 @@ +
Generated by GTK-Doc V1.33.0 \ No newline at end of file diff --git a/docs/api/html/ref-dbus-ip6-configs.html b/docs/api/html/ref-dbus-ip6-configs.html index b301432..befd32e 100644 --- a/docs/api/html/ref-dbus-ip6-configs.html +++ b/docs/api/html/ref-dbus-ip6-configs.html @@ -8,7 +8,7 @@ - + @@ -27,6 +27,6 @@ +
Generated by GTK-Doc V1.33.0 \ No newline at end of file diff --git a/docs/api/html/ref-dbus-manager.html b/docs/api/html/ref-dbus-manager.html index 28b4399..ba94fe4 100644 --- a/docs/api/html/ref-dbus-manager.html +++ b/docs/api/html/ref-dbus-manager.html @@ -8,7 +8,7 @@ - + @@ -27,6 +27,6 @@ +
Generated by GTK-Doc V1.33.0 \ No newline at end of file diff --git a/docs/api/html/ref-dbus-settings-manager.html b/docs/api/html/ref-dbus-settings-manager.html index b31916f..d122fcc 100644 --- a/docs/api/html/ref-dbus-settings-manager.html +++ b/docs/api/html/ref-dbus-settings-manager.html @@ -8,7 +8,7 @@ - + @@ -27,6 +27,6 @@ +
Generated by GTK-Doc V1.33.0 \ No newline at end of file diff --git a/docs/api/html/ref-dbus-settings.html b/docs/api/html/ref-dbus-settings.html index ace2d15..d1d5c70 100644 --- a/docs/api/html/ref-dbus-settings.html +++ b/docs/api/html/ref-dbus-settings.html @@ -8,7 +8,7 @@ - + @@ -27,6 +27,6 @@ +
Generated by GTK-Doc V1.33.0 \ No newline at end of file diff --git a/docs/api/html/ref-dbus-wifi-p2p-peers.html b/docs/api/html/ref-dbus-wifi-p2p-peers.html index 5299114..99d0470 100644 --- a/docs/api/html/ref-dbus-wifi-p2p-peers.html +++ b/docs/api/html/ref-dbus-wifi-p2p-peers.html @@ -8,7 +8,7 @@ - + @@ -27,6 +27,6 @@ +
Generated by GTK-Doc V1.33.0 \ No newline at end of file diff --git a/docs/api/html/ref-settings.html b/docs/api/html/ref-settings.html index feefbec..e09dc7b 100644 --- a/docs/api/html/ref-settings.html +++ b/docs/api/html/ref-settings.html @@ -8,7 +8,7 @@ - + @@ -193,6 +193,6 @@

+
Generated by GTK-Doc V1.33.0 \ No newline at end of file diff --git a/docs/api/html/secret-agents.html b/docs/api/html/secret-agents.html index 72c0696..b3df856 100644 --- a/docs/api/html/secret-agents.html +++ b/docs/api/html/secret-agents.html @@ -8,7 +8,7 @@ - + @@ -33,6 +33,6 @@ +
Generated by GTK-Doc V1.33.0 \ No newline at end of file diff --git a/docs/api/html/secrets-flags.html b/docs/api/html/secrets-flags.html index 66c07ce..1d59a93 100644 --- a/docs/api/html/secrets-flags.html +++ b/docs/api/html/secrets-flags.html @@ -8,7 +8,7 @@ - + @@ -58,6 +58,6 @@

+
Generated by GTK-Doc V1.33.0 \ No newline at end of file diff --git a/docs/api/html/settings-6lowpan.html b/docs/api/html/settings-6lowpan.html index 29f8401..9c89ffd 100644 --- a/docs/api/html/settings-6lowpan.html +++ b/docs/api/html/settings-6lowpan.html @@ -8,7 +8,7 @@ - + @@ -64,6 +64,6 @@ +
Generated by GTK-Doc V1.33.0 \ No newline at end of file diff --git a/docs/api/html/settings-802-11-olpc-mesh.html b/docs/api/html/settings-802-11-olpc-mesh.html index a9d9818..7ff80ef 100644 --- a/docs/api/html/settings-802-11-olpc-mesh.html +++ b/docs/api/html/settings-802-11-olpc-mesh.html @@ -8,7 +8,7 @@ - + @@ -78,6 +78,6 @@ +
Generated by GTK-Doc V1.33.0 \ No newline at end of file diff --git a/docs/api/html/settings-802-11-wireless-security.html b/docs/api/html/settings-802-11-wireless-security.html index 48cddf4..7e915e4 100644 --- a/docs/api/html/settings-802-11-wireless-security.html +++ b/docs/api/html/settings-802-11-wireless-security.html @@ -8,7 +8,7 @@ - + @@ -180,6 +180,6 @@ +
Generated by GTK-Doc V1.33.0 \ No newline at end of file diff --git a/docs/api/html/settings-802-11-wireless.html b/docs/api/html/settings-802-11-wireless.html index b718430..71cafdf 100644 --- a/docs/api/html/settings-802-11-wireless.html +++ b/docs/api/html/settings-802-11-wireless.html @@ -8,7 +8,7 @@ - + @@ -180,6 +180,6 @@ +
Generated by GTK-Doc V1.33.0 \ No newline at end of file diff --git a/docs/api/html/settings-802-1x.html b/docs/api/html/settings-802-1x.html index 319d608..20d0e7a 100644 --- a/docs/api/html/settings-802-1x.html +++ b/docs/api/html/settings-802-1x.html @@ -8,7 +8,7 @@ - + @@ -342,6 +342,6 @@ +
Generated by GTK-Doc V1.33.0 \ No newline at end of file diff --git a/docs/api/html/settings-802-3-ethernet.html b/docs/api/html/settings-802-3-ethernet.html index fb828bf..1533c60 100644 --- a/docs/api/html/settings-802-3-ethernet.html +++ b/docs/api/html/settings-802-3-ethernet.html @@ -8,7 +8,7 @@ - + @@ -150,6 +150,6 @@ +
Generated by GTK-Doc V1.33.0 \ No newline at end of file diff --git a/docs/api/html/settings-adsl.html b/docs/api/html/settings-adsl.html index a861bf9..1eb087d 100644 --- a/docs/api/html/settings-adsl.html +++ b/docs/api/html/settings-adsl.html @@ -8,7 +8,7 @@ - + @@ -102,6 +102,6 @@ +
Generated by GTK-Doc V1.33.0 \ No newline at end of file diff --git a/docs/api/html/settings-bluetooth.html b/docs/api/html/settings-bluetooth.html index 02dc2e1..e7ceaf7 100644 --- a/docs/api/html/settings-bluetooth.html +++ b/docs/api/html/settings-bluetooth.html @@ -8,7 +8,7 @@ - + @@ -72,6 +72,6 @@ +
Generated by GTK-Doc V1.33.0 \ No newline at end of file diff --git a/docs/api/html/settings-bond.html b/docs/api/html/settings-bond.html index 6c5bc7d..268ae38 100644 --- a/docs/api/html/settings-bond.html +++ b/docs/api/html/settings-bond.html @@ -8,7 +8,7 @@ - + @@ -72,6 +72,6 @@ +
Generated by GTK-Doc V1.33.0 \ No newline at end of file diff --git a/docs/api/html/settings-bridge-port.html b/docs/api/html/settings-bridge-port.html index 7842fdb..6eb7d93 100644 --- a/docs/api/html/settings-bridge-port.html +++ b/docs/api/html/settings-bridge-port.html @@ -8,7 +8,7 @@ - + @@ -84,6 +84,6 @@ +
Generated by GTK-Doc V1.33.0 \ No newline at end of file diff --git a/docs/api/html/settings-bridge.html b/docs/api/html/settings-bridge.html index 92e1dec..5cee3c1 100644 --- a/docs/api/html/settings-bridge.html +++ b/docs/api/html/settings-bridge.html @@ -8,7 +8,7 @@ - + @@ -228,6 +228,6 @@ +
Generated by GTK-Doc V1.33.0 \ No newline at end of file diff --git a/docs/api/html/settings-cdma.html b/docs/api/html/settings-cdma.html index 2c66448..a32fa53 100644 --- a/docs/api/html/settings-cdma.html +++ b/docs/api/html/settings-cdma.html @@ -8,7 +8,7 @@ - + @@ -90,6 +90,6 @@ +
Generated by GTK-Doc V1.33.0 \ No newline at end of file diff --git a/docs/api/html/settings-connection.html b/docs/api/html/settings-connection.html index 3c57ca0..79025e4 100644 --- a/docs/api/html/settings-connection.html +++ b/docs/api/html/settings-connection.html @@ -8,7 +8,7 @@ - + @@ -210,6 +210,6 @@ +
Generated by GTK-Doc V1.33.0 \ No newline at end of file diff --git a/docs/api/html/settings-dcb.html b/docs/api/html/settings-dcb.html index b7319d6..d3274cf 100644 --- a/docs/api/html/settings-dcb.html +++ b/docs/api/html/settings-dcb.html @@ -8,7 +8,7 @@ - + @@ -150,6 +150,6 @@ +
Generated by GTK-Doc V1.33.0 \ No newline at end of file diff --git a/docs/api/html/settings-dummy.html b/docs/api/html/settings-dummy.html index 403c68b..6bc0ab4 100644 --- a/docs/api/html/settings-dummy.html +++ b/docs/api/html/settings-dummy.html @@ -8,7 +8,7 @@ - + @@ -59,6 +59,6 @@ +
Generated by GTK-Doc V1.33.0 \ No newline at end of file diff --git a/docs/api/html/settings-ethtool.html b/docs/api/html/settings-ethtool.html index 0a6033b..adf9071 100644 --- a/docs/api/html/settings-ethtool.html +++ b/docs/api/html/settings-ethtool.html @@ -8,7 +8,7 @@ - + @@ -59,6 +59,6 @@ +
Generated by GTK-Doc V1.33.0 \ No newline at end of file diff --git a/docs/api/html/settings-generic.html b/docs/api/html/settings-generic.html index ad8cd08..cdc71b1 100644 --- a/docs/api/html/settings-generic.html +++ b/docs/api/html/settings-generic.html @@ -8,7 +8,7 @@ - + @@ -59,6 +59,6 @@ +
Generated by GTK-Doc V1.33.0 \ No newline at end of file diff --git a/docs/api/html/settings-gsm.html b/docs/api/html/settings-gsm.html index 8e97b6e..a48daf4 100644 --- a/docs/api/html/settings-gsm.html +++ b/docs/api/html/settings-gsm.html @@ -8,7 +8,7 @@ - + @@ -144,6 +144,6 @@ +
Generated by GTK-Doc V1.33.0 \ No newline at end of file diff --git a/docs/api/html/settings-hostname.html b/docs/api/html/settings-hostname.html index 0a4eddc..0caf2ce 100644 --- a/docs/api/html/settings-hostname.html +++ b/docs/api/html/settings-hostname.html @@ -8,7 +8,7 @@ - + @@ -84,6 +84,6 @@ +
Generated by GTK-Doc V1.33.0 \ No newline at end of file diff --git a/docs/api/html/settings-infiniband.html b/docs/api/html/settings-infiniband.html index 39a5004..702d1bf 100644 --- a/docs/api/html/settings-infiniband.html +++ b/docs/api/html/settings-infiniband.html @@ -8,7 +8,7 @@ - + @@ -90,6 +90,6 @@ +
Generated by GTK-Doc V1.33.0 \ No newline at end of file diff --git a/docs/api/html/settings-ip-tunnel.html b/docs/api/html/settings-ip-tunnel.html index e092220..929ffa4 100644 --- a/docs/api/html/settings-ip-tunnel.html +++ b/docs/api/html/settings-ip-tunnel.html @@ -8,7 +8,7 @@ - + @@ -138,6 +138,6 @@ +
Generated by GTK-Doc V1.33.0 \ No newline at end of file diff --git a/docs/api/html/settings-ipv4.html b/docs/api/html/settings-ipv4.html index 5df30e4..2152a9e 100644 --- a/docs/api/html/settings-ipv4.html +++ b/docs/api/html/settings-ipv4.html @@ -8,7 +8,7 @@ - + @@ -135,7 +135,7 @@
dns-options
array of string

-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.
+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.
 
 
 
dns-priority
@@ -216,6 +216,6 @@ +
Generated by GTK-Doc V1.33.0 \ No newline at end of file diff --git a/docs/api/html/settings-ipv6.html b/docs/api/html/settings-ipv6.html index d74b4a3..1680a5a 100644 --- a/docs/api/html/settings-ipv6.html +++ b/docs/api/html/settings-ipv6.html @@ -8,7 +8,7 @@ - + @@ -129,7 +129,7 @@
dns-options
array of string

-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.
+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.
 
 
 
dns-priority
@@ -228,6 +228,6 @@ +
Generated by GTK-Doc V1.33.0 \ No newline at end of file diff --git a/docs/api/html/settings-macsec.html b/docs/api/html/settings-macsec.html index 3baaf03..ecc6f69 100644 --- a/docs/api/html/settings-macsec.html +++ b/docs/api/html/settings-macsec.html @@ -8,7 +8,7 @@ - + @@ -114,6 +114,6 @@ +
Generated by GTK-Doc V1.33.0 \ No newline at end of file diff --git a/docs/api/html/settings-macvlan.html b/docs/api/html/settings-macvlan.html index cf6f9f8..3cf2fc0 100644 --- a/docs/api/html/settings-macvlan.html +++ b/docs/api/html/settings-macvlan.html @@ -8,7 +8,7 @@ - + @@ -84,6 +84,6 @@ +
Generated by GTK-Doc V1.33.0 \ No newline at end of file diff --git a/docs/api/html/settings-match.html b/docs/api/html/settings-match.html index 3c79f2a..e1afd6a 100644 --- a/docs/api/html/settings-match.html +++ b/docs/api/html/settings-match.html @@ -8,7 +8,7 @@ - + @@ -84,6 +84,6 @@ +
Generated by GTK-Doc V1.33.0 \ No newline at end of file diff --git a/docs/api/html/settings-ovs-bridge.html b/docs/api/html/settings-ovs-bridge.html index a30bc7e..29239f4 100644 --- a/docs/api/html/settings-ovs-bridge.html +++ b/docs/api/html/settings-ovs-bridge.html @@ -8,7 +8,7 @@ - + @@ -90,6 +90,6 @@ +
Generated by GTK-Doc V1.33.0 \ No newline at end of file diff --git a/docs/api/html/settings-ovs-dpdk.html b/docs/api/html/settings-ovs-dpdk.html index 00c5882..a40d5fd 100644 --- a/docs/api/html/settings-ovs-dpdk.html +++ b/docs/api/html/settings-ovs-dpdk.html @@ -8,7 +8,7 @@ - + @@ -64,6 +64,6 @@ +
Generated by GTK-Doc V1.33.0 \ No newline at end of file diff --git a/docs/api/html/settings-ovs-external-ids.html b/docs/api/html/settings-ovs-external-ids.html index feaafcb..0ec0c4e 100644 --- a/docs/api/html/settings-ovs-external-ids.html +++ b/docs/api/html/settings-ovs-external-ids.html @@ -8,7 +8,7 @@ - + @@ -64,6 +64,6 @@ +
Generated by GTK-Doc V1.33.0 \ No newline at end of file diff --git a/docs/api/html/settings-ovs-interface.html b/docs/api/html/settings-ovs-interface.html index 8c842ab..71aff77 100644 --- a/docs/api/html/settings-ovs-interface.html +++ b/docs/api/html/settings-ovs-interface.html @@ -8,7 +8,7 @@ - + @@ -64,6 +64,6 @@ +
Generated by GTK-Doc V1.33.0 \ No newline at end of file diff --git a/docs/api/html/settings-ovs-patch.html b/docs/api/html/settings-ovs-patch.html index 3dddfa9..9fb817b 100644 --- a/docs/api/html/settings-ovs-patch.html +++ b/docs/api/html/settings-ovs-patch.html @@ -8,7 +8,7 @@ - + @@ -64,6 +64,6 @@ +
Generated by GTK-Doc V1.33.0 \ No newline at end of file diff --git a/docs/api/html/settings-ovs-port.html b/docs/api/html/settings-ovs-port.html index 7eac441..56f4583 100644 --- a/docs/api/html/settings-ovs-port.html +++ b/docs/api/html/settings-ovs-port.html @@ -8,7 +8,7 @@ - + @@ -96,6 +96,6 @@ +
Generated by GTK-Doc V1.33.0 \ No newline at end of file diff --git a/docs/api/html/settings-ppp.html b/docs/api/html/settings-ppp.html index 30b845b..faff1d8 100644 --- a/docs/api/html/settings-ppp.html +++ b/docs/api/html/settings-ppp.html @@ -8,7 +8,7 @@ - + @@ -168,6 +168,6 @@ +
Generated by GTK-Doc V1.33.0 \ No newline at end of file diff --git a/docs/api/html/settings-pppoe.html b/docs/api/html/settings-pppoe.html index f8ba530..339e0aa 100644 --- a/docs/api/html/settings-pppoe.html +++ b/docs/api/html/settings-pppoe.html @@ -8,7 +8,7 @@ - + @@ -90,6 +90,6 @@ +
Generated by GTK-Doc V1.33.0 \ No newline at end of file diff --git a/docs/api/html/settings-proxy.html b/docs/api/html/settings-proxy.html index cb591d1..3cfe06f 100644 --- a/docs/api/html/settings-proxy.html +++ b/docs/api/html/settings-proxy.html @@ -8,7 +8,7 @@ - + @@ -84,6 +84,6 @@ +
Generated by GTK-Doc V1.33.0 \ No newline at end of file diff --git a/docs/api/html/settings-serial.html b/docs/api/html/settings-serial.html index 50f3877..5caaa48 100644 --- a/docs/api/html/settings-serial.html +++ b/docs/api/html/settings-serial.html @@ -8,7 +8,7 @@ - + @@ -90,6 +90,6 @@ +
Generated by GTK-Doc V1.33.0 \ No newline at end of file diff --git a/docs/api/html/settings-sriov.html b/docs/api/html/settings-sriov.html index 34dc54b..0317c77 100644 --- a/docs/api/html/settings-sriov.html +++ b/docs/api/html/settings-sriov.html @@ -8,7 +8,7 @@ - + @@ -78,6 +78,6 @@ +
Generated by GTK-Doc V1.33.0 \ No newline at end of file diff --git a/docs/api/html/settings-tc.html b/docs/api/html/settings-tc.html index e57f62a..1edc8ed 100644 --- a/docs/api/html/settings-tc.html +++ b/docs/api/html/settings-tc.html @@ -8,7 +8,7 @@ - + @@ -72,6 +72,6 @@ +
Generated by GTK-Doc V1.33.0 \ No newline at end of file diff --git a/docs/api/html/settings-team-port.html b/docs/api/html/settings-team-port.html index 0bc1023..e493d42 100644 --- a/docs/api/html/settings-team-port.html +++ b/docs/api/html/settings-team-port.html @@ -8,7 +8,7 @@ - + @@ -102,6 +102,6 @@ +
Generated by GTK-Doc V1.33.0 \ No newline at end of file diff --git a/docs/api/html/settings-team.html b/docs/api/html/settings-team.html index 3b9e94b..c4ae06b 100644 --- a/docs/api/html/settings-team.html +++ b/docs/api/html/settings-team.html @@ -8,7 +8,7 @@ - + @@ -162,6 +162,6 @@ +
Generated by GTK-Doc V1.33.0 \ No newline at end of file diff --git a/docs/api/html/settings-tun.html b/docs/api/html/settings-tun.html index 1b4cfd6..20af929 100644 --- a/docs/api/html/settings-tun.html +++ b/docs/api/html/settings-tun.html @@ -8,7 +8,7 @@ - + @@ -96,6 +96,6 @@ +
Generated by GTK-Doc V1.33.0 \ No newline at end of file diff --git a/docs/api/html/settings-user.html b/docs/api/html/settings-user.html index 39d7be2..a00fac4 100644 --- a/docs/api/html/settings-user.html +++ b/docs/api/html/settings-user.html @@ -8,7 +8,7 @@ - + @@ -64,6 +64,6 @@ +
Generated by GTK-Doc V1.33.0 \ No newline at end of file diff --git a/docs/api/html/settings-veth.html b/docs/api/html/settings-veth.html index f0f7c5a..761b4f7 100644 --- a/docs/api/html/settings-veth.html +++ b/docs/api/html/settings-veth.html @@ -8,7 +8,7 @@ - + @@ -64,6 +64,6 @@ +
Generated by GTK-Doc V1.33.0 \ No newline at end of file diff --git a/docs/api/html/settings-vlan.html b/docs/api/html/settings-vlan.html index 82296a4..33787e8 100644 --- a/docs/api/html/settings-vlan.html +++ b/docs/api/html/settings-vlan.html @@ -8,7 +8,7 @@ - + @@ -96,6 +96,6 @@ +
Generated by GTK-Doc V1.33.0 \ No newline at end of file diff --git a/docs/api/html/settings-vpn.html b/docs/api/html/settings-vpn.html index bad0a84..db05951 100644 --- a/docs/api/html/settings-vpn.html +++ b/docs/api/html/settings-vpn.html @@ -8,7 +8,7 @@ - + @@ -96,6 +96,6 @@ +
Generated by GTK-Doc V1.33.0 \ No newline at end of file diff --git a/docs/api/html/settings-vrf.html b/docs/api/html/settings-vrf.html index f909e88..839bf8c 100644 --- a/docs/api/html/settings-vrf.html +++ b/docs/api/html/settings-vrf.html @@ -8,7 +8,7 @@ - + @@ -64,6 +64,6 @@ +
Generated by GTK-Doc V1.33.0 \ No newline at end of file diff --git a/docs/api/html/settings-vxlan.html b/docs/api/html/settings-vxlan.html index 9195620..6da8eb5 100644 --- a/docs/api/html/settings-vxlan.html +++ b/docs/api/html/settings-vxlan.html @@ -8,7 +8,7 @@ - + @@ -156,6 +156,6 @@ +
Generated by GTK-Doc V1.33.0 \ No newline at end of file diff --git a/docs/api/html/settings-wifi-p2p.html b/docs/api/html/settings-wifi-p2p.html index e1a0578..dc9c259 100644 --- a/docs/api/html/settings-wifi-p2p.html +++ b/docs/api/html/settings-wifi-p2p.html @@ -8,7 +8,7 @@ - + @@ -78,6 +78,6 @@ +
Generated by GTK-Doc V1.33.0 \ No newline at end of file diff --git a/docs/api/html/settings-wimax.html b/docs/api/html/settings-wimax.html index 993ca96..ee0f111 100644 --- a/docs/api/html/settings-wimax.html +++ b/docs/api/html/settings-wimax.html @@ -8,7 +8,7 @@ - + @@ -72,6 +72,6 @@ +
Generated by GTK-Doc V1.33.0 \ No newline at end of file diff --git a/docs/api/html/settings-wireguard.html b/docs/api/html/settings-wireguard.html index 01f20f6..e632ffd 100644 --- a/docs/api/html/settings-wireguard.html +++ b/docs/api/html/settings-wireguard.html @@ -8,7 +8,7 @@ - + @@ -114,6 +114,6 @@ +
Generated by GTK-Doc V1.33.0 \ No newline at end of file diff --git a/docs/api/html/settings-wpan.html b/docs/api/html/settings-wpan.html index 6475e04..6fdbaa2 100644 --- a/docs/api/html/settings-wpan.html +++ b/docs/api/html/settings-wpan.html @@ -8,7 +8,7 @@ - + @@ -90,6 +90,6 @@ +
Generated by GTK-Doc V1.33.0 \ No newline at end of file diff --git a/docs/api/html/spec.html b/docs/api/html/spec.html index 05d19ae..4138e61 100644 --- a/docs/api/html/spec.html +++ b/docs/api/html/spec.html @@ -8,7 +8,7 @@ - + @@ -190,6 +190,6 @@

+
Generated by GTK-Doc V1.33.0 \ No newline at end of file diff --git a/docs/api/html/vpn-plugins.html b/docs/api/html/vpn-plugins.html index f38251c..76cfc09 100644 --- a/docs/api/html/vpn-plugins.html +++ b/docs/api/html/vpn-plugins.html @@ -8,7 +8,7 @@ - + @@ -37,6 +37,6 @@ +
Generated by GTK-Doc V1.33.0 \ No newline at end of file diff --git a/docs/api/settings-spec.xml b/docs/api/settings-spec.xml index 5e939da..39a8d3d 100644 --- a/docs/api/settings-spec.xml +++ b/docs/api/settings-spec.xml @@ -32,9 +32,9 @@ Properties Key NameValue TypeDefault ValueValue Descriptionmac-addressmac-addressbyte arrayIf 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).mtumtuuint320If non-zero, only transmit packets of the specified size or smaller, breaking larger packets up into multiple frames.p-keyp-keyint32-1The 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.parentparentstringThe 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".transport-modetransport-modestringThe IP-over-InfiniBand transport mode. Either "datagram" or "connected".
ipv4IPv4 Settings Properties - Key NameValue TypeDefault ValueValue Descriptionaddress-dataaddress-dataarray of vardictArray of IPv4 addresses. Each address dictionary contains at least 'address' and 'prefix' entries, containing the IP address as a string, and the prefix length as a uint32. Additional attributes may also exist on some addresses.addressesaddressesarray of array of uint32Deprecated in favor of the 'address-data' and 'gateway' properties, but this can be used for backward-compatibility with older daemons. Note that if you send this property the daemon will ignore 'address-data' and 'gateway'. Array of IPv4 address structures. Each IPv4 address structure is composed of 3 32-bit values; the first being the IPv4 address (network byte order), the second the prefix (1 - 32), and last the IPv4 gateway (network byte order). The gateway may be left as 0 if no gateway exists for that subnet.dad-timeoutdad-timeoutint32-1Timeout 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.dhcp-client-iddhcp-client-idstringA 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.dhcp-fqdndhcp-fqdnstringIf 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.dhcp-hostnamedhcp-hostnamestringIf 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.dhcp-hostname-flagsdhcp-hostname-flagsuint320Flags 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.dhcp-iaiddhcp-iaidstringA 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.dhcp-reject-serversdhcp-reject-serversarray of stringArray 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.dhcp-send-hostnamedhcp-send-hostnamebooleanTRUEIf 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.dhcp-timeoutdhcp-timeoutint320A 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.dhcp-vendor-class-identifierdhcp-vendor-class-identifierstringThe 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.28dnsdnsarray of uint32Array of IP addresses of DNS servers (as network-byte-order integers)dns-optionsdns-optionsarray of stringArray 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.dns-prioritydns-priorityint320DNS 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.dns-searchdns-searcharray of stringArray 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.gatewaygatewaystringThe 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.ignore-auto-dnsignore-auto-dnsbooleanFALSEWhen "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.ignore-auto-routesignore-auto-routesbooleanFALSEWhen "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.may-failmay-failbooleanTRUEIf 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.methodmethodstringIP 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.never-defaultnever-defaultbooleanFALSEIf TRUE, this connection will never be the default connection for this IP type, meaning it will never be assigned the default route by NetworkManager.route-dataroute-dataarray of vardictArray of IPv4 routes. Each route dictionary contains at least 'dest' and 'prefix' entries, containing the destination IP address as a string, and the prefix length as a uint32. Most routes will also have a 'next-hop' entry, containing the next hop IP address as a string. If the route has a 'metric' entry (containing a uint32), that will be used as the metric for the route (otherwise NM will pick a default value appropriate to the device). Additional attributes may also exist on some routes.route-metricroute-metricint64-1The 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.route-tableroute-tableuint320Enable 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.routesroutesarray of array of uint32Deprecated in favor of the 'route-data' property, but this can be used for backward-compatibility with older daemons. Note that if you send this property the daemon will ignore 'route-data'. Array of IPv4 route structures. Each IPv4 route structure is composed of 4 32-bit values; the first being the destination IPv4 network or address (network byte order), the second the destination network or address prefix (1 - 32), the third being the next-hop (network byte order) if any, and the fourth being the route metric. If the metric is 0, NM will choose an appropriate default metric for the device. (There is no way to explicitly specify an actual metric of 0 with this property.)
ipv6IPv6 Settings + Key NameValue TypeDefault ValueValue Descriptionaddress-dataaddress-dataarray of vardictArray of IPv4 addresses. Each address dictionary contains at least 'address' and 'prefix' entries, containing the IP address as a string, and the prefix length as a uint32. Additional attributes may also exist on some addresses.addressesaddressesarray of array of uint32Deprecated in favor of the 'address-data' and 'gateway' properties, but this can be used for backward-compatibility with older daemons. Note that if you send this property the daemon will ignore 'address-data' and 'gateway'. Array of IPv4 address structures. Each IPv4 address structure is composed of 3 32-bit values; the first being the IPv4 address (network byte order), the second the prefix (1 - 32), and last the IPv4 gateway (network byte order). The gateway may be left as 0 if no gateway exists for that subnet.dad-timeoutdad-timeoutint32-1Timeout 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.dhcp-client-iddhcp-client-idstringA 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.dhcp-fqdndhcp-fqdnstringIf 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.dhcp-hostnamedhcp-hostnamestringIf 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.dhcp-hostname-flagsdhcp-hostname-flagsuint320Flags 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.dhcp-iaiddhcp-iaidstringA 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.dhcp-reject-serversdhcp-reject-serversarray of stringArray 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.dhcp-send-hostnamedhcp-send-hostnamebooleanTRUEIf 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.dhcp-timeoutdhcp-timeoutint320A 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.dhcp-vendor-class-identifierdhcp-vendor-class-identifierstringThe 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.28dnsdnsarray of uint32Array of IP addresses of DNS servers (as network-byte-order integers)dns-optionsdns-optionsarray of stringArray 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.dns-prioritydns-priorityint320DNS 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.dns-searchdns-searcharray of stringArray 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.gatewaygatewaystringThe 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.ignore-auto-dnsignore-auto-dnsbooleanFALSEWhen "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.ignore-auto-routesignore-auto-routesbooleanFALSEWhen "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.may-failmay-failbooleanTRUEIf 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.methodmethodstringIP 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.never-defaultnever-defaultbooleanFALSEIf TRUE, this connection will never be the default connection for this IP type, meaning it will never be assigned the default route by NetworkManager.route-dataroute-dataarray of vardictArray of IPv4 routes. Each route dictionary contains at least 'dest' and 'prefix' entries, containing the destination IP address as a string, and the prefix length as a uint32. Most routes will also have a 'next-hop' entry, containing the next hop IP address as a string. If the route has a 'metric' entry (containing a uint32), that will be used as the metric for the route (otherwise NM will pick a default value appropriate to the device). Additional attributes may also exist on some routes.route-metricroute-metricint64-1The 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.route-tableroute-tableuint320Enable 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.routesroutesarray of array of uint32Deprecated in favor of the 'route-data' property, but this can be used for backward-compatibility with older daemons. Note that if you send this property the daemon will ignore 'route-data'. Array of IPv4 route structures. Each IPv4 route structure is composed of 4 32-bit values; the first being the destination IPv4 network or address (network byte order), the second the destination network or address prefix (1 - 32), the third being the next-hop (network byte order) if any, and the fourth being the route metric. If the metric is 0, NM will choose an appropriate default metric for the device. (There is no way to explicitly specify an actual metric of 0 with this property.)
ipv6IPv6 Settings Properties - Key NameValue TypeDefault ValueValue Descriptionaddr-gen-modeaddr-gen-modeint321Configure method for creating the address for use with RFC4862 IPv6 Stateless Address Autoconfiguration. The permitted values are: NM_SETTING_IP6_CONFIG_ADDR_GEN_MODE_EUI64 (0) or NM_SETTING_IP6_CONFIG_ADDR_GEN_MODE_STABLE_PRIVACY (1). If the property is set to EUI64, the addresses will be generated using the interface tokens derived from hardware address. This makes the host part of the address to stay constant, making it possible to track host's presence when it changes networks. The address changes when the interface hardware is replaced. The value of stable-privacy enables use of cryptographically secure hash of a secret host-specific key along with the connection's stable-id and the network address as specified by RFC7217. This makes it impossible to use the address track host's presence, and makes the address stable when the network interface hardware is replaced. On D-Bus, the absence of an addr-gen-mode setting equals enabling stable-privacy. For keyfile plugin, the absence of the setting on disk means EUI64 so that the property doesn't change on upgrade from older versions. Note that this setting is distinct from the Privacy Extensions as configured by "ip6-privacy" property and it does not affect the temporary addresses configured with this option.address-dataaddress-dataarray of vardictArray of IPv6 addresses. Each address dictionary contains at least 'address' and 'prefix' entries, containing the IP address as a string, and the prefix length as a uint32. Additional attributes may also exist on some addresses.addressesaddressesarray of legacy IPv6 address struct (a(ayuay))Deprecated in favor of the 'address-data' and 'gateway' properties, but this can be used for backward-compatibility with older daemons. Note that if you send this property the daemon will ignore 'address-data' and 'gateway'. Array of IPv6 address structures. Each IPv6 address structure is composed of an IPv6 address, a prefix length (1 - 128), and an IPv6 gateway address. The gateway may be zeroed out if no gateway exists for that subnet.dad-timeoutdad-timeoutint32-1Timeout 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.dhcp-duiddhcp-duidstringA string containing the DHCPv6 Unique Identifier (DUID) used by the dhcp client to identify itself to DHCPv6 servers (RFC 3315). The DUID is carried in the Client Identifier option. If the property is a hex string ('aa:bb:cc') it is interpreted as a binary DUID and filled as an opaque value in the Client Identifier option. The special value "lease" will retrieve the DUID previously used from the lease file belonging to the connection. If no DUID is found and "dhclient" is the configured dhcp client, the DUID is searched in the system-wide dhclient lease file. If still no DUID is found, or another dhcp client is used, a global and permanent DUID-UUID (RFC 6355) will be generated based on the machine-id. The special values "llt" and "ll" will generate a DUID of type LLT or LL (see RFC 3315) based on the current MAC address of the device. In order to try providing a stable DUID-LLT, the time field will contain a constant timestamp that is used globally (for all profiles) and persisted to disk. The special values "stable-llt", "stable-ll" and "stable-uuid" will generate a DUID of the corresponding type, derived from the connection's stable-id and a per-host unique key. You may want to include the "${DEVICE}" or "${MAC}" specifier in the stable-id, in case this profile gets activated on multiple devices. So, the link-layer address of "stable-ll" and "stable-llt" will be a generated address derived from the stable id. The DUID-LLT time value in the "stable-llt" option will be picked among a static timespan of three years (the upper bound of the interval is the same constant timestamp used in "llt"). When the property is unset, the global value provided for "ipv6.dhcp-duid" is used. If no global value is provided, the default "lease" value is assumed.dhcp-hostnamedhcp-hostnamestringIf 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.dhcp-hostname-flagsdhcp-hostname-flagsuint320Flags 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.dhcp-iaiddhcp-iaidstringA 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.dhcp-reject-serversdhcp-reject-serversarray of stringArray 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.dhcp-send-hostnamedhcp-send-hostnamebooleanTRUEIf 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.dhcp-timeoutdhcp-timeoutint320A 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.dnsdnsarray of byte arrayArray of IP addresses of DNS servers (in network byte order)dns-optionsdns-optionsarray of stringArray 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.dns-prioritydns-priorityint320DNS 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.dns-searchdns-searcharray of stringArray 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.gatewaygatewaystringThe 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.ignore-auto-dnsignore-auto-dnsbooleanFALSEWhen "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.ignore-auto-routesignore-auto-routesbooleanFALSEWhen "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.ip6-privacyip6-privacyNMSettingIP6ConfigPrivacy (int32)Configure IPv6 Privacy Extensions for SLAAC, described in RFC4941. If enabled, it makes the kernel generate a temporary IPv6 address in addition to the public one generated from MAC address via modified EUI-64. This enhances privacy, but could cause problems in some applications, on the other hand. The permitted values are: -1: unknown, 0: disabled, 1: enabled (prefer public address), 2: enabled (prefer temporary addresses). Having a per-connection setting set to "-1" (unknown) means fallback to global configuration "ipv6.ip6-privacy". If also global configuration is unspecified or set to "-1", fallback to read "/proc/sys/net/ipv6/conf/default/use_tempaddr". Note that this setting is distinct from the Stable Privacy addresses that can be enabled with the "addr-gen-mode" property's "stable-privacy" setting as another way of avoiding host tracking with IPv6 addresses.may-failmay-failbooleanTRUEIf 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.methodmethodstringIP 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.never-defaultnever-defaultbooleanFALSEIf TRUE, this connection will never be the default connection for this IP type, meaning it will never be assigned the default route by NetworkManager.ra-timeoutra-timeoutint320A timeout for waiting Router Advertisements in seconds. If zero (the default), a globally configured default is used. If still unspecified, the timeout depends on the sysctl settings of the device. Set to 2147483647 (MAXINT32) for infinity.route-dataroute-dataarray of vardictArray of IPv6 routes. Each route dictionary contains at least 'dest' and 'prefix' entries, containing the destination IP address as a string, and the prefix length as a uint32. Most routes will also have a 'next-hop' entry, containing the next hop IP address as a string. If the route has a 'metric' entry (containing a uint32), that will be used as the metric for the route (otherwise NM will pick a default value appropriate to the device). Additional attributes may also exist on some routes.route-metricroute-metricint64-1The 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.route-tableroute-tableuint320Enable 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.routesroutesarray of legacy IPv6 route struct (a(ayuayu))Deprecated in favor of the 'route-data' property, but this can be used for backward-compatibility with older daemons. Note that if you send this property the daemon will ignore 'route-data'. Array of IPv6 route structures. Each IPv6 route structure is composed of an IPv6 address, a prefix length (1 - 128), an IPv6 next hop address (which may be zeroed out if there is no next hop), and a metric. If the metric is 0, NM will choose an appropriate default metric for the device.tokentokenstringConfigure the token for draft-chown-6man-tokenised-ipv6-identifiers-02 IPv6 tokenized interface identifiers. Useful with eui64 addr-gen-mode.
ip-tunnelIP Tunneling Settings + Key NameValue TypeDefault ValueValue Descriptionaddr-gen-modeaddr-gen-modeint321Configure method for creating the address for use with RFC4862 IPv6 Stateless Address Autoconfiguration. The permitted values are: NM_SETTING_IP6_CONFIG_ADDR_GEN_MODE_EUI64 (0) or NM_SETTING_IP6_CONFIG_ADDR_GEN_MODE_STABLE_PRIVACY (1). If the property is set to EUI64, the addresses will be generated using the interface tokens derived from hardware address. This makes the host part of the address to stay constant, making it possible to track host's presence when it changes networks. The address changes when the interface hardware is replaced. The value of stable-privacy enables use of cryptographically secure hash of a secret host-specific key along with the connection's stable-id and the network address as specified by RFC7217. This makes it impossible to use the address track host's presence, and makes the address stable when the network interface hardware is replaced. On D-Bus, the absence of an addr-gen-mode setting equals enabling stable-privacy. For keyfile plugin, the absence of the setting on disk means EUI64 so that the property doesn't change on upgrade from older versions. Note that this setting is distinct from the Privacy Extensions as configured by "ip6-privacy" property and it does not affect the temporary addresses configured with this option.address-dataaddress-dataarray of vardictArray of IPv6 addresses. Each address dictionary contains at least 'address' and 'prefix' entries, containing the IP address as a string, and the prefix length as a uint32. Additional attributes may also exist on some addresses.addressesaddressesarray of legacy IPv6 address struct (a(ayuay))Deprecated in favor of the 'address-data' and 'gateway' properties, but this can be used for backward-compatibility with older daemons. Note that if you send this property the daemon will ignore 'address-data' and 'gateway'. Array of IPv6 address structures. Each IPv6 address structure is composed of an IPv6 address, a prefix length (1 - 128), and an IPv6 gateway address. The gateway may be zeroed out if no gateway exists for that subnet.dad-timeoutdad-timeoutint32-1Timeout 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.dhcp-duiddhcp-duidstringA string containing the DHCPv6 Unique Identifier (DUID) used by the dhcp client to identify itself to DHCPv6 servers (RFC 3315). The DUID is carried in the Client Identifier option. If the property is a hex string ('aa:bb:cc') it is interpreted as a binary DUID and filled as an opaque value in the Client Identifier option. The special value "lease" will retrieve the DUID previously used from the lease file belonging to the connection. If no DUID is found and "dhclient" is the configured dhcp client, the DUID is searched in the system-wide dhclient lease file. If still no DUID is found, or another dhcp client is used, a global and permanent DUID-UUID (RFC 6355) will be generated based on the machine-id. The special values "llt" and "ll" will generate a DUID of type LLT or LL (see RFC 3315) based on the current MAC address of the device. In order to try providing a stable DUID-LLT, the time field will contain a constant timestamp that is used globally (for all profiles) and persisted to disk. The special values "stable-llt", "stable-ll" and "stable-uuid" will generate a DUID of the corresponding type, derived from the connection's stable-id and a per-host unique key. You may want to include the "${DEVICE}" or "${MAC}" specifier in the stable-id, in case this profile gets activated on multiple devices. So, the link-layer address of "stable-ll" and "stable-llt" will be a generated address derived from the stable id. The DUID-LLT time value in the "stable-llt" option will be picked among a static timespan of three years (the upper bound of the interval is the same constant timestamp used in "llt"). When the property is unset, the global value provided for "ipv6.dhcp-duid" is used. If no global value is provided, the default "lease" value is assumed.dhcp-hostnamedhcp-hostnamestringIf 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.dhcp-hostname-flagsdhcp-hostname-flagsuint320Flags 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.dhcp-iaiddhcp-iaidstringA 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.dhcp-reject-serversdhcp-reject-serversarray of stringArray 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.dhcp-send-hostnamedhcp-send-hostnamebooleanTRUEIf 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.dhcp-timeoutdhcp-timeoutint320A 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.dnsdnsarray of byte arrayArray of IP addresses of DNS servers (in network byte order)dns-optionsdns-optionsarray of stringArray 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.dns-prioritydns-priorityint320DNS 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.dns-searchdns-searcharray of stringArray 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.gatewaygatewaystringThe 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.ignore-auto-dnsignore-auto-dnsbooleanFALSEWhen "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.ignore-auto-routesignore-auto-routesbooleanFALSEWhen "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.ip6-privacyip6-privacyNMSettingIP6ConfigPrivacy (int32)Configure IPv6 Privacy Extensions for SLAAC, described in RFC4941. If enabled, it makes the kernel generate a temporary IPv6 address in addition to the public one generated from MAC address via modified EUI-64. This enhances privacy, but could cause problems in some applications, on the other hand. The permitted values are: -1: unknown, 0: disabled, 1: enabled (prefer public address), 2: enabled (prefer temporary addresses). Having a per-connection setting set to "-1" (unknown) means fallback to global configuration "ipv6.ip6-privacy". If also global configuration is unspecified or set to "-1", fallback to read "/proc/sys/net/ipv6/conf/default/use_tempaddr". Note that this setting is distinct from the Stable Privacy addresses that can be enabled with the "addr-gen-mode" property's "stable-privacy" setting as another way of avoiding host tracking with IPv6 addresses.may-failmay-failbooleanTRUEIf 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.methodmethodstringIP 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.never-defaultnever-defaultbooleanFALSEIf TRUE, this connection will never be the default connection for this IP type, meaning it will never be assigned the default route by NetworkManager.ra-timeoutra-timeoutint320A timeout for waiting Router Advertisements in seconds. If zero (the default), a globally configured default is used. If still unspecified, the timeout depends on the sysctl settings of the device. Set to 2147483647 (MAXINT32) for infinity.route-dataroute-dataarray of vardictArray of IPv6 routes. Each route dictionary contains at least 'dest' and 'prefix' entries, containing the destination IP address as a string, and the prefix length as a uint32. Most routes will also have a 'next-hop' entry, containing the next hop IP address as a string. If the route has a 'metric' entry (containing a uint32), that will be used as the metric for the route (otherwise NM will pick a default value appropriate to the device). Additional attributes may also exist on some routes.route-metricroute-metricint64-1The 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.route-tableroute-tableuint320Enable 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.routesroutesarray of legacy IPv6 route struct (a(ayuayu))Deprecated in favor of the 'route-data' property, but this can be used for backward-compatibility with older daemons. Note that if you send this property the daemon will ignore 'route-data'. Array of IPv6 route structures. Each IPv6 route structure is composed of an IPv6 address, a prefix length (1 - 128), an IPv6 next hop address (which may be zeroed out if there is no next hop), and a metric. If the metric is 0, NM will choose an appropriate default metric for the device.tokentokenstringConfigure the token for draft-chown-6man-tokenised-ipv6-identifiers-02 IPv6 tokenized interface identifiers. Useful with eui64 addr-gen-mode.
ip-tunnelIP Tunneling Settings Properties Key NameValue TypeDefault ValueValue Descriptionencapsulation-limitencapsulation-limituint320How many additional levels of encapsulation are permitted to be prepended to packets. This property applies only to IPv6 tunnels.flagsflagsuint320Tunnel flags. Currently, the following values are supported: NM_IP_TUNNEL_FLAG_IP6_IGN_ENCAP_LIMIT (0x1), NM_IP_TUNNEL_FLAG_IP6_USE_ORIG_TCLASS (0x2), NM_IP_TUNNEL_FLAG_IP6_USE_ORIG_FLOWLABEL (0x4), NM_IP_TUNNEL_FLAG_IP6_MIP6_DEV (0x8), NM_IP_TUNNEL_FLAG_IP6_RCV_DSCP_COPY (0x10), NM_IP_TUNNEL_FLAG_IP6_USE_ORIG_FWMARK (0x20). They are valid only for IPv6 tunnels.flow-labelflow-labeluint320The flow label to assign to tunnel packets. This property applies only to IPv6 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, for example NM_IP_TUNNEL_MODE_IPIP (1) or NM_IP_TUNNEL_MODE_GRE (2).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 diff --git a/docs/api/version.xml b/docs/api/version.xml index 8edc27b..799f8f9 100644 --- a/docs/api/version.xml +++ b/docs/api/version.xml @@ -1 +1 @@ -1.29.9 +1.29.10 diff --git a/docs/libnm/Makefile.in b/docs/libnm/Makefile.in index ff0504a..1251a72 100644 --- a/docs/libnm/Makefile.in +++ b/docs/libnm/Makefile.in @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.16.2 from Makefile.am. +# Makefile.in generated by automake 1.16.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2020 Free Software Foundation, Inc. +# Copyright (C) 1994-2018 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -575,7 +575,6 @@ DOC_STAMPS = setup-build.stamp scan-build.stamp sgml-build.stamp \ sgml.stamp html.stamp pdf.stamp SCANOBJ_FILES = \ - $(DOC_MODULE).actions \ $(DOC_MODULE).args \ $(DOC_MODULE).hierarchy \ $(DOC_MODULE).interfaces \ diff --git a/docs/libnm/html/NMAccessPoint.html b/docs/libnm/html/NMAccessPoint.html index e12e1c6..e587fdf 100644 --- a/docs/libnm/html/NMAccessPoint.html +++ b/docs/libnm/html/NMAccessPoint.html @@ -8,7 +8,7 @@ <link rel="up" href="ch04.html" title="Device and Runtime Configuration API Reference"> <link rel="prev" href="NMVpnConnection.html" title="NMVpnConnection"> <link rel="next" href="NMWifiP2PPeer.html" title="NMWifiP2PPeer"> -<meta name="generator" content="GTK-Doc V1.33.1 (XML mode)"> +<meta name="generator" content="GTK-Doc V1.33.0 (XML mode)"> <link rel="stylesheet" href="style.css" type="text/css"> </head> <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> @@ -300,7 +300,7 @@ nm_access_point_get_ssid (<em class="parameter"><code><a class="link" href="NMAc <a name="nm-access-point-get-ssid.returns"></a><h4>Returns</h4> <p>the <a href="https://developer.gnome.org/glib/unstable/glib-Byte-Arrays.html#GBytes"><span class="type">GBytes</span></a> containing the SSID, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the SSID is unknown. </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> +<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> </div> <hr> @@ -494,7 +494,7 @@ with this function.</p> </tr> <tr> <td class="parameter_name"><p>connections</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 +<td class="parameter_description"><p>an array of <span class="type">NMConnections</span> 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> @@ -504,13 +504,13 @@ filter. </p></td> <div class="refsect3"> <a name="nm-access-point-filter-connections.returns"></a><h4>Returns</h4> <p>an array of -<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> +<span class="type">NMConnections</span> 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 with bindings. See https://gitlab.gnome.org/GNOME/gobject-introspection/-/issues/305. You can filter the list yourself with <a class="link" href="NMAccessPoint.html#nm-access-point-connection-valid" title="nm_access_point_connection_valid ()"><code class="function">nm_access_point_connection_valid()</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>][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> NMConnection]</span></p> +<p><span class="annotation">[<acronym title="Free data after the code is done."><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> </div> </div> <hr> @@ -625,6 +625,6 @@ against</p></td> </div> </div> <div class="footer"> -<hr>Generated by GTK-Doc V1.33.1</div> +<hr>Generated by GTK-Doc V1.33.0</div> </body> </html> \ No newline at end of file diff --git a/docs/libnm/html/NMActiveConnection.html b/docs/libnm/html/NMActiveConnection.html index b385dc6..4bbd147 100644 --- a/docs/libnm/html/NMActiveConnection.html +++ b/docs/libnm/html/NMActiveConnection.html @@ -8,7 +8,7 @@ <link rel="up" href="ch04.html" title="Device and Runtime Configuration API Reference"> <link rel="prev" href="NMDeviceWpan.html" title="NMDeviceWpan"> <link rel="next" href="NMVpnConnection.html" title="NMVpnConnection"> -<meta name="generator" content="GTK-Doc V1.33.1 (XML mode)"> +<meta name="generator" content="GTK-Doc V1.33.0 (XML mode)"> <link rel="stylesheet" href="style.css" type="text/css"> </head> <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> @@ -278,7 +278,7 @@ nm_active_connection_get_connection (<em class="parameter"><code><a class="link" <a name="nm-active-connection-get-connection.returns"></a><h4>Returns</h4> <p>the <a class="link" href="NMRemoteConnection.html" title="NMRemoteConnection"><span class="type">NMRemoteConnection</span></a> which this <a class="link" href="NMActiveConnection.html" title="NMActiveConnection"><span class="type">NMActiveConnection</span></a> is an active instance of. </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> +<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> </div> <hr> @@ -529,7 +529,7 @@ nm_active_connection_get_master (<em class="parameter"><code><a class="link" hre <div class="refsect3"> <a name="nm-active-connection-get-master.returns"></a><h4>Returns</h4> <p>the master <a class="link" href="NMDevice.html" title="NMDevice"><span class="type">NMDevice</span></a> of the <a class="link" href="NMActiveConnection.html" title="NMActiveConnection"><span class="type">NMActiveConnection</span></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> +<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> </div> <hr> @@ -584,7 +584,7 @@ nm_active_connection_get_ip4_config (<em class="parameter"><code><a class="link" <a name="nm-active-connection-get-ip4-config.returns"></a><h4>Returns</h4> <p>the IPv4 <a class="link" href="NMIPConfig.html" title="NMIPConfig"><span class="type">NMIPConfig</span></a>, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the connection is not in the <a class="link" href="libnm-nm-dbus-interface.html#NM-ACTIVE-CONNECTION-STATE-ACTIVATED:CAPS"><code class="literal">NM_ACTIVE_CONNECTION_STATE_ACTIVATED</code></a> state. </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> +<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> </div> <hr> @@ -614,7 +614,7 @@ nm_active_connection_get_dhcp4_config (<em class="parameter"><code><a class="lin <p>the IPv4 <a class="link" href="NMDhcpConfig.html" title="NMDhcpConfig"><span class="type">NMDhcpConfig</span></a>, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the connection does not use DHCP, or is not in the <a class="link" href="libnm-nm-dbus-interface.html#NM-ACTIVE-CONNECTION-STATE-ACTIVATED:CAPS"><code class="literal">NM_ACTIVE_CONNECTION_STATE_ACTIVATED</code></a> state. </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> +<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> </div> <hr> @@ -669,7 +669,7 @@ nm_active_connection_get_ip6_config (<em class="parameter"><code><a class="link" <a name="nm-active-connection-get-ip6-config.returns"></a><h4>Returns</h4> <p>the IPv6 <a class="link" href="NMIPConfig.html" title="NMIPConfig"><span class="type">NMIPConfig</span></a>, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the connection is not in the <a class="link" href="libnm-nm-dbus-interface.html#NM-ACTIVE-CONNECTION-STATE-ACTIVATED:CAPS"><code class="literal">NM_ACTIVE_CONNECTION_STATE_ACTIVATED</code></a> state. </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> +<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> </div> <hr> @@ -699,7 +699,7 @@ nm_active_connection_get_dhcp6_config (<em class="parameter"><code><a class="lin <p>the IPv6 <a class="link" href="NMDhcpConfig.html" title="NMDhcpConfig"><span class="type">NMDhcpConfig</span></a>, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the connection does not use DHCPv6, or is not in the <a class="link" href="libnm-nm-dbus-interface.html#NM-ACTIVE-CONNECTION-STATE-ACTIVATED:CAPS"><code class="literal">NM_ACTIVE_CONNECTION_STATE_ACTIVATED</code></a> state. </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> +<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> </div> <hr> @@ -829,6 +829,6 @@ nm_active_connection_get_vpn (<em class="parameter"><code><a class="link" href=" </div> </div> <div class="footer"> -<hr>Generated by GTK-Doc V1.33.1</div> +<hr>Generated by GTK-Doc V1.33.0</div> </body> </html> \ No newline at end of file diff --git a/docs/libnm/html/NMCheckpoint.html b/docs/libnm/html/NMCheckpoint.html index 87f2a9c..c9283c0 100644 --- a/docs/libnm/html/NMCheckpoint.html +++ b/docs/libnm/html/NMCheckpoint.html @@ -8,7 +8,7 @@ <link rel="up" href="ch04.html" title="Device and Runtime Configuration API Reference"> <link rel="prev" href="NMDhcpConfig.html" title="NMDhcpConfig"> <link rel="next" href="ch05.html" title="Utility API Reference"> -<meta name="generator" content="GTK-Doc V1.33.1 (XML mode)"> +<meta name="generator" content="GTK-Doc V1.33.0 (XML mode)"> <link rel="stylesheet" href="style.css" type="text/css"> </head> <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> @@ -199,6 +199,6 @@ nm_checkpoint_get_rollback_timeout (<em class="parameter"><code><a class="link" </div> </div> <div class="footer"> -<hr>Generated by GTK-Doc V1.33.1</div> +<hr>Generated by GTK-Doc V1.33.0</div> </body> </html> \ No newline at end of file diff --git a/docs/libnm/html/NMClient.html b/docs/libnm/html/NMClient.html index 7e7c131..6338076 100644 --- a/docs/libnm/html/NMClient.html +++ b/docs/libnm/html/NMClient.html @@ -8,7 +8,7 @@ <link rel="up" href="ch02.html" title="Client Object API Reference"> <link rel="prev" href="ch02.html" title="Client Object API Reference"> <link rel="next" href="NMSecretAgentOld.html" title="NMSecretAgentOld"> -<meta name="generator" content="GTK-Doc V1.33.1 (XML mode)"> +<meta name="generator" content="GTK-Doc V1.33.0 (XML mode)"> <link rel="stylesheet" href="style.css" type="text/css"> </head> <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> @@ -1068,7 +1068,7 @@ nm_dns_entry_get_interface (<em class="parameter"><code><a class="link" href="NM <div class="refsect3"> <a name="nm-dns-entry-get-interface.returns"></a><h4>Returns</h4> <p>the interface name. </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> +<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> <p class="since">Since: 1.6</p> </div> @@ -1096,7 +1096,7 @@ nm_dns_entry_get_nameservers (<em class="parameter"><code><a class="link" href=" <div class="refsect3"> <a name="nm-dns-entry-get-nameservers.returns"></a><h4>Returns</h4> <p>the list of name servers. </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> +<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> <p class="since">Since: 1.6</p> </div> @@ -1124,7 +1124,7 @@ nm_dns_entry_get_domains (<em class="parameter"><code><a class="link" href="NMCl <div class="refsect3"> <a name="nm-dns-entry-get-domains.returns"></a><h4>Returns</h4> <p>the list of DNS domains. </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> +<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> <p class="since">Since: 1.6</p> </div> @@ -1346,7 +1346,7 @@ automatically initialized during async/sync init.</p> <div class="refsect3"> <a name="nm-client-get-dbus-connection.returns"></a><h4>Returns</h4> <p>the D-Bus connection of the client, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if none is 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> +<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> <p class="since">Since: 1.22</p> </div> @@ -1381,7 +1381,7 @@ the <a class="link" href="NMClient.html#nm-client-get-context-busy-watcher" titl <div class="refsect3"> <a name="nm-client-get-main-context.returns"></a><h4>Returns</h4> <p>the <a href="https://developer.gnome.org/glib/unstable/glib-The-Main-Event-Loop.html#GMainContext"><span class="type">GMainContext</span></a> of the client. </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> +<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> <p class="since">Since: 1.22</p> </div> @@ -1424,7 +1424,7 @@ iterating the main context until the object got unreferenced.</p> <p>Note that after the NMClient instance gets destroyed, the remaining callbacks will be invoked right away. That means, the user won't have to iterate the main context much longer. </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> +<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> <p class="since">Since: 1.22</p> </div> @@ -1451,7 +1451,7 @@ nm_client_get_dbus_name_owner (<em class="parameter"><code><a class="link" href= <div class="refsect3"> <a name="nm-client-get-dbus-name-owner.returns"></a><h4>Returns</h4> <p>the current name owner of the D-Bus service of NetworkManager. </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> +<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> <p class="since">Since: 1.22</p> </div> @@ -1593,7 +1593,7 @@ nm_client_get_object_by_path (<em class="parameter"><code><a class="link" href=" <p>the <a class="link" href="NMObject.html" title="NMObject"><span class="type">NMObject</span></a> instance that is cached under <em class="parameter"><code>dbus_path</code></em> , or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if no such object exists. </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> +<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> <p class="since">Since: 1.24</p> </div> @@ -1686,7 +1686,7 @@ The numeric values correspond to <a class="link" href="libnm-nm-dbus-interface.h The array is terminated by a numeric zero sentinel at position <em class="parameter"><code>length</code></em> . </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>][<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=length]</span></p> +<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>][<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=length]</span></p> </div> <p class="since">Since: 1.24</p> </div> @@ -2128,7 +2128,7 @@ connectivity.</p> <div class="refsect3"> <a name="nm-client-connectivity-check-get-uri.returns"></a><h4>Returns</h4> <p>the connectivity URI in use. </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> +<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> <p class="since">Since: 1.20</p> </div> @@ -2640,7 +2640,7 @@ methods such as <a class="link" href="NMDeviceEthernet.html#nm-device-ethernet-g <p>a <a href="https://developer.gnome.org/glib/unstable/glib-Pointer-Arrays.html#GPtrArray"><span class="type">GPtrArray</span></a> containing all the <span class="type">NMDevices</span>. The returned array is owned by the <a class="link" href="NMClient.html" title="NMClient"><span class="type">NMClient</span></a> object and should not be modified. </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>][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> NMDevice]</span></p> +<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> NMDevice]</span></p> </div> </div> <hr> @@ -2676,7 +2676,7 @@ use device-specific methods such as <a class="link" href="NMDeviceEthernet.html# <p>a <a href="https://developer.gnome.org/glib/unstable/glib-Pointer-Arrays.html#GPtrArray"><span class="type">GPtrArray</span></a> containing all the <span class="type">NMDevices</span>. The returned array is owned by the <a class="link" href="NMClient.html" title="NMClient"><span class="type">NMClient</span></a> object and should not be modified. </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>][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> NMDevice]</span></p> +<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> NMDevice]</span></p> </div> <p class="since">Since: 1.2</p> </div> @@ -2713,7 +2713,7 @@ nm_client_get_device_by_path (<em class="parameter"><code><a class="link" href=" <a name="nm-client-get-device-by-path.returns"></a><h4>Returns</h4> <p>the <a class="link" href="NMDevice.html" title="NMDevice"><span class="type">NMDevice</span></a> for the given <em class="parameter"><code>object_path</code></em> 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> +<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> </div> <hr> @@ -2749,7 +2749,7 @@ nm_client_get_device_by_iface (<em class="parameter"><code><a class="link" href= <a name="nm-client-get-device-by-iface.returns"></a><h4>Returns</h4> <p>the <a class="link" href="NMDevice.html" title="NMDevice"><span class="type">NMDevice</span></a> for the given <em class="parameter"><code>iface</code></em> 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> +<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> </div> <hr> @@ -2778,7 +2778,7 @@ nm_client_get_active_connections (<em class="parameter"><code><a class="link" hr <p>a <a href="https://developer.gnome.org/glib/unstable/glib-Pointer-Arrays.html#GPtrArray"><span class="type">GPtrArray</span></a> containing all the active <span class="type">NMActiveConnections</span>. The returned array is owned by the client and should not be modified. </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>][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> NMActiveConnection]</span></p> +<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> NMActiveConnection]</span></p> </div> </div> <hr> @@ -2814,7 +2814,7 @@ non-NetworkManager-recognized device, this will return <a href="https://develope <a name="nm-client-get-primary-connection.returns"></a><h4>Returns</h4> <p>the appropriate <a class="link" href="NMActiveConnection.html" title="NMActiveConnection"><span class="type">NMActiveConnection</span></a>, if any. </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> +<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> </div> <hr> @@ -2824,7 +2824,7 @@ any. </p> nm_client_get_activating_connection (<em class="parameter"><code><a class="link" href="NMClient.html" title="NMClient"><span class="type">NMClient</span></a> *client</code></em>);</pre> <p>Gets the <a class="link" href="NMActiveConnection.html" title="NMActiveConnection"><span class="type">NMActiveConnection</span></a> corresponding to a currently-activating connection that is expected to become the new -<a href="/usr/share/gtk-doc/html/libnm-glib/NMClient.html#NMClient--primary-connection"><span class="type">“primary-connection”</span></a> upon successful activation.</p> +<span class="type">“primary-connection”</span> upon successful activation.</p> <div class="refsect3"> <a name="nm-client-get-activating-connection.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> @@ -2844,7 +2844,7 @@ currently-activating connection that is expected to become the new <a name="nm-client-get-activating-connection.returns"></a><h4>Returns</h4> <p>the appropriate <a class="link" href="NMActiveConnection.html" title="NMActiveConnection"><span class="type">NMActiveConnection</span></a>, if any. </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> +<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> </div> <hr> @@ -2874,7 +2874,7 @@ in <em class="parameter"><code>connection</code></em> picks the best available connection for the device and activates it.</p> <p>Note that the callback is invoked when NetworkManager has started activating the new connection, not when it finishes. You can use the returned -<a class="link" href="NMActiveConnection.html" title="NMActiveConnection"><span class="type">NMActiveConnection</span></a> object (in particular, <a href="/usr/share/gtk-doc/html/libnm-glib/NMActiveConnection.html#NMActiveConnection--state"><span class="type">“state”</span></a>) to +<a class="link" href="NMActiveConnection.html" title="NMActiveConnection"><span class="type">NMActiveConnection</span></a> object (in particular, <span class="type">“state”</span>) to track the activation to its completion.</p> <div class="refsect3"> <a name="nm-client-activate-connection-async.parameters"></a><h4>Parameters</h4> @@ -2972,7 +2972,7 @@ nm_client_activate_connection_finish (<em class="parameter"><code><a class="link <p>the new <a class="link" href="NMActiveConnection.html" title="NMActiveConnection"><span class="type">NMActiveConnection</span></a> on success, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> on 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> +<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p> </div> </div> <hr> @@ -2994,7 +2994,7 @@ activated as with <a class="link" href="NMClient.html#nm-client-activate-connect VPN connections at this time.</p> <p>Note that the callback is invoked when NetworkManager has started activating the new connection, not when it finishes. You can used the returned -<a class="link" href="NMActiveConnection.html" title="NMActiveConnection"><span class="type">NMActiveConnection</span></a> object (in particular, <a href="/usr/share/gtk-doc/html/libnm-glib/NMActiveConnection.html#NMActiveConnection--state"><span class="type">“state”</span></a>) to +<a class="link" href="NMActiveConnection.html" title="NMActiveConnection"><span class="type">NMActiveConnection</span></a> object (in particular, <span class="type">“state”</span>) to track the activation to its completion.</p> <div class="refsect3"> <a name="nm-client-add-and-activate-connection-async.parameters"></a><h4>Parameters</h4> @@ -3100,7 +3100,7 @@ nm_client_add_and_activate_connection_finish <p>the new <a class="link" href="NMActiveConnection.html" title="NMActiveConnection"><span class="type">NMActiveConnection</span></a> on success, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> on 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> +<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p> </div> </div> <hr> @@ -3123,7 +3123,7 @@ activated as with <a class="link" href="NMClient.html#nm-client-activate-connect VPN connections at this time.</p> <p>Note that the callback is invoked when NetworkManager has started activating the new connection, not when it finishes. You can used the returned -<a class="link" href="NMActiveConnection.html" title="NMActiveConnection"><span class="type">NMActiveConnection</span></a> object (in particular, <a href="/usr/share/gtk-doc/html/libnm-glib/NMActiveConnection.html#NMActiveConnection--state"><span class="type">“state”</span></a>) to +<a class="link" href="NMActiveConnection.html" title="NMActiveConnection"><span class="type">NMActiveConnection</span></a> object (in particular, <span class="type">“state”</span>) to track the activation to its completion.</p> <p>This is identical to <a class="link" href="NMClient.html#nm-client-add-and-activate-connection-async" title="nm_client_add_and_activate_connection_async ()"><code class="function">nm_client_add_and_activate_connection_async()</code></a> but takes a further <em class="parameter"><code>options</code></em> @@ -3245,7 +3245,7 @@ nm_client_add_and_activate_connection2_finish <td class="parameter_description"><p>the output result of type "a{sv}" returned by D-Bus' AddAndActivate2 call. Currently, no output is implemented yet. </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>][<acronym title="The caller owns the data, and is responsible for free it."><span class="acronym">transfer full</span></acronym>]</span></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>][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></td> </tr> </tbody> </table></div> @@ -3255,7 +3255,7 @@ output is implemented yet. </p></td> <p>the new <a class="link" href="NMActiveConnection.html" title="NMActiveConnection"><span class="type">NMActiveConnection</span></a> on success, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> on 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> +<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p> </div> </div> <hr> @@ -3425,7 +3425,7 @@ containing all connections provided by the remote settings service. The returned array is owned by the <a class="link" href="NMClient.html" title="NMClient"><span class="type">NMClient</span></a> object and should not be modified.</p> <p>The connections are as received from D-Bus and might not validate according to <a class="link" href="NMConnection.html#nm-connection-verify" title="nm_connection_verify ()"><code class="function">nm_connection_verify()</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>][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> NMRemoteConnection]</span></p> +<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> NMRemoteConnection]</span></p> </div> </div> <hr> @@ -3464,7 +3464,7 @@ nm_client_get_connection_by_id (<em class="parameter"><code><a class="link" href matching object was found.</p> <p>The connection is as received from D-Bus and might not validate according to <a class="link" href="NMConnection.html#nm-connection-verify" title="nm_connection_verify ()"><code class="function">nm_connection_verify()</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> +<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> </div> <hr> @@ -3503,7 +3503,7 @@ nm_client_get_connection_by_path (<em class="parameter"><code><a class="link" hr not known</p> <p>The connection is as received from D-Bus and might not validate according to <a class="link" href="NMConnection.html#nm-connection-verify" title="nm_connection_verify ()"><code class="function">nm_connection_verify()</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> +<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> </div> <hr> @@ -3542,7 +3542,7 @@ nm_client_get_connection_by_uuid (<em class="parameter"><code><a class="link" hr not known</p> <p>The connection is as received from D-Bus and might not validate according to <a class="link" href="NMConnection.html#nm-connection-verify" title="nm_connection_verify ()"><code class="function">nm_connection_verify()</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> +<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> </div> <hr> @@ -3657,7 +3657,7 @@ nm_client_add_connection_finish (<em class="parameter"><code><a class="link" hre <p>the new <a class="link" href="NMRemoteConnection.html" title="NMRemoteConnection"><span class="type">NMRemoteConnection</span></a> on success, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> on 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> +<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p> </div> </div> <hr> @@ -3768,7 +3768,7 @@ nm_client_add_connection2_finish (<em class="parameter"><code><a class="link" hr from <code class="function">AddConnection2()</code>. If you care about the output result, then the "ignore_out_result" parameter of <a class="link" href="NMClient.html#nm-client-add-connection2" title="nm_client_add_connection2 ()"><code class="function">nm_client_add_connection2()</code></a> must not be set to <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></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>][<acronym title="The caller owns the data, and is responsible for free it."><span class="acronym">transfer full</span></acronym>][<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></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>][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td> </tr> <tr> <td class="parameter_name"><p>error</p></td> @@ -3782,7 +3782,7 @@ parameter of <a class="link" href="NMClient.html#nm-client-add-connection2" titl <a name="nm-client-add-connection2-finish.returns"></a><h4>Returns</h4> <p>on success, a pointer to the added <a class="link" href="NMRemoteConnection.html" title="NMRemoteConnection"><span class="type">NMRemoteConnection</span></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> +<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p> </div> <p class="since">Since: 1.20</p> </div> @@ -3834,7 +3834,7 @@ filenames that failed to load.</p> <td class="parameter_name"><p>failures</p></td> <td class="parameter_description"><p>on return, a <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>-terminated array of filenames that failed to load. </p></td> -<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="The caller owns the data, and is responsible for free it."><span class="acronym">transfer full</span></acronym>]</span></td> +<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></td> </tr> <tr> <td class="parameter_name"><p>cancellable</p></td> @@ -3945,7 +3945,7 @@ nm_client_load_connections_finish (<em class="parameter"><code><a class="link" h <td class="parameter_name"><p>failures</p></td> <td class="parameter_description"><p>on return, a <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>-terminated array of filenames that failed to load. </p></td> -<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="The caller owns the data, and is responsible for free it."><span class="acronym">transfer full</span></acronym>][<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> zero-terminated=1]</span></td> +<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> zero-terminated=1]</span></td> </tr> <tr> <td class="parameter_name"><p>result</p></td> @@ -4181,7 +4181,7 @@ nm_client_get_dns_configuration (<em class="parameter"><code><a class="link" hre containing <a class="link" href="NMClient.html#NMDnsEntry"><span class="type">NMDnsEntry</span></a> elements or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> in case the value is not available. The returned array is owned by the <a class="link" href="NMClient.html" title="NMClient"><span class="type">NMClient</span></a> object and should not be modified. </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>][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> NMDnsEntry]</span></p> +<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> NMDnsEntry]</span></p> </div> <p class="since">Since: 1.6</p> </div> @@ -4211,7 +4211,7 @@ nm_client_get_checkpoints (<em class="parameter"><code><a class="link" href="NMC <p>a <a href="https://developer.gnome.org/glib/unstable/glib-Pointer-Arrays.html#GPtrArray"><span class="type">GPtrArray</span></a> containing all the <a class="link" href="NMCheckpoint.html" title="NMCheckpoint"><span class="type">NMCheckpoint</span></a>. The returned array is owned by the <a class="link" href="NMClient.html" title="NMClient"><span class="type">NMClient</span></a> object and should not be modified. </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>][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> NMCheckpoint]</span></p> +<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> NMCheckpoint]</span></p> </div> <p class="since">Since: 1.12</p> </div> @@ -4323,7 +4323,7 @@ nm_client_checkpoint_create_finish (<em class="parameter"><code><a class="link" <p>the new <a class="link" href="NMCheckpoint.html" title="NMCheckpoint"><span class="type">NMCheckpoint</span></a> on success, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> on 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> +<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p> </div> <p class="since">Since: 1.12</p> </div> @@ -4510,7 +4510,7 @@ nm_client_checkpoint_rollback_finish (<em class="parameter"><code><a class="link <p>an hash table of devices and results. Devices are represented by their original D-Bus path; each result is a <a class="link" href="libnm-nm-dbus-interface.html#NMRollbackResult" title="enum NMRollbackResult"><span class="type">NMRollbackResult</span></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>][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> utf8 guint32]</span></p> +<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> utf8 guint32]</span></p> </div> <p class="since">Since: 1.12</p> </div> @@ -4842,7 +4842,7 @@ nm_client_dbus_call_finish (<em class="parameter"><code><a class="link" href="NM <div class="refsect3"> <a name="nm-client-dbus-call-finish.returns"></a><h4>Returns</h4> <p>the result <a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> on error. </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> +<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p> </div> <p class="since">Since: 1.24</p> </div> @@ -5352,6 +5352,6 @@ operation succeeded, but the object that was allegedly created (eg, </div> </div> <div class="footer"> -<hr>Generated by GTK-Doc V1.33.1</div> +<hr>Generated by GTK-Doc V1.33.0</div> </body> </html> \ No newline at end of file diff --git a/docs/libnm/html/NMConnection.html b/docs/libnm/html/NMConnection.html index 258ea96..c652965 100644 --- a/docs/libnm/html/NMConnection.html +++ b/docs/libnm/html/NMConnection.html @@ -8,7 +8,7 @@ <link rel="up" href="ch03.html" title="Connection and Setting API Reference"> <link rel="prev" href="ch03.html" title="Connection and Setting API Reference"> <link rel="next" href="NMSimpleConnection.html" title="NMSimpleConnection"> -<meta name="generator" content="GTK-Doc V1.33.1 (XML mode)"> +<meta name="generator" content="GTK-Doc V1.33.0 (XML mode)"> <link rel="stylesheet" href="style.css" type="text/css"> </head> <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> @@ -660,7 +660,7 @@ the setting object's reference count.</p> <tr> <td class="parameter_name"><p>setting</p></td> <td class="parameter_description"><p>the <a class="link" href="NMSetting.html" title="NMSetting"><span class="type">NMSetting</span></a> to add to the connection object. </p></td> -<td class="parameter_annotations"><span class="annotation">[<acronym title="The caller owns the data, and is responsible for free it."><span class="acronym">transfer full</span></acronym>]</span></td> +<td class="parameter_annotations"><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></td> </tr> </tbody> </table></div> @@ -731,7 +731,7 @@ to the <a class="link" href="NMConnection.html" title="NMConnection"><span class <a name="nm-connection-get-setting.returns"></a><h4>Returns</h4> <p>the <a class="link" href="NMSetting.html" title="NMSetting"><span class="type">NMSetting</span></a>, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if no setting of that type was previously added to the <a class="link" href="NMConnection.html" title="NMConnection"><span class="type">NMConnection</span></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> +<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> </div> <hr> @@ -768,7 +768,7 @@ the <a class="link" href="NMConnection.html" title="NMConnection"><span class="t <a name="nm-connection-get-setting-by-name.returns"></a><h4>Returns</h4> <p>the <a class="link" href="NMSetting.html" title="NMSetting"><span class="type">NMSetting</span></a>, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if no setting with that name was previously added to the <a class="link" href="NMConnection.html" title="NMConnection"><span class="type">NMConnection</span></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> +<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> </div> <hr> @@ -806,7 +806,7 @@ marshalling over D-Bus or otherwise serializing.</p> <a name="nm-connection-to-dbus.returns"></a><h4>Returns</h4> <p>a new floating <a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> describing the connection, its settings, and each setting's properties. </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> +<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> </div> <hr> @@ -1178,7 +1178,7 @@ return points to an allocated <a href="https://developer.gnome.org/glib/unstable secrets of the <a class="link" href="NMSetting.html" title="NMSetting"><span class="type">NMSetting</span></a> which may be required; the caller owns the array and must free the array itself with <a href="https://developer.gnome.org/glib/unstable/glib-Pointer-Arrays.html#g-ptr-array-free"><code class="function">g_ptr_array_free()</code></a>, but not free its elements. </p></td> -<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> utf8][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>][<acronym title="The caller owns the data container, but not the data inside it."><span class="acronym">transfer container</span></acronym>]</span></td> +<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> utf8][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>][<acronym title="Free data container after the code is done."><span class="acronym">transfer container</span></acronym>]</span></td> </tr> </tbody> </table></div> @@ -1314,7 +1314,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 <a href="/usr/share/gtk-doc/html/libnm-util/NMConnection.html#NMConnection--path"><span class="type">“path”</span></a> +is only for the reference of the caller. Sets the <span class="type">“path”</span> property.</p> <div class="refsect3"> <a name="nm-connection-set-path.parameters"></a><h4>Parameters</h4> @@ -1513,7 +1513,7 @@ nm_connection_get_settings (<em class="parameter"><code><a class="link" href="NM <em class="parameter"><code>connection</code></em> . If the connection has no settings, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> is returned. </p> -<p><span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=out_length][<acronym title="The caller owns the data container, but not the data inside it."><span class="acronym">transfer container</span></acronym>]</span></p> +<p><span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=out_length][<acronym title="Free data container after the code is done."><span class="acronym">transfer container</span></acronym>]</span></p> </div> <p class="since">Since: 1.10</p> </div> @@ -1680,7 +1680,7 @@ Eg, "VLAN (eth1.1)".</p> 's device, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>connection</code></em> is not a virtual connection type. </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> +<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p> </div> </div> <hr> @@ -1707,7 +1707,7 @@ nm_connection_get_setting_802_1x (<em class="parameter"><code><a class="link" hr <div class="refsect3"> <a name="nm-connection-get-setting-802-1x.returns"></a><h4>Returns</h4> <p>an <a class="link" href="NMSetting8021x.html" title="NMSetting8021x"><span class="type">NMSetting8021x</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> +<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> </div> <hr> @@ -1734,7 +1734,7 @@ nm_connection_get_setting_bluetooth (<em class="parameter"><code><a class="link" <div class="refsect3"> <a name="nm-connection-get-setting-bluetooth.returns"></a><h4>Returns</h4> <p>an <a class="link" href="NMSettingBluetooth.html" title="NMSettingBluetooth"><span class="type">NMSettingBluetooth</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> +<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> </div> <hr> @@ -1761,7 +1761,7 @@ nm_connection_get_setting_bond (<em class="parameter"><code><a class="link" href <div class="refsect3"> <a name="nm-connection-get-setting-bond.returns"></a><h4>Returns</h4> <p>an <a class="link" href="NMSettingBond.html" title="NMSettingBond"><span class="type">NMSettingBond</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> +<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> </div> <hr> @@ -1788,7 +1788,7 @@ nm_connection_get_setting_team (<em class="parameter"><code><a class="link" href <div class="refsect3"> <a name="nm-connection-get-setting-team.returns"></a><h4>Returns</h4> <p>an <a class="link" href="NMSettingTeam.html" title="NMSettingTeam"><span class="type">NMSettingTeam</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> +<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> </div> <hr> @@ -1815,7 +1815,7 @@ nm_connection_get_setting_team_port (<em class="parameter"><code><a class="link" <div class="refsect3"> <a name="nm-connection-get-setting-team-port.returns"></a><h4>Returns</h4> <p>an <a class="link" href="NMSettingTeamPort.html" title="NMSettingTeamPort"><span class="type">NMSettingTeamPort</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> +<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> </div> <hr> @@ -1842,7 +1842,7 @@ nm_connection_get_setting_bridge (<em class="parameter"><code><a class="link" hr <div class="refsect3"> <a name="nm-connection-get-setting-bridge.returns"></a><h4>Returns</h4> <p>an <a class="link" href="NMSettingBridge.html" title="NMSettingBridge"><span class="type">NMSettingBridge</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> +<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> </div> <hr> @@ -1869,7 +1869,7 @@ nm_connection_get_setting_bridge_port (<em class="parameter"><code><a class="lin <div class="refsect3"> <a name="nm-connection-get-setting-bridge-port.returns"></a><h4>Returns</h4> <p>an <a class="link" href="NMSettingBridgePort.html" title="NMSettingBridgePort"><span class="type">NMSettingBridgePort</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> +<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> </div> <hr> @@ -1896,7 +1896,7 @@ nm_connection_get_setting_cdma (<em class="parameter"><code><a class="link" href <div class="refsect3"> <a name="nm-connection-get-setting-cdma.returns"></a><h4>Returns</h4> <p>an <a class="link" href="NMSettingCdma.html" title="NMSettingCdma"><span class="type">NMSettingCdma</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> +<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> </div> <hr> @@ -1923,7 +1923,7 @@ nm_connection_get_setting_connection (<em class="parameter"><code><a class="link <div class="refsect3"> <a name="nm-connection-get-setting-connection.returns"></a><h4>Returns</h4> <p>an <a class="link" href="NMSettingConnection.html" title="NMSettingConnection"><span class="type">NMSettingConnection</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> +<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> </div> <hr> @@ -1950,7 +1950,7 @@ nm_connection_get_setting_dcb (<em class="parameter"><code><a class="link" href= <div class="refsect3"> <a name="nm-connection-get-setting-dcb.returns"></a><h4>Returns</h4> <p>an <a class="link" href="NMSettingDcb.html" title="NMSettingDcb"><span class="type">NMSettingDcb</span></a> if the connection contains one, otherwise NULL. </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> +<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> </div> <hr> @@ -1977,7 +1977,7 @@ nm_connection_get_setting_dummy (<em class="parameter"><code><a class="link" hre <div class="refsect3"> <a name="nm-connection-get-setting-dummy.returns"></a><h4>Returns</h4> <p>an <a class="link" href="NMSettingDummy.html" title="NMSettingDummy"><span class="type">NMSettingDummy</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> +<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> <p class="since">Since: 1.8</p> </div> @@ -2005,7 +2005,7 @@ nm_connection_get_setting_generic (<em class="parameter"><code><a class="link" h <div class="refsect3"> <a name="nm-connection-get-setting-generic.returns"></a><h4>Returns</h4> <p>an <a class="link" href="NMSettingGeneric.html" title="NMSettingGeneric"><span class="type">NMSettingGeneric</span></a> if the connection contains one, otherwise NULL. </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> +<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> </div> <hr> @@ -2032,7 +2032,7 @@ nm_connection_get_setting_gsm (<em class="parameter"><code><a class="link" href= <div class="refsect3"> <a name="nm-connection-get-setting-gsm.returns"></a><h4>Returns</h4> <p>an <a class="link" href="NMSettingGsm.html" title="NMSettingGsm"><span class="type">NMSettingGsm</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> +<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> </div> <hr> @@ -2059,7 +2059,7 @@ nm_connection_get_setting_infiniband (<em class="parameter"><code><a class="link <div class="refsect3"> <a name="nm-connection-get-setting-infiniband.returns"></a><h4>Returns</h4> <p>an <a class="link" href="NMSettingInfiniband.html" title="NMSettingInfiniband"><span class="type">NMSettingInfiniband</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> +<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> </div> <hr> @@ -2086,7 +2086,7 @@ nm_connection_get_setting_ip_tunnel (<em class="parameter"><code><a class="link" <div class="refsect3"> <a name="nm-connection-get-setting-ip-tunnel.returns"></a><h4>Returns</h4> <p>an <a class="link" href="NMSettingIPTunnel.html" title="NMSettingIPTunnel"><span class="type">NMSettingIPTunnel</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> +<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> <p class="since">Since: 1.2</p> </div> @@ -2118,7 +2118,7 @@ majority of IPv4-setting-related methods are on that type, not <a name="nm-connection-get-setting-ip4-config.returns"></a><h4>Returns</h4> <p>an <a class="link" href="NMSettingIP4Config.html" title="NMSettingIP4Config"><span class="type">NMSettingIP4Config</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="Override the parsed C type with given type."><span class="acronym">type</span></acronym> NMSettingIP4Config][<acronym title="The data is owned by the callee, which is responsible of freeing it."><span class="acronym">transfer none</span></acronym>]</span></p> +<p><span class="annotation">[<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> NMSettingIP4Config][<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> </div> <hr> @@ -2149,7 +2149,7 @@ majority of IPv6-setting-related methods are on that type, not <a name="nm-connection-get-setting-ip6-config.returns"></a><h4>Returns</h4> <p>an <a class="link" href="NMSettingIP6Config.html" title="NMSettingIP6Config"><span class="type">NMSettingIP6Config</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="Override the parsed C type with given type."><span class="acronym">type</span></acronym> NMSettingIP6Config][<acronym title="The data is owned by the callee, which is responsible of freeing it."><span class="acronym">transfer none</span></acronym>]</span></p> +<p><span class="annotation">[<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> NMSettingIP6Config][<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> </div> <hr> @@ -2176,7 +2176,7 @@ nm_connection_get_setting_macsec (<em class="parameter"><code><a class="link" hr <div class="refsect3"> <a name="nm-connection-get-setting-macsec.returns"></a><h4>Returns</h4> <p>an <a class="link" href="NMSettingMacsec.html" title="NMSettingMacsec"><span class="type">NMSettingMacsec</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> +<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> <p class="since">Since: 1.6</p> </div> @@ -2204,7 +2204,7 @@ nm_connection_get_setting_macvlan (<em class="parameter"><code><a class="link" h <div class="refsect3"> <a name="nm-connection-get-setting-macvlan.returns"></a><h4>Returns</h4> <p>an <a class="link" href="NMSettingMacvlan.html" title="NMSettingMacvlan"><span class="type">NMSettingMacvlan</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> +<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> <p class="since">Since: 1.2</p> </div> @@ -2232,7 +2232,7 @@ nm_connection_get_setting_olpc_mesh (<em class="parameter"><code><a class="link" <div class="refsect3"> <a name="nm-connection-get-setting-olpc-mesh.returns"></a><h4>Returns</h4> <p>an <a class="link" href="NMSettingOlpcMesh.html" title="NMSettingOlpcMesh"><span class="type">NMSettingOlpcMesh</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> +<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> </div> <hr> @@ -2259,7 +2259,7 @@ nm_connection_get_setting_ovs_bridge (<em class="parameter"><code><a class="link <div class="refsect3"> <a name="nm-connection-get-setting-ovs-bridge.returns"></a><h4>Returns</h4> <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> +<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> <p class="since">Since: 1.10</p> </div> @@ -2288,7 +2288,7 @@ nm_connection_get_setting_ovs_interface <div class="refsect3"> <a name="nm-connection-get-setting-ovs-interface.returns"></a><h4>Returns</h4> <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> +<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> <p class="since">Since: 1.10</p> </div> @@ -2316,7 +2316,7 @@ nm_connection_get_setting_ovs_patch (<em class="parameter"><code><a class="link" <div class="refsect3"> <a name="nm-connection-get-setting-ovs-patch.returns"></a><h4>Returns</h4> <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> +<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> <p class="since">Since: 1.10</p> </div> @@ -2344,7 +2344,7 @@ nm_connection_get_setting_ovs_port (<em class="parameter"><code><a class="link" <div class="refsect3"> <a name="nm-connection-get-setting-ovs-port.returns"></a><h4>Returns</h4> <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> +<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> <p class="since">Since: 1.10</p> </div> @@ -2372,7 +2372,7 @@ nm_connection_get_setting_ppp (<em class="parameter"><code><a class="link" href= <div class="refsect3"> <a name="nm-connection-get-setting-ppp.returns"></a><h4>Returns</h4> <p>an <a class="link" href="NMSettingPpp.html" title="NMSettingPpp"><span class="type">NMSettingPpp</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> +<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> </div> <hr> @@ -2399,7 +2399,7 @@ nm_connection_get_setting_pppoe (<em class="parameter"><code><a class="link" hre <div class="refsect3"> <a name="nm-connection-get-setting-pppoe.returns"></a><h4>Returns</h4> <p>an <a class="link" href="NMSettingPppoe.html" title="NMSettingPppoe"><span class="type">NMSettingPppoe</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> +<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> </div> <hr> @@ -2426,7 +2426,7 @@ nm_connection_get_setting_proxy (<em class="parameter"><code><a class="link" hre <div class="refsect3"> <a name="nm-connection-get-setting-proxy.returns"></a><h4>Returns</h4> <p>an <a class="link" href="NMSettingProxy.html" title="NMSettingProxy"><span class="type">NMSettingProxy</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> +<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> <p class="since">Since: 1.6</p> </div> @@ -2454,7 +2454,7 @@ nm_connection_get_setting_serial (<em class="parameter"><code><a class="link" hr <div class="refsect3"> <a name="nm-connection-get-setting-serial.returns"></a><h4>Returns</h4> <p>an <a class="link" href="NMSettingSerial.html" title="NMSettingSerial"><span class="type">NMSettingSerial</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> +<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> </div> <hr> @@ -2481,7 +2481,7 @@ nm_connection_get_setting_tc_config (<em class="parameter"><code><a class="link" <div class="refsect3"> <a name="nm-connection-get-setting-tc-config.returns"></a><h4>Returns</h4> <p>an <a class="link" href="NMSettingTCConfig.html" title="NMSettingTCConfig"><span class="type">NMSettingTCConfig</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> +<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> <p class="since">Since: 1.12</p> </div> @@ -2509,7 +2509,7 @@ nm_connection_get_setting_tun (<em class="parameter"><code><a class="link" href= <div class="refsect3"> <a name="nm-connection-get-setting-tun.returns"></a><h4>Returns</h4> <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> +<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> <p class="since">Since: 1.2</p> </div> @@ -2537,7 +2537,7 @@ nm_connection_get_setting_vpn (<em class="parameter"><code><a class="link" href= <div class="refsect3"> <a name="nm-connection-get-setting-vpn.returns"></a><h4>Returns</h4> <p>an <a class="link" href="NMSettingVpn.html" title="NMSettingVpn"><span class="type">NMSettingVpn</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> +<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> </div> <hr> @@ -2564,7 +2564,7 @@ nm_connection_get_setting_wimax (<em class="parameter"><code><a class="link" hre <div class="refsect3"> <a name="nm-connection-get-setting-wimax.returns"></a><h4>Returns</h4> <p>an <a class="link" href="NMSettingWimax.html" title="NMSettingWimax"><span class="type">NMSettingWimax</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> +<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> </div> <hr> @@ -2591,7 +2591,7 @@ nm_connection_get_setting_adsl (<em class="parameter"><code><a class="link" href <div class="refsect3"> <a name="nm-connection-get-setting-adsl.returns"></a><h4>Returns</h4> <p>an <a class="link" href="NMSettingAdsl.html" title="NMSettingAdsl"><span class="type">NMSettingAdsl</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> +<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> </div> <hr> @@ -2618,7 +2618,7 @@ nm_connection_get_setting_wired (<em class="parameter"><code><a class="link" hre <div class="refsect3"> <a name="nm-connection-get-setting-wired.returns"></a><h4>Returns</h4> <p>an <a class="link" href="NMSettingWired.html" title="NMSettingWired"><span class="type">NMSettingWired</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> +<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> </div> <hr> @@ -2645,7 +2645,7 @@ nm_connection_get_setting_wireless (<em class="parameter"><code><a class="link" <div class="refsect3"> <a name="nm-connection-get-setting-wireless.returns"></a><h4>Returns</h4> <p>an <a class="link" href="NMSettingWireless.html" title="NMSettingWireless"><span class="type">NMSettingWireless</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> +<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> </div> <hr> @@ -2673,7 +2673,7 @@ nm_connection_get_setting_wireless_security <div class="refsect3"> <a name="nm-connection-get-setting-wireless-security.returns"></a><h4>Returns</h4> <p>an <a class="link" href="NMSettingWirelessSecurity.html" title="NMSettingWirelessSecurity"><span class="type">NMSettingWirelessSecurity</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> +<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> </div> <hr> @@ -2700,7 +2700,7 @@ nm_connection_get_setting_vlan (<em class="parameter"><code><a class="link" href <div class="refsect3"> <a name="nm-connection-get-setting-vlan.returns"></a><h4>Returns</h4> <p>an <a class="link" href="NMSettingVlan.html" title="NMSettingVlan"><span class="type">NMSettingVlan</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> +<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> </div> <hr> @@ -2727,7 +2727,7 @@ nm_connection_get_setting_vxlan (<em class="parameter"><code><a class="link" hre <div class="refsect3"> <a name="nm-connection-get-setting-vxlan.returns"></a><h4>Returns</h4> <p>an <a class="link" href="NMSettingVxlan.html" title="NMSettingVxlan"><span class="type">NMSettingVxlan</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> +<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> <p class="since">Since: 1.2</p> </div> @@ -2850,7 +2850,7 @@ calling <a class="link" href="NMConnection.html#nm-connection-to-dbus" title="nm <td class="enum_member_name"><p><a name="NM-CONNECTION-SERIALIZE-WITH-SECRETS-AGENT-OWNED:CAPS"></a>NM_CONNECTION_SERIALIZE_WITH_SECRETS_AGENT_OWNED</p></td> <td class="enum_member_description"> <p>if set, only secrets that -are agent owned will be serialized. Since: 1.20</p> +are agent owned will be serialized. Since: 1.20.</p> </td> <td class="enum_member_annotations"> </td> </tr> @@ -2861,6 +2861,6 @@ are agent owned will be serialized. Since: 1.20</p> </div> </div> <div class="footer"> -<hr>Generated by GTK-Doc V1.33.1</div> +<hr>Generated by GTK-Doc V1.33.0</div> </body> </html> \ No newline at end of file diff --git a/docs/libnm/html/NMDevice.html b/docs/libnm/html/NMDevice.html index c1d5d86..2cabe6d 100644 --- a/docs/libnm/html/NMDevice.html +++ b/docs/libnm/html/NMDevice.html @@ -8,7 +8,7 @@ <link rel="up" href="ch04.html" title="Device and Runtime Configuration API Reference"> <link rel="prev" href="ch04.html" title="Device and Runtime Configuration API Reference"> <link rel="next" href="NMDevice6Lowpan.html" title="NMDevice6Lowpan"> -<meta name="generator" content="GTK-Doc V1.33.1 (XML mode)"> +<meta name="generator" content="GTK-Doc V1.33.0 (XML mode)"> <link rel="stylesheet" href="style.css" type="text/css"> </head> <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> @@ -1178,7 +1178,7 @@ works with VPN connections.</p> <a name="nm-device-get-ip4-config.returns"></a><h4>Returns</h4> <p>the IPv4 <a class="link" href="NMIPConfig.html" title="NMIPConfig"><span class="type">NMIPConfig</span></a>, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the device is not activated. </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> +<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> </div> <hr> @@ -1208,7 +1208,7 @@ works with VPN connections.</p> <a name="nm-device-get-dhcp4-config.returns"></a><h4>Returns</h4> <p>the IPv4 <a class="link" href="NMDhcpConfig.html" title="NMDhcpConfig"><span class="type">NMDhcpConfig</span></a>, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the device is not activated or not using DHCP. </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> +<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> </div> <hr> @@ -1237,7 +1237,7 @@ works with VPN connections.</p> <div class="refsect3"> <a name="nm-device-get-ip6-config.returns"></a><h4>Returns</h4> <p>the IPv6 <a class="link" href="NMIPConfig.html" title="NMIPConfig"><span class="type">NMIPConfig</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the device is not activated. </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> +<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> </div> <hr> @@ -1267,7 +1267,7 @@ works with VPN connections.</p> <a name="nm-device-get-dhcp6-config.returns"></a><h4>Returns</h4> <p>the IPv6 <a class="link" href="NMDhcpConfig.html" title="NMDhcpConfig"><span class="type">NMDhcpConfig</span></a>, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the device is not activated or not using DHCPv6. </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> +<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> </div> <hr> @@ -1384,7 +1384,7 @@ nm_device_get_active_connection (<em class="parameter"><code><a class="link" hre <a name="nm-device-get-active-connection.returns"></a><h4>Returns</h4> <p>the <a class="link" href="NMActiveConnection.html" title="NMActiveConnection"><span class="type">NMActiveConnection</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the device is not part of an active connection. </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> +<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> </div> <hr> @@ -1499,7 +1499,7 @@ nm_device_is_real (<em class="parameter"><code><a class="link" href="NMDevice.ht <a name="nm-device-is-real.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 exists, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if it is a placeholder device that could be automatically created by NetworkManager if one of its -<a href="/usr/share/gtk-doc/html/libnm-glib/NMDevice.html#NMDevice--available-connections"><span class="type">“available-connections”</span></a> was activated.</p> +<span class="type">“available-connections”</span> was activated.</p> </div> <p class="since">Since: 1.2</p> </div> @@ -1671,7 +1671,7 @@ nm_device_get_lldp_neighbors (<em class="parameter"><code><a class="link" href=" containing <a class="link" href="NMDevice.html#NMLldpNeighbor"><span class="type">NMLldpNeighbor</span></a>s. This is the internal copy used by the device and must not be modified. The library never modifies the returned array and thus it is safe for callers to reference and keep using it. </p> -<p><span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> NMLldpNeighbor][<acronym title="The data is owned by the callee, which is responsible of freeing it."><span class="acronym">transfer none</span></acronym>]</span></p> +<p><span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> NMLldpNeighbor][<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> <p class="since">Since: 1.2</p> </div> @@ -1737,7 +1737,7 @@ devices in <em class="parameter"><code>devices</code></em> <div class="refsect3"> <a name="nm-device-disambiguate-names.returns"></a><h4>Returns</h4> <p>the device names. </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="Parameter points to an array of items."><span class="acronym">array</span></acronym> zero-terminated=1]</span></p> +<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> zero-terminated=1]</span></p> </div> </div> <hr> @@ -1975,7 +1975,7 @@ the applied connection. </p></td> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> on error.</p> <p>The connection is as received from D-Bus and might not validate according to <a class="link" href="NMConnection.html#nm-connection-verify" title="nm_connection_verify ()"><code class="function">nm_connection_verify()</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> +<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p> </div> <p class="since">Since: 1.2</p> </div> @@ -2079,7 +2079,7 @@ connection. </p></td> of error.</p> <p>The connection is as received from D-Bus and might not validate according to <a class="link" href="NMConnection.html#nm-connection-verify" title="nm_connection_verify ()"><code class="function">nm_connection_verify()</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> +<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p> </div> <p class="since">Since: 1.2</p> </div> @@ -2378,7 +2378,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 <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_description"><p>an array of <span class="type">NMConnections</span> 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> @@ -2387,13 +2387,13 @@ 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 -<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> +<span class="type">NMConnections</span> 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 with bindings. See https://gitlab.gnome.org/GNOME/gobject-introspection/-/issues/305. You can filter the list yourself with <a class="link" href="NMDevice.html#nm-device-connection-valid" title="nm_device_connection_valid ()"><code class="function">nm_device_connection_valid()</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>][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> NMConnection]</span></p> +<p><span class="annotation">[<acronym title="Free data after the code is done."><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> </div> </div> <hr> @@ -2531,7 +2531,7 @@ nm_lldp_neighbor_new (<em class="parameter"><code><span class="type">void</span> <div class="refsect3"> <a name="nm-lldp-neighbor-new.returns"></a><h4>Returns</h4> <p>the new <a class="link" href="NMDevice.html#NMLldpNeighbor"><span class="type">NMLldpNeighbor</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> +<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p> </div> <p class="since">Since: 1.2</p> </div> @@ -2607,7 +2607,7 @@ nm_lldp_neighbor_get_attr_names (<em class="parameter"><code><a class="link" hre <div class="refsect3"> <a name="nm-lldp-neighbor-get-attr-names.returns"></a><h4>Returns</h4> <p>a <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>-terminated array of attribute names. </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> +<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p> </div> <p class="since">Since: 1.2</p> </div> @@ -2644,7 +2644,7 @@ nm_lldp_neighbor_get_attr_string_value <tr> <td class="parameter_name"><p>out_value</p></td> <td class="parameter_description"><p>on return, the attribute value. </p></td> -<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>][<acronym title="The data is owned by the callee, which is responsible of freeing it."><span class="acronym">transfer none</span></acronym>]</span></td> +<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>][<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></td> </tr> </tbody> </table></div> @@ -2772,7 +2772,7 @@ nm_lldp_neighbor_get_attr_value (<em class="parameter"><code><a class="link" hre <p>the value or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the attribute with <em class="parameter"><code>name</code></em> was not 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> +<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> <p class="since">Since: 1.18</p> </div> @@ -2974,6 +2974,6 @@ not found. </p> </div> </div> <div class="footer"> -<hr>Generated by GTK-Doc V1.33.1</div> +<hr>Generated by GTK-Doc V1.33.0</div> </body> </html> \ No newline at end of file diff --git a/docs/libnm/html/NMDevice6Lowpan.html b/docs/libnm/html/NMDevice6Lowpan.html index e111db8..d5d3772 100644 --- a/docs/libnm/html/NMDevice6Lowpan.html +++ b/docs/libnm/html/NMDevice6Lowpan.html @@ -8,7 +8,7 @@ <link rel="up" href="ch04.html" title="Device and Runtime Configuration API Reference"> <link rel="prev" href="NMDevice.html" title="NMDevice"> <link rel="next" href="NMDeviceAdsl.html" title="NMDeviceAdsl"> -<meta name="generator" content="GTK-Doc V1.33.1 (XML mode)"> +<meta name="generator" content="GTK-Doc V1.33.0 (XML mode)"> <link rel="stylesheet" href="style.css" type="text/css"> </head> <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> @@ -104,7 +104,7 @@ nm_device_6lowpan_get_parent (<em class="parameter"><code><a class="link" href=" <div class="refsect3"> <a name="nm-device-6lowpan-get-parent.returns"></a><h4>Returns</h4> <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> +<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> <p class="since">Since: 1.14</p> </div> @@ -132,6 +132,6 @@ NM_DEPRECATED_IN_1_24_FOR ();</pre> </div> </div> <div class="footer"> -<hr>Generated by GTK-Doc V1.33.1</div> +<hr>Generated by GTK-Doc V1.33.0</div> </body> </html> \ No newline at end of file diff --git a/docs/libnm/html/NMDeviceAdsl.html b/docs/libnm/html/NMDeviceAdsl.html index b314c32..0e8a73a 100644 --- a/docs/libnm/html/NMDeviceAdsl.html +++ b/docs/libnm/html/NMDeviceAdsl.html @@ -8,7 +8,7 @@ <link rel="up" href="ch04.html" title="Device and Runtime Configuration API Reference"> <link rel="prev" href="NMDevice6Lowpan.html" title="NMDevice6Lowpan"> <link rel="next" href="NMDeviceBond.html" title="NMDeviceBond"> -<meta name="generator" content="GTK-Doc V1.33.1 (XML mode)"> +<meta name="generator" content="GTK-Doc V1.33.0 (XML mode)"> <link rel="stylesheet" href="style.css" type="text/css"> </head> <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> @@ -102,6 +102,6 @@ nm_device_adsl_get_carrier (<em class="parameter"><code><a class="link" href="NM </div> </div> <div class="footer"> -<hr>Generated by GTK-Doc V1.33.1</div> +<hr>Generated by GTK-Doc V1.33.0</div> </body> </html> \ No newline at end of file diff --git a/docs/libnm/html/NMDeviceBond.html b/docs/libnm/html/NMDeviceBond.html index fd2f4d3..bfff1b9 100644 --- a/docs/libnm/html/NMDeviceBond.html +++ b/docs/libnm/html/NMDeviceBond.html @@ -8,7 +8,7 @@ <link rel="up" href="ch04.html" title="Device and Runtime Configuration API Reference"> <link rel="prev" href="NMDeviceAdsl.html" title="NMDeviceAdsl"> <link rel="next" href="NMDeviceBridge.html" title="NMDeviceBridge"> -<meta name="generator" content="GTK-Doc V1.33.1 (XML mode)"> +<meta name="generator" content="GTK-Doc V1.33.0 (XML mode)"> <link rel="stylesheet" href="style.css" type="text/css"> </head> <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> @@ -203,6 +203,6 @@ copy used by the device, and must not be modified. </p> </div> </div> <div class="footer"> -<hr>Generated by GTK-Doc V1.33.1</div> +<hr>Generated by GTK-Doc V1.33.0</div> </body> </html> \ No newline at end of file diff --git a/docs/libnm/html/NMDeviceBridge.html b/docs/libnm/html/NMDeviceBridge.html index dc35f55..53948c1 100644 --- a/docs/libnm/html/NMDeviceBridge.html +++ b/docs/libnm/html/NMDeviceBridge.html @@ -8,7 +8,7 @@ <link rel="up" href="ch04.html" title="Device and Runtime Configuration API Reference"> <link rel="prev" href="NMDeviceBond.html" title="NMDeviceBond"> <link rel="next" href="NMDeviceBt.html" title="NMDeviceBt"> -<meta name="generator" content="GTK-Doc V1.33.1 (XML mode)"> +<meta name="generator" content="GTK-Doc V1.33.0 (XML mode)"> <link rel="stylesheet" href="style.css" type="text/css"> </head> <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> @@ -203,6 +203,6 @@ copy used by the device, and must not be modified. </p> </div> </div> <div class="footer"> -<hr>Generated by GTK-Doc V1.33.1</div> +<hr>Generated by GTK-Doc V1.33.0</div> </body> </html> \ No newline at end of file diff --git a/docs/libnm/html/NMDeviceBt.html b/docs/libnm/html/NMDeviceBt.html index 203f66f..576f152 100644 --- a/docs/libnm/html/NMDeviceBt.html +++ b/docs/libnm/html/NMDeviceBt.html @@ -8,7 +8,7 @@ <link rel="up" href="ch04.html" title="Device and Runtime Configuration API Reference"> <link rel="prev" href="NMDeviceBridge.html" title="NMDeviceBridge"> <link rel="next" href="NMDeviceDummy.html" title="NMDeviceDummy"> -<meta name="generator" content="GTK-Doc V1.33.1 (XML mode)"> +<meta name="generator" content="GTK-Doc V1.33.0 (XML mode)"> <link rel="stylesheet" href="style.css" type="text/css"> </head> <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> @@ -198,6 +198,6 @@ nm_device_bt_get_capabilities (<em class="parameter"><code><a class="link" href= </div> </div> <div class="footer"> -<hr>Generated by GTK-Doc V1.33.1</div> +<hr>Generated by GTK-Doc V1.33.0</div> </body> </html> \ No newline at end of file diff --git a/docs/libnm/html/NMDeviceDummy.html b/docs/libnm/html/NMDeviceDummy.html index 0ec953c..6b20f59 100644 --- a/docs/libnm/html/NMDeviceDummy.html +++ b/docs/libnm/html/NMDeviceDummy.html @@ -8,7 +8,7 @@ <link rel="up" href="ch04.html" title="Device and Runtime Configuration API Reference"> <link rel="prev" href="NMDeviceBt.html" title="NMDeviceBt"> <link rel="next" href="NMDeviceEthernet.html" title="NMDeviceEthernet"> -<meta name="generator" content="GTK-Doc V1.33.1 (XML mode)"> +<meta name="generator" content="GTK-Doc V1.33.0 (XML mode)"> <link rel="stylesheet" href="style.css" type="text/css"> </head> <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> @@ -83,6 +83,6 @@ NM_DEPRECATED_IN_1_24_FOR ();</pre> </div> </div> <div class="footer"> -<hr>Generated by GTK-Doc V1.33.1</div> +<hr>Generated by GTK-Doc V1.33.0</div> </body> </html> \ No newline at end of file diff --git a/docs/libnm/html/NMDeviceEthernet.html b/docs/libnm/html/NMDeviceEthernet.html index 8d4f2af..69c6b37 100644 --- a/docs/libnm/html/NMDeviceEthernet.html +++ b/docs/libnm/html/NMDeviceEthernet.html @@ -8,7 +8,7 @@ <link rel="up" href="ch04.html" title="Device and Runtime Configuration API Reference"> <link rel="prev" href="NMDeviceDummy.html" title="NMDeviceDummy"> <link rel="next" href="NMDeviceGeneric.html" title="NMDeviceGeneric"> -<meta name="generator" content="GTK-Doc V1.33.1 (XML mode)"> +<meta name="generator" content="GTK-Doc V1.33.0 (XML mode)"> <link rel="stylesheet" href="style.css" type="text/css"> </head> <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> @@ -252,7 +252,7 @@ nm_device_ethernet_get_s390_subchannels <a name="nm-device-ethernet-get-s390-subchannels.returns"></a><h4>Returns</h4> <p>array of strings, each specifying one subchannel the s390 device uses to communicate to the host. </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>][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> utf8]</span></p> +<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> utf8]</span></p> </div> <p class="since">Since: 1.2</p> </div> @@ -291,6 +291,6 @@ one subchannel the s390 device uses to communicate to the host. </p> </div> </div> <div class="footer"> -<hr>Generated by GTK-Doc V1.33.1</div> +<hr>Generated by GTK-Doc V1.33.0</div> </body> </html> \ No newline at end of file diff --git a/docs/libnm/html/NMDeviceGeneric.html b/docs/libnm/html/NMDeviceGeneric.html index 3adb441..ad57f2b 100644 --- a/docs/libnm/html/NMDeviceGeneric.html +++ b/docs/libnm/html/NMDeviceGeneric.html @@ -8,7 +8,7 @@ <link rel="up" href="ch04.html" title="Device and Runtime Configuration API Reference"> <link rel="prev" href="NMDeviceEthernet.html" title="NMDeviceEthernet"> <link rel="next" href="NMDeviceInfiniband.html" title="NMDeviceInfiniband"> -<meta name="generator" content="GTK-Doc V1.33.1 (XML mode)"> +<meta name="generator" content="GTK-Doc V1.33.0 (XML mode)"> <link rel="stylesheet" href="style.css" type="text/css"> </head> <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> @@ -119,6 +119,6 @@ device, and must not be modified.</p> </div> </div> <div class="footer"> -<hr>Generated by GTK-Doc V1.33.1</div> +<hr>Generated by GTK-Doc V1.33.0</div> </body> </html> \ No newline at end of file diff --git a/docs/libnm/html/NMDeviceIPTunnel.html b/docs/libnm/html/NMDeviceIPTunnel.html index fcc97c2..b4fa295 100644 --- a/docs/libnm/html/NMDeviceIPTunnel.html +++ b/docs/libnm/html/NMDeviceIPTunnel.html @@ -8,7 +8,7 @@ <link rel="up" href="ch04.html" title="Device and Runtime Configuration API Reference"> <link rel="prev" href="NMDeviceInfiniband.html" title="NMDeviceInfiniband"> <link rel="next" href="NMDeviceMacsec.html" title="NMDeviceMacsec"> -<meta name="generator" content="GTK-Doc V1.33.1 (XML mode)"> +<meta name="generator" content="GTK-Doc V1.33.0 (XML mode)"> <link rel="stylesheet" href="style.css" type="text/css"> </head> <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> @@ -220,7 +220,7 @@ nm_device_ip_tunnel_get_parent (<em class="parameter"><code><a class="link" href <div class="refsect3"> <a name="nm-device-ip-tunnel-get-parent.returns"></a><h4>Returns</h4> <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> +<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> <p class="since">Since: 1.2</p> </div> @@ -590,6 +590,6 @@ nm_device_ip_tunnel_get_flags (<em class="parameter"><code><a class="link" href= </div> </div> <div class="footer"> -<hr>Generated by GTK-Doc V1.33.1</div> +<hr>Generated by GTK-Doc V1.33.0</div> </body> </html> \ No newline at end of file diff --git a/docs/libnm/html/NMDeviceInfiniband.html b/docs/libnm/html/NMDeviceInfiniband.html index 2be02c0..6e035cc 100644 --- a/docs/libnm/html/NMDeviceInfiniband.html +++ b/docs/libnm/html/NMDeviceInfiniband.html @@ -8,7 +8,7 @@ <link rel="up" href="ch04.html" title="Device and Runtime Configuration API Reference"> <link rel="prev" href="NMDeviceGeneric.html" title="NMDeviceGeneric"> <link rel="next" href="NMDeviceIPTunnel.html" title="NMDeviceIPTunnel"> -<meta name="generator" content="GTK-Doc V1.33.1 (XML mode)"> +<meta name="generator" content="GTK-Doc V1.33.0 (XML mode)"> <link rel="stylesheet" href="style.css" type="text/css"> </head> <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> @@ -155,6 +155,6 @@ nm_device_infiniband_get_carrier (<em class="parameter"><code><a class="link" hr </div> </div> <div class="footer"> -<hr>Generated by GTK-Doc V1.33.1</div> +<hr>Generated by GTK-Doc V1.33.0</div> </body> </html> \ No newline at end of file diff --git a/docs/libnm/html/NMDeviceMacsec.html b/docs/libnm/html/NMDeviceMacsec.html index b5bc353..e8b49b9 100644 --- a/docs/libnm/html/NMDeviceMacsec.html +++ b/docs/libnm/html/NMDeviceMacsec.html @@ -8,7 +8,7 @@ <link rel="up" href="ch04.html" title="Device and Runtime Configuration API Reference"> <link rel="prev" href="NMDeviceIPTunnel.html" title="NMDeviceIPTunnel"> <link rel="next" href="NMDeviceMacvlan.html" title="NMDeviceMacvlan"> -<meta name="generator" content="GTK-Doc V1.33.1 (XML mode)"> +<meta name="generator" content="GTK-Doc V1.33.0 (XML mode)"> <link rel="stylesheet" href="style.css" type="text/css"> </head> <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> @@ -247,7 +247,7 @@ nm_device_macsec_get_parent (<em class="parameter"><code><a class="link" href="N <div class="refsect3"> <a name="nm-device-macsec-get-parent.returns"></a><h4>Returns</h4> <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> +<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> <p class="since">Since: 1.6</p> </div> @@ -676,6 +676,6 @@ nm_device_macsec_get_replay_protect (<em class="parameter"><code><a class="link" </div> </div> <div class="footer"> -<hr>Generated by GTK-Doc V1.33.1</div> +<hr>Generated by GTK-Doc V1.33.0</div> </body> </html> \ No newline at end of file diff --git a/docs/libnm/html/NMDeviceMacvlan.html b/docs/libnm/html/NMDeviceMacvlan.html index 70be76f..21dd5f5 100644 --- a/docs/libnm/html/NMDeviceMacvlan.html +++ b/docs/libnm/html/NMDeviceMacvlan.html @@ -8,7 +8,7 @@ <link rel="up" href="ch04.html" title="Device and Runtime Configuration API Reference"> <link rel="prev" href="NMDeviceMacsec.html" title="NMDeviceMacsec"> <link rel="next" href="NMDeviceModem.html" title="NMDeviceModem"> -<meta name="generator" content="GTK-Doc V1.33.1 (XML mode)"> +<meta name="generator" content="GTK-Doc V1.33.0 (XML mode)"> <link rel="stylesheet" href="style.css" type="text/css"> </head> <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> @@ -139,7 +139,7 @@ nm_device_macvlan_get_parent (<em class="parameter"><code><a class="link" href=" <div class="refsect3"> <a name="nm-device-macvlan-get-parent.returns"></a><h4>Returns</h4> <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> +<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> <p class="since">Since: 1.2</p> </div> @@ -267,6 +267,6 @@ NM_DEPRECATED_IN_1_24_FOR ();</pre> </div> </div> <div class="footer"> -<hr>Generated by GTK-Doc V1.33.1</div> +<hr>Generated by GTK-Doc V1.33.0</div> </body> </html> \ No newline at end of file diff --git a/docs/libnm/html/NMDeviceModem.html b/docs/libnm/html/NMDeviceModem.html index 3bc2f5c..af31343 100644 --- a/docs/libnm/html/NMDeviceModem.html +++ b/docs/libnm/html/NMDeviceModem.html @@ -8,7 +8,7 @@ <link rel="up" href="ch04.html" title="Device and Runtime Configuration API Reference"> <link rel="prev" href="NMDeviceMacvlan.html" title="NMDeviceMacvlan"> <link rel="next" href="NMDeviceOlpcMesh.html" title="NMDeviceOlpcMesh"> -<meta name="generator" content="GTK-Doc V1.33.1 (XML mode)"> +<meta name="generator" content="GTK-Doc V1.33.0 (XML mode)"> <link rel="stylesheet" href="style.css" type="text/css"> </head> <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> @@ -291,6 +291,6 @@ nm_device_modem_get_apn (<em class="parameter"><code><a class="link" href="NMDev </div> </div> <div class="footer"> -<hr>Generated by GTK-Doc V1.33.1</div> +<hr>Generated by GTK-Doc V1.33.0</div> </body> </html> \ No newline at end of file diff --git a/docs/libnm/html/NMDeviceOlpcMesh.html b/docs/libnm/html/NMDeviceOlpcMesh.html index e005a5b..d1c9e9e 100644 --- a/docs/libnm/html/NMDeviceOlpcMesh.html +++ b/docs/libnm/html/NMDeviceOlpcMesh.html @@ -8,7 +8,7 @@ <link rel="up" href="ch04.html" title="Device and Runtime Configuration API Reference"> <link rel="prev" href="NMDeviceModem.html" title="NMDeviceModem"> <link rel="next" href="NMDeviceOvsBridge.html" title="NMDeviceOvsBridge"> -<meta name="generator" content="GTK-Doc V1.33.1 (XML mode)"> +<meta name="generator" content="GTK-Doc V1.33.0 (XML mode)"> <link rel="stylesheet" href="style.css" type="text/css"> </head> <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> @@ -148,7 +148,7 @@ nm_device_olpc_mesh_get_companion (<em class="parameter"><code><a class="link" h <div class="refsect3"> <a name="nm-device-olpc-mesh-get-companion.returns"></a><h4>Returns</h4> <p>the companion of the device of <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> +<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> </div> <hr> @@ -201,6 +201,6 @@ nm_device_olpc_mesh_get_active_channel </div> </div> <div class="footer"> -<hr>Generated by GTK-Doc V1.33.1</div> +<hr>Generated by GTK-Doc V1.33.0</div> </body> </html> \ No newline at end of file diff --git a/docs/libnm/html/NMDeviceOvsBridge.html b/docs/libnm/html/NMDeviceOvsBridge.html index 3c5cbc5..3ac38e0 100644 --- a/docs/libnm/html/NMDeviceOvsBridge.html +++ b/docs/libnm/html/NMDeviceOvsBridge.html @@ -8,7 +8,7 @@ <link rel="up" href="ch04.html" title="Device and Runtime Configuration API Reference"> <link rel="prev" href="NMDeviceOlpcMesh.html" title="NMDeviceOlpcMesh"> <link rel="next" href="NMDeviceOvsInterface.html" title="NMDeviceOvsInterface"> -<meta name="generator" content="GTK-Doc V1.33.1 (XML mode)"> +<meta name="generator" content="GTK-Doc V1.33.0 (XML mode)"> <link rel="stylesheet" href="style.css" type="text/css"> </head> <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> @@ -107,6 +107,6 @@ copy used by the device, and must not be modified. </p> </div> </div> <div class="footer"> -<hr>Generated by GTK-Doc V1.33.1</div> +<hr>Generated by GTK-Doc V1.33.0</div> </body> </html> \ No newline at end of file diff --git a/docs/libnm/html/NMDeviceOvsInterface.html b/docs/libnm/html/NMDeviceOvsInterface.html index e629de3..407048f 100644 --- a/docs/libnm/html/NMDeviceOvsInterface.html +++ b/docs/libnm/html/NMDeviceOvsInterface.html @@ -8,7 +8,7 @@ <link rel="up" href="ch04.html" title="Device and Runtime Configuration API Reference"> <link rel="prev" href="NMDeviceOvsBridge.html" title="NMDeviceOvsBridge"> <link rel="next" href="NMDeviceOvsPort.html" title="NMDeviceOvsPort"> -<meta name="generator" content="GTK-Doc V1.33.1 (XML mode)"> +<meta name="generator" content="GTK-Doc V1.33.0 (XML mode)"> <link rel="stylesheet" href="style.css" type="text/css"> </head> <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> @@ -40,6 +40,6 @@ </div> </div> <div class="footer"> -<hr>Generated by GTK-Doc V1.33.1</div> +<hr>Generated by GTK-Doc V1.33.0</div> </body> </html> \ No newline at end of file diff --git a/docs/libnm/html/NMDeviceOvsPort.html b/docs/libnm/html/NMDeviceOvsPort.html index 5b479ca..bf62db1 100644 --- a/docs/libnm/html/NMDeviceOvsPort.html +++ b/docs/libnm/html/NMDeviceOvsPort.html @@ -8,7 +8,7 @@ <link rel="up" href="ch04.html" title="Device and Runtime Configuration API Reference"> <link rel="prev" href="NMDeviceOvsInterface.html" title="NMDeviceOvsInterface"> <link rel="next" href="NMDevicePpp.html" title="NMDevicePpp"> -<meta name="generator" content="GTK-Doc V1.33.1 (XML mode)"> +<meta name="generator" content="GTK-Doc V1.33.0 (XML mode)"> <link rel="stylesheet" href="style.css" type="text/css"> </head> <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> @@ -107,6 +107,6 @@ copy used by the device, and must not be modified. </p> </div> </div> <div class="footer"> -<hr>Generated by GTK-Doc V1.33.1</div> +<hr>Generated by GTK-Doc V1.33.0</div> </body> </html> \ No newline at end of file diff --git a/docs/libnm/html/NMDevicePpp.html b/docs/libnm/html/NMDevicePpp.html index 0dfb007..8485b5d 100644 --- a/docs/libnm/html/NMDevicePpp.html +++ b/docs/libnm/html/NMDevicePpp.html @@ -8,7 +8,7 @@ <link rel="up" href="ch04.html" title="Device and Runtime Configuration API Reference"> <link rel="prev" href="NMDeviceOvsPort.html" title="NMDeviceOvsPort"> <link rel="next" href="NMDeviceTeam.html" title="NMDeviceTeam"> -<meta name="generator" content="GTK-Doc V1.33.1 (XML mode)"> +<meta name="generator" content="GTK-Doc V1.33.0 (XML mode)"> <link rel="stylesheet" href="style.css" type="text/css"> </head> <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> @@ -40,6 +40,6 @@ </div> </div> <div class="footer"> -<hr>Generated by GTK-Doc V1.33.1</div> +<hr>Generated by GTK-Doc V1.33.0</div> </body> </html> \ No newline at end of file diff --git a/docs/libnm/html/NMDeviceTeam.html b/docs/libnm/html/NMDeviceTeam.html index 79c161e..84a600b 100644 --- a/docs/libnm/html/NMDeviceTeam.html +++ b/docs/libnm/html/NMDeviceTeam.html @@ -8,7 +8,7 @@ <link rel="up" href="ch04.html" title="Device and Runtime Configuration API Reference"> <link rel="prev" href="NMDevicePpp.html" title="NMDevicePpp"> <link rel="next" href="NMDeviceTun.html" title="NMDeviceTun"> -<meta name="generator" content="GTK-Doc V1.33.1 (XML mode)"> +<meta name="generator" content="GTK-Doc V1.33.0 (XML mode)"> <link rel="stylesheet" href="style.css" type="text/css"> </head> <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> @@ -248,6 +248,6 @@ device, and must not be modified.</p> </div> </div> <div class="footer"> -<hr>Generated by GTK-Doc V1.33.1</div> +<hr>Generated by GTK-Doc V1.33.0</div> </body> </html> \ No newline at end of file diff --git a/docs/libnm/html/NMDeviceTun.html b/docs/libnm/html/NMDeviceTun.html index 9d41ed9..2cd9edc 100644 --- a/docs/libnm/html/NMDeviceTun.html +++ b/docs/libnm/html/NMDeviceTun.html @@ -8,7 +8,7 @@ <link rel="up" href="ch04.html" title="Device and Runtime Configuration API Reference"> <link rel="prev" href="NMDeviceTeam.html" title="NMDeviceTeam"> <link rel="next" href="NMDeviceVeth.html" title="NMDeviceVeth"> -<meta name="generator" content="GTK-Doc V1.33.1 (XML mode)"> +<meta name="generator" content="GTK-Doc V1.33.0 (XML mode)"> <link rel="stylesheet" href="style.css" type="text/css"> </head> <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> @@ -335,6 +335,6 @@ nm_device_tun_get_multi_queue (<em class="parameter"><code><a class="link" href= </div> </div> <div class="footer"> -<hr>Generated by GTK-Doc V1.33.1</div> +<hr>Generated by GTK-Doc V1.33.0</div> </body> </html> \ No newline at end of file diff --git a/docs/libnm/html/NMDeviceVeth.html b/docs/libnm/html/NMDeviceVeth.html index dd03515..d972fb7 100644 --- a/docs/libnm/html/NMDeviceVeth.html +++ b/docs/libnm/html/NMDeviceVeth.html @@ -8,7 +8,7 @@ <link rel="up" href="ch04.html" title="Device and Runtime Configuration API Reference"> <link rel="prev" href="NMDeviceTun.html" title="NMDeviceTun"> <link rel="next" href="NMDeviceVlan.html" title="NMDeviceVlan"> -<meta name="generator" content="GTK-Doc V1.33.1 (XML mode)"> +<meta name="generator" content="GTK-Doc V1.33.0 (XML mode)"> <link rel="stylesheet" href="style.css" type="text/css"> </head> <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> @@ -88,7 +88,7 @@ nm_device_veth_get_peer (<em class="parameter"><code><a class="link" href="NMDev <div class="refsect3"> <a name="nm-device-veth-get-peer.returns"></a><h4>Returns</h4> <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> +<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> <p class="since">Since: 1.30</p> </div> @@ -103,6 +103,6 @@ nm_device_veth_get_peer (<em class="parameter"><code><a class="link" href="NMDev </div> </div> <div class="footer"> -<hr>Generated by GTK-Doc V1.33.1</div> +<hr>Generated by GTK-Doc V1.33.0</div> </body> </html> \ No newline at end of file diff --git a/docs/libnm/html/NMDeviceVlan.html b/docs/libnm/html/NMDeviceVlan.html index 463b421..301fc98 100644 --- a/docs/libnm/html/NMDeviceVlan.html +++ b/docs/libnm/html/NMDeviceVlan.html @@ -8,7 +8,7 @@ <link rel="up" href="ch04.html" title="Device and Runtime Configuration API Reference"> <link rel="prev" href="NMDeviceVeth.html" title="NMDeviceVeth"> <link rel="next" href="NMDeviceVrf.html" title="NMDeviceVrf"> -<meta name="generator" content="GTK-Doc V1.33.1 (XML mode)"> +<meta name="generator" content="GTK-Doc V1.33.0 (XML mode)"> <link rel="stylesheet" href="style.css" type="text/css"> </head> <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> @@ -185,7 +185,7 @@ nm_device_vlan_get_parent (<em class="parameter"><code><a class="link" href="NMD <div class="refsect3"> <a name="nm-device-vlan-get-parent.returns"></a><h4>Returns</h4> <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> +<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> </div> <hr> @@ -242,6 +242,6 @@ nm_device_vlan_get_vlan_id (<em class="parameter"><code><a class="link" href="NM </div> </div> <div class="footer"> -<hr>Generated by GTK-Doc V1.33.1</div> +<hr>Generated by GTK-Doc V1.33.0</div> </body> </html> \ No newline at end of file diff --git a/docs/libnm/html/NMDeviceVrf.html b/docs/libnm/html/NMDeviceVrf.html index 8eef1ea..8681e7f 100644 --- a/docs/libnm/html/NMDeviceVrf.html +++ b/docs/libnm/html/NMDeviceVrf.html @@ -8,7 +8,7 @@ <link rel="up" href="ch04.html" title="Device and Runtime Configuration API Reference"> <link rel="prev" href="NMDeviceVlan.html" title="NMDeviceVlan"> <link rel="next" href="NMDeviceVxlan.html" title="NMDeviceVxlan"> -<meta name="generator" content="GTK-Doc V1.33.1 (XML mode)"> +<meta name="generator" content="GTK-Doc V1.33.0 (XML mode)"> <link rel="stylesheet" href="style.css" type="text/css"> </head> <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> @@ -102,6 +102,6 @@ nm_device_vrf_get_table (<em class="parameter"><code><a class="link" href="NMDev </div> </div> <div class="footer"> -<hr>Generated by GTK-Doc V1.33.1</div> +<hr>Generated by GTK-Doc V1.33.0</div> </body> </html> \ No newline at end of file diff --git a/docs/libnm/html/NMDeviceVxlan.html b/docs/libnm/html/NMDeviceVxlan.html index 745d07a..62c1fba 100644 --- a/docs/libnm/html/NMDeviceVxlan.html +++ b/docs/libnm/html/NMDeviceVxlan.html @@ -8,7 +8,7 @@ <link rel="up" href="ch04.html" title="Device and Runtime Configuration API Reference"> <link rel="prev" href="NMDeviceVrf.html" title="NMDeviceVrf"> <link rel="next" href="NMDeviceWifiP2P.html" title="NMDeviceWifiP2P"> -<meta name="generator" content="GTK-Doc V1.33.1 (XML mode)"> +<meta name="generator" content="GTK-Doc V1.33.0 (XML mode)"> <link rel="stylesheet" href="style.css" type="text/css"> </head> <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> @@ -328,7 +328,7 @@ nm_device_vxlan_get_parent (<em class="parameter"><code><a class="link" href="NM <div class="refsect3"> <a name="nm-device-vxlan-get-parent.returns"></a><h4>Returns</h4> <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> +<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> <p class="since">Since: 1.2</p> </div> @@ -837,6 +837,6 @@ nm_device_vxlan_get_l3miss (<em class="parameter"><code><a class="link" href="NM </div> </div> <div class="footer"> -<hr>Generated by GTK-Doc V1.33.1</div> +<hr>Generated by GTK-Doc V1.33.0</div> </body> </html> \ No newline at end of file diff --git a/docs/libnm/html/NMDeviceWifi.html b/docs/libnm/html/NMDeviceWifi.html index b889034..3965254 100644 --- a/docs/libnm/html/NMDeviceWifi.html +++ b/docs/libnm/html/NMDeviceWifi.html @@ -8,7 +8,7 @@ <link rel="up" href="ch04.html" title="Device and Runtime Configuration API Reference"> <link rel="prev" href="NMDeviceWifiP2P.html" title="NMDeviceWifiP2P"> <link rel="next" href="NMDeviceWimax.html" title="NMDeviceWimax"> -<meta name="generator" content="GTK-Doc V1.33.1 (XML mode)"> +<meta name="generator" content="GTK-Doc V1.33.0 (XML mode)"> <link rel="stylesheet" href="style.css" type="text/css"> </head> <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> @@ -361,7 +361,7 @@ nm_device_wifi_get_active_access_point <div class="refsect3"> <a name="nm-device-wifi-get-active-access-point.returns"></a><h4>Returns</h4> <p>the access point or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if none is active. </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> +<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> </div> <hr> @@ -397,7 +397,7 @@ nm_device_wifi_get_access_point_by_path <div class="refsect3"> <a name="nm-device-wifi-get-access-point-by-path.returns"></a><h4>Returns</h4> <p>the access point 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> +<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> </div> <hr> @@ -775,6 +775,6 @@ set.</p> </div> </div> <div class="footer"> -<hr>Generated by GTK-Doc V1.33.1</div> +<hr>Generated by GTK-Doc V1.33.0</div> </body> </html> \ No newline at end of file diff --git a/docs/libnm/html/NMDeviceWifiP2P.html b/docs/libnm/html/NMDeviceWifiP2P.html index e40f069..3ccd1f7 100644 --- a/docs/libnm/html/NMDeviceWifiP2P.html +++ b/docs/libnm/html/NMDeviceWifiP2P.html @@ -8,7 +8,7 @@ <link rel="up" href="ch04.html" title="Device and Runtime Configuration API Reference"> <link rel="prev" href="NMDeviceVxlan.html" title="NMDeviceVxlan"> <link rel="next" href="NMDeviceWifi.html" title="NMDeviceWifi"> -<meta name="generator" content="GTK-Doc V1.33.1 (XML mode)"> +<meta name="generator" content="GTK-Doc V1.33.0 (XML mode)"> <link rel="stylesheet" href="style.css" type="text/css"> </head> <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> @@ -163,7 +163,7 @@ nm_device_wifi_p2p_get_peer_by_path (<em class="parameter"><code><a class="link" <div class="refsect3"> <a name="nm-device-wifi-p2p-get-peer-by-path.returns"></a><h4>Returns</h4> <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> +<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> <p class="since">Since: 1.16</p> </div> @@ -402,6 +402,6 @@ nm_device_wifi_p2p_stop_find_finish (<em class="parameter"><code><a class="link" </div> </div> <div class="footer"> -<hr>Generated by GTK-Doc V1.33.1</div> +<hr>Generated by GTK-Doc V1.33.0</div> </body> </html> \ No newline at end of file diff --git a/docs/libnm/html/NMDeviceWimax.html b/docs/libnm/html/NMDeviceWimax.html index dea41ff..7104429 100644 --- a/docs/libnm/html/NMDeviceWimax.html +++ b/docs/libnm/html/NMDeviceWimax.html @@ -8,7 +8,7 @@ <link rel="up" href="ch04.html" title="Device and Runtime Configuration API Reference"> <link rel="prev" href="NMDeviceWifi.html" title="NMDeviceWifi"> <link rel="next" href="NMDeviceWireGuard.html" title="NMDeviceWireGuard"> -<meta name="generator" content="GTK-Doc V1.33.1 (XML mode)"> +<meta name="generator" content="GTK-Doc V1.33.0 (XML mode)"> <link rel="stylesheet" href="style.css" type="text/css"> </head> <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> @@ -217,7 +217,7 @@ nm_device_wimax_get_active_nsp (<em class="parameter"><code><a class="link" href <div class="refsect3"> <a name="nm-device-wimax-get-active-nsp.returns"></a><h4>Returns</h4> <p>the access point or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if none is active. </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> +<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p> </div> </div> <hr> @@ -256,7 +256,7 @@ nm_device_wimax_get_nsp_by_path (<em class="parameter"><code><a class="link" hre <div class="refsect3"> <a name="nm-device-wimax-get-nsp-by-path.returns"></a><h4>Returns</h4> <p>the access point 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> +<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> </div> <hr> @@ -504,6 +504,6 @@ nm_device_wimax_get_bsid (<em class="parameter"><code><a class="link" href="NMDe </div> </div> <div class="footer"> -<hr>Generated by GTK-Doc V1.33.1</div> +<hr>Generated by GTK-Doc V1.33.0</div> </body> </html> \ No newline at end of file diff --git a/docs/libnm/html/NMDeviceWireGuard.html b/docs/libnm/html/NMDeviceWireGuard.html index f31103f..8e87bc7 100644 --- a/docs/libnm/html/NMDeviceWireGuard.html +++ b/docs/libnm/html/NMDeviceWireGuard.html @@ -8,7 +8,7 @@ <link rel="up" href="ch04.html" title="Device and Runtime Configuration API Reference"> <link rel="prev" href="NMDeviceWimax.html" title="NMDeviceWimax"> <link rel="next" href="NMDeviceWpan.html" title="NMDeviceWpan"> -<meta name="generator" content="GTK-Doc V1.33.1 (XML mode)"> +<meta name="generator" content="GTK-Doc V1.33.0 (XML mode)"> <link rel="stylesheet" href="style.css" type="text/css"> </head> <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> @@ -117,7 +117,7 @@ nm_device_wireguard_get_public_key (<em class="parameter"><code><a class="link" <div class="refsect3"> <a name="nm-device-wireguard-get-public-key.returns"></a><h4>Returns</h4> <p>the <a href="https://developer.gnome.org/glib/unstable/glib-Byte-Arrays.html#GBytes"><span class="type">GBytes</span></a> containing the 32-byte public key. </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> +<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> <p class="since">Since: 1.14</p> </div> @@ -200,6 +200,6 @@ See: ip-rule(8)</p> </div> </div> <div class="footer"> -<hr>Generated by GTK-Doc V1.33.1</div> +<hr>Generated by GTK-Doc V1.33.0</div> </body> </html> \ No newline at end of file diff --git a/docs/libnm/html/NMDeviceWpan.html b/docs/libnm/html/NMDeviceWpan.html index 5455ddf..080a6dd 100644 --- a/docs/libnm/html/NMDeviceWpan.html +++ b/docs/libnm/html/NMDeviceWpan.html @@ -8,7 +8,7 @@ <link rel="up" href="ch04.html" title="Device and Runtime Configuration API Reference"> <link rel="prev" href="NMDeviceWireGuard.html" title="NMDeviceWireGuard"> <link rel="next" href="NMActiveConnection.html" title="NMActiveConnection"> -<meta name="generator" content="GTK-Doc V1.33.1 (XML mode)"> +<meta name="generator" content="GTK-Doc V1.33.0 (XML mode)"> <link rel="stylesheet" href="style.css" type="text/css"> </head> <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> @@ -83,6 +83,6 @@ NM_DEPRECATED_IN_1_24_FOR ();</pre> </div> </div> <div class="footer"> -<hr>Generated by GTK-Doc V1.33.1</div> +<hr>Generated by GTK-Doc V1.33.0</div> </body> </html> \ No newline at end of file diff --git a/docs/libnm/html/NMDhcpConfig.html b/docs/libnm/html/NMDhcpConfig.html index d0b5774..f4cc1bd 100644 --- a/docs/libnm/html/NMDhcpConfig.html +++ b/docs/libnm/html/NMDhcpConfig.html @@ -8,7 +8,7 @@ <link rel="up" href="ch04.html" title="Device and Runtime Configuration API Reference"> <link rel="prev" href="NMIPConfig.html" title="NMIPConfig"> <link rel="next" href="NMCheckpoint.html" title="NMCheckpoint"> -<meta name="generator" content="GTK-Doc V1.33.1 (XML mode)"> +<meta name="generator" content="GTK-Doc V1.33.0 (XML mode)"> <link rel="stylesheet" href="style.css" type="text/css"> </head> <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> @@ -141,7 +141,7 @@ nm_dhcp_config_get_options (<em class="parameter"><code><a class="link" href="NM <p>the <a href="https://developer.gnome.org/glib/unstable/glib-Hash-Tables.html#GHashTable"><span class="type">GHashTable</span></a> containing strings for keys and values. This is the internal copy used by the configuration, and must not be modified. </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>][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> utf8 utf8]</span></p> +<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> utf8 utf8]</span></p> </div> </div> <hr> @@ -196,6 +196,6 @@ configuration, and must not be modified.</p> </div> </div> <div class="footer"> -<hr>Generated by GTK-Doc V1.33.1</div> +<hr>Generated by GTK-Doc V1.33.0</div> </body> </html> \ No newline at end of file diff --git a/docs/libnm/html/NMIPConfig.html b/docs/libnm/html/NMIPConfig.html index 2c9c22b..b3d4adb 100644 --- a/docs/libnm/html/NMIPConfig.html +++ b/docs/libnm/html/NMIPConfig.html @@ -8,7 +8,7 @@ <link rel="up" href="ch04.html" title="Device and Runtime Configuration API Reference"> <link rel="prev" href="NMWimaxNsp.html" title="NMWimaxNsp"> <link rel="next" href="NMDhcpConfig.html" title="NMDhcpConfig"> -<meta name="generator" content="GTK-Doc V1.33.1 (XML mode)"> +<meta name="generator" content="GTK-Doc V1.33.0 (XML mode)"> <link rel="stylesheet" href="style.css" type="text/css"> </head> <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> @@ -199,7 +199,7 @@ nm_ip_config_get_gateway (<em class="parameter"><code><a class="link" href="NMIP <div class="refsect3"> <a name="nm-ip-config-get-gateway.returns"></a><h4>Returns</h4> <p>the IP address of the gateway. </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> +<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> </div> <hr> @@ -229,7 +229,7 @@ nm_ip_config_get_addresses (<em class="parameter"><code><a class="link" href="NM containing <a class="link" href="NMSettingIPConfig.html#NMIPAddress"><span class="type">NMIPAddress</span></a>es. This is the internal copy used by the configuration and must not be modified. The library never modifies the returned array and thus it is safe for callers to reference and keep using it. </p> -<p><span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> NMIPAddress][<acronym title="The data is owned by the callee, which is responsible of freeing it."><span class="acronym">transfer none</span></acronym>]</span></p> +<p><span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> NMIPAddress][<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> </div> <hr> @@ -259,7 +259,7 @@ nm_ip_config_get_routes (<em class="parameter"><code><a class="link" href="NMIPC <a class="link" href="NMSettingIPConfig.html#NMIPRoute"><span class="type">NMIPRoute</span></a>s. This is the internal copy used by the configuration, and must not be modified. The library never modifies the returned array and thus it is safe for callers to reference and keep using it. </p> -<p><span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> NMIPRoute][<acronym title="The data is owned by the callee, which is responsible of freeing it."><span class="acronym">transfer none</span></acronym>]</span></p> +<p><span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> NMIPRoute][<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> </div> <hr> @@ -286,7 +286,7 @@ nm_ip_config_get_nameservers (<em class="parameter"><code><a class="link" href=" <div class="refsect3"> <a name="nm-ip-config-get-nameservers.returns"></a><h4>Returns</h4> <p>the array of nameserver IP addresses. </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> +<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> </div> <hr> @@ -314,7 +314,7 @@ nm_ip_config_get_domains (<em class="parameter"><code><a class="link" href="NMIP <a name="nm-ip-config-get-domains.returns"></a><h4>Returns</h4> <p>the array of domains. (This is never <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>, though it may be 0-length). </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> +<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> </div> <hr> @@ -342,7 +342,7 @@ nm_ip_config_get_searches (<em class="parameter"><code><a class="link" href="NMI <a name="nm-ip-config-get-searches.returns"></a><h4>Returns</h4> <p>the array of DNS search strings. (This is never <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>, though it may be 0-length). </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> +<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> </div> <hr> @@ -370,7 +370,7 @@ nm_ip_config_get_wins_servers (<em class="parameter"><code><a class="link" href= <a name="nm-ip-config-get-wins-servers.returns"></a><h4>Returns</h4> <p>the arry of WINS server IP address strings. (This is never <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>, though it may be 0-length.). </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> +<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> </div> </div> @@ -426,6 +426,6 @@ nm_ip_config_get_wins_servers (<em class="parameter"><code><a class="link" href= </div> </div> <div class="footer"> -<hr>Generated by GTK-Doc V1.33.1</div> +<hr>Generated by GTK-Doc V1.33.0</div> </body> </html> \ No newline at end of file diff --git a/docs/libnm/html/NMObject.html b/docs/libnm/html/NMObject.html index b022de3..32699b7 100644 --- a/docs/libnm/html/NMObject.html +++ b/docs/libnm/html/NMObject.html @@ -8,7 +8,7 @@ <link rel="up" href="ch02.html" title="Client Object API Reference"> <link rel="prev" href="NMSecretAgentOld.html" title="NMSecretAgentOld"> <link rel="next" href="libnm-nm-errors.html" title="nm-errors"> -<meta name="generator" content="GTK-Doc V1.33.1 (XML mode)"> +<meta name="generator" content="GTK-Doc V1.33.0 (XML mode)"> <link rel="stylesheet" href="style.css" type="text/css"> </head> <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> @@ -133,7 +133,7 @@ object is still alive.</p> <p>the <a class="link" href="NMClient.html" title="NMClient"><span class="type">NMClient</span></a> cache in which the object can be found, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the object is no longer cached. </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> +<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> <p class="since">Since: 1.24</p> </div> @@ -148,6 +148,6 @@ cached. </p> </div> </div> <div class="footer"> -<hr>Generated by GTK-Doc V1.33.1</div> +<hr>Generated by GTK-Doc V1.33.0</div> </body> </html> \ No newline at end of file diff --git a/docs/libnm/html/NMRemoteConnection.html b/docs/libnm/html/NMRemoteConnection.html index f589f9e..84980e9 100644 --- a/docs/libnm/html/NMRemoteConnection.html +++ b/docs/libnm/html/NMRemoteConnection.html @@ -8,7 +8,7 @@ <link rel="up" href="ch03.html" title="Connection and Setting API Reference"> <link rel="prev" href="NMSimpleConnection.html" title="NMSimpleConnection"> <link rel="next" href="NMSetting.html" title="NMSetting"> -<meta name="generator" content="GTK-Doc V1.33.1 (XML mode)"> +<meta name="generator" content="GTK-Doc V1.33.0 (XML mode)"> <link rel="stylesheet" href="style.css" type="text/css"> </head> <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> @@ -327,7 +327,7 @@ nm_remote_connection_update2_finish (<em class="parameter"><code><a class="link" <a name="nm-remote-connection-update2-finish.returns"></a><h4>Returns</h4> <p>on success, a <a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> of type "a{sv}" with the result. On failure, <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> +<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p> </div> </div> <hr> @@ -793,7 +793,7 @@ not a simple property accessor.</p> <p>a <a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> of type <code class="literal">NM_VARIANT_TYPE_CONNECTION</code> containing <em class="parameter"><code>connection</code></em> 's secrets, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> on error. </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> +<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p> </div> </div> <hr> @@ -887,7 +887,7 @@ nm_remote_connection_get_secrets_finish <p>a <a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> of type <code class="literal">NM_VARIANT_TYPE_CONNECTION</code> containing <em class="parameter"><code>connection</code></em> 's secrets, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> on error. </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> +<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p> </div> </div> <hr> @@ -1044,6 +1044,6 @@ user, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.ht </div> </div> <div class="footer"> -<hr>Generated by GTK-Doc V1.33.1</div> +<hr>Generated by GTK-Doc V1.33.0</div> </body> </html> \ No newline at end of file diff --git a/docs/libnm/html/NMSecretAgentOld.html b/docs/libnm/html/NMSecretAgentOld.html index 7ca3840..e5405a7 100644 --- a/docs/libnm/html/NMSecretAgentOld.html +++ b/docs/libnm/html/NMSecretAgentOld.html @@ -8,7 +8,7 @@ <link rel="up" href="ch02.html" title="Client Object API Reference"> <link rel="prev" href="NMClient.html" title="NMClient"> <link rel="next" href="NMObject.html" title="NMObject"> -<meta name="generator" content="GTK-Doc V1.33.1 (XML mode)"> +<meta name="generator" content="GTK-Doc V1.33.0 (XML mode)"> <link rel="stylesheet" href="style.css" type="text/css"> </head> <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> @@ -365,7 +365,7 @@ something like this:</p> note that this object will be unrefed after the callback has returned, use <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#g-object-ref"><code class="function">g_object_ref()</code></a>/<a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#g-object-unref"><code class="function">g_object_unref()</code></a> if you want to use this object after the callback has returned. </p></td> -<td class="parameter_annotations"><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></td> +<td class="parameter_annotations"><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></td> </tr> <tr> <td class="parameter_name"><p>secrets</p></td> @@ -422,7 +422,7 @@ should be called.</p> note that this object will be unrefed after the callback has returned, use <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#g-object-ref"><code class="function">g_object_ref()</code></a>/<a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#g-object-unref"><code class="function">g_object_unref()</code></a> if you want to use this object after the callback has returned. </p></td> -<td class="parameter_annotations"><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></td> +<td class="parameter_annotations"><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></td> </tr> <tr> <td class="parameter_name"><p>error</p></td> @@ -469,7 +469,7 @@ should be called.</p> note that this object will be unrefed after the callback has returned, use <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#g-object-ref"><code class="function">g_object_ref()</code></a>/<a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#g-object-unref"><code class="function">g_object_unref()</code></a> if you want to use this object after the callback has returned. </p></td> -<td class="parameter_annotations"><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></td> +<td class="parameter_annotations"><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></td> </tr> <tr> <td class="parameter_name"><p>error</p></td> @@ -511,7 +511,7 @@ nm_secret_agent_old_get_dbus_connection <p>the <a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GDBusConnection-struct"><span class="type">GDBusConnection</span></a> used by the secret agent. You may either set this as construct property <a class="link" href="NMSecretAgentOld.html#NM-SECRET-AGENT-OLD-DBUS-CONNECTION:CAPS" title="NM_SECRET_AGENT_OLD_DBUS_CONNECTION"><code class="literal">NM_SECRET_AGENT_OLD_DBUS_CONNECTION</code></a>, or it will automatically set during initialization. </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> +<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> <p class="since">Since: 1.24</p> </div> @@ -540,7 +540,7 @@ nm_secret_agent_old_get_main_context (<em class="parameter"><code><a class="link <p>the <a href="https://developer.gnome.org/glib/unstable/glib-The-Main-Event-Loop.html#GMainContext"><span class="type">GMainContext</span></a> instance associate with the instance. This is the <a href="https://developer.gnome.org/glib/unstable/glib-The-Main-Event-Loop.html#g-main-context-get-thread-default"><code class="function">g_main_context_get_thread_default()</code></a> at the time when creating the instance. </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> +<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> <p class="since">Since: 1.24</p> </div> @@ -579,7 +579,7 @@ that all remains are cleaned up.</p> <p>a <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct"><span class="type">GObject</span></a> that you may register a weak pointer to know that the <a href="https://developer.gnome.org/glib/unstable/glib-The-Main-Event-Loop.html#GMainContext"><span class="type">GMainContext</span></a> is still kept busy by <em class="parameter"><code>self</code></em> . </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> +<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> <p class="since">Since: 1.24</p> </div> @@ -1152,6 +1152,6 @@ of 3 characters. An example valid identifier is 'org.gnome.nm-applet' </div> </div> <div class="footer"> -<hr>Generated by GTK-Doc V1.33.1</div> +<hr>Generated by GTK-Doc V1.33.0</div> </body> </html> \ No newline at end of file diff --git a/docs/libnm/html/NMSetting.html b/docs/libnm/html/NMSetting.html index 5c00d03..3ca80cc 100644 --- a/docs/libnm/html/NMSetting.html +++ b/docs/libnm/html/NMSetting.html @@ -8,7 +8,7 @@ <link rel="up" href="ch03.html" title="Connection and Setting API Reference"> <link rel="prev" href="NMRemoteConnection.html" title="NMRemoteConnection"> <link rel="next" href="NMSettingConnection.html" title="NMSettingConnection"> -<meta name="generator" content="GTK-Doc V1.33.1 (XML mode)"> +<meta name="generator" content="GTK-Doc V1.33.0 (XML mode)"> <link rel="stylesheet" href="style.css" type="text/css"> </head> <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> @@ -513,7 +513,7 @@ nm_setting_duplicate (<em class="parameter"><code><a class="link" href="NMSettin <a name="nm-setting-duplicate.returns"></a><h4>Returns</h4> <p>a new <a class="link" href="NMSetting.html" title="NMSetting"><span class="type">NMSetting</span></a> containing the same properties and values as the source <a class="link" href="NMSetting.html" title="NMSetting"><span class="type">NMSetting</span></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> +<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p> </div> </div> <hr> @@ -732,7 +732,7 @@ settings differ, on return a hash table mapping the differing keys to one or more <a class="link" href="NMSetting.html#NMSettingDiffResult" title="enum NMSettingDiffResult"><code class="literal">NMSettingDiffResult</code></a> values OR-ed together. If the settings do not differ, any hash table passed in is unmodified. If no hash table is passed in and the settings differ, a new one is created and returned. </p></td> -<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input and for returning results. Default is transfer full."><span class="acronym">inout</span></acronym>][<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> utf8 guint32]</span></td> +<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input and for returning results. Default is transfer full."><span class="acronym">inout</span></acronym>][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> utf8 guint32]</span></td> </tr> </tbody> </table></div> @@ -939,7 +939,7 @@ nm_setting_option_get (<em class="parameter"><code><a class="link" href="NMSetti <a name="nm-setting-option-get.returns"></a><h4>Returns</h4> <p>the <a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the option 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> +<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> <p class="since">Since: 1.26.</p> </div> @@ -1170,7 +1170,7 @@ nm_setting_option_get_all_names (<em class="parameter"><code><a class="link" hre <p>A <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> terminated array of key names. If no names are present, this returns <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. The returned array and the names are owned by <a class="link" href="NMSetting.html" title="NMSetting"><code class="literal">NMSetting</code></a> and might be invalidated by the next operation. </p> -<p><span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=out_len zero-terminated=1][<acronym title="The data is owned by the callee, which is responsible of freeing it."><span class="acronym">transfer none</span></acronym>]</span></p> +<p><span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=out_len zero-terminated=1][<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> <p class="since">Since: 1.26</p> </div> @@ -1551,6 +1551,6 @@ example "ppp" or "802-11-wireless" or "802-3-ethernet".</p> </div> </div> <div class="footer"> -<hr>Generated by GTK-Doc V1.33.1</div> +<hr>Generated by GTK-Doc V1.33.0</div> </body> </html> \ No newline at end of file diff --git a/docs/libnm/html/NMSetting6Lowpan.html b/docs/libnm/html/NMSetting6Lowpan.html index f179af2..a00b307 100644 --- a/docs/libnm/html/NMSetting6Lowpan.html +++ b/docs/libnm/html/NMSetting6Lowpan.html @@ -8,7 +8,7 @@ <link rel="up" href="ch03.html" title="Connection and Setting API Reference"> <link rel="prev" href="NMSettingConnection.html" title="NMSettingConnection"> <link rel="next" href="NMSetting8021x.html" title="NMSetting8021x"> -<meta name="generator" content="GTK-Doc V1.33.1 (XML mode)"> +<meta name="generator" content="GTK-Doc V1.33.0 (XML mode)"> <link rel="stylesheet" href="style.css" type="text/css"> </head> <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> @@ -91,7 +91,7 @@ nm_setting_6lowpan_new (<em class="parameter"><code><span class="type">void</spa <div class="refsect3"> <a name="nm-setting-6lowpan-new.returns"></a><h4>Returns</h4> <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> +<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p> </div> <p class="since">Since: 1.14</p> </div> @@ -138,6 +138,6 @@ nm_setting_6lowpan_get_parent (<em class="parameter"><code><a class="link" href= </div> </div> <div class="footer"> -<hr>Generated by GTK-Doc V1.33.1</div> +<hr>Generated by GTK-Doc V1.33.0</div> </body> </html> \ No newline at end of file diff --git a/docs/libnm/html/NMSetting8021x.html b/docs/libnm/html/NMSetting8021x.html index f9f0c30..93dec00 100644 --- a/docs/libnm/html/NMSetting8021x.html +++ b/docs/libnm/html/NMSetting8021x.html @@ -8,7 +8,7 @@ <link rel="up" href="ch03.html" title="Connection and Setting API Reference"> <link rel="prev" href="NMSetting6Lowpan.html" title="NMSetting6Lowpan"> <link rel="next" href="NMSettingAdsl.html" title="NMSettingAdsl"> -<meta name="generator" content="GTK-Doc V1.33.1 (XML mode)"> +<meta name="generator" content="GTK-Doc V1.33.0 (XML mode)"> <link rel="stylesheet" href="style.css" type="text/css"> </head> <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> @@ -1742,7 +1742,7 @@ of the network cannot be confirmed by the client.</p> <div class="refsect3"> <a name="nm-setting-802-1x-get-ca-cert-blob.returns"></a><h4>Returns</h4> <p>the CA certificate data. </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> +<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> </div> <hr> @@ -2257,7 +2257,7 @@ authentication method.</p> <div class="refsect3"> <a name="nm-setting-802-1x-get-client-cert-blob.returns"></a><h4>Returns</h4> <p>the client certificate data. </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> +<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> </div> <hr> @@ -2640,7 +2640,7 @@ of the network cannot be confirmed by the client.</p> <div class="refsect3"> <a name="nm-setting-802-1x-get-phase2-ca-cert-blob.returns"></a><h4>Returns</h4> <p>the "phase 2" CA certificate data. </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> +<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> </div> <hr> @@ -3163,7 +3163,7 @@ authentication method.</p> <div class="refsect3"> <a name="nm-setting-802-1x-get-phase2-client-cert-blob.returns"></a><h4>Returns</h4> <p>the "phase 2" client certificate data. </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> +<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> </div> <hr> @@ -3426,7 +3426,7 @@ nm_setting_802_1x_get_password_raw (<em class="parameter"><code><a class="link" <p>the password used by the authentication method as a UTF-8-encoded array of bytes, as specified by the <a class="link" href="NMSetting8021x.html#NMSetting8021x--password-raw" title="The “password-raw” property"><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> +<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> </div> <hr> @@ -3571,7 +3571,7 @@ keys should always be encrypted with a private key password.</p> <div class="refsect3"> <a name="nm-setting-802-1x-get-private-key-blob.returns"></a><h4>Returns</h4> <p>the private key data. </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> +<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> </div> <hr> @@ -3867,7 +3867,7 @@ keys should always be encrypted with a private key password.</p> <div class="refsect3"> <a name="nm-setting-802-1x-get-phase2-private-key-blob.returns"></a><h4>Returns</h4> <p>the "phase 2" private key data. </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> +<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> </div> <hr> @@ -5284,6 +5284,6 @@ properties instead (sets ca_cert/ca_cert2 options for wpa_supplicant).</p> </div> </div> <div class="footer"> -<hr>Generated by GTK-Doc V1.33.1</div> +<hr>Generated by GTK-Doc V1.33.0</div> </body> </html> \ No newline at end of file diff --git a/docs/libnm/html/NMSettingAdsl.html b/docs/libnm/html/NMSettingAdsl.html index 32f07ac..b2efd9e 100644 --- a/docs/libnm/html/NMSettingAdsl.html +++ b/docs/libnm/html/NMSettingAdsl.html @@ -8,7 +8,7 @@ <link rel="up" href="ch03.html" title="Connection and Setting API Reference"> <link rel="prev" href="NMSetting8021x.html" title="NMSetting8021x"> <link rel="next" href="NMSettingBluetooth.html" title="NMSettingBluetooth"> -<meta name="generator" content="GTK-Doc V1.33.1 (XML mode)"> +<meta name="generator" content="GTK-Doc V1.33.0 (XML mode)"> <link rel="stylesheet" href="style.css" type="text/css"> </head> <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> @@ -576,6 +576,6 @@ nm_setting_adsl_get_password_flags (<em class="parameter"><code><a class="link" </div> </div> <div class="footer"> -<hr>Generated by GTK-Doc V1.33.1</div> +<hr>Generated by GTK-Doc V1.33.0</div> </body> </html> \ No newline at end of file diff --git a/docs/libnm/html/NMSettingBluetooth.html b/docs/libnm/html/NMSettingBluetooth.html index 5ef3cc4..234dd5b 100644 --- a/docs/libnm/html/NMSettingBluetooth.html +++ b/docs/libnm/html/NMSettingBluetooth.html @@ -8,7 +8,7 @@ <link rel="up" href="ch03.html" title="Connection and Setting API Reference"> <link rel="prev" href="NMSettingAdsl.html" title="NMSettingAdsl"> <link rel="next" href="NMSettingBond.html" title="NMSettingBond"> -<meta name="generator" content="GTK-Doc V1.33.1 (XML mode)"> +<meta name="generator" content="GTK-Doc V1.33.0 (XML mode)"> <link rel="stylesheet" href="style.css" type="text/css"> </head> <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> @@ -153,7 +153,7 @@ nm_setting_bluetooth_new (<em class="parameter"><code><span class="type">void</s <div class="refsect3"> <a name="nm-setting-bluetooth-new.returns"></a><h4>Returns</h4> <p>the new empty <a class="link" href="NMSettingBluetooth.html" title="NMSettingBluetooth"><span class="type">NMSettingBluetooth</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> +<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p> </div> </div> <hr> @@ -286,6 +286,6 @@ Area Networking connections to devices supporting the NAP profile.</p> </div> </div> <div class="footer"> -<hr>Generated by GTK-Doc V1.33.1</div> +<hr>Generated by GTK-Doc V1.33.0</div> </body> </html> \ No newline at end of file diff --git a/docs/libnm/html/NMSettingBond.html b/docs/libnm/html/NMSettingBond.html index 876902c..980f930 100644 --- a/docs/libnm/html/NMSettingBond.html +++ b/docs/libnm/html/NMSettingBond.html @@ -8,7 +8,7 @@ <link rel="up" href="ch03.html" title="Connection and Setting API Reference"> <link rel="prev" href="NMSettingBluetooth.html" title="NMSettingBluetooth"> <link rel="next" href="NMSettingBridgePort.html" title="NMSettingBridgePort"> -<meta name="generator" content="GTK-Doc V1.33.1 (XML mode)"> +<meta name="generator" content="GTK-Doc V1.33.0 (XML mode)"> <link rel="stylesheet" href="style.css" type="text/css"> </head> <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> @@ -289,7 +289,7 @@ nm_setting_bond_new (<em class="parameter"><code><span class="type">void</span>< <div class="refsect3"> <a name="nm-setting-bond-new.returns"></a><h4>Returns</h4> <p>the new empty <a class="link" href="NMSettingBond.html" title="NMSettingBond"><span class="type">NMSettingBond</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> +<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p> </div> </div> <hr> @@ -357,14 +357,14 @@ such as during option iteration.</p> <td class="parameter_name"><p>out_name</p></td> <td class="parameter_description"><p>on return, the name of the bonding option; this value is owned by the setting and should not be modified. </p></td> -<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="The data is owned by the callee, which is responsible of freeing it."><span class="acronym">transfer none</span></acronym>]</span></td> +<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></td> </tr> <tr> <td class="parameter_name"><p>out_value</p></td> <td class="parameter_description"><p>on return, the value of the name of the bonding option; this value is owned by the setting and should not be modified. </p></td> -<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="The data is owned by the callee, which is responsible of freeing it."><span class="acronym">transfer none</span></acronym>]</span></td> +<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></td> </tr> </tbody> </table></div> @@ -527,8 +527,8 @@ the <em class="parameter"><code>name</code></em> <td class="parameter_annotations"> </td> </tr> <tr> -<td class="parameter_name"><p>value</p></td> -<td class="parameter_description"><p>the value of the option to validate</p></td> +<td class="parameter_name"><p>value (allow-none)</p></td> +<td class="parameter_description"><p>the value of the option to validate.</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> @@ -568,7 +568,7 @@ nm_setting_bond_get_valid_options (<em class="parameter"><code><a class="link" h <div class="refsect3"> <a name="nm-setting-bond-get-valid-options.returns"></a><h4>Returns</h4> <p>a <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>-terminated array of strings of valid bond options. </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> +<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> </div> <hr> @@ -835,6 +835,6 @@ to the connection.</p> </div> </div> <div class="footer"> -<hr>Generated by GTK-Doc V1.33.1</div> +<hr>Generated by GTK-Doc V1.33.0</div> </body> </html> \ No newline at end of file diff --git a/docs/libnm/html/NMSettingBridge.html b/docs/libnm/html/NMSettingBridge.html index 3171089..645a338 100644 --- a/docs/libnm/html/NMSettingBridge.html +++ b/docs/libnm/html/NMSettingBridge.html @@ -8,7 +8,7 @@ <link rel="up" href="ch03.html" title="Connection and Setting API Reference"> <link rel="prev" href="NMSettingBridgePort.html" title="NMSettingBridgePort"> <link rel="next" href="NMSettingCdma.html" title="NMSettingCdma"> -<meta name="generator" content="GTK-Doc V1.33.1 (XML mode)"> +<meta name="generator" content="GTK-Doc V1.33.0 (XML mode)"> <link rel="stylesheet" href="style.css" type="text/css"> </head> <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> @@ -567,7 +567,7 @@ nm_setting_bridge_new (<em class="parameter"><code><span class="type">void</span <div class="refsect3"> <a name="nm-setting-bridge-new.returns"></a><h4>Returns</h4> <p>the new empty <a class="link" href="NMSettingBridge.html" title="NMSettingBridge"><span class="type">NMSettingBridge</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> +<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p> </div> </div> <hr> @@ -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 <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> +<p> the <span class="type">“mac-address”</span> 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 <a href="/usr/share/gtk-doc/html/libnm-util/NMSettingBridge.html#NMSettingBridge--stp"><span class="type">“stp”</span></a> property of the setting</p> +<p> the <span class="type">“stp”</span> 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 <a href="/usr/share/gtk-doc/html/libnm-util/NMSettingBridge.html#NMSettingBridge--priority"><span class="type">“priority”</span></a> property of the setting</p> +<p> the <span class="type">“priority”</span> 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 <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> +<p> the <span class="type">“forward-delay”</span> 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 <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> +<p> the <span class="type">“hello-time”</span> 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 <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> +<p> the <span class="type">“max-age”</span> 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 <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> +<p> the <span class="type">“ageing-time”</span> property of the setting</p> </div> </div> <hr> @@ -942,7 +942,7 @@ nm_setting_bridge_get_vlan (<em class="parameter"><code><a class="link" href="NM <a name="nm-setting-bridge-get-vlan.returns"></a><h4>Returns</h4> <p>the VLAN at index <em class="parameter"><code>idx</code></em> . </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> +<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> <p class="since">Since: 1.18</p> </div> @@ -1086,7 +1086,7 @@ and 4094.</p></td> <div class="refsect3"> <a name="nm-bridge-vlan-new.returns"></a><h4>Returns</h4> <p>the new <a class="link" href="NMSettingBridge.html#NMBridgeVlan"><span class="type">NMBridgeVlan</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> +<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p> </div> <p class="since">Since: 1.18</p> </div> @@ -1167,7 +1167,7 @@ nm_bridge_vlan_new_clone (<em class="parameter"><code>const <a class="link" href <p>a clone of <em class="parameter"><code>vlan</code></em> . This instance is always unsealed. </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> +<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p> </div> <p class="since">Since: 1.18</p> </div> @@ -2081,6 +2081,6 @@ nm_setting_bridge_get_multicast_startup_query_interval </div> </div> <div class="footer"> -<hr>Generated by GTK-Doc V1.33.1</div> +<hr>Generated by GTK-Doc V1.33.0</div> </body> </html> \ No newline at end of file diff --git a/docs/libnm/html/NMSettingBridgePort.html b/docs/libnm/html/NMSettingBridgePort.html index 5e13ff1..dc7d9e7 100644 --- a/docs/libnm/html/NMSettingBridgePort.html +++ b/docs/libnm/html/NMSettingBridgePort.html @@ -8,7 +8,7 @@ <link rel="up" href="ch03.html" title="Connection and Setting API Reference"> <link rel="prev" href="NMSettingBond.html" title="NMSettingBond"> <link rel="next" href="NMSettingBridge.html" title="NMSettingBridge"> -<meta name="generator" content="GTK-Doc V1.33.1 (XML mode)"> +<meta name="generator" content="GTK-Doc V1.33.0 (XML mode)"> <link rel="stylesheet" href="style.css" type="text/css"> </head> <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> @@ -214,7 +214,7 @@ nm_setting_bridge_port_new (<em class="parameter"><code><span class="type">void< <div class="refsect3"> <a name="nm-setting-bridge-port-new.returns"></a><h4>Returns</h4> <p>the new empty <a class="link" href="NMSettingBridgePort.html" title="NMSettingBridgePort"><span class="type">NMSettingBridgePort</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> +<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p> </div> </div> <hr> @@ -383,7 +383,7 @@ nm_setting_bridge_port_get_vlan (<em class="parameter"><code><a class="link" hre <a name="nm-setting-bridge-port-get-vlan.returns"></a><h4>Returns</h4> <p>the VLAN at index <em class="parameter"><code>idx</code></em> . </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> +<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> <p class="since">Since: 1.18</p> </div> @@ -583,6 +583,6 @@ range, represented as a couple of ids separated by a dash.</p> </div> </div> <div class="footer"> -<hr>Generated by GTK-Doc V1.33.1</div> +<hr>Generated by GTK-Doc V1.33.0</div> </body> </html> \ No newline at end of file diff --git a/docs/libnm/html/NMSettingCdma.html b/docs/libnm/html/NMSettingCdma.html index 29dc840..1b846de 100644 --- a/docs/libnm/html/NMSettingCdma.html +++ b/docs/libnm/html/NMSettingCdma.html @@ -8,7 +8,7 @@ <link rel="up" href="ch03.html" title="Connection and Setting API Reference"> <link rel="prev" href="NMSettingBridge.html" title="NMSettingBridge"> <link rel="next" href="NMSettingDcb.html" title="NMSettingDcb"> -<meta name="generator" content="GTK-Doc V1.33.1 (XML mode)"> +<meta name="generator" content="GTK-Doc V1.33.0 (XML mode)"> <link rel="stylesheet" href="style.css" type="text/css"> </head> <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> @@ -420,6 +420,6 @@ username is required, it is specified here.</p> </div> </div> <div class="footer"> -<hr>Generated by GTK-Doc V1.33.1</div> +<hr>Generated by GTK-Doc V1.33.0</div> </body> </html> \ No newline at end of file diff --git a/docs/libnm/html/NMSettingConnection.html b/docs/libnm/html/NMSettingConnection.html index 35d8afb..9a77adb 100644 --- a/docs/libnm/html/NMSettingConnection.html +++ b/docs/libnm/html/NMSettingConnection.html @@ -8,7 +8,7 @@ <link rel="up" href="ch03.html" title="Connection and Setting API Reference"> <link rel="prev" href="NMSetting.html" title="NMSetting"> <link rel="next" href="NMSetting6Lowpan.html" title="NMSetting6Lowpan"> -<meta name="generator" content="GTK-Doc V1.33.1 (XML mode)"> +<meta name="generator" content="GTK-Doc V1.33.0 (XML mode)"> <link rel="stylesheet" href="style.css" type="text/css"> </head> <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> @@ -2414,7 +2414,7 @@ provider, or <a class="link" href="NMSettingConnection.html#NMSettingConnection- <p>The UUID must be in the format "2815492f-7e56-435e-b2e9-246bd7cdc664" (ie, contains only hexadecimal characters and "-"). A suitable UUID may be generated by <a class="link" href="libnm-nm-utils.html#nm-utils-uuid-generate" title="nm_utils_uuid_generate ()"><code class="function">nm_utils_uuid_generate()</code></a> or -<a href="/usr/share/gtk-doc/html/libnm-util/libnm-util-nm-utils.html#nm-utils-uuid-generate-from-string"><code class="function">nm_utils_uuid_generate_from_string()</code></a>.</p> +<code class="function">nm_utils_uuid_generate_from_string()</code>.</p> <p>Owner: NMSettingConnection</p> <p>Flags: Read / Write</p> <p>Default value: NULL</p> @@ -2454,6 +2454,6 @@ the change takes effect immediately.</p> </div> </div> <div class="footer"> -<hr>Generated by GTK-Doc V1.33.1</div> +<hr>Generated by GTK-Doc V1.33.0</div> </body> </html> \ No newline at end of file diff --git a/docs/libnm/html/NMSettingDcb.html b/docs/libnm/html/NMSettingDcb.html index e2facee..1f045b1 100644 --- a/docs/libnm/html/NMSettingDcb.html +++ b/docs/libnm/html/NMSettingDcb.html @@ -8,7 +8,7 @@ <link rel="up" href="ch03.html" title="Connection and Setting API Reference"> <link rel="prev" href="NMSettingCdma.html" title="NMSettingCdma"> <link rel="next" href="NMSettingDummy.html" title="NMSettingDummy"> -<meta name="generator" content="GTK-Doc V1.33.1 (XML mode)"> +<meta name="generator" content="GTK-Doc V1.33.0 (XML mode)"> <link rel="stylesheet" href="style.css" type="text/css"> </head> <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> @@ -431,7 +431,7 @@ nm_setting_dcb_new (<em class="parameter"><code><span class="type">void</span></ <div class="refsect3"> <a name="nm-setting-dcb-new.returns"></a><h4>Returns</h4> <p>the new empty <a class="link" href="NMSettingDcb.html" title="NMSettingDcb"><span class="type">NMSettingDcb</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> +<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p> </div> </div> <hr> @@ -1418,6 +1418,6 @@ which the priority is mapped.</p> </div> </div> <div class="footer"> -<hr>Generated by GTK-Doc V1.33.1</div> +<hr>Generated by GTK-Doc V1.33.0</div> </body> </html> \ No newline at end of file diff --git a/docs/libnm/html/NMSettingDummy.html b/docs/libnm/html/NMSettingDummy.html index 49d0609..7e66dd4 100644 --- a/docs/libnm/html/NMSettingDummy.html +++ b/docs/libnm/html/NMSettingDummy.html @@ -8,7 +8,7 @@ <link rel="up" href="ch03.html" title="Connection and Setting API Reference"> <link rel="prev" href="NMSettingDcb.html" title="NMSettingDcb"> <link rel="next" href="NMSettingEthtool.html" title="NMSettingEthtool"> -<meta name="generator" content="GTK-Doc V1.33.1 (XML mode)"> +<meta name="generator" content="GTK-Doc V1.33.0 (XML mode)"> <link rel="stylesheet" href="style.css" type="text/css"> </head> <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> @@ -90,7 +90,7 @@ nm_setting_dummy_new (<em class="parameter"><code><span class="type">void</span> <div class="refsect3"> <a name="nm-setting-dummy-new.returns"></a><h4>Returns</h4> <p>the new empty <a class="link" href="NMSettingDummy.html" title="NMSettingDummy"><span class="type">NMSettingDummy</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> +<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p> </div> <p class="since">Since: 1.8</p> </div> @@ -111,6 +111,6 @@ nm_setting_dummy_new (<em class="parameter"><code><span class="type">void</span> </div> </div> <div class="footer"> -<hr>Generated by GTK-Doc V1.33.1</div> +<hr>Generated by GTK-Doc V1.33.0</div> </body> </html> \ No newline at end of file diff --git a/docs/libnm/html/NMSettingEthtool.html b/docs/libnm/html/NMSettingEthtool.html index 0651e06..c2e2f43 100644 --- a/docs/libnm/html/NMSettingEthtool.html +++ b/docs/libnm/html/NMSettingEthtool.html @@ -8,7 +8,7 @@ <link rel="up" href="ch03.html" title="Connection and Setting API Reference"> <link rel="prev" href="NMSettingDummy.html" title="NMSettingDummy"> <link rel="next" href="NMSettingGeneric.html" title="NMSettingGeneric"> -<meta name="generator" content="GTK-Doc V1.33.1 (XML mode)"> +<meta name="generator" content="GTK-Doc V1.33.0 (XML mode)"> <link rel="stylesheet" href="style.css" type="text/css"> </head> <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> @@ -211,7 +211,7 @@ nm_setting_ethtool_new (<em class="parameter"><code><span class="type">void</spa <div class="refsect3"> <a name="nm-setting-ethtool-new.returns"></a><h4>Returns</h4> <p>the new empty <a class="link" href="NMSettingEthtool.html" title="NMSettingEthtool"><span class="type">NMSettingEthtool</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> +<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p> </div> <p class="since">Since: 1.14</p> </div> @@ -257,7 +257,7 @@ names or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros <em class="parameter"><code>setting</code></em> and may get invalidated when <em class="parameter"><code>setting</code></em> gets modified. </p> -<p><span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> zero-terminated=1][<acronym title="The caller owns the data container, but not the data inside it."><span class="acronym">transfer container</span></acronym>]</span></p> +<p><span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> zero-terminated=1][<acronym title="Free data container after the code is done."><span class="acronym">transfer container</span></acronym>]</span></p> </div> <p class="since">Since: 1.20</p> </div> @@ -388,6 +388,6 @@ nm_setting_ethtool_clear_features (<em class="parameter"><code><a class="link" h </div> </div> <div class="footer"> -<hr>Generated by GTK-Doc V1.33.1</div> +<hr>Generated by GTK-Doc V1.33.0</div> </body> </html> \ No newline at end of file diff --git a/docs/libnm/html/NMSettingGeneric.html b/docs/libnm/html/NMSettingGeneric.html index c0c4d7f..17224ab 100644 --- a/docs/libnm/html/NMSettingGeneric.html +++ b/docs/libnm/html/NMSettingGeneric.html @@ -8,7 +8,7 @@ <link rel="up" href="ch03.html" title="Connection and Setting API Reference"> <link rel="prev" href="NMSettingEthtool.html" title="NMSettingEthtool"> <link rel="next" href="NMSettingGsm.html" title="NMSettingGsm"> -<meta name="generator" content="GTK-Doc V1.33.1 (XML mode)"> +<meta name="generator" content="GTK-Doc V1.33.0 (XML mode)"> <link rel="stylesheet" href="style.css" type="text/css"> </head> <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> @@ -81,7 +81,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 <a href="/usr/share/gtk-doc/html/libnm-util/NMConnection.html#NMConnection-struct"><span class="type">NMConnections</span></a> for generic devices.</p> +the "connection type" setting on <span class="type">NMConnections</span> for generic devices.</p> </div> <div class="refsect1"> <a name="NMSettingGeneric.functions_details"></a><h2>Functions</h2> @@ -93,7 +93,7 @@ nm_setting_generic_new (<em class="parameter"><code><span class="type">void</spa <div class="refsect3"> <a name="nm-setting-generic-new.returns"></a><h4>Returns</h4> <p>the new empty <a class="link" href="NMSettingGeneric.html" title="NMSettingGeneric"><span class="type">NMSettingGeneric</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> +<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p> </div> </div> </div> @@ -113,6 +113,6 @@ nm_setting_generic_new (<em class="parameter"><code><span class="type">void</spa </div> </div> <div class="footer"> -<hr>Generated by GTK-Doc V1.33.1</div> +<hr>Generated by GTK-Doc V1.33.0</div> </body> </html> \ No newline at end of file diff --git a/docs/libnm/html/NMSettingGsm.html b/docs/libnm/html/NMSettingGsm.html index ae3c093..652b6a4 100644 --- a/docs/libnm/html/NMSettingGsm.html +++ b/docs/libnm/html/NMSettingGsm.html @@ -8,7 +8,7 @@ <link rel="up" href="ch03.html" title="Connection and Setting API Reference"> <link rel="prev" href="NMSettingGeneric.html" title="NMSettingGeneric"> <link rel="next" href="NMSettingHostname.html" title="NMSettingHostname"> -<meta name="generator" content="GTK-Doc V1.33.1 (XML mode)"> +<meta name="generator" content="GTK-Doc V1.33.0 (XML mode)"> <link rel="stylesheet" href="style.css" type="text/css"> </head> <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> @@ -971,6 +971,6 @@ username is required, it is specified here.</p> </div> </div> <div class="footer"> -<hr>Generated by GTK-Doc V1.33.1</div> +<hr>Generated by GTK-Doc V1.33.0</div> </body> </html> \ No newline at end of file diff --git a/docs/libnm/html/NMSettingHostname.html b/docs/libnm/html/NMSettingHostname.html index 5ad796a..9a660e9 100644 --- a/docs/libnm/html/NMSettingHostname.html +++ b/docs/libnm/html/NMSettingHostname.html @@ -8,7 +8,7 @@ <link rel="up" href="ch03.html" title="Connection and Setting API Reference"> <link rel="prev" href="NMSettingGsm.html" title="NMSettingGsm"> <link rel="next" href="NMSettingInfiniband.html" title="NMSettingInfiniband"> -<meta name="generator" content="GTK-Doc V1.33.1 (XML mode)"> +<meta name="generator" content="GTK-Doc V1.33.0 (XML mode)"> <link rel="stylesheet" href="style.css" type="text/css"> </head> <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> @@ -131,7 +131,7 @@ nm_setting_hostname_new (<em class="parameter"><code><span class="type">void</sp <div class="refsect3"> <a name="nm-setting-hostname-new.returns"></a><h4>Returns</h4> <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> +<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p> </div> <p class="since">Since: 1.30</p> </div> @@ -284,6 +284,6 @@ property.</p> </div> </div> <div class="footer"> -<hr>Generated by GTK-Doc V1.33.1</div> +<hr>Generated by GTK-Doc V1.33.0</div> </body> </html> \ No newline at end of file diff --git a/docs/libnm/html/NMSettingIP4Config.html b/docs/libnm/html/NMSettingIP4Config.html index 491abbf..328d05b 100644 --- a/docs/libnm/html/NMSettingIP4Config.html +++ b/docs/libnm/html/NMSettingIP4Config.html @@ -8,7 +8,7 @@ <link rel="up" href="ch03.html" title="Connection and Setting API Reference"> <link rel="prev" href="NMSettingInfiniband.html" title="NMSettingInfiniband"> <link rel="next" href="NMSettingIP6Config.html" title="NMSettingIP6Config"> -<meta name="generator" content="GTK-Doc V1.33.1 (XML mode)"> +<meta name="generator" content="GTK-Doc V1.33.0 (XML mode)"> <link rel="stylesheet" href="style.css" type="text/css"> </head> <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> @@ -191,7 +191,7 @@ nm_setting_ip4_config_new (<em class="parameter"><code><span class="type">void</ <div class="refsect3"> <a name="nm-setting-ip4-config-new.returns"></a><h4>Returns</h4> <p>the new empty <a class="link" href="NMSettingIP4Config.html" title="NMSettingIP4Config"><span class="type">NMSettingIP4Config</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> +<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p> </div> </div> <hr> @@ -421,6 +421,6 @@ If still unspecified, the DHCP option is not sent to the server.</p> </div> </div> <div class="footer"> -<hr>Generated by GTK-Doc V1.33.1</div> +<hr>Generated by GTK-Doc V1.33.0</div> </body> </html> \ No newline at end of file diff --git a/docs/libnm/html/NMSettingIP6Config.html b/docs/libnm/html/NMSettingIP6Config.html index 95fa1a7..b343cb7 100644 --- a/docs/libnm/html/NMSettingIP6Config.html +++ b/docs/libnm/html/NMSettingIP6Config.html @@ -8,7 +8,7 @@ <link rel="up" href="ch03.html" title="Connection and Setting API Reference"> <link rel="prev" href="NMSettingIP4Config.html" title="NMSettingIP4Config"> <link rel="next" href="NMSettingIPConfig.html" title="NMSettingIPConfig"> -<meta name="generator" content="GTK-Doc V1.33.1 (XML mode)"> +<meta name="generator" content="GTK-Doc V1.33.0 (XML mode)"> <link rel="stylesheet" href="style.css" type="text/css"> </head> <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> @@ -243,7 +243,7 @@ nm_setting_ip6_config_new (<em class="parameter"><code><span class="type">void</ <div class="refsect3"> <a name="nm-setting-ip6-config-new.returns"></a><h4>Returns</h4> <p>the new empty <a class="link" href="NMSettingIP6Config.html" title="NMSettingIP6Config"><span class="type">NMSettingIP6Config</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> +<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p> </div> </div> <hr> @@ -694,6 +694,6 @@ IPv6 tokenized interface identifiers. Useful with eui64 addr-gen-mode.</p> </div> </div> <div class="footer"> -<hr>Generated by GTK-Doc V1.33.1</div> +<hr>Generated by GTK-Doc V1.33.0</div> </body> </html> \ No newline at end of file diff --git a/docs/libnm/html/NMSettingIPConfig.html b/docs/libnm/html/NMSettingIPConfig.html index 06bb11e..5a9a903 100644 --- a/docs/libnm/html/NMSettingIPConfig.html +++ b/docs/libnm/html/NMSettingIPConfig.html @@ -8,7 +8,7 @@ <link rel="up" href="ch03.html" title="Connection and Setting API Reference"> <link rel="prev" href="NMSettingIP6Config.html" title="NMSettingIP6Config"> <link rel="next" href="NMSettingIPTunnel.html" title="NMSettingIPTunnel"> -<meta name="generator" content="GTK-Doc V1.33.1 (XML mode)"> +<meta name="generator" content="GTK-Doc V1.33.0 (XML mode)"> <link rel="stylesheet" href="style.css" type="text/css"> </head> <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> @@ -1613,7 +1613,7 @@ nm_ip_address_new (<em class="parameter"><code><span class="type">int</span> fam <div class="refsect3"> <a name="nm-ip-address-new.returns"></a><h4>Returns</h4> <p>the new <a class="link" href="NMSettingIPConfig.html#NMIPAddress"><span class="type">NMIPAddress</span></a> object, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> on error. </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> +<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p> </div> </div> <hr> @@ -1664,7 +1664,7 @@ correct size for <em class="parameter"><code>family</code></em> <div class="refsect3"> <a name="nm-ip-address-new-binary.returns"></a><h4>Returns</h4> <p>the new <a class="link" href="NMSettingIPConfig.html#NMIPAddress"><span class="type">NMIPAddress</span></a> object, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> on error. </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> +<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p> </div> </div> <hr> @@ -1820,7 +1820,7 @@ nm_ip_address_dup (<em class="parameter"><code><a class="link" href="NMSettingIP <a name="nm-ip-address-dup.returns"></a><h4>Returns</h4> <p>a copy of <em class="parameter"><code>address</code></em> . </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> +<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p> </div> </div> <hr> @@ -2060,7 +2060,7 @@ nm_ip_address_get_attribute_names (<em class="parameter"><code><a class="link" h <div class="refsect3"> <a name="nm-ip-address-get-attribute-names.returns"></a><h4>Returns</h4> <p>a <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>-terminated array of attribute names,. </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> +<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p> </div> </div> <hr> @@ -2101,7 +2101,7 @@ on <em class="parameter"><code>address</code></em> , or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>address</code></em> has no such attribute. </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> +<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> </div> <hr> @@ -2135,7 +2135,7 @@ nm_ip_address_set_attribute (<em class="parameter"><code><a class="link" href="N <tr> <td class="parameter_name"><p>value</p></td> <td class="parameter_description"><p>the value. </p></td> -<td class="parameter_annotations"><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>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td> +<td class="parameter_annotations"><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td> </tr> </tbody> </table></div> @@ -2198,7 +2198,7 @@ nm_ip_route_new (<em class="parameter"><code><span class="type">int</span> famil <div class="refsect3"> <a name="nm-ip-route-new.returns"></a><h4>Returns</h4> <p>the new <a class="link" href="NMSettingIPConfig.html#NMIPRoute"><span class="type">NMIPRoute</span></a> object, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> on error. </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> +<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p> </div> </div> <hr> @@ -2262,7 +2262,7 @@ point to buffers of the correct size for <em class="parameter"><code>family</cod <div class="refsect3"> <a name="nm-ip-route-new-binary.returns"></a><h4>Returns</h4> <p>the new <a class="link" href="NMSettingIPConfig.html#NMIPRoute"><span class="type">NMIPRoute</span></a> object, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> on error. </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> +<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p> </div> </div> <hr> @@ -2417,7 +2417,7 @@ nm_ip_route_dup (<em class="parameter"><code><a class="link" href="NMSettingIPCo <a name="nm-ip-route-dup.returns"></a><h4>Returns</h4> <p>a copy of <em class="parameter"><code>route</code></em> . </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> +<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p> </div> </div> <hr> @@ -2852,7 +2852,7 @@ nm_ip_route_get_attribute_names (<em class="parameter"><code><a class="link" hre <div class="refsect3"> <a name="nm-ip-route-get-attribute-names.returns"></a><h4>Returns</h4> <p>a <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>-terminated array of attribute names. </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> +<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p> </div> </div> <hr> @@ -2893,7 +2893,7 @@ on <em class="parameter"><code>route</code></em> , or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>route</code></em> has no such attribute. </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> +<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> </div> <hr> @@ -2927,7 +2927,7 @@ nm_ip_route_set_attribute (<em class="parameter"><code><a class="link" href="NMS <tr> <td class="parameter_name"><p>value</p></td> <td class="parameter_description"><p>the value. </p></td> -<td class="parameter_annotations"><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>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td> +<td class="parameter_annotations"><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td> </tr> </tbody> </table></div> @@ -3024,7 +3024,7 @@ nm_ip_routing_rule_new (<em class="parameter"><code><span class="type">int</span <a name="nm-ip-routing-rule-new.returns"></a><h4>Returns</h4> <p>a newly created rule instance with the provided address family. The instance is unsealed. </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> +<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p> </div> <p class="since">Since: 1.18</p> </div> @@ -3054,7 +3054,7 @@ nm_ip_routing_rule_new_clone (<em class="parameter"><code>const <a class="link" the same settings as <em class="parameter"><code>rule</code></em> . Note that the instance will always be unsealred. </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> +<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p> </div> <p class="since">Since: 1.18</p> </div> @@ -3085,7 +3085,7 @@ This is not thread-safe.</p> <p>the <em class="parameter"><code>self</code></em> argument with incremented reference count. </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> +<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p> </div> <p class="since">Since: 1.18</p> </div> @@ -3741,7 +3741,7 @@ nm_ip_routing_rule_get_from (<em class="parameter"><code>const <a class="link" h <a name="nm-ip-routing-rule-get-from.returns"></a><h4>Returns</h4> <p>the set from/src parameter or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>, if no value is 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> +<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> <p class="since">Since: 1.18</p> </div> @@ -3834,7 +3834,7 @@ nm_ip_routing_rule_get_to (<em class="parameter"><code>const <a class="link" hre <a name="nm-ip-routing-rule-get-to.returns"></a><h4>Returns</h4> <p>the set to/dst parameter or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>, if no value is 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> +<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> <p class="since">Since: 1.18</p> </div> @@ -3902,7 +3902,7 @@ nm_ip_routing_rule_get_iifname (<em class="parameter"><code>const <a class="link <div class="refsect3"> <a name="nm-ip-routing-rule-get-iifname.returns"></a><h4>Returns</h4> <p>the set iifname or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if unset. </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> +<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> <p class="since">Since: 1.18</p> </div> @@ -3963,7 +3963,7 @@ nm_ip_routing_rule_get_oifname (<em class="parameter"><code>const <a class="link <div class="refsect3"> <a name="nm-ip-routing-rule-get-oifname.returns"></a><h4>Returns</h4> <p>the set oifname or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if unset. </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> +<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> <p class="since">Since: 1.18</p> </div> @@ -4288,7 +4288,7 @@ conversion. Currently, not extra arguments are supported. </p></td> <div class="refsect3"> <a name="nm-ip-routing-rule-from-string.returns"></a><h4>Returns</h4> <p>the new <a class="link" href="NMSettingIPConfig.html#NMIPRoutingRule"><span class="type">NMIPRoutingRule</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> on error. </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> +<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p> </div> <p class="since">Since: 1.18</p> </div> @@ -4337,7 +4337,7 @@ conversion. Currently, not extra arguments are supported. </p></td> <div class="refsect3"> <a name="nm-ip-routing-rule-to-string.returns"></a><h4>Returns</h4> <p>the string representation or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> on error. </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> +<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p> </div> <p class="since">Since: 1.18</p> </div> @@ -5051,7 +5051,7 @@ nm_setting_ip_config_get_address (<em class="parameter"><code><a class="link" hr <a name="nm-setting-ip-config-get-address.returns"></a><h4>Returns</h4> <p>the address at index <em class="parameter"><code>idx</code></em> . </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> +<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> </div> <hr> @@ -5262,7 +5262,7 @@ nm_setting_ip_config_get_route (<em class="parameter"><code><a class="link" href <a name="nm-setting-ip-config-get-route.returns"></a><h4>Returns</h4> <p>the route at index <em class="parameter"><code>idx</code></em> . </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> +<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> </div> <hr> @@ -5512,7 +5512,7 @@ nm_setting_ip_config_get_routing_rule (<em class="parameter"><code><a class="lin <a name="nm-setting-ip-config-get-routing-rule.returns"></a><h4>Returns</h4> <p>the routing rule at index <em class="parameter"><code>idx</code></em> . </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> +<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> <p class="since">Since: 1.18</p> </div> @@ -5926,7 +5926,7 @@ nm_setting_ip_config_get_dhcp_reject_servers <a name="nm-setting-ip-config-get-dhcp-reject-servers.returns"></a><h4>Returns</h4> <p>A <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> terminated array of DHCP reject servers. Even if no reject servers are configured, this always returns a non <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> value. </p> -<p><span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=out_len zero-terminated=1][<acronym title="The data is owned by the callee, which is responsible of freeing it."><span class="acronym">transfer none</span></acronym>]</span></p> +<p><span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=out_len zero-terminated=1][<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> <p class="since">Since: 1.28</p> </div> @@ -6680,6 +6680,9 @@ distinct from an empty list of properties.</p> <p>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.</p> +<p>When using a caching DNS plugin (dnsmasq or systemd-resolved in +NetworkManager.conf) then "edns0" and "trust-ad" are automatically +added.</p> <p>Owner: NMSettingIPConfig</p> <p>Flags: Read / Write</p> <p class="since">Since: 1.2</p> @@ -6892,6 +6895,6 @@ of NetworkManager.</p> </div> </div> <div class="footer"> -<hr>Generated by GTK-Doc V1.33.1</div> +<hr>Generated by GTK-Doc V1.33.0</div> </body> </html> \ No newline at end of file diff --git a/docs/libnm/html/NMSettingIPTunnel.html b/docs/libnm/html/NMSettingIPTunnel.html index b81a7a3..6093e7d 100644 --- a/docs/libnm/html/NMSettingIPTunnel.html +++ b/docs/libnm/html/NMSettingIPTunnel.html @@ -8,7 +8,7 @@ <link rel="up" href="ch03.html" title="Connection and Setting API Reference"> <link rel="prev" href="NMSettingIPConfig.html" title="NMSettingIPConfig"> <link rel="next" href="NMSettingMacsec.html" title="NMSettingMacsec"> -<meta name="generator" content="GTK-Doc V1.33.1 (XML mode)"> +<meta name="generator" content="GTK-Doc V1.33.0 (XML mode)"> <link rel="stylesheet" href="style.css" type="text/css"> </head> <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> @@ -330,7 +330,7 @@ nm_setting_ip_tunnel_new (<em class="parameter"><code><span class="type">void</s <div class="refsect3"> <a name="nm-setting-ip-tunnel-new.returns"></a><h4>Returns</h4> <p>the new empty <a class="link" href="NMSettingIPTunnel.html" title="NMSettingIPTunnel"><span class="type">NMSettingIPTunnel</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> +<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p> </div> <p class="since">Since: 1.2</p> </div> @@ -964,6 +964,6 @@ packets inherit the TTL value.</p> </div> </div> <div class="footer"> -<hr>Generated by GTK-Doc V1.33.1</div> +<hr>Generated by GTK-Doc V1.33.0</div> </body> </html> \ No newline at end of file diff --git a/docs/libnm/html/NMSettingInfiniband.html b/docs/libnm/html/NMSettingInfiniband.html index 576342e..3df145c 100644 --- a/docs/libnm/html/NMSettingInfiniband.html +++ b/docs/libnm/html/NMSettingInfiniband.html @@ -8,7 +8,7 @@ <link rel="up" href="ch03.html" title="Connection and Setting API Reference"> <link rel="prev" href="NMSettingHostname.html" title="NMSettingHostname"> <link rel="next" href="NMSettingIP4Config.html" title="NMSettingIP4Config"> -<meta name="generator" content="GTK-Doc V1.33.1 (XML mode)"> +<meta name="generator" content="GTK-Doc V1.33.0 (XML mode)"> <link rel="stylesheet" href="style.css" type="text/css"> </head> <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> @@ -197,7 +197,7 @@ nm_setting_infiniband_new (<em class="parameter"><code><span class="type">void</ <div class="refsect3"> <a name="nm-setting-infiniband-new.returns"></a><h4>Returns</h4> <p>the new empty <a class="link" href="NMSettingInfiniband.html" title="NMSettingInfiniband"><span class="type">NMSettingInfiniband</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> +<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p> </div> </div> <hr> @@ -466,6 +466,6 @@ specify the base device by setting either this property or </div> </div> <div class="footer"> -<hr>Generated by GTK-Doc V1.33.1</div> +<hr>Generated by GTK-Doc V1.33.0</div> </body> </html> \ No newline at end of file diff --git a/docs/libnm/html/NMSettingMacsec.html b/docs/libnm/html/NMSettingMacsec.html index 66325c6..0091396 100644 --- a/docs/libnm/html/NMSettingMacsec.html +++ b/docs/libnm/html/NMSettingMacsec.html @@ -8,7 +8,7 @@ <link rel="up" href="ch03.html" title="Connection and Setting API Reference"> <link rel="prev" href="NMSettingIPTunnel.html" title="NMSettingIPTunnel"> <link rel="next" href="NMSettingMacvlan.html" title="NMSettingMacvlan"> -<meta name="generator" content="GTK-Doc V1.33.1 (XML mode)"> +<meta name="generator" content="GTK-Doc V1.33.0 (XML mode)"> <link rel="stylesheet" href="style.css" type="text/css"> </head> <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> @@ -277,7 +277,7 @@ nm_setting_macsec_new (<em class="parameter"><code><span class="type">void</span <div class="refsect3"> <a name="nm-setting-macsec-new.returns"></a><h4>Returns</h4> <p>the new empty <a class="link" href="NMSettingMacsec.html" title="NMSettingMacsec"><span class="type">NMSettingMacsec</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> +<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p> </div> <p class="since">Since: 1.6</p> </div> @@ -773,6 +773,6 @@ in every packet.</p> </div> </div> <div class="footer"> -<hr>Generated by GTK-Doc V1.33.1</div> +<hr>Generated by GTK-Doc V1.33.0</div> </body> </html> \ No newline at end of file diff --git a/docs/libnm/html/NMSettingMacvlan.html b/docs/libnm/html/NMSettingMacvlan.html index 8659048..9821d08 100644 --- a/docs/libnm/html/NMSettingMacvlan.html +++ b/docs/libnm/html/NMSettingMacvlan.html @@ -8,7 +8,7 @@ <link rel="up" href="ch03.html" title="Connection and Setting API Reference"> <link rel="prev" href="NMSettingMacsec.html" title="NMSettingMacsec"> <link rel="next" href="NMSettingMatch.html" title="NMSettingMatch"> -<meta name="generator" content="GTK-Doc V1.33.1 (XML mode)"> +<meta name="generator" content="GTK-Doc V1.33.0 (XML mode)"> <link rel="stylesheet" href="style.css" type="text/css"> </head> <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> @@ -179,7 +179,7 @@ nm_setting_macvlan_new (<em class="parameter"><code><span class="type">void</spa <div class="refsect3"> <a name="nm-setting-macvlan-new.returns"></a><h4>Returns</h4> <p>the new empty <a class="link" href="NMSettingMacvlan.html" title="NMSettingMacvlan"><span class="type">NMSettingMacvlan</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> +<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p> </div> <p class="since">Since: 1.2</p> </div> @@ -442,6 +442,6 @@ with a <a class="link" href="NMSettingWired.html#NMSettingWired--mac-address" ti </div> </div> <div class="footer"> -<hr>Generated by GTK-Doc V1.33.1</div> +<hr>Generated by GTK-Doc V1.33.0</div> </body> </html> \ No newline at end of file diff --git a/docs/libnm/html/NMSettingMatch.html b/docs/libnm/html/NMSettingMatch.html index 5fe5160..f47dd2c 100644 --- a/docs/libnm/html/NMSettingMatch.html +++ b/docs/libnm/html/NMSettingMatch.html @@ -8,7 +8,7 @@ <link rel="up" href="ch03.html" title="Connection and Setting API Reference"> <link rel="prev" href="NMSettingMacvlan.html" title="NMSettingMacvlan"> <link rel="next" href="NMSettingOlpcMesh.html" title="NMSettingOlpcMesh"> -<meta name="generator" content="GTK-Doc V1.33.1 (XML mode)"> +<meta name="generator" content="GTK-Doc V1.33.0 (XML mode)"> <link rel="stylesheet" href="style.css" type="text/css"> </head> <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> @@ -315,7 +315,7 @@ nm_setting_match_new (<em class="parameter"><code><span class="type">void</span> <div class="refsect3"> <a name="nm-setting-match-new.returns"></a><h4>Returns</h4> <p>the new empty <a class="link" href="NMSettingMatch.html" title="NMSettingMatch"><span class="type">NMSettingMatch</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> +<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p> </div> <p class="since">Since: 1.14</p> </div> @@ -540,7 +540,7 @@ nm_setting_match_get_interface_names (<em class="parameter"><code><a class="link <p>the NULL terminated list of configured interface names.</p> <p>Before 1.26, the returned array was not <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> terminated and you MUST provide a length. </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>][<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=length]</span></p> +<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>][<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=length]</span></p> </div> <p class="since">Since: 1.14</p> </div> @@ -766,7 +766,7 @@ nm_setting_match_get_kernel_command_lines <div class="refsect3"> <a name="nm-setting-match-get-kernel-command-lines.returns"></a><h4>Returns</h4> <p>the configured interface names. </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>][<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=length]</span></p> +<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>][<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=length]</span></p> </div> <p class="since">Since: 1.26</p> </div> @@ -986,7 +986,7 @@ nm_setting_match_get_drivers (<em class="parameter"><code><a class="link" href=" <div class="refsect3"> <a name="nm-setting-match-get-drivers.returns"></a><h4>Returns</h4> <p>the configured drivers. </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>][<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=length]</span></p> +<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>][<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=length]</span></p> </div> <p class="since">Since: 1.26</p> </div> @@ -1205,7 +1205,7 @@ nm_setting_match_get_paths (<em class="parameter"><code><a class="link" href="NM <div class="refsect3"> <a name="nm-setting-match-get-paths.returns"></a><h4>Returns</h4> <p>the configured paths. </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>][<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=length]</span></p> +<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>][<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=length]</span></p> </div> <p class="since">Since: 1.26</p> </div> @@ -1244,6 +1244,6 @@ nm_setting_match_get_paths (<em class="parameter"><code><a class="link" href="NM </div> </div> <div class="footer"> -<hr>Generated by GTK-Doc V1.33.1</div> +<hr>Generated by GTK-Doc V1.33.0</div> </body> </html> \ No newline at end of file diff --git a/docs/libnm/html/NMSettingOlpcMesh.html b/docs/libnm/html/NMSettingOlpcMesh.html index a129051..4e383fc 100644 --- a/docs/libnm/html/NMSettingOlpcMesh.html +++ b/docs/libnm/html/NMSettingOlpcMesh.html @@ -8,7 +8,7 @@ <link rel="up" href="ch03.html" title="Connection and Setting API Reference"> <link rel="prev" href="NMSettingMatch.html" title="NMSettingMatch"> <link rel="next" href="NMSettingOvsBridge.html" title="NMSettingOvsBridge"> -<meta name="generator" content="GTK-Doc V1.33.1 (XML mode)"> +<meta name="generator" content="GTK-Doc V1.33.0 (XML mode)"> <link rel="stylesheet" href="style.css" type="text/css"> </head> <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> @@ -182,7 +182,7 @@ nm_setting_olpc_mesh_get_ssid (<em class="parameter"><code><a class="link" href= <div class="refsect3"> <a name="nm-setting-olpc-mesh-get-ssid.returns"></a><h4>Returns</h4> <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> +<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> </div> <hr> @@ -263,6 +263,6 @@ answers the request.</p> </div> </div> <div class="footer"> -<hr>Generated by GTK-Doc V1.33.1</div> +<hr>Generated by GTK-Doc V1.33.0</div> </body> </html> \ No newline at end of file diff --git a/docs/libnm/html/NMSettingOvsBridge.html b/docs/libnm/html/NMSettingOvsBridge.html index 8064160..1533db0 100644 --- a/docs/libnm/html/NMSettingOvsBridge.html +++ b/docs/libnm/html/NMSettingOvsBridge.html @@ -8,7 +8,7 @@ <link rel="up" href="ch03.html" title="Connection and Setting API Reference"> <link rel="prev" href="NMSettingOlpcMesh.html" title="NMSettingOlpcMesh"> <link rel="next" href="NMSettingOvsInterface.html" title="NMSettingOvsInterface"> -<meta name="generator" content="GTK-Doc V1.33.1 (XML mode)"> +<meta name="generator" content="GTK-Doc V1.33.0 (XML mode)"> <link rel="stylesheet" href="style.css" type="text/css"> </head> <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> @@ -138,7 +138,7 @@ nm_setting_ovs_bridge_new (<em class="parameter"><code><span class="type">void</ <div class="refsect3"> <a name="nm-setting-ovs-bridge-new.returns"></a><h4>Returns</h4> <p>the new empty <a class="link" href="NMSettingOvsBridge.html" title="NMSettingOvsBridge"><span class="type">NMSettingOvsBridge</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> +<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p> </div> <p class="since">Since: 1.10</p> </div> @@ -315,6 +315,6 @@ nm_setting_ovs_bridge_get_datapath_type </div> </div> <div class="footer"> -<hr>Generated by GTK-Doc V1.33.1</div> +<hr>Generated by GTK-Doc V1.33.0</div> </body> </html> \ No newline at end of file diff --git a/docs/libnm/html/NMSettingOvsDpdk.html b/docs/libnm/html/NMSettingOvsDpdk.html index 0051798..8ec3b30 100644 --- a/docs/libnm/html/NMSettingOvsDpdk.html +++ b/docs/libnm/html/NMSettingOvsDpdk.html @@ -8,7 +8,7 @@ <link rel="up" href="ch03.html" title="Connection and Setting API Reference"> <link rel="prev" href="NMSettingOvsInterface.html" title="NMSettingOvsInterface"> <link rel="next" href="NMSettingOvsPatch.html" title="NMSettingOvsPatch"> -<meta name="generator" content="GTK-Doc V1.33.1 (XML mode)"> +<meta name="generator" content="GTK-Doc V1.33.0 (XML mode)"> <link rel="stylesheet" href="style.css" type="text/css"> </head> <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> @@ -91,7 +91,7 @@ nm_setting_ovs_dpdk_new (<em class="parameter"><code><span class="type">void</sp <div class="refsect3"> <a name="nm-setting-ovs-dpdk-new.returns"></a><h4>Returns</h4> <p>the new empty <a class="link" href="NMSettingOvsDpdk.html" title="NMSettingOvsDpdk"><span class="type">NMSettingOvsDpdk</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> +<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p> </div> <p class="since">Since: 1.20</p> </div> @@ -138,6 +138,6 @@ nm_setting_ovs_dpdk_get_devargs (<em class="parameter"><code><a class="link" hre </div> </div> <div class="footer"> -<hr>Generated by GTK-Doc V1.33.1</div> +<hr>Generated by GTK-Doc V1.33.0</div> </body> </html> \ No newline at end of file diff --git a/docs/libnm/html/NMSettingOvsExternalIDs.html b/docs/libnm/html/NMSettingOvsExternalIDs.html index 9a04d3d..de9579f 100644 --- a/docs/libnm/html/NMSettingOvsExternalIDs.html +++ b/docs/libnm/html/NMSettingOvsExternalIDs.html @@ -8,7 +8,7 @@ <link rel="up" href="ch03.html" title="Connection and Setting API Reference"> <link rel="prev" href="NMSettingOvsPort.html" title="NMSettingOvsPort"> <link rel="next" href="NMSettingPpp.html" title="NMSettingPpp"> -<meta name="generator" content="GTK-Doc V1.33.1 (XML mode)"> +<meta name="generator" content="GTK-Doc V1.33.0 (XML mode)"> <link rel="stylesheet" href="style.css" type="text/css"> </head> <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> @@ -123,7 +123,7 @@ nm_setting_ovs_external_ids_new (<em class="parameter"><code><span class="type"> <a name="nm-setting-ovs-external-ids-new.returns"></a><h4>Returns</h4> <p>the new empty <a class="link" href="NMSettingOvsExternalIDs.html" title="NMSettingOvsExternalIDs"><span class="type">NMSettingOvsExternalIDs</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>][<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> NMSettingOvsExternalIDs]</span></p> +<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> NMSettingOvsExternalIDs]</span></p> </div> <p class="since">Since: 1.30</p> </div> @@ -160,7 +160,7 @@ nm_setting_ovs_external_ids_get_data_keys <a name="nm-setting-ovs-external-ids-get-data-keys.returns"></a><h4>Returns</h4> <p>a <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> +<p><span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=out_len][<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> </div> <hr> @@ -196,7 +196,7 @@ nm_setting_ovs_external_ids_get_data (<em class="parameter"><code><a class="link <p>the value associated with <em class="parameter"><code>key</code></em> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if no such value exists. </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> +<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> <p class="since">Since: 1.30</p> </div> @@ -331,6 +331,6 @@ is a valid user data value.</p> </div> </div> <div class="footer"> -<hr>Generated by GTK-Doc V1.33.1</div> +<hr>Generated by GTK-Doc V1.33.0</div> </body> </html> \ No newline at end of file diff --git a/docs/libnm/html/NMSettingOvsInterface.html b/docs/libnm/html/NMSettingOvsInterface.html index 6499cf9..6b673a0 100644 --- a/docs/libnm/html/NMSettingOvsInterface.html +++ b/docs/libnm/html/NMSettingOvsInterface.html @@ -8,7 +8,7 @@ <link rel="up" href="ch03.html" title="Connection and Setting API Reference"> <link rel="prev" href="NMSettingOvsBridge.html" title="NMSettingOvsBridge"> <link rel="next" href="NMSettingOvsDpdk.html" title="NMSettingOvsDpdk"> -<meta name="generator" content="GTK-Doc V1.33.1 (XML mode)"> +<meta name="generator" content="GTK-Doc V1.33.0 (XML mode)"> <link rel="stylesheet" href="style.css" type="text/css"> </head> <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> @@ -91,7 +91,7 @@ nm_setting_ovs_interface_new (<em class="parameter"><code><span class="type">voi <div class="refsect3"> <a name="nm-setting-ovs-interface-new.returns"></a><h4>Returns</h4> <p>the new empty <a class="link" href="NMSettingOvsInterface.html" title="NMSettingOvsInterface"><span class="type">NMSettingOvsInterface</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> +<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p> </div> <p class="since">Since: 1.10</p> </div> @@ -139,6 +139,6 @@ nm_setting_ovs_interface_get_interface_type </div> </div> <div class="footer"> -<hr>Generated by GTK-Doc V1.33.1</div> +<hr>Generated by GTK-Doc V1.33.0</div> </body> </html> \ No newline at end of file diff --git a/docs/libnm/html/NMSettingOvsPatch.html b/docs/libnm/html/NMSettingOvsPatch.html index 5ed7cc1..3bdab4a 100644 --- a/docs/libnm/html/NMSettingOvsPatch.html +++ b/docs/libnm/html/NMSettingOvsPatch.html @@ -8,7 +8,7 @@ <link rel="up" href="ch03.html" title="Connection and Setting API Reference"> <link rel="prev" href="NMSettingOvsDpdk.html" title="NMSettingOvsDpdk"> <link rel="next" href="NMSettingOvsPort.html" title="NMSettingOvsPort"> -<meta name="generator" content="GTK-Doc V1.33.1 (XML mode)"> +<meta name="generator" content="GTK-Doc V1.33.0 (XML mode)"> <link rel="stylesheet" href="style.css" type="text/css"> </head> <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> @@ -91,7 +91,7 @@ nm_setting_ovs_patch_new (<em class="parameter"><code><span class="type">void</s <div class="refsect3"> <a name="nm-setting-ovs-patch-new.returns"></a><h4>Returns</h4> <p>the new empty <a class="link" href="NMSettingOvsPatch.html" title="NMSettingOvsPatch"><span class="type">NMSettingOvsPatch</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> +<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p> </div> <p class="since">Since: 1.10</p> </div> @@ -138,6 +138,6 @@ nm_setting_ovs_patch_get_peer (<em class="parameter"><code><a class="link" href= </div> </div> <div class="footer"> -<hr>Generated by GTK-Doc V1.33.1</div> +<hr>Generated by GTK-Doc V1.33.0</div> </body> </html> \ No newline at end of file diff --git a/docs/libnm/html/NMSettingOvsPort.html b/docs/libnm/html/NMSettingOvsPort.html index b3784ac..ea6dcae 100644 --- a/docs/libnm/html/NMSettingOvsPort.html +++ b/docs/libnm/html/NMSettingOvsPort.html @@ -8,7 +8,7 @@ <link rel="up" href="ch03.html" title="Connection and Setting API Reference"> <link rel="prev" href="NMSettingOvsPatch.html" title="NMSettingOvsPatch"> <link rel="next" href="NMSettingOvsExternalIDs.html" title="NMSettingOvsExternalIDs"> -<meta name="generator" content="GTK-Doc V1.33.1 (XML mode)"> +<meta name="generator" content="GTK-Doc V1.33.0 (XML mode)"> <link rel="stylesheet" href="style.css" type="text/css"> </head> <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> @@ -149,7 +149,7 @@ nm_setting_ovs_port_new (<em class="parameter"><code><span class="type">void</sp <div class="refsect3"> <a name="nm-setting-ovs-port-new.returns"></a><h4>Returns</h4> <p>the new empty <a class="link" href="NMSettingOvsPort.html" title="NMSettingOvsPort"><span class="type">NMSettingOvsPort</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> +<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p> </div> <p class="since">Since: 1.10</p> </div> @@ -357,6 +357,6 @@ nm_setting_ovs_port_get_bond_downdelay </div> </div> <div class="footer"> -<hr>Generated by GTK-Doc V1.33.1</div> +<hr>Generated by GTK-Doc V1.33.0</div> </body> </html> \ No newline at end of file diff --git a/docs/libnm/html/NMSettingPpp.html b/docs/libnm/html/NMSettingPpp.html index 64fe6bb..614a4c7 100644 --- a/docs/libnm/html/NMSettingPpp.html +++ b/docs/libnm/html/NMSettingPpp.html @@ -8,7 +8,7 @@ <link rel="up" href="ch03.html" title="Connection and Setting API Reference"> <link rel="prev" href="NMSettingOvsExternalIDs.html" title="NMSettingOvsExternalIDs"> <link rel="next" href="NMSettingPppoe.html" title="NMSettingPppoe"> -<meta name="generator" content="GTK-Doc V1.33.1 (XML mode)"> +<meta name="generator" content="GTK-Doc V1.33.0 (XML mode)"> <link rel="stylesheet" href="style.css" type="text/css"> </head> <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> @@ -413,7 +413,7 @@ nm_setting_ppp_new (<em class="parameter"><code><span class="type">void</span></ <div class="refsect3"> <a name="nm-setting-ppp-new.returns"></a><h4>Returns</h4> <p>the new empty <a class="link" href="NMSettingPpp.html" title="NMSettingPpp"><span class="type">NMSettingPpp</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> +<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p> </div> </div> <hr> @@ -1177,6 +1177,6 @@ be set to <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macro </div> </div> <div class="footer"> -<hr>Generated by GTK-Doc V1.33.1</div> +<hr>Generated by GTK-Doc V1.33.0</div> </body> </html> \ No newline at end of file diff --git a/docs/libnm/html/NMSettingPppoe.html b/docs/libnm/html/NMSettingPppoe.html index 174f491..28e9a59 100644 --- a/docs/libnm/html/NMSettingPppoe.html +++ b/docs/libnm/html/NMSettingPppoe.html @@ -8,7 +8,7 @@ <link rel="up" href="ch03.html" title="Connection and Setting API Reference"> <link rel="prev" href="NMSettingPpp.html" title="NMSettingPpp"> <link rel="next" href="NMSettingProxy.html" title="NMSettingProxy"> -<meta name="generator" content="GTK-Doc V1.33.1 (XML mode)"> +<meta name="generator" content="GTK-Doc V1.33.0 (XML mode)"> <link rel="stylesheet" href="style.css" type="text/css"> </head> <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> @@ -191,7 +191,7 @@ nm_setting_pppoe_new (<em class="parameter"><code><span class="type">void</span> <div class="refsect3"> <a name="nm-setting-pppoe-new.returns"></a><h4>Returns</h4> <p>the new empty <a class="link" href="NMSettingPppoe.html" title="NMSettingPppoe"><span class="type">NMSettingPppoe</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> +<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p> </div> </div> <hr> @@ -420,6 +420,6 @@ access concentrators or a specific service is known to be required.</p> </div> </div> <div class="footer"> -<hr>Generated by GTK-Doc V1.33.1</div> +<hr>Generated by GTK-Doc V1.33.0</div> </body> </html> \ No newline at end of file diff --git a/docs/libnm/html/NMSettingProxy.html b/docs/libnm/html/NMSettingProxy.html index 9869929..9191af7 100644 --- a/docs/libnm/html/NMSettingProxy.html +++ b/docs/libnm/html/NMSettingProxy.html @@ -8,7 +8,7 @@ <link rel="up" href="ch03.html" title="Connection and Setting API Reference"> <link rel="prev" href="NMSettingPppoe.html" title="NMSettingPppoe"> <link rel="next" href="NMSettingSerial.html" title="NMSettingSerial"> -<meta name="generator" content="GTK-Doc V1.33.1 (XML mode)"> +<meta name="generator" content="GTK-Doc V1.33.0 (XML mode)"> <link rel="stylesheet" href="style.css" type="text/css"> </head> <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> @@ -410,6 +410,6 @@ nm_setting_proxy_get_pac_script (<em class="parameter"><code><a class="link" hre </div> </div> <div class="footer"> -<hr>Generated by GTK-Doc V1.33.1</div> +<hr>Generated by GTK-Doc V1.33.0</div> </body> </html> \ No newline at end of file diff --git a/docs/libnm/html/NMSettingSerial.html b/docs/libnm/html/NMSettingSerial.html index 4b28f16..26d5c5b 100644 --- a/docs/libnm/html/NMSettingSerial.html +++ b/docs/libnm/html/NMSettingSerial.html @@ -8,7 +8,7 @@ <link rel="up" href="ch03.html" title="Connection and Setting API Reference"> <link rel="prev" href="NMSettingProxy.html" title="NMSettingProxy"> <link rel="next" href="NMSettingSriov.html" title="NMSettingSriov"> -<meta name="generator" content="GTK-Doc V1.33.1 (XML mode)"> +<meta name="generator" content="GTK-Doc V1.33.0 (XML mode)"> <link rel="stylesheet" href="style.css" type="text/css"> </head> <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> @@ -198,7 +198,7 @@ nm_setting_serial_new (<em class="parameter"><code><span class="type">void</span <div class="refsect3"> <a name="nm-setting-serial-new.returns"></a><h4>Returns</h4> <p>the new empty <a class="link" href="NMSettingSerial.html" title="NMSettingSerial"><span class="type">NMSettingSerial</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> +<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p> </div> </div> <hr> @@ -463,6 +463,6 @@ The 1 in "8n1" for example.</p> </div> </div> <div class="footer"> -<hr>Generated by GTK-Doc V1.33.1</div> +<hr>Generated by GTK-Doc V1.33.0</div> </body> </html> \ No newline at end of file diff --git a/docs/libnm/html/NMSettingSriov.html b/docs/libnm/html/NMSettingSriov.html index 1884421..10be809 100644 --- a/docs/libnm/html/NMSettingSriov.html +++ b/docs/libnm/html/NMSettingSriov.html @@ -8,7 +8,7 @@ <link rel="up" href="ch03.html" title="Connection and Setting API Reference"> <link rel="prev" href="NMSettingSerial.html" title="NMSettingSerial"> <link rel="next" href="NMSettingTCConfig.html" title="NMSettingTCConfig"> -<meta name="generator" content="GTK-Doc V1.33.1 (XML mode)"> +<meta name="generator" content="GTK-Doc V1.33.0 (XML mode)"> <link rel="stylesheet" href="style.css" type="text/css"> </head> <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> @@ -326,7 +326,7 @@ nm_setting_sriov_new (<em class="parameter"><code><span class="type">void</span> <div class="refsect3"> <a name="nm-setting-sriov-new.returns"></a><h4>Returns</h4> <p>the new empty <a class="link" href="NMSettingSriov.html" title="NMSettingSriov"><span class="type">NMSettingSriov</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> +<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p> </div> <p class="since">Since: 1.14</p> </div> @@ -416,7 +416,7 @@ nm_setting_sriov_get_vf (<em class="parameter"><code><a class="link" href="NMSet <a name="nm-setting-sriov-get-vf.returns"></a><h4>Returns</h4> <p>the VF at index <em class="parameter"><code>idx</code></em> . </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> +<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> <p class="since">Since: 1.14</p> </div> @@ -675,7 +675,7 @@ nm_sriov_vf_get_vlan_ids (<em class="parameter"><code>const <a class="link" href <div class="refsect3"> <a name="nm-sriov-vf-get-vlan-ids.returns"></a><h4>Returns</h4> <p>a list of VLAN ids configured on the VF. </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>][<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=length]</span></p> +<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>][<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=length]</span></p> </div> <p class="since">Since: 1.14</p> </div> @@ -819,7 +819,7 @@ nm_sriov_vf_new (<em class="parameter"><code><a href="https://developer.gnome.or <div class="refsect3"> <a name="nm-sriov-vf-new.returns"></a><h4>Returns</h4> <p>the new <a class="link" href="NMSettingSriov.html#NMSriovVF"><span class="type">NMSriovVF</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> +<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p> </div> <p class="since">Since: 1.14</p> </div> @@ -934,7 +934,7 @@ nm_sriov_vf_dup (<em class="parameter"><code>const <a class="link" href="NMSetti <a name="nm-sriov-vf-dup.returns"></a><h4>Returns</h4> <p>a copy of <em class="parameter"><code>vf</code></em> . </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> +<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p> </div> <p class="since">Since: 1.14</p> </div> @@ -996,7 +996,7 @@ nm_sriov_vf_set_attribute (<em class="parameter"><code><a class="link" href="NMS <tr> <td class="parameter_name"><p>value</p></td> <td class="parameter_description"><p>the value. </p></td> -<td class="parameter_annotations"><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>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td> +<td class="parameter_annotations"><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td> </tr> </tbody> </table></div> @@ -1028,7 +1028,7 @@ nm_sriov_vf_get_attribute_names (<em class="parameter"><code>const <a class="lin <div class="refsect3"> <a name="nm-sriov-vf-get-attribute-names.returns"></a><h4>Returns</h4> <p>a <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>-terminated array of attribute names. </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>]</span></p> +<p><span class="annotation">[<acronym title="Free data container after the code is done."><span class="acronym">transfer container</span></acronym>]</span></p> </div> <p class="since">Since: 1.14</p> </div> @@ -1070,7 +1070,7 @@ on <em class="parameter"><code>vf</code></em> , or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>vf</code></em> has no such attribute. </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> +<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> <p class="since">Since: 1.14</p> </div> @@ -1213,6 +1213,6 @@ the value is of the correct type and well-formed.</p> </div> </div> <div class="footer"> -<hr>Generated by GTK-Doc V1.33.1</div> +<hr>Generated by GTK-Doc V1.33.0</div> </body> </html> \ No newline at end of file diff --git a/docs/libnm/html/NMSettingTCConfig.html b/docs/libnm/html/NMSettingTCConfig.html index 50bebca..5e82df0 100644 --- a/docs/libnm/html/NMSettingTCConfig.html +++ b/docs/libnm/html/NMSettingTCConfig.html @@ -8,7 +8,7 @@ <link rel="up" href="ch03.html" title="Connection and Setting API Reference"> <link rel="prev" href="NMSettingSriov.html" title="NMSettingSriov"> <link rel="next" href="NMSettingTeamPort.html" title="NMSettingTeamPort"> -<meta name="generator" content="GTK-Doc V1.33.1 (XML mode)"> +<meta name="generator" content="GTK-Doc V1.33.0 (XML mode)"> <link rel="stylesheet" href="style.css" type="text/css"> </head> <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> @@ -477,7 +477,7 @@ nm_tc_qdisc_new (<em class="parameter"><code>const <span class="type">char</span <div class="refsect3"> <a name="nm-tc-qdisc-new.returns"></a><h4>Returns</h4> <p>the new <a class="link" href="NMSettingTCConfig.html#NMTCQdisc"><span class="type">NMTCQdisc</span></a> object, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> on error. </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> +<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p> </div> <p class="since">Since: 1.12</p> </div> @@ -591,7 +591,7 @@ nm_tc_qdisc_dup (<em class="parameter"><code><a class="link" href="NMSettingTCCo <a name="nm-tc-qdisc-dup.returns"></a><h4>Returns</h4> <p>a copy of <em class="parameter"><code>qdisc</code></em> . </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> +<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p> </div> <p class="since">Since: 1.12</p> </div> @@ -726,7 +726,7 @@ nm_tc_qdisc_get_attribute_names (<em class="parameter"><code><a class="link" hre <a name="nm-tc-qdisc-get-attribute-names.returns"></a><h4>Returns</h4> <p>a <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>-terminated array of attribute names or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if no attributes are set. </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>]</span></p> +<p><span class="annotation">[<acronym title="Free data container after the code is done."><span class="acronym">transfer container</span></acronym>]</span></p> </div> <p class="since">Since: 1.18</p> </div> @@ -768,7 +768,7 @@ on <em class="parameter"><code>qdisc</code></em> , or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>qdisc</code></em> has no such attribute. </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> +<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> <p class="since">Since: 1.18</p> </div> @@ -803,7 +803,7 @@ nm_tc_qdisc_set_attribute (<em class="parameter"><code><a class="link" href="NMS <tr> <td class="parameter_name"><p>value</p></td> <td class="parameter_description"><p>the value. </p></td> -<td class="parameter_annotations"><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>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td> +<td class="parameter_annotations"><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td> </tr> </tbody> </table></div> @@ -842,7 +842,7 @@ nm_tc_action_new (<em class="parameter"><code>const <span class="type">char</spa <div class="refsect3"> <a name="nm-tc-action-new.returns"></a><h4>Returns</h4> <p>the new <a class="link" href="NMSettingTCConfig.html#NMTCAction"><span class="type">NMTCAction</span></a> object, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> on error. </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> +<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p> </div> <p class="since">Since: 1.12</p> </div> @@ -956,7 +956,7 @@ nm_tc_action_dup (<em class="parameter"><code><a class="link" href="NMSettingTCC <a name="nm-tc-action-dup.returns"></a><h4>Returns</h4> <p>a copy of <em class="parameter"><code>action</code></em> . </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> +<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p> </div> <p class="since">Since: 1.12</p> </div> @@ -1007,7 +1007,7 @@ nm_tc_action_get_attribute_names (<em class="parameter"><code><a class="link" hr <div class="refsect3"> <a name="nm-tc-action-get-attribute-names.returns"></a><h4>Returns</h4> <p>a <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>-terminated array of attribute names,. </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> +<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p> </div> <p class="since">Since: 1.12</p> </div> @@ -1049,7 +1049,7 @@ on <em class="parameter"><code>action</code></em> , or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>action</code></em> has no such attribute. </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> +<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> <p class="since">Since: 1.12</p> </div> @@ -1084,7 +1084,7 @@ nm_tc_action_set_attribute (<em class="parameter"><code><a class="link" href="NM <tr> <td class="parameter_name"><p>value</p></td> <td class="parameter_description"><p>the value. </p></td> -<td class="parameter_annotations"><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>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td> +<td class="parameter_annotations"><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td> </tr> </tbody> </table></div> @@ -1129,7 +1129,7 @@ nm_tc_tfilter_new (<em class="parameter"><code>const <span class="type">char</sp <div class="refsect3"> <a name="nm-tc-tfilter-new.returns"></a><h4>Returns</h4> <p>the new <a class="link" href="NMSettingTCConfig.html#NMTCTfilter"><span class="type">NMTCTfilter</span></a> object, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> on error. </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> +<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p> </div> <p class="since">Since: 1.12</p> </div> @@ -1243,7 +1243,7 @@ nm_tc_tfilter_dup (<em class="parameter"><code><a class="link" href="NMSettingTC <a name="nm-tc-tfilter-dup.returns"></a><h4>Returns</h4> <p>a copy of <em class="parameter"><code>tfilter</code></em> . </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> +<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p> </div> <p class="since">Since: 1.12</p> </div> @@ -1418,7 +1418,7 @@ nm_setting_tc_config_new (<em class="parameter"><code><span class="type">void</s <div class="refsect3"> <a name="nm-setting-tc-config-new.returns"></a><h4>Returns</h4> <p>the new empty <a class="link" href="NMSettingTCConfig.html" title="NMSettingTCConfig"><span class="type">NMSettingTCConfig</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> +<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p> </div> <p class="since">Since: 1.12</p> </div> @@ -1480,7 +1480,7 @@ nm_setting_tc_config_get_qdisc (<em class="parameter"><code><a class="link" href <a name="nm-setting-tc-config-get-qdisc.returns"></a><h4>Returns</h4> <p>the qdisc at index <em class="parameter"><code>idx</code></em> . </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> +<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> <p class="since">Since: 1.12</p> </div> @@ -1672,7 +1672,7 @@ nm_setting_tc_config_get_tfilter (<em class="parameter"><code><a class="link" hr <a name="nm-setting-tc-config-get-tfilter.returns"></a><h4>Returns</h4> <p>the tfilter at index <em class="parameter"><code>idx</code></em> . </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> +<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> <p class="since">Since: 1.12</p> </div> @@ -1829,6 +1829,6 @@ nm_setting_tc_config_clear_tfilters (<em class="parameter"><code><a class="link" </div> </div> <div class="footer"> -<hr>Generated by GTK-Doc V1.33.1</div> +<hr>Generated by GTK-Doc V1.33.0</div> </body> </html> \ No newline at end of file diff --git a/docs/libnm/html/NMSettingTeam.html b/docs/libnm/html/NMSettingTeam.html index fe3b44c..0faf7bf 100644 --- a/docs/libnm/html/NMSettingTeam.html +++ b/docs/libnm/html/NMSettingTeam.html @@ -8,7 +8,7 @@ <link rel="up" href="ch03.html" title="Connection and Setting API Reference"> <link rel="prev" href="NMSettingTeamPort.html" title="NMSettingTeamPort"> <link rel="next" href="NMSettingTun.html" title="NMSettingTun"> -<meta name="generator" content="GTK-Doc V1.33.1 (XML mode)"> +<meta name="generator" content="GTK-Doc V1.33.0 (XML mode)"> <link rel="stylesheet" href="style.css" type="text/css"> </head> <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> @@ -724,7 +724,7 @@ consistency with the link_watcher constructors of other type</p></td> <div class="refsect3"> <a name="nm-team-link-watcher-new-ethtool.returns"></a><h4>Returns</h4> <p>the new <a class="link" href="NMSettingTeam.html#NMTeamLinkWatcher"><span class="type">NMTeamLinkWatcher</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> +<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p> </div> <p class="since">Since: 1.12</p> </div> @@ -779,7 +779,7 @@ target address in the NS packet</p></td> <div class="refsect3"> <a name="nm-team-link-watcher-new-nsna-ping.returns"></a><h4>Returns</h4> <p>the new <a class="link" href="NMSettingTeam.html#NMTeamLinkWatcher"><span class="type">NMTeamLinkWatcher</span></a> object, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> on error. </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> +<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p> </div> <p class="since">Since: 1.12</p> </div> @@ -847,7 +847,7 @@ address in the arp request</p></td> <div class="refsect3"> <a name="nm-team-link-watcher-new-arp-ping.returns"></a><h4>Returns</h4> <p>the new <a class="link" href="NMSettingTeam.html#NMTeamLinkWatcher"><span class="type">NMTeamLinkWatcher</span></a> object, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> on error. </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> +<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p> </div> <p class="since">Since: 1.12</p> </div> @@ -921,7 +921,7 @@ address in the arp request</p></td> <div class="refsect3"> <a name="nm-team-link-watcher-new-arp-ping2.returns"></a><h4>Returns</h4> <p>the new <a class="link" href="NMSettingTeam.html#NMTeamLinkWatcher"><span class="type">NMTeamLinkWatcher</span></a> object, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> on error. </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> +<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p> </div> <p class="since">Since: 1.16</p> </div> @@ -1035,7 +1035,7 @@ nm_team_link_watcher_dup (<em class="parameter"><code>const <a class="link" href <a name="nm-team-link-watcher-dup.returns"></a><h4>Returns</h4> <p>a copy of <em class="parameter"><code>watcher</code></em> . </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> +<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p> </div> <p class="since">Since: 1.12</p> </div> @@ -1283,7 +1283,7 @@ nm_setting_team_new (<em class="parameter"><code><span class="type">void</span>< <div class="refsect3"> <a name="nm-setting-team-new.returns"></a><h4>Returns</h4> <p>the new empty <a class="link" href="NMSettingTeam.html" title="NMSettingTeam"><span class="type">NMSettingTeam</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> +<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p> </div> </div> <hr> @@ -1881,7 +1881,7 @@ nm_setting_team_get_link_watcher (<em class="parameter"><code><a class="link" hr <a name="nm-setting-team-get-link-watcher.returns"></a><h4>Returns</h4> <p>the link watcher at index <em class="parameter"><code>idx</code></em> . </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> +<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> <p class="since">Since: 1.12</p> </div> @@ -2488,6 +2488,6 @@ Permitted values are: "roundrobin", "broadcast", "activebackup", </div> </div> <div class="footer"> -<hr>Generated by GTK-Doc V1.33.1</div> +<hr>Generated by GTK-Doc V1.33.0</div> </body> </html> \ No newline at end of file diff --git a/docs/libnm/html/NMSettingTeamPort.html b/docs/libnm/html/NMSettingTeamPort.html index 5ec9a74..be73107 100644 --- a/docs/libnm/html/NMSettingTeamPort.html +++ b/docs/libnm/html/NMSettingTeamPort.html @@ -8,7 +8,7 @@ <link rel="up" href="ch03.html" title="Connection and Setting API Reference"> <link rel="prev" href="NMSettingTCConfig.html" title="NMSettingTCConfig"> <link rel="next" href="NMSettingTeam.html" title="NMSettingTeam"> -<meta name="generator" content="GTK-Doc V1.33.1 (XML mode)"> +<meta name="generator" content="GTK-Doc V1.33.0 (XML mode)"> <link rel="stylesheet" href="style.css" type="text/css"> </head> <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> @@ -273,7 +273,7 @@ nm_setting_team_port_new (<em class="parameter"><code><span class="type">void</s <div class="refsect3"> <a name="nm-setting-team-port-new.returns"></a><h4>Returns</h4> <p>the new empty <a class="link" href="NMSettingTeamPort.html" title="NMSettingTeamPort"><span class="type">NMSettingTeamPort</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> +<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p> </div> </div> <hr> @@ -490,7 +490,7 @@ nm_setting_team_port_get_link_watcher (<em class="parameter"><code><a class="lin <a name="nm-setting-team-port-get-link-watcher.returns"></a><h4>Returns</h4> <p>the link watcher at index <em class="parameter"><code>idx</code></em> . </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> +<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> <p class="since">Since: 1.12</p> </div> @@ -775,6 +775,6 @@ When set to -1 means the parameter is skipped from the json config.</p> </div> </div> <div class="footer"> -<hr>Generated by GTK-Doc V1.33.1</div> +<hr>Generated by GTK-Doc V1.33.0</div> </body> </html> \ No newline at end of file diff --git a/docs/libnm/html/NMSettingTun.html b/docs/libnm/html/NMSettingTun.html index 5a31dea..71ee6d3 100644 --- a/docs/libnm/html/NMSettingTun.html +++ b/docs/libnm/html/NMSettingTun.html @@ -8,7 +8,7 @@ <link rel="up" href="ch03.html" title="Connection and Setting API Reference"> <link rel="prev" href="NMSettingTeam.html" title="NMSettingTeam"> <link rel="next" href="NMSettingUser.html" title="NMSettingUser"> -<meta name="generator" content="GTK-Doc V1.33.1 (XML mode)"> +<meta name="generator" content="GTK-Doc V1.33.0 (XML mode)"> <link rel="stylesheet" href="style.css" type="text/css"> </head> <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> @@ -213,7 +213,7 @@ nm_setting_tun_new (<em class="parameter"><code><span class="type">void</span></ <div class="refsect3"> <a name="nm-setting-tun-new.returns"></a><h4>Returns</h4> <p>the new empty <a class="link" href="NMSettingTun.html" title="NMSettingTun"><span class="type">NMSettingTun</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> +<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p> </div> <p class="since">Since: 1.2</p> </div> @@ -536,6 +536,6 @@ network header.</p> </div> </div> <div class="footer"> -<hr>Generated by GTK-Doc V1.33.1</div> +<hr>Generated by GTK-Doc V1.33.0</div> </body> </html> \ No newline at end of file diff --git a/docs/libnm/html/NMSettingUser.html b/docs/libnm/html/NMSettingUser.html index d268e29..432fbce 100644 --- a/docs/libnm/html/NMSettingUser.html +++ b/docs/libnm/html/NMSettingUser.html @@ -8,7 +8,7 @@ <link rel="up" href="ch03.html" title="Connection and Setting API Reference"> <link rel="prev" href="NMSettingTun.html" title="NMSettingTun"> <link rel="next" href="NMSettingVeth.html" title="NMSettingVeth"> -<meta name="generator" content="GTK-Doc V1.33.1 (XML mode)"> +<meta name="generator" content="GTK-Doc V1.33.0 (XML mode)"> <link rel="stylesheet" href="style.css" type="text/css"> </head> <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> @@ -156,7 +156,7 @@ nm_setting_user_get_keys (<em class="parameter"><code><a class="link" href="NMSe <a name="nm-setting-user-get-keys.returns"></a><h4>Returns</h4> <p>a <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> +<p><span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=out_len][<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> </div> <hr> @@ -192,7 +192,7 @@ nm_setting_user_get_data (<em class="parameter"><code><a class="link" href="NMSe <p>the value associated with <em class="parameter"><code>key</code></em> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if no such value exists. </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> +<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> <p class="since">Since: 1.8</p> </div> @@ -342,6 +342,6 @@ is a valid user data value.</p> </div> </div> <div class="footer"> -<hr>Generated by GTK-Doc V1.33.1</div> +<hr>Generated by GTK-Doc V1.33.0</div> </body> </html> \ No newline at end of file diff --git a/docs/libnm/html/NMSettingVeth.html b/docs/libnm/html/NMSettingVeth.html index dee004a..405f5e9 100644 --- a/docs/libnm/html/NMSettingVeth.html +++ b/docs/libnm/html/NMSettingVeth.html @@ -8,7 +8,7 @@ <link rel="up" href="ch03.html" title="Connection and Setting API Reference"> <link rel="prev" href="NMSettingUser.html" title="NMSettingUser"> <link rel="next" href="NMSettingVlan.html" title="NMSettingVlan"> -<meta name="generator" content="GTK-Doc V1.33.1 (XML mode)"> +<meta name="generator" content="GTK-Doc V1.33.0 (XML mode)"> <link rel="stylesheet" href="style.css" type="text/css"> </head> <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> @@ -91,7 +91,7 @@ nm_setting_veth_new (<em class="parameter"><code><span class="type">void</span>< <div class="refsect3"> <a name="nm-setting-veth-new.returns"></a><h4>Returns</h4> <p>the new empty <a class="link" href="NMSettingVeth.html" title="NMSettingVeth"><span class="type">NMSettingVeth</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> +<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p> </div> <p class="since">Since: 1.30</p> </div> @@ -138,6 +138,6 @@ nm_setting_veth_get_peer (<em class="parameter"><code><a class="link" href="NMSe </div> </div> <div class="footer"> -<hr>Generated by GTK-Doc V1.33.1</div> +<hr>Generated by GTK-Doc V1.33.0</div> </body> </html> \ No newline at end of file diff --git a/docs/libnm/html/NMSettingVlan.html b/docs/libnm/html/NMSettingVlan.html index f5966c2..3f32377 100644 --- a/docs/libnm/html/NMSettingVlan.html +++ b/docs/libnm/html/NMSettingVlan.html @@ -8,7 +8,7 @@ <link rel="up" href="ch03.html" title="Connection and Setting API Reference"> <link rel="prev" href="NMSettingVeth.html" title="NMSettingVeth"> <link rel="next" href="NMSettingVpn.html" title="NMSettingVpn"> -<meta name="generator" content="GTK-Doc V1.33.1 (XML mode)"> +<meta name="generator" content="GTK-Doc V1.33.0 (XML mode)"> <link rel="stylesheet" href="style.css" type="text/css"> </head> <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> @@ -254,7 +254,7 @@ nm_setting_vlan_new (<em class="parameter"><code><span class="type">void</span>< <div class="refsect3"> <a name="nm-setting-vlan-new.returns"></a><h4>Returns</h4> <p>the new empty <a class="link" href="NMSettingVlan.html" title="NMSettingVlan"><span class="type">NMSettingVlan</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> +<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p> </div> </div> <hr> @@ -895,6 +895,6 @@ with a <a class="link" href="NMSettingWired.html#NMSettingWired--mac-address" ti </div> </div> <div class="footer"> -<hr>Generated by GTK-Doc V1.33.1</div> +<hr>Generated by GTK-Doc V1.33.0</div> </body> </html> \ No newline at end of file diff --git a/docs/libnm/html/NMSettingVpn.html b/docs/libnm/html/NMSettingVpn.html index 7891c7a..0e4be1f 100644 --- a/docs/libnm/html/NMSettingVpn.html +++ b/docs/libnm/html/NMSettingVpn.html @@ -8,7 +8,7 @@ <link rel="up" href="ch03.html" title="Connection and Setting API Reference"> <link rel="prev" href="NMSettingVlan.html" title="NMSettingVlan"> <link rel="next" href="NMSettingVrf.html" title="NMSettingVrf"> -<meta name="generator" content="GTK-Doc V1.33.1 (XML mode)"> +<meta name="generator" content="GTK-Doc V1.33.0 (XML mode)"> <link rel="stylesheet" href="style.css" type="text/css"> </head> <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> @@ -334,7 +334,7 @@ nm_setting_vpn_new (<em class="parameter"><code><span class="type">void</span></ <div class="refsect3"> <a name="nm-setting-vpn-new.returns"></a><h4>Returns</h4> <p>the new empty <a class="link" href="NMSettingVpn.html" title="NMSettingVpn"><span class="type">NMSettingVpn</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> +<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p> </div> </div> <hr> @@ -633,7 +633,7 @@ nm_setting_vpn_get_data_keys (<em class="parameter"><code><a class="link" href=" <p>a <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>-terminated array containing each data key or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if there are no data items. </p> -<p><span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=out_length][<acronym title="The caller owns the data container, but not the data inside it."><span class="acronym">transfer container</span></acronym>]</span></p> +<p><span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=out_length][<acronym title="Free data container after the code is done."><span class="acronym">transfer container</span></acronym>]</span></p> </div> <p class="since">Since: 1.12</p> </div> @@ -855,7 +855,7 @@ nm_setting_vpn_get_secret_keys (<em class="parameter"><code><a class="link" href <p>a <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>-terminated array containing each secret key or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if there are no secrets. </p> -<p><span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=out_length][<acronym title="The caller owns the data container, but not the data inside it."><span class="acronym">transfer container</span></acronym>]</span></p> +<p><span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=out_length][<acronym title="Free data container after the code is done."><span class="acronym">transfer container</span></acronym>]</span></p> </div> <p class="since">Since: 1.12</p> </div> @@ -1004,6 +1004,6 @@ VPN connection.</p> </div> </div> <div class="footer"> -<hr>Generated by GTK-Doc V1.33.1</div> +<hr>Generated by GTK-Doc V1.33.0</div> </body> </html> \ No newline at end of file diff --git a/docs/libnm/html/NMSettingVrf.html b/docs/libnm/html/NMSettingVrf.html index 2a129b7..835923c 100644 --- a/docs/libnm/html/NMSettingVrf.html +++ b/docs/libnm/html/NMSettingVrf.html @@ -8,7 +8,7 @@ <link rel="up" href="ch03.html" title="Connection and Setting API Reference"> <link rel="prev" href="NMSettingVpn.html" title="NMSettingVpn"> <link rel="next" href="NMSettingVxlan.html" title="NMSettingVxlan"> -<meta name="generator" content="GTK-Doc V1.33.1 (XML mode)"> +<meta name="generator" content="GTK-Doc V1.33.0 (XML mode)"> <link rel="stylesheet" href="style.css" type="text/css"> </head> <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> @@ -92,7 +92,7 @@ nm_setting_vrf_new (<em class="parameter"><code><span class="type">void</span></ <div class="refsect3"> <a name="nm-setting-vrf-new.returns"></a><h4>Returns</h4> <p>the new empty <a class="link" href="NMSettingVrf.html" title="NMSettingVrf"><span class="type">NMSettingVrf</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> +<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p> </div> <p class="since">Since: 1.24</p> </div> @@ -139,6 +139,6 @@ nm_setting_vrf_get_table (<em class="parameter"><code><a class="link" href="NMSe </div> </div> <div class="footer"> -<hr>Generated by GTK-Doc V1.33.1</div> +<hr>Generated by GTK-Doc V1.33.0</div> </body> </html> \ No newline at end of file diff --git a/docs/libnm/html/NMSettingVxlan.html b/docs/libnm/html/NMSettingVxlan.html index 4660c43..b722e1f 100644 --- a/docs/libnm/html/NMSettingVxlan.html +++ b/docs/libnm/html/NMSettingVxlan.html @@ -8,7 +8,7 @@ <link rel="up" href="ch03.html" title="Connection and Setting API Reference"> <link rel="prev" href="NMSettingVrf.html" title="NMSettingVrf"> <link rel="next" href="NMSettingWifiP2P.html" title="NMSettingWifiP2P"> -<meta name="generator" content="GTK-Doc V1.33.1 (XML mode)"> +<meta name="generator" content="GTK-Doc V1.33.0 (XML mode)"> <link rel="stylesheet" href="style.css" type="text/css"> </head> <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> @@ -377,7 +377,7 @@ nm_setting_vxlan_new (<em class="parameter"><code><span class="type">void</span> <div class="refsect3"> <a name="nm-setting-vxlan-new.returns"></a><h4>Returns</h4> <p>the new empty <a class="link" href="NMSettingVxlan.html" title="NMSettingVxlan"><span class="type">NMSettingVxlan</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> +<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p> </div> <p class="since">Since: 1.2</p> </div> @@ -1086,6 +1086,6 @@ tunnel endpoint.</p> </div> </div> <div class="footer"> -<hr>Generated by GTK-Doc V1.33.1</div> +<hr>Generated by GTK-Doc V1.33.0</div> </body> </html> \ No newline at end of file diff --git a/docs/libnm/html/NMSettingWifiP2P.html b/docs/libnm/html/NMSettingWifiP2P.html index 8cd438e..2a00b2c 100644 --- a/docs/libnm/html/NMSettingWifiP2P.html +++ b/docs/libnm/html/NMSettingWifiP2P.html @@ -8,7 +8,7 @@ <link rel="up" href="ch03.html" title="Connection and Setting API Reference"> <link rel="prev" href="NMSettingVxlan.html" title="NMSettingVxlan"> <link rel="next" href="NMSettingWimax.html" title="NMSettingWimax"> -<meta name="generator" content="GTK-Doc V1.33.1 (XML mode)"> +<meta name="generator" content="GTK-Doc V1.33.0 (XML mode)"> <link rel="stylesheet" href="style.css" type="text/css"> </head> <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> @@ -115,7 +115,7 @@ nm_setting_wifi_p2p_new (<em class="parameter"><code><span class="type">void</sp <div class="refsect3"> <a name="nm-setting-wifi-p2p-new.returns"></a><h4>Returns</h4> <p>the new empty <a class="link" href="NMSettingWifiP2P.html" title="NMSettingWifiP2P"><span class="type">NMSettingWifiP2P</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> +<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p> </div> <p class="since">Since: 1.16</p> </div> @@ -194,7 +194,7 @@ nm_setting_wifi_p2p_get_wfd_ies (<em class="parameter"><code><a class="link" hre <div class="refsect3"> <a name="nm-setting-wifi-p2p-get-wfd-ies.returns"></a><h4>Returns</h4> <p>the <span class="type">“wfd-ies”</span> 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> +<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> <p class="since">Since: 1.16</p> </div> @@ -228,6 +228,6 @@ nm_setting_wifi_p2p_get_wfd_ies (<em class="parameter"><code><a class="link" hre </div> </div> <div class="footer"> -<hr>Generated by GTK-Doc V1.33.1</div> +<hr>Generated by GTK-Doc V1.33.0</div> </body> </html> \ No newline at end of file diff --git a/docs/libnm/html/NMSettingWimax.html b/docs/libnm/html/NMSettingWimax.html index 3832fb7..20eeb57 100644 --- a/docs/libnm/html/NMSettingWimax.html +++ b/docs/libnm/html/NMSettingWimax.html @@ -8,7 +8,7 @@ <link rel="up" href="ch03.html" title="Connection and Setting API Reference"> <link rel="prev" href="NMSettingWifiP2P.html" title="NMSettingWifiP2P"> <link rel="next" href="NMSettingWired.html" title="NMSettingWired"> -<meta name="generator" content="GTK-Doc V1.33.1 (XML mode)"> +<meta name="generator" content="GTK-Doc V1.33.0 (XML mode)"> <link rel="stylesheet" href="style.css" type="text/css"> </head> <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> @@ -270,6 +270,6 @@ should use.</p> </div> </div> <div class="footer"> -<hr>Generated by GTK-Doc V1.33.1</div> +<hr>Generated by GTK-Doc V1.33.0</div> </body> </html> \ No newline at end of file diff --git a/docs/libnm/html/NMSettingWireGuard.html b/docs/libnm/html/NMSettingWireGuard.html index d143b1b..00d9e98 100644 --- a/docs/libnm/html/NMSettingWireGuard.html +++ b/docs/libnm/html/NMSettingWireGuard.html @@ -8,7 +8,7 @@ <link rel="up" href="ch03.html" title="Connection and Setting API Reference"> <link rel="prev" href="NMSettingWired.html" title="NMSettingWired"> <link rel="next" href="NMSettingWirelessSecurity.html" title="NMSettingWirelessSecurity"> -<meta name="generator" content="GTK-Doc V1.33.1 (XML mode)"> +<meta name="generator" content="GTK-Doc V1.33.0 (XML mode)"> <link rel="stylesheet" href="style.css" type="text/css"> </head> <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> @@ -453,7 +453,7 @@ nm_wireguard_peer_new (<em class="parameter"><code><span class="type">void</span <div class="refsect3"> <a name="nm-wireguard-peer-new.returns"></a><h4>Returns</h4> <p>a new, default, unsealed <a class="link" href="NMSettingWireGuard.html#NMWireGuardPeer"><span class="type">NMWireGuardPeer</span></a> instance. </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> +<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p> </div> <p class="since">Since: 1.16</p> </div> @@ -491,7 +491,7 @@ as well. Otherwise, they will be removed.</p></td> <p>a clone of <em class="parameter"><code>self</code></em> . This instance is always unsealed. </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> +<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p> </div> <p class="since">Since: 1.16</p> </div> @@ -626,7 +626,7 @@ nm_wireguard_peer_get_public_key (<em class="parameter"><code>const <a class="li <div class="refsect3"> <a name="nm-wireguard-peer-get-public-key.returns"></a><h4>Returns</h4> <p>the public key or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if unset. </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> +<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> <p class="since">Since: 1.16</p> </div> @@ -658,7 +658,7 @@ will be normalized (which may or may not modify the set value).</p> <td class="parameter_name"><p>public_key</p></td> <td class="parameter_description"><p>the new public key or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> to clear the public key. </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>][<acronym title="The data is owned by the callee, which is responsible of freeing it."><span class="acronym">transfer none</span></acronym>]</span></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>][<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></td> </tr> <tr> <td class="parameter_name"><p>accept_invalid</p></td> @@ -701,7 +701,7 @@ nm_wireguard_peer_get_preshared_key (<em class="parameter"><code>const <a class= <div class="refsect3"> <a name="nm-wireguard-peer-get-preshared-key.returns"></a><h4>Returns</h4> <p>the preshared key or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if unset. </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> +<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> <p class="since">Since: 1.16</p> </div> @@ -738,7 +738,7 @@ be accepted.</p> <td class="parameter_name"><p>preshared_key</p></td> <td class="parameter_description"><p>the new preshared key or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> to clear the preshared key. </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>][<acronym title="The data is owned by the callee, which is responsible of freeing it."><span class="acronym">transfer none</span></acronym>]</span></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>][<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></td> </tr> <tr> <td class="parameter_name"><p>accept_invalid</p></td> @@ -903,7 +903,7 @@ nm_wireguard_peer_get_endpoint (<em class="parameter"><code>const <a class="link <div class="refsect3"> <a name="nm-wireguard-peer-get-endpoint.returns"></a><h4>Returns</h4> <p>the endpoint or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if none was 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> +<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> <p class="since">Since: 1.16</p> </div> @@ -1024,7 +1024,7 @@ setting. </p></td> . If <em class="parameter"><code>idx</code></em> is out of range, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> will be returned. </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> +<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> <p class="since">Since: 1.16</p> </div> @@ -1250,7 +1250,7 @@ nm_setting_wireguard_new (<em class="parameter"><code><span class="type">void</s <div class="refsect3"> <a name="nm-setting-wireguard-new.returns"></a><h4>Returns</h4> <p>the new empty <a class="link" href="NMSettingWireGuard.html" title="NMSettingWireGuard"><span class="type">NMSettingWireGuard</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> +<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p> </div> <p class="since">Since: 1.16</p> </div> @@ -1277,7 +1277,7 @@ nm_setting_wireguard_get_private_key (<em class="parameter"><code><a class="link <div class="refsect3"> <a name="nm-setting-wireguard-get-private-key.returns"></a><h4>Returns</h4> <p>the set private-key or <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> +<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> <p class="since">Since: 1.16</p> </div> @@ -1419,7 +1419,7 @@ nm_setting_wireguard_get_peer (<em class="parameter"><code><a class="link" href= <p>the <a class="link" href="NMSettingWireGuard.html#NMWireGuardPeer"><span class="type">NMWireGuardPeer</span></a> entry at index <em class="parameter"><code>idx</code></em> . If the index is out of range, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> is returned. </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> +<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> <p class="since">Since: 1.16</p> </div> @@ -1465,7 +1465,7 @@ this is set to the <a class="link" href="NMSettingWireGuard.html#nm-setting-wire <a name="nm-setting-wireguard-get-peer-by-public-key.returns"></a><h4>Returns</h4> <p>the <a class="link" href="NMSettingWireGuard.html#NMWireGuardPeer"><span class="type">NMWireGuardPeer</span></a> instance with a matching public key. If no such peer exists, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> is returned. </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> +<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> <p class="since">Since: 1.16</p> </div> @@ -1828,6 +1828,6 @@ nm_setting_wireguard_get_ip6_auto_default_route </div> </div> <div class="footer"> -<hr>Generated by GTK-Doc V1.33.1</div> +<hr>Generated by GTK-Doc V1.33.0</div> </body> </html> \ No newline at end of file diff --git a/docs/libnm/html/NMSettingWired.html b/docs/libnm/html/NMSettingWired.html index d0be426..d297663 100644 --- a/docs/libnm/html/NMSettingWired.html +++ b/docs/libnm/html/NMSettingWired.html @@ -8,7 +8,7 @@ <link rel="up" href="ch03.html" title="Connection and Setting API Reference"> <link rel="prev" href="NMSettingWimax.html" title="NMSettingWimax"> <link rel="next" href="NMSettingWireGuard.html" title="NMSettingWireGuard"> -<meta name="generator" content="GTK-Doc V1.33.1 (XML mode)"> +<meta name="generator" content="GTK-Doc V1.33.0 (XML mode)"> <link rel="stylesheet" href="style.css" type="text/css"> </head> <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> @@ -433,7 +433,7 @@ nm_setting_wired_new (<em class="parameter"><code><span class="type">void</span> <div class="refsect3"> <a name="nm-setting-wired-new.returns"></a><h4>Returns</h4> <p>the new empty <a class="link" href="NMSettingWired.html" title="NMSettingWired"><span class="type">NMSettingWired</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> +<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p> </div> </div> <hr> @@ -882,7 +882,7 @@ conjunction with that device.</p> <a name="nm-setting-wired-get-s390-subchannels.returns"></a><h4>Returns</h4> <p>array of strings, each specifying one subchannel the s390 device uses to communicate to the host. </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>][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> utf8]</span></p> +<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> utf8]</span></p> </div> </div> <hr> @@ -977,14 +977,14 @@ such as during option iteration.</p> <td class="parameter_name"><p>out_key</p></td> <td class="parameter_description"><p>on return, the key name of the s390 specific option; this value is owned by the setting and should not be modified. </p></td> -<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="The data is owned by the callee, which is responsible of freeing it."><span class="acronym">transfer none</span></acronym>]</span></td> +<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></td> </tr> <tr> <td class="parameter_name"><p>out_value</p></td> <td class="parameter_description"><p>on return, the value of the key of the s390 specific option; this value is owned by the setting and should not be modified. </p></td> -<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="The data is owned by the callee, which is responsible of freeing it."><span class="acronym">transfer none</span></acronym>]</span></td> +<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></td> </tr> </tbody> </table></div> @@ -1143,7 +1143,7 @@ and you may pass <a href="https://developer.gnome.org/glib/unstable/glib-Standar <div class="refsect3"> <a name="nm-setting-wired-get-valid-s390-options.returns"></a><h4>Returns</h4> <p>a <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>-terminated array of strings of valid s390 options. </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> +<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> </div> <hr> @@ -1622,6 +1622,6 @@ no password will be required.</p> </div> </div> <div class="footer"> -<hr>Generated by GTK-Doc V1.33.1</div> +<hr>Generated by GTK-Doc V1.33.0</div> </body> </html> \ No newline at end of file diff --git a/docs/libnm/html/NMSettingWireless.html b/docs/libnm/html/NMSettingWireless.html index 25462c1..0ce428a 100644 --- a/docs/libnm/html/NMSettingWireless.html +++ b/docs/libnm/html/NMSettingWireless.html @@ -8,7 +8,7 @@ <link rel="up" href="ch03.html" title="Connection and Setting API Reference"> <link rel="prev" href="NMSettingWirelessSecurity.html" title="NMSettingWirelessSecurity"> <link rel="next" href="NMSettingWpan.html" title="NMSettingWpan"> -<meta name="generator" content="GTK-Doc V1.33.1 (XML mode)"> +<meta name="generator" content="GTK-Doc V1.33.0 (XML mode)"> <link rel="stylesheet" href="style.css" type="text/css"> </head> <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> @@ -509,7 +509,7 @@ nm_setting_wireless_new (<em class="parameter"><code><span class="type">void</sp <div class="refsect3"> <a name="nm-setting-wireless-new.returns"></a><h4>Returns</h4> <p>the new empty <a class="link" href="NMSettingWireless.html" title="NMSettingWireless"><span class="type">NMSettingWireless</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> +<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p> </div> </div> <hr> @@ -535,7 +535,7 @@ nm_setting_wireless_get_ssid (<em class="parameter"><code><a class="link" href=" <div class="refsect3"> <a name="nm-setting-wireless-get-ssid.returns"></a><h4>Returns</h4> <p>the <a class="link" href="NMSettingWireless.html#NMSettingWireless--ssid" title="The “ssid” property"><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> +<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> </div> <hr> @@ -1901,6 +1901,6 @@ NetworkManager).</p> </div> </div> <div class="footer"> -<hr>Generated by GTK-Doc V1.33.1</div> +<hr>Generated by GTK-Doc V1.33.0</div> </body> </html> \ No newline at end of file diff --git a/docs/libnm/html/NMSettingWirelessSecurity.html b/docs/libnm/html/NMSettingWirelessSecurity.html index b15b246..4e1e517 100644 --- a/docs/libnm/html/NMSettingWirelessSecurity.html +++ b/docs/libnm/html/NMSettingWirelessSecurity.html @@ -8,7 +8,7 @@ <link rel="up" href="ch03.html" title="Connection and Setting API Reference"> <link rel="prev" href="NMSettingWireGuard.html" title="NMSettingWireGuard"> <link rel="next" href="NMSettingWireless.html" title="NMSettingWireless"> -<meta name="generator" content="GTK-Doc V1.33.1 (XML mode)"> +<meta name="generator" content="GTK-Doc V1.33.0 (XML mode)"> <link rel="stylesheet" href="style.css" type="text/css"> </head> <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> @@ -582,7 +582,7 @@ nm_setting_wireless_security_new (<em class="parameter"><code><span class="type" <div class="refsect3"> <a name="nm-setting-wireless-security-new.returns"></a><h4>Returns</h4> <p>the new empty <a class="link" href="NMSettingWirelessSecurity.html" title="NMSettingWirelessSecurity"><span class="type">NMSettingWirelessSecurity</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> +<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p> </div> </div> <hr> @@ -2143,6 +2143,6 @@ the Access Point capabilities.</p> </div> </div> <div class="footer"> -<hr>Generated by GTK-Doc V1.33.1</div> +<hr>Generated by GTK-Doc V1.33.0</div> </body> </html> \ No newline at end of file diff --git a/docs/libnm/html/NMSettingWpan.html b/docs/libnm/html/NMSettingWpan.html index 3c13f38..23ebdac 100644 --- a/docs/libnm/html/NMSettingWpan.html +++ b/docs/libnm/html/NMSettingWpan.html @@ -8,7 +8,7 @@ <link rel="up" href="ch03.html" title="Connection and Setting API Reference"> <link rel="prev" href="NMSettingWireless.html" title="NMSettingWireless"> <link rel="next" href="ch04.html" title="Device and Runtime Configuration API Reference"> -<meta name="generator" content="GTK-Doc V1.33.1 (XML mode)"> +<meta name="generator" content="GTK-Doc V1.33.0 (XML mode)"> <link rel="stylesheet" href="style.css" type="text/css"> </head> <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> @@ -147,7 +147,7 @@ nm_setting_wpan_new (<em class="parameter"><code><span class="type">void</span>< <div class="refsect3"> <a name="nm-setting-wpan-new.returns"></a><h4>Returns</h4> <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> +<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p> </div> <p class="since">Since: 1.14</p> </div> @@ -334,6 +334,6 @@ nm_setting_wpan_get_channel (<em class="parameter"><code><a class="link" href="N </div> </div> <div class="footer"> -<hr>Generated by GTK-Doc V1.33.1</div> +<hr>Generated by GTK-Doc V1.33.0</div> </body> </html> \ No newline at end of file diff --git a/docs/libnm/html/NMSimpleConnection.html b/docs/libnm/html/NMSimpleConnection.html index 2f07195..a44a69d 100644 --- a/docs/libnm/html/NMSimpleConnection.html +++ b/docs/libnm/html/NMSimpleConnection.html @@ -8,7 +8,7 @@ <link rel="up" href="ch03.html" title="Connection and Setting API Reference"> <link rel="prev" href="NMConnection.html" title="NMConnection"> <link rel="next" href="NMRemoteConnection.html" title="NMRemoteConnection"> -<meta name="generator" content="GTK-Doc V1.33.1 (XML mode)"> +<meta name="generator" content="GTK-Doc V1.33.0 (XML mode)"> <link rel="stylesheet" href="style.css" type="text/css"> </head> <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> @@ -108,7 +108,7 @@ nm_simple_connection_new (<em class="parameter"><code><span class="type">void</s <div class="refsect3"> <a name="nm-simple-connection-new.returns"></a><h4>Returns</h4> <p>the new empty <a class="link" href="NMConnection.html" title="NMConnection"><span class="type">NMConnection</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> +<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p> </div> </div> <hr> @@ -147,7 +147,7 @@ description of the expected hash table.</p> <p>the new <a class="link" href="NMSimpleConnection.html" title="NMSimpleConnection"><span class="type">NMSimpleConnection</span></a> object, populated with settings created from the values in the hash table, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the connection failed to normalize. </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> +<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p> </div> </div> <hr> @@ -175,7 +175,7 @@ nm_simple_connection_new_clone (<em class="parameter"><code><a class="link" href <a name="nm-simple-connection-new-clone.returns"></a><h4>Returns</h4> <p>a new <a class="link" href="NMConnection.html" title="NMConnection"><span class="type">NMConnection</span></a> containing the same settings and properties as the source <a class="link" href="NMConnection.html" title="NMConnection"><span class="type">NMConnection</span></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> +<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p> </div> </div> </div> @@ -188,6 +188,6 @@ and properties as the source <a class="link" href="NMConnection.html" title="NMC </div> </div> <div class="footer"> -<hr>Generated by GTK-Doc V1.33.1</div> +<hr>Generated by GTK-Doc V1.33.0</div> </body> </html> \ No newline at end of file diff --git a/docs/libnm/html/NMVpnConnection.html b/docs/libnm/html/NMVpnConnection.html index 812ce21..7f7a18b 100644 --- a/docs/libnm/html/NMVpnConnection.html +++ b/docs/libnm/html/NMVpnConnection.html @@ -8,7 +8,7 @@ <link rel="up" href="ch04.html" title="Device and Runtime Configuration API Reference"> <link rel="prev" href="NMActiveConnection.html" title="NMActiveConnection"> <link rel="next" href="NMAccessPoint.html" title="NMAccessPoint"> -<meta name="generator" content="GTK-Doc V1.33.1 (XML mode)"> +<meta name="generator" content="GTK-Doc V1.33.0 (XML mode)"> <link rel="stylesheet" href="style.css" type="text/css"> </head> <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> @@ -150,6 +150,6 @@ string used by the connection, and must not be modified.</p> </div> </div> <div class="footer"> -<hr>Generated by GTK-Doc V1.33.1</div> +<hr>Generated by GTK-Doc V1.33.0</div> </body> </html> \ No newline at end of file diff --git a/docs/libnm/html/NMVpnEditor.html b/docs/libnm/html/NMVpnEditor.html index ce6d9da..e90577b 100644 --- a/docs/libnm/html/NMVpnEditor.html +++ b/docs/libnm/html/NMVpnEditor.html @@ -8,7 +8,7 @@ <link rel="up" href="ch06.html" title="VPN Plugin API Reference"> <link rel="prev" href="NMVpnPluginInfo.html" title="NMVpnPluginInfo"> <link rel="next" href="NMVpnEditorPlugin.html" title="NMVpnEditorPlugin"> -<meta name="generator" content="GTK-Doc V1.33.1 (XML mode)"> +<meta name="generator" content="GTK-Doc V1.33.0 (XML mode)"> <link rel="stylesheet" href="style.css" type="text/css"> </head> <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> @@ -98,7 +98,7 @@ nm_vpn_editor_get_widget (<em class="parameter"><code><a class="link" href="NMVp <div class="refsect3"> <a name="nm-vpn-editor-get-widget.returns"></a><h4>Returns</h4> <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> +<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> </div> <hr> @@ -173,6 +173,6 @@ to write values to the connection.</p></td> </div> </div> <div class="footer"> -<hr>Generated by GTK-Doc V1.33.1</div> +<hr>Generated by GTK-Doc V1.33.0</div> </body> </html> \ No newline at end of file diff --git a/docs/libnm/html/NMVpnEditorPlugin.html b/docs/libnm/html/NMVpnEditorPlugin.html index cd12816..a3269b8 100644 --- a/docs/libnm/html/NMVpnEditorPlugin.html +++ b/docs/libnm/html/NMVpnEditorPlugin.html @@ -8,7 +8,7 @@ <link rel="up" href="ch06.html" title="VPN Plugin API Reference"> <link rel="prev" href="NMVpnEditor.html" title="NMVpnEditor"> <link rel="next" href="NMVpnPluginOld.html" title="NMVpnPluginOld"> -<meta name="generator" content="GTK-Doc V1.33.1 (XML mode)"> +<meta name="generator" content="GTK-Doc V1.33.0 (XML mode)"> <link rel="stylesheet" href="style.css" type="text/css"> </head> <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> @@ -325,7 +325,7 @@ nm_vpn_editor_plugin_get_editor (<em class="parameter"><code><a class="link" hre <div class="refsect3"> <a name="nm-vpn-editor-plugin-get-editor.returns"></a><h4>Returns</h4> <p>a new <a class="link" href="NMVpnEditor.html" title="NMVpnEditor"><span class="type">NMVpnEditor</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> on error. </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> +<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p> </div> </div> <hr> @@ -421,7 +421,7 @@ nm_vpn_editor_plugin_import (<em class="parameter"><code><a class="link" href="N , or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> on error or if the file at <em class="parameter"><code>path</code></em> was not recognized by this plugin. </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> +<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p> </div> </div> <hr> @@ -515,7 +515,7 @@ loading the shared library. </p></td> <div class="refsect3"> <a name="nm-vpn-editor-plugin-load-from-file.returns"></a><h4>Returns</h4> <p>a new plugin instance or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> on error. </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> +<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p> </div> <p class="since">Since: 1.2</p> </div> @@ -567,7 +567,7 @@ the given service.</p></td> <div class="refsect3"> <a name="nm-vpn-editor-plugin-load.returns"></a><h4>Returns</h4> <p>a new plugin instance or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> on error. </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> +<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p> </div> <p class="since">Since: 1.4</p> </div> @@ -594,7 +594,7 @@ nm_vpn_editor_plugin_get_plugin_info (<em class="parameter"><code><a class="link <div class="refsect3"> <a name="nm-vpn-editor-plugin-get-plugin-info.returns"></a><h4>Returns</h4> <p>if set, return the <a class="link" href="NMVpnPluginInfo.html" title="NMVpnPluginInfo"><span class="type">NMVpnPluginInfo</span></a> instance. </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> +<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> <p class="since">Since: 1.4</p> </div> @@ -875,6 +875,6 @@ user_function (<a class="link" href="NMVpnEditor.html" title="NMVpnEditor"><span </div> </div> <div class="footer"> -<hr>Generated by GTK-Doc V1.33.1</div> +<hr>Generated by GTK-Doc V1.33.0</div> </body> </html> \ No newline at end of file diff --git a/docs/libnm/html/NMVpnPluginInfo.html b/docs/libnm/html/NMVpnPluginInfo.html index 45880d1..65214da 100644 --- a/docs/libnm/html/NMVpnPluginInfo.html +++ b/docs/libnm/html/NMVpnPluginInfo.html @@ -8,7 +8,7 @@ <link rel="up" href="ch06.html" title="VPN Plugin API Reference"> <link rel="prev" href="NMVpnServicePlugin.html" title="NMVpnServicePlugin"> <link rel="next" href="NMVpnEditor.html" title="NMVpnEditor"> -<meta name="generator" content="GTK-Doc V1.33.1 (XML mode)"> +<meta name="generator" content="GTK-Doc V1.33.0 (XML mode)"> <link rel="stylesheet" href="style.css" type="text/css"> </head> <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> @@ -398,7 +398,7 @@ must be present. </p></td> <a name="nm-vpn-plugin-info-new-search-file.returns"></a><h4>Returns</h4> <p>a newly created instance of plugin info or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if no matching value was found. </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> +<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p> </div> <p class="since">Since: 1.4</p> </div> @@ -425,7 +425,7 @@ nm_vpn_plugin_info_get_name (<em class="parameter"><code><a class="link" href="N <div class="refsect3"> <a name="nm-vpn-plugin-info-get-name.returns"></a><h4>Returns</h4> <p>the name. Cannot be <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> +<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> <p class="since">Since: 1.2</p> </div> @@ -452,7 +452,7 @@ nm_vpn_plugin_info_get_filename (<em class="parameter"><code><a class="link" hre <div class="refsect3"> <a name="nm-vpn-plugin-info-get-filename.returns"></a><h4>Returns</h4> <p>the filename. Can be <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> +<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> <p class="since">Since: 1.2</p> </div> @@ -479,7 +479,7 @@ nm_vpn_plugin_info_get_service (<em class="parameter"><code><a class="link" href <div class="refsect3"> <a name="nm-vpn-plugin-info-get-service.returns"></a><h4>Returns</h4> <p>the service. Cannot be <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> +<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> <p class="since">Since: 1.4</p> </div> @@ -506,7 +506,7 @@ nm_vpn_plugin_info_get_plugin (<em class="parameter"><code><a class="link" href= <div class="refsect3"> <a name="nm-vpn-plugin-info-get-plugin.returns"></a><h4>Returns</h4> <p>the plugin. Can be <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> +<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> <p class="since">Since: 1.2</p> </div> @@ -533,7 +533,7 @@ nm_vpn_plugin_info_get_program (<em class="parameter"><code><a class="link" href <div class="refsect3"> <a name="nm-vpn-plugin-info-get-program.returns"></a><h4>Returns</h4> <p>the program. Can be <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> +<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> <p class="since">Since: 1.2</p> </div> @@ -638,7 +638,7 @@ nm_vpn_plugin_info_get_aliases (<em class="parameter"><code><a class="link" href <div class="refsect3"> <a name="nm-vpn-plugin-info-get-aliases.returns"></a><h4>Returns</h4> <p>the aliases from the name-file. </p> -<p><span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> zero-terminated=1][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> utf8][<acronym title="The data is owned by the callee, which is responsible of freeing it."><span class="acronym">transfer none</span></acronym>]</span></p> +<p><span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> zero-terminated=1][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> utf8][<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> <p class="since">Since: 1.4</p> </div> @@ -680,7 +680,7 @@ nm_vpn_plugin_info_lookup_property (<em class="parameter"><code><a class="link" <a name="nm-vpn-plugin-info-lookup-property.returns"></a><h4>Returns</h4> <p><a class="link" href="NMVpnPluginInfo.html" title="NMVpnPluginInfo"><span class="type">NMVpnPluginInfo</span></a> is internally a <a href="https://developer.gnome.org/glib/unstable/glib-Key-value-file-parser.html#GKeyFile"><span class="type">GKeyFile</span></a>. Returns the matching 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> +<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> <p class="since">Since: 1.2</p> </div> @@ -719,7 +719,7 @@ nm_vpn_plugin_info_list_load (<em class="parameter"><code><span class="type">voi <a name="nm-vpn-plugin-info-list-load.returns"></a><h4>Returns</h4> <p>list of plugins loaded from the default directories rejecting duplicates. </p> -<p><span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> NMVpnPluginInfo][<acronym title="The caller owns the data, and is responsible for free it."><span class="acronym">transfer full</span></acronym>]</span></p> +<p><span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> NMVpnPluginInfo][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p> </div> <p class="since">Since: 1.2</p> </div> @@ -836,7 +836,7 @@ nm_vpn_plugin_info_list_find_by_name (<em class="parameter"><code><a href="https <a name="nm-vpn-plugin-info-list-find-by-name.returns"></a><h4>Returns</h4> <p>the first plugin with a matching <em class="parameter"><code>name</code></em> (or <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> +<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> <p class="since">Since: 1.2</p> </div> @@ -873,7 +873,7 @@ nm_vpn_plugin_info_list_find_by_filename <a name="nm-vpn-plugin-info-list-find-by-filename.returns"></a><h4>Returns</h4> <p>the first plugin with a matching <em class="parameter"><code>filename</code></em> (or <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> +<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> <p class="since">Since: 1.2</p> </div> @@ -911,7 +911,7 @@ or one of the provided aliases.</p></td> <a name="nm-vpn-plugin-info-list-find-by-service.returns"></a><h4>Returns</h4> <p>the first plugin with a matching <em class="parameter"><code>service</code></em> (or <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> +<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> <p class="since">Since: 1.2</p> </div> @@ -957,7 +957,7 @@ but it could be retrieved via <a class="link" href="NMVpnPluginInfo.html#nm-vpn- <div class="refsect3"> <a name="nm-vpn-plugin-info-list-find-service-type.returns"></a><h4>Returns</h4> <p>the resolved service-type or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> on failure. </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> +<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p> </div> <p class="since">Since: 1.4</p> </div> @@ -1005,7 +1005,7 @@ with <a class="link" href="NMVpnPluginInfo.html#nm-vpn-plugin-info-list-find-ser <a name="nm-vpn-plugin-info-list-get-service-types.returns"></a><h4>Returns</h4> <p>a <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> terminated strv list of strings. The list itself and the values must be freed with <a href="https://developer.gnome.org/glib/unstable/glib-String-Utility-Functions.html#g-strfreev"><code class="function">g_strfreev()</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> +<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p> </div> <p class="since">Since: 1.4</p> </div> @@ -1032,7 +1032,7 @@ nm_vpn_plugin_info_get_editor_plugin (<em class="parameter"><code><a class="link <div class="refsect3"> <a name="nm-vpn-plugin-info-get-editor-plugin.returns"></a><h4>Returns</h4> <p>the cached <a class="link" href="NMVpnEditorPlugin.html" title="NMVpnEditorPlugin"><span class="type">NMVpnEditorPlugin</span></a> instance. </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> +<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> <p class="since">Since: 1.2</p> </div> @@ -1103,7 +1103,7 @@ and can be later retrieved again via <a class="link" href="NMVpnPluginInfo.html#nm-vpn-plugin-info-get-editor-plugin" title="nm_vpn_plugin_info_get_editor_plugin ()"><code class="function">nm_vpn_plugin_info_get_editor_plugin()</code></a>. You can load the plugin only once, unless you reset the state via <a class="link" href="NMVpnPluginInfo.html#nm-vpn-plugin-info-set-editor-plugin" title="nm_vpn_plugin_info_set_editor_plugin ()"><code class="function">nm_vpn_plugin_info_set_editor_plugin()</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> +<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> <p class="since">Since: 1.2</p> </div> @@ -1148,6 +1148,6 @@ plugin only once, unless you reset the state via </div> </div> <div class="footer"> -<hr>Generated by GTK-Doc V1.33.1</div> +<hr>Generated by GTK-Doc V1.33.0</div> </body> </html> \ No newline at end of file diff --git a/docs/libnm/html/NMVpnPluginOld.html b/docs/libnm/html/NMVpnPluginOld.html index 07669e2..3b8fed7 100644 --- a/docs/libnm/html/NMVpnPluginOld.html +++ b/docs/libnm/html/NMVpnPluginOld.html @@ -8,7 +8,7 @@ <link rel="up" href="ch06.html" title="VPN Plugin API Reference"> <link rel="prev" href="NMVpnEditorPlugin.html" title="NMVpnEditorPlugin"> <link rel="next" href="object-tree.html" title="Object Hierarchy"> -<meta name="generator" content="GTK-Doc V1.33.1 (XML mode)"> +<meta name="generator" content="GTK-Doc V1.33.0 (XML mode)"> <link rel="stylesheet" href="style.css" type="text/css"> </head> <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> @@ -268,7 +268,7 @@ nm_vpn_plugin_old_get_connection (<em class="parameter"><code><a class="link" hr <div class="refsect3"> <a name="nm-vpn-plugin-old-get-connection.returns"></a><h4>Returns</h4> <p>. </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> +<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p> </div> </div> <hr> @@ -433,13 +433,13 @@ an applet when the applet calls the authentication dialog of the VPN plugin.</p> <td class="parameter_name"><p>out_data</p></td> <td class="parameter_description"><p>on successful return, a hash table (mapping char*:char*) containing the key/value pairs of VPN data items. </p></td> -<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="The caller owns the data, and is responsible for free it."><span class="acronym">transfer full</span></acronym>]</span></td> +<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></td> </tr> <tr> <td class="parameter_name"><p>out_secrets</p></td> <td class="parameter_description"><p>on successful return, a hash table (mapping char*:char*) containing the key/value pairsof VPN secrets. </p></td> -<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="The caller owns the data, and is responsible for free it."><span class="acronym">transfer full</span></acronym>]</span></td> +<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></td> </tr> </tbody> </table></div> @@ -623,6 +623,6 @@ user_function (<a class="link" href="NMVpnPluginOld.html" title="NMVpnPluginOld" </div> </div> <div class="footer"> -<hr>Generated by GTK-Doc V1.33.1</div> +<hr>Generated by GTK-Doc V1.33.0</div> </body> </html> \ No newline at end of file diff --git a/docs/libnm/html/NMVpnServicePlugin.html b/docs/libnm/html/NMVpnServicePlugin.html index 965727a..a016cd5 100644 --- a/docs/libnm/html/NMVpnServicePlugin.html +++ b/docs/libnm/html/NMVpnServicePlugin.html @@ -8,7 +8,7 @@ <link rel="up" href="ch06.html" title="VPN Plugin API Reference"> <link rel="prev" href="ch06.html" title="VPN Plugin API Reference"> <link rel="next" href="NMVpnPluginInfo.html" title="NMVpnPluginInfo"> -<meta name="generator" content="GTK-Doc V1.33.1 (XML mode)"> +<meta name="generator" content="GTK-Doc V1.33.0 (XML mode)"> <link rel="stylesheet" href="style.css" type="text/css"> </head> <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> @@ -265,7 +265,7 @@ nm_vpn_service_plugin_get_connection (<em class="parameter"><code><a class="link <div class="refsect3"> <a name="nm-vpn-service-plugin-get-connection.returns"></a><h4>Returns</h4> <p>. </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> +<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p> </div> <p class="since">Since: 1.2</p> </div> @@ -411,13 +411,13 @@ an applet when the applet calls the authentication dialog of the VPN plugin.</p> <td class="parameter_name"><p>out_data</p></td> <td class="parameter_description"><p>on successful return, a hash table (mapping char*:char*) containing the key/value pairs of VPN data items. </p></td> -<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="The caller owns the data, and is responsible for free it."><span class="acronym">transfer full</span></acronym>]</span></td> +<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></td> </tr> <tr> <td class="parameter_name"><p>out_secrets</p></td> <td class="parameter_description"><p>on successful return, a hash table (mapping char*:char*) containing the key/value pairsof VPN secrets. </p></td> -<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="The caller owns the data, and is responsible for free it."><span class="acronym">transfer full</span></acronym>]</span></td> +<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></td> </tr> </tbody> </table></div> @@ -609,6 +609,6 @@ user_function (<a class="link" href="NMVpnServicePlugin.html" title="NMVpnServic </div> </div> <div class="footer"> -<hr>Generated by GTK-Doc V1.33.1</div> +<hr>Generated by GTK-Doc V1.33.0</div> </body> </html> \ No newline at end of file diff --git a/docs/libnm/html/NMWifiP2PPeer.html b/docs/libnm/html/NMWifiP2PPeer.html index aa6dbc4..b4ddd6e 100644 --- a/docs/libnm/html/NMWifiP2PPeer.html +++ b/docs/libnm/html/NMWifiP2PPeer.html @@ -8,7 +8,7 @@ <link rel="up" href="ch04.html" title="Device and Runtime Configuration API Reference"> <link rel="prev" href="NMAccessPoint.html" title="NMAccessPoint"> <link rel="next" href="NMWimaxNsp.html" title="NMWimaxNsp"> -<meta name="generator" content="GTK-Doc V1.33.1 (XML mode)"> +<meta name="generator" content="GTK-Doc V1.33.0 (XML mode)"> <link rel="stylesheet" href="style.css" type="text/css"> </head> <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> @@ -373,7 +373,7 @@ nm_wifi_p2p_peer_get_wfd_ies (<em class="parameter"><code><a class="link" href=" <div class="refsect3"> <a name="nm-wifi-p2p-peer-get-wfd-ies.returns"></a><h4>Returns</h4> <p>the <a href="https://developer.gnome.org/glib/unstable/glib-Byte-Arrays.html#GBytes"><span class="type">GBytes</span></a> containing the WFD IEs, or <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> +<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> <p class="since">Since: 1.16</p> </div> @@ -490,7 +490,7 @@ with this function.</p> </tr> <tr> <td class="parameter_name"><p>connections</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 +<td class="parameter_description"><p>an array of <span class="type">NMConnections</span> 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> @@ -500,10 +500,10 @@ filter. </p></td> <div class="refsect3"> <a name="nm-wifi-p2p-peer-filter-connections.returns"></a><h4>Returns</h4> <p>an array of -<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> +<span class="type">NMConnections</span> 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> +<p><span class="annotation">[<acronym title="Free data container after the code is done."><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> </div> <p class="since">Since: 1.16</p> </div> @@ -613,6 +613,6 @@ against</p></td> </div> </div> <div class="footer"> -<hr>Generated by GTK-Doc V1.33.1</div> +<hr>Generated by GTK-Doc V1.33.0</div> </body> </html> \ No newline at end of file diff --git a/docs/libnm/html/NMWimaxNsp.html b/docs/libnm/html/NMWimaxNsp.html index ed16e0f..c055698 100644 --- a/docs/libnm/html/NMWimaxNsp.html +++ b/docs/libnm/html/NMWimaxNsp.html @@ -8,7 +8,7 @@ <link rel="up" href="ch04.html" title="Device and Runtime Configuration API Reference"> <link rel="prev" href="NMWifiP2PPeer.html" title="NMWifiP2PPeer"> <link rel="next" href="NMIPConfig.html" title="NMIPConfig"> -<meta name="generator" content="GTK-Doc V1.33.1 (XML mode)"> +<meta name="generator" content="GTK-Doc V1.33.0 (XML mode)"> <link rel="stylesheet" href="style.css" type="text/css"> </head> <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> @@ -228,7 +228,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 <a href="/usr/share/gtk-doc/html/libnm-util/NMConnection.html#NMConnection-struct"><span class="type">NMConnections</span></a> to +<td class="parameter_description"><p>an array of <span class="type">NMConnections</span> 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> @@ -238,10 +238,10 @@ filter. </p></td> <div class="refsect3"> <a name="nm-wimax-nsp-filter-connections.returns"></a><h4>Returns</h4> <p>an array of -<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> +<span class="type">NMConnections</span> 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> +<p><span class="annotation">[<acronym title="Free data after the code is done."><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> </div> </div> <hr> @@ -311,6 +311,6 @@ against</p></td> </div> </div> <div class="footer"> -<hr>Generated by GTK-Doc V1.33.1</div> +<hr>Generated by GTK-Doc V1.33.0</div> </body> </html> \ No newline at end of file diff --git a/docs/libnm/html/annotation-glossary.html b/docs/libnm/html/annotation-glossary.html index 3b043d1..9591c45 100644 --- a/docs/libnm/html/annotation-glossary.html +++ b/docs/libnm/html/annotation-glossary.html @@ -8,7 +8,7 @@ <link rel="up" href="index.html" title="libnm Reference Manual"> <link rel="prev" href="api-index-full.html" title="API Index"> <link rel="next" href="license.html" title="Appendix A. License"> -<meta name="generator" content="GTK-Doc V1.33.1 (XML mode)"> +<meta name="generator" content="GTK-Doc V1.33.0 (XML mode)"> <link rel="stylesheet" href="style.css" type="text/css"> </head> <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> @@ -49,7 +49,7 @@ <dd class="glossdef"><p>Generics and defining elements of containers and arrays.</p></dd> <a name="glsI"></a><h3 class="title">I</h3> <dt><span class="glossterm"><a name="annotation-glossterm-inout"></a>inout</span></dt> -<dd class="glossdef"><p>Parameter for input and for returning results. Default is <acronym title="The caller owns the data, and is responsible for free it."><span class="acronym">transfer full</span></acronym>.</p></dd> +<dd class="glossdef"><p>Parameter for input and for returning results. Default is <acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>.</p></dd> <a name="glsN"></a><h3 class="title">N</h3> <dt><span class="glossterm"><a name="annotation-glossterm-nullable"></a>nullable</span></dt> <dd class="glossdef"><p>NULL may be passed as the value in, out, in-out; or as a return value.</p></dd> @@ -57,7 +57,7 @@ <dt><span class="glossterm"><a name="annotation-glossterm-optional"></a>optional</span></dt> <dd class="glossdef"><p>NULL may be passed instead of a pointer to a location.</p></dd> <dt><span class="glossterm"><a name="annotation-glossterm-out"></a>out</span></dt> -<dd class="glossdef"><p>Parameter for returning results. Default is <acronym title="The caller owns the data, and is responsible for free it."><span class="acronym">transfer full</span></acronym>.</p></dd> +<dd class="glossdef"><p>Parameter for returning results. Default is <acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>.</p></dd> <a name="glsS"></a><h3 class="title">S</h3> <dt><span class="glossterm"><a name="annotation-glossterm-scope%20async"></a>scope async</span></dt> <dd class="glossdef"><p>The callback is valid until first called.</p></dd> @@ -67,15 +67,15 @@ <dd class="glossdef"><p>Exposed in C code, not necessarily available in other languages.</p></dd> <a name="glsT"></a><h3 class="title">T</h3> <dt><span class="glossterm"><a name="annotation-glossterm-transfer%20container"></a>transfer container</span></dt> -<dd class="glossdef"><p>The caller owns the data container, but not the data inside it.</p></dd> +<dd class="glossdef"><p>Free data container after the code is done.</p></dd> <dt><span class="glossterm"><a name="annotation-glossterm-transfer%20full"></a>transfer full</span></dt> -<dd class="glossdef"><p>The caller owns the data, and is responsible for free it.</p></dd> +<dd class="glossdef"><p>Free data after the code is done.</p></dd> <dt><span class="glossterm"><a name="annotation-glossterm-transfer%20none"></a>transfer none</span></dt> -<dd class="glossdef"><p>The data is owned by the callee, which is responsible of freeing it.</p></dd> +<dd class="glossdef"><p>Don't free data after the code is done.</p></dd> <dt><span class="glossterm"><a name="annotation-glossterm-type"></a>type</span></dt> <dd class="glossdef"><p>Override the parsed C type with given type.</p></dd> </div> <div class="footer"> -<hr>Generated by GTK-Doc V1.33.1</div> +<hr>Generated by GTK-Doc V1.33.0</div> </body> </html> \ No newline at end of file diff --git a/docs/libnm/html/api-index-full.html b/docs/libnm/html/api-index-full.html index c6381ea..2aba7ac 100644 --- a/docs/libnm/html/api-index-full.html +++ b/docs/libnm/html/api-index-full.html @@ -8,7 +8,7 @@ <link rel="up" href="index.html" title="libnm Reference Manual"> <link rel="prev" href="object-tree.html" title="Object Hierarchy"> <link rel="next" href="annotation-glossary.html" title="Annotation Glossary"> -<meta name="generator" content="GTK-Doc V1.33.1 (XML mode)"> +<meta name="generator" content="GTK-Doc V1.33.0 (XML mode)"> <link rel="stylesheet" href="style.css" type="text/css"> </head> <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> @@ -49,47 +49,47 @@ NMAccessPoint, struct in NMDeviceOvs </dt> <dd></dd> <dt> -<a href="/usr/share/gtk-doc/html/libnm-glib/NMAccessPoint.html#NMAccessPoint--bssid">NMAccessPoint:bssid</a>, object property in NMDeviceOvs +NMAccessPoint:bssid, object property in NMDeviceOvs </dt> <dd></dd> <dt> -<a href="/usr/share/gtk-doc/html/libnm-glib/NMAccessPoint.html#NMAccessPoint--flags">NMAccessPoint:flags</a>, object property in NMDeviceOvs +NMAccessPoint:flags, object property in NMDeviceOvs </dt> <dd></dd> <dt> -<a href="/usr/share/gtk-doc/html/libnm-glib/NMAccessPoint.html#NMAccessPoint--frequency">NMAccessPoint:frequency</a>, object property in NMDeviceOvs +NMAccessPoint:frequency, object property in NMDeviceOvs </dt> <dd></dd> <dt> -<a href="/usr/share/gtk-doc/html/libnm-glib/NMAccessPoint.html#NMAccessPoint--hw-address">NMAccessPoint:hw-address</a>, object property in NMDeviceOvs +NMAccessPoint:hw-address, object property in NMDeviceOvs </dt> <dd></dd> <dt> -<a href="/usr/share/gtk-doc/html/libnm-glib/NMAccessPoint.html#NMAccessPoint--last-seen">NMAccessPoint:last-seen</a>, object property in NMDeviceOvs +NMAccessPoint:last-seen, object property in NMDeviceOvs </dt> <dd></dd> <dt> -<a href="/usr/share/gtk-doc/html/libnm-glib/NMAccessPoint.html#NMAccessPoint--max-bitrate">NMAccessPoint:max-bitrate</a>, object property in NMDeviceOvs +NMAccessPoint:max-bitrate, object property in NMDeviceOvs </dt> <dd></dd> <dt> -<a href="/usr/share/gtk-doc/html/libnm-glib/NMAccessPoint.html#NMAccessPoint--mode">NMAccessPoint:mode</a>, object property in NMDeviceOvs +NMAccessPoint:mode, object property in NMDeviceOvs </dt> <dd></dd> <dt> -<a href="/usr/share/gtk-doc/html/libnm-glib/NMAccessPoint.html#NMAccessPoint--rsn-flags">NMAccessPoint:rsn-flags</a>, object property in NMDeviceOvs +NMAccessPoint:rsn-flags, object property in NMDeviceOvs </dt> <dd></dd> <dt> -<a href="/usr/share/gtk-doc/html/libnm-glib/NMAccessPoint.html#NMAccessPoint--ssid">NMAccessPoint:ssid</a>, object property in NMDeviceOvs +NMAccessPoint:ssid, object property in NMDeviceOvs </dt> <dd></dd> <dt> -<a href="/usr/share/gtk-doc/html/libnm-glib/NMAccessPoint.html#NMAccessPoint--strength">NMAccessPoint:strength</a>, object property in NMDeviceOvs +NMAccessPoint:strength, object property in NMDeviceOvs </dt> <dd></dd> <dt> -<a href="/usr/share/gtk-doc/html/libnm-glib/NMAccessPoint.html#NMAccessPoint--wpa-flags">NMAccessPoint:wpa-flags</a>, object property in NMDeviceOvs +NMAccessPoint:wpa-flags, object property in NMDeviceOvs </dt> <dd></dd> <dt> @@ -105,43 +105,43 @@ NMActiveConnection::state-changed, object signal in NMDeviceOvs </dt> <dd></dd> <dt> -<a href="/usr/share/gtk-doc/html/libnm-glib/NMActiveConnection.html#NMActiveConnection--connection">NMActiveConnection:connection</a>, object property in NMDeviceOvs +NMActiveConnection:connection, object property in NMDeviceOvs </dt> <dd></dd> <dt> -<a href="/usr/share/gtk-doc/html/libnm-glib/NMActiveConnection.html#NMActiveConnection--default">NMActiveConnection:default</a>, object property in NMDeviceOvs +NMActiveConnection:default, object property in NMDeviceOvs </dt> <dd></dd> <dt> -<a href="/usr/share/gtk-doc/html/libnm-glib/NMActiveConnection.html#NMActiveConnection--default6">NMActiveConnection:default6</a>, object property in NMDeviceOvs +NMActiveConnection:default6, object property in NMDeviceOvs </dt> <dd></dd> <dt> -<a href="/usr/share/gtk-doc/html/libnm-glib/NMActiveConnection.html#NMActiveConnection--devices">NMActiveConnection:devices</a>, object property in NMDeviceOvs +NMActiveConnection:devices, object property in NMDeviceOvs </dt> <dd></dd> <dt> -<a href="/usr/share/gtk-doc/html/libnm-glib/NMActiveConnection.html#NMActiveConnection--dhcp4-config">NMActiveConnection:dhcp4-config</a>, object property in NMDeviceOvs +NMActiveConnection:dhcp4-config, object property in NMDeviceOvs </dt> <dd></dd> <dt> -<a href="/usr/share/gtk-doc/html/libnm-glib/NMActiveConnection.html#NMActiveConnection--dhcp6-config">NMActiveConnection:dhcp6-config</a>, object property in NMDeviceOvs +NMActiveConnection:dhcp6-config, object property in NMDeviceOvs </dt> <dd></dd> <dt> -<a href="/usr/share/gtk-doc/html/libnm-glib/NMActiveConnection.html#NMActiveConnection--id">NMActiveConnection:id</a>, object property in NMDeviceOvs +NMActiveConnection:id, object property in NMDeviceOvs </dt> <dd></dd> <dt> -<a href="/usr/share/gtk-doc/html/libnm-glib/NMActiveConnection.html#NMActiveConnection--ip4-config">NMActiveConnection:ip4-config</a>, object property in NMDeviceOvs +NMActiveConnection:ip4-config, object property in NMDeviceOvs </dt> <dd></dd> <dt> -<a href="/usr/share/gtk-doc/html/libnm-glib/NMActiveConnection.html#NMActiveConnection--ip6-config">NMActiveConnection:ip6-config</a>, object property in NMDeviceOvs +NMActiveConnection:ip6-config, object property in NMDeviceOvs </dt> <dd></dd> <dt> -<a href="/usr/share/gtk-doc/html/libnm-glib/NMActiveConnection.html#NMActiveConnection--master">NMActiveConnection:master</a>, object property in NMDeviceOvs +NMActiveConnection:master, object property in NMDeviceOvs </dt> <dd></dd> <dt> @@ -149,7 +149,7 @@ NMActiveConnection:specific-object-path, object property in NMDeviceOvs </dt> <dd></dd> <dt> -<a href="/usr/share/gtk-doc/html/libnm-glib/NMActiveConnection.html#NMActiveConnection--state">NMActiveConnection:state</a>, object property in NMDeviceOvs +NMActiveConnection:state, object property in NMDeviceOvs </dt> <dd></dd> <dt> @@ -157,15 +157,15 @@ NMActiveConnection:state-flags, object property in NMDeviceOvs </dt> <dd></dd> <dt> -<a href="/usr/share/gtk-doc/html/libnm-glib/NMActiveConnection.html#NMActiveConnection--type">NMActiveConnection:type</a>, object property in NMDeviceOvs +NMActiveConnection:type, object property in NMDeviceOvs </dt> <dd></dd> <dt> -<a href="/usr/share/gtk-doc/html/libnm-glib/NMActiveConnection.html#NMActiveConnection--uuid">NMActiveConnection:uuid</a>, object property in NMDeviceOvs +NMActiveConnection:uuid, object property in NMDeviceOvs </dt> <dd></dd> <dt> -<a href="/usr/share/gtk-doc/html/libnm-glib/NMActiveConnection.html#NMActiveConnection--vpn">NMActiveConnection:vpn</a>, object property in NMDeviceOvs +NMActiveConnection:vpn, object property in NMDeviceOvs </dt> <dd></dd> <dt> @@ -225,11 +225,11 @@ NMClient::active-connection-removed, object signal in NMDeviceOvs </dt> <dd></dd> <dt> -<a href="/usr/share/gtk-doc/html/libnm-glib/NMClient.html#NMClient-any-device-added">NMClient::any-device-added</a>, object signal in NMDeviceOvs +NMClient::any-device-added, object signal in NMDeviceOvs </dt> <dd></dd> <dt> -<a href="/usr/share/gtk-doc/html/libnm-glib/NMClient.html#NMClient-any-device-removed">NMClient::any-device-removed</a>, object signal in NMDeviceOvs +NMClient::any-device-removed, object signal in NMDeviceOvs </dt> <dd></dd> <dt> @@ -241,27 +241,27 @@ NMClient::connection-removed, object signal in NMDeviceOvs </dt> <dd></dd> <dt> -<a href="/usr/share/gtk-doc/html/libnm-glib/NMClient.html#NMClient-device-added">NMClient::device-added</a>, object signal in NMDeviceOvs +NMClient::device-added, object signal in NMDeviceOvs </dt> <dd></dd> <dt> -<a href="/usr/share/gtk-doc/html/libnm-glib/NMClient.html#NMClient-device-removed">NMClient::device-removed</a>, object signal in NMDeviceOvs +NMClient::device-removed, object signal in NMDeviceOvs </dt> <dd></dd> <dt> -<a href="/usr/share/gtk-doc/html/libnm-glib/NMClient.html#NMClient-permission-changed">NMClient::permission-changed</a>, object signal in NMDeviceOvs +NMClient::permission-changed, object signal in NMDeviceOvs </dt> <dd></dd> <dt> -<a href="/usr/share/gtk-doc/html/libnm-glib/NMClient.html#NMClient--activating-connection">NMClient:activating-connection</a>, object property in NMDeviceOvs +NMClient:activating-connection, object property in NMDeviceOvs </dt> <dd></dd> <dt> -<a href="/usr/share/gtk-doc/html/libnm-glib/NMClient.html#NMClient--active-connections">NMClient:active-connections</a>, object property in NMDeviceOvs +NMClient:active-connections, object property in NMDeviceOvs </dt> <dd></dd> <dt> -<a href="/usr/share/gtk-doc/html/libnm-glib/NMClient.html#NMClient--all-devices">NMClient:all-devices</a>, object property in NMDeviceOvs +NMClient:all-devices, object property in NMDeviceOvs </dt> <dd></dd> <dt> @@ -281,7 +281,7 @@ NMClient:connections, object property in NMDeviceOvs </dt> <dd></dd> <dt> -<a href="/usr/share/gtk-doc/html/libnm-glib/NMClient.html#NMClient--connectivity">NMClient:connectivity</a>, object property in NMDeviceOvs +NMClient:connectivity, object property in NMDeviceOvs </dt> <dd></dd> <dt> @@ -305,7 +305,7 @@ NMClient:dbus-name-owner, object property in NMDeviceOvs </dt> <dd></dd> <dt> -<a href="/usr/share/gtk-doc/html/libnm-glib/NMClient.html#NMClient--devices">NMClient:devices</a>, object property in NMDeviceOvs +NMClient:devices, object property in NMDeviceOvs </dt> <dd></dd> <dt> @@ -333,7 +333,7 @@ NMClient:metered, object property in NMDeviceOvs </dt> <dd></dd> <dt> -<a href="/usr/share/gtk-doc/html/libnm-glib/NMClient.html#NMClient--networking-enabled">NMClient:networking-enabled</a>, object property in NMDeviceOvs +NMClient:networking-enabled, object property in NMDeviceOvs </dt> <dd></dd> <dt> @@ -345,43 +345,43 @@ NMClient:permissions-state, object property in NMDeviceOvs </dt> <dd></dd> <dt> -<a href="/usr/share/gtk-doc/html/libnm-glib/NMClient.html#NMClient--primary-connection">NMClient:primary-connection</a>, object property in NMDeviceOvs +NMClient:primary-connection, object property in NMDeviceOvs </dt> <dd></dd> <dt> -<a href="/usr/share/gtk-doc/html/libnm-glib/NMClient.html#NMClient--startup">NMClient:startup</a>, object property in NMDeviceOvs +NMClient:startup, object property in NMDeviceOvs </dt> <dd></dd> <dt> -<a href="/usr/share/gtk-doc/html/libnm-glib/NMClient.html#NMClient--state">NMClient:state</a>, object property in NMDeviceOvs +NMClient:state, object property in NMDeviceOvs </dt> <dd></dd> <dt> -<a href="/usr/share/gtk-doc/html/libnm-glib/NMClient.html#NMClient--version">NMClient:version</a>, object property in NMDeviceOvs +NMClient:version, object property in NMDeviceOvs </dt> <dd></dd> <dt> -<a href="/usr/share/gtk-doc/html/libnm-glib/NMClient.html#NMClient--wimax-enabled">NMClient:wimax-enabled</a>, object property in NMDeviceOvs +NMClient:wimax-enabled, object property in NMDeviceOvs </dt> <dd></dd> <dt> -<a href="/usr/share/gtk-doc/html/libnm-glib/NMClient.html#NMClient--wimax-hardware-enabled">NMClient:wimax-hardware-enabled</a>, object property in NMDeviceOvs +NMClient:wimax-hardware-enabled, object property in NMDeviceOvs </dt> <dd></dd> <dt> -<a href="/usr/share/gtk-doc/html/libnm-glib/NMClient.html#NMClient--wireless-enabled">NMClient:wireless-enabled</a>, object property in NMDeviceOvs +NMClient:wireless-enabled, object property in NMDeviceOvs </dt> <dd></dd> <dt> -<a href="/usr/share/gtk-doc/html/libnm-glib/NMClient.html#NMClient--wireless-hardware-enabled">NMClient:wireless-hardware-enabled</a>, object property in NMDeviceOvs +NMClient:wireless-hardware-enabled, object property in NMDeviceOvs </dt> <dd></dd> <dt> -<a href="/usr/share/gtk-doc/html/libnm-glib/NMClient.html#NMClient--wwan-enabled">NMClient:wwan-enabled</a>, object property in NMDeviceOvs +NMClient:wwan-enabled, object property in NMDeviceOvs </dt> <dd></dd> <dt> -<a href="/usr/share/gtk-doc/html/libnm-glib/NMClient.html#NMClient--wwan-hardware-enabled">NMClient:wwan-hardware-enabled</a>, object property in NMDeviceOvs +NMClient:wwan-hardware-enabled, object property in NMDeviceOvs </dt> <dd></dd> <dt> @@ -417,19 +417,19 @@ NMClientNotifyEventWithPtrCb, user_function in <a class="link" href="NMIPConfig. </dt> <dd></dd> <dt> -<a href="/usr/share/gtk-doc/html/libnm-util/NMConnection.html#NMConnection-struct">NMConnection</a>, struct in NMSettingOvs +NMConnection, struct in NMSettingOvs </dt> <dd></dd> <dt> -<a href="/usr/share/gtk-doc/html/libnm-util/NMConnection.html#NMConnection-changed">NMConnection::changed</a>, object signal in NMSettingOvs +NMConnection::changed, object signal in NMSettingOvs </dt> <dd></dd> <dt> -<a href="/usr/share/gtk-doc/html/libnm-util/NMConnection.html#NMConnection-secrets-cleared">NMConnection::secrets-cleared</a>, object signal in NMSettingOvs +NMConnection::secrets-cleared, object signal in NMSettingOvs </dt> <dd></dd> <dt> -<a href="/usr/share/gtk-doc/html/libnm-util/NMConnection.html#NMConnection-secrets-updated">NMConnection::secrets-updated</a>, object signal in NMSettingOvs +NMConnection::secrets-updated, object signal in NMSettingOvs </dt> <dd></dd> <dt> @@ -473,51 +473,51 @@ NMDevice6Lowpan:parent, object property in NMDeviceOvs </dt> <dd></dd> <dt> -<a href="/usr/share/gtk-doc/html/libnm-glib/NMDevice.html#NMDevice-state-changed">NMDevice::state-changed</a>, object signal in NMDeviceOvs +NMDevice::state-changed, object signal in NMDeviceOvs </dt> <dd></dd> <dt> -<a href="/usr/share/gtk-doc/html/libnm-glib/NMDevice.html#NMDevice--active-connection">NMDevice:active-connection</a>, object property in NMDeviceOvs +NMDevice:active-connection, object property in NMDeviceOvs </dt> <dd></dd> <dt> -<a href="/usr/share/gtk-doc/html/libnm-glib/NMDevice.html#NMDevice--autoconnect">NMDevice:autoconnect</a>, object property in NMDeviceOvs +NMDevice:autoconnect, object property in NMDeviceOvs </dt> <dd></dd> <dt> -<a href="/usr/share/gtk-doc/html/libnm-glib/NMDevice.html#NMDevice--available-connections">NMDevice:available-connections</a>, object property in NMDeviceOvs +NMDevice:available-connections, object property in NMDeviceOvs </dt> <dd></dd> <dt> -<a href="/usr/share/gtk-doc/html/libnm-glib/NMDevice.html#NMDevice--capabilities">NMDevice:capabilities</a>, object property in NMDeviceOvs +NMDevice:capabilities, object property in NMDeviceOvs </dt> <dd></dd> <dt> -<a href="/usr/share/gtk-doc/html/libnm-glib/NMDevice.html#NMDevice--device-type">NMDevice:device-type</a>, object property in NMDeviceOvs +NMDevice:device-type, object property in NMDeviceOvs </dt> <dd></dd> <dt> -<a href="/usr/share/gtk-doc/html/libnm-glib/NMDevice.html#NMDevice--dhcp4-config">NMDevice:dhcp4-config</a>, object property in NMDeviceOvs +NMDevice:dhcp4-config, object property in NMDeviceOvs </dt> <dd></dd> <dt> -<a href="/usr/share/gtk-doc/html/libnm-glib/NMDevice.html#NMDevice--dhcp6-config">NMDevice:dhcp6-config</a>, object property in NMDeviceOvs +NMDevice:dhcp6-config, object property in NMDeviceOvs </dt> <dd></dd> <dt> -<a href="/usr/share/gtk-doc/html/libnm-glib/NMDevice.html#NMDevice--driver">NMDevice:driver</a>, object property in NMDeviceOvs +NMDevice:driver, object property in NMDeviceOvs </dt> <dd></dd> <dt> -<a href="/usr/share/gtk-doc/html/libnm-glib/NMDevice.html#NMDevice--driver-version">NMDevice:driver-version</a>, object property in NMDeviceOvs +NMDevice:driver-version, object property in NMDeviceOvs </dt> <dd></dd> <dt> -<a href="/usr/share/gtk-doc/html/libnm-glib/NMDevice.html#NMDevice--firmware-missing">NMDevice:firmware-missing</a>, object property in NMDeviceOvs +NMDevice:firmware-missing, object property in NMDeviceOvs </dt> <dd></dd> <dt> -<a href="/usr/share/gtk-doc/html/libnm-glib/NMDevice.html#NMDevice--firmware-version">NMDevice:firmware-version</a>, object property in NMDeviceOvs +NMDevice:firmware-version, object property in NMDeviceOvs </dt> <dd></dd> <dt> @@ -525,7 +525,7 @@ NMDevice:hw-address, object property in NMDeviceOvs </dt> <dd></dd> <dt> -<a href="/usr/share/gtk-doc/html/libnm-glib/NMDevice.html#NMDevice--interface">NMDevice:interface</a>, object property in NMDeviceOvs +NMDevice:interface, object property in NMDeviceOvs </dt> <dd></dd> <dt> @@ -533,11 +533,11 @@ NMDevice:interface-flags, object property in NMDeviceOvs </dt> <dd></dd> <dt> -<a href="/usr/share/gtk-doc/html/libnm-glib/NMDevice.html#NMDevice--ip-interface">NMDevice:ip-interface</a>, object property in NMDeviceOvs +NMDevice:ip-interface, object property in NMDeviceOvs </dt> <dd></dd> <dt> -<a href="/usr/share/gtk-doc/html/libnm-glib/NMDevice.html#NMDevice--ip4-config">NMDevice:ip4-config</a>, object property in NMDeviceOvs +NMDevice:ip4-config, object property in NMDeviceOvs </dt> <dd></dd> <dt> @@ -545,7 +545,7 @@ NMDevice:ip4-connectivity, object property in NMDeviceOvs </dt> <dd></dd> <dt> -<a href="/usr/share/gtk-doc/html/libnm-glib/NMDevice.html#NMDevice--ip6-config">NMDevice:ip6-config</a>, object property in NMDeviceOvs +NMDevice:ip6-config, object property in NMDeviceOvs </dt> <dd></dd> <dt> @@ -557,7 +557,7 @@ NMDevice:lldp-neighbors, object property in NMDeviceOvs </dt> <dd></dd> <dt> -<a href="/usr/share/gtk-doc/html/libnm-glib/NMDevice.html#NMDevice--managed">NMDevice:managed</a>, object property in NMDeviceOvs +NMDevice:managed, object property in NMDeviceOvs </dt> <dd></dd> <dt> @@ -565,7 +565,7 @@ NMDevice:metered, object property in NMDeviceOvs </dt> <dd></dd> <dt> -<a href="/usr/share/gtk-doc/html/libnm-glib/NMDevice.html#NMDevice--mtu">NMDevice:mtu</a>, object property in NMDeviceOvs +NMDevice:mtu, object property in NMDeviceOvs </dt> <dd></dd> <dt> @@ -577,31 +577,31 @@ NMDevice:path, object property in NMDeviceOvs </dt> <dd></dd> <dt> -<a href="/usr/share/gtk-doc/html/libnm-glib/NMDevice.html#NMDevice--physical-port-id">NMDevice:physical-port-id</a>, object property in NMDeviceOvs +NMDevice:physical-port-id, object property in NMDeviceOvs </dt> <dd></dd> <dt> -<a href="/usr/share/gtk-doc/html/libnm-glib/NMDevice.html#NMDevice--product">NMDevice:product</a>, object property in NMDeviceOvs +NMDevice:product, object property in NMDeviceOvs </dt> <dd></dd> <dt> -<a href="/usr/share/gtk-doc/html/libnm-glib/NMDevice.html#NMDevice--real">NMDevice:real</a>, object property in NMDeviceOvs +NMDevice:real, object property in NMDeviceOvs </dt> <dd></dd> <dt> -<a href="/usr/share/gtk-doc/html/libnm-glib/NMDevice.html#NMDevice--state">NMDevice:state</a>, object property in NMDeviceOvs +NMDevice:state, object property in NMDeviceOvs </dt> <dd></dd> <dt> -<a href="/usr/share/gtk-doc/html/libnm-glib/NMDevice.html#NMDevice--state-reason">NMDevice:state-reason</a>, object property in NMDeviceOvs +NMDevice:state-reason, object property in NMDeviceOvs </dt> <dd></dd> <dt> -<a href="/usr/share/gtk-doc/html/libnm-glib/NMDevice.html#NMDevice--udi">NMDevice:udi</a>, object property in NMDeviceOvs +NMDevice:udi, object property in NMDeviceOvs </dt> <dd></dd> <dt> -<a href="/usr/share/gtk-doc/html/libnm-glib/NMDevice.html#NMDevice--vendor">NMDevice:vendor</a>, object property in NMDeviceOvs +NMDevice:vendor, object property in NMDeviceOvs </dt> <dd></dd> <dt> @@ -609,7 +609,7 @@ NMDeviceAdsl, struct in NMDeviceOvs </dt> <dd></dd> <dt> -<a href="/usr/share/gtk-doc/html/libnm-glib/NMDeviceAdsl.html#NMDeviceAdsl--carrier">NMDeviceAdsl:carrier</a>, object property in NMDeviceOvs +NMDeviceAdsl:carrier, object property in NMDeviceOvs </dt> <dd></dd> <dt> @@ -617,11 +617,11 @@ NMDeviceBond, struct in NMDeviceOvs </dt> <dd></dd> <dt> -<a href="/usr/share/gtk-doc/html/libnm-glib/NMDeviceBond.html#NMDeviceBond--carrier">NMDeviceBond:carrier</a>, object property in NMDeviceOvs +NMDeviceBond:carrier, object property in NMDeviceOvs </dt> <dd></dd> <dt> -<a href="/usr/share/gtk-doc/html/libnm-glib/NMDeviceBond.html#NMDeviceBond--slaves">NMDeviceBond:slaves</a>, object property in NMDeviceOvs +NMDeviceBond:slaves, object property in NMDeviceOvs </dt> <dd></dd> <dt> @@ -629,11 +629,11 @@ NMDeviceBridge, struct in NMDeviceOvs </dt> <dd></dd> <dt> -<a href="/usr/share/gtk-doc/html/libnm-glib/NMDeviceBridge.html#NMDeviceBridge--carrier">NMDeviceBridge:carrier</a>, object property in NMDeviceOvs +NMDeviceBridge:carrier, object property in NMDeviceOvs </dt> <dd></dd> <dt> -<a href="/usr/share/gtk-doc/html/libnm-glib/NMDeviceBridge.html#NMDeviceBridge--slaves">NMDeviceBridge:slaves</a>, object property in NMDeviceOvs +NMDeviceBridge:slaves, object property in NMDeviceOvs </dt> <dd></dd> <dt> @@ -641,11 +641,11 @@ NMDeviceBt, struct in NMDeviceOvs </dt> <dd></dd> <dt> -<a href="/usr/share/gtk-doc/html/libnm-glib/NMDeviceBt.html#NMDeviceBt--bt-capabilities">NMDeviceBt:bt-capabilities</a>, object property in NMDeviceOvs +NMDeviceBt:bt-capabilities, object property in NMDeviceOvs </dt> <dd></dd> <dt> -<a href="/usr/share/gtk-doc/html/libnm-glib/NMDeviceBt.html#NMDeviceBt--name">NMDeviceBt:name</a>, object property in NMDeviceOvs +NMDeviceBt:name, object property in NMDeviceOvs </dt> <dd></dd> <dt> @@ -669,11 +669,11 @@ NMDeviceEthernet, struct in NMDeviceOvs </dt> <dd></dd> <dt> -<a href="/usr/share/gtk-doc/html/libnm-glib/NMDeviceEthernet.html#NMDeviceEthernet--carrier">NMDeviceEthernet:carrier</a>, object property in NMDeviceOvs +NMDeviceEthernet:carrier, object property in NMDeviceOvs </dt> <dd></dd> <dt> -<a href="/usr/share/gtk-doc/html/libnm-glib/NMDeviceEthernet.html#NMDeviceEthernet--perm-hw-address">NMDeviceEthernet:perm-hw-address</a>, object property in NMDeviceOvs +NMDeviceEthernet:perm-hw-address, object property in NMDeviceOvs </dt> <dd></dd> <dt> @@ -681,7 +681,7 @@ NMDeviceEthernet:s390-subchannels, object property in NMDeviceOvs </dt> <dd></dd> <dt> -<a href="/usr/share/gtk-doc/html/libnm-glib/NMDeviceEthernet.html#NMDeviceEthernet--speed">NMDeviceEthernet:speed</a>, object property in NMDeviceOvs +NMDeviceEthernet:speed, object property in NMDeviceOvs </dt> <dd></dd> <dt> @@ -693,7 +693,7 @@ NMDeviceGeneric, struct in NMDeviceOvs </dt> <dd></dd> <dt> -<a href="/usr/share/gtk-doc/html/libnm-glib/NMDeviceGeneric.html#NMDeviceGeneric--type-description">NMDeviceGeneric:type-description</a>, object property in NMDeviceOvs +NMDeviceGeneric:type-description, object property in NMDeviceOvs </dt> <dd></dd> <dt> @@ -701,7 +701,7 @@ NMDeviceInfiniband, struct in NMDeviceOvs </dt> <dd></dd> <dt> -<a href="/usr/share/gtk-doc/html/libnm-glib/NMDeviceInfiniband.html#NMDeviceInfiniband--carrier">NMDeviceInfiniband:carrier</a>, object property in NMDeviceOvs +NMDeviceInfiniband:carrier, object property in NMDeviceOvs </dt> <dd></dd> <dt> @@ -845,7 +845,7 @@ NMDeviceModem:apn, object property in NMDeviceOvs </dt> <dd></dd> <dt> -<a href="/usr/share/gtk-doc/html/libnm-glib/NMDeviceModem.html#NMDeviceModem--current-capabilities">NMDeviceModem:current-capabilities</a>, object property in NMDeviceOvs +NMDeviceModem:current-capabilities, object property in NMDeviceOvs </dt> <dd></dd> <dt> @@ -853,7 +853,7 @@ NMDeviceModem:device-id, object property in NMDeviceOvs </dt> <dd></dd> <dt> -<a href="/usr/share/gtk-doc/html/libnm-glib/NMDeviceModem.html#NMDeviceModem--modem-capabilities">NMDeviceModem:modem-capabilities</a>, object property in NMDeviceOvs +NMDeviceModem:modem-capabilities, object property in NMDeviceOvs </dt> <dd></dd> <dt> @@ -869,11 +869,11 @@ NMDeviceOlpcMesh, struct in NMDeviceOvs </dt> <dd></dd> <dt> -<a href="/usr/share/gtk-doc/html/libnm-glib/NMDeviceOlpcMesh.html#NMDeviceOlpcMesh--active-channel">NMDeviceOlpcMesh:active-channel</a>, object property in NMDeviceOvs +NMDeviceOlpcMesh:active-channel, object property in NMDeviceOvs </dt> <dd></dd> <dt> -<a href="/usr/share/gtk-doc/html/libnm-glib/NMDeviceOlpcMesh.html#NMDeviceOlpcMesh--companion">NMDeviceOlpcMesh:companion</a>, object property in NMDeviceOvs +NMDeviceOlpcMesh:companion, object property in NMDeviceOvs </dt> <dd></dd> <dt> @@ -913,7 +913,7 @@ NMDeviceTeam, struct in NMDeviceOvs </dt> <dd></dd> <dt> -<a href="/usr/share/gtk-doc/html/libnm-glib/NMDeviceTeam.html#NMDeviceTeam--carrier">NMDeviceTeam:carrier</a>, object property in NMDeviceOvs +NMDeviceTeam:carrier, object property in NMDeviceOvs </dt> <dd></dd> <dt> @@ -921,7 +921,7 @@ NMDeviceTeam:config, object property in NMDeviceOvs </dt> <dd></dd> <dt> -<a href="/usr/share/gtk-doc/html/libnm-glib/NMDeviceTeam.html#NMDeviceTeam--slaves">NMDeviceTeam:slaves</a>, object property in NMDeviceOvs +NMDeviceTeam:slaves, object property in NMDeviceOvs </dt> <dd></dd> <dt> @@ -969,15 +969,15 @@ NMDeviceVlan, struct in NMDeviceOvs </dt> <dd></dd> <dt> -<a href="/usr/share/gtk-doc/html/libnm-glib/NMDeviceVlan.html#NMDeviceVlan--carrier">NMDeviceVlan:carrier</a>, object property in NMDeviceOvs +NMDeviceVlan:carrier, object property in NMDeviceOvs </dt> <dd></dd> <dt> -<a href="/usr/share/gtk-doc/html/libnm-glib/NMDeviceVlan.html#NMDeviceVlan--parent">NMDeviceVlan:parent</a>, object property in NMDeviceOvs +NMDeviceVlan:parent, object property in NMDeviceOvs </dt> <dd></dd> <dt> -<a href="/usr/share/gtk-doc/html/libnm-glib/NMDeviceVlan.html#NMDeviceVlan--vlan-id">NMDeviceVlan:vlan-id</a>, object property in NMDeviceOvs +NMDeviceVlan:vlan-id, object property in NMDeviceOvs </dt> <dd></dd> <dt> @@ -1065,23 +1065,23 @@ NMDeviceWifi, struct in NMDeviceOvs </dt> <dd></dd> <dt> -<a href="/usr/share/gtk-doc/html/libnm-glib/NMDeviceWifi.html#NMDeviceWifi-access-point-added">NMDeviceWifi::access-point-added</a>, object signal in NMDeviceOvs +NMDeviceWifi::access-point-added, object signal in NMDeviceOvs </dt> <dd></dd> <dt> -<a href="/usr/share/gtk-doc/html/libnm-glib/NMDeviceWifi.html#NMDeviceWifi-access-point-removed">NMDeviceWifi::access-point-removed</a>, object signal in NMDeviceOvs +NMDeviceWifi::access-point-removed, object signal in NMDeviceOvs </dt> <dd></dd> <dt> -<a href="/usr/share/gtk-doc/html/libnm-glib/NMDeviceWifi.html#NMDeviceWifi--access-points">NMDeviceWifi:access-points</a>, object property in NMDeviceOvs +NMDeviceWifi:access-points, object property in NMDeviceOvs </dt> <dd></dd> <dt> -<a href="/usr/share/gtk-doc/html/libnm-glib/NMDeviceWifi.html#NMDeviceWifi--active-access-point">NMDeviceWifi:active-access-point</a>, object property in NMDeviceOvs +NMDeviceWifi:active-access-point, object property in NMDeviceOvs </dt> <dd></dd> <dt> -<a href="/usr/share/gtk-doc/html/libnm-glib/NMDeviceWifi.html#NMDeviceWifi--bitrate">NMDeviceWifi:bitrate</a>, object property in NMDeviceOvs +NMDeviceWifi:bitrate, object property in NMDeviceOvs </dt> <dd></dd> <dt> @@ -1089,15 +1089,15 @@ NMDeviceWifi:last-scan, object property in NMDeviceOvs </dt> <dd></dd> <dt> -<a href="/usr/share/gtk-doc/html/libnm-glib/NMDeviceWifi.html#NMDeviceWifi--mode">NMDeviceWifi:mode</a>, object property in NMDeviceOvs +NMDeviceWifi:mode, object property in NMDeviceOvs </dt> <dd></dd> <dt> -<a href="/usr/share/gtk-doc/html/libnm-glib/NMDeviceWifi.html#NMDeviceWifi--perm-hw-address">NMDeviceWifi:perm-hw-address</a>, object property in NMDeviceOvs +NMDeviceWifi:perm-hw-address, object property in NMDeviceOvs </dt> <dd></dd> <dt> -<a href="/usr/share/gtk-doc/html/libnm-glib/NMDeviceWifi.html#NMDeviceWifi--wireless-capabilities">NMDeviceWifi:wireless-capabilities</a>, object property in NMDeviceOvs +NMDeviceWifi:wireless-capabilities, object property in NMDeviceOvs </dt> <dd></dd> <dt> @@ -1125,43 +1125,43 @@ NMDeviceWimax, struct in NMDeviceOvs </dt> <dd></dd> <dt> -<a href="/usr/share/gtk-doc/html/libnm-glib/NMDeviceWimax.html#NMDeviceWimax-nsp-added">NMDeviceWimax::nsp-added</a>, object signal in NMDeviceOvs +NMDeviceWimax::nsp-added, object signal in NMDeviceOvs </dt> <dd></dd> <dt> -<a href="/usr/share/gtk-doc/html/libnm-glib/NMDeviceWimax.html#NMDeviceWimax-nsp-removed">NMDeviceWimax::nsp-removed</a>, object signal in NMDeviceOvs +NMDeviceWimax::nsp-removed, object signal in NMDeviceOvs </dt> <dd></dd> <dt> -<a href="/usr/share/gtk-doc/html/libnm-glib/NMDeviceWimax.html#NMDeviceWimax--active-nsp">NMDeviceWimax:active-nsp</a>, object property in NMDeviceOvs +NMDeviceWimax:active-nsp, object property in NMDeviceOvs </dt> <dd></dd> <dt> -<a href="/usr/share/gtk-doc/html/libnm-glib/NMDeviceWimax.html#NMDeviceWimax--bsid">NMDeviceWimax:bsid</a>, object property in NMDeviceOvs +NMDeviceWimax:bsid, object property in NMDeviceOvs </dt> <dd></dd> <dt> -<a href="/usr/share/gtk-doc/html/libnm-glib/NMDeviceWimax.html#NMDeviceWimax--center-frequency">NMDeviceWimax:center-frequency</a>, object property in NMDeviceOvs +NMDeviceWimax:center-frequency, object property in NMDeviceOvs </dt> <dd></dd> <dt> -<a href="/usr/share/gtk-doc/html/libnm-glib/NMDeviceWimax.html#NMDeviceWimax--cinr">NMDeviceWimax:cinr</a>, object property in NMDeviceOvs +NMDeviceWimax:cinr, object property in NMDeviceOvs </dt> <dd></dd> <dt> -<a href="/usr/share/gtk-doc/html/libnm-glib/NMDeviceWimax.html#NMDeviceWimax--hw-address">NMDeviceWimax:hw-address</a>, object property in NMDeviceOvs +NMDeviceWimax:hw-address, object property in NMDeviceOvs </dt> <dd></dd> <dt> -<a href="/usr/share/gtk-doc/html/libnm-glib/NMDeviceWimax.html#NMDeviceWimax--nsps">NMDeviceWimax:nsps</a>, object property in NMDeviceOvs +NMDeviceWimax:nsps, object property in NMDeviceOvs </dt> <dd></dd> <dt> -<a href="/usr/share/gtk-doc/html/libnm-glib/NMDeviceWimax.html#NMDeviceWimax--rssi">NMDeviceWimax:rssi</a>, object property in NMDeviceOvs +NMDeviceWimax:rssi, object property in NMDeviceOvs </dt> <dd></dd> <dt> -<a href="/usr/share/gtk-doc/html/libnm-glib/NMDeviceWimax.html#NMDeviceWimax--tx-power">NMDeviceWimax:tx-power</a>, object property in NMDeviceOvs +NMDeviceWimax:tx-power, object property in NMDeviceOvs </dt> <dd></dd> <dt> @@ -1597,7 +1597,7 @@ NMRemoteConnection:flags, object property in NMDeviceOvs </dt> <dd></dd> <dt> -<a href="/usr/share/gtk-doc/html/libnm-glib/NMRemoteConnection.html#NMRemoteConnection--unsaved">NMRemoteConnection:unsaved</a>, object property in NMDeviceOvs +NMRemoteConnection:unsaved, object property in NMDeviceOvs </dt> <dd></dd> <dt> @@ -1933,11 +1933,11 @@ NMSettingBridge, struct in NMSettingOvs </dt> <dd></dd> <dt> -<a href="/usr/share/gtk-doc/html/libnm-util/NMSettingBridge.html#NMSettingBridge--ageing-time">NMSettingBridge:ageing-time</a>, object property in NMSettingOvs +NMSettingBridge:ageing-time, object property in NMSettingOvs </dt> <dd></dd> <dt> -<a href="/usr/share/gtk-doc/html/libnm-util/NMSettingBridge.html#NMSettingBridge--forward-delay">NMSettingBridge:forward-delay</a>, object property in NMSettingOvs +NMSettingBridge:forward-delay, object property in NMSettingOvs </dt> <dd></dd> <dt> @@ -1949,15 +1949,15 @@ NMSettingBridge:group-forward-mask, object property in NMSettingOvs </dt> <dd></dd> <dt> -<a href="/usr/share/gtk-doc/html/libnm-util/NMSettingBridge.html#NMSettingBridge--hello-time">NMSettingBridge:hello-time</a>, object property in NMSettingOvs +NMSettingBridge:hello-time, object property in NMSettingOvs </dt> <dd></dd> <dt> -<a href="/usr/share/gtk-doc/html/libnm-util/NMSettingBridge.html#NMSettingBridge--mac-address">NMSettingBridge:mac-address</a>, object property in NMSettingOvs +NMSettingBridge:mac-address, object property in NMSettingOvs </dt> <dd></dd> <dt> -<a href="/usr/share/gtk-doc/html/libnm-util/NMSettingBridge.html#NMSettingBridge--max-age">NMSettingBridge:max-age</a>, object property in NMSettingOvs +NMSettingBridge:max-age, object property in NMSettingOvs </dt> <dd></dd> <dt> @@ -2013,11 +2013,11 @@ NMSettingBridge:multicast-startup-query-interval, object property in NMSettingOv </dt> <dd></dd> <dt> -<a href="/usr/share/gtk-doc/html/libnm-util/NMSettingBridge.html#NMSettingBridge--priority">NMSettingBridge:priority</a>, object property in NMSettingOvs +NMSettingBridge:priority, object property in NMSettingOvs </dt> <dd></dd> <dt> -<a href="/usr/share/gtk-doc/html/libnm-util/NMSettingBridge.html#NMSettingBridge--stp">NMSettingBridge:stp</a>, object property in NMSettingOvs +NMSettingBridge:stp, object property in NMSettingOvs </dt> <dd></dd> <dt> @@ -3905,15 +3905,15 @@ NMWimaxNsp, struct in NMDeviceOvs </dt> <dd></dd> <dt> -<a href="/usr/share/gtk-doc/html/libnm-glib/NMWimaxNsp.html#NMWimaxNsp--name">NMWimaxNsp:name</a>, object property in NMDeviceOvs +NMWimaxNsp:name, object property in NMDeviceOvs </dt> <dd></dd> <dt> -<a href="/usr/share/gtk-doc/html/libnm-glib/NMWimaxNsp.html#NMWimaxNsp--network-type">NMWimaxNsp:network-type</a>, object property in NMDeviceOvs +NMWimaxNsp:network-type, object property in NMDeviceOvs </dt> <dd></dd> <dt> -<a href="/usr/share/gtk-doc/html/libnm-glib/NMWimaxNsp.html#NMWimaxNsp--signal-quality">NMWimaxNsp:signal-quality</a>, object property in NMDeviceOvs +NMWimaxNsp:signal-quality, object property in NMDeviceOvs </dt> <dd></dd> <dt> @@ -5357,11 +5357,11 @@ nm_context_busy_watcher_quark, function in <a class="link" href="NMIPConfig.html </dt> <dd></dd> <dt> -<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 +NM_DBUS_INTERFACE_VPN, macro in nm-vpn-dbus-interface </dt> <dd></dd> <dt> -<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 +NM_DBUS_INTERFACE_VPN_CONNECTION, macro in nm-vpn-dbus-interface </dt> <dd></dd> <dt> @@ -5373,15 +5373,15 @@ nm_context_busy_watcher_quark, function in <a class="link" href="NMIPConfig.html </dt> <dd></dd> <dt> -<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 +NM_DBUS_INVALID_VPN_CONNECTION, macro in nm-vpn-dbus-interface </dt> <dd></dd> <dt> -<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 +NM_DBUS_NO_ACTIVE_VPN_CONNECTION, macro in nm-vpn-dbus-interface </dt> <dd></dd> <dt> -<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 +NM_DBUS_NO_VPN_CONNECTIONS, macro in nm-vpn-dbus-interface </dt> <dd></dd> <dt> @@ -5417,11 +5417,11 @@ nm_dbus_path_not_empty, function in <a class="link" href="NMIPConfig.html" title </dt> <dd></dd> <dt> -<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 +NM_DBUS_PATH_VPN, macro in nm-vpn-dbus-interface </dt> <dd></dd> <dt> -<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 +NM_DBUS_PATH_VPN_CONNECTION, macro in nm-vpn-dbus-interface </dt> <dd></dd> <dt> @@ -5437,67 +5437,67 @@ nm_dbus_path_not_empty, function in <a class="link" href="NMIPConfig.html" title </dt> <dd></dd> <dt> -<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 +NM_DBUS_VPN_ALREADY_STARTED, macro in nm-vpn-dbus-interface </dt> <dd></dd> <dt> -<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 +NM_DBUS_VPN_ALREADY_STOPPED, macro in nm-vpn-dbus-interface </dt> <dd></dd> <dt> -<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 +NM_DBUS_VPN_BAD_ARGUMENTS, macro in nm-vpn-dbus-interface </dt> <dd></dd> <dt> -<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 +NM_DBUS_VPN_ERROR_PREFIX, macro in nm-vpn-dbus-interface </dt> <dd></dd> <dt> -<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 +NM_DBUS_VPN_INTERACTIVE_NOT_SUPPORTED, macro in nm-vpn-dbus-interface </dt> <dd></dd> <dt> -<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 +NM_DBUS_VPN_SIGNAL_CONNECT_FAILED, macro in nm-vpn-dbus-interface </dt> <dd></dd> <dt> -<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 +NM_DBUS_VPN_SIGNAL_IP4_CONFIG, macro in nm-vpn-dbus-interface </dt> <dd></dd> <dt> -<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 +NM_DBUS_VPN_SIGNAL_IP_CONFIG_BAD, macro in nm-vpn-dbus-interface </dt> <dd></dd> <dt> -<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 +NM_DBUS_VPN_SIGNAL_LAUNCH_FAILED, macro in nm-vpn-dbus-interface </dt> <dd></dd> <dt> -<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 +NM_DBUS_VPN_SIGNAL_LOGIN_BANNER, macro in nm-vpn-dbus-interface </dt> <dd></dd> <dt> -<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 +NM_DBUS_VPN_SIGNAL_LOGIN_FAILED, macro in nm-vpn-dbus-interface </dt> <dd></dd> <dt> -<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 +NM_DBUS_VPN_SIGNAL_STATE_CHANGE, macro in nm-vpn-dbus-interface </dt> <dd></dd> <dt> -<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 +NM_DBUS_VPN_SIGNAL_VPN_CONFIG_BAD, macro in nm-vpn-dbus-interface </dt> <dd></dd> <dt> -<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 +NM_DBUS_VPN_STARTING_IN_PROGRESS, macro in nm-vpn-dbus-interface </dt> <dd></dd> <dt> -<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 +NM_DBUS_VPN_STOPPING_IN_PROGRESS, macro in nm-vpn-dbus-interface </dt> <dd></dd> <dt> -<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 +NM_DBUS_VPN_WRONG_STATE, macro in nm-vpn-dbus-interface </dt> <dd></dd> <dt> @@ -14013,11 +14013,11 @@ nm_utils_wincaps_to_dash, function in <a class="link" href="NMIPConfig.html" tit </dt> <dd></dd> <dt> -<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 +NM_VPN_DBUS_PLUGIN_INTERFACE, macro in nm-vpn-dbus-interface </dt> <dd></dd> <dt> -<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 +NM_VPN_DBUS_PLUGIN_PATH, macro in nm-vpn-dbus-interface </dt> <dd></dd> <dt> @@ -14085,27 +14085,27 @@ nm_utils_wincaps_to_dash, function in <a class="link" href="NMIPConfig.html" tit </dt> <dd></dd> <dt> -<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 +NM_VPN_PLUGIN_CAN_PERSIST, macro in nm-vpn-dbus-interface </dt> <dd></dd> <dt> -<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 +NM_VPN_PLUGIN_CONFIG_BANNER, macro in nm-vpn-dbus-interface </dt> <dd></dd> <dt> -<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 +NM_VPN_PLUGIN_CONFIG_EXT_GATEWAY, macro in nm-vpn-dbus-interface </dt> <dd></dd> <dt> -<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 +NM_VPN_PLUGIN_CONFIG_HAS_IP4, macro in nm-vpn-dbus-interface </dt> <dd></dd> <dt> -<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 +NM_VPN_PLUGIN_CONFIG_HAS_IP6, macro in nm-vpn-dbus-interface </dt> <dd></dd> <dt> -<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 +NM_VPN_PLUGIN_CONFIG_MTU, macro in nm-vpn-dbus-interface </dt> <dd></dd> <dt> @@ -14113,7 +14113,7 @@ NM_VPN_PLUGIN_CONFIG_PROXY_PAC, macro in nm-vpn-dbus-interface </dt> <dd></dd> <dt> -<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 +NM_VPN_PLUGIN_CONFIG_TUNDEV, macro in nm-vpn-dbus-interface </dt> <dd></dd> <dt> @@ -14249,55 +14249,55 @@ NM_VPN_PLUGIN_CONFIG_PROXY_PAC, macro in nm-vpn-dbus-interface </dt> <dd></dd> <dt> -<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 +NM_VPN_PLUGIN_IP4_CONFIG_ADDRESS, macro in nm-vpn-dbus-interface </dt> <dd></dd> <dt> -<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 +NM_VPN_PLUGIN_IP4_CONFIG_BANNER, macro in nm-vpn-dbus-interface </dt> <dd></dd> <dt> -<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 +NM_VPN_PLUGIN_IP4_CONFIG_DNS, macro in nm-vpn-dbus-interface </dt> <dd></dd> <dt> -<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 +NM_VPN_PLUGIN_IP4_CONFIG_DOMAIN, macro in nm-vpn-dbus-interface </dt> <dd></dd> <dt> -<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 +NM_VPN_PLUGIN_IP4_CONFIG_DOMAINS, macro in nm-vpn-dbus-interface </dt> <dd></dd> <dt> -<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 +NM_VPN_PLUGIN_IP4_CONFIG_EXT_GATEWAY, macro in nm-vpn-dbus-interface </dt> <dd></dd> <dt> -<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 +NM_VPN_PLUGIN_IP4_CONFIG_GATEWAY, macro in nm-vpn-dbus-interface </dt> <dd></dd> <dt> -<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 +NM_VPN_PLUGIN_IP4_CONFIG_INT_GATEWAY, macro in nm-vpn-dbus-interface </dt> <dd></dd> <dt> -<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 +NM_VPN_PLUGIN_IP4_CONFIG_MSS, macro in nm-vpn-dbus-interface </dt> <dd></dd> <dt> -<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 +NM_VPN_PLUGIN_IP4_CONFIG_MTU, macro in nm-vpn-dbus-interface </dt> <dd></dd> <dt> -<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 +NM_VPN_PLUGIN_IP4_CONFIG_NBNS, macro in nm-vpn-dbus-interface </dt> <dd></dd> <dt> -<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 +NM_VPN_PLUGIN_IP4_CONFIG_NEVER_DEFAULT, macro in nm-vpn-dbus-interface </dt> <dd></dd> <dt> -<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 +NM_VPN_PLUGIN_IP4_CONFIG_PREFIX, macro in nm-vpn-dbus-interface </dt> <dd></dd> <dt> @@ -14305,47 +14305,47 @@ NM_VPN_PLUGIN_IP4_CONFIG_PRESERVE_ROUTES, macro in nm-vpn-dbus-interface </dt> <dd></dd> <dt> -<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 +NM_VPN_PLUGIN_IP4_CONFIG_PTP, macro in nm-vpn-dbus-interface </dt> <dd></dd> <dt> -<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 +NM_VPN_PLUGIN_IP4_CONFIG_ROUTES, macro in nm-vpn-dbus-interface </dt> <dd></dd> <dt> -<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 +NM_VPN_PLUGIN_IP4_CONFIG_TUNDEV, macro in nm-vpn-dbus-interface </dt> <dd></dd> <dt> -<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 +NM_VPN_PLUGIN_IP6_CONFIG_ADDRESS, macro in nm-vpn-dbus-interface </dt> <dd></dd> <dt> -<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 +NM_VPN_PLUGIN_IP6_CONFIG_DNS, macro in nm-vpn-dbus-interface </dt> <dd></dd> <dt> -<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 +NM_VPN_PLUGIN_IP6_CONFIG_DOMAIN, macro in nm-vpn-dbus-interface </dt> <dd></dd> <dt> -<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 +NM_VPN_PLUGIN_IP6_CONFIG_DOMAINS, macro in nm-vpn-dbus-interface </dt> <dd></dd> <dt> -<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 +NM_VPN_PLUGIN_IP6_CONFIG_INT_GATEWAY, macro in nm-vpn-dbus-interface </dt> <dd></dd> <dt> -<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 +NM_VPN_PLUGIN_IP6_CONFIG_MSS, macro in nm-vpn-dbus-interface </dt> <dd></dd> <dt> -<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 +NM_VPN_PLUGIN_IP6_CONFIG_NEVER_DEFAULT, macro in nm-vpn-dbus-interface </dt> <dd></dd> <dt> -<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 +NM_VPN_PLUGIN_IP6_CONFIG_PREFIX, macro in nm-vpn-dbus-interface </dt> <dd></dd> <dt> @@ -14353,11 +14353,11 @@ NM_VPN_PLUGIN_IP6_CONFIG_PRESERVE_ROUTES, macro in nm-vpn-dbus-interface </dt> <dd></dd> <dt> -<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 +NM_VPN_PLUGIN_IP6_CONFIG_PTP, macro in nm-vpn-dbus-interface </dt> <dd></dd> <dt> -<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 +NM_VPN_PLUGIN_IP6_CONFIG_ROUTES, macro in nm-vpn-dbus-interface </dt> <dd></dd> <dt> @@ -14723,6 +14723,6 @@ NM_VPN_PLUGIN_IP6_CONFIG_PRESERVE_ROUTES, macro in nm-vpn-dbus-interface <dd></dd> </div> <div class="footer"> -<hr>Generated by GTK-Doc V1.33.1</div> +<hr>Generated by GTK-Doc V1.33.0</div> </body> </html> \ No newline at end of file diff --git a/docs/libnm/html/ch02.html b/docs/libnm/html/ch02.html index 47a7dab..bd869fe 100644 --- a/docs/libnm/html/ch02.html +++ b/docs/libnm/html/ch02.html @@ -8,7 +8,7 @@ <link rel="up" href="index.html" title="libnm Reference Manual"> <link rel="prev" href="usage.html" title="Using libnm"> <link rel="next" href="NMClient.html" title="NMClient"> -<meta name="generator" content="GTK-Doc V1.33.1 (XML mode)"> +<meta name="generator" content="GTK-Doc V1.33.0 (XML mode)"> <link rel="stylesheet" href="style.css" type="text/css"> </head> <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> @@ -41,6 +41,6 @@ </dl></div> </div> <div class="footer"> -<hr>Generated by GTK-Doc V1.33.1</div> +<hr>Generated by GTK-Doc V1.33.0</div> </body> </html> \ No newline at end of file diff --git a/docs/libnm/html/ch03.html b/docs/libnm/html/ch03.html index 90068a2..e6b5dbe 100644 --- a/docs/libnm/html/ch03.html +++ b/docs/libnm/html/ch03.html @@ -8,7 +8,7 @@ <link rel="up" href="index.html" title="libnm Reference Manual"> <link rel="prev" href="libnm-nm-dbus-interface.html" title="nm-dbus-interface"> <link rel="next" href="NMConnection.html" title="NMConnection"> -<meta name="generator" content="GTK-Doc V1.33.1 (XML mode)"> +<meta name="generator" content="GTK-Doc V1.33.0 (XML mode)"> <link rel="stylesheet" href="style.css" type="text/css"> </head> <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> @@ -198,6 +198,6 @@ use WEP, LEAP, WPA or WPA2/RSN security</span> </dl></div> </div> <div class="footer"> -<hr>Generated by GTK-Doc V1.33.1</div> +<hr>Generated by GTK-Doc V1.33.0</div> </body> </html> \ No newline at end of file diff --git a/docs/libnm/html/ch04.html b/docs/libnm/html/ch04.html index bc92ddc..6667285 100644 --- a/docs/libnm/html/ch04.html +++ b/docs/libnm/html/ch04.html @@ -8,7 +8,7 @@ <link rel="up" href="index.html" title="libnm Reference Manual"> <link rel="prev" href="NMSettingWpan.html" title="NMSettingWpan"> <link rel="next" href="NMDevice.html" title="NMDevice"> -<meta name="generator" content="GTK-Doc V1.33.1 (XML mode)"> +<meta name="generator" content="GTK-Doc V1.33.0 (XML mode)"> <link rel="stylesheet" href="style.css" type="text/css"> </head> <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> @@ -140,6 +140,6 @@ </dl></div> </div> <div class="footer"> -<hr>Generated by GTK-Doc V1.33.1</div> +<hr>Generated by GTK-Doc V1.33.0</div> </body> </html> \ No newline at end of file diff --git a/docs/libnm/html/ch05.html b/docs/libnm/html/ch05.html index a0c6117..e87ee25 100644 --- a/docs/libnm/html/ch05.html +++ b/docs/libnm/html/ch05.html @@ -8,7 +8,7 @@ <link rel="up" href="index.html" title="libnm Reference Manual"> <link rel="prev" href="NMCheckpoint.html" title="NMCheckpoint"> <link rel="next" href="libnm-nm-utils.html" title="nm-utils"> -<meta name="generator" content="GTK-Doc V1.33.1 (XML mode)"> +<meta name="generator" content="GTK-Doc V1.33.0 (XML mode)"> <link rel="stylesheet" href="style.css" type="text/css"> </head> <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> @@ -32,6 +32,6 @@ </dl></div> </div> <div class="footer"> -<hr>Generated by GTK-Doc V1.33.1</div> +<hr>Generated by GTK-Doc V1.33.0</div> </body> </html> \ No newline at end of file diff --git a/docs/libnm/html/ch06.html b/docs/libnm/html/ch06.html index b8bcee8..5ba9000 100644 --- a/docs/libnm/html/ch06.html +++ b/docs/libnm/html/ch06.html @@ -8,7 +8,7 @@ <link rel="up" href="index.html" title="libnm Reference Manual"> <link rel="prev" href="libnm-nm-version.html" title="nm-version"> <link rel="next" href="NMVpnServicePlugin.html" title="NMVpnServicePlugin"> -<meta name="generator" content="GTK-Doc V1.33.1 (XML mode)"> +<meta name="generator" content="GTK-Doc V1.33.0 (XML mode)"> <link rel="stylesheet" href="style.css" type="text/css"> </head> <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> @@ -41,6 +41,6 @@ </dl></div> </div> <div class="footer"> -<hr>Generated by GTK-Doc V1.33.1</div> +<hr>Generated by GTK-Doc V1.33.0</div> </body> </html> \ No newline at end of file diff --git a/docs/libnm/html/index.html b/docs/libnm/html/index.html index 75b2c70..80ea87f 100644 --- a/docs/libnm/html/index.html +++ b/docs/libnm/html/index.html @@ -6,7 +6,7 @@ <meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"> <link rel="home" href="index.html" title="libnm Reference Manual"> <link rel="next" href="ref-overview.html" title="Overview"> -<meta name="generator" content="GTK-Doc V1.33.1 (XML mode)"> +<meta name="generator" content="GTK-Doc V1.33.0 (XML mode)"> <link rel="stylesheet" href="style.css" type="text/css"> </head> <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> @@ -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.29.9 + for libnm 1.29.10 The latest version of this documentation can be found on-line at <a class="ulink" href="https://developer.gnome.org/libnm/stable/" target="_top">https://developer.gnome.org/libnm/stable/</a>. @@ -396,6 +396,6 @@ use WEP, LEAP, WPA or WPA2/RSN security</span> </dl></div> </div> <div class="footer"> -<hr>Generated by GTK-Doc V1.33.1</div> +<hr>Generated by GTK-Doc V1.33.0</div> </body> </html> \ No newline at end of file diff --git a/docs/libnm/html/libnm-nm-dbus-interface.html b/docs/libnm/html/libnm-nm-dbus-interface.html index 015a62b..aeeb13e 100644 --- a/docs/libnm/html/libnm-nm-dbus-interface.html +++ b/docs/libnm/html/libnm-nm-dbus-interface.html @@ -8,7 +8,7 @@ <link rel="up" href="ch02.html" title="Client Object API Reference"> <link rel="prev" href="libnm-nm-errors.html" title="nm-errors"> <link rel="next" href="ch03.html" title="Connection and Setting API Reference"> -<meta name="generator" content="GTK-Doc V1.33.1 (XML mode)"> +<meta name="generator" content="GTK-Doc V1.33.0 (XML mode)"> <link rel="stylesheet" href="style.css" type="text/css"> </head> <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> @@ -943,7 +943,7 @@ is loaded.</p> <td class="enum_member_name"><p><a name="NM-CAPABILITY-OVS:CAPS"></a>NM_CAPABILITY_OVS</p></td> <td class="enum_member_description"> <p>OpenVSwitch can be managed. This means the OVS device plugin -is loaded. Since: 1.24</p> +is loaded. Since: 1.24.</p> </td> <td class="enum_member_annotations"> </td> </tr> @@ -1335,14 +1335,14 @@ GSM/UMTS, or LTE network access protocols</p> <tr> <td class="enum_member_name"><p><a name="NM-DEVICE-TYPE-WIFI-P2P:CAPS"></a>NM_DEVICE_TYPE_WIFI_P2P</p></td> <td class="enum_member_description"> -<p>an 802.11 Wi-Fi P2P device (Since: 1.16)</p> +<p>an 802.11 Wi-Fi P2P device. Since: 1.16.</p> </td> <td class="enum_member_annotations"> </td> </tr> <tr> <td class="enum_member_name"><p><a name="NM-DEVICE-TYPE-VRF:CAPS"></a>NM_DEVICE_TYPE_VRF</p></td> <td class="enum_member_description"> -<p>A VRF (Virtual Routing and Forwarding) interface (Since: 1.24)</p> +<p>A VRF (Virtual Routing and Forwarding) interface. Since: 1.24.</p> </td> <td class="enum_member_annotations"> </td> </tr> @@ -3251,7 +3251,7 @@ a new checkpoint, destroy all existing ones.</p> <td class="enum_member_name"><p><a name="NM-CHECKPOINT-CREATE-FLAG-DELETE-NEW-CONNECTIONS:CAPS"></a>NM_CHECKPOINT_CREATE_FLAG_DELETE_NEW_CONNECTIONS</p></td> <td class="enum_member_description"> <p>upon rollback, -delete any new connection added after the checkpoint (Since: 1.6)</p> +delete any new connection added after the checkpoint. Since: 1.6.</p> </td> <td class="enum_member_annotations"> </td> </tr> @@ -3259,7 +3259,7 @@ delete any new connection added after the checkpoint (Since: 1.6)</p> <td class="enum_member_name"><p><a name="NM-CHECKPOINT-CREATE-FLAG-DISCONNECT-NEW-DEVICES:CAPS"></a>NM_CHECKPOINT_CREATE_FLAG_DISCONNECT_NEW_DEVICES</p></td> <td class="enum_member_description"> <p>upon rollback, -disconnect any new device appeared after the checkpoint (Since: 1.6)</p> +disconnect any new device appeared after the checkpoint. Since: 1.6.</p> </td> <td class="enum_member_annotations"> </td> </tr> @@ -3277,7 +3277,7 @@ and rollback to them at will. With the special case that rolling back to an older checkpoint will invalidate all overlapping younger checkpoints. This opts-in that the checkpoint can be automatically destroyed by the rollback -of an older checkpoint. (Since: 1.12)</p> +of an older checkpoint. Since: 1.12.</p> </td> <td class="enum_member_annotations"> </td> </tr> @@ -3387,7 +3387,7 @@ in-memory only.</p> <td class="enum_member_name"><p><a name="NM-SETTINGS-CONNECTION-FLAG-EXTERNAL:CAPS"></a>NM_SETTINGS_CONNECTION_FLAG_EXTERNAL</p></td> <td class="enum_member_description"> <p>the profile was generated to represent -an external configuration of a networking device. Since: 1.26</p> +an external configuration of a networking device. Since: 1.26.</p> </td> <td class="enum_member_annotations"> </td> </tr> @@ -3465,7 +3465,7 @@ This only makes sense if the device is a master.</p> <p>the lifetime of the activation is bound to the visibility of the connection profile, which in turn depends on "connection.permissions" and whether a session -for the user exists. Since: 1.16</p> +for the user exists. Since: 1.16.</p> </td> <td class="enum_member_annotations"> </td> </tr> @@ -3473,7 +3473,7 @@ for the user exists. Since: 1.16</p> <td class="enum_member_name"><p><a name="NM-ACTIVATION-STATE-FLAG-EXTERNAL:CAPS"></a>NM_ACTIVATION_STATE_FLAG_EXTERNAL</p></td> <td class="enum_member_description"> <p>the active connection was generated to -represent an external configuration of a networking device. Since: 1.26</p> +represent an external configuration of a networking device. Since: 1.26.</p> </td> <td class="enum_member_annotations"> </td> </tr> @@ -4007,6 +4007,6 @@ denied by system policy</p> </div> </div> <div class="footer"> -<hr>Generated by GTK-Doc V1.33.1</div> +<hr>Generated by GTK-Doc V1.33.0</div> </body> </html> \ No newline at end of file diff --git a/docs/libnm/html/libnm-nm-errors.html b/docs/libnm/html/libnm-nm-errors.html index 759b207..2977a95 100644 --- a/docs/libnm/html/libnm-nm-errors.html +++ b/docs/libnm/html/libnm-nm-errors.html @@ -8,7 +8,7 @@ <link rel="up" href="ch02.html" title="Client Object API Reference"> <link rel="prev" href="NMObject.html" title="NMObject"> <link rel="next" href="libnm-nm-dbus-interface.html" title="nm-dbus-interface"> -<meta name="generator" content="GTK-Doc V1.33.1 (XML mode)"> +<meta name="generator" content="GTK-Doc V1.33.0 (XML mode)"> <link rel="stylesheet" href="style.css" type="text/css"> </head> <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> @@ -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 <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 +requested (such as <code class="function">nm_client_activate_connection()</code>), 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> @@ -585,7 +585,7 @@ be completed due to missing dependencies.</p> <tr> <td class="enum_member_name"><p><a name="NM-DEVICE-ERROR-INVALID-ARGUMENT:CAPS"></a>NM_DEVICE_ERROR_INVALID_ARGUMENT</p></td> <td class="enum_member_description"> -<p>invalid argument. Since: 1.16</p> +<p>invalid argument. Since: 1.16.</p> </td> <td class="enum_member_annotations"> </td> </tr> @@ -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 <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 +<p>Client APIs such as <code class="function">nm_client_activate_connection()</code> 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"> @@ -998,6 +998,6 @@ performed as the plugin does not support interactive operations, such as </div> </div> <div class="footer"> -<hr>Generated by GTK-Doc V1.33.1</div> +<hr>Generated by GTK-Doc V1.33.0</div> </body> </html> \ No newline at end of file diff --git a/docs/libnm/html/libnm-nm-utils.html b/docs/libnm/html/libnm-nm-utils.html index 8c73ebf..e73f9ed 100644 --- a/docs/libnm/html/libnm-nm-utils.html +++ b/docs/libnm/html/libnm-nm-utils.html @@ -8,7 +8,7 @@ <link rel="up" href="ch05.html" title="Utility API Reference"> <link rel="prev" href="ch05.html" title="Utility API Reference"> <link rel="next" href="libnm-nm-version.html" title="nm-version"> -<meta name="generator" content="GTK-Doc V1.33.1 (XML mode)"> +<meta name="generator" content="GTK-Doc V1.33.0 (XML mode)"> <link rel="stylesheet" href="style.css" type="text/css"> </head> <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> @@ -877,7 +877,7 @@ _only_.</p> <p>an allocated string containing a UTF-8 representation of the SSID, which must be freed by the caller using <a href="https://developer.gnome.org/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a>. Returns <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> on errors. </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> +<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p> </div> </div> <hr> @@ -1124,7 +1124,7 @@ type 'au' representing an array of IPv4 addresses.</p> <a name="nm-utils-ip4-dns-to-variant.returns"></a><h4>Returns</h4> <p>a new floating <a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> representing <em class="parameter"><code>dns</code></em> . </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> +<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> </div> <hr> @@ -1152,7 +1152,7 @@ IPv4 addresses into an array of IP address strings.</p> <div class="refsect3"> <a name="nm-utils-ip4-dns-from-variant.returns"></a><h4>Returns</h4> <p>a <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>-terminated array of IP address strings. </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="Override the parsed C type with given type."><span class="acronym">type</span></acronym> utf8]</span></p> +<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> utf8]</span></p> </div> </div> <hr> @@ -1193,7 +1193,7 @@ gateway). The "gateway" field of the first address will get the value of <a name="nm-utils-ip4-addresses-to-variant.returns"></a><h4>Returns</h4> <p>a new floating <a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> representing <em class="parameter"><code>addresses</code></em> . </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> +<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> </div> <hr> @@ -1225,7 +1225,7 @@ of the other addresses are ignored.</p> <tr> <td class="parameter_name"><p>out_gateway</p></td> <td class="parameter_description"><p>on return, will contain the IP gateway. </p></td> -<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>][<acronym title="The caller owns the data, and is responsible for free it."><span class="acronym">transfer full</span></acronym>]</span></td> +<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></td> </tr> </tbody> </table></div> @@ -1234,7 +1234,7 @@ of the other addresses are ignored.</p> <a name="nm-utils-ip4-addresses-from-variant.returns"></a><h4>Returns</h4> <p>a newly allocated <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> +<p><span class="annotation">[<acronym title="Free data after the code is done."><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> </div> <hr> @@ -1265,7 +1265,7 @@ metric).</p> <a name="nm-utils-ip4-routes-to-variant.returns"></a><h4>Returns</h4> <p>a new floating <a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> representing <em class="parameter"><code>routes</code></em> . </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> +<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> </div> <hr> @@ -1295,7 +1295,7 @@ and metric) into a <a href="https://developer.gnome.org/glib/unstable/glib-Point <a name="nm-utils-ip4-routes-from-variant.returns"></a><h4>Returns</h4> <p>a newly allocated <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> +<p><span class="annotation">[<acronym title="Free data after the code is done."><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> </div> <hr> @@ -1404,7 +1404,7 @@ type 'aay' representing an array of IPv6 addresses.</p> <a name="nm-utils-ip6-dns-to-variant.returns"></a><h4>Returns</h4> <p>a new floating <a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> representing <em class="parameter"><code>dns</code></em> . </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> +<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> </div> <hr> @@ -1434,7 +1434,7 @@ ignored.</p> <div class="refsect3"> <a name="nm-utils-ip6-dns-from-variant.returns"></a><h4>Returns</h4> <p>a <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>-terminated array of IP address strings. </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="Override the parsed C type with given type."><span class="acronym">type</span></acronym> utf8]</span></p> +<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> utf8]</span></p> </div> </div> <hr> @@ -1476,7 +1476,7 @@ all 0s.</p> <a name="nm-utils-ip6-addresses-to-variant.returns"></a><h4>Returns</h4> <p>a new floating <a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> representing <em class="parameter"><code>addresses</code></em> . </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> +<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> </div> <hr> @@ -1508,7 +1508,7 @@ fields of the other addresses are ignored.</p> <tr> <td class="parameter_name"><p>out_gateway</p></td> <td class="parameter_description"><p>on return, will contain the IP gateway. </p></td> -<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>][<acronym title="The caller owns the data, and is responsible for free it."><span class="acronym">transfer full</span></acronym>]</span></td> +<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></td> </tr> </tbody> </table></div> @@ -1517,7 +1517,7 @@ fields of the other addresses are ignored.</p> <a name="nm-utils-ip6-addresses-from-variant.returns"></a><h4>Returns</h4> <p>a newly allocated <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> +<p><span class="annotation">[<acronym title="Free data after the code is done."><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> </div> <hr> @@ -1548,7 +1548,7 @@ metric).</p> <a name="nm-utils-ip6-routes-to-variant.returns"></a><h4>Returns</h4> <p>a new floating <a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> representing <em class="parameter"><code>routes</code></em> . </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> +<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> </div> <hr> @@ -1578,7 +1578,7 @@ hop, and metric) into a <a href="https://developer.gnome.org/glib/unstable/glib- <a name="nm-utils-ip6-routes-from-variant.returns"></a><h4>Returns</h4> <p>a newly allocated <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> +<p><span class="annotation">[<acronym title="Free data after the code is done."><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> </div> <hr> @@ -1610,7 +1610,7 @@ include additional attributes.</p> <a name="nm-utils-ip-addresses-to-variant.returns"></a><h4>Returns</h4> <p>a new floating <a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> representing <em class="parameter"><code>addresses</code></em> . </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> +<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> </div> <hr> @@ -1649,7 +1649,7 @@ objects.</p> <a name="nm-utils-ip-addresses-from-variant.returns"></a><h4>Returns</h4> <p>a newly allocated <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> +<p><span class="annotation">[<acronym title="Free data after the code is done."><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> </div> <hr> @@ -1680,7 +1680,7 @@ prefix, next hop, metric, and additional attributes).</p> <a name="nm-utils-ip-routes-to-variant.returns"></a><h4>Returns</h4> <p>a new floating <a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> representing <em class="parameter"><code>routes</code></em> . </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> +<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> </div> <hr> @@ -1719,7 +1719,7 @@ prefix, next hop, metric, and additional attributes) into a <a href="https://dev <a name="nm-utils-ip-routes-from-variant.returns"></a><h4>Returns</h4> <p>a newly allocated <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> +<p><span class="annotation">[<acronym title="Free data after the code is done."><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> </div> <hr> @@ -1920,7 +1920,7 @@ function. </p></td> <p>the full path to the helper, if found, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if not found. The returned string is not owned by the caller, but later invocations of the function might overwrite it. </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> +<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> </div> <hr> @@ -2180,7 +2180,7 @@ nm_utils_hwaddr_ntoa (<em class="parameter"><code><a href="https://developer.gno <a name="nm-utils-hwaddr-ntoa.returns"></a><h4>Returns</h4> <p>the textual form of <em class="parameter"><code>addr</code></em> . </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> +<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p> </div> </div> <hr> @@ -2219,7 +2219,7 @@ nm_utils_hwaddr_atoba (<em class="parameter"><code>const <span class="type">char <p>a new <a href="https://developer.gnome.org/glib/unstable/glib-Byte-Arrays.html#GByteArray"><span class="type">GByteArray</span></a>, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>asc</code></em> couldn't be parsed. </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> +<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p> </div> </div> <hr> @@ -2350,7 +2350,7 @@ is expected to convert to <p>the canonicalized address if <em class="parameter"><code>asc</code></em> appears to be a valid hardware address of the indicated length, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if not. </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> +<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p> </div> </div> <hr> @@ -2480,7 +2480,7 @@ array</p></td> <a name="nm-utils-bin2hexstr.returns"></a><h4>Returns</h4> <p>the textual form of <em class="parameter"><code>bytes</code></em> . </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> +<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p> </div> </div> <hr> @@ -2513,7 +2513,7 @@ may not start or end with ':'.</p> <div class="refsect3"> <a name="nm-utils-hexstr2bin.returns"></a><h4>Returns</h4> <p>the converted bytes, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> on error. </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> +<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p> </div> </div> <hr> @@ -2945,7 +2945,7 @@ containing the unrecognized token in <em class="parameter"><code>err_token</code <tr> <td class="parameter_name"><p>err_token</p></td> <td class="parameter_description"><p>location to store the first unrecognized token. </p></td> -<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>][<acronym title="The caller owns the data, and is responsible for free it."><span class="acronym">transfer full</span></acronym>]</span></td> +<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></td> </tr> </tbody> </table></div> @@ -2995,7 +2995,7 @@ nm_utils_enum_get_values (<em class="parameter"><code><a href="https://developer <a name="nm-utils-enum-get-values.returns"></a><h4>Returns</h4> <p>a NULL-terminated dynamically-allocated array of static strings or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> on error. </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>]</span></p> +<p><span class="annotation">[<acronym title="Free data container after the code is done."><span class="acronym">transfer container</span></acronym>]</span></p> </div> <p class="since">Since: 1.2</p> </div> @@ -3070,7 +3070,7 @@ nm_utils_parse_variant_attributes (<em class="parameter"><code>const <span class attribute names to <a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> values. Warning: the variant are still floating references, owned by the hash table. If you take a reference, ensure to sink the one of the hash table first. </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> utf8 GVariant]</span></p> +<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> utf8 GVariant]</span></p> </div> <p class="since">Since: 1.8</p> </div> @@ -3371,7 +3371,7 @@ nm_utils_sriov_vf_from_str (<em class="parameter"><code>const <span class="type" <div class="refsect3"> <a name="nm-utils-sriov-vf-from-str.returns"></a><h4>Returns</h4> <p>the virtual function 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> +<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p> </div> <p class="since">Since: 1.14</p> </div> @@ -3568,6 +3568,6 @@ for both <a class="link" href="libnm-nm-utils.html#nm-utils-inet4-ntop" title="n </div> </div> <div class="footer"> -<hr>Generated by GTK-Doc V1.33.1</div> +<hr>Generated by GTK-Doc V1.33.0</div> </body> </html> \ No newline at end of file diff --git a/docs/libnm/html/libnm-nm-version.html b/docs/libnm/html/libnm-nm-version.html index 3c12ebe..4f7a6dd 100644 --- a/docs/libnm/html/libnm-nm-version.html +++ b/docs/libnm/html/libnm-nm-version.html @@ -8,7 +8,7 @@ <link rel="up" href="ch05.html" title="Utility API Reference"> <link rel="prev" href="libnm-nm-utils.html" title="nm-utils"> <link rel="next" href="ch06.html" title="VPN Plugin API Reference"> -<meta name="generator" content="GTK-Doc V1.33.1 (XML mode)"> +<meta name="generator" content="GTK-Doc V1.33.0 (XML mode)"> <link rel="stylesheet" href="style.css" type="text/css"> </head> <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> @@ -626,6 +626,6 @@ NM_DEPRECATED_IN_1_24_FOR ();</pre> </div> </div> <div class="footer"> -<hr>Generated by GTK-Doc V1.33.1</div> +<hr>Generated by GTK-Doc V1.33.0</div> </body> </html> \ No newline at end of file diff --git a/docs/libnm/html/license.html b/docs/libnm/html/license.html index 207a9d4..490c941 100644 --- a/docs/libnm/html/license.html +++ b/docs/libnm/html/license.html @@ -7,7 +7,7 @@ <link rel="home" href="index.html" title="libnm Reference Manual"> <link rel="up" href="index.html" title="libnm Reference Manual"> <link rel="prev" href="annotation-glossary.html" title="Annotation Glossary"> -<meta name="generator" content="GTK-Doc V1.33.1 (XML mode)"> +<meta name="generator" content="GTK-Doc V1.33.0 (XML mode)"> <link rel="stylesheet" href="style.css" type="text/css"> </head> <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> @@ -55,6 +55,6 @@ </p> </div> <div class="footer"> -<hr>Generated by GTK-Doc V1.33.1</div> +<hr>Generated by GTK-Doc V1.33.0</div> </body> </html> \ No newline at end of file diff --git a/docs/libnm/html/object-tree.html b/docs/libnm/html/object-tree.html index f23f158..3f2188e 100644 --- a/docs/libnm/html/object-tree.html +++ b/docs/libnm/html/object-tree.html @@ -8,7 +8,7 @@ <link rel="up" href="index.html" title="libnm Reference Manual"> <link rel="prev" href="NMVpnPluginOld.html" title="NMVpnPluginOld"> <link rel="next" href="api-index-full.html" title="API Index"> -<meta name="generator" content="GTK-Doc V1.33.1 (XML mode)"> +<meta name="generator" content="GTK-Doc V1.33.0 (XML mode)"> <link rel="stylesheet" href="style.css" type="text/css"> </head> <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> @@ -231,6 +231,6 @@ </pre> </div> <div class="footer"> -<hr>Generated by GTK-Doc V1.33.1</div> +<hr>Generated by GTK-Doc V1.33.0</div> </body> </html> \ No newline at end of file diff --git a/docs/libnm/html/ref-overview.html b/docs/libnm/html/ref-overview.html index 9e1af21..675649f 100644 --- a/docs/libnm/html/ref-overview.html +++ b/docs/libnm/html/ref-overview.html @@ -8,7 +8,7 @@ <link rel="up" href="index.html" title="libnm Reference Manual"> <link rel="prev" href="index.html" title="libnm Reference Manual"> <link rel="next" href="usage.html" title="Using libnm"> -<meta name="generator" content="GTK-Doc V1.33.1 (XML mode)"> +<meta name="generator" content="GTK-Doc V1.33.0 (XML mode)"> <link rel="stylesheet" href="style.css" type="text/css"> </head> <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> @@ -62,6 +62,6 @@ </div> </div> <div class="footer"> -<hr>Generated by GTK-Doc V1.33.1</div> +<hr>Generated by GTK-Doc V1.33.0</div> </body> </html> \ No newline at end of file diff --git a/docs/libnm/html/usage.html b/docs/libnm/html/usage.html index 1522642..454b0ca 100644 --- a/docs/libnm/html/usage.html +++ b/docs/libnm/html/usage.html @@ -8,7 +8,7 @@ <link rel="up" href="ref-overview.html" title="Overview"> <link rel="prev" href="ref-overview.html" title="Overview"> <link rel="next" href="ch02.html" title="Client Object API Reference"> -<meta name="generator" content="GTK-Doc V1.33.1 (XML mode)"> +<meta name="generator" content="GTK-Doc V1.33.0 (XML mode)"> <link rel="stylesheet" href="style.css" type="text/css"> </head> <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> @@ -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.29.9 + NetworkManager version: 1.29.10 <code class="prompt">$ </code></pre> <p> @@ -271,6 +271,6 @@ </div> </div> <div class="footer"> -<hr>Generated by GTK-Doc V1.33.1</div> +<hr>Generated by GTK-Doc V1.33.0</div> </body> </html> \ No newline at end of file diff --git a/docs/libnm/version.xml b/docs/libnm/version.xml index 8edc27b..799f8f9 100644 --- a/docs/libnm/version.xml +++ b/docs/libnm/version.xml @@ -1 +1 @@ -1.29.9 +1.29.10 diff --git a/examples/python/dbus/show-bssids.py b/examples/python/dbus/show-bssids.py index 7db0fd3..17364e4 100755 --- a/examples/python/dbus/show-bssids.py +++ b/examples/python/dbus/show-bssids.py @@ -35,7 +35,7 @@ for d in devices: # Make sure the device is enabled before we try to use it state = prop_iface.Get("org.freedesktop.NetworkManager.Device", "State") - if state <= 2: + if state <= 20: # NM_DEVICE_STATE_UNAVAILABLE continue # Get device's type; we only want wifi devices diff --git a/gtk-doc.make b/gtk-doc.make index c673175..7d9a27f 100644 --- a/gtk-doc.make +++ b/gtk-doc.make @@ -57,7 +57,6 @@ DOC_STAMPS=setup-build.stamp scan-build.stamp sgml-build.stamp \ sgml.stamp html.stamp pdf.stamp SCANOBJ_FILES = \ - $(DOC_MODULE).actions \ $(DOC_MODULE).args \ $(DOC_MODULE).hierarchy \ $(DOC_MODULE).interfaces \ diff --git a/introspection/meson.build b/introspection/meson.build index c92f5e8..82c1dd6 100644 --- a/introspection/meson.build +++ b/introspection/meson.build @@ -1,9 +1,5 @@ # SPDX-License-Identifier: LGPL-2.1-or-later -ifaces_secret_agent_xml = files('org.freedesktop.NetworkManager.SecretAgent.xml') - -ifaces_vpn_plugin_xml = files('org.freedesktop.NetworkManager.VPN.Plugin.xml') - ifaces = [ 'org.freedesktop.NetworkManager', 'org.freedesktop.NetworkManager.AccessPoint', diff --git a/libnm-core/nm-connection.h b/libnm-core/nm-connection.h index 421b73d..19034e7 100644 --- a/libnm-core/nm-connection.h +++ b/libnm-core/nm-connection.h @@ -94,7 +94,7 @@ NMSetting *nm_connection_get_setting_by_name(NMConnection *connection, const cha * @NM_CONNECTION_SERIALIZE_NO_SECRETS: do not include secrets * @NM_CONNECTION_SERIALIZE_ONLY_SECRETS: only serialize secrets * @NM_CONNECTION_SERIALIZE_WITH_SECRETS_AGENT_OWNED: if set, only secrets that - * are agent owned will be serialized. Since: 1.20 + * are agent owned will be serialized. Since: 1.20. * * These flags determine which properties are serialized when calling when * calling nm_connection_to_dbus(). diff --git a/libnm-core/nm-dbus-interface.h b/libnm-core/nm-dbus-interface.h index 5e2853f..295a22a 100644 --- a/libnm-core/nm-dbus-interface.h +++ b/libnm-core/nm-dbus-interface.h @@ -94,7 +94,7 @@ * @NM_CAPABILITY_TEAM: Teams can be managed. This means the team device plugin * is loaded. * @NM_CAPABILITY_OVS: OpenVSwitch can be managed. This means the OVS device plugin - * is loaded. Since: 1.24 + * is loaded. Since: 1.24. * * #NMCapability names the numbers in the Capabilities property. * Capabilities are positive numbers. They are part of stable API @@ -214,8 +214,8 @@ typedef enum { * @NM_DEVICE_TYPE_WPAN: a IEEE 802.15.4 (WPAN) MAC Layer Device * @NM_DEVICE_TYPE_6LOWPAN: 6LoWPAN interface * @NM_DEVICE_TYPE_WIREGUARD: a WireGuard interface - * @NM_DEVICE_TYPE_WIFI_P2P: an 802.11 Wi-Fi P2P device (Since: 1.16) - * @NM_DEVICE_TYPE_VRF: A VRF (Virtual Routing and Forwarding) interface (Since: 1.24) + * @NM_DEVICE_TYPE_WIFI_P2P: an 802.11 Wi-Fi P2P device. Since: 1.16. + * @NM_DEVICE_TYPE_VRF: A VRF (Virtual Routing and Forwarding) interface. Since: 1.24. * * #NMDeviceType values indicate the type of hardware represented by a * device object. @@ -940,9 +940,9 @@ typedef enum { * @NM_CHECKPOINT_CREATE_FLAG_DESTROY_ALL: when creating * a new checkpoint, destroy all existing ones. * @NM_CHECKPOINT_CREATE_FLAG_DELETE_NEW_CONNECTIONS: upon rollback, - * delete any new connection added after the checkpoint (Since: 1.6) + * delete any new connection added after the checkpoint. Since: 1.6. * @NM_CHECKPOINT_CREATE_FLAG_DISCONNECT_NEW_DEVICES: upon rollback, - * disconnect any new device appeared after the checkpoint (Since: 1.6) + * disconnect any new device appeared after the checkpoint. Since: 1.6. * @NM_CHECKPOINT_CREATE_FLAG_ALLOW_OVERLAPPING: by default, creating * a checkpoint fails if there are already existing checkoints that * reference the same devices. With this flag, creation of such @@ -954,7 +954,7 @@ typedef enum { * rolling back to an older checkpoint will invalidate all * overlapping younger checkpoints. This opts-in that the * checkpoint can be automatically destroyed by the rollback - * of an older checkpoint. (Since: 1.12) + * of an older checkpoint. Since: 1.12. * * The flags for CheckpointCreate call * @@ -1003,7 +1003,7 @@ typedef enum { /*< skip >*/ * always unsaved, but they are also no backing file on disk and are entirely * in-memory only. * @NM_SETTINGS_CONNECTION_FLAG_EXTERNAL: the profile was generated to represent - * an external configuration of a networking device. Since: 1.26 + * an external configuration of a networking device. Since: 1.26. * * Flags describing the current activation state. * @@ -1030,9 +1030,9 @@ typedef enum { /*< flags >*/ * @NM_ACTIVATION_STATE_FLAG_LIFETIME_BOUND_TO_PROFILE_VISIBILITY: the lifetime * of the activation is bound to the visibility of the connection profile, * which in turn depends on "connection.permissions" and whether a session - * for the user exists. Since: 1.16 + * for the user exists. Since: 1.16. * @NM_ACTIVATION_STATE_FLAG_EXTERNAL: the active connection was generated to - * represent an external configuration of a networking device. Since: 1.26 + * represent an external configuration of a networking device. Since: 1.26. * * Flags describing the current activation state. * diff --git a/libnm-core/nm-dbus-types.xml b/libnm-core/nm-dbus-types.xml index 339e616..04ea87e 100644 --- a/libnm-core/nm-dbus-types.xml +++ b/libnm-core/nm-dbus-types.xml @@ -35,7 +35,7 @@ <row role="constant"> <entry role="enum_member_name"><para>NM_CAPABILITY_OVS</para><para></para></entry> <entry role="enum_member_value"><para>= <literal>2</literal></para><para></para></entry> - <entry role="enum_member_description"><para>OpenVSwitch can be managed. This means the OVS device plugin is loaded. Since: 1.24</para><para></para></entry> + <entry role="enum_member_description"><para>OpenVSwitch can be managed. This means the OVS device plugin is loaded. Since: 1.24.</para><para></para></entry> </row> </tbody> </tgroup> @@ -315,12 +315,12 @@ <row role="constant"> <entry role="enum_member_name"><para>NM_DEVICE_TYPE_WIFI_P2P</para><para></para></entry> <entry role="enum_member_value"><para>= <literal>30</literal></para><para></para></entry> - <entry role="enum_member_description"><para>an 802.11 Wi-Fi P2P device (Since: 1.16)</para><para></para></entry> + <entry role="enum_member_description"><para>an 802.11 Wi-Fi P2P device. Since: 1.16.</para><para></para></entry> </row> <row role="constant"> <entry role="enum_member_name"><para>NM_DEVICE_TYPE_VRF</para><para></para></entry> <entry role="enum_member_value"><para>= <literal>31</literal></para><para></para></entry> - <entry role="enum_member_description"><para>A VRF (Virtual Routing and Forwarding) interface (Since: 1.24)</para><para></para></entry> + <entry role="enum_member_description"><para>A VRF (Virtual Routing and Forwarding) interface. Since: 1.24.</para><para></para></entry> </row> </tbody> </tgroup> @@ -1630,17 +1630,17 @@ <row role="constant"> <entry role="enum_member_name"><para>NM_CHECKPOINT_CREATE_FLAG_DELETE_NEW_CONNECTIONS</para><para></para></entry> <entry role="enum_member_value"><para>= <literal>0x02</literal></para><para></para></entry> - <entry role="enum_member_description"><para>upon rollback, delete any new connection added after the checkpoint (Since: 1.6)</para><para></para></entry> + <entry role="enum_member_description"><para>upon rollback, delete any new connection added after the checkpoint. Since: 1.6.</para><para></para></entry> </row> <row role="constant"> <entry role="enum_member_name"><para>NM_CHECKPOINT_CREATE_FLAG_DISCONNECT_NEW_DEVICES</para><para></para></entry> <entry role="enum_member_value"><para>= <literal>0x04</literal></para><para></para></entry> - <entry role="enum_member_description"><para>upon rollback, disconnect any new device appeared after the checkpoint (Since: 1.6)</para><para></para></entry> + <entry role="enum_member_description"><para>upon rollback, disconnect any new device appeared after the checkpoint. Since: 1.6.</para><para></para></entry> </row> <row role="constant"> <entry role="enum_member_name"><para>NM_CHECKPOINT_CREATE_FLAG_ALLOW_OVERLAPPING</para><para></para></entry> <entry role="enum_member_value"><para>= <literal>0x08</literal></para><para></para></entry> - <entry role="enum_member_description"><para>by default, creating a checkpoint fails if there are already existing checkoints that reference the same devices. With this flag, creation of such checkpoints is allowed, however, if an older checkpoint that references overlapping devices gets rolled back, it will automatically destroy this checkpoint during rollback. This allows to create several overlapping checkpoints in parallel, and rollback to them at will. With the special case that rolling back to an older checkpoint will invalidate all overlapping younger checkpoints. This opts-in that the checkpoint can be automatically destroyed by the rollback of an older checkpoint. (Since: 1.12)</para><para></para></entry> + <entry role="enum_member_description"><para>by default, creating a checkpoint fails if there are already existing checkoints that reference the same devices. With this flag, creation of such checkpoints is allowed, however, if an older checkpoint that references overlapping devices gets rolled back, it will automatically destroy this checkpoint during rollback. This allows to create several overlapping checkpoints in parallel, and rollback to them at will. With the special case that rolling back to an older checkpoint will invalidate all overlapping younger checkpoints. This opts-in that the checkpoint can be automatically destroyed by the rollback of an older checkpoint. Since: 1.12.</para><para></para></entry> </row> </tbody> </tgroup> @@ -1725,7 +1725,7 @@ <row role="constant"> <entry role="enum_member_name"><para>NM_SETTINGS_CONNECTION_FLAG_EXTERNAL</para><para></para></entry> <entry role="enum_member_value"><para>= <literal>0x08</literal></para><para></para></entry> - <entry role="enum_member_description"><para>the profile was generated to represent an external configuration of a networking device. Since: 1.26</para><para></para></entry> + <entry role="enum_member_description"><para>the profile was generated to represent an external configuration of a networking device. Since: 1.26.</para><para></para></entry> </row> </tbody> </tgroup> @@ -1785,12 +1785,12 @@ <row role="constant"> <entry role="enum_member_name"><para>NM_ACTIVATION_STATE_FLAG_LIFETIME_BOUND_TO_PROFILE_VISIBILITY</para><para></para></entry> <entry role="enum_member_value"><para>= <literal>0x40</literal></para><para></para></entry> - <entry role="enum_member_description"><para>the lifetime of the activation is bound to the visibility of the connection profile, which in turn depends on "connection.permissions" and whether a session for the user exists. Since: 1.16</para><para></para></entry> + <entry role="enum_member_description"><para>the lifetime of the activation is bound to the visibility of the connection profile, which in turn depends on "connection.permissions" and whether a session for the user exists. Since: 1.16.</para><para></para></entry> </row> <row role="constant"> <entry role="enum_member_name"><para>NM_ACTIVATION_STATE_FLAG_EXTERNAL</para><para></para></entry> <entry role="enum_member_value"><para>= <literal>0x80</literal></para><para></para></entry> - <entry role="enum_member_description"><para>the active connection was generated to represent an external configuration of a networking device. Since: 1.26</para><para></para></entry> + <entry role="enum_member_description"><para>the active connection was generated to represent an external configuration of a networking device. Since: 1.26.</para><para></para></entry> </row> </tbody> </tgroup> diff --git a/libnm-core/nm-errors.h b/libnm-core/nm-errors.h index d139fb1..639c508 100644 --- a/libnm-core/nm-errors.h +++ b/libnm-core/nm-errors.h @@ -131,7 +131,7 @@ GQuark nm_crypto_error_quark(void); * @NM_DEVICE_ERROR_VERSION_ID_MISMATCH: the version id did not match. * @NM_DEVICE_ERROR_MISSING_DEPENDENCIES: the requested operation could not * be completed due to missing dependencies. - * @NM_DEVICE_ERROR_INVALID_ARGUMENT: invalid argument. Since: 1.16 + * @NM_DEVICE_ERROR_INVALID_ARGUMENT: invalid argument. Since: 1.16. * * Device-related errors. * diff --git a/libnm-core/nm-setting-bond.c b/libnm-core/nm-setting-bond.c index 0ff9648..a5ed07b 100644 --- a/libnm-core/nm-setting-bond.c +++ b/libnm-core/nm-setting-bond.c @@ -147,7 +147,7 @@ static char const *const _option_default_strv_mode[] = NM_MAKE_STRV("balanc static char const *const _option_default_strv_primary_reselect[] = NM_MAKE_STRV("always", "better", "failure"); static char const *const _option_default_strv_xmit_hash_policy[] = - NM_MAKE_STRV("layer2", "layer3+4", "layer2+3", "encap2+3", "encap3+4"); + NM_MAKE_STRV("layer2", "layer3+4", "layer2+3", "encap2+3", "encap3+4", "vlan+srcmac"); static NM_UTILS_STRING_TABLE_LOOKUP_STRUCT_DEFINE( _get_option_meta, @@ -199,7 +199,7 @@ static NM_UTILS_STRING_TABLE_LOOKUP_STRUCT_DEFINE( {NM_SETTING_BOND_OPTION_UPDELAY, {"0", NM_BOND_OPTION_TYPE_INT, 0, G_MAXINT}}, {NM_SETTING_BOND_OPTION_USE_CARRIER, {"1", NM_BOND_OPTION_TYPE_INT, 0, 1}}, {NM_SETTING_BOND_OPTION_XMIT_HASH_POLICY, - {"layer2", NM_BOND_OPTION_TYPE_BOTH, 0, 4, _option_default_strv_xmit_hash_policy}}, ); + {"layer2", NM_BOND_OPTION_TYPE_BOTH, 0, 5, _option_default_strv_xmit_hash_policy}}, ); /*****************************************************************************/ @@ -579,7 +579,7 @@ handle_error: /** * nm_setting_bond_validate_option: * @name: the name of the option to validate - * @value: the value of the option to validate + * @value (allow-none): the value of the option to validate. * * Checks whether @name is a valid bond option and @value is a valid value for * the @name. If @value is %NULL, the function only validates the option name. diff --git a/libnm-core/nm-setting-ip-config.c b/libnm-core/nm-setting-ip-config.c index 88ce951..5b70819 100644 --- a/libnm-core/nm-setting-ip-config.c +++ b/libnm-core/nm-setting-ip-config.c @@ -5889,6 +5889,10 @@ nm_setting_ip_config_class_init(NMSettingIPConfigClass *klass) * 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. + * * Since: 1.2 **/ obj_properties[PROP_DNS_OPTIONS] = diff --git a/libnm-core/tests/certs/ca-no-ending-newline.pem b/libnm-core/tests/certs/ca-no-ending-newline.pem index 664e299..bfbaf1e 100644 --- a/libnm-core/tests/certs/ca-no-ending-newline.pem +++ b/libnm-core/tests/certs/ca-no-ending-newline.pem @@ -1,15 +1,15 @@ ------BEGIN CERTIFICATE----- -MIICWjCCAcMCAgGlMA0GCSqGSIb3DQEBBAUAMHUxCzAJBgNVBAYTAlVTMRgwFgYD -VQQKEw9HVEUgQ29ycG9yYXRpb24xJzAlBgNVBAsTHkdURSBDeWJlclRydXN0IFNv -bHV0aW9ucywgSW5jLjEjMCEGA1UEAxMaR1RFIEN5YmVyVHJ1c3QgR2xvYmFsIFJv -b3QwHhcNOTgwODEzMDAyOTAwWhcNMTgwODEzMjM1OTAwWjB1MQswCQYDVQQGEwJV -UzEYMBYGA1UEChMPR1RFIENvcnBvcmF0aW9uMScwJQYDVQQLEx5HVEUgQ3liZXJU -cnVzdCBTb2x1dGlvbnMsIEluYy4xIzAhBgNVBAMTGkdURSBDeWJlclRydXN0IEds -b2JhbCBSb290MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCVD6C28FCc6HrH -iM3dFw4usJTQGz0O9pTAipTHBsiQl8i4ZBp6fmw8U+E3KHNgf7KXUwefU/ltWJTS -r41tiGeA5u2ylc9yMcqlHHK6XALnZELn+aks1joNrI1CqiQBOeacPwGFVw1Yh0X4 -04Wqk2kmhXBIgD8SFcd5tB8FLztimQIDAQABMA0GCSqGSIb3DQEBBAUAA4GBAG3r -GwnpXtlR22ciYaQqPEh346B8pt5zohQDhT37qw4wxYMWM4ETCJ57NE7fQMh017l9 -3PR2VX2bY1QY6fDq81yx2YtCHrnAlU66+tXifPVoYb+O7AWXX1uw16OFNMQkpw0P -lZPvy5TYnh+dXIVtx6quTx8itc2VrbqnzPmrC3p/ +-----BEGIN CERTIFICATE----- +MIICWjCCAcMCAgGlMA0GCSqGSIb3DQEBBAUAMHUxCzAJBgNVBAYTAlVTMRgwFgYD +VQQKEw9HVEUgQ29ycG9yYXRpb24xJzAlBgNVBAsTHkdURSBDeWJlclRydXN0IFNv +bHV0aW9ucywgSW5jLjEjMCEGA1UEAxMaR1RFIEN5YmVyVHJ1c3QgR2xvYmFsIFJv +b3QwHhcNOTgwODEzMDAyOTAwWhcNMTgwODEzMjM1OTAwWjB1MQswCQYDVQQGEwJV +UzEYMBYGA1UEChMPR1RFIENvcnBvcmF0aW9uMScwJQYDVQQLEx5HVEUgQ3liZXJU +cnVzdCBTb2x1dGlvbnMsIEluYy4xIzAhBgNVBAMTGkdURSBDeWJlclRydXN0IEds +b2JhbCBSb290MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCVD6C28FCc6HrH +iM3dFw4usJTQGz0O9pTAipTHBsiQl8i4ZBp6fmw8U+E3KHNgf7KXUwefU/ltWJTS +r41tiGeA5u2ylc9yMcqlHHK6XALnZELn+aks1joNrI1CqiQBOeacPwGFVw1Yh0X4 +04Wqk2kmhXBIgD8SFcd5tB8FLztimQIDAQABMA0GCSqGSIb3DQEBBAUAA4GBAG3r +GwnpXtlR22ciYaQqPEh346B8pt5zohQDhT37qw4wxYMWM4ETCJ57NE7fQMh017l9 +3PR2VX2bY1QY6fDq81yx2YtCHrnAlU66+tXifPVoYb+O7AWXX1uw16OFNMQkpw0P +lZPvy5TYnh+dXIVtx6quTx8itc2VrbqnzPmrC3p/ -----END CERTIFICATE----- \ No newline at end of file diff --git a/libnm/nm-settings-docs-gir.xml b/libnm/nm-settings-docs-gir.xml index b06f948..9cc7a3c 100644 --- a/libnm/nm-settings-docs-gir.xml +++ b/libnm/nm-settings-docs-gir.xml @@ -205,7 +205,7 @@ <property name="dhcp-timeout" name_upper="DHCP_TIMEOUT" type="int32" default="0" description="A timeout for a DHCP transaction in seconds. If zero (the default), a globally configured default is used. If still unspecified, a device specific timeout is used (usually 45 seconds). Set to 2147483647 (MAXINT32) for infinity." /> <property name="dhcp-vendor-class-identifier" name_upper="DHCP_VENDOR_CLASS_IDENTIFIER" type="string" description="The Vendor Class Identifier DHCP option (60). Special characters in the data string may be escaped using C-style escapes, nevertheless this property cannot contain nul bytes. If the per-profile value is unspecified (the default), a global connection default gets consulted. If still unspecified, the DHCP option is not sent to the server. Since 1.28" /> <property name="dns" name_upper="DNS" type="array of uint32" description="Array of IP addresses of DNS servers." /> - <property name="dns-options" name_upper="DNS_OPTIONS" type="array of string" description='Array of DNS options as described in man 5 resolv.conf. NULL means that the options are unset and left at the default. In this case NetworkManager will use default options. This is distinct from an empty list of properties. The currently supported options are "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.' /> + <property name="dns-options" name_upper="DNS_OPTIONS" type="array of string" description='Array of DNS options as described in man 5 resolv.conf. NULL means that the options are unset and left at the default. In this case NetworkManager will use default options. This is distinct from an empty list of properties. The currently supported options are "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.' /> <property name="dns-priority" name_upper="DNS_PRIORITY" type="int32" default="0" description="DNS servers priority. The relative priority for DNS servers specified by this setting. A lower numerical value is better (higher priority). Negative values have the special effect of excluding other configurations with a greater numerical priority value; so in presence of at least one negative priority, only DNS servers from connections with the lowest priority value will be used. To avoid all DNS leaks, set the priority of the profile that should be used to the most negative value of all active connections profiles. Zero selects a globally configured default value. If the latter is missing or zero too, it defaults to 50 for VPNs (including WireGuard) and 100 for other connections. Note that the priority is to order DNS settings for multiple active connections. It does not disambiguate multiple DNS servers within the same connection profile. When multiple devices have configurations with the same priority, VPNs will be considered first, then devices with the best (lowest metric) default route and then all other devices. When using dns=default, servers with higher priority will be on top of resolv.conf. To prioritize a given server over another one within the same connection, just specify them in the desired order. Note that commonly the resolver tries name servers in /etc/resolv.conf in the order listed, proceeding with the next server in the list on failure. See for example the "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." /> <property name="dns-search" name_upper="DNS_SEARCH" type="array of string" description="Array of DNS search domains. Domains starting with a tilde ('~') are considered 'routing' domains and are used only to decide the interface over which a query must be forwarded; they are not used to complete unqualified host names. When using a DNS plugin that supports Conditional Forwarding or Split DNS, then the search domains specify which name servers to query. This makes the behavior different from running with plain /etc/resolv.conf. For more information see also the dns-priority setting." /> <property name="gateway" name_upper="GATEWAY" type="string" description="The gateway associated with this configuration. This is only meaningful if "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." /> @@ -230,7 +230,7 @@ <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.' /> <property name="dhcp-timeout" name_upper="DHCP_TIMEOUT" type="int32" default="0" description="A timeout for a DHCP transaction in seconds. If zero (the default), a globally configured default is used. If still unspecified, a device specific timeout is used (usually 45 seconds). Set to 2147483647 (MAXINT32) for infinity." /> <property name="dns" name_upper="DNS" type="array of byte array" description="Array of IP addresses of DNS servers." /> - <property name="dns-options" name_upper="DNS_OPTIONS" type="array of string" description='Array of DNS options as described in man 5 resolv.conf. NULL means that the options are unset and left at the default. In this case NetworkManager will use default options. This is distinct from an empty list of properties. The currently supported options are "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.' /> + <property name="dns-options" name_upper="DNS_OPTIONS" type="array of string" description='Array of DNS options as described in man 5 resolv.conf. NULL means that the options are unset and left at the default. In this case NetworkManager will use default options. This is distinct from an empty list of properties. The currently supported options are "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.' /> <property name="dns-priority" name_upper="DNS_PRIORITY" type="int32" default="0" description="DNS servers priority. The relative priority for DNS servers specified by this setting. A lower numerical value is better (higher priority). Negative values have the special effect of excluding other configurations with a greater numerical priority value; so in presence of at least one negative priority, only DNS servers from connections with the lowest priority value will be used. To avoid all DNS leaks, set the priority of the profile that should be used to the most negative value of all active connections profiles. Zero selects a globally configured default value. If the latter is missing or zero too, it defaults to 50 for VPNs (including WireGuard) and 100 for other connections. Note that the priority is to order DNS settings for multiple active connections. It does not disambiguate multiple DNS servers within the same connection profile. When multiple devices have configurations with the same priority, VPNs will be considered first, then devices with the best (lowest metric) default route and then all other devices. When using dns=default, servers with higher priority will be on top of resolv.conf. To prioritize a given server over another one within the same connection, just specify them in the desired order. Note that commonly the resolver tries name servers in /etc/resolv.conf in the order listed, proceeding with the next server in the list on failure. See for example the "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." /> <property name="dns-search" name_upper="DNS_SEARCH" type="array of string" description="Array of DNS search domains. Domains starting with a tilde ('~') are considered 'routing' domains and are used only to decide the interface over which a query must be forwarded; they are not used to complete unqualified host names. When using a DNS plugin that supports Conditional Forwarding or Split DNS, then the search domains specify which name servers to query. This makes the behavior different from running with plain /etc/resolv.conf. For more information see also the dns-priority setting." /> <property name="gateway" name_upper="GATEWAY" type="string" description="The gateway associated with this configuration. This is only meaningful if "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." /> diff --git a/man/NetworkManager.8 b/man/NetworkManager.8 index 723fd45..81e5bb8 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: 01/19/2021 +.\" Date: 01/27/2021 .\" Manual: Network management daemons -.\" Source: NetworkManager 1.29.9 +.\" Source: NetworkManager 1.29.10 .\" Language: English .\" -.TH "NETWORKMANAGER" "8" "" "NetworkManager 1\&.29\&.9" "Network management daemons" +.TH "NETWORKMANAGER" "8" "" "NetworkManager 1\&.29\&.10" "Network management daemons" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/NetworkManager.conf.5 b/man/NetworkManager.conf.5 index 69f8f0d..fd7bd26 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: 01/19/2021 +.\" Date: 01/27/2021 .\" Manual: Configuration -.\" Source: NetworkManager 1.29.9 +.\" Source: NetworkManager 1.29.10 .\" Language: English .\" -.TH "NETWORKMANAGER\&.CONF" "5" "" "NetworkManager 1\&.29\&.9" "Configuration" +.TH "NETWORKMANAGER\&.CONF" "5" "" "NetworkManager 1\&.29\&.10" "Configuration" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/nm-cloud-setup.8 b/man/nm-cloud-setup.8 index e506e71..e6095a2 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: 01/19/2021 +.\" Date: 01/27/2021 .\" Manual: Automatic Network Configuration in Cloud with NetworkManager -.\" Source: NetworkManager 1.29.9 +.\" Source: NetworkManager 1.29.10 .\" Language: English .\" -.TH "NM\-CLOUD\-SETUP" "8" "" "NetworkManager 1\&.29\&.9" "Automatic Network Configuratio" +.TH "NM\-CLOUD\-SETUP" "8" "" "NetworkManager 1\&.29\&.10" "Automatic Network Configuratio" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/nm-initrd-generator.8 b/man/nm-initrd-generator.8 index 486b333..765ca03 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: 01/19/2021 +.\" Date: 01/27/2021 .\" Manual: System Administration -.\" Source: NetworkManager 1.29.9 +.\" Source: NetworkManager 1.29.10 .\" Language: English .\" -.TH "NM\-INITRD\-GENERATOR" "8" "" "NetworkManager 1\&.29\&.9" "System Administration" +.TH "NM\-INITRD\-GENERATOR" "8" "" "NetworkManager 1\&.29\&.10" "System Administration" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -53,6 +53,11 @@ Output directory for initrd data (e\&.g\&. hostname)\&. The sysfs mount point\&. .RE .PP +\fB\-r\fR | \fB\-\-run\-config\-dir\fR \fIpath\fR +.RS 4 +Output directory for config files\&. +.RE +.PP \fB\-s\fR | \fB\-\-stdout\fR .RS 4 Dump connections to standard output\&. Useful for debugging\&. @@ -95,6 +100,9 @@ The options that appear on the kernel command line\&. The following options are \fBrd\&.net\&.timeout\&.dhcp\fR .RE .RS 4 +\fBrd\&.net\&.timeout\&.carrier\fR +.RE +.RS 4 \fBBOOTIF\fR .RE Please consult the diff --git a/man/nm-initrd-generator.xml b/man/nm-initrd-generator.xml index 37f5ffd..fcfb54f 100644 --- a/man/nm-initrd-generator.xml +++ b/man/nm-initrd-generator.xml @@ -105,6 +105,20 @@ <varlistentry> <term> <group choice='plain'> + <arg choice='plain'><option>-r</option></arg> + <arg choice='plain'><option>--run-config-dir</option></arg> + </group> + <arg choice='plain'><replaceable>path</replaceable></arg> + </term> + + <listitem> + <para>Output directory for config files.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term> + <group choice='plain'> <arg choice='plain'><option>-s</option></arg> <arg choice='plain'><option>--stdout</option></arg> </group> @@ -133,6 +147,7 @@ <member><option>rd.peerdns</option></member> <member><option>rd.bootif</option></member> <member><option>rd.net.timeout.dhcp</option></member> + <member><option>rd.net.timeout.carrier</option></member> <member><option>BOOTIF</option></member> </simplelist> diff --git a/man/nm-online.1 b/man/nm-online.1 index 46c8221..b4c7a41 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: 01/19/2021 +.\" Date: 01/27/2021 .\" Manual: General Commands Manual -.\" Source: NetworkManager 1.29.9 +.\" Source: NetworkManager 1.29.10 .\" Language: English .\" -.TH "NM\-ONLINE" "1" "" "NetworkManager 1\&.29\&.9" "General Commands Manual" +.TH "NM\-ONLINE" "1" "" "NetworkManager 1\&.29\&.10" "General Commands Manual" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/nm-openvswitch.7 b/man/nm-openvswitch.7 index d2cd58b..d099c8f 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: 01/19/2021 +.\" Date: 01/27/2021 .\" Manual: Open vSwitch support overview -.\" Source: NetworkManager 1.29.9 +.\" Source: NetworkManager 1.29.10 .\" Language: English .\" -.TH "NM\-OPENVSWITCH" "7" "" "NetworkManager 1\&.29\&.9" "Open vSwitch support overview" +.TH "NM\-OPENVSWITCH" "7" "" "NetworkManager 1\&.29\&.10" "Open vSwitch support overview" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/nm-settings-dbus.5 b/man/nm-settings-dbus.5 index efccdb2..0b3438f 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: 01/19/2021 +.\" Date: 01/27/2021 .\" Manual: Configuration -.\" Source: NetworkManager 1.29.9 +.\" Source: NetworkManager 1.29.10 .\" Language: English .\" -.TH "NM\-SETTINGS\-DBUS" "5" "" "NetworkManager 1\&.29\&.9" "Configuration" +.TH "NM\-SETTINGS\-DBUS" "5" "" "NetworkManager 1\&.29\&.10" "Configuration" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -2047,7 +2047,7 @@ array of string T}:T{ \ \& T}:T{ -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\&. +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\&. T} T{ dns\-priority @@ -2318,7 +2318,7 @@ array of string T}:T{ \ \& T}:T{ -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\&. +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\&. T} T{ dns\-priority diff --git a/man/nm-settings-dbus.xml b/man/nm-settings-dbus.xml index 1c8163e..98fe0d7 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-dbusNetworkManager developersnm-settings-dbus5NetworkManagerConfiguration1.29.9nm-settings-dbusDescription of settings and properties of NetworkManager connection profiles on the D-Bus APIDescription +nm-settings-dbusNetworkManager developersnm-settings-dbus5NetworkManagerConfiguration1.29.10nm-settings-dbusDescription of settings and properties of NetworkManager connection profiles on the D-Bus APIDescription 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 @@ -32,7 +32,7 @@ profile type. nmcli connection editor has also a built-in describe command that can display description of particular settings and properties of this page. - connection settingGeneral Connection Profile Settings.Key NameValue TypeDefault ValueValue Descriptionauth-retriesint32-1The 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.autoconnectbooleanTRUEWhether or not the connection should be automatically connected by NetworkManager when the resources for the connection are available. TRUE to automatically activate the connection, FALSE to require manual intervention to activate the connection. Note that autoconnect is not implemented for VPN profiles. See "secondaries" as an alternative to automatically connect VPN profiles.autoconnect-priorityint320The autoconnect priority. If the connection is set to autoconnect, connections with higher priority will be preferred. Defaults to 0. The higher number means higher priority.autoconnect-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-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.gateway-ping-timeoutuint320If greater than zero, delay success of IP addressing until either the timeout is reached, or an IP gateway replies to a ping.idstringA human readable unique identifier for the connection, like "Work Wi-Fi" or "T-Mobile 3G".interface-namestringThe 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.lldpint32-1Whether LLDP is enabled for the connection.llmnrint32-1Whether 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.masterstringInterface name of the master device or UUID of the master connection.mdnsint32-1Whether 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.meteredNMMetered (int32)Whether the connection is metered. When updating this property on a currently activated connection, the change takes effect immediately.mud-urlstringIf 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".multi-connectint320Specifies whether the profile can be active multiple times at a particular moment. The value is of type NMConnectionMultiConnect.permissionsarray of stringAn 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.read-onlybooleanFALSEFALSE 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.secondariesarray of stringList of connection UUIDs that should be activated when the base connection itself is activated. Currently, only VPN connections are supported.slave-typestringSetting name of the device type of this slave's master connection (eg, "bond"), or NULL if this connection is not a slave.stable-idstringThis represents the identity of the connection used for various purposes. It allows to configure multiple profiles to share the identity. Also, the stable-id can contain placeholders that are substituted dynamically and deterministically depending on the context. The stable-id is used for generating IPv6 stable private addresses with ipv6.addr-gen-mode=stable-privacy. It is also used to seed the generated cloned MAC address for ethernet.cloned-mac-address=stable and wifi.cloned-mac-address=stable. It is also used as DHCP client identifier with ipv4.dhcp-client-id=stable and to derive the DHCP DUID with ipv6.dhcp-duid=stable-[llt,ll,uuid]. Note that depending on the context where it is used, other parameters are also seeded into the generation algorithm. For example, a per-host key is commonly also included, so that different systems end up generating different IDs. Or with ipv6.addr-gen-mode=stable-privacy, also the device's name is included, so that different interfaces yield different addresses. The per-host key is the identity of your machine and stored in /var/lib/NetworkManager/secret-key. The '$' character is treated special to perform dynamic substitutions at runtime. Currently, supported are "${CONNECTION}", "${DEVICE}", "${MAC}", "${BOOT}", "${RANDOM}". These effectively create unique IDs per-connection, per-device, per-boot, or every time. Note that "${DEVICE}" corresponds to the interface name of the device and "${MAC}" is the permanent MAC address of the device. Any unrecognized patterns following '$' are treated verbatim, however are reserved for future use. You are thus advised to avoid '$' or escape it as "$$". For example, set it to "${CONNECTION}-${BOOT}-${DEVICE}" to create a unique id for this connection that changes with every reboot and differs depending on the interface where the profile activates. If the value is unset, a global connection default is consulted. If the value is still unset, the default is similar to "${CONNECTION}" and uses a unique, fixed ID for the connection.timestampuint640The 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).typestringBase 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).uuidstringA 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 "-").wait-device-timeoutint32-1Timeout 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.zonestringThe 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.6lowpan setting6LoWPAN Settings.Key NameValue TypeDefault ValueValue DescriptionparentstringIf given, specifies the parent interface name or parent connection UUID from which this 6LowPAN interface should be created.802-1x settingIEEE 802.1x Authentication Settings.Key NameValue TypeDefault ValueValue Descriptionaltsubject-matchesarray of stringList 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.anonymous-identitystringAnonymous identity string for EAP authentication methods. Used as the unencrypted identity with EAP types that support different tunneled identity like EAP-TTLS.auth-timeoutint320A timeout for the authentication. Zero means the global default; if the global default is not set, the authentication timeout is 25 seconds.ca-certbyte arrayContains 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.ca-cert-passwordstringThe 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.ca-cert-password-flagsNMSettingSecretFlags (uint32)Flags indicating how to handle the "ca-cert-password" property. (see for flag values)ca-pathstringUTF-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.client-certbyte arrayContains 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.client-cert-passwordstringThe 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.client-cert-password-flagsNMSettingSecretFlags (uint32)Flags indicating how to handle the "client-cert-password" property. (see for flag values)domain-matchstringConstraint 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.domain-suffix-matchstringConstraint 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.eaparray of stringThe 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.identitystringIdentity string for EAP authentication methods. Often the user's user or login name.optionalbooleanFALSEWhether 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.pac-filestringUTF-8 encoded file path containing PAC for EAP-FAST.passwordstringUTF-8 encoded password used for EAP authentication methods. If both the "password" property and the "password-raw" property are specified, "password" is preferred.password-flagsNMSettingSecretFlags (uint32)Flags indicating how to handle the "password" property. (see for flag values)password-rawbyte arrayPassword 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.password-raw-flagsNMSettingSecretFlags (uint32)Flags indicating how to handle the "password-raw" property. (see for flag values)phase1-auth-flagsuint320Specifies 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.phase1-fast-provisioningstringEnables 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.phase1-peaplabelstringForces 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.phase1-peapverstringForces 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.phase2-altsubject-matchesarray of stringList 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.phase2-authstringSpecifies the allowed "phase 2" inner non-EAP authentication method when an EAP method that uses an inner TLS tunnel is specified in the "eap" property. Recognized non-EAP "phase 2" methods are "pap", "chap", "mschap", "mschapv2", "gtc", "otp", "md5", and "tls". Each "phase 2" inner method requires specific parameters for successful authentication; see the wpa_supplicant documentation for more details.phase2-autheapstringSpecifies the allowed "phase 2" inner EAP-based authentication method when an EAP method that uses an inner TLS tunnel 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.phase2-ca-certbyte arrayContains 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.phase2-ca-cert-passwordstringThe 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.phase2-ca-cert-password-flagsNMSettingSecretFlags (uint32)Flags indicating how to handle the "phase2-ca-cert-password" property. (see for flag values)phase2-ca-pathstringUTF-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.phase2-client-certbyte arrayContains 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.phase2-client-cert-passwordstringThe 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.phase2-client-cert-password-flagsNMSettingSecretFlags (uint32)Flags indicating how to handle the "phase2-client-cert-password" property. (see for flag values)phase2-domain-matchstringConstraint 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.phase2-domain-suffix-matchstringConstraint 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.phase2-private-keybyte arrayContains 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.phase2-private-key-passwordstringThe 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.phase2-private-key-password-flagsNMSettingSecretFlags (uint32)Flags indicating how to handle the "phase2-private-key-password" property. (see for flag values)phase2-subject-matchstringSubstring 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.pinstringPIN used for EAP authentication methods.pin-flagsNMSettingSecretFlags (uint32)Flags indicating how to handle the "pin" property. (see for flag values)private-keybyte arrayContains 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.private-key-passwordstringThe 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.private-key-password-flagsNMSettingSecretFlags (uint32)Flags indicating how to handle the "private-key-password" property. (see for flag values)subject-matchstringSubstring 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.system-ca-certsbooleanFALSEWhen 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).adsl settingADSL Settings.Key NameValue TypeDefault ValueValue DescriptionencapsulationstringEncapsulation of ADSL connection. Can be "vcmux" or "llc".passwordstringPassword used to authenticate with the ADSL service.password-flagsNMSettingSecretFlags (uint32)Flags indicating how to handle the "password" property. (see for flag values)protocolstringADSL connection protocol. Can be "pppoa", "pppoe" or "ipoatm".usernamestringUsername used to authenticate with the ADSL service.vciuint320VCI of ADSL connectionvpiuint320VPI of ADSL connectionbluetooth settingBluetooth Settings.Key NameValue TypeDefault ValueValue Descriptionbdaddrbyte arrayThe Bluetooth address of the device.typestringEither "dun" for Dial-Up Networking connections or "panu" for Personal Area Networking connections to devices supporting the NAP profile.bond settingBonding Settings.Key NameValue TypeDefault ValueValue Descriptioninterface-namestringDeprecated in favor of connection.interface-name, but can be used for backward-compatibility with older daemons, to set the bond's interface name.optionsdict of string to string{'mode': 'balance-rr'}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]).bridge settingBridging Settings.Key NameValue TypeDefault ValueValue Descriptionageing-timeuint32300The Ethernet MAC address aging time, in seconds.forward-delayuint3215The Spanning Tree Protocol (STP) forwarding delay, in seconds.group-addressbyte arrayIf 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.group-forward-maskuint320A 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.hello-timeuint322The Spanning Tree Protocol (STP) hello time, in seconds.interface-namestringDeprecated in favor of connection.interface-name, but can be used for backward-compatibility with older daemons, to set the bridge's interface name.mac-addressbyte arrayIf 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: 1max-ageuint3220The Spanning Tree Protocol (STP) maximum message age, in seconds.multicast-hash-maxuint324096Set maximum size of multicast hash table (value must be a power of 2).multicast-last-member-countuint322Set the number of queries the bridge will send before stopping forwarding a multicast group after a "leave" message has been received.multicast-last-member-intervaluint64100Set interval (in deciseconds) between queries to find remaining members of a group, after a "leave" message is received.multicast-membership-intervaluint6426000Set delay (in deciseconds) after which the bridge will leave a group, if no membership reports for this group are received.multicast-querierbooleanFALSEEnable or disable sending of multicast queries by the bridge. If not specified the option is disabled.multicast-querier-intervaluint6425500If no queries are seen after this delay (in deciseconds) has passed, the bridge will start to send its own queries.multicast-query-intervaluint6412500Interval (in deciseconds) between queries sent by the bridge after the end of the startup phase.multicast-query-response-intervaluint641000Set the Max Response Time/Max Response Delay (in deciseconds) for IGMP/MLD queries sent by the bridge.multicast-query-use-ifaddrbooleanFALSEIf 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.multicast-routerstringSets 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).multicast-snoopingbooleanTRUEControls 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.multicast-startup-query-countuint322Set the number of IGMP queries to send during startup phase.multicast-startup-query-intervaluint643125Sets the time (in deciseconds) between queries sent out at startup to determine membership information.priorityuint3232768Sets the Spanning Tree Protocol (STP) priority for this bridge. Lower values are "better"; the lowest priority bridge will be elected the root bridge.stpbooleanTRUEControls whether Spanning Tree Protocol (STP) is enabled for this bridge.vlan-default-pviduint321The default PVID for the ports of the bridge, that is the VLAN id assigned to incoming untagged frames.vlan-filteringbooleanFALSEControl whether VLAN filtering is enabled on the bridge.vlan-protocolstringIf specified, the protocol used for VLAN filtering. Supported values are: '802.1Q', '802.1ad'. If not specified the default value is '802.1Q'.vlan-stats-enabledbooleanFALSEControls whether per-VLAN stats accounting is enabled.vlansarray of vardictArray 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.bridge-port settingBridge Port Settings.Key NameValue TypeDefault ValueValue Descriptionhairpin-modebooleanFALSEEnables or disables "hairpin mode" for the port, which allows frames to be sent back out through the port the frame was received on.path-costuint32100The Spanning Tree Protocol (STP) port cost for destinations via this port.priorityuint3232The Spanning Tree Protocol (STP) priority of this bridge port.vlansarray of vardictArray 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.cdma settingCDMA-based Mobile Broadband Settings.Key NameValue TypeDefault ValueValue Descriptionmtuuint320If non-zero, only transmit packets of the specified size or smaller, breaking larger packets up into multiple frames.numberstringThe 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.passwordstringThe 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.password-flagsNMSettingSecretFlags (uint32)Flags indicating how to handle the "password" property. (see for flag values)usernamestringThe 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.dcb settingData Center Bridging Settings.Key NameValue TypeDefault ValueValue Descriptionapp-fcoe-flagsNMSettingDcbFlags (uint32)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).app-fcoe-modestring"fabric"The FCoE controller mode; either "fabric" (default) or "vn2vn".app-fcoe-priorityint32-1The 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.app-fip-flagsNMSettingDcbFlags (uint32)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).app-fip-priorityint32-1The 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.app-iscsi-flagsNMSettingDcbFlags (uint32)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).app-iscsi-priorityint32-1The 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.priority-bandwidtharray of uint32An 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.priority-flow-controlarray of uint32An 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.priority-flow-control-flagsNMSettingDcbFlags (uint32)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).priority-group-bandwidtharray of uint32An 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.priority-group-flagsNMSettingDcbFlags (uint32)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).priority-group-idarray of uint32An 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.priority-strict-bandwidtharray of uint32An 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.priority-traffic-classarray of uint32An 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.dummy settingDummy Link Settings.Key NameValue TypeDefault ValueValue Descriptionethtool settingEthtool Ethernet Settings.Key NameValue TypeDefault ValueValue Descriptiongeneric settingGeneric Link Settings.Key NameValue TypeDefault ValueValue Descriptiongsm settingGSM-based Mobile Broadband Settings.Key NameValue TypeDefault ValueValue DescriptionapnstringThe 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.auto-configbooleanFALSEWhen 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.device-idstringThe 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.home-onlybooleanFALSEWhen TRUE, only connections to the home network will be allowed. Connections to roaming networks will not be made.mtuuint320If non-zero, only transmit packets of the specified size or smaller, breaking larger packets up into multiple frames.network-idstringThe 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.numberstringLegacy setting that used to help establishing PPP data sessions for GSM-based modems. Deprecated: 1passwordstringThe 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.password-flagsNMSettingSecretFlags (uint32)Flags indicating how to handle the "password" property. (see for flag values)pinstringIf 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.pin-flagsNMSettingSecretFlags (uint32)Flags indicating how to handle the "pin" property. (see for flag values)sim-idstringThe 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.sim-operator-idstringA 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.usernamestringThe 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.infiniband settingInfiniband Settings.Key NameValue TypeDefault ValueValue Descriptionmac-addressbyte arrayIf 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).mtuuint320If non-zero, only transmit packets of the specified size or smaller, breaking larger packets up into multiple frames.p-keyint32-1The 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.parentstringThe 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".transport-modestringThe IP-over-InfiniBand transport mode. Either "datagram" or "connected".ipv4 settingIPv4 Settings.Key NameValue TypeDefault ValueValue Descriptionaddress-dataarray of vardictArray of IPv4 addresses. Each address dictionary contains at least 'address' and 'prefix' entries, containing the IP address as a string, and the prefix length as a uint32. Additional attributes may also exist on some addresses.addressesarray of array of uint32Deprecated in favor of the 'address-data' and 'gateway' properties, but this can be used for backward-compatibility with older daemons. Note that if you send this property the daemon will ignore 'address-data' and 'gateway'. Array of IPv4 address structures. Each IPv4 address structure is composed of 3 32-bit values; the first being the IPv4 address (network byte order), the second the prefix (1 - 32), and last the IPv4 gateway (network byte order). The gateway may be left as 0 if no gateway exists for that subnet.dad-timeoutint32-1Timeout 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.dhcp-client-idstringA 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.dhcp-fqdnstringIf 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.dhcp-hostnamestringIf 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.dhcp-hostname-flagsuint320Flags 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.dhcp-iaidstringA 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.dhcp-reject-serversarray of stringArray 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.dhcp-send-hostnamebooleanTRUEIf 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.dhcp-timeoutint320A 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.dhcp-vendor-class-identifierstringThe 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.28dnsarray of uint32Array of IP addresses of DNS servers (as network-byte-order integers)dns-optionsarray of stringArray 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.dns-priorityint320DNS 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.dns-searcharray of stringArray 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.gatewaystringThe 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.ignore-auto-dnsbooleanFALSEWhen "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.ignore-auto-routesbooleanFALSEWhen "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.may-failbooleanTRUEIf 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.methodstringIP 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.never-defaultbooleanFALSEIf TRUE, this connection will never be the default connection for this IP type, meaning it will never be assigned the default route by NetworkManager.route-dataarray of vardictArray of IPv4 routes. Each route dictionary contains at least 'dest' and 'prefix' entries, containing the destination IP address as a string, and the prefix length as a uint32. Most routes will also have a 'next-hop' entry, containing the next hop IP address as a string. If the route has a 'metric' entry (containing a uint32), that will be used as the metric for the route (otherwise NM will pick a default value appropriate to the device). Additional attributes may also exist on some routes.route-metricint64-1The 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.route-tableuint320Enable 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.routesarray of array of uint32Deprecated in favor of the 'route-data' property, but this can be used for backward-compatibility with older daemons. Note that if you send this property the daemon will ignore 'route-data'. Array of IPv4 route structures. Each IPv4 route structure is composed of 4 32-bit values; the first being the destination IPv4 network or address (network byte order), the second the destination network or address prefix (1 - 32), the third being the next-hop (network byte order) if any, and the fourth being the route metric. If the metric is 0, NM will choose an appropriate default metric for the device. (There is no way to explicitly specify an actual metric of 0 with this property.)ipv6 settingIPv6 Settings.Key NameValue TypeDefault ValueValue Descriptionaddr-gen-modeint321Configure method for creating the address for use with RFC4862 IPv6 Stateless Address Autoconfiguration. The permitted values are: NM_SETTING_IP6_CONFIG_ADDR_GEN_MODE_EUI64 (0) or NM_SETTING_IP6_CONFIG_ADDR_GEN_MODE_STABLE_PRIVACY (1). If the property is set to EUI64, the addresses will be generated using the interface tokens derived from hardware address. This makes the host part of the address to stay constant, making it possible to track host's presence when it changes networks. The address changes when the interface hardware is replaced. The value of stable-privacy enables use of cryptographically secure hash of a secret host-specific key along with the connection's stable-id and the network address as specified by RFC7217. This makes it impossible to use the address track host's presence, and makes the address stable when the network interface hardware is replaced. On D-Bus, the absence of an addr-gen-mode setting equals enabling stable-privacy. For keyfile plugin, the absence of the setting on disk means EUI64 so that the property doesn't change on upgrade from older versions. Note that this setting is distinct from the Privacy Extensions as configured by "ip6-privacy" property and it does not affect the temporary addresses configured with this option.address-dataarray of vardictArray of IPv6 addresses. Each address dictionary contains at least 'address' and 'prefix' entries, containing the IP address as a string, and the prefix length as a uint32. Additional attributes may also exist on some addresses.addressesarray of legacy IPv6 address struct (a(ayuay))Deprecated in favor of the 'address-data' and 'gateway' properties, but this can be used for backward-compatibility with older daemons. Note that if you send this property the daemon will ignore 'address-data' and 'gateway'. Array of IPv6 address structures. Each IPv6 address structure is composed of an IPv6 address, a prefix length (1 - 128), and an IPv6 gateway address. The gateway may be zeroed out if no gateway exists for that subnet.dad-timeoutint32-1Timeout 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.dhcp-duidstringA string containing the DHCPv6 Unique Identifier (DUID) used by the dhcp client to identify itself to DHCPv6 servers (RFC 3315). The DUID is carried in the Client Identifier option. If the property is a hex string ('aa:bb:cc') it is interpreted as a binary DUID and filled as an opaque value in the Client Identifier option. The special value "lease" will retrieve the DUID previously used from the lease file belonging to the connection. If no DUID is found and "dhclient" is the configured dhcp client, the DUID is searched in the system-wide dhclient lease file. If still no DUID is found, or another dhcp client is used, a global and permanent DUID-UUID (RFC 6355) will be generated based on the machine-id. The special values "llt" and "ll" will generate a DUID of type LLT or LL (see RFC 3315) based on the current MAC address of the device. In order to try providing a stable DUID-LLT, the time field will contain a constant timestamp that is used globally (for all profiles) and persisted to disk. The special values "stable-llt", "stable-ll" and "stable-uuid" will generate a DUID of the corresponding type, derived from the connection's stable-id and a per-host unique key. You may want to include the "${DEVICE}" or "${MAC}" specifier in the stable-id, in case this profile gets activated on multiple devices. So, the link-layer address of "stable-ll" and "stable-llt" will be a generated address derived from the stable id. The DUID-LLT time value in the "stable-llt" option will be picked among a static timespan of three years (the upper bound of the interval is the same constant timestamp used in "llt"). When the property is unset, the global value provided for "ipv6.dhcp-duid" is used. If no global value is provided, the default "lease" value is assumed.dhcp-hostnamestringIf 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.dhcp-hostname-flagsuint320Flags 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.dhcp-iaidstringA 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.dhcp-reject-serversarray of stringArray 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.dhcp-send-hostnamebooleanTRUEIf 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.dhcp-timeoutint320A 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.dnsarray of byte arrayArray of IP addresses of DNS servers (in network byte order)dns-optionsarray of stringArray 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.dns-priorityint320DNS 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.dns-searcharray of stringArray 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.gatewaystringThe 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.ignore-auto-dnsbooleanFALSEWhen "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.ignore-auto-routesbooleanFALSEWhen "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.ip6-privacyNMSettingIP6ConfigPrivacy (int32)Configure IPv6 Privacy Extensions for SLAAC, described in RFC4941. If enabled, it makes the kernel generate a temporary IPv6 address in addition to the public one generated from MAC address via modified EUI-64. This enhances privacy, but could cause problems in some applications, on the other hand. The permitted values are: -1: unknown, 0: disabled, 1: enabled (prefer public address), 2: enabled (prefer temporary addresses). Having a per-connection setting set to "-1" (unknown) means fallback to global configuration "ipv6.ip6-privacy". If also global configuration is unspecified or set to "-1", fallback to read "/proc/sys/net/ipv6/conf/default/use_tempaddr". Note that this setting is distinct from the Stable Privacy addresses that can be enabled with the "addr-gen-mode" property's "stable-privacy" setting as another way of avoiding host tracking with IPv6 addresses.may-failbooleanTRUEIf 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.methodstringIP 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.never-defaultbooleanFALSEIf TRUE, this connection will never be the default connection for this IP type, meaning it will never be assigned the default route by NetworkManager.ra-timeoutint320A timeout for waiting Router Advertisements in seconds. If zero (the default), a globally configured default is used. If still unspecified, the timeout depends on the sysctl settings of the device. Set to 2147483647 (MAXINT32) for infinity.route-dataarray of vardictArray of IPv6 routes. Each route dictionary contains at least 'dest' and 'prefix' entries, containing the destination IP address as a string, and the prefix length as a uint32. Most routes will also have a 'next-hop' entry, containing the next hop IP address as a string. If the route has a 'metric' entry (containing a uint32), that will be used as the metric for the route (otherwise NM will pick a default value appropriate to the device). Additional attributes may also exist on some routes.route-metricint64-1The 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.route-tableuint320Enable 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.routesarray of legacy IPv6 route struct (a(ayuayu))Deprecated in favor of the 'route-data' property, but this can be used for backward-compatibility with older daemons. Note that if you send this property the daemon will ignore 'route-data'. Array of IPv6 route structures. Each IPv6 route structure is composed of an IPv6 address, a prefix length (1 - 128), an IPv6 next hop address (which may be zeroed out if there is no next hop), and a metric. If the metric is 0, NM will choose an appropriate default metric for the device.tokenstringConfigure the token for draft-chown-6man-tokenised-ipv6-identifiers-02 IPv6 tokenized interface identifiers. Useful with eui64 addr-gen-mode.ip-tunnel settingIP Tunneling Settings.Key NameValue TypeDefault ValueValue Descriptionencapsulation-limituint320How many additional levels of encapsulation are permitted to be prepended to packets. This property applies only to IPv6 tunnels.flagsuint320Tunnel flags. Currently, the following values are supported: NM_IP_TUNNEL_FLAG_IP6_IGN_ENCAP_LIMIT (0x1), NM_IP_TUNNEL_FLAG_IP6_USE_ORIG_TCLASS (0x2), NM_IP_TUNNEL_FLAG_IP6_USE_ORIG_FLOWLABEL (0x4), NM_IP_TUNNEL_FLAG_IP6_MIP6_DEV (0x8), NM_IP_TUNNEL_FLAG_IP6_RCV_DSCP_COPY (0x10), NM_IP_TUNNEL_FLAG_IP6_USE_ORIG_FWMARK (0x20). They are valid only for IPv6 tunnels.flow-labeluint320The flow label to assign to tunnel packets. This property applies only to IPv6 tunnels.input-keystringThe key used for tunnel input packets; the property is valid only for certain tunnel modes (GRE, IP6GRE). If empty, no key is used.localstringThe local endpoint of the tunnel; the value can be empty, otherwise it must contain an IPv4 or IPv6 address.modeuint320The tunneling mode, for example NM_IP_TUNNEL_MODE_IPIP (1) or NM_IP_TUNNEL_MODE_GRE (2).mtuuint320If non-zero, only transmit packets of the specified size or smaller, breaking larger packets up into multiple fragments.output-keystringThe key used for tunnel output packets; the property is valid only for certain tunnel modes (GRE, IP6GRE). If empty, no key is used.parentstringIf 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-discoverybooleanTRUEWhether to enable Path MTU Discovery on this tunnel.remotestringThe remote endpoint of the tunnel; the value must contain an IPv4 or IPv6 address.tosuint320The type of service (IPv4) or traffic class (IPv6) field to be set on tunneled packets.ttluint320The TTL to assign to tunneled packets. 0 is a special value meaning that packets inherit the TTL value.macsec settingMACSec Settings.Key NameValue TypeDefault ValueValue DescriptionencryptbooleanTRUEWhether the transmitted traffic must be encrypted.mka-cakstringThe pre-shared CAK (Connectivity Association Key) for MACsec Key Agreement.mka-cak-flagsNMSettingSecretFlags (uint32)Flags indicating how to handle the "mka-cak" property. (see for flag values)mka-cknstringThe pre-shared CKN (Connectivity-association Key Name) for MACsec Key Agreement.modeint320Specifies how the CAK (Connectivity Association Key) for MKA (MACsec Key Agreement) is obtained.parentstringIf 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.portint321The port component of the SCI (Secure Channel Identifier), between 1 and 65534.send-scibooleanTRUESpecifies whether the SCI (Secure Channel Identifier) is included in every packet.validationint322Specifies the validation mode for incoming frames.macvlan settingMAC VLAN Settings.Key NameValue TypeDefault ValueValue Descriptionmodeuint320The macvlan mode, which specifies the communication mechanism between multiple macvlans on the same lower device.parentstringIf 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.promiscuousbooleanTRUEWhether the interface should be put in promiscuous mode.tapbooleanFALSEWhether the interface should be a MACVTAP.match settingMatch settings.Key NameValue TypeDefault ValueValue Descriptiondriverarray of stringA list of driver names to match. Each element is a shell wildcard pattern. See NMSettingMatch:interface-name for how special characters '|', '&', '!' and '\\' are used for optional and mandatory matches and inverting the pattern.interface-namearray of stringA list of interface names to match. Each element is a shell wildcard pattern. An element can be prefixed with a pipe symbol (|) or an ampersand (&). The former means that the element is optional and the latter means that it is mandatory. If there are any optional elements, than the match evaluates to true if at least one of the optional element matches (logical OR). If there are any mandatory elements, then they all must match (logical AND). By default, an element is optional. This means that an element "foo" behaves the same as "|foo". An element can also be inverted with exclamation mark (!) between the pipe symbol (or the ampersand) and before the pattern. Note that "!foo" is a shortcut for the mandatory match "&!foo". Finally, a backslash can be used at the beginning of the element (after the optional special characters) to escape the start of the pattern. For example, "&\\!a" is an mandatory match for literally "!a".kernel-command-linearray of stringA list of kernel command line arguments to match. This may be used to check whether a specific kernel command line option is set (or if prefixed with the exclamation mark unset). The argument must either be a single word, or an assignment (i.e. two words, separated "="). In the former case the kernel command line is searched for the word appearing as is, or as left hand side of an assignment. In the latter case, the exact assignment is looked for with right and left hand side matching. See NMSettingMatch:interface-name for how special characters '|', '&', '!' and '\\' are used for optional and mandatory matches and inverting the pattern.patharray of stringA list of paths to match against the ID_PATH udev property of devices. ID_PATH represents the topological persistent path of a device. It typically contains a subsystem string (pci, usb, platform, etc.) and a subsystem-specific identifier. For PCI devices the path has the form "pci-$domain:$bus:$device.$function", where each variable is an hexadecimal value; for example "pci-0000:0a:00.0". The path of a device can be obtained with "udevadm info /sys/class/net/$dev | grep ID_PATH=" or by looking at the "path" property exported by NetworkManager ("nmcli -f general.path device show $dev"). Each element of the list is a shell wildcard pattern. See NMSettingMatch:interface-name for how special characters '|', '&', '!' and '\\' are used for optional and mandatory matches and inverting the pattern.802-11-olpc-mesh settingOLPC Wireless Mesh Settings.Key NameValue TypeDefault ValueValue Descriptionchanneluint320Channel on which the mesh network to join is located.dhcp-anycast-addressbyte arrayAnycast DHCP MAC address used when requesting an IP address via DHCP. The specific anycast address used determines which DHCP server class answers the request.ssidbyte arraySSID of the mesh network to join.ovs-bridge settingOvsBridge Link Settings.Key NameValue TypeDefault ValueValue Descriptiondatapath-typestringThe data path type. One of "system", "netdev" or empty.fail-modestringThe bridge failure mode. One of "secure", "standalone" or empty.mcast-snooping-enablebooleanFALSEEnable or disable multicast snooping.rstp-enablebooleanFALSEEnable or disable RSTP.stp-enablebooleanFALSEEnable or disable STP.ovs-dpdk settingOvsDpdk Link Settings.Key NameValue TypeDefault ValueValue DescriptiondevargsstringOpen vSwitch DPDK device arguments.ovs-interface settingOpen vSwitch Interface Settings.Key NameValue TypeDefault ValueValue DescriptiontypestringThe interface type. Either "internal", "system", "patch", "dpdk", or empty.ovs-patch settingOvsPatch Link Settings.Key NameValue TypeDefault ValueValue DescriptionpeerstringSpecifies the name of the interface for the other side of the patch. The patch on the other side must also set this interface as peer.ovs-port settingOvsPort Link Settings.Key NameValue TypeDefault ValueValue Descriptionbond-downdelayuint320The time port must be inactive in order to be considered down.bond-modestringBonding mode. One of "active-backup", "balance-slb", or "balance-tcp".bond-updelayuint320The time port must be active before it starts forwarding traffic.lacpstringLACP mode. One of "active", "off", or "passive".taguint320The VLAN tag in the range 0-4095.vlan-modestringThe VLAN mode. One of "access", "native-tagged", "native-untagged", "trunk" or unset.ppp settingPoint-to-Point Protocol Settings.Key NameValue TypeDefault ValueValue Descriptionbauduint320If non-zero, instruct pppd to set the serial port to the specified baudrate. This value should normally be left as 0 to automatically choose the speed.crtsctsbooleanFALSEIf TRUE, specify that pppd should set the serial port to use hardware flow control with RTS and CTS signals. This value should normally be set to FALSE.lcp-echo-failureuint320If non-zero, instruct pppd to presume the connection to the peer has failed if the specified number of LCP echo-requests go unanswered by the peer. The "lcp-echo-interval" property must also be set to a non-zero value if this property is used.lcp-echo-intervaluint320If non-zero, instruct pppd to send an LCP echo-request frame to the peer every n seconds (where n is the specified value). Note that some PPP peers will respond to echo requests and some will not, and it is not possible to autodetect this.mppe-statefulbooleanFALSEIf TRUE, stateful MPPE is used. See pppd documentation for more information on stateful MPPE.mruuint320If non-zero, instruct pppd to request that the peer send packets no larger than the specified size. If non-zero, the MRU should be between 128 and 16384.mtuuint320If non-zero, instruct pppd to send packets no larger than the specified size.no-vj-compbooleanFALSEIf TRUE, Van Jacobsen TCP header compression will not be requested.noauthbooleanTRUEIf TRUE, do not require the other side (usually the PPP server) to authenticate itself to the client. If FALSE, require authentication from the remote side. In almost all cases, this should be TRUE.nobsdcompbooleanFALSEIf TRUE, BSD compression will not be requested.nodeflatebooleanFALSEIf TRUE, "deflate" compression will not be requested.refuse-chapbooleanFALSEIf TRUE, the CHAP authentication method will not be used.refuse-eapbooleanFALSEIf TRUE, the EAP authentication method will not be used.refuse-mschapbooleanFALSEIf TRUE, the MSCHAP authentication method will not be used.refuse-mschapv2booleanFALSEIf TRUE, the MSCHAPv2 authentication method will not be used.refuse-papbooleanFALSEIf TRUE, the PAP authentication method will not be used.require-mppebooleanFALSEIf TRUE, MPPE (Microsoft Point-to-Point Encryption) will be required for the PPP session. If either 64-bit or 128-bit MPPE is not available the session will fail. Note that MPPE is not used on mobile broadband connections.require-mppe-128booleanFALSEIf TRUE, 128-bit MPPE (Microsoft Point-to-Point Encryption) will be required for the PPP session, and the "require-mppe" property must also be set to TRUE. If 128-bit MPPE is not available the session will fail.pppoe settingPPP-over-Ethernet Settings.Key NameValue TypeDefault ValueValue DescriptionparentstringIf given, specifies the parent interface name on which this PPPoE connection should be created. If this property is not specified, the connection is activated on the interface specified in "interface-name" of NMSettingConnection.passwordstringPassword used to authenticate with the PPPoE service.password-flagsNMSettingSecretFlags (uint32)Flags indicating how to handle the "password" property. (see for flag values)servicestringIf specified, instruct PPPoE to only initiate sessions with access concentrators that provide the specified service. For most providers, this should be left blank. It is only required if there are multiple access concentrators or a specific service is known to be required.usernamestringUsername used to authenticate with the PPPoE service.proxy settingWWW Proxy Settings.Key NameValue TypeDefault ValueValue Descriptionbrowser-onlybooleanFALSEWhether the proxy configuration is for browser only.methodint320Method for proxy configuration, Default is NM_SETTING_PROXY_METHOD_NONE (0)pac-scriptstringPAC script for the connection.pac-urlstringPAC URL for obtaining PAC file.serial settingSerial Link Settings.Key NameValue TypeDefault ValueValue Descriptionbauduint3257600Speed to use for communication over the serial port. Note that this value usually has no effect for mobile broadband modems as they generally ignore speed settings and use the highest available speed.bitsuint328Byte-width of the serial communication. The 8 in "8n1" for example.paritybyteThe connection parity: 69 (ASCII 'E') for even parity, 111 (ASCII 'o') for odd, 110 (ASCII 'n') for none.send-delayuint640Time to delay between each byte sent to the modem, in microseconds.stopbitsuint321Number of stop bits for communication on the serial port. Either 1 or 2. The 1 in "8n1" for example.sriov settingSR-IOV settings.Key NameValue TypeDefault ValueValue Descriptionautoprobe-driversNMTernary (int32)Whether to autoprobe virtual functions by a compatible driver. If set to NM_TERNARY_TRUE (1), the kernel will try to bind VFs to a compatible driver and if this succeeds a new network interface will be instantiated for each VF. If set to NM_TERNARY_FALSE (0), VFs will not be claimed and no network interfaces will be created for them. When set to NM_TERNARY_DEFAULT (-1), the global default is used; in case the global default is unspecified it is assumed to be NM_TERNARY_TRUE (1).total-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.vfsarray of vardictArray of virtual function descriptors. Each VF descriptor is a dictionary mapping attribute names to GVariant values. The 'index' entry is mandatory for each VF. When represented as string a VF is in the form: "INDEX [ATTR=VALUE[ ATTR=VALUE]...]". for example: "2 mac=00:11:22:33:44:55 spoof-check=true". Multiple VFs can be specified using a comma as separator. Currently, the following attributes are supported: mac, spoof-check, trust, min-tx-rate, max-tx-rate, vlans. The "vlans" attribute is represented as a semicolon-separated list of VLAN descriptors, where each descriptor has the form "ID[.PRIORITY[.PROTO]]". PROTO can be either 'q' for 802.1Q (the default) or 'ad' for 802.1ad.tc settingLinux Traffic Control Settings.Key NameValue TypeDefault ValueValue Descriptionqdiscsarray of vardictArray of TC queueing disciplines.tfiltersarray of vardictArray of TC traffic filters.team settingTeaming Settings.Key NameValue TypeDefault ValueValue DescriptionconfigstringThe JSON configuration for the team network interface. The property should contain raw JSON configuration data suitable for teamd, because the value is passed directly to teamd. If not specified, the default configuration is used. See man teamd.conf for the format details.interface-namestringDeprecated in favor of connection.interface-name, but can be used for backward-compatibility with older daemons, to set the team's interface name.link-watchersarray of vardictLink watchers configuration for the connection: each link watcher is defined by a dictionary, whose keys depend upon the selected link watcher. Available link watchers are 'ethtool', 'nsna_ping' and 'arp_ping' and it is specified in the dictionary with the key 'name'. Available keys are: ethtool: 'delay-up', 'delay-down', 'init-wait'; nsna_ping: 'init-wait', 'interval', 'missed-max', 'target-host'; arp_ping: all the ones in nsna_ping and 'source-host', 'validate-active', 'validate-inactive', 'send-always'. See teamd.conf man for more details.mcast-rejoin-countint32-1Corresponds to the teamd mcast_rejoin.count.mcast-rejoin-intervalint32-1Corresponds to the teamd mcast_rejoin.interval.notify-peers-countint32-1Corresponds to the teamd notify_peers.count.notify-peers-intervalint32-1Corresponds to the teamd notify_peers.interval.runnerstringCorresponds to the teamd runner.name. Permitted values are: "roundrobin", "broadcast", "activebackup", "loadbalance", "lacp", "random".runner-activebooleanTRUECorresponds to the teamd runner.active.runner-agg-select-policystringCorresponds to the teamd runner.agg_select_policy.runner-fast-ratebooleanFALSECorresponds to the teamd runner.fast_rate.runner-hwaddr-policystringCorresponds to the teamd runner.hwaddr_policy.runner-min-portsint32-1Corresponds to the teamd runner.min_ports.runner-sys-prioint32-1Corresponds to the teamd runner.sys_prio.runner-tx-balancerstringCorresponds to the teamd runner.tx_balancer.name.runner-tx-balancer-intervalint32-1Corresponds to the teamd runner.tx_balancer.interval.runner-tx-hasharray of stringCorresponds to the teamd runner.tx_hash.team-port settingTeam Port Settings.Key NameValue TypeDefault ValueValue DescriptionconfigstringThe JSON configuration for the team port. The property should contain raw JSON configuration data suitable for teamd, because the value is passed directly to teamd. If not specified, the default configuration is used. See man teamd.conf for the format details.lacp-keyint32-1Corresponds to the teamd ports.PORTIFNAME.lacp_key.lacp-prioint32-1Corresponds to the teamd ports.PORTIFNAME.lacp_prio.link-watchersarray of vardictLink watchers configuration for the connection: each link watcher is defined by a dictionary, whose keys depend upon the selected link watcher. Available link watchers are 'ethtool', 'nsna_ping' and 'arp_ping' and it is specified in the dictionary with the key 'name'. Available keys are: ethtool: 'delay-up', 'delay-down', 'init-wait'; nsna_ping: 'init-wait', 'interval', 'missed-max', 'target-host'; arp_ping: all the ones in nsna_ping and 'source-host', 'validate-active', 'validate-inactive', 'send-always'. See teamd.conf man for more details.prioint320Corresponds to the teamd ports.PORTIFNAME.prio.queue-idint32-1Corresponds to the teamd ports.PORTIFNAME.queue_id. When set to -1 means the parameter is skipped from the json config.stickybooleanFALSECorresponds to the teamd ports.PORTIFNAME.sticky.tun settingTunnel Settings.Key NameValue TypeDefault ValueValue DescriptiongroupstringThe group ID which will own the device. If set to NULL everyone will be able to use the device.modeuint321The operating mode of the virtual device. Allowed values are NM_SETTING_TUN_MODE_TUN (1) to create a layer 3 device and NM_SETTING_TUN_MODE_TAP (2) to create an Ethernet-like layer 2 one.multi-queuebooleanFALSEIf the property is set to TRUE, the interface will support multiple file descriptors (queues) to parallelize packet sending or receiving. Otherwise, the interface will only support a single queue.ownerstringThe user ID which will own the device. If set to NULL everyone will be able to use the device.pibooleanFALSEIf TRUE the interface will prepend a 4 byte header describing the physical interface to the packets.vnet-hdrbooleanFALSEIf TRUE the IFF_VNET_HDR the tunnel packets will include a virtio network header.user settingGeneral User Profile Settings.Key NameValue TypeDefault ValueValue Descriptiondatadict of string to string{}A dictionary of key/value pairs with user data. This data is ignored by NetworkManager and can be used at the users discretion. The keys only support a strict ascii format, but the values can be arbitrary UTF8 strings up to a certain length.vlan settingVLAN Settings.Key NameValue TypeDefault ValueValue Descriptionegress-priority-maparray of stringFor outgoing packets, a list of mappings from Linux SKB priorities to 802.1p priorities. The mapping is given in the format "from:to" where both "from" and "to" are unsigned integers, ie "7:3".flagsNMVlanFlags (uint32)One or more flags which control the behavior and features of the VLAN interface. Flags include NM_VLAN_FLAG_REORDER_HEADERS (0x1) (reordering of output packet headers), NM_VLAN_FLAG_GVRP (0x2) (use of the GVRP protocol), and NM_VLAN_FLAG_LOOSE_BINDING (0x4) (loose binding of the interface to its master device's operating state). NM_VLAN_FLAG_MVRP (0x8) (use of the MVRP protocol). The default value of this property is NM_VLAN_FLAG_REORDER_HEADERS, but it used to be 0. To preserve backward compatibility, the default-value in the D-Bus API continues to be 0 and a missing property on D-Bus is still considered as 0.iduint320The VLAN identifier that the interface created by this connection should be assigned. The valid range is from 0 to 4094, without the reserved id 4095.ingress-priority-maparray of stringFor incoming packets, a list of mappings from 802.1p priorities to Linux SKB priorities. The mapping is given in the format "from:to" where both "from" and "to" are unsigned integers, ie "7:3".interface-namestringDeprecated in favor of connection.interface-name, but can be used for backward-compatibility with older daemons, to set the vlan's interface name.parentstringIf given, specifies the parent interface name or parent connection UUID from which this VLAN interface should be created. If this property is not specified, the connection must contain an "802-3-ethernet" setting with a "mac-address" property.vpn settingVPN Settings.Key NameValue TypeDefault ValueValue Descriptiondatadict of string to string{}Dictionary of key/value pairs of VPN plugin specific data. Both keys and values must be strings.persistentbooleanFALSEIf the VPN service supports persistence, and this property is TRUE, the VPN will attempt to stay connected across link changes and outages, until explicitly disconnected.secretsdict of string to string{}Dictionary of key/value pairs of VPN plugin specific secrets like passwords or private keys. Both keys and values must be strings.service-typestringD-Bus service name of the VPN plugin that this setting uses to connect to its network. i.e. org.freedesktop.NetworkManager.vpnc for the vpnc plugin.timeoutuint320Timeout for the VPN service to establish the connection. Some services may take quite a long time to connect. Value of 0 means a default timeout, which is 60 seconds (unless overridden by vpn.timeout in configuration file). Values greater than zero mean timeout in seconds.user-namestringIf the VPN connection requires a user name for authentication, that name should be provided here. If the connection is available to more than one user, and the VPN requires each user to supply a different name, then leave this property empty. If this property is empty, NetworkManager will automatically supply the username of the user which requested the VPN connection.vrf settingVRF settings.Key NameValue TypeDefault ValueValue Descriptiontableuint320The routing table for this VRF.vxlan settingVXLAN Settings.Key NameValue TypeDefault ValueValue Descriptionageinguint32300Specifies the lifetime in seconds of FDB entries learnt by the kernel.destination-portuint328472Specifies the UDP destination port to communicate to the remote VXLAN tunnel endpoint.iduint320Specifies the VXLAN Network Identifier (or VXLAN Segment Identifier) to use.l2-missbooleanFALSESpecifies whether netlink LL ADDR miss notifications are generated.l3-missbooleanFALSESpecifies whether netlink IP ADDR miss notifications are generated.learningbooleanTRUESpecifies whether unknown source link layer addresses and IP addresses are entered into the VXLAN device forwarding database.limituint320Specifies the maximum number of FDB entries. A value of zero means that the kernel will store unlimited entries.localstringIf given, specifies the source IP address to use in outgoing packets.parentstringIf given, specifies the parent interface name or parent connection UUID.proxybooleanFALSESpecifies whether ARP proxy is turned on.remotestringSpecifies the unicast destination IP address to use in outgoing packets when the destination link layer address is not known in the VXLAN device forwarding database, or the multicast IP address to join.rscbooleanFALSESpecifies whether route short circuit is turned on.source-port-maxuint320Specifies the maximum UDP source port to communicate to the remote VXLAN tunnel endpoint.source-port-minuint320Specifies the minimum UDP source port to communicate to the remote VXLAN tunnel endpoint.tosuint320Specifies the TOS value to use in outgoing packets.ttluint320Specifies the time-to-live value to use in outgoing packets.wifi-p2p settingWi-Fi P2P Settings.Key NameValue TypeDefault ValueValue DescriptionpeerstringThe P2P device that should be connected to. Currently, this is the only way to create or join a group.wfd-iesbyte arrayThe Wi-Fi Display (WFD) Information Elements (IEs) to set. Wi-Fi Display requires a protocol specific information element to be set in certain Wi-Fi frames. These can be specified here for the purpose of establishing a connection. This setting is only useful when implementing a Wi-Fi Display client.wps-methoduint320Flags indicating which mode of WPS is to be used. There's little point in changing the default setting as NetworkManager will automatically determine the best method to use.wimax settingWiMax Settings.Key NameValue TypeDefault ValueValue Descriptionmac-addressbyte arrayIf specified, this connection will only apply to the WiMAX device whose MAC address matches. This property does not change the MAC address of the device (known as MAC spoofing). Deprecated: 1network-namestringNetwork Service Provider (NSP) name of the WiMAX network this connection should use. Deprecated: 1802-3-ethernet settingWired Ethernet Settings.Key NameValue TypeDefault ValueValue Descriptionassigned-mac-addressstringThe new field for the cloned MAC address. It can be either a hardware address in ASCII representation, or one of the special values "preserve", "permanent", "random" or "stable". This field replaces the deprecated "cloned-mac-address" on D-Bus, which can only contain explicit hardware addresses. Note that this property only exists in D-Bus API. libnm and nmcli continue to call this property "cloned-mac-address".auto-negotiatebooleanFALSEWhen TRUE, enforce auto-negotiation of speed and duplex mode. If "speed" and "duplex" properties are both specified, only that single mode will be advertised and accepted during the link auto-negotiation process: this works only for BASE-T 802.3 specifications and is useful for enforcing gigabits modes, as in these cases link negotiation is mandatory. When FALSE, "speed" and "duplex" properties should be both set or link configuration will be skipped.cloned-mac-addressbyte arrayThis D-Bus field is deprecated in favor of "assigned-mac-address" which is more flexible and allows specifying special variants like "random". For libnm and nmcli, this field is called "cloned-mac-address".duplexstringWhen a value is set, either "half" or "full", configures the device to use the specified duplex mode. If "auto-negotiate" is "yes" the specified duplex mode will be the only one advertised during link negotiation: this works only for BASE-T 802.3 specifications and is useful for enforcing gigabits modes, as in these cases link negotiation is mandatory. If the value is unset (the default), the link configuration will be either skipped (if "auto-negotiate" is "no", the default) or will be auto-negotiated (if "auto-negotiate" is "yes") and the local device will advertise all the supported duplex modes. Must be set together with the "speed" property if specified. Before specifying a duplex mode be sure your device supports it.generate-mac-address-maskstringWith "cloned-mac-address" setting "random" or "stable", by default all bits of the MAC address are scrambled and a locally-administered, unicast MAC address is created. This property allows to specify that certain bits are fixed. Note that the least significant bit of the first MAC address will always be unset to create a unicast MAC address. If the property is NULL, it is eligible to be overwritten by a default connection setting. If the value is still NULL or an empty string, the default is to create a locally-administered, unicast MAC address. If the value contains one MAC address, this address is used as mask. The set bits of the mask are to be filled with the current MAC address of the device, while the unset bits are subject to randomization. Setting "FE:FF:FF:00:00:00" means to preserve the OUI of the current MAC address and only randomize the lower 3 bytes using the "random" or "stable" algorithm. If the value contains one additional MAC address after the mask, this address is used instead of the current MAC address to fill the bits that shall not be randomized. For example, a value of "FE:FF:FF:00:00:00 68:F7:28:00:00:00" will set the OUI of the MAC address to 68:F7:28, while the lower bits are randomized. A value of "02:00:00:00:00:00 00:00:00:00:00:00" will create a fully scrambled globally-administered, burned-in MAC address. If the value contains more than one additional MAC addresses, one of them is chosen randomly. For example, "02:00:00:00:00:00 00:00:00:00:00:00 02:00:00:00:00:00" will create a fully scrambled MAC address, randomly locally or globally administered.mac-addressbyte arrayIf specified, this connection will only apply to the Ethernet device whose permanent MAC address matches. This property does not change the MAC address of the device (i.e. MAC spoofing).mac-address-blacklistarray of stringIf specified, this connection will never apply to the Ethernet device whose permanent MAC address matches an address in the list. Each MAC address is in the standard hex-digits-and-colons notation (00:11:22:33:44:55).mtuuint320If non-zero, only transmit packets of the specified size or smaller, breaking larger packets up into multiple Ethernet frames.portstringSpecific port type to use if the device supports multiple attachment methods. One of "tp" (Twisted Pair), "aui" (Attachment Unit Interface), "bnc" (Thin Ethernet) or "mii" (Media Independent Interface). If the device supports only one port type, this setting is ignored.s390-nettypestrings390 network device type; one of "qeth", "lcs", or "ctc", representing the different types of virtual network devices available on s390 systems.s390-optionsdict of string to string{}Dictionary of key/value pairs of s390-specific device options. Both keys and values must be strings. Allowed keys include "portno", "layer2", "portname", "protocol", among others. Key names must contain only alphanumeric characters (ie, [a-zA-Z0-9]).s390-subchannelsarray of stringIdentifies specific subchannels that this network device uses for communication with z/VM or s390 host. Like the "mac-address" property for non-z/VM devices, this property can be used to ensure this connection only applies to the network device that uses these subchannels. The list should contain exactly 3 strings, and each string may only be composed of hexadecimal characters and the period (.) character.speeduint320When a value greater than 0 is set, configures the device to use the specified speed. If "auto-negotiate" is "yes" the specified speed will be the only one advertised during link negotiation: this works only for BASE-T 802.3 specifications and is useful for enforcing gigabit speeds, as in this case link negotiation is mandatory. If the value is unset (0, the default), the link configuration will be either skipped (if "auto-negotiate" is "no", the default) or will be auto-negotiated (if "auto-negotiate" is "yes") and the local device will advertise all the supported speeds. In Mbit/s, ie 100 == 100Mbit/s. Must be set together with the "duplex" property when non-zero. Before specifying a speed value be sure your device supports it.wake-on-lanuint321The NMSettingWiredWakeOnLan options to enable. Not all devices support all options. May be any combination of NM_SETTING_WIRED_WAKE_ON_LAN_PHY (0x2), NM_SETTING_WIRED_WAKE_ON_LAN_UNICAST (0x4), NM_SETTING_WIRED_WAKE_ON_LAN_MULTICAST (0x8), NM_SETTING_WIRED_WAKE_ON_LAN_BROADCAST (0x10), NM_SETTING_WIRED_WAKE_ON_LAN_ARP (0x20), NM_SETTING_WIRED_WAKE_ON_LAN_MAGIC (0x40) or the special values NM_SETTING_WIRED_WAKE_ON_LAN_DEFAULT (0x1) (to use global settings) and NM_SETTING_WIRED_WAKE_ON_LAN_IGNORE (0x8000) (to disable management of Wake-on-LAN in NetworkManager).wake-on-lan-passwordstringIf specified, the password used with magic-packet-based Wake-on-LAN, represented as an Ethernet MAC address. If NULL, no password will be required.wireguard settingWireGuard Settings.Key NameValue TypeDefault ValueValue Descriptionfwmarkuint320The use of fwmark is optional and is by default off. Setting it to 0 disables it. Otherwise, it is a 32-bit fwmark for outgoing packets. Note that "ip4-auto-default-route" or "ip6-auto-default-route" enabled, implies to automatically choose a fwmark.ip4-auto-default-routeNMTernary (int32)Whether to enable special handling of the IPv4 default route. If enabled, the IPv4 default route from wireguard.peer-routes will be placed to a dedicated routing-table and two policy routing rules will be added. The fwmark number is also used as routing-table for the default-route, and if fwmark is zero, an unused fwmark/table is chosen automatically. This corresponds to what wg-quick does with Table=auto and what WireGuard calls "Improved Rule-based Routing". Note that for this automatism to work, you usually don't want to set ipv4.gateway, because that will result in a conflicting default route. Leaving this at the default will enable this option automatically if ipv4.never-default is not set and there are any peers that use a default-route as allowed-ips.ip6-auto-default-routeNMTernary (int32)Like ip4-auto-default-route, but for the IPv6 default route.listen-portuint320The listen-port. If listen-port is not specified, the port will be chosen randomly when the interface comes up.mtuuint320If non-zero, only transmit packets of the specified size or smaller, breaking larger packets up into multiple fragments. If zero a default MTU is used. Note that contrary to wg-quick's MTU setting, this does not take into account the current routes at the time of activation.peer-routesbooleanTRUEWhether to automatically add routes for the AllowedIPs ranges of the peers. If TRUE (the default), NetworkManager will automatically add routes in the routing tables according to ipv4.route-table and ipv6.route-table. Usually you want this automatism enabled. If FALSE, no such routes are added automatically. In this case, the user may want to configure static routes in ipv4.routes and ipv6.routes, respectively. Note that if the peer's AllowedIPs is "0.0.0.0/0" or "::/0" and the profile's ipv4.never-default or ipv6.never-default setting is enabled, the peer route for this peer won't be added automatically.peersarray of 'a{sv}'Array of dictionaries for the WireGuard peers.private-keystringThe 256 bit private-key in base64 encoding.private-key-flagsNMSettingSecretFlags (uint32)Flags indicating how to handle the "private-key" property. (see for flag values)802-11-wireless settingWi-Fi Settings.Key NameValue TypeDefault ValueValue Descriptionap-isolationNMTernary (int32)Configures AP isolation, which prevents communication between wireless devices connected to this AP. This property can be set to a value different from NM_TERNARY_DEFAULT (-1) only when the interface is configured in AP mode. If set to NM_TERNARY_TRUE (1), devices are not able to communicate with each other. This increases security because it protects devices against attacks from other clients in the network. At the same time, it prevents devices to access resources on the same wireless networks as file shares, printers, etc. If set to NM_TERNARY_FALSE (0), devices can talk to each other. When set to NM_TERNARY_DEFAULT (-1), the global default is used; in case the global default is unspecified it is assumed to be NM_TERNARY_FALSE (0).assigned-mac-addressstringThe new field for the cloned MAC address. It can be either a hardware address in ASCII representation, or one of the special values "preserve", "permanent", "random" or "stable". This field replaces the deprecated "cloned-mac-address" on D-Bus, which can only contain explicit hardware addresses. Note that this property only exists in D-Bus API. libnm and nmcli continue to call this property "cloned-mac-address".bandstring802.11 frequency band of the network. One of "a" for 5GHz 802.11a or "bg" for 2.4GHz 802.11. This will lock associations to the Wi-Fi network to the specific band, i.e. if "a" is specified, the device will not associate with the same network in the 2.4GHz band even if the network's settings are compatible. This setting depends on specific driver capability and may not work with all drivers.bssidbyte arrayIf specified, directs the device to only associate with the given access point. This capability is highly driver dependent and not supported by all devices. Note: this property does not control the BSSID used when creating an Ad-Hoc network and is unlikely to in the future.channeluint320Wireless channel to use for the Wi-Fi connection. The device will only join (or create for Ad-Hoc networks) a Wi-Fi network on the specified channel. Because channel numbers overlap between bands, this property also requires the "band" property to be set.cloned-mac-addressbyte arrayThis D-Bus field is deprecated in favor of "assigned-mac-address" which is more flexible and allows specifying special variants like "random". For libnm and nmcli, this field is called "cloned-mac-address".generate-mac-address-maskstringWith "cloned-mac-address" setting "random" or "stable", by default all bits of the MAC address are scrambled and a locally-administered, unicast MAC address is created. This property allows to specify that certain bits are fixed. Note that the least significant bit of the first MAC address will always be unset to create a unicast MAC address. If the property is NULL, it is eligible to be overwritten by a default connection setting. If the value is still NULL or an empty string, the default is to create a locally-administered, unicast MAC address. If the value contains one MAC address, this address is used as mask. The set bits of the mask are to be filled with the current MAC address of the device, while the unset bits are subject to randomization. Setting "FE:FF:FF:00:00:00" means to preserve the OUI of the current MAC address and only randomize the lower 3 bytes using the "random" or "stable" algorithm. If the value contains one additional MAC address after the mask, this address is used instead of the current MAC address to fill the bits that shall not be randomized. For example, a value of "FE:FF:FF:00:00:00 68:F7:28:00:00:00" will set the OUI of the MAC address to 68:F7:28, while the lower bits are randomized. A value of "02:00:00:00:00:00 00:00:00:00:00:00" will create a fully scrambled globally-administered, burned-in MAC address. If the value contains more than one additional MAC addresses, one of them is chosen randomly. For example, "02:00:00:00:00:00 00:00:00:00:00:00 02:00:00:00:00:00" will create a fully scrambled MAC address, randomly locally or globally administered.hiddenbooleanFALSEIf TRUE, indicates that the network is a non-broadcasting network that hides its SSID. This works both in infrastructure and AP mode. In infrastructure mode, various workarounds are used for a more reliable discovery of hidden networks, such as probe-scanning the SSID. However, these workarounds expose inherent insecurities with hidden SSID networks, and thus hidden SSID networks should be used with caution. In AP mode, the created network does not broadcast its SSID. Note that marking the network as hidden may be a privacy issue for you (in infrastructure mode) or client stations (in AP mode), as the explicit probe-scans are distinctly recognizable on the air.mac-addressbyte arrayIf specified, this connection will only apply to the Wi-Fi device whose permanent MAC address matches. This property does not change the MAC address of the device (i.e. MAC spoofing).mac-address-blacklistarray of stringA list of permanent MAC addresses of Wi-Fi devices to which this connection should never apply. Each MAC address should be given in the standard hex-digits-and-colons notation (eg "00:11:22:33:44:55").mac-address-randomizationuint320One of NM_SETTING_MAC_RANDOMIZATION_DEFAULT (0) (never randomize unless the user has set a global default to randomize and the supplicant supports randomization), NM_SETTING_MAC_RANDOMIZATION_NEVER (1) (never randomize the MAC address), or NM_SETTING_MAC_RANDOMIZATION_ALWAYS (2) (always randomize the MAC address). This property is deprecated for 'cloned-mac-address'. Deprecated: 1modestringWi-Fi network mode; one of "infrastructure", "mesh", "adhoc" or "ap". If blank, infrastructure is assumed.mtuuint320If non-zero, only transmit packets of the specified size or smaller, breaking larger packets up into multiple Ethernet frames.powersaveuint320One of NM_SETTING_WIRELESS_POWERSAVE_DISABLE (2) (disable Wi-Fi power saving), NM_SETTING_WIRELESS_POWERSAVE_ENABLE (3) (enable Wi-Fi power saving), NM_SETTING_WIRELESS_POWERSAVE_IGNORE (1) (don't touch currently configure setting) or NM_SETTING_WIRELESS_POWERSAVE_DEFAULT (0) (use the globally configured value). All other values are reserved.rateuint320If non-zero, directs the device to only use the specified bitrate for communication with the access point. Units are in Kb/s, ie 5500 = 5.5 Mbit/s. This property is highly driver dependent and not all devices support setting a static bitrate.securityThis property is deprecated, but can be set to the value '802-11-wireless-security' when a wireless security setting is also present in the connection dictionary, for compatibility with very old NetworkManager daemons.seen-bssidsarray of stringA list of BSSIDs (each BSSID formatted as a MAC address like "00:11:22:33:44:55") that have been detected as part of the Wi-Fi network. NetworkManager internally tracks previously seen BSSIDs. The property is only meant for reading and reflects the BSSID list of NetworkManager. The changes you make to this property will not be preserved.ssidbyte arraySSID of the Wi-Fi network. Must be specified.tx-poweruint320If non-zero, directs the device to use the specified transmit power. Units are dBm. This property is highly driver dependent and not all devices support setting a static transmit power.wake-on-wlanuint321The NMSettingWirelessWakeOnWLan options to enable. Not all devices support all options. May be any combination of NM_SETTING_WIRELESS_WAKE_ON_WLAN_ANY (0x2), NM_SETTING_WIRELESS_WAKE_ON_WLAN_DISCONNECT (0x4), NM_SETTING_WIRELESS_WAKE_ON_WLAN_MAGIC (0x8), NM_SETTING_WIRELESS_WAKE_ON_WLAN_GTK_REKEY_FAILURE (0x10), NM_SETTING_WIRELESS_WAKE_ON_WLAN_EAP_IDENTITY_REQUEST (0x20), NM_SETTING_WIRELESS_WAKE_ON_WLAN_4WAY_HANDSHAKE (0x40), NM_SETTING_WIRELESS_WAKE_ON_WLAN_RFKILL_RELEASE (0x80), NM_SETTING_WIRELESS_WAKE_ON_WLAN_TCP (0x100) or the special values NM_SETTING_WIRELESS_WAKE_ON_WLAN_DEFAULT (0x1) (to use global settings) and NM_SETTING_WIRELESS_WAKE_ON_WLAN_IGNORE (0x8000) (to disable management of Wake-on-LAN in NetworkManager).802-11-wireless-security settingWi-Fi Security Settings.Key NameValue TypeDefault ValueValue Descriptionauth-algstringWhen WEP is used (ie, key-mgmt = "none" or "ieee8021x") indicate the 802.11 authentication algorithm required by the AP here. One of "open" for Open System, "shared" for Shared Key, or "leap" for Cisco LEAP. When using Cisco LEAP (ie, key-mgmt = "ieee8021x" and auth-alg = "leap") the "leap-username" and "leap-password" properties must be specified.filsint320Indicates whether Fast Initial Link Setup (802.11ai) must be enabled for the connection. One of NM_SETTING_WIRELESS_SECURITY_FILS_DEFAULT (0) (use global default value), NM_SETTING_WIRELESS_SECURITY_FILS_DISABLE (1) (disable FILS), NM_SETTING_WIRELESS_SECURITY_FILS_OPTIONAL (2) (enable FILS if the supplicant and the access point support it) or NM_SETTING_WIRELESS_SECURITY_FILS_REQUIRED (3) (enable FILS and fail if not supported). When set to NM_SETTING_WIRELESS_SECURITY_FILS_DEFAULT (0) and no global default is set, FILS will be optionally enabled.grouparray of stringA list of group/broadcast encryption algorithms which prevents connections to Wi-Fi networks that do not utilize one of the algorithms in the list. For maximum compatibility leave this property empty. Each list element may be one of "wep40", "wep104", "tkip", or "ccmp".key-mgmtstringKey management used for the connection. One of "none" (WEP), "ieee8021x" (Dynamic WEP), "wpa-psk" (infrastructure WPA-PSK), "sae" (SAE), "owe" (Opportunistic Wireless Encryption), "wpa-eap" (WPA-Enterprise) or "wpa-eap-suite-b-192" (WPA3-Enterprise Suite B). This property must be set for any Wi-Fi connection that uses security.leap-passwordstringThe login password for legacy LEAP connections (ie, key-mgmt = "ieee8021x" and auth-alg = "leap").leap-password-flagsNMSettingSecretFlags (uint32)Flags indicating how to handle the "leap-password" property. (see for flag values)leap-usernamestringThe login username for legacy LEAP connections (ie, key-mgmt = "ieee8021x" and auth-alg = "leap").pairwisearray of stringA list of pairwise encryption algorithms which prevents connections to Wi-Fi networks that do not utilize one of the algorithms in the list. For maximum compatibility leave this property empty. Each list element may be one of "tkip" or "ccmp".pmfint320Indicates whether Protected Management Frames (802.11w) must be enabled for the connection. One of NM_SETTING_WIRELESS_SECURITY_PMF_DEFAULT (0) (use global default value), NM_SETTING_WIRELESS_SECURITY_PMF_DISABLE (1) (disable PMF), NM_SETTING_WIRELESS_SECURITY_PMF_OPTIONAL (2) (enable PMF if the supplicant and the access point support it) or NM_SETTING_WIRELESS_SECURITY_PMF_REQUIRED (3) (enable PMF and fail if not supported). When set to NM_SETTING_WIRELESS_SECURITY_PMF_DEFAULT (0) and no global default is set, PMF will be optionally enabled.protoarray of stringList of strings specifying the allowed WPA protocol versions to use. Each element may be one "wpa" (allow WPA) or "rsn" (allow WPA2/RSN). If not specified, both WPA and RSN connections are allowed.pskstringPre-Shared-Key for WPA networks. For WPA-PSK, it's either an ASCII passphrase of 8 to 63 characters that is (as specified in the 802.11i standard) hashed to derive the actual key, or the key in form of 64 hexadecimal character. The WPA3-Personal networks use a passphrase of any length for SAE authentication.psk-flagsNMSettingSecretFlags (uint32)Flags indicating how to handle the "psk" property. (see for flag values)wep-key-flagsNMSettingSecretFlags (uint32)Flags indicating how to handle the "wep-key0", "wep-key1", "wep-key2", and "wep-key3" properties. (see for flag values)wep-key-typeNMWepKeyType (uint32)Controls the interpretation of WEP keys. Allowed values are NM_WEP_KEY_TYPE_KEY (1), in which case the key is either a 10- or 26-character hexadecimal string, or a 5- or 13-character ASCII password; or NM_WEP_KEY_TYPE_PASSPHRASE (2), in which case the passphrase is provided as a string and will be hashed using the de-facto MD5 method to derive the actual WEP key.wep-key0stringIndex 0 WEP key. This is the WEP key used in most networks. See the "wep-key-type" property for a description of how this key is interpreted.wep-key1stringIndex 1 WEP key. This WEP index is not used by most networks. See the "wep-key-type" property for a description of how this key is interpreted.wep-key2stringIndex 2 WEP key. This WEP index is not used by most networks. See the "wep-key-type" property for a description of how this key is interpreted.wep-key3stringIndex 3 WEP key. This WEP index is not used by most networks. See the "wep-key-type" property for a description of how this key is interpreted.wep-tx-keyidxuint320When static WEP is used (ie, key-mgmt = "none") and a non-default WEP key index is used by the AP, put that WEP key index here. Valid values are 0 (default key) through 3. Note that some consumer access points (like the Linksys WRT54G) number the keys 1 - 4.wps-methoduint320Flags indicating which mode of WPS is to be used if any. There's little point in changing the default setting as NetworkManager will automatically determine whether it's feasible to start WPS enrollment from the Access Point capabilities. WPS can be disabled by setting this property to a value of 1.wpan settingIEEE 802.15.4 (WPAN) MAC Settings.Key NameValue TypeDefault ValueValue Descriptionchannelint32-1IEEE 802.15.4 channel. A positive integer or -1, meaning "do not set, use whatever the device is already set to".mac-addressstringIf specified, this connection will only apply to the IEEE 802.15.4 (WPAN) MAC layer device whose permanent MAC address matches.pageint32-1IEEE 802.15.4 channel page. A positive integer or -1, meaning "do not set, use whatever the device is already set to".pan-iduint3265535IEEE 802.15.4 Personal Area Network (PAN) identifier.short-addressuint3265535Short IEEE 802.15.4 address to be used within a restricted environment.hostname settingHostname settings.Key NameValue TypeDefault ValueValue Descriptionfrom-dhcpNMTernary (int32)Whether the system hostname can be determined from DHCP on this connection. When set to NM_TERNARY_DEFAULT (-1), the value from global configuration is used. If the property doesn't have a value in the global configuration, NetworkManager assumes the value to be NM_TERNARY_TRUE (1).from-dns-lookupNMTernary (int32)Whether the system hostname can be determined from reverse DNS lookup of addresses on this device. When set to NM_TERNARY_DEFAULT (-1), the value from global configuration is used. If the property doesn't have a value in the global configuration, NetworkManager assumes the value to be NM_TERNARY_TRUE (1).only-from-defaultNMTernary (int32)If set to NM_TERNARY_TRUE (1), NetworkManager attempts to get the hostname via DHCPv4/DHCPv6 or reverse DNS lookup on this device only when the device has the default route for the given address family (IPv4/IPv6). If set to NM_TERNARY_FALSE (0), the hostname can be set from this device even if it doesn't have the default route. When set to NM_TERNARY_DEFAULT (-1), the value from global configuration is used. If the property doesn't have a value in the global configuration, NetworkManager assumes the value to be NM_TERNARY_FALSE (0).priorityint320The relative priority of this connection to determine the system hostname. A lower numerical value is better (higher priority). A connection with higher priority is considered before connections with lower priority. If the value is zero, it can be overridden by a global value from NetworkManager configuration. If the property doesn't have a value in the global configuration, the value is assumed to be 100. Negative values have the special effect of excluding other connections with a greater numerical priority value; so in presence of at least one negative priority, only connections with the lowest priority value will be used to determine the hostname.ovs-external-ids settingOVS External IDs Settings.Key NameValue TypeDefault ValueValue Descriptiondatadict of string to string{}A dictionary of key/value pairs with exernal-ids for OVS.veth settingVeth Settings.Key NameValue TypeDefault ValueValue DescriptionpeerstringThis property specifies the peer interface name of the veth. This property is mandatory.Secret flag types: + connection settingGeneral Connection Profile Settings.Key NameValue TypeDefault ValueValue Descriptionauth-retriesint32-1The 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.autoconnectbooleanTRUEWhether or not the connection should be automatically connected by NetworkManager when the resources for the connection are available. TRUE to automatically activate the connection, FALSE to require manual intervention to activate the connection. Note that autoconnect is not implemented for VPN profiles. See "secondaries" as an alternative to automatically connect VPN profiles.autoconnect-priorityint320The autoconnect priority. If the connection is set to autoconnect, connections with higher priority will be preferred. Defaults to 0. The higher number means higher priority.autoconnect-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-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.gateway-ping-timeoutuint320If greater than zero, delay success of IP addressing until either the timeout is reached, or an IP gateway replies to a ping.idstringA human readable unique identifier for the connection, like "Work Wi-Fi" or "T-Mobile 3G".interface-namestringThe 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.lldpint32-1Whether LLDP is enabled for the connection.llmnrint32-1Whether 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.masterstringInterface name of the master device or UUID of the master connection.mdnsint32-1Whether 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.meteredNMMetered (int32)Whether the connection is metered. When updating this property on a currently activated connection, the change takes effect immediately.mud-urlstringIf 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".multi-connectint320Specifies whether the profile can be active multiple times at a particular moment. The value is of type NMConnectionMultiConnect.permissionsarray of stringAn 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.read-onlybooleanFALSEFALSE 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.secondariesarray of stringList of connection UUIDs that should be activated when the base connection itself is activated. Currently, only VPN connections are supported.slave-typestringSetting name of the device type of this slave's master connection (eg, "bond"), or NULL if this connection is not a slave.stable-idstringThis represents the identity of the connection used for various purposes. It allows to configure multiple profiles to share the identity. Also, the stable-id can contain placeholders that are substituted dynamically and deterministically depending on the context. The stable-id is used for generating IPv6 stable private addresses with ipv6.addr-gen-mode=stable-privacy. It is also used to seed the generated cloned MAC address for ethernet.cloned-mac-address=stable and wifi.cloned-mac-address=stable. It is also used as DHCP client identifier with ipv4.dhcp-client-id=stable and to derive the DHCP DUID with ipv6.dhcp-duid=stable-[llt,ll,uuid]. Note that depending on the context where it is used, other parameters are also seeded into the generation algorithm. For example, a per-host key is commonly also included, so that different systems end up generating different IDs. Or with ipv6.addr-gen-mode=stable-privacy, also the device's name is included, so that different interfaces yield different addresses. The per-host key is the identity of your machine and stored in /var/lib/NetworkManager/secret-key. The '$' character is treated special to perform dynamic substitutions at runtime. Currently, supported are "${CONNECTION}", "${DEVICE}", "${MAC}", "${BOOT}", "${RANDOM}". These effectively create unique IDs per-connection, per-device, per-boot, or every time. Note that "${DEVICE}" corresponds to the interface name of the device and "${MAC}" is the permanent MAC address of the device. Any unrecognized patterns following '$' are treated verbatim, however are reserved for future use. You are thus advised to avoid '$' or escape it as "$$". For example, set it to "${CONNECTION}-${BOOT}-${DEVICE}" to create a unique id for this connection that changes with every reboot and differs depending on the interface where the profile activates. If the value is unset, a global connection default is consulted. If the value is still unset, the default is similar to "${CONNECTION}" and uses a unique, fixed ID for the connection.timestampuint640The 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).typestringBase 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).uuidstringA 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 "-").wait-device-timeoutint32-1Timeout 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.zonestringThe 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.6lowpan setting6LoWPAN Settings.Key NameValue TypeDefault ValueValue DescriptionparentstringIf given, specifies the parent interface name or parent connection UUID from which this 6LowPAN interface should be created.802-1x settingIEEE 802.1x Authentication Settings.Key NameValue TypeDefault ValueValue Descriptionaltsubject-matchesarray of stringList 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.anonymous-identitystringAnonymous identity string for EAP authentication methods. Used as the unencrypted identity with EAP types that support different tunneled identity like EAP-TTLS.auth-timeoutint320A timeout for the authentication. Zero means the global default; if the global default is not set, the authentication timeout is 25 seconds.ca-certbyte arrayContains 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.ca-cert-passwordstringThe 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.ca-cert-password-flagsNMSettingSecretFlags (uint32)Flags indicating how to handle the "ca-cert-password" property. (see for flag values)ca-pathstringUTF-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.client-certbyte arrayContains 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.client-cert-passwordstringThe 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.client-cert-password-flagsNMSettingSecretFlags (uint32)Flags indicating how to handle the "client-cert-password" property. (see for flag values)domain-matchstringConstraint 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.domain-suffix-matchstringConstraint 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.eaparray of stringThe 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.identitystringIdentity string for EAP authentication methods. Often the user's user or login name.optionalbooleanFALSEWhether 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.pac-filestringUTF-8 encoded file path containing PAC for EAP-FAST.passwordstringUTF-8 encoded password used for EAP authentication methods. If both the "password" property and the "password-raw" property are specified, "password" is preferred.password-flagsNMSettingSecretFlags (uint32)Flags indicating how to handle the "password" property. (see for flag values)password-rawbyte arrayPassword 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.password-raw-flagsNMSettingSecretFlags (uint32)Flags indicating how to handle the "password-raw" property. (see for flag values)phase1-auth-flagsuint320Specifies 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.phase1-fast-provisioningstringEnables 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.phase1-peaplabelstringForces 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.phase1-peapverstringForces 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.phase2-altsubject-matchesarray of stringList 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.phase2-authstringSpecifies the allowed "phase 2" inner non-EAP authentication method when an EAP method that uses an inner TLS tunnel is specified in the "eap" property. Recognized non-EAP "phase 2" methods are "pap", "chap", "mschap", "mschapv2", "gtc", "otp", "md5", and "tls". Each "phase 2" inner method requires specific parameters for successful authentication; see the wpa_supplicant documentation for more details.phase2-autheapstringSpecifies the allowed "phase 2" inner EAP-based authentication method when an EAP method that uses an inner TLS tunnel 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.phase2-ca-certbyte arrayContains 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.phase2-ca-cert-passwordstringThe 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.phase2-ca-cert-password-flagsNMSettingSecretFlags (uint32)Flags indicating how to handle the "phase2-ca-cert-password" property. (see for flag values)phase2-ca-pathstringUTF-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.phase2-client-certbyte arrayContains 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.phase2-client-cert-passwordstringThe 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.phase2-client-cert-password-flagsNMSettingSecretFlags (uint32)Flags indicating how to handle the "phase2-client-cert-password" property. (see for flag values)phase2-domain-matchstringConstraint 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.phase2-domain-suffix-matchstringConstraint 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.phase2-private-keybyte arrayContains 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.phase2-private-key-passwordstringThe 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.phase2-private-key-password-flagsNMSettingSecretFlags (uint32)Flags indicating how to handle the "phase2-private-key-password" property. (see for flag values)phase2-subject-matchstringSubstring 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.pinstringPIN used for EAP authentication methods.pin-flagsNMSettingSecretFlags (uint32)Flags indicating how to handle the "pin" property. (see for flag values)private-keybyte arrayContains 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.private-key-passwordstringThe 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.private-key-password-flagsNMSettingSecretFlags (uint32)Flags indicating how to handle the "private-key-password" property. (see for flag values)subject-matchstringSubstring 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.system-ca-certsbooleanFALSEWhen 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).adsl settingADSL Settings.Key NameValue TypeDefault ValueValue DescriptionencapsulationstringEncapsulation of ADSL connection. Can be "vcmux" or "llc".passwordstringPassword used to authenticate with the ADSL service.password-flagsNMSettingSecretFlags (uint32)Flags indicating how to handle the "password" property. (see for flag values)protocolstringADSL connection protocol. Can be "pppoa", "pppoe" or "ipoatm".usernamestringUsername used to authenticate with the ADSL service.vciuint320VCI of ADSL connectionvpiuint320VPI of ADSL connectionbluetooth settingBluetooth Settings.Key NameValue TypeDefault ValueValue Descriptionbdaddrbyte arrayThe Bluetooth address of the device.typestringEither "dun" for Dial-Up Networking connections or "panu" for Personal Area Networking connections to devices supporting the NAP profile.bond settingBonding Settings.Key NameValue TypeDefault ValueValue Descriptioninterface-namestringDeprecated in favor of connection.interface-name, but can be used for backward-compatibility with older daemons, to set the bond's interface name.optionsdict of string to string{'mode': 'balance-rr'}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]).bridge settingBridging Settings.Key NameValue TypeDefault ValueValue Descriptionageing-timeuint32300The Ethernet MAC address aging time, in seconds.forward-delayuint3215The Spanning Tree Protocol (STP) forwarding delay, in seconds.group-addressbyte arrayIf 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.group-forward-maskuint320A 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.hello-timeuint322The Spanning Tree Protocol (STP) hello time, in seconds.interface-namestringDeprecated in favor of connection.interface-name, but can be used for backward-compatibility with older daemons, to set the bridge's interface name.mac-addressbyte arrayIf 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: 1max-ageuint3220The Spanning Tree Protocol (STP) maximum message age, in seconds.multicast-hash-maxuint324096Set maximum size of multicast hash table (value must be a power of 2).multicast-last-member-countuint322Set the number of queries the bridge will send before stopping forwarding a multicast group after a "leave" message has been received.multicast-last-member-intervaluint64100Set interval (in deciseconds) between queries to find remaining members of a group, after a "leave" message is received.multicast-membership-intervaluint6426000Set delay (in deciseconds) after which the bridge will leave a group, if no membership reports for this group are received.multicast-querierbooleanFALSEEnable or disable sending of multicast queries by the bridge. If not specified the option is disabled.multicast-querier-intervaluint6425500If no queries are seen after this delay (in deciseconds) has passed, the bridge will start to send its own queries.multicast-query-intervaluint6412500Interval (in deciseconds) between queries sent by the bridge after the end of the startup phase.multicast-query-response-intervaluint641000Set the Max Response Time/Max Response Delay (in deciseconds) for IGMP/MLD queries sent by the bridge.multicast-query-use-ifaddrbooleanFALSEIf 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.multicast-routerstringSets 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).multicast-snoopingbooleanTRUEControls 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.multicast-startup-query-countuint322Set the number of IGMP queries to send during startup phase.multicast-startup-query-intervaluint643125Sets the time (in deciseconds) between queries sent out at startup to determine membership information.priorityuint3232768Sets the Spanning Tree Protocol (STP) priority for this bridge. Lower values are "better"; the lowest priority bridge will be elected the root bridge.stpbooleanTRUEControls whether Spanning Tree Protocol (STP) is enabled for this bridge.vlan-default-pviduint321The default PVID for the ports of the bridge, that is the VLAN id assigned to incoming untagged frames.vlan-filteringbooleanFALSEControl whether VLAN filtering is enabled on the bridge.vlan-protocolstringIf specified, the protocol used for VLAN filtering. Supported values are: '802.1Q', '802.1ad'. If not specified the default value is '802.1Q'.vlan-stats-enabledbooleanFALSEControls whether per-VLAN stats accounting is enabled.vlansarray of vardictArray 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.bridge-port settingBridge Port Settings.Key NameValue TypeDefault ValueValue Descriptionhairpin-modebooleanFALSEEnables or disables "hairpin mode" for the port, which allows frames to be sent back out through the port the frame was received on.path-costuint32100The Spanning Tree Protocol (STP) port cost for destinations via this port.priorityuint3232The Spanning Tree Protocol (STP) priority of this bridge port.vlansarray of vardictArray 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.cdma settingCDMA-based Mobile Broadband Settings.Key NameValue TypeDefault ValueValue Descriptionmtuuint320If non-zero, only transmit packets of the specified size or smaller, breaking larger packets up into multiple frames.numberstringThe 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.passwordstringThe 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.password-flagsNMSettingSecretFlags (uint32)Flags indicating how to handle the "password" property. (see for flag values)usernamestringThe 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.dcb settingData Center Bridging Settings.Key NameValue TypeDefault ValueValue Descriptionapp-fcoe-flagsNMSettingDcbFlags (uint32)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).app-fcoe-modestring"fabric"The FCoE controller mode; either "fabric" (default) or "vn2vn".app-fcoe-priorityint32-1The 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.app-fip-flagsNMSettingDcbFlags (uint32)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).app-fip-priorityint32-1The 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.app-iscsi-flagsNMSettingDcbFlags (uint32)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).app-iscsi-priorityint32-1The 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.priority-bandwidtharray of uint32An 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.priority-flow-controlarray of uint32An 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.priority-flow-control-flagsNMSettingDcbFlags (uint32)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).priority-group-bandwidtharray of uint32An 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.priority-group-flagsNMSettingDcbFlags (uint32)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).priority-group-idarray of uint32An 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.priority-strict-bandwidtharray of uint32An 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.priority-traffic-classarray of uint32An 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.dummy settingDummy Link Settings.Key NameValue TypeDefault ValueValue Descriptionethtool settingEthtool Ethernet Settings.Key NameValue TypeDefault ValueValue Descriptiongeneric settingGeneric Link Settings.Key NameValue TypeDefault ValueValue Descriptiongsm settingGSM-based Mobile Broadband Settings.Key NameValue TypeDefault ValueValue DescriptionapnstringThe 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.auto-configbooleanFALSEWhen 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.device-idstringThe 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.home-onlybooleanFALSEWhen TRUE, only connections to the home network will be allowed. Connections to roaming networks will not be made.mtuuint320If non-zero, only transmit packets of the specified size or smaller, breaking larger packets up into multiple frames.network-idstringThe 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.numberstringLegacy setting that used to help establishing PPP data sessions for GSM-based modems. Deprecated: 1passwordstringThe 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.password-flagsNMSettingSecretFlags (uint32)Flags indicating how to handle the "password" property. (see for flag values)pinstringIf 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.pin-flagsNMSettingSecretFlags (uint32)Flags indicating how to handle the "pin" property. (see for flag values)sim-idstringThe 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.sim-operator-idstringA 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.usernamestringThe 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.infiniband settingInfiniband Settings.Key NameValue TypeDefault ValueValue Descriptionmac-addressbyte arrayIf 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).mtuuint320If non-zero, only transmit packets of the specified size or smaller, breaking larger packets up into multiple frames.p-keyint32-1The 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.parentstringThe 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".transport-modestringThe IP-over-InfiniBand transport mode. Either "datagram" or "connected".ipv4 settingIPv4 Settings.Key NameValue TypeDefault ValueValue Descriptionaddress-dataarray of vardictArray of IPv4 addresses. Each address dictionary contains at least 'address' and 'prefix' entries, containing the IP address as a string, and the prefix length as a uint32. Additional attributes may also exist on some addresses.addressesarray of array of uint32Deprecated in favor of the 'address-data' and 'gateway' properties, but this can be used for backward-compatibility with older daemons. Note that if you send this property the daemon will ignore 'address-data' and 'gateway'. Array of IPv4 address structures. Each IPv4 address structure is composed of 3 32-bit values; the first being the IPv4 address (network byte order), the second the prefix (1 - 32), and last the IPv4 gateway (network byte order). The gateway may be left as 0 if no gateway exists for that subnet.dad-timeoutint32-1Timeout 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.dhcp-client-idstringA 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.dhcp-fqdnstringIf 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.dhcp-hostnamestringIf 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.dhcp-hostname-flagsuint320Flags 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.dhcp-iaidstringA 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.dhcp-reject-serversarray of stringArray 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.dhcp-send-hostnamebooleanTRUEIf 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.dhcp-timeoutint320A 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.dhcp-vendor-class-identifierstringThe 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.28dnsarray of uint32Array of IP addresses of DNS servers (as network-byte-order integers)dns-optionsarray of stringArray 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.dns-priorityint320DNS 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.dns-searcharray of stringArray 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.gatewaystringThe 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.ignore-auto-dnsbooleanFALSEWhen "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.ignore-auto-routesbooleanFALSEWhen "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.may-failbooleanTRUEIf 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.methodstringIP 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.never-defaultbooleanFALSEIf TRUE, this connection will never be the default connection for this IP type, meaning it will never be assigned the default route by NetworkManager.route-dataarray of vardictArray of IPv4 routes. Each route dictionary contains at least 'dest' and 'prefix' entries, containing the destination IP address as a string, and the prefix length as a uint32. Most routes will also have a 'next-hop' entry, containing the next hop IP address as a string. If the route has a 'metric' entry (containing a uint32), that will be used as the metric for the route (otherwise NM will pick a default value appropriate to the device). Additional attributes may also exist on some routes.route-metricint64-1The 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.route-tableuint320Enable 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.routesarray of array of uint32Deprecated in favor of the 'route-data' property, but this can be used for backward-compatibility with older daemons. Note that if you send this property the daemon will ignore 'route-data'. Array of IPv4 route structures. Each IPv4 route structure is composed of 4 32-bit values; the first being the destination IPv4 network or address (network byte order), the second the destination network or address prefix (1 - 32), the third being the next-hop (network byte order) if any, and the fourth being the route metric. If the metric is 0, NM will choose an appropriate default metric for the device. (There is no way to explicitly specify an actual metric of 0 with this property.)ipv6 settingIPv6 Settings.Key NameValue TypeDefault ValueValue Descriptionaddr-gen-modeint321Configure method for creating the address for use with RFC4862 IPv6 Stateless Address Autoconfiguration. The permitted values are: NM_SETTING_IP6_CONFIG_ADDR_GEN_MODE_EUI64 (0) or NM_SETTING_IP6_CONFIG_ADDR_GEN_MODE_STABLE_PRIVACY (1). If the property is set to EUI64, the addresses will be generated using the interface tokens derived from hardware address. This makes the host part of the address to stay constant, making it possible to track host's presence when it changes networks. The address changes when the interface hardware is replaced. The value of stable-privacy enables use of cryptographically secure hash of a secret host-specific key along with the connection's stable-id and the network address as specified by RFC7217. This makes it impossible to use the address track host's presence, and makes the address stable when the network interface hardware is replaced. On D-Bus, the absence of an addr-gen-mode setting equals enabling stable-privacy. For keyfile plugin, the absence of the setting on disk means EUI64 so that the property doesn't change on upgrade from older versions. Note that this setting is distinct from the Privacy Extensions as configured by "ip6-privacy" property and it does not affect the temporary addresses configured with this option.address-dataarray of vardictArray of IPv6 addresses. Each address dictionary contains at least 'address' and 'prefix' entries, containing the IP address as a string, and the prefix length as a uint32. Additional attributes may also exist on some addresses.addressesarray of legacy IPv6 address struct (a(ayuay))Deprecated in favor of the 'address-data' and 'gateway' properties, but this can be used for backward-compatibility with older daemons. Note that if you send this property the daemon will ignore 'address-data' and 'gateway'. Array of IPv6 address structures. Each IPv6 address structure is composed of an IPv6 address, a prefix length (1 - 128), and an IPv6 gateway address. The gateway may be zeroed out if no gateway exists for that subnet.dad-timeoutint32-1Timeout 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.dhcp-duidstringA string containing the DHCPv6 Unique Identifier (DUID) used by the dhcp client to identify itself to DHCPv6 servers (RFC 3315). The DUID is carried in the Client Identifier option. If the property is a hex string ('aa:bb:cc') it is interpreted as a binary DUID and filled as an opaque value in the Client Identifier option. The special value "lease" will retrieve the DUID previously used from the lease file belonging to the connection. If no DUID is found and "dhclient" is the configured dhcp client, the DUID is searched in the system-wide dhclient lease file. If still no DUID is found, or another dhcp client is used, a global and permanent DUID-UUID (RFC 6355) will be generated based on the machine-id. The special values "llt" and "ll" will generate a DUID of type LLT or LL (see RFC 3315) based on the current MAC address of the device. In order to try providing a stable DUID-LLT, the time field will contain a constant timestamp that is used globally (for all profiles) and persisted to disk. The special values "stable-llt", "stable-ll" and "stable-uuid" will generate a DUID of the corresponding type, derived from the connection's stable-id and a per-host unique key. You may want to include the "${DEVICE}" or "${MAC}" specifier in the stable-id, in case this profile gets activated on multiple devices. So, the link-layer address of "stable-ll" and "stable-llt" will be a generated address derived from the stable id. The DUID-LLT time value in the "stable-llt" option will be picked among a static timespan of three years (the upper bound of the interval is the same constant timestamp used in "llt"). When the property is unset, the global value provided for "ipv6.dhcp-duid" is used. If no global value is provided, the default "lease" value is assumed.dhcp-hostnamestringIf 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.dhcp-hostname-flagsuint320Flags 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.dhcp-iaidstringA 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.dhcp-reject-serversarray of stringArray 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.dhcp-send-hostnamebooleanTRUEIf 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.dhcp-timeoutint320A 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.dnsarray of byte arrayArray of IP addresses of DNS servers (in network byte order)dns-optionsarray of stringArray 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.dns-priorityint320DNS 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.dns-searcharray of stringArray 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.gatewaystringThe 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.ignore-auto-dnsbooleanFALSEWhen "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.ignore-auto-routesbooleanFALSEWhen "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.ip6-privacyNMSettingIP6ConfigPrivacy (int32)Configure IPv6 Privacy Extensions for SLAAC, described in RFC4941. If enabled, it makes the kernel generate a temporary IPv6 address in addition to the public one generated from MAC address via modified EUI-64. This enhances privacy, but could cause problems in some applications, on the other hand. The permitted values are: -1: unknown, 0: disabled, 1: enabled (prefer public address), 2: enabled (prefer temporary addresses). Having a per-connection setting set to "-1" (unknown) means fallback to global configuration "ipv6.ip6-privacy". If also global configuration is unspecified or set to "-1", fallback to read "/proc/sys/net/ipv6/conf/default/use_tempaddr". Note that this setting is distinct from the Stable Privacy addresses that can be enabled with the "addr-gen-mode" property's "stable-privacy" setting as another way of avoiding host tracking with IPv6 addresses.may-failbooleanTRUEIf 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.methodstringIP 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.never-defaultbooleanFALSEIf TRUE, this connection will never be the default connection for this IP type, meaning it will never be assigned the default route by NetworkManager.ra-timeoutint320A timeout for waiting Router Advertisements in seconds. If zero (the default), a globally configured default is used. If still unspecified, the timeout depends on the sysctl settings of the device. Set to 2147483647 (MAXINT32) for infinity.route-dataarray of vardictArray of IPv6 routes. Each route dictionary contains at least 'dest' and 'prefix' entries, containing the destination IP address as a string, and the prefix length as a uint32. Most routes will also have a 'next-hop' entry, containing the next hop IP address as a string. If the route has a 'metric' entry (containing a uint32), that will be used as the metric for the route (otherwise NM will pick a default value appropriate to the device). Additional attributes may also exist on some routes.route-metricint64-1The 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.route-tableuint320Enable 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.routesarray of legacy IPv6 route struct (a(ayuayu))Deprecated in favor of the 'route-data' property, but this can be used for backward-compatibility with older daemons. Note that if you send this property the daemon will ignore 'route-data'. Array of IPv6 route structures. Each IPv6 route structure is composed of an IPv6 address, a prefix length (1 - 128), an IPv6 next hop address (which may be zeroed out if there is no next hop), and a metric. If the metric is 0, NM will choose an appropriate default metric for the device.tokenstringConfigure the token for draft-chown-6man-tokenised-ipv6-identifiers-02 IPv6 tokenized interface identifiers. Useful with eui64 addr-gen-mode.ip-tunnel settingIP Tunneling Settings.Key NameValue TypeDefault ValueValue Descriptionencapsulation-limituint320How many additional levels of encapsulation are permitted to be prepended to packets. This property applies only to IPv6 tunnels.flagsuint320Tunnel flags. Currently, the following values are supported: NM_IP_TUNNEL_FLAG_IP6_IGN_ENCAP_LIMIT (0x1), NM_IP_TUNNEL_FLAG_IP6_USE_ORIG_TCLASS (0x2), NM_IP_TUNNEL_FLAG_IP6_USE_ORIG_FLOWLABEL (0x4), NM_IP_TUNNEL_FLAG_IP6_MIP6_DEV (0x8), NM_IP_TUNNEL_FLAG_IP6_RCV_DSCP_COPY (0x10), NM_IP_TUNNEL_FLAG_IP6_USE_ORIG_FWMARK (0x20). They are valid only for IPv6 tunnels.flow-labeluint320The flow label to assign to tunnel packets. This property applies only to IPv6 tunnels.input-keystringThe key used for tunnel input packets; the property is valid only for certain tunnel modes (GRE, IP6GRE). If empty, no key is used.localstringThe local endpoint of the tunnel; the value can be empty, otherwise it must contain an IPv4 or IPv6 address.modeuint320The tunneling mode, for example NM_IP_TUNNEL_MODE_IPIP (1) or NM_IP_TUNNEL_MODE_GRE (2).mtuuint320If non-zero, only transmit packets of the specified size or smaller, breaking larger packets up into multiple fragments.output-keystringThe key used for tunnel output packets; the property is valid only for certain tunnel modes (GRE, IP6GRE). If empty, no key is used.parentstringIf 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-discoverybooleanTRUEWhether to enable Path MTU Discovery on this tunnel.remotestringThe remote endpoint of the tunnel; the value must contain an IPv4 or IPv6 address.tosuint320The type of service (IPv4) or traffic class (IPv6) field to be set on tunneled packets.ttluint320The TTL to assign to tunneled packets. 0 is a special value meaning that packets inherit the TTL value.macsec settingMACSec Settings.Key NameValue TypeDefault ValueValue DescriptionencryptbooleanTRUEWhether the transmitted traffic must be encrypted.mka-cakstringThe pre-shared CAK (Connectivity Association Key) for MACsec Key Agreement.mka-cak-flagsNMSettingSecretFlags (uint32)Flags indicating how to handle the "mka-cak" property. (see for flag values)mka-cknstringThe pre-shared CKN (Connectivity-association Key Name) for MACsec Key Agreement.modeint320Specifies how the CAK (Connectivity Association Key) for MKA (MACsec Key Agreement) is obtained.parentstringIf 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.portint321The port component of the SCI (Secure Channel Identifier), between 1 and 65534.send-scibooleanTRUESpecifies whether the SCI (Secure Channel Identifier) is included in every packet.validationint322Specifies the validation mode for incoming frames.macvlan settingMAC VLAN Settings.Key NameValue TypeDefault ValueValue Descriptionmodeuint320The macvlan mode, which specifies the communication mechanism between multiple macvlans on the same lower device.parentstringIf 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.promiscuousbooleanTRUEWhether the interface should be put in promiscuous mode.tapbooleanFALSEWhether the interface should be a MACVTAP.match settingMatch settings.Key NameValue TypeDefault ValueValue Descriptiondriverarray of stringA list of driver names to match. Each element is a shell wildcard pattern. See NMSettingMatch:interface-name for how special characters '|', '&', '!' and '\\' are used for optional and mandatory matches and inverting the pattern.interface-namearray of stringA list of interface names to match. Each element is a shell wildcard pattern. An element can be prefixed with a pipe symbol (|) or an ampersand (&). The former means that the element is optional and the latter means that it is mandatory. If there are any optional elements, than the match evaluates to true if at least one of the optional element matches (logical OR). If there are any mandatory elements, then they all must match (logical AND). By default, an element is optional. This means that an element "foo" behaves the same as "|foo". An element can also be inverted with exclamation mark (!) between the pipe symbol (or the ampersand) and before the pattern. Note that "!foo" is a shortcut for the mandatory match "&!foo". Finally, a backslash can be used at the beginning of the element (after the optional special characters) to escape the start of the pattern. For example, "&\\!a" is an mandatory match for literally "!a".kernel-command-linearray of stringA list of kernel command line arguments to match. This may be used to check whether a specific kernel command line option is set (or if prefixed with the exclamation mark unset). The argument must either be a single word, or an assignment (i.e. two words, separated "="). In the former case the kernel command line is searched for the word appearing as is, or as left hand side of an assignment. In the latter case, the exact assignment is looked for with right and left hand side matching. See NMSettingMatch:interface-name for how special characters '|', '&', '!' and '\\' are used for optional and mandatory matches and inverting the pattern.patharray of stringA list of paths to match against the ID_PATH udev property of devices. ID_PATH represents the topological persistent path of a device. It typically contains a subsystem string (pci, usb, platform, etc.) and a subsystem-specific identifier. For PCI devices the path has the form "pci-$domain:$bus:$device.$function", where each variable is an hexadecimal value; for example "pci-0000:0a:00.0". The path of a device can be obtained with "udevadm info /sys/class/net/$dev | grep ID_PATH=" or by looking at the "path" property exported by NetworkManager ("nmcli -f general.path device show $dev"). Each element of the list is a shell wildcard pattern. See NMSettingMatch:interface-name for how special characters '|', '&', '!' and '\\' are used for optional and mandatory matches and inverting the pattern.802-11-olpc-mesh settingOLPC Wireless Mesh Settings.Key NameValue TypeDefault ValueValue Descriptionchanneluint320Channel on which the mesh network to join is located.dhcp-anycast-addressbyte arrayAnycast DHCP MAC address used when requesting an IP address via DHCP. The specific anycast address used determines which DHCP server class answers the request.ssidbyte arraySSID of the mesh network to join.ovs-bridge settingOvsBridge Link Settings.Key NameValue TypeDefault ValueValue Descriptiondatapath-typestringThe data path type. One of "system", "netdev" or empty.fail-modestringThe bridge failure mode. One of "secure", "standalone" or empty.mcast-snooping-enablebooleanFALSEEnable or disable multicast snooping.rstp-enablebooleanFALSEEnable or disable RSTP.stp-enablebooleanFALSEEnable or disable STP.ovs-dpdk settingOvsDpdk Link Settings.Key NameValue TypeDefault ValueValue DescriptiondevargsstringOpen vSwitch DPDK device arguments.ovs-interface settingOpen vSwitch Interface Settings.Key NameValue TypeDefault ValueValue DescriptiontypestringThe interface type. Either "internal", "system", "patch", "dpdk", or empty.ovs-patch settingOvsPatch Link Settings.Key NameValue TypeDefault ValueValue DescriptionpeerstringSpecifies the name of the interface for the other side of the patch. The patch on the other side must also set this interface as peer.ovs-port settingOvsPort Link Settings.Key NameValue TypeDefault ValueValue Descriptionbond-downdelayuint320The time port must be inactive in order to be considered down.bond-modestringBonding mode. One of "active-backup", "balance-slb", or "balance-tcp".bond-updelayuint320The time port must be active before it starts forwarding traffic.lacpstringLACP mode. One of "active", "off", or "passive".taguint320The VLAN tag in the range 0-4095.vlan-modestringThe VLAN mode. One of "access", "native-tagged", "native-untagged", "trunk" or unset.ppp settingPoint-to-Point Protocol Settings.Key NameValue TypeDefault ValueValue Descriptionbauduint320If non-zero, instruct pppd to set the serial port to the specified baudrate. This value should normally be left as 0 to automatically choose the speed.crtsctsbooleanFALSEIf TRUE, specify that pppd should set the serial port to use hardware flow control with RTS and CTS signals. This value should normally be set to FALSE.lcp-echo-failureuint320If non-zero, instruct pppd to presume the connection to the peer has failed if the specified number of LCP echo-requests go unanswered by the peer. The "lcp-echo-interval" property must also be set to a non-zero value if this property is used.lcp-echo-intervaluint320If non-zero, instruct pppd to send an LCP echo-request frame to the peer every n seconds (where n is the specified value). Note that some PPP peers will respond to echo requests and some will not, and it is not possible to autodetect this.mppe-statefulbooleanFALSEIf TRUE, stateful MPPE is used. See pppd documentation for more information on stateful MPPE.mruuint320If non-zero, instruct pppd to request that the peer send packets no larger than the specified size. If non-zero, the MRU should be between 128 and 16384.mtuuint320If non-zero, instruct pppd to send packets no larger than the specified size.no-vj-compbooleanFALSEIf TRUE, Van Jacobsen TCP header compression will not be requested.noauthbooleanTRUEIf TRUE, do not require the other side (usually the PPP server) to authenticate itself to the client. If FALSE, require authentication from the remote side. In almost all cases, this should be TRUE.nobsdcompbooleanFALSEIf TRUE, BSD compression will not be requested.nodeflatebooleanFALSEIf TRUE, "deflate" compression will not be requested.refuse-chapbooleanFALSEIf TRUE, the CHAP authentication method will not be used.refuse-eapbooleanFALSEIf TRUE, the EAP authentication method will not be used.refuse-mschapbooleanFALSEIf TRUE, the MSCHAP authentication method will not be used.refuse-mschapv2booleanFALSEIf TRUE, the MSCHAPv2 authentication method will not be used.refuse-papbooleanFALSEIf TRUE, the PAP authentication method will not be used.require-mppebooleanFALSEIf TRUE, MPPE (Microsoft Point-to-Point Encryption) will be required for the PPP session. If either 64-bit or 128-bit MPPE is not available the session will fail. Note that MPPE is not used on mobile broadband connections.require-mppe-128booleanFALSEIf TRUE, 128-bit MPPE (Microsoft Point-to-Point Encryption) will be required for the PPP session, and the "require-mppe" property must also be set to TRUE. If 128-bit MPPE is not available the session will fail.pppoe settingPPP-over-Ethernet Settings.Key NameValue TypeDefault ValueValue DescriptionparentstringIf given, specifies the parent interface name on which this PPPoE connection should be created. If this property is not specified, the connection is activated on the interface specified in "interface-name" of NMSettingConnection.passwordstringPassword used to authenticate with the PPPoE service.password-flagsNMSettingSecretFlags (uint32)Flags indicating how to handle the "password" property. (see for flag values)servicestringIf specified, instruct PPPoE to only initiate sessions with access concentrators that provide the specified service. For most providers, this should be left blank. It is only required if there are multiple access concentrators or a specific service is known to be required.usernamestringUsername used to authenticate with the PPPoE service.proxy settingWWW Proxy Settings.Key NameValue TypeDefault ValueValue Descriptionbrowser-onlybooleanFALSEWhether the proxy configuration is for browser only.methodint320Method for proxy configuration, Default is NM_SETTING_PROXY_METHOD_NONE (0)pac-scriptstringPAC script for the connection.pac-urlstringPAC URL for obtaining PAC file.serial settingSerial Link Settings.Key NameValue TypeDefault ValueValue Descriptionbauduint3257600Speed to use for communication over the serial port. Note that this value usually has no effect for mobile broadband modems as they generally ignore speed settings and use the highest available speed.bitsuint328Byte-width of the serial communication. The 8 in "8n1" for example.paritybyteThe connection parity: 69 (ASCII 'E') for even parity, 111 (ASCII 'o') for odd, 110 (ASCII 'n') for none.send-delayuint640Time to delay between each byte sent to the modem, in microseconds.stopbitsuint321Number of stop bits for communication on the serial port. Either 1 or 2. The 1 in "8n1" for example.sriov settingSR-IOV settings.Key NameValue TypeDefault ValueValue Descriptionautoprobe-driversNMTernary (int32)Whether to autoprobe virtual functions by a compatible driver. If set to NM_TERNARY_TRUE (1), the kernel will try to bind VFs to a compatible driver and if this succeeds a new network interface will be instantiated for each VF. If set to NM_TERNARY_FALSE (0), VFs will not be claimed and no network interfaces will be created for them. When set to NM_TERNARY_DEFAULT (-1), the global default is used; in case the global default is unspecified it is assumed to be NM_TERNARY_TRUE (1).total-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.vfsarray of vardictArray of virtual function descriptors. Each VF descriptor is a dictionary mapping attribute names to GVariant values. The 'index' entry is mandatory for each VF. When represented as string a VF is in the form: "INDEX [ATTR=VALUE[ ATTR=VALUE]...]". for example: "2 mac=00:11:22:33:44:55 spoof-check=true". Multiple VFs can be specified using a comma as separator. Currently, the following attributes are supported: mac, spoof-check, trust, min-tx-rate, max-tx-rate, vlans. The "vlans" attribute is represented as a semicolon-separated list of VLAN descriptors, where each descriptor has the form "ID[.PRIORITY[.PROTO]]". PROTO can be either 'q' for 802.1Q (the default) or 'ad' for 802.1ad.tc settingLinux Traffic Control Settings.Key NameValue TypeDefault ValueValue Descriptionqdiscsarray of vardictArray of TC queueing disciplines.tfiltersarray of vardictArray of TC traffic filters.team settingTeaming Settings.Key NameValue TypeDefault ValueValue DescriptionconfigstringThe JSON configuration for the team network interface. The property should contain raw JSON configuration data suitable for teamd, because the value is passed directly to teamd. If not specified, the default configuration is used. See man teamd.conf for the format details.interface-namestringDeprecated in favor of connection.interface-name, but can be used for backward-compatibility with older daemons, to set the team's interface name.link-watchersarray of vardictLink watchers configuration for the connection: each link watcher is defined by a dictionary, whose keys depend upon the selected link watcher. Available link watchers are 'ethtool', 'nsna_ping' and 'arp_ping' and it is specified in the dictionary with the key 'name'. Available keys are: ethtool: 'delay-up', 'delay-down', 'init-wait'; nsna_ping: 'init-wait', 'interval', 'missed-max', 'target-host'; arp_ping: all the ones in nsna_ping and 'source-host', 'validate-active', 'validate-inactive', 'send-always'. See teamd.conf man for more details.mcast-rejoin-countint32-1Corresponds to the teamd mcast_rejoin.count.mcast-rejoin-intervalint32-1Corresponds to the teamd mcast_rejoin.interval.notify-peers-countint32-1Corresponds to the teamd notify_peers.count.notify-peers-intervalint32-1Corresponds to the teamd notify_peers.interval.runnerstringCorresponds to the teamd runner.name. Permitted values are: "roundrobin", "broadcast", "activebackup", "loadbalance", "lacp", "random".runner-activebooleanTRUECorresponds to the teamd runner.active.runner-agg-select-policystringCorresponds to the teamd runner.agg_select_policy.runner-fast-ratebooleanFALSECorresponds to the teamd runner.fast_rate.runner-hwaddr-policystringCorresponds to the teamd runner.hwaddr_policy.runner-min-portsint32-1Corresponds to the teamd runner.min_ports.runner-sys-prioint32-1Corresponds to the teamd runner.sys_prio.runner-tx-balancerstringCorresponds to the teamd runner.tx_balancer.name.runner-tx-balancer-intervalint32-1Corresponds to the teamd runner.tx_balancer.interval.runner-tx-hasharray of stringCorresponds to the teamd runner.tx_hash.team-port settingTeam Port Settings.Key NameValue TypeDefault ValueValue DescriptionconfigstringThe JSON configuration for the team port. The property should contain raw JSON configuration data suitable for teamd, because the value is passed directly to teamd. If not specified, the default configuration is used. See man teamd.conf for the format details.lacp-keyint32-1Corresponds to the teamd ports.PORTIFNAME.lacp_key.lacp-prioint32-1Corresponds to the teamd ports.PORTIFNAME.lacp_prio.link-watchersarray of vardictLink watchers configuration for the connection: each link watcher is defined by a dictionary, whose keys depend upon the selected link watcher. Available link watchers are 'ethtool', 'nsna_ping' and 'arp_ping' and it is specified in the dictionary with the key 'name'. Available keys are: ethtool: 'delay-up', 'delay-down', 'init-wait'; nsna_ping: 'init-wait', 'interval', 'missed-max', 'target-host'; arp_ping: all the ones in nsna_ping and 'source-host', 'validate-active', 'validate-inactive', 'send-always'. See teamd.conf man for more details.prioint320Corresponds to the teamd ports.PORTIFNAME.prio.queue-idint32-1Corresponds to the teamd ports.PORTIFNAME.queue_id. When set to -1 means the parameter is skipped from the json config.stickybooleanFALSECorresponds to the teamd ports.PORTIFNAME.sticky.tun settingTunnel Settings.Key NameValue TypeDefault ValueValue DescriptiongroupstringThe group ID which will own the device. If set to NULL everyone will be able to use the device.modeuint321The operating mode of the virtual device. Allowed values are NM_SETTING_TUN_MODE_TUN (1) to create a layer 3 device and NM_SETTING_TUN_MODE_TAP (2) to create an Ethernet-like layer 2 one.multi-queuebooleanFALSEIf the property is set to TRUE, the interface will support multiple file descriptors (queues) to parallelize packet sending or receiving. Otherwise, the interface will only support a single queue.ownerstringThe user ID which will own the device. If set to NULL everyone will be able to use the device.pibooleanFALSEIf TRUE the interface will prepend a 4 byte header describing the physical interface to the packets.vnet-hdrbooleanFALSEIf TRUE the IFF_VNET_HDR the tunnel packets will include a virtio network header.user settingGeneral User Profile Settings.Key NameValue TypeDefault ValueValue Descriptiondatadict of string to string{}A dictionary of key/value pairs with user data. This data is ignored by NetworkManager and can be used at the users discretion. The keys only support a strict ascii format, but the values can be arbitrary UTF8 strings up to a certain length.vlan settingVLAN Settings.Key NameValue TypeDefault ValueValue Descriptionegress-priority-maparray of stringFor outgoing packets, a list of mappings from Linux SKB priorities to 802.1p priorities. The mapping is given in the format "from:to" where both "from" and "to" are unsigned integers, ie "7:3".flagsNMVlanFlags (uint32)One or more flags which control the behavior and features of the VLAN interface. Flags include NM_VLAN_FLAG_REORDER_HEADERS (0x1) (reordering of output packet headers), NM_VLAN_FLAG_GVRP (0x2) (use of the GVRP protocol), and NM_VLAN_FLAG_LOOSE_BINDING (0x4) (loose binding of the interface to its master device's operating state). NM_VLAN_FLAG_MVRP (0x8) (use of the MVRP protocol). The default value of this property is NM_VLAN_FLAG_REORDER_HEADERS, but it used to be 0. To preserve backward compatibility, the default-value in the D-Bus API continues to be 0 and a missing property on D-Bus is still considered as 0.iduint320The VLAN identifier that the interface created by this connection should be assigned. The valid range is from 0 to 4094, without the reserved id 4095.ingress-priority-maparray of stringFor incoming packets, a list of mappings from 802.1p priorities to Linux SKB priorities. The mapping is given in the format "from:to" where both "from" and "to" are unsigned integers, ie "7:3".interface-namestringDeprecated in favor of connection.interface-name, but can be used for backward-compatibility with older daemons, to set the vlan's interface name.parentstringIf given, specifies the parent interface name or parent connection UUID from which this VLAN interface should be created. If this property is not specified, the connection must contain an "802-3-ethernet" setting with a "mac-address" property.vpn settingVPN Settings.Key NameValue TypeDefault ValueValue Descriptiondatadict of string to string{}Dictionary of key/value pairs of VPN plugin specific data. Both keys and values must be strings.persistentbooleanFALSEIf the VPN service supports persistence, and this property is TRUE, the VPN will attempt to stay connected across link changes and outages, until explicitly disconnected.secretsdict of string to string{}Dictionary of key/value pairs of VPN plugin specific secrets like passwords or private keys. Both keys and values must be strings.service-typestringD-Bus service name of the VPN plugin that this setting uses to connect to its network. i.e. org.freedesktop.NetworkManager.vpnc for the vpnc plugin.timeoutuint320Timeout for the VPN service to establish the connection. Some services may take quite a long time to connect. Value of 0 means a default timeout, which is 60 seconds (unless overridden by vpn.timeout in configuration file). Values greater than zero mean timeout in seconds.user-namestringIf the VPN connection requires a user name for authentication, that name should be provided here. If the connection is available to more than one user, and the VPN requires each user to supply a different name, then leave this property empty. If this property is empty, NetworkManager will automatically supply the username of the user which requested the VPN connection.vrf settingVRF settings.Key NameValue TypeDefault ValueValue Descriptiontableuint320The routing table for this VRF.vxlan settingVXLAN Settings.Key NameValue TypeDefault ValueValue Descriptionageinguint32300Specifies the lifetime in seconds of FDB entries learnt by the kernel.destination-portuint328472Specifies the UDP destination port to communicate to the remote VXLAN tunnel endpoint.iduint320Specifies the VXLAN Network Identifier (or VXLAN Segment Identifier) to use.l2-missbooleanFALSESpecifies whether netlink LL ADDR miss notifications are generated.l3-missbooleanFALSESpecifies whether netlink IP ADDR miss notifications are generated.learningbooleanTRUESpecifies whether unknown source link layer addresses and IP addresses are entered into the VXLAN device forwarding database.limituint320Specifies the maximum number of FDB entries. A value of zero means that the kernel will store unlimited entries.localstringIf given, specifies the source IP address to use in outgoing packets.parentstringIf given, specifies the parent interface name or parent connection UUID.proxybooleanFALSESpecifies whether ARP proxy is turned on.remotestringSpecifies the unicast destination IP address to use in outgoing packets when the destination link layer address is not known in the VXLAN device forwarding database, or the multicast IP address to join.rscbooleanFALSESpecifies whether route short circuit is turned on.source-port-maxuint320Specifies the maximum UDP source port to communicate to the remote VXLAN tunnel endpoint.source-port-minuint320Specifies the minimum UDP source port to communicate to the remote VXLAN tunnel endpoint.tosuint320Specifies the TOS value to use in outgoing packets.ttluint320Specifies the time-to-live value to use in outgoing packets.wifi-p2p settingWi-Fi P2P Settings.Key NameValue TypeDefault ValueValue DescriptionpeerstringThe P2P device that should be connected to. Currently, this is the only way to create or join a group.wfd-iesbyte arrayThe Wi-Fi Display (WFD) Information Elements (IEs) to set. Wi-Fi Display requires a protocol specific information element to be set in certain Wi-Fi frames. These can be specified here for the purpose of establishing a connection. This setting is only useful when implementing a Wi-Fi Display client.wps-methoduint320Flags indicating which mode of WPS is to be used. There's little point in changing the default setting as NetworkManager will automatically determine the best method to use.wimax settingWiMax Settings.Key NameValue TypeDefault ValueValue Descriptionmac-addressbyte arrayIf specified, this connection will only apply to the WiMAX device whose MAC address matches. This property does not change the MAC address of the device (known as MAC spoofing). Deprecated: 1network-namestringNetwork Service Provider (NSP) name of the WiMAX network this connection should use. Deprecated: 1802-3-ethernet settingWired Ethernet Settings.Key NameValue TypeDefault ValueValue Descriptionassigned-mac-addressstringThe new field for the cloned MAC address. It can be either a hardware address in ASCII representation, or one of the special values "preserve", "permanent", "random" or "stable". This field replaces the deprecated "cloned-mac-address" on D-Bus, which can only contain explicit hardware addresses. Note that this property only exists in D-Bus API. libnm and nmcli continue to call this property "cloned-mac-address".auto-negotiatebooleanFALSEWhen TRUE, enforce auto-negotiation of speed and duplex mode. If "speed" and "duplex" properties are both specified, only that single mode will be advertised and accepted during the link auto-negotiation process: this works only for BASE-T 802.3 specifications and is useful for enforcing gigabits modes, as in these cases link negotiation is mandatory. When FALSE, "speed" and "duplex" properties should be both set or link configuration will be skipped.cloned-mac-addressbyte arrayThis D-Bus field is deprecated in favor of "assigned-mac-address" which is more flexible and allows specifying special variants like "random". For libnm and nmcli, this field is called "cloned-mac-address".duplexstringWhen a value is set, either "half" or "full", configures the device to use the specified duplex mode. If "auto-negotiate" is "yes" the specified duplex mode will be the only one advertised during link negotiation: this works only for BASE-T 802.3 specifications and is useful for enforcing gigabits modes, as in these cases link negotiation is mandatory. If the value is unset (the default), the link configuration will be either skipped (if "auto-negotiate" is "no", the default) or will be auto-negotiated (if "auto-negotiate" is "yes") and the local device will advertise all the supported duplex modes. Must be set together with the "speed" property if specified. Before specifying a duplex mode be sure your device supports it.generate-mac-address-maskstringWith "cloned-mac-address" setting "random" or "stable", by default all bits of the MAC address are scrambled and a locally-administered, unicast MAC address is created. This property allows to specify that certain bits are fixed. Note that the least significant bit of the first MAC address will always be unset to create a unicast MAC address. If the property is NULL, it is eligible to be overwritten by a default connection setting. If the value is still NULL or an empty string, the default is to create a locally-administered, unicast MAC address. If the value contains one MAC address, this address is used as mask. The set bits of the mask are to be filled with the current MAC address of the device, while the unset bits are subject to randomization. Setting "FE:FF:FF:00:00:00" means to preserve the OUI of the current MAC address and only randomize the lower 3 bytes using the "random" or "stable" algorithm. If the value contains one additional MAC address after the mask, this address is used instead of the current MAC address to fill the bits that shall not be randomized. For example, a value of "FE:FF:FF:00:00:00 68:F7:28:00:00:00" will set the OUI of the MAC address to 68:F7:28, while the lower bits are randomized. A value of "02:00:00:00:00:00 00:00:00:00:00:00" will create a fully scrambled globally-administered, burned-in MAC address. If the value contains more than one additional MAC addresses, one of them is chosen randomly. For example, "02:00:00:00:00:00 00:00:00:00:00:00 02:00:00:00:00:00" will create a fully scrambled MAC address, randomly locally or globally administered.mac-addressbyte arrayIf specified, this connection will only apply to the Ethernet device whose permanent MAC address matches. This property does not change the MAC address of the device (i.e. MAC spoofing).mac-address-blacklistarray of stringIf specified, this connection will never apply to the Ethernet device whose permanent MAC address matches an address in the list. Each MAC address is in the standard hex-digits-and-colons notation (00:11:22:33:44:55).mtuuint320If non-zero, only transmit packets of the specified size or smaller, breaking larger packets up into multiple Ethernet frames.portstringSpecific port type to use if the device supports multiple attachment methods. One of "tp" (Twisted Pair), "aui" (Attachment Unit Interface), "bnc" (Thin Ethernet) or "mii" (Media Independent Interface). If the device supports only one port type, this setting is ignored.s390-nettypestrings390 network device type; one of "qeth", "lcs", or "ctc", representing the different types of virtual network devices available on s390 systems.s390-optionsdict of string to string{}Dictionary of key/value pairs of s390-specific device options. Both keys and values must be strings. Allowed keys include "portno", "layer2", "portname", "protocol", among others. Key names must contain only alphanumeric characters (ie, [a-zA-Z0-9]).s390-subchannelsarray of stringIdentifies specific subchannels that this network device uses for communication with z/VM or s390 host. Like the "mac-address" property for non-z/VM devices, this property can be used to ensure this connection only applies to the network device that uses these subchannels. The list should contain exactly 3 strings, and each string may only be composed of hexadecimal characters and the period (.) character.speeduint320When a value greater than 0 is set, configures the device to use the specified speed. If "auto-negotiate" is "yes" the specified speed will be the only one advertised during link negotiation: this works only for BASE-T 802.3 specifications and is useful for enforcing gigabit speeds, as in this case link negotiation is mandatory. If the value is unset (0, the default), the link configuration will be either skipped (if "auto-negotiate" is "no", the default) or will be auto-negotiated (if "auto-negotiate" is "yes") and the local device will advertise all the supported speeds. In Mbit/s, ie 100 == 100Mbit/s. Must be set together with the "duplex" property when non-zero. Before specifying a speed value be sure your device supports it.wake-on-lanuint321The NMSettingWiredWakeOnLan options to enable. Not all devices support all options. May be any combination of NM_SETTING_WIRED_WAKE_ON_LAN_PHY (0x2), NM_SETTING_WIRED_WAKE_ON_LAN_UNICAST (0x4), NM_SETTING_WIRED_WAKE_ON_LAN_MULTICAST (0x8), NM_SETTING_WIRED_WAKE_ON_LAN_BROADCAST (0x10), NM_SETTING_WIRED_WAKE_ON_LAN_ARP (0x20), NM_SETTING_WIRED_WAKE_ON_LAN_MAGIC (0x40) or the special values NM_SETTING_WIRED_WAKE_ON_LAN_DEFAULT (0x1) (to use global settings) and NM_SETTING_WIRED_WAKE_ON_LAN_IGNORE (0x8000) (to disable management of Wake-on-LAN in NetworkManager).wake-on-lan-passwordstringIf specified, the password used with magic-packet-based Wake-on-LAN, represented as an Ethernet MAC address. If NULL, no password will be required.wireguard settingWireGuard Settings.Key NameValue TypeDefault ValueValue Descriptionfwmarkuint320The use of fwmark is optional and is by default off. Setting it to 0 disables it. Otherwise, it is a 32-bit fwmark for outgoing packets. Note that "ip4-auto-default-route" or "ip6-auto-default-route" enabled, implies to automatically choose a fwmark.ip4-auto-default-routeNMTernary (int32)Whether to enable special handling of the IPv4 default route. If enabled, the IPv4 default route from wireguard.peer-routes will be placed to a dedicated routing-table and two policy routing rules will be added. The fwmark number is also used as routing-table for the default-route, and if fwmark is zero, an unused fwmark/table is chosen automatically. This corresponds to what wg-quick does with Table=auto and what WireGuard calls "Improved Rule-based Routing". Note that for this automatism to work, you usually don't want to set ipv4.gateway, because that will result in a conflicting default route. Leaving this at the default will enable this option automatically if ipv4.never-default is not set and there are any peers that use a default-route as allowed-ips.ip6-auto-default-routeNMTernary (int32)Like ip4-auto-default-route, but for the IPv6 default route.listen-portuint320The listen-port. If listen-port is not specified, the port will be chosen randomly when the interface comes up.mtuuint320If non-zero, only transmit packets of the specified size or smaller, breaking larger packets up into multiple fragments. If zero a default MTU is used. Note that contrary to wg-quick's MTU setting, this does not take into account the current routes at the time of activation.peer-routesbooleanTRUEWhether to automatically add routes for the AllowedIPs ranges of the peers. If TRUE (the default), NetworkManager will automatically add routes in the routing tables according to ipv4.route-table and ipv6.route-table. Usually you want this automatism enabled. If FALSE, no such routes are added automatically. In this case, the user may want to configure static routes in ipv4.routes and ipv6.routes, respectively. Note that if the peer's AllowedIPs is "0.0.0.0/0" or "::/0" and the profile's ipv4.never-default or ipv6.never-default setting is enabled, the peer route for this peer won't be added automatically.peersarray of 'a{sv}'Array of dictionaries for the WireGuard peers.private-keystringThe 256 bit private-key in base64 encoding.private-key-flagsNMSettingSecretFlags (uint32)Flags indicating how to handle the "private-key" property. (see for flag values)802-11-wireless settingWi-Fi Settings.Key NameValue TypeDefault ValueValue Descriptionap-isolationNMTernary (int32)Configures AP isolation, which prevents communication between wireless devices connected to this AP. This property can be set to a value different from NM_TERNARY_DEFAULT (-1) only when the interface is configured in AP mode. If set to NM_TERNARY_TRUE (1), devices are not able to communicate with each other. This increases security because it protects devices against attacks from other clients in the network. At the same time, it prevents devices to access resources on the same wireless networks as file shares, printers, etc. If set to NM_TERNARY_FALSE (0), devices can talk to each other. When set to NM_TERNARY_DEFAULT (-1), the global default is used; in case the global default is unspecified it is assumed to be NM_TERNARY_FALSE (0).assigned-mac-addressstringThe new field for the cloned MAC address. It can be either a hardware address in ASCII representation, or one of the special values "preserve", "permanent", "random" or "stable". This field replaces the deprecated "cloned-mac-address" on D-Bus, which can only contain explicit hardware addresses. Note that this property only exists in D-Bus API. libnm and nmcli continue to call this property "cloned-mac-address".bandstring802.11 frequency band of the network. One of "a" for 5GHz 802.11a or "bg" for 2.4GHz 802.11. This will lock associations to the Wi-Fi network to the specific band, i.e. if "a" is specified, the device will not associate with the same network in the 2.4GHz band even if the network's settings are compatible. This setting depends on specific driver capability and may not work with all drivers.bssidbyte arrayIf specified, directs the device to only associate with the given access point. This capability is highly driver dependent and not supported by all devices. Note: this property does not control the BSSID used when creating an Ad-Hoc network and is unlikely to in the future.channeluint320Wireless channel to use for the Wi-Fi connection. The device will only join (or create for Ad-Hoc networks) a Wi-Fi network on the specified channel. Because channel numbers overlap between bands, this property also requires the "band" property to be set.cloned-mac-addressbyte arrayThis D-Bus field is deprecated in favor of "assigned-mac-address" which is more flexible and allows specifying special variants like "random". For libnm and nmcli, this field is called "cloned-mac-address".generate-mac-address-maskstringWith "cloned-mac-address" setting "random" or "stable", by default all bits of the MAC address are scrambled and a locally-administered, unicast MAC address is created. This property allows to specify that certain bits are fixed. Note that the least significant bit of the first MAC address will always be unset to create a unicast MAC address. If the property is NULL, it is eligible to be overwritten by a default connection setting. If the value is still NULL or an empty string, the default is to create a locally-administered, unicast MAC address. If the value contains one MAC address, this address is used as mask. The set bits of the mask are to be filled with the current MAC address of the device, while the unset bits are subject to randomization. Setting "FE:FF:FF:00:00:00" means to preserve the OUI of the current MAC address and only randomize the lower 3 bytes using the "random" or "stable" algorithm. If the value contains one additional MAC address after the mask, this address is used instead of the current MAC address to fill the bits that shall not be randomized. For example, a value of "FE:FF:FF:00:00:00 68:F7:28:00:00:00" will set the OUI of the MAC address to 68:F7:28, while the lower bits are randomized. A value of "02:00:00:00:00:00 00:00:00:00:00:00" will create a fully scrambled globally-administered, burned-in MAC address. If the value contains more than one additional MAC addresses, one of them is chosen randomly. For example, "02:00:00:00:00:00 00:00:00:00:00:00 02:00:00:00:00:00" will create a fully scrambled MAC address, randomly locally or globally administered.hiddenbooleanFALSEIf TRUE, indicates that the network is a non-broadcasting network that hides its SSID. This works both in infrastructure and AP mode. In infrastructure mode, various workarounds are used for a more reliable discovery of hidden networks, such as probe-scanning the SSID. However, these workarounds expose inherent insecurities with hidden SSID networks, and thus hidden SSID networks should be used with caution. In AP mode, the created network does not broadcast its SSID. Note that marking the network as hidden may be a privacy issue for you (in infrastructure mode) or client stations (in AP mode), as the explicit probe-scans are distinctly recognizable on the air.mac-addressbyte arrayIf specified, this connection will only apply to the Wi-Fi device whose permanent MAC address matches. This property does not change the MAC address of the device (i.e. MAC spoofing).mac-address-blacklistarray of stringA list of permanent MAC addresses of Wi-Fi devices to which this connection should never apply. Each MAC address should be given in the standard hex-digits-and-colons notation (eg "00:11:22:33:44:55").mac-address-randomizationuint320One of NM_SETTING_MAC_RANDOMIZATION_DEFAULT (0) (never randomize unless the user has set a global default to randomize and the supplicant supports randomization), NM_SETTING_MAC_RANDOMIZATION_NEVER (1) (never randomize the MAC address), or NM_SETTING_MAC_RANDOMIZATION_ALWAYS (2) (always randomize the MAC address). This property is deprecated for 'cloned-mac-address'. Deprecated: 1modestringWi-Fi network mode; one of "infrastructure", "mesh", "adhoc" or "ap". If blank, infrastructure is assumed.mtuuint320If non-zero, only transmit packets of the specified size or smaller, breaking larger packets up into multiple Ethernet frames.powersaveuint320One of NM_SETTING_WIRELESS_POWERSAVE_DISABLE (2) (disable Wi-Fi power saving), NM_SETTING_WIRELESS_POWERSAVE_ENABLE (3) (enable Wi-Fi power saving), NM_SETTING_WIRELESS_POWERSAVE_IGNORE (1) (don't touch currently configure setting) or NM_SETTING_WIRELESS_POWERSAVE_DEFAULT (0) (use the globally configured value). All other values are reserved.rateuint320If non-zero, directs the device to only use the specified bitrate for communication with the access point. Units are in Kb/s, ie 5500 = 5.5 Mbit/s. This property is highly driver dependent and not all devices support setting a static bitrate.securityThis property is deprecated, but can be set to the value '802-11-wireless-security' when a wireless security setting is also present in the connection dictionary, for compatibility with very old NetworkManager daemons.seen-bssidsarray of stringA list of BSSIDs (each BSSID formatted as a MAC address like "00:11:22:33:44:55") that have been detected as part of the Wi-Fi network. NetworkManager internally tracks previously seen BSSIDs. The property is only meant for reading and reflects the BSSID list of NetworkManager. The changes you make to this property will not be preserved.ssidbyte arraySSID of the Wi-Fi network. Must be specified.tx-poweruint320If non-zero, directs the device to use the specified transmit power. Units are dBm. This property is highly driver dependent and not all devices support setting a static transmit power.wake-on-wlanuint321The NMSettingWirelessWakeOnWLan options to enable. Not all devices support all options. May be any combination of NM_SETTING_WIRELESS_WAKE_ON_WLAN_ANY (0x2), NM_SETTING_WIRELESS_WAKE_ON_WLAN_DISCONNECT (0x4), NM_SETTING_WIRELESS_WAKE_ON_WLAN_MAGIC (0x8), NM_SETTING_WIRELESS_WAKE_ON_WLAN_GTK_REKEY_FAILURE (0x10), NM_SETTING_WIRELESS_WAKE_ON_WLAN_EAP_IDENTITY_REQUEST (0x20), NM_SETTING_WIRELESS_WAKE_ON_WLAN_4WAY_HANDSHAKE (0x40), NM_SETTING_WIRELESS_WAKE_ON_WLAN_RFKILL_RELEASE (0x80), NM_SETTING_WIRELESS_WAKE_ON_WLAN_TCP (0x100) or the special values NM_SETTING_WIRELESS_WAKE_ON_WLAN_DEFAULT (0x1) (to use global settings) and NM_SETTING_WIRELESS_WAKE_ON_WLAN_IGNORE (0x8000) (to disable management of Wake-on-LAN in NetworkManager).802-11-wireless-security settingWi-Fi Security Settings.Key NameValue TypeDefault ValueValue Descriptionauth-algstringWhen WEP is used (ie, key-mgmt = "none" or "ieee8021x") indicate the 802.11 authentication algorithm required by the AP here. One of "open" for Open System, "shared" for Shared Key, or "leap" for Cisco LEAP. When using Cisco LEAP (ie, key-mgmt = "ieee8021x" and auth-alg = "leap") the "leap-username" and "leap-password" properties must be specified.filsint320Indicates whether Fast Initial Link Setup (802.11ai) must be enabled for the connection. One of NM_SETTING_WIRELESS_SECURITY_FILS_DEFAULT (0) (use global default value), NM_SETTING_WIRELESS_SECURITY_FILS_DISABLE (1) (disable FILS), NM_SETTING_WIRELESS_SECURITY_FILS_OPTIONAL (2) (enable FILS if the supplicant and the access point support it) or NM_SETTING_WIRELESS_SECURITY_FILS_REQUIRED (3) (enable FILS and fail if not supported). When set to NM_SETTING_WIRELESS_SECURITY_FILS_DEFAULT (0) and no global default is set, FILS will be optionally enabled.grouparray of stringA list of group/broadcast encryption algorithms which prevents connections to Wi-Fi networks that do not utilize one of the algorithms in the list. For maximum compatibility leave this property empty. Each list element may be one of "wep40", "wep104", "tkip", or "ccmp".key-mgmtstringKey management used for the connection. One of "none" (WEP), "ieee8021x" (Dynamic WEP), "wpa-psk" (infrastructure WPA-PSK), "sae" (SAE), "owe" (Opportunistic Wireless Encryption), "wpa-eap" (WPA-Enterprise) or "wpa-eap-suite-b-192" (WPA3-Enterprise Suite B). This property must be set for any Wi-Fi connection that uses security.leap-passwordstringThe login password for legacy LEAP connections (ie, key-mgmt = "ieee8021x" and auth-alg = "leap").leap-password-flagsNMSettingSecretFlags (uint32)Flags indicating how to handle the "leap-password" property. (see for flag values)leap-usernamestringThe login username for legacy LEAP connections (ie, key-mgmt = "ieee8021x" and auth-alg = "leap").pairwisearray of stringA list of pairwise encryption algorithms which prevents connections to Wi-Fi networks that do not utilize one of the algorithms in the list. For maximum compatibility leave this property empty. Each list element may be one of "tkip" or "ccmp".pmfint320Indicates whether Protected Management Frames (802.11w) must be enabled for the connection. One of NM_SETTING_WIRELESS_SECURITY_PMF_DEFAULT (0) (use global default value), NM_SETTING_WIRELESS_SECURITY_PMF_DISABLE (1) (disable PMF), NM_SETTING_WIRELESS_SECURITY_PMF_OPTIONAL (2) (enable PMF if the supplicant and the access point support it) or NM_SETTING_WIRELESS_SECURITY_PMF_REQUIRED (3) (enable PMF and fail if not supported). When set to NM_SETTING_WIRELESS_SECURITY_PMF_DEFAULT (0) and no global default is set, PMF will be optionally enabled.protoarray of stringList of strings specifying the allowed WPA protocol versions to use. Each element may be one "wpa" (allow WPA) or "rsn" (allow WPA2/RSN). If not specified, both WPA and RSN connections are allowed.pskstringPre-Shared-Key for WPA networks. For WPA-PSK, it's either an ASCII passphrase of 8 to 63 characters that is (as specified in the 802.11i standard) hashed to derive the actual key, or the key in form of 64 hexadecimal character. The WPA3-Personal networks use a passphrase of any length for SAE authentication.psk-flagsNMSettingSecretFlags (uint32)Flags indicating how to handle the "psk" property. (see for flag values)wep-key-flagsNMSettingSecretFlags (uint32)Flags indicating how to handle the "wep-key0", "wep-key1", "wep-key2", and "wep-key3" properties. (see for flag values)wep-key-typeNMWepKeyType (uint32)Controls the interpretation of WEP keys. Allowed values are NM_WEP_KEY_TYPE_KEY (1), in which case the key is either a 10- or 26-character hexadecimal string, or a 5- or 13-character ASCII password; or NM_WEP_KEY_TYPE_PASSPHRASE (2), in which case the passphrase is provided as a string and will be hashed using the de-facto MD5 method to derive the actual WEP key.wep-key0stringIndex 0 WEP key. This is the WEP key used in most networks. See the "wep-key-type" property for a description of how this key is interpreted.wep-key1stringIndex 1 WEP key. This WEP index is not used by most networks. See the "wep-key-type" property for a description of how this key is interpreted.wep-key2stringIndex 2 WEP key. This WEP index is not used by most networks. See the "wep-key-type" property for a description of how this key is interpreted.wep-key3stringIndex 3 WEP key. This WEP index is not used by most networks. See the "wep-key-type" property for a description of how this key is interpreted.wep-tx-keyidxuint320When static WEP is used (ie, key-mgmt = "none") and a non-default WEP key index is used by the AP, put that WEP key index here. Valid values are 0 (default key) through 3. Note that some consumer access points (like the Linksys WRT54G) number the keys 1 - 4.wps-methoduint320Flags indicating which mode of WPS is to be used if any. There's little point in changing the default setting as NetworkManager will automatically determine whether it's feasible to start WPS enrollment from the Access Point capabilities. WPS can be disabled by setting this property to a value of 1.wpan settingIEEE 802.15.4 (WPAN) MAC Settings.Key NameValue TypeDefault ValueValue Descriptionchannelint32-1IEEE 802.15.4 channel. A positive integer or -1, meaning "do not set, use whatever the device is already set to".mac-addressstringIf specified, this connection will only apply to the IEEE 802.15.4 (WPAN) MAC layer device whose permanent MAC address matches.pageint32-1IEEE 802.15.4 channel page. A positive integer or -1, meaning "do not set, use whatever the device is already set to".pan-iduint3265535IEEE 802.15.4 Personal Area Network (PAN) identifier.short-addressuint3265535Short IEEE 802.15.4 address to be used within a restricted environment.hostname settingHostname settings.Key NameValue TypeDefault ValueValue Descriptionfrom-dhcpNMTernary (int32)Whether the system hostname can be determined from DHCP on this connection. When set to NM_TERNARY_DEFAULT (-1), the value from global configuration is used. If the property doesn't have a value in the global configuration, NetworkManager assumes the value to be NM_TERNARY_TRUE (1).from-dns-lookupNMTernary (int32)Whether the system hostname can be determined from reverse DNS lookup of addresses on this device. When set to NM_TERNARY_DEFAULT (-1), the value from global configuration is used. If the property doesn't have a value in the global configuration, NetworkManager assumes the value to be NM_TERNARY_TRUE (1).only-from-defaultNMTernary (int32)If set to NM_TERNARY_TRUE (1), NetworkManager attempts to get the hostname via DHCPv4/DHCPv6 or reverse DNS lookup on this device only when the device has the default route for the given address family (IPv4/IPv6). If set to NM_TERNARY_FALSE (0), the hostname can be set from this device even if it doesn't have the default route. When set to NM_TERNARY_DEFAULT (-1), the value from global configuration is used. If the property doesn't have a value in the global configuration, NetworkManager assumes the value to be NM_TERNARY_FALSE (0).priorityint320The relative priority of this connection to determine the system hostname. A lower numerical value is better (higher priority). A connection with higher priority is considered before connections with lower priority. If the value is zero, it can be overridden by a global value from NetworkManager configuration. If the property doesn't have a value in the global configuration, the value is assumed to be 100. Negative values have the special effect of excluding other connections with a greater numerical priority value; so in presence of at least one negative priority, only connections with the lowest priority value will be used to determine the hostname.ovs-external-ids settingOVS External IDs Settings.Key NameValue TypeDefault ValueValue Descriptiondatadict of string to string{}A dictionary of key/value pairs with exernal-ids for OVS.veth settingVeth Settings.Key NameValue TypeDefault ValueValue DescriptionpeerstringThis property specifies the peer interface name of the veth. This property is mandatory.Secret flag types: Each password or secret property in a setting has an associated flags property that describes how to handle that secret. The flags property is a bitfield that contains zero or more of the following values logically OR-ed together. diff --git a/man/nm-settings-docs-dbus.xml b/man/nm-settings-docs-dbus.xml index 91a0fda..6b65459 100644 --- a/man/nm-settings-docs-dbus.xml +++ b/man/nm-settings-docs-dbus.xml @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/man/nm-settings-docs-nmcli.xml b/man/nm-settings-docs-nmcli.xml index 424d705..e815a43 100644 --- a/man/nm-settings-docs-nmcli.xml +++ b/man/nm-settings-docs-nmcli.xml @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/man/nm-settings-ifcfg-rh.5 b/man/nm-settings-ifcfg-rh.5 index e456e6d..f1167e6 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 -.\" Date: 01/19/2021 +.\" Date: 01/27/2021 .\" Manual: Configuration -.\" Source: NetworkManager 1.29.9 +.\" Source: NetworkManager 1.29.10 .\" Language: English .\" -.TH "NM\-SETTINGS\-IFCFG\-RH" "5" "" "NetworkManager 1\&.29\&.9" "Configuration" +.TH "NM\-SETTINGS\-IFCFG\-RH" "5" "" "NetworkManager 1\&.29\&.10" "Configuration" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/nm-settings-ifcfg-rh.xml b/man/nm-settings-ifcfg-rh.xml index d2e54d3..eace0f6 100644 --- a/man/nm-settings-ifcfg-rh.xml +++ b/man/nm-settings-ifcfg-rh.xml @@ -1,6 +1,6 @@ -nm-settings-ifcfg-rhNetworkManager developersnm-settings-ifcfg-rh5NetworkManagerConfiguration1.29.9nm-settings-ifcfg-rhDescription of ifcfg-rh settings pluginDescription +nm-settings-ifcfg-rhNetworkManager developersnm-settings-ifcfg-rh5NetworkManagerConfiguration1.29.10nm-settings-ifcfg-rhDescription of ifcfg-rh settings pluginDescription NetworkManager is based on the concept of connection profiles that contain network configuration (see nm-settings5 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 23c13e8..a957103 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 -.\" Date: 01/19/2021 +.\" Date: 01/27/2021 .\" Manual: Configuration -.\" Source: NetworkManager 1.29.9 +.\" Source: NetworkManager 1.29.10 .\" Language: English .\" -.TH "NM\-SETTINGS\-KEYFILE" "5" "" "NetworkManager 1\&.29\&.9" "Configuration" +.TH "NM\-SETTINGS\-KEYFILE" "5" "" "NetworkManager 1\&.29\&.10" "Configuration" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/nm-settings-keyfile.xml b/man/nm-settings-keyfile.xml index 2834c8e..99c5115 100644 --- a/man/nm-settings-keyfile.xml +++ b/man/nm-settings-keyfile.xml @@ -1,6 +1,6 @@ -nm-settings-keyfileNetworkManager developersnm-settings-keyfile5NetworkManagerConfiguration1.29.9nm-settings-keyfileDescription of keyfile settings pluginDescription +nm-settings-keyfileNetworkManager developersnm-settings-keyfile5NetworkManagerConfiguration1.29.10nm-settings-keyfileDescription of keyfile settings pluginDescription NetworkManager is based on the concept of connection profiles that contain network configuration (see nm-settings5 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 954a79d..caffcde 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 -.\" Date: 01/19/2021 +.\" Date: 01/27/2021 .\" Manual: Configuration -.\" Source: NetworkManager 1.29.9 +.\" Source: NetworkManager 1.29.10 .\" Language: English .\" -.TH "NM\-SETTINGS\-NMCLI" "5" "" "NetworkManager 1\&.29\&.9" "Configuration" +.TH "NM\-SETTINGS\-NMCLI" "5" "" "NetworkManager 1\&.29\&.10" "Configuration" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -1700,7 +1700,7 @@ Format: array of uint32 .PP \fBdns\-options\fR .RS 4 -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\&. +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\&. .sp Format: array of string .RE @@ -1860,7 +1860,7 @@ Format: array of byte array .PP \fBdns\-options\fR .RS 4 -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\&. +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\&. .sp Format: array of string .RE diff --git a/man/nm-settings-nmcli.xml b/man/nm-settings-nmcli.xml index 3f13f4e..301b4f7 100644 --- a/man/nm-settings-nmcli.xml +++ b/man/nm-settings-nmcli.xml @@ -1,6 +1,6 @@ -nm-settings-nmcliNetworkManager developersnm-settings-nmcli5NetworkManagerConfiguration1.29.9nm-settings-nmcliDescription of settings and properties of NetworkManager connection profiles for nmcliDescription +nm-settings-nmcliNetworkManager developersnm-settings-nmcli5NetworkManagerConfiguration1.29.10nm-settings-nmcliDescription of settings and properties of NetworkManager connection profiles for nmcliDescription 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 @@ -286,7 +286,7 @@ Format: booleanA timeout for a DHCP transaction in seconds. If zero (the default), a globally configured default is used. If still unspecified, a device specific timeout is used (usually 45 seconds). Set to 2147483647 (MAXINT32) for infinity. Format: int32The Vendor Class Identifier DHCP option (60). Special characters in the data string may be escaped using C-style escapes, nevertheless this property cannot contain nul bytes. If the per-profile value is unspecified (the default), a global connection default gets consulted. If still unspecified, the DHCP option is not sent to the server. Since 1.28 Format: stringArray of IP addresses of DNS servers. - Format: array of uint32Array 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. + Format: array of uint32Array of DNS options as described in man 5 resolv.conf. NULL means that the options are unset and left at the default. In this case NetworkManager will use default options. This is distinct from an empty list of properties. The currently supported options are "attempts", "debug", "edns0", "inet6", "ip6-bytestring", "ip6-dotint", "ndots", "no-check-names", "no-ip6-dotint", "no-reload", "no-tld-query", "rotate", "single-request", "single-request-reopen", "timeout", "trust-ad", "use-vc". The "trust-ad" setting is only honored if the profile contributes name servers to resolv.conf, and if all contributing profiles have "trust-ad" enabled. When using a caching DNS plugin (dnsmasq or systemd-resolved in NetworkManager.conf) then "edns0" and "trust-ad" are automatically added. Format: array of stringDNS servers priority. The relative priority for DNS servers specified by this setting. A lower numerical value is better (higher priority). Negative values have the special effect of excluding other configurations with a greater numerical priority value; so in presence of at least one negative priority, only DNS servers from connections with the lowest priority value will be used. To avoid all DNS leaks, set the priority of the profile that should be used to the most negative value of all active connections profiles. Zero selects a globally configured default value. If the latter is missing or zero too, it defaults to 50 for VPNs (including WireGuard) and 100 for other connections. Note that the priority is to order DNS settings for multiple active connections. It does not disambiguate multiple DNS servers within the same connection profile. When multiple devices have configurations with the same priority, VPNs will be considered first, then devices with the best (lowest metric) default route and then all other devices. When using dns=default, servers with higher priority will be on top of resolv.conf. To prioritize a given server over another one within the same connection, just specify them in the desired order. Note that commonly the resolver tries name servers in /etc/resolv.conf in the order listed, proceeding with the next server in the list on failure. See for example the "rotate" option of the dns-options setting. If there are any negative DNS priorities, then only name servers from the devices with that lowest priority will be considered. When using a DNS resolver that supports Conditional Forwarding or Split DNS (with dns=dnsmasq or dns=systemd-resolved settings), each connection is used to query domains in its search list. The search domains determine which name servers to ask, and the DNS priority is used to prioritize name servers based on the domain. Queries for domains not present in any search list are routed through connections having the '~.' special wildcard domain, which is added automatically to connections with the default route (or can be added manually). When multiple connections specify the same domain, the one with the best priority (lowest numerical value) wins. If a sub domain is configured on another interface it will be accepted regardless the priority, unless parent domain on the other interface has a negative priority, which causes the sub domain to be shadowed. With Split DNS one can avoid undesired DNS leaks by properly configuring DNS priorities and the search domains, so that only name servers of the desired interface are configured. Format: int32Array of DNS search domains. Domains starting with a tilde ('~') are considered 'routing' domains and are used only to decide the interface over which a query must be forwarded; they are not used to complete unqualified host names. When using a DNS plugin that supports Conditional Forwarding or Split DNS, then the search domains specify which name servers to query. This makes the behavior different from running with plain /etc/resolv.conf. For more information see also the dns-priority setting. Format: array of string @@ -311,7 +311,7 @@ Format: stringIf TRUE, a hostname is sent to the DHCP server when acquiring a lease. Some DHCP servers use this hostname to update DNS databases, essentially providing a static hostname for the computer. If the "dhcp-hostname" property is NULL and this property is TRUE, the current persistent hostname of the computer is sent. Format: booleanA timeout for a DHCP transaction in seconds. If zero (the default), a globally configured default is used. If still unspecified, a device specific timeout is used (usually 45 seconds). Set to 2147483647 (MAXINT32) for infinity. Format: int32Array of IP addresses of DNS servers. - Format: array of byte arrayArray 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. + Format: array of byte arrayArray of DNS options as described in man 5 resolv.conf. NULL means that the options are unset and left at the default. In this case NetworkManager will use default options. This is distinct from an empty list of properties. The currently supported options are "attempts", "debug", "edns0", "inet6", "ip6-bytestring", "ip6-dotint", "ndots", "no-check-names", "no-ip6-dotint", "no-reload", "no-tld-query", "rotate", "single-request", "single-request-reopen", "timeout", "trust-ad", "use-vc". The "trust-ad" setting is only honored if the profile contributes name servers to resolv.conf, and if all contributing profiles have "trust-ad" enabled. When using a caching DNS plugin (dnsmasq or systemd-resolved in NetworkManager.conf) then "edns0" and "trust-ad" are automatically added. Format: array of stringDNS servers priority. The relative priority for DNS servers specified by this setting. A lower numerical value is better (higher priority). Negative values have the special effect of excluding other configurations with a greater numerical priority value; so in presence of at least one negative priority, only DNS servers from connections with the lowest priority value will be used. To avoid all DNS leaks, set the priority of the profile that should be used to the most negative value of all active connections profiles. Zero selects a globally configured default value. If the latter is missing or zero too, it defaults to 50 for VPNs (including WireGuard) and 100 for other connections. Note that the priority is to order DNS settings for multiple active connections. It does not disambiguate multiple DNS servers within the same connection profile. When multiple devices have configurations with the same priority, VPNs will be considered first, then devices with the best (lowest metric) default route and then all other devices. When using dns=default, servers with higher priority will be on top of resolv.conf. To prioritize a given server over another one within the same connection, just specify them in the desired order. Note that commonly the resolver tries name servers in /etc/resolv.conf in the order listed, proceeding with the next server in the list on failure. See for example the "rotate" option of the dns-options setting. If there are any negative DNS priorities, then only name servers from the devices with that lowest priority will be considered. When using a DNS resolver that supports Conditional Forwarding or Split DNS (with dns=dnsmasq or dns=systemd-resolved settings), each connection is used to query domains in its search list. The search domains determine which name servers to ask, and the DNS priority is used to prioritize name servers based on the domain. Queries for domains not present in any search list are routed through connections having the '~.' special wildcard domain, which is added automatically to connections with the default route (or can be added manually). When multiple connections specify the same domain, the one with the best priority (lowest numerical value) wins. If a sub domain is configured on another interface it will be accepted regardless the priority, unless parent domain on the other interface has a negative priority, which causes the sub domain to be shadowed. With Split DNS one can avoid undesired DNS leaks by properly configuring DNS priorities and the search domains, so that only name servers of the desired interface are configured. Format: int32Array of DNS search domains. Domains starting with a tilde ('~') are considered 'routing' domains and are used only to decide the interface over which a query must be forwarded; they are not used to complete unqualified host names. When using a DNS plugin that supports Conditional Forwarding or Split DNS, then the search domains specify which name servers to query. This makes the behavior different from running with plain /etc/resolv.conf. For more information see also the dns-priority setting. Format: array of string diff --git a/man/nmcli-examples.7 b/man/nmcli-examples.7 index b7150da..042e796 100644 --- a/man/nmcli-examples.7 +++ b/man/nmcli-examples.7 @@ -2,12 +2,12 @@ .\" Title: nmcli-examples .\" Author: .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 01/19/2021 +.\" Date: 01/27/2021 .\" Manual: Examples -.\" Source: NetworkManager 1.29.9 +.\" Source: NetworkManager 1.29.10 .\" Language: English .\" -.TH "NMCLI\-EXAMPLES" "7" "" "NetworkManager 1\&.29\&.9" "Examples" +.TH "NMCLI\-EXAMPLES" "7" "" "NetworkManager 1\&.29\&.10" "Examples" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/nmcli.1 b/man/nmcli.1 index ff7162e..30a6a78 100644 --- a/man/nmcli.1 +++ b/man/nmcli.1 @@ -2,12 +2,12 @@ .\" Title: nmcli .\" Author: .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 01/19/2021 +.\" Date: 01/27/2021 .\" Manual: General Commands Manual -.\" Source: NetworkManager 1.29.9 +.\" Source: NetworkManager 1.29.10 .\" Language: English .\" -.TH "NMCLI" "1" "" "NetworkManager 1\&.29\&.9" "General Commands Manual" +.TH "NMCLI" "1" "" "NetworkManager 1\&.29\&.10" "General Commands Manual" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/nmtui.1 b/man/nmtui.1 index 46ecc9e..3ca0eec 100644 --- a/man/nmtui.1 +++ b/man/nmtui.1 @@ -2,12 +2,12 @@ .\" Title: nmtui .\" Author: .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 01/19/2021 +.\" Date: 01/27/2021 .\" Manual: General Commands Manual -.\" Source: NetworkManager 1.29.9 +.\" Source: NetworkManager 1.29.10 .\" Language: English .\" -.TH "NMTUI" "1" "" "NetworkManager 1\&.29\&.9" "General Commands Manual" +.TH "NMTUI" "1" "" "NetworkManager 1\&.29\&.10" "General Commands Manual" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/meson.build b/meson.build index 4ac9523..5b58c96 100644 --- a/meson.build +++ b/meson.build @@ -6,7 +6,7 @@ project( # - add corresponding NM_VERSION_x_y_z macros in # "shared/nm-version-macros.h.in" # - update number in configure.ac - version: '1.29.9', + version: '1.29.10', license: 'GPL2+', default_options: [ 'buildtype=debugoptimized', diff --git a/shared/c-list/src/c-list.h b/shared/c-list/src/c-list.h index 3d44e33..c92aa6f 100644 --- a/shared/c-list/src/c-list.h +++ b/shared/c-list/src/c-list.h @@ -87,10 +87,12 @@ static inline _Bool c_list_is_linked(const CList *what) { * c_list_is_empty() - check whether a list is empty * @list: list to check, or NULL * + * This is the same as !c_list_is_linked(). + * * Return: True if @list is empty, false if not. */ static inline _Bool c_list_is_empty(const CList *list) { - return !list || !c_list_is_linked(list); + return !c_list_is_linked(list); } /** diff --git a/shared/n-dhcp4/src/n-dhcp4-socket.c b/shared/n-dhcp4/src/n-dhcp4-socket.c index 74b1506..3e703b4 100644 --- a/shared/n-dhcp4/src/n-dhcp4-socket.c +++ b/shared/n-dhcp4/src/n-dhcp4-socket.c @@ -348,8 +348,7 @@ static int n_dhcp4_socket_packet_send(int sockfd, .sll_halen = halen, }; const void *buf; - size_t n_buf; - size_t len = 0; + size_t n_buf, len; int r; c_assert(halen <= sizeof(haddr.sll_addr)); diff --git a/shared/n-dhcp4/src/util/packet.c b/shared/n-dhcp4/src/util/packet.c index ef18b0b..48f2c85 100644 --- a/shared/n-dhcp4/src/util/packet.c +++ b/shared/n-dhcp4/src/util/packet.c @@ -223,7 +223,7 @@ int packet_sendto_udp(int sockfd, pktlen = sendmsg(sockfd, &msg, 0); if (pktlen < 0) - return -errno; + return -c_errno(); /* * Kernel never truncates. Worst case, we get -EMSGSIZE. Kernel *might* diff --git a/shared/nm-glib-aux/nm-shared-utils.c b/shared/nm-glib-aux/nm-shared-utils.c index f42b53c..8e3f187 100644 --- a/shared/nm-glib-aux/nm-shared-utils.c +++ b/shared/nm-glib-aux/nm-shared-utils.c @@ -4799,7 +4799,7 @@ typedef struct { GMainContext *context; GHashTable * fds; GPollFD * fds_arr; - int fds_len; + guint fds_len; int max_priority; bool acquired : 1; } CtxIntegSource; @@ -4842,13 +4842,15 @@ _ctx_integ_source_prepare(GSource *source, int *out_timeout) int max_priority; int timeout = -1; gboolean any_ready; - int fds_allocated; - int fds_len_old; - gs_free GPollFD *fds_arr_old = NULL; - GHashTableIter h_iter; - PollData * poll_data; - gboolean fds_changed; - int i; + GHashTableIter h_iter; + PollData * poll_data; + gboolean fds_changed; + GPollFD new_fds_stack[300u / sizeof(GPollFD)]; + gs_free GPollFD *new_fds_heap = NULL; + GPollFD * new_fds; + guint new_fds_len; + guint new_fds_alloc; + guint i; _CTX_LOG("prepare..."); @@ -4856,30 +4858,44 @@ _ctx_integ_source_prepare(GSource *source, int *out_timeout) any_ready = g_main_context_prepare(ctx_src->context, &max_priority); - fds_arr_old = g_steal_pointer(&ctx_src->fds_arr); - fds_len_old = ctx_src->fds_len; + new_fds_alloc = NM_MAX(G_N_ELEMENTS(new_fds_stack), ctx_src->fds_len); - fds_allocated = NM_MAX(1, fds_len_old); /* there is at least the wakeup's FD */ - ctx_src->fds_arr = g_new(GPollFD, fds_allocated); + if (new_fds_alloc > G_N_ELEMENTS(new_fds_stack)) { + new_fds_heap = g_new(GPollFD, new_fds_alloc); + new_fds = new_fds_heap; + } else + new_fds = new_fds_stack; - while ((ctx_src->fds_len = g_main_context_query(ctx_src->context, - max_priority, - &timeout, - ctx_src->fds_arr, - fds_allocated)) - > fds_allocated) { - fds_allocated = ctx_src->fds_len; - g_free(ctx_src->fds_arr); - ctx_src->fds_arr = g_new(GPollFD, fds_allocated); + for (;;) { + int l; + + nm_assert(new_fds_alloc <= (guint) G_MAXINT); + + l = g_main_context_query(ctx_src->context, + max_priority, + &timeout, + new_fds, + (int) new_fds_alloc); + nm_assert(l >= 0); + + new_fds_len = (guint) l; + + if (G_LIKELY(new_fds_len <= new_fds_alloc)) + break; + + new_fds_alloc = new_fds_len; + g_free(new_fds_heap); + new_fds_heap = g_new(GPollFD, new_fds_alloc); + new_fds = new_fds_heap; } fds_changed = FALSE; - if (fds_len_old != ctx_src->fds_len) + if (new_fds_len != ctx_src->fds_len) fds_changed = TRUE; else { - for (i = 0; i < ctx_src->fds_len; i++) { - if (fds_arr_old[i].fd != ctx_src->fds_arr[i].fd - || fds_arr_old[i].events != ctx_src->fds_arr[i].events) { + for (i = 0; i < new_fds_len; i++) { + if (new_fds[i].fd != ctx_src->fds_arr[i].fd + || new_fds[i].events != ctx_src->fds_arr[i].events) { fds_changed = TRUE; break; } @@ -4887,6 +4903,13 @@ _ctx_integ_source_prepare(GSource *source, int *out_timeout) } if (G_UNLIKELY(fds_changed)) { + g_free(ctx_src->fds_arr); + ctx_src->fds_len = new_fds_len; + if (G_LIKELY(new_fds == new_fds_stack) || new_fds_alloc != new_fds_len) + ctx_src->fds_arr = nm_memdup(new_fds, sizeof(*new_fds) * new_fds_len); + else + ctx_src->fds_arr = g_steal_pointer(&new_fds_heap); + g_hash_table_iter_init(&h_iter, ctx_src->fds); while (g_hash_table_iter_next(&h_iter, (gpointer *) &poll_data, NULL)) poll_data->stale = TRUE; @@ -5021,10 +5044,12 @@ _ctx_integ_source_check(GSource *source) ctx_src->fds_arr[poll_data->idx.one].revents = revents; } + nm_assert(ctx_src->fds_len <= (guint) G_MAXINT); + some_ready = g_main_context_check(ctx_src->context, ctx_src->max_priority, ctx_src->fds_arr, - ctx_src->fds_len); + (int) ctx_src->fds_len); _CTX_LOG("check (some-ready=%d)...", some_ready); diff --git a/shared/nm-glib-aux/nm-shared-utils.h b/shared/nm-glib-aux/nm-shared-utils.h index 8f0d50c..c432b12 100644 --- a/shared/nm-glib-aux/nm-shared-utils.h +++ b/shared/nm-glib-aux/nm-shared-utils.h @@ -1364,6 +1364,59 @@ nm_g_source_attach(GSource *source, GMainContext *context) return source; } +static inline GSource * +nm_g_idle_add_source(GSourceFunc func, gpointer user_data) +{ + /* G convenience function to attach a new timeout source to the default GMainContext. + * In that sense it's very similar to g_idle_add() except that it returns a + * reference to the new source. */ + return nm_g_source_attach(nm_g_idle_source_new(G_PRIORITY_DEFAULT, func, user_data, NULL), + NULL); +} + +static inline GSource * +nm_g_timeout_add_source(guint timeout_msec, GSourceFunc func, gpointer user_data) +{ + /* G convenience function to attach a new timeout source to the default GMainContext. + * In that sense it's very similar to g_timeout_add() except that it returns a + * reference to the new source. */ + return nm_g_source_attach( + nm_g_timeout_source_new(timeout_msec, G_PRIORITY_DEFAULT, func, user_data, NULL), + NULL); +} + +static inline GSource * +nm_g_timeout_add_source_seconds(guint timeout_sec, GSourceFunc func, gpointer user_data) +{ + /* G convenience function to attach a new timeout source to the default GMainContext. + * In that sense it's very similar to g_timeout_add_seconds() except that it returns a + * reference to the new source. */ + return nm_g_source_attach( + nm_g_timeout_source_new_seconds(timeout_sec, G_PRIORITY_DEFAULT, func, user_data, NULL), + NULL); +} + +static inline GSource * +nm_g_timeout_add_source_approx(guint timeout_msec, + guint timeout_sec_threshold, + GSourceFunc func, + gpointer user_data) +{ + GSource *source; + + /* If timeout_msec is larger or equal than a threshold, then we use g_timeout_source_new_seconds() + * instead. */ + if (timeout_msec / 1000u >= timeout_sec_threshold) + source = nm_g_timeout_source_new_seconds(timeout_msec / 1000u, + G_PRIORITY_DEFAULT, + func, + user_data, + NULL); + else + source = nm_g_timeout_source_new(timeout_msec, G_PRIORITY_DEFAULT, func, user_data, NULL); + return nm_g_source_attach(source, NULL); +} + NM_AUTO_DEFINE_FCN0(GMainContext *, _nm_auto_unref_gmaincontext, g_main_context_unref); #define nm_auto_unref_gmaincontext nm_auto(_nm_auto_unref_gmaincontext) diff --git a/shared/nm-utils/nm-test-utils.h b/shared/nm-utils/nm-test-utils.h index 83be77c..66d5ae2 100644 --- a/shared/nm-utils/nm-test-utils.h +++ b/shared/nm-utils/nm-test-utils.h @@ -1194,6 +1194,14 @@ nmtst_main_loop_run(GMainLoop *loop, guint timeout_msec) return loopx != NULL; } +#define nmtst_main_loop_run_assert(loop, timeout_msec) \ + G_STMT_START \ + { \ + if (!nmtst_main_loop_run((loop), (timeout_msec))) \ + g_assert_not_reached(); \ + } \ + G_STMT_END + static inline void _nmtst_main_loop_quit_on_notify(GObject *object, GParamSpec *pspec, gpointer user_data) { diff --git a/shared/nm-version-macros.h b/shared/nm-version-macros.h index 7a6bef3..78463c9 100644 --- a/shared/nm-version-macros.h +++ b/shared/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 (9) +#define NM_MICRO_VERSION (10) /** * NM_CHECK_VERSION: diff --git a/src/devices/nm-device-ethernet.c b/src/devices/nm-device-ethernet.c index f67baea..35e6ac9 100644 --- a/src/devices/nm-device-ethernet.c +++ b/src/devices/nm-device-ethernet.c @@ -1595,6 +1595,60 @@ complete_connection(NMDevice * device, NMSettingWired *s_wired; NMSettingPppoe *s_pppoe; + if (nm_streq0(nm_connection_get_connection_type(connection), NM_SETTING_VETH_SETTING_NAME)) { + NMSettingVeth *s_veth; + const char * peer_name = NULL; + const char * con_peer_name = NULL; + int ifindex; + + nm_utils_complete_generic(nm_device_get_platform(device), + connection, + NM_SETTING_VETH_SETTING_NAME, + existing_connections, + NULL, + _("Veth connection"), + "veth", + NULL, + TRUE); + + s_veth = _nm_connection_get_setting(connection, NM_TYPE_SETTING_VETH); + if (!s_veth) { + s_veth = (NMSettingVeth *) nm_setting_veth_new(); + nm_connection_add_setting(connection, NM_SETTING(s_veth)); + } + + ifindex = nm_device_get_ip_ifindex(device); + if (ifindex > 0) { + const NMPlatformLink *pllink; + + pllink = nm_platform_link_get(nm_device_get_platform(device), ifindex); + if (pllink && pllink->type == NM_LINK_TYPE_VETH && pllink->parent > 0) { + pllink = nm_platform_link_get(nm_device_get_platform(device), pllink->parent); + + if (pllink && pllink->type == NM_LINK_TYPE_VETH) { + peer_name = pllink->name; + } + } + } + + if (!peer_name) { + nm_utils_error_set(error, NM_UTILS_ERROR_UNKNOWN, "cannot find peer for veth device"); + return FALSE; + } + + con_peer_name = nm_setting_veth_get_peer(s_veth); + if (con_peer_name) { + nm_utils_error_set(error, + NM_UTILS_ERROR_UNKNOWN, + "mismatching veth peer \"%s\"", + con_peer_name); + return FALSE; + } else + g_object_set(s_veth, NM_SETTING_VETH_PEER, peer_name, NULL); + + return TRUE; + } + s_pppoe = nm_connection_get_setting_pppoe(connection); /* We can't telepathically figure out the service name or username, so if diff --git a/src/devices/nm-device-veth.c b/src/devices/nm-device-veth.c index 0f08242..0fc76b1 100644 --- a/src/devices/nm-device-veth.c +++ b/src/devices/nm-device-veth.c @@ -121,34 +121,6 @@ get_generic_capabilities(NMDevice *device) return NM_DEVICE_CAP_CARRIER_DETECT | NM_DEVICE_CAP_IS_SOFTWARE; } -static gboolean -complete_connection(NMDevice * device, - NMConnection * connection, - const char * specific_object, - NMConnection *const *existing_connections, - GError ** error) -{ - NMSettingVeth *s_veth; - - nm_utils_complete_generic(nm_device_get_platform(device), - connection, - NM_SETTING_VETH_SETTING_NAME, - existing_connections, - NULL, - _("Veth connection"), - "veth", - NULL, - TRUE); - - s_veth = _nm_connection_get_setting(connection, NM_TYPE_SETTING_VETH); - if (!s_veth) { - s_veth = (NMSettingVeth *) nm_setting_veth_new(); - nm_connection_add_setting(connection, NM_SETTING(s_veth)); - } - - return TRUE; -} - /*****************************************************************************/ static void @@ -215,7 +187,6 @@ nm_device_veth_class_init(NMDeviceVethClass *klass) device_class->link_changed = link_changed; device_class->parent_changed_notify = parent_changed_notify; device_class->create_and_realize = create_and_realize; - device_class->complete_connection = complete_connection; device_class->get_generic_capabilities = get_generic_capabilities; obj_properties[PROP_PEER] = g_param_spec_string(NM_DEVICE_VETH_PEER, diff --git a/src/devices/nm-device.c b/src/devices/nm-device.c index 59812ef..574f8c6 100644 --- a/src/devices/nm-device.c +++ b/src/devices/nm-device.c @@ -5148,26 +5148,26 @@ device_recheck_slave_status(NMDevice *self, const NMPlatformLink *plink) static void ndisc_set_router_config(NMNDisc *ndisc, NMDevice *self) { - NMDevicePrivate * priv = NM_DEVICE_GET_PRIVATE(self); - gint32 now; - GArray * addresses, *dns_servers, *dns_domains; - guint len, i; + NMDevicePrivate *priv = NM_DEVICE_GET_PRIVATE(self); + gs_unref_array GArray *addresses = NULL; + gs_unref_array GArray *dns_servers = NULL; + gs_unref_array GArray * dns_domains = NULL; + guint len; + guint i; const NMDedupMultiHeadEntry *head_entry; NMDedupMultiIter ipconf_iter; if (nm_ndisc_get_node_type(ndisc) != NM_NDISC_NODE_TYPE_ROUTER) return; - now = nm_utils_get_monotonic_timestamp_sec(); - head_entry = nm_ip6_config_lookup_addresses(priv->ip_config_6); addresses = g_array_sized_new(FALSE, TRUE, sizeof(NMNDiscAddress), head_entry ? head_entry->len : 0); nm_dedup_multi_iter_for_each (&ipconf_iter, head_entry) { const NMPlatformIP6Address *addr = NMP_OBJECT_CAST_IP6_ADDRESS(ipconf_iter.current->obj); NMNDiscAddress * ndisc_addr; - guint32 lifetime, preferred; - gint32 base; + guint32 lifetime; + guint32 preferred; if (IN6_IS_ADDR_UNSPECIFIED(&addr->address) || IN6_IS_ADDR_LINKLOCAL(&addr->address)) continue; @@ -5178,31 +5178,21 @@ ndisc_set_router_config(NMNDisc *ndisc, NMDevice *self) if (addr->plen != 64) continue; - /* resolve the timestamps relative to a new base. - * - * Note that for convenience, platform @addr might have timestamp and/or - * lifetime unset. We don't allow that flexibility for ndisc and require - * well defined timestamps. */ - if (addr->timestamp) { - nm_assert(addr->timestamp < G_MAXINT32); - base = addr->timestamp; - } else - base = now; - lifetime = nm_utils_lifetime_get(addr->timestamp, addr->lifetime, addr->preferred, - base, + NM_NDISC_EXPIRY_BASE_TIMESTAMP / 1000, &preferred); if (!lifetime) continue; g_array_set_size(addresses, addresses->len + 1); - ndisc_addr = &g_array_index(addresses, NMNDiscAddress, addresses->len - 1); - ndisc_addr->address = addr->address; - ndisc_addr->timestamp = base; - ndisc_addr->lifetime = lifetime; - ndisc_addr->preferred = preferred; + ndisc_addr = &g_array_index(addresses, NMNDiscAddress, addresses->len - 1); + ndisc_addr->address = addr->address; + ndisc_addr->expiry_msec = + _nm_ndisc_lifetime_to_expiry(NM_NDISC_EXPIRY_BASE_TIMESTAMP, lifetime); + ndisc_addr->expiry_preferred_msec = + _nm_ndisc_lifetime_to_expiry(NM_NDISC_EXPIRY_BASE_TIMESTAMP, preferred); } len = nm_ip6_config_get_num_nameservers(priv->ip_config_6); @@ -5212,10 +5202,10 @@ ndisc_set_router_config(NMNDisc *ndisc, NMDevice *self) const struct in6_addr *nameserver = nm_ip6_config_get_nameserver(priv->ip_config_6, i); NMNDiscDNSServer * ndisc_nameserver; - ndisc_nameserver = &g_array_index(dns_servers, NMNDiscDNSServer, i); - ndisc_nameserver->address = *nameserver; - ndisc_nameserver->timestamp = now; - ndisc_nameserver->lifetime = NM_NDISC_ROUTER_LIFETIME; + ndisc_nameserver = &g_array_index(dns_servers, NMNDiscDNSServer, i); + ndisc_nameserver->address = *nameserver; + ndisc_nameserver->expiry_msec = + _nm_ndisc_lifetime_to_expiry(NM_NDISC_EXPIRY_BASE_TIMESTAMP, NM_NDISC_ROUTER_LIFETIME); } len = nm_ip6_config_get_num_searches(priv->ip_config_6); @@ -5225,16 +5215,13 @@ ndisc_set_router_config(NMNDisc *ndisc, NMDevice *self) const char * search = nm_ip6_config_get_search(priv->ip_config_6, i); NMNDiscDNSDomain *ndisc_search; - ndisc_search = &g_array_index(dns_domains, NMNDiscDNSDomain, i); - ndisc_search->domain = (char *) search; - ndisc_search->timestamp = now; - ndisc_search->lifetime = NM_NDISC_ROUTER_LIFETIME; + ndisc_search = &g_array_index(dns_domains, NMNDiscDNSDomain, i); + ndisc_search->domain = (char *) search; + ndisc_search->expiry_msec = + _nm_ndisc_lifetime_to_expiry(NM_NDISC_EXPIRY_BASE_TIMESTAMP, NM_NDISC_ROUTER_LIFETIME); } nm_ndisc_set_config(ndisc, addresses, dns_servers, dns_domains); - g_array_unref(addresses); - g_array_unref(dns_servers); - g_array_unref(dns_domains); } static void @@ -15372,6 +15359,15 @@ check_connection_available(NMDevice * self, if (nm_device_is_master(self)) return TRUE; + if (!priv->up) { + /* If the device is !IFF_UP it also has no carrier. But we assume that if we + * would start activating the device (and thereby set the device IFF_UP), + * that we would get a carrier. We only know after we set the device up, + * and we only set it up after we start activating it. So presumably, this + * profile would be available (but we just don't know). */ + return TRUE; + } + nm_utils_error_set_literal(error, NM_UTILS_ERROR_CONNECTION_AVAILABLE_TEMPORARY, "device has no carrier"); @@ -17648,6 +17644,11 @@ 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_SET_OUT(out_wait, FALSE); + return NULL; + } + method = nm_device_get_effective_ip_config_method(self, addr_family); if (IS_IPv4) { if (NM_IN_STRSET(method, NM_SETTING_IP4_CONFIG_METHOD_DISABLED)) { diff --git a/src/devices/ovs/nm-device-ovs-interface.c b/src/devices/ovs/nm-device-ovs-interface.c index e73ddeb..b9d3d50 100644 --- a/src/devices/ovs/nm-device-ovs-interface.c +++ b/src/devices/ovs/nm-device-ovs-interface.c @@ -22,7 +22,8 @@ /*****************************************************************************/ typedef struct { - bool waiting_for_interface : 1; + NMOvsdb *ovsdb; + bool waiting_for_interface : 1; } NMDeviceOvsInterfacePrivate; struct _NMDeviceOvsInterface { @@ -70,7 +71,10 @@ get_generic_capabilities(NMDevice *device) static gboolean is_available(NMDevice *device, NMDeviceCheckDevAvailableFlags flags) { - return TRUE; + NMDeviceOvsInterface * self = NM_DEVICE_OVS_INTERFACE(device); + NMDeviceOvsInterfacePrivate *priv = NM_DEVICE_OVS_INTERFACE_GET_PRIVATE(self); + + return nm_ovsdb_is_ready(priv->ovsdb); } static gboolean @@ -152,6 +156,9 @@ set_platform_mtu_cb(GError *error, gpointer user_data) static gboolean set_platform_mtu(NMDevice *device, guint32 mtu) { + NMDeviceOvsInterface * self = NM_DEVICE_OVS_INTERFACE(device); + NMDeviceOvsInterfacePrivate *priv = NM_DEVICE_OVS_INTERFACE_GET_PRIVATE(self); + /* * If the MTU is not set in ovsdb, Open vSwitch will change * the MTU of an internal interface to match the minimum of @@ -162,7 +169,7 @@ set_platform_mtu(NMDevice *device, guint32 mtu) * it can be stopped during shutdown. */ if (_is_internal_interface(device)) { - nm_ovsdb_set_interface_mtu(nm_ovsdb_get(), + nm_ovsdb_set_interface_mtu(priv->ovsdb, nm_device_get_ip_iface(device), mtu, set_platform_mtu_cb, @@ -361,8 +368,41 @@ can_update_from_platform_link(NMDevice *device, const NMPlatformLink *plink) /*****************************************************************************/ static void +ovsdb_ready(NMOvsdb *ovsdb, NMDeviceOvsInterface *self) +{ + NMDevice *device = NM_DEVICE(self); + + nm_device_queue_recheck_available(device, + NM_DEVICE_STATE_REASON_NONE, + NM_DEVICE_STATE_REASON_NONE); + nm_device_recheck_available_connections(device); + nm_device_emit_recheck_auto_activate(device); +} + +static void nm_device_ovs_interface_init(NMDeviceOvsInterface *self) -{} +{ + NMDeviceOvsInterfacePrivate *priv = NM_DEVICE_OVS_INTERFACE_GET_PRIVATE(self); + + priv->ovsdb = g_object_ref(nm_ovsdb_get()); + + if (!nm_ovsdb_is_ready(priv->ovsdb)) + g_signal_connect(priv->ovsdb, NM_OVSDB_READY, G_CALLBACK(ovsdb_ready), self); +} + +static void +dispose(GObject *object) +{ + NMDeviceOvsInterface * self = NM_DEVICE_OVS_INTERFACE(object); + NMDeviceOvsInterfacePrivate *priv = NM_DEVICE_OVS_INTERFACE_GET_PRIVATE(self); + + if (priv->ovsdb) { + g_signal_handlers_disconnect_by_func(priv->ovsdb, G_CALLBACK(ovsdb_ready), self); + g_clear_object(&priv->ovsdb); + } + + G_OBJECT_CLASS(nm_device_ovs_interface_parent_class)->dispose(object); +} static const NMDBusInterfaceInfoExtended interface_info_device_ovs_interface = { .parent = NM_DEFINE_GDBUS_INTERFACE_INFO_INIT( @@ -374,9 +414,12 @@ static const NMDBusInterfaceInfoExtended interface_info_device_ovs_interface = { static void nm_device_ovs_interface_class_init(NMDeviceOvsInterfaceClass *klass) { + GObjectClass * object_class = G_OBJECT_CLASS(klass); NMDBusObjectClass *dbus_object_class = NM_DBUS_OBJECT_CLASS(klass); NMDeviceClass * device_class = NM_DEVICE_CLASS(klass); + object_class->dispose = dispose; + dbus_object_class->interface_infos = NM_DBUS_INTERFACE_INFOS(&interface_info_device_ovs_interface); diff --git a/src/devices/ovs/nm-ovs-factory.c b/src/devices/ovs/nm-ovs-factory.c index 9eb79d3..10b6d7f 100644 --- a/src/devices/ovs/nm-ovs-factory.c +++ b/src/devices/ovs/nm-ovs-factory.c @@ -106,11 +106,24 @@ new_device_from_type(const char *name, NMDeviceType device_type) } static void -ovsdb_device_added(NMOvsdb *ovsdb, const char *name, guint device_type_i, NMDeviceFactory *self) +ovsdb_device_added(NMOvsdb * ovsdb, + const char * name, + guint device_type_i, + const char * subtype, + NMDeviceFactory *self) { const NMDeviceType device_type = device_type_i; NMDevice * device; + if (device_type == NM_DEVICE_TYPE_OVS_INTERFACE + && !NM_IN_STRSET(subtype, "internal", "patch")) { + /* system interfaces refer to kernel devices and + * don't need to be created by this factory. Ignore + * anything that is not an internal or patch + * interface. */ + return; + } + device = new_device_from_type(name, device_type); if (!device) return; @@ -120,23 +133,59 @@ ovsdb_device_added(NMOvsdb *ovsdb, const char *name, guint device_type_i, NMDevi } static void -ovsdb_device_removed(NMOvsdb *ovsdb, const char *name, guint device_type_i, NMDeviceFactory *self) +ovsdb_device_removed(NMOvsdb * ovsdb, + const char * name, + guint device_type_i, + const char * subtype, + NMDeviceFactory *self) { const NMDeviceType device_type = device_type_i; - NMDevice * device; + NMDevice * device = NULL; NMDeviceState device_state; + gboolean is_system_interface = FALSE; + + if (device_type == NM_DEVICE_TYPE_OVS_INTERFACE + && !NM_IN_STRSET(subtype, "internal", "patch", "system")) + return; + + if (device_type == NM_DEVICE_TYPE_OVS_INTERFACE && nm_streq0(subtype, "system")) { + NMDevice * d; + const CList * list; + NMSettingOvsInterface *s_ovs_int; + + /* The device associated to an OVS system interface can be of + * any kind. Find an interface with the same name and which has + * the OVS-interface setting. */ + is_system_interface = TRUE; + nm_manager_for_each_device (NM_MANAGER_GET, d, list) { + if (!nm_streq0(nm_device_get_iface(d), name)) + continue; + s_ovs_int = nm_device_get_applied_setting(d, NM_TYPE_SETTING_OVS_INTERFACE); + if (!s_ovs_int) + continue; + if (!nm_streq0(nm_setting_ovs_interface_get_interface_type(s_ovs_int), "system")) + continue; + device = d; + } + } else { + device = nm_manager_get_device(NM_MANAGER_GET, name, device_type); + } - device = nm_manager_get_device(NM_MANAGER_GET, name, device_type); if (!device) return; device_state = nm_device_get_state(device); - if (device_type == NM_DEVICE_TYPE_OVS_INTERFACE && device_state > NM_DEVICE_STATE_DISCONNECTED + + if (device_type == NM_DEVICE_TYPE_OVS_INTERFACE && nm_device_get_act_request(device) && device_state < NM_DEVICE_STATE_DEACTIVATING) { nm_device_state_changed(device, NM_DEVICE_STATE_DEACTIVATING, - NM_DEVICE_STATE_REASON_DEPENDENCY_FAILED); - } else if (device_state == NM_DEVICE_STATE_UNMANAGED) { + NM_DEVICE_STATE_REASON_REMOVED); + return; + } + + /* OVS system interfaces still exist even without the ovsdb entry */ + if (!is_system_interface && device_state == NM_DEVICE_STATE_UNMANAGED) { nm_device_unrealize(device, TRUE, NULL); } } diff --git a/src/devices/ovs/nm-ovsdb.c b/src/devices/ovs/nm-ovsdb.c index cd14920..de54a2e 100644 --- a/src/devices/ovs/nm-ovsdb.c +++ b/src/devices/ovs/nm-ovsdb.c @@ -15,6 +15,7 @@ #include "nm-core-utils.h" #include "nm-core-internal.h" #include "devices/nm-device.h" +#include "nm-manager.h" #include "nm-setting-ovs-external-ids.h" /*****************************************************************************/ @@ -106,7 +107,13 @@ typedef struct { /*****************************************************************************/ -enum { DEVICE_ADDED, DEVICE_REMOVED, INTERFACE_FAILED, LAST_SIGNAL }; +enum { + DEVICE_ADDED, + DEVICE_REMOVED, + INTERFACE_FAILED, + READY, + LAST_SIGNAL, +}; static guint signals[LAST_SIGNAL] = {0}; @@ -127,6 +134,8 @@ typedef struct { GHashTable *bridges; /* bridge uuid => OpenvswitchBridge */ char * db_uuid; guint num_failures; + guint num_pending_deletions; + bool ready : 1; } NMOvsdbPrivate; struct _NMOvsdb { @@ -316,26 +325,24 @@ _free_interface(OpenvswitchInterface *ovs_interface) nm_g_slice_free(ovs_interface); } -static gboolean -_openvswitch_interface_should_emit_signal(const OpenvswitchInterface *ovs_interface) -{ - /* Currently, the factory only creates NMDevices for - * internal interfaces. We ignore the rest. */ - return nm_streq0(ovs_interface->type, "internal"); -} - /*****************************************************************************/ static void -_signal_emit_device_added(NMOvsdb *self, const char *name, NMDeviceType device_type) +_signal_emit_device_added(NMOvsdb * self, + const char * name, + NMDeviceType device_type, + const char * device_subtype) { - g_signal_emit(self, signals[DEVICE_ADDED], 0, name, (guint) device_type); + g_signal_emit(self, signals[DEVICE_ADDED], 0, name, (guint) device_type, device_subtype); } static void -_signal_emit_device_removed(NMOvsdb *self, const char *name, NMDeviceType device_type) +_signal_emit_device_removed(NMOvsdb * self, + const char * name, + NMDeviceType device_type, + const char * device_subtype) { - g_signal_emit(self, signals[DEVICE_REMOVED], 0, name, (guint) device_type); + g_signal_emit(self, signals[DEVICE_REMOVED], 0, name, (guint) device_type, device_subtype); } static void @@ -1630,11 +1637,10 @@ ovsdb_got_update(NMOvsdb *self, json_t *msg) ", ", ovs_interface->connection_uuid, "")); - if (_openvswitch_interface_should_emit_signal(ovs_interface)) { - _signal_emit_device_removed(self, - ovs_interface->name, - NM_DEVICE_TYPE_OVS_INTERFACE); - } + _signal_emit_device_removed(self, + ovs_interface->name, + NM_DEVICE_TYPE_OVS_INTERFACE, + ovs_interface->type); _free_interface(ovs_interface); continue; } @@ -1645,11 +1651,10 @@ ovsdb_got_update(NMOvsdb *self, json_t *msg) && (!nm_streq0(ovs_interface->name, name) || !nm_streq0(ovs_interface->type, type))) { if (!g_hash_table_steal(priv->interfaces, ovs_interface)) nm_assert_not_reached(); - if (_openvswitch_interface_should_emit_signal(ovs_interface)) { - _signal_emit_device_removed(self, - ovs_interface->name, - NM_DEVICE_TYPE_OVS_INTERFACE); - } + _signal_emit_device_removed(self, + ovs_interface->name, + NM_DEVICE_TYPE_OVS_INTERFACE, + ovs_interface->type); nm_clear_pointer(&ovs_interface, _free_interface); } @@ -1700,8 +1705,10 @@ ovsdb_got_update(NMOvsdb *self, json_t *msg) ovs_interface->connection_uuid, ""), (strtmp = _external_ids_to_string(ovs_interface->external_ids))); - if (_openvswitch_interface_should_emit_signal(ovs_interface)) - _signal_emit_device_added(self, ovs_interface->name, NM_DEVICE_TYPE_OVS_INTERFACE); + _signal_emit_device_added(self, + ovs_interface->name, + NM_DEVICE_TYPE_OVS_INTERFACE, + ovs_interface->type); } /* The error is a string. No error is indicated by an empty set, @@ -1747,7 +1754,7 @@ ovsdb_got_update(NMOvsdb *self, json_t *msg) ", ", ovs_port->connection_uuid, "")); - _signal_emit_device_removed(self, ovs_port->name, NM_DEVICE_TYPE_OVS_PORT); + _signal_emit_device_removed(self, ovs_port->name, NM_DEVICE_TYPE_OVS_PORT, NULL); _free_port(ovs_port); continue; } @@ -1757,7 +1764,7 @@ ovsdb_got_update(NMOvsdb *self, json_t *msg) if (ovs_port && !nm_streq0(ovs_port->name, name)) { if (!g_hash_table_steal(priv->ports, ovs_port)) nm_assert_not_reached(); - _signal_emit_device_removed(self, ovs_port->name, NM_DEVICE_TYPE_OVS_PORT); + _signal_emit_device_removed(self, ovs_port->name, NM_DEVICE_TYPE_OVS_PORT, NULL); nm_clear_pointer(&ovs_port, _free_port); } @@ -1811,7 +1818,7 @@ ovsdb_got_update(NMOvsdb *self, json_t *msg) ovs_port->connection_uuid, ""), (strtmp = _external_ids_to_string(ovs_port->external_ids))); - _signal_emit_device_added(self, ovs_port->name, NM_DEVICE_TYPE_OVS_PORT); + _signal_emit_device_added(self, ovs_port->name, NM_DEVICE_TYPE_OVS_PORT, NULL); } } @@ -1852,7 +1859,7 @@ ovsdb_got_update(NMOvsdb *self, json_t *msg) ", ", ovs_bridge->connection_uuid, "")); - _signal_emit_device_removed(self, ovs_bridge->name, NM_DEVICE_TYPE_OVS_BRIDGE); + _signal_emit_device_removed(self, ovs_bridge->name, NM_DEVICE_TYPE_OVS_BRIDGE, NULL); _free_bridge(ovs_bridge); continue; } @@ -1862,7 +1869,7 @@ ovsdb_got_update(NMOvsdb *self, json_t *msg) if (ovs_bridge && !nm_streq0(ovs_bridge->name, name)) { if (!g_hash_table_steal(priv->bridges, ovs_bridge)) nm_assert_not_reached(); - _signal_emit_device_removed(self, ovs_bridge->name, NM_DEVICE_TYPE_OVS_BRIDGE); + _signal_emit_device_removed(self, ovs_bridge->name, NM_DEVICE_TYPE_OVS_BRIDGE, NULL); nm_clear_pointer(&ovs_bridge, _free_bridge); } @@ -1916,7 +1923,7 @@ ovsdb_got_update(NMOvsdb *self, json_t *msg) ovs_bridge->connection_uuid, ""), (strtmp = _external_ids_to_string(ovs_bridge->external_ids))); - _signal_emit_device_added(self, ovs_bridge->name, NM_DEVICE_TYPE_OVS_BRIDGE); + _signal_emit_device_added(self, ovs_bridge->name, NM_DEVICE_TYPE_OVS_BRIDGE, NULL); } } } @@ -2221,6 +2228,9 @@ ovsdb_disconnect(NMOvsdb *self, gboolean retry, gboolean is_disposing) _LOGD("disconnecting from ovsdb, retry %d", retry); + /* FIXME(shutdown): NMOvsdb should process the pending calls before + * shutting down, and cancel the remaining calls after the timeout. */ + if (retry) { if (!c_list_is_empty(&priv->calls_lst_head)) { call = c_list_first_entry(&priv->calls_lst_head, OvsdbMethodCall, calls_lst); @@ -2250,6 +2260,76 @@ ovsdb_disconnect(NMOvsdb *self, gboolean retry, gboolean is_disposing) } static void +_check_ready(NMOvsdb *self) +{ + NMOvsdbPrivate *priv = NM_OVSDB_GET_PRIVATE(self); + + 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()); + } +} + +static void +_del_initial_iface_cb(GError *error, gpointer user_data) +{ + NMOvsdb * self; + gs_free char * ifname = NULL; + NMOvsdbPrivate *priv; + + nm_utils_user_data_unpack(user_data, &self, &ifname); + + if (nm_utils_error_is_cancelled_or_disposing(error)) + return; + + priv = NM_OVSDB_GET_PRIVATE(self); + nm_assert(priv->num_pending_deletions > 0); + priv->num_pending_deletions--; + + _LOGD("delete initial interface '%s': %s %s%s%s, pending %u", + ifname, + error ? "error" : "success", + error ? "(" : "", + error ? error->message : "", + error ? ")" : "", + priv->num_pending_deletions); + + _check_ready(self); +} + +static void +ovsdb_cleanup_initial_interfaces(NMOvsdb *self) +{ + NMOvsdbPrivate * priv = NM_OVSDB_GET_PRIVATE(self); + const OpenvswitchInterface *interface; + NMUtilsUserData * data; + GHashTableIter iter; + + if (priv->ready || priv->num_pending_deletions != 0) + return; + + /* Delete OVS interfaces added by NM. Bridges and ports and + * not considered because they are deleted automatically + * 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); + } + } + + _check_ready(self); +} + +static void _monitor_bridges_cb(NMOvsdb *self, json_t *result, GError *error, gpointer user_data) { if (error) { @@ -2263,6 +2343,8 @@ _monitor_bridges_cb(NMOvsdb *self, json_t *result, GError *error, gpointer user_ /* Treat the first response the same as the subsequent "update" * messages we eventually get. */ ovsdb_got_update(self, result); + + ovsdb_cleanup_initial_interfaces(self); } static void @@ -2382,6 +2464,14 @@ ovsdb_call_new(NMOvsdbCallback callback, gpointer user_data) return call; } +gboolean +nm_ovsdb_is_ready(NMOvsdb *self) +{ + NMOvsdbPrivate *priv = NM_OVSDB_GET_PRIVATE(self); + + return priv->ready; +} + void nm_ovsdb_add_interface(NMOvsdb * self, NMConnection * bridge, @@ -2525,9 +2615,10 @@ nm_ovsdb_class_init(NMOvsdbClass *klass) NULL, NULL, G_TYPE_NONE, - 2, + 3, G_TYPE_STRING, - G_TYPE_UINT); + G_TYPE_UINT, + G_TYPE_STRING); signals[DEVICE_REMOVED] = g_signal_new(NM_OVSDB_DEVICE_REMOVED, G_OBJECT_CLASS_TYPE(object_class), @@ -2537,9 +2628,10 @@ nm_ovsdb_class_init(NMOvsdbClass *klass) NULL, NULL, G_TYPE_NONE, - 2, + 3, G_TYPE_STRING, - G_TYPE_UINT); + G_TYPE_UINT, + G_TYPE_STRING); signals[INTERFACE_FAILED] = g_signal_new(NM_OVSDB_INTERFACE_FAILED, G_OBJECT_CLASS_TYPE(object_class), @@ -2553,4 +2645,14 @@ nm_ovsdb_class_init(NMOvsdbClass *klass) G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING); + + signals[READY] = g_signal_new(NM_OVSDB_READY, + G_OBJECT_CLASS_TYPE(object_class), + G_SIGNAL_RUN_LAST, + 0, + NULL, + NULL, + NULL, + G_TYPE_NONE, + 0); } diff --git a/src/devices/ovs/nm-ovsdb.h b/src/devices/ovs/nm-ovsdb.h index 533b234..d0b4d19 100644 --- a/src/devices/ovs/nm-ovsdb.h +++ b/src/devices/ovs/nm-ovsdb.h @@ -16,6 +16,7 @@ #define NM_OVSDB_DEVICE_ADDED "device-added" #define NM_OVSDB_DEVICE_REMOVED "device-removed" #define NM_OVSDB_INTERFACE_FAILED "interface-failed" +#define NM_OVSDB_READY "ready" typedef struct _NMOvsdb NMOvsdb; typedef struct _NMOvsdbClass NMOvsdbClass; @@ -55,4 +56,6 @@ void nm_ovsdb_set_external_ids(NMOvsdb * self, struct _NMSettingOvsExternalIDs *s_exid_old, struct _NMSettingOvsExternalIDs *s_exid_new); +gboolean nm_ovsdb_is_ready(NMOvsdb *self); + #endif /* __NETWORKMANAGER_OVSDB_H__ */ diff --git a/src/dhcp/nm-dhcp-client.c b/src/dhcp/nm-dhcp-client.c index 8da3e87..3ee8510 100644 --- a/src/dhcp/nm-dhcp-client.c +++ b/src/dhcp/nm-dhcp-client.c @@ -367,10 +367,13 @@ reason_to_state(NMDhcpClient *self, const char *iface, const char *reason) else if (g_ascii_strcasecmp(reason, "nak") == 0 || g_ascii_strcasecmp(reason, "expire") == 0 || g_ascii_strcasecmp(reason, "expire6") == 0) return NM_DHCP_STATE_EXPIRE; - else if (g_ascii_strcasecmp(reason, "end") == 0) + else if (g_ascii_strcasecmp(reason, "end") == 0 || g_ascii_strcasecmp(reason, "stop") == 0 + || g_ascii_strcasecmp(reason, "stopped") == 0) return NM_DHCP_STATE_DONE; else if (g_ascii_strcasecmp(reason, "fail") == 0 || g_ascii_strcasecmp(reason, "abend") == 0) return NM_DHCP_STATE_FAIL; + else if (g_ascii_strcasecmp(reason, "preinit") == 0) + return NM_DHCP_STATE_NOOP; _LOGD("unmapped DHCP state '%s'", reason); return NM_DHCP_STATE_UNKNOWN; @@ -547,6 +550,18 @@ nm_dhcp_client_watch_child(NMDhcpClient *self, pid_t pid) priv->watch_id = g_child_watch_add(pid, daemon_watch_cb, self); } +void +nm_dhcp_client_stop_watch_child(NMDhcpClient *self, pid_t pid) +{ + NMDhcpClientPrivate *priv = NM_DHCP_CLIENT_GET_PRIVATE(self); + + g_return_if_fail(priv->pid == pid); + priv->pid = -1; + + watch_cleanup(self); + timeout_cleanup(self); +} + gboolean nm_dhcp_client_start_ip4(NMDhcpClient *self, GBytes * client_id, @@ -874,6 +889,9 @@ nm_dhcp_client_handle_event(gpointer unused, state_to_string(new_state), reason); + if (new_state == NM_DHCP_STATE_NOOP) + return TRUE; + if (NM_IN_SET(new_state, NM_DHCP_STATE_BOUND, NM_DHCP_STATE_EXTENDED)) { GVariantIter iter; const char * name; diff --git a/src/dhcp/nm-dhcp-client.h b/src/dhcp/nm-dhcp-client.h index 9fa0ef9..72ab477 100644 --- a/src/dhcp/nm-dhcp-client.h +++ b/src/dhcp/nm-dhcp-client.h @@ -55,6 +55,7 @@ typedef enum { NM_DHCP_STATE_EXPIRE, /* lease expired or NAKed */ NM_DHCP_STATE_FAIL, /* failed for some reason */ NM_DHCP_STATE_TERMINATED, /* client is no longer running */ + NM_DHCP_STATE_NOOP, /* state is a non operation for NetworkManager */ __NM_DHCP_STATE_MAX, NM_DHCP_STATE_MAX = __NM_DHCP_STATE_MAX - 1, } NMDhcpState; @@ -183,6 +184,8 @@ void nm_dhcp_client_start_timeout(NMDhcpClient *self); void nm_dhcp_client_watch_child(NMDhcpClient *self, pid_t pid); +void nm_dhcp_client_stop_watch_child(NMDhcpClient *self, pid_t pid); + void nm_dhcp_client_set_state(NMDhcpClient *self, NMDhcpState new_state, NMIPConfig * ip_config, diff --git a/src/dhcp/nm-dhcp-dhcpcd.c b/src/dhcp/nm-dhcp-dhcpcd.c index 772c696..4f45c3a 100644 --- a/src/dhcp/nm-dhcp-dhcpcd.c +++ b/src/dhcp/nm-dhcp-dhcpcd.c @@ -1,6 +1,6 @@ /* SPDX-License-Identifier: GPL-2.0-or-later */ /* - * Copyright (C) 2008 Roy Marples + * Copyright (C) 2008,2020 Roy Marples * Copyright (C) 2010 Dan Williams */ @@ -40,7 +40,6 @@ static GType nm_dhcp_dhcpcd_get_type(void); /*****************************************************************************/ typedef struct { - char * pid_file; NMDhcpListener *dhcp_listener; } NMDhcpDhcpcdPrivate; @@ -71,39 +70,37 @@ ip4_start(NMDhcpClient *client, const char * last_ip4_address, GError ** error) { - NMDhcpDhcpcd * self = NM_DHCP_DHCPCD(client); - NMDhcpDhcpcdPrivate *priv = NM_DHCP_DHCPCD_GET_PRIVATE(self); - gs_unref_ptrarray GPtrArray *argv = NULL; - pid_t pid = -1; - GError * local = NULL; - gs_free char * cmd_str = NULL; - gs_free char * binary_name = NULL; + NMDhcpDhcpcd * self = NM_DHCP_DHCPCD(client); + gs_unref_ptrarray GPtrArray *argv = NULL; + pid_t pid; + GError * local; + gs_free char * cmd_str = NULL; const char * iface; const char * dhcpcd_path; const char * hostname; - g_return_val_if_fail(priv->pid_file == NULL, FALSE); + pid = nm_dhcp_client_get_pid(client); + g_return_val_if_fail(pid == -1, FALSE); iface = nm_dhcp_client_get_iface(client); - /* dhcpcd does not allow custom pidfiles; the pidfile is always - * RUNSTATEDIR "dhcpcd-.pid". - */ - priv->pid_file = g_strdup_printf(RUNSTATEDIR "/dhcpcd-%s.pid", iface); - dhcpcd_path = nm_dhcp_dhcpcd_get_path(); if (!dhcpcd_path) { nm_utils_error_set_literal(error, NM_UTILS_ERROR_UNKNOWN, "dhcpcd binary not found"); return FALSE; } - /* Kill any existing dhcpcd from the pidfile */ - binary_name = g_path_get_basename(dhcpcd_path); - nm_dhcp_client_stop_existing(priv->pid_file, binary_name); - argv = g_ptr_array_new(); g_ptr_array_add(argv, (gpointer) dhcpcd_path); + /* Don't configure anything, we will do that instead. + * This requires dhcpcd-9.3.3 or newer. + * Older versions only had an option not to install a default route, + * dhcpcd still added addresses and other routes so we no longer support that + * as it doesn't fit how NetworkManager wants to work. + */ + g_ptr_array_add(argv, (gpointer) "--noconfigure"); + g_ptr_array_add(argv, (gpointer) "-B"); /* Don't background on lease (disable fork()) */ g_ptr_array_add(argv, (gpointer) "-K"); /* Disable built-in carrier detection */ @@ -113,8 +110,6 @@ ip4_start(NMDhcpClient *client, /* --noarp. Don't request or claim the address by ARP; this also disables IPv4LL. */ g_ptr_array_add(argv, (gpointer) "-A"); - g_ptr_array_add(argv, (gpointer) "-G"); /* Let NM handle routing */ - g_ptr_array_add(argv, (gpointer) "-c"); /* Set script file */ g_ptr_array_add(argv, (gpointer) nm_dhcp_helper_path); @@ -146,8 +141,8 @@ ip4_start(NMDhcpClient *client, if (!g_spawn_async(NULL, (char **) argv->pdata, NULL, - G_SPAWN_DO_NOT_REAP_CHILD | G_SPAWN_STDOUT_TO_DEV_NULL - | G_SPAWN_STDERR_TO_DEV_NULL, + G_SPAWN_STDOUT_TO_DEV_NULL | G_SPAWN_STDERR_TO_DEV_NULL + | G_SPAWN_DO_NOT_REAP_CHILD, nm_utils_setpgid, NULL, &pid, @@ -169,23 +164,32 @@ ip4_start(NMDhcpClient *client, static void stop(NMDhcpClient *client, gboolean release) { - NMDhcpDhcpcd * self = NM_DHCP_DHCPCD(client); - NMDhcpDhcpcdPrivate *priv = NM_DHCP_DHCPCD_GET_PRIVATE(self); - int errsv; - - NM_DHCP_CLIENT_CLASS(nm_dhcp_dhcpcd_parent_class)->stop(client, release); - - if (priv->pid_file) { - if (remove(priv->pid_file) == -1) { - errsv = errno; - _LOGD("could not remove dhcp pid file \"%s\": %d (%s)", - priv->pid_file, - errsv, - nm_strerror_native(errsv)); - } + NMDhcpDhcpcd *self = NM_DHCP_DHCPCD(client); + pid_t pid; + int sig, errsv; + + pid = nm_dhcp_client_get_pid(client); + sig = release ? SIGALRM : SIGTERM; + _LOGD("sending %s to dhcpcd pid %d", sig == SIGALRM ? "SIGALRM" : "SIGTERM", pid); + + /* dhcpcd-9.x features privilege separation. + * It's not our job to track all these processes so we rely on dhcpcd + * to always cleanup after itself. + * Because it also re-parents itself to PID 1, the process cannot be + * reaped or waited for. + * As such, just send the correct signal. + */ + if (kill(pid, sig) == -1) { + errsv = errno; + _LOGE("failed to kill dhcpcd %d:%s", errsv, strerror(errsv)); } - /* FIXME: implement release... */ + /* When this function exits NM expects the PID to be -1. + * This means we also need to stop watching the pid. + * If we need to know the exit status then we need to refactor NM + * to allow a non -1 to mean we're waiting to exit still. + */ + nm_dhcp_client_stop_watch_child(client, pid); } /*****************************************************************************/ @@ -214,8 +218,6 @@ dispose(GObject *object) g_clear_object(&priv->dhcp_listener); } - nm_clear_g_free(&priv->pid_file); - G_OBJECT_CLASS(nm_dhcp_dhcpcd_parent_class)->dispose(object); } diff --git a/src/initrd/nm-initrd-generator.c b/src/initrd/nm-initrd-generator.c index af80d26..654adf9 100644 --- a/src/initrd/nm-initrd-generator.c +++ b/src/initrd/nm-initrd-generator.c @@ -9,6 +9,7 @@ #include "nm-keyfile/nm-keyfile-internal.h" #include "nm-initrd-generator.h" #include "nm-glib-aux/nm-io-utils.h" +#include "nm-config.h" /*****************************************************************************/ @@ -63,6 +64,7 @@ err_out: #define DEFAULT_SYSFS_DIR "/sys" #define DEFAULT_INITRD_DATA_DIR NMRUNDIR "/initrd" +#define DEFAULT_RUN_CONFIG_DIR NMRUNDIR "/conf.d" int main(int argc, char *argv[]) @@ -71,6 +73,7 @@ main(int argc, char *argv[]) gs_free char * connections_dir = NULL; gs_free char * initrd_dir = NULL; gs_free char * sysfs_dir = NULL; + gs_free char * run_config_dir = NULL; gboolean dump_to_stdout = FALSE; gs_strfreev char **remaining = NULL; GOptionEntry option_entries[] = { @@ -95,6 +98,13 @@ main(int argc, char *argv[]) &sysfs_dir, "The sysfs mount point", DEFAULT_SYSFS_DIR}, + {"run-config-dir", + 'r', + 0, + G_OPTION_ARG_FILENAME, + &run_config_dir, + "Output config directory", + DEFAULT_RUN_CONFIG_DIR}, {"stdout", 's', 0, @@ -108,11 +118,12 @@ main(int argc, char *argv[]) gs_free_error GError *error = NULL; gs_free char * hostname = NULL; int errsv; + gint64 carrier_timeout_sec = 0; option_context = g_option_context_new( "-- [ip=...] [rd.route=...] [bridge=...] [bond=...] [team=...] [vlan=...] " "[bootdev=...] [nameserver=...] [rd.peerdns=...] [rd.bootif=...] [BOOTIF=...] " - "[rd.znet=...] ... "); + "[rd.znet=...] [rd.net.timeout.carrier=...] ... "); g_option_context_set_summary(option_context, "Generate early NetworkManager configuration."); g_option_context_set_description( @@ -138,29 +149,39 @@ main(int argc, char *argv[]) sysfs_dir = g_strdup(DEFAULT_SYSFS_DIR); if (!initrd_dir) initrd_dir = g_strdup(DEFAULT_INITRD_DATA_DIR); - if (dump_to_stdout) - nm_clear_g_free(&connections_dir); - - if (connections_dir && g_mkdir_with_parents(connections_dir, 0755) != 0) { - errsv = errno; - _LOGW(LOGD_CORE, "%s: %s", connections_dir, nm_strerror_native(errsv)); - return 1; - } + if (!run_config_dir) + run_config_dir = g_strdup(DEFAULT_RUN_CONFIG_DIR); - connections = nmi_cmdline_reader_parse(sysfs_dir, (const char *const *) remaining, &hostname); - - g_hash_table_foreach(connections, output_conn, connections_dir); - g_hash_table_destroy(connections); + connections = nmi_cmdline_reader_parse(sysfs_dir, + (const char *const *) remaining, + &hostname, + &carrier_timeout_sec); if (dump_to_stdout) { + nm_clear_g_free(&connections_dir); + nm_clear_g_free(&initrd_dir); + nm_clear_g_free(&run_config_dir); if (hostname) g_print("\n*** Hostname '%s' ***\n", hostname); + if (carrier_timeout_sec != 0) + g_print("\n*** Carrier Wait Timeout %" G_GINT64_FORMAT " sec ***\n", + carrier_timeout_sec); } else { + if (g_mkdir_with_parents(connections_dir, 0755) != 0) { + errsv = errno; + _LOGW(LOGD_CORE, "%s: %s", connections_dir, nm_strerror_native(errsv)); + return 1; + } if (g_mkdir_with_parents(initrd_dir, 0755) != 0) { errsv = errno; _LOGW(LOGD_CORE, "%s: %s", initrd_dir, nm_strerror_native(errsv)); return 1; } + if (g_mkdir_with_parents(run_config_dir, 0755) != 0) { + errsv = errno; + _LOGW(LOGD_CORE, "%s: %s", run_config_dir, nm_strerror_native(errsv)); + return 1; + } if (hostname) { gs_free char *hostname_file = NULL; @@ -174,7 +195,32 @@ main(int argc, char *argv[]) return 1; } } + if (carrier_timeout_sec != 0) { + nm_auto_unref_keyfile GKeyFile *keyfile = NULL; + gs_free char * filename = NULL; + + keyfile = g_key_file_new(); + g_key_file_set_list_separator(keyfile, NM_CONFIG_KEYFILE_LIST_SEPARATOR); + filename = g_strdup_printf("%s/15-carrier-timeout.conf", run_config_dir); + + g_key_file_set_value(keyfile, + NM_CONFIG_KEYFILE_GROUPPREFIX_DEVICE "-15-carrier-timeout", + NM_CONFIG_KEYFILE_KEY_MATCH_DEVICE, + "*"); + g_key_file_set_int64(keyfile, + NM_CONFIG_KEYFILE_GROUPPREFIX_DEVICE "-15-carrier-timeout", + NM_CONFIG_KEYFILE_KEY_DEVICE_CARRIER_WAIT_TIMEOUT, + carrier_timeout_sec * 1000); + + if (!g_key_file_save_to_file(keyfile, filename, &error)) { + _LOGW(LOGD_CORE, "%s: %s", filename, error->message); + return 1; + } + } } + g_hash_table_foreach(connections, output_conn, connections_dir); + g_hash_table_destroy(connections); + return 0; } diff --git a/src/initrd/nm-initrd-generator.h b/src/initrd/nm-initrd-generator.h index 2fe5554..56dcfd6 100644 --- a/src/initrd/nm-initrd-generator.h +++ b/src/initrd/nm-initrd-generator.h @@ -37,7 +37,9 @@ nmi_ibft_update_connection_from_nic(NMConnection *connection, GHashTable *nic, G NMConnection *nmi_dt_reader_parse(const char *sysfs_dir); -GHashTable * -nmi_cmdline_reader_parse(const char *sysfs_dir, const char *const *argv, char **hostname); +GHashTable *nmi_cmdline_reader_parse(const char * sysfs_dir, + const char *const *argv, + char ** hostname, + gint64 * carrier_timeout_sec); #endif /* __NM_INITRD_GENERATOR_H__ */ diff --git a/src/initrd/nmi-cmdline-reader.c b/src/initrd/nmi-cmdline-reader.c index 62891fa..662b980 100644 --- a/src/initrd/nmi-cmdline-reader.c +++ b/src/initrd/nmi-cmdline-reader.c @@ -37,6 +37,8 @@ typedef struct { gboolean ignore_auto_dns; int dhcp_timeout; char * dhcp4_vci; + + gint64 carrier_timeout_sec; } Reader; static Reader * @@ -419,7 +421,7 @@ reader_parse_ip(Reader *reader, const char *sysfs_dir, char *argument) tmp = get_word(&argument, ':'); if (!*argument) { - /* ip={dhcp|on|any|dhcp6|auto6|ibft} */ + /* ip={dhcp|on|any|dhcp6|auto6|link6|ibft} */ kind = tmp; } else { tmp2 = get_word(&argument, ':'); @@ -432,8 +434,9 @@ reader_parse_ip(Reader *reader, const char *sysfs_dir, char *argument) "dhcp6", "auto", "auto6", + "link6", "ibft")) { - /* :{none|off|dhcp|on|any|dhcp6|auto|auto6|ibft} */ + /* :{none|off|dhcp|on|any|dhcp6|auto|auto6|link6|ibft} */ iface_spec = tmp; kind = tmp2; } else { @@ -601,6 +604,19 @@ reader_parse_ip(Reader *reader, const char *sysfs_dir, char *argument) NM_SETTING_IP4_CONFIG_METHOD_DISABLED, NULL); } + } else if (nm_streq0(kind, "link6")) { + g_object_set(s_ip6, + NM_SETTING_IP_CONFIG_METHOD, + NM_SETTING_IP6_CONFIG_METHOD_LINK_LOCAL, + NM_SETTING_IP_CONFIG_MAY_FAIL, + FALSE, + NULL); + if (nm_setting_ip_config_get_num_addresses(s_ip4) == 0) { + g_object_set(s_ip4, + NM_SETTING_IP_CONFIG_METHOD, + NM_SETTING_IP4_CONFIG_METHOD_DISABLED, + NULL); + } } else if (nm_streq0(kind, "ibft")) { NMSettingWired *s_wired; const char * mac = NULL; @@ -1033,7 +1049,10 @@ connection_set_needed_cb(gpointer key, gpointer value, gpointer user_data) } GHashTable * -nmi_cmdline_reader_parse(const char *sysfs_dir, const char *const *argv, char **hostname) +nmi_cmdline_reader_parse(const char * sysfs_dir, + const char *const *argv, + char ** hostname, + gint64 * carrier_timeout_sec) { Reader * reader; const char * tag; @@ -1067,6 +1086,9 @@ nmi_cmdline_reader_parse(const char *sysfs_dir, const char *const *argv, char ** } else if (nm_streq(tag, "rd.net.dhcp.vendor-class")) { if (nm_utils_validate_dhcp4_vendor_class_id(argument, NULL)) nm_utils_strdup_reset(&reader->dhcp4_vci, argument); + } else if (nm_streq(tag, "rd.net.timeout.carrier")) { + reader->carrier_timeout_sec = + _nm_utils_ascii_str_to_int64(argument, 10, 0, G_MAXINT32, 0); } } @@ -1227,5 +1249,7 @@ nmi_cmdline_reader_parse(const char *sysfs_dir, const char *const *argv, char ** NM_SET_OUT(hostname, g_steal_pointer(&reader->hostname)); + NM_SET_OUT(carrier_timeout_sec, reader->carrier_timeout_sec); + return reader_destroy(reader, FALSE); } diff --git a/src/initrd/tests/test-cmdline-reader.c b/src/initrd/tests/test-cmdline-reader.c index 0c30146..1dc0988 100644 --- a/src/initrd/tests/test-cmdline-reader.c +++ b/src/initrd/tests/test-cmdline-reader.c @@ -19,26 +19,73 @@ #include "nm-test-utils-core.h" +/*****************************************************************************/ + +#define _parse(ARGV, out_hostname, out_carrier_timeout_sec) \ + ({ \ + const char *const *const _ARGV = (ARGV); \ + char **const _out_hostname = (out_hostname); \ + gint64 *const _out_carrier_timeout_sec = (out_carrier_timeout_sec); \ + GHashTable * _connections; \ + \ + _connections = nmi_cmdline_reader_parse(TEST_INITRD_DIR "/sysfs", \ + _ARGV, \ + _out_hostname, \ + _out_carrier_timeout_sec); \ + \ + g_assert(_connections); \ + \ + _connections; \ + }) + +#define _parse_cons(ARGV) \ + ({ \ + GHashTable * _con_connections; \ + gs_free char *_con_hostname = NULL; \ + gint64 _con_carrier_timeout_sec = 0; \ + \ + _con_connections = _parse((ARGV), \ + nmtst_get_rand_bool() ? &_con_hostname : NULL, \ + nmtst_get_rand_bool() ? &_con_carrier_timeout_sec : NULL); \ + g_assert_cmpstr(_con_hostname, ==, NULL); \ + g_assert_cmpint(_con_carrier_timeout_sec, ==, 0); \ + \ + _con_connections; \ + }) + +#define _parse_con(ARGV, connection_name) \ + ({ \ + gs_unref_hashtable GHashTable *_1_connections = NULL; \ + NMConnection * _1_connection; \ + const char *const _1_connection_name = (connection_name); \ + \ + g_assert(_1_connection_name); \ + \ + _1_connections = _parse_cons((ARGV)); \ + \ + g_assert_cmpint(g_hash_table_size(_1_connections), ==, 1); \ + \ + _1_connection = g_hash_table_lookup(_1_connections, _1_connection_name); \ + g_assert(NM_IS_CONNECTION(_1_connection)); \ + \ + nmtst_assert_connection_verifies_without_normalization(_1_connection); \ + \ + NM_CONNECTION(g_object_ref(_1_connection)); \ + }) + +/*****************************************************************************/ + static void test_auto(void) { - gs_unref_hashtable GHashTable *connections = NULL; - const char *const * ARGV = NM_MAKE_STRV("ip=auto"); - NMConnection * connection; - NMSettingConnection * s_con; - NMSettingWired * s_wired; - NMSettingIPConfig * s_ip4; - NMSettingIPConfig * s_ip6; - gs_free char * hostname = NULL; + const char *const *ARGV = NM_MAKE_STRV("ip=auto"); + gs_unref_object NMConnection *connection = NULL; + NMSettingConnection * s_con; + NMSettingWired * s_wired; + NMSettingIPConfig * s_ip4; + NMSettingIPConfig * s_ip6; - connections = nmi_cmdline_reader_parse(TEST_INITRD_DIR "/sysfs", ARGV, &hostname); - g_assert(connections); - g_assert_cmpint(g_hash_table_size(connections), ==, 1); - g_assert_cmpstr(hostname, ==, NULL); - - connection = g_hash_table_lookup(connections, "default_connection"); - g_assert(connection); - nmtst_assert_connection_verifies_without_normalization(connection); + connection = _parse_con(ARGV, "default_connection"); g_assert(!nm_connection_get_setting_vlan(connection)); @@ -88,15 +135,16 @@ test_dhcp_with_hostname(void) NMSettingWired * s_wired; NMSettingIPConfig * s_ip4; NMSettingIPConfig * s_ip6; - gs_free char * hostname = NULL; + gs_free char * hostname = NULL; + gint64 carrier_timeout_sec = 0; - connections = nmi_cmdline_reader_parse(TEST_INITRD_DIR "/sysfs", ARGV, &hostname); - g_assert(connections); + connections = _parse(ARGV, &hostname, &carrier_timeout_sec); g_assert_cmpint(g_hash_table_size(connections), ==, 1); g_assert_cmpstr(hostname, ==, "host1"); + g_assert_cmpint(carrier_timeout_sec, ==, 0); connection = g_hash_table_lookup(connections, "default_connection"); - g_assert(connection); + nmtst_assert_connection_verifies_without_normalization(connection); g_assert(!nm_connection_get_setting_vlan(connection)); @@ -138,22 +186,13 @@ test_dhcp_with_mtu(void) guint i; for (i = 0; i < G_N_ELEMENTS(ARGV); i++) { - gs_unref_hashtable GHashTable *connections = NULL; - NMConnection * connection; - NMSettingConnection * s_con; - NMSettingWired * s_wired; - NMSettingIPConfig * s_ip4; - NMSettingIPConfig * s_ip6; - gs_free char * hostname = NULL; + gs_unref_object NMConnection *connection = NULL; + NMSettingConnection * s_con; + NMSettingWired * s_wired; + NMSettingIPConfig * s_ip4; + NMSettingIPConfig * s_ip6; - connections = nmi_cmdline_reader_parse(TEST_INITRD_DIR "/sysfs", ARGV[i], &hostname); - g_assert(connections); - g_assert_cmpint(g_hash_table_size(connections), ==, 1); - g_assert_cmpstr(hostname, ==, NULL); - - connection = g_hash_table_lookup(connections, "default_connection"); - g_assert(connection); - nmtst_assert_connection_verifies_without_normalization(connection); + connection = _parse_con(ARGV[i], "default_connection"); s_con = nm_connection_get_setting_connection(connection); g_assert(s_con); @@ -191,22 +230,14 @@ test_dhcp_with_mtu(void) static void test_if_auto_with_mtu(void) { - gs_unref_hashtable GHashTable *connections = NULL; - const char *const * ARGV = NM_MAKE_STRV("ip=eth0:auto:1666"); - NMConnection * connection; - NMSettingWired * s_wired; - NMSettingIPConfig * s_ip4; - NMSettingIPConfig * s_ip6; - gs_free char * hostname = NULL; + const char *const *ARGV = NM_MAKE_STRV("ip=eth0:auto:1666"); + gs_unref_object NMConnection *connection = NULL; + NMSettingWired * s_wired; + NMSettingIPConfig * s_ip4; + NMSettingIPConfig * s_ip6; - connections = nmi_cmdline_reader_parse(TEST_INITRD_DIR "/sysfs", ARGV, &hostname); - g_assert(connections); - g_assert_cmpint(g_hash_table_size(connections), ==, 1); - g_assert_cmpstr(hostname, ==, NULL); + connection = _parse_con(ARGV, "eth0"); - connection = g_hash_table_lookup(connections, "eth0"); - g_assert(connection); - nmtst_assert_connection_verifies_without_normalization(connection); g_assert_cmpstr(nm_connection_get_id(connection), ==, "eth0"); s_wired = nm_connection_get_setting_wired(connection); @@ -227,21 +258,13 @@ test_if_auto_with_mtu(void) static void test_if_dhcp6(void) { - gs_unref_hashtable GHashTable *connections = NULL; - const char *const * ARGV = NM_MAKE_STRV("ip=eth1:dhcp6"); - NMConnection * connection; - NMSettingIPConfig * s_ip4; - NMSettingIPConfig * s_ip6; - gs_free char * hostname = NULL; + const char *const *ARGV = NM_MAKE_STRV("ip=eth1:dhcp6"); + gs_unref_object NMConnection *connection = NULL; + NMSettingIPConfig * s_ip4; + NMSettingIPConfig * s_ip6; - connections = nmi_cmdline_reader_parse(TEST_INITRD_DIR "/sysfs", ARGV, &hostname); - g_assert(connections); - g_assert_cmpint(g_hash_table_size(connections), ==, 1); - g_assert_cmpstr(hostname, ==, NULL); + connection = _parse_con(ARGV, "eth1"); - connection = g_hash_table_lookup(connections, "eth1"); - g_assert(connection); - nmtst_assert_connection_verifies_without_normalization(connection); g_assert_cmpstr(nm_connection_get_id(connection), ==, "eth1"); s_ip4 = nm_connection_get_setting_ip4_config(connection); @@ -260,22 +283,14 @@ test_if_dhcp6(void) static void test_if_auto_with_mtu_and_mac(void) { - gs_unref_hashtable GHashTable *connections = NULL; - const char *const * ARGV = NM_MAKE_STRV("ip=eth2:auto6:2048:00:53:ef:12:34:56"); - NMConnection * connection; - NMSettingWired * s_wired; - NMSettingIPConfig * s_ip4; - NMSettingIPConfig * s_ip6; - gs_free char * hostname = NULL; + const char *const *ARGV = NM_MAKE_STRV("ip=eth2:auto6:2048:00:53:ef:12:34:56"); + gs_unref_object NMConnection *connection = NULL; + NMSettingWired * s_wired; + NMSettingIPConfig * s_ip4; + NMSettingIPConfig * s_ip6; - connections = nmi_cmdline_reader_parse(TEST_INITRD_DIR "/sysfs", ARGV, &hostname); - g_assert(connections); - g_assert_cmpint(g_hash_table_size(connections), ==, 1); - g_assert_cmpstr(hostname, ==, NULL); + connection = _parse_con(ARGV, "eth2"); - connection = g_hash_table_lookup(connections, "eth2"); - g_assert(connection); - nmtst_assert_connection_verifies_without_normalization(connection); g_assert_cmpstr(nm_connection_get_id(connection), ==, "eth2"); s_wired = nm_connection_get_setting_wired(connection); @@ -309,15 +324,15 @@ test_if_ip4_manual(void) NMSettingIPConfig * s_ip4; NMSettingIPConfig * s_ip6; NMIPAddress * ip_addr; - gs_free char * hostname = NULL; + gs_free char * hostname = NULL; + gint64 carrier_timeout_sec = 0; - connections = nmi_cmdline_reader_parse(TEST_INITRD_DIR "/sysfs", ARGV, &hostname); - g_assert(connections); + connections = _parse(ARGV, &hostname, &carrier_timeout_sec); g_assert_cmpint(g_hash_table_size(connections), ==, 2); g_assert_cmpstr(hostname, ==, "hostname1.example.com"); + g_assert_cmpint(carrier_timeout_sec, ==, 0); connection = g_hash_table_lookup(connections, "eth3"); - g_assert(connection); nmtst_assert_connection_verifies_without_normalization(connection); g_assert_cmpstr(nm_connection_get_id(connection), ==, "eth3"); @@ -350,7 +365,6 @@ test_if_ip4_manual(void) g_assert(nm_setting_ip_config_get_may_fail(s_ip6)); connection = g_hash_table_lookup(connections, "eth4"); - g_assert(connection); nmtst_assert_connection_verifies_without_normalization(connection); g_assert_cmpstr(nm_connection_get_id(connection), ==, "eth4"); @@ -385,15 +399,15 @@ test_if_ip6_manual(void) NMConnection * connection; NMSettingIPConfig * s_ip6; NMIPAddress * ip_addr; - gs_free char * hostname = NULL; + gs_free char * hostname = NULL; + gint64 carrier_timeout_sec = 0; - connections = nmi_cmdline_reader_parse(TEST_INITRD_DIR "/sysfs", ARGV, &hostname); - g_assert(connections); + connections = _parse(ARGV, &hostname, &carrier_timeout_sec); g_assert_cmpint(g_hash_table_size(connections), ==, 1); g_assert_cmpstr(hostname, ==, "hostname0.example.com"); + g_assert_cmpint(carrier_timeout_sec, ==, 0); connection = g_hash_table_lookup(connections, "eth4"); - g_assert(connection); nmtst_assert_connection_verifies_without_normalization(connection); g_assert_cmpstr(nm_connection_get_id(connection), ==, "eth4"); @@ -426,7 +440,6 @@ test_if_off(void) NMConnection * connection; NMSettingIPConfig * s_ip4; NMSettingIPConfig * s_ip6; - gs_free char * hostname = NULL; struct { const char name[32]; const char ipv4_method[32]; @@ -441,14 +454,11 @@ test_if_off(void) {"ens5", NM_SETTING_IP4_CONFIG_METHOD_DISABLED, NM_SETTING_IP6_CONFIG_METHOD_MANUAL}, }; - connections = nmi_cmdline_reader_parse(TEST_INITRD_DIR "/sysfs", ARGV, &hostname); - g_assert(connections); + connections = _parse_cons(ARGV); g_assert_cmpint(g_hash_table_size(connections), ==, G_N_ELEMENTS(conn_expected)); - g_assert_cmpstr(hostname, ==, NULL); for (int i = 0; i < G_N_ELEMENTS(conn_expected); ++i) { connection = g_hash_table_lookup(connections, conn_expected[i].name); - g_assert(connection); nmtst_assert_connection_verifies_without_normalization(connection); s_ip4 = nm_connection_get_setting_ip4_config(connection); @@ -471,15 +481,15 @@ test_if_mac_ifname(void) NMSettingIPConfig * s_ip6; NMSettingWired * s_wired; NMIPAddress * ip_addr; - gs_free char * hostname = NULL; + gs_free char * hostname = NULL; + gint64 carrier_timeout_sec = 0; - connections = nmi_cmdline_reader_parse(TEST_INITRD_DIR "/sysfs", ARGV, &hostname); - g_assert(connections); + connections = _parse(ARGV, &hostname, &carrier_timeout_sec); g_assert_cmpint(g_hash_table_size(connections), ==, 1); g_assert_cmpstr(hostname, ==, "hostname0"); + g_assert_cmpint(carrier_timeout_sec, ==, 0); connection = g_hash_table_lookup(connections, "00:11:22:33:44:55"); - g_assert(connection); nmtst_assert_connection_verifies_without_normalization(connection); g_assert_cmpstr(nm_connection_get_id(connection), ==, "00:11:22:33:44:55"); g_assert_cmpstr(nm_connection_get_interface_name(connection), ==, NULL); @@ -509,25 +519,17 @@ test_if_mac_ifname(void) static void test_multiple_merge(void) { - gs_unref_hashtable GHashTable *connections = NULL; - const char *const * ARGV = + const char *const *ARGV = NM_MAKE_STRV("ip=192.0.2.2/16:::::eth0", "ip=[2001:db8::2]:::56::eth0"); - NMConnection * connection; - NMSettingConnection *s_con; - NMSettingWired * s_wired; - NMSettingIPConfig * s_ip4; - NMSettingIPConfig * s_ip6; - NMIPAddress * ip_addr; - gs_free char * hostname = NULL; + gs_unref_object NMConnection *connection = NULL; + NMSettingConnection * s_con; + NMSettingWired * s_wired; + NMSettingIPConfig * s_ip4; + NMSettingIPConfig * s_ip6; + NMIPAddress * ip_addr; - connections = nmi_cmdline_reader_parse(TEST_INITRD_DIR "/sysfs", ARGV, &hostname); - g_assert(connections); - g_assert_cmpint(g_hash_table_size(connections), ==, 1); - g_assert_cmpstr(hostname, ==, NULL); + connection = _parse_con(ARGV, "eth0"); - connection = g_hash_table_lookup(connections, "eth0"); - g_assert(connection); - nmtst_assert_connection_verifies_without_normalization(connection); g_assert_cmpstr(nm_connection_get_id(connection), ==, "eth0"); s_con = nm_connection_get_setting_connection(connection); @@ -566,18 +568,20 @@ static void test_multiple_bootdev(void) { gs_unref_hashtable GHashTable *connections = NULL; - const char *const * ARGV = - NM_MAKE_STRV("nameserver=1.2.3.4", "ip=eth3:auto6", "ip=eth4:dhcp", "bootdev=eth4"); + + const char *const *ARGV = NM_MAKE_STRV("nameserver=1.2.3.4", + "ip=eth3:auto6", + "ip=eth4:dhcp", + "ip=eth5:link6", + "bootdev=eth4"); + NMConnection * connection; NMSettingConnection *s_con; NMSettingIPConfig * s_ip4; NMSettingIPConfig * s_ip6; - gs_free char * hostname = NULL; - connections = nmi_cmdline_reader_parse(TEST_INITRD_DIR "/sysfs", ARGV, &hostname); - g_assert(connections); - g_assert_cmpint(g_hash_table_size(connections), ==, 2); - g_assert_cmpstr(hostname, ==, NULL); + connections = _parse_cons(ARGV); + g_assert_cmpint(g_hash_table_size(connections), ==, 3); connection = g_hash_table_lookup(connections, "eth3"); g_assert(connection); @@ -600,6 +604,17 @@ test_multiple_bootdev(void) g_assert_cmpstr(nm_setting_ip_config_get_method(s_ip4), ==, NM_SETTING_IP4_CONFIG_METHOD_AUTO); g_assert_cmpint(nm_setting_ip_config_get_num_dns(s_ip4), ==, 1); g_assert_cmpstr(nm_setting_ip_config_get_dns(s_ip4, 0), ==, "1.2.3.4"); + + connection = g_hash_table_lookup(connections, "eth5"); + g_assert(connection); + s_con = nm_connection_get_setting_connection(connection); + g_assert(s_con); + g_assert_cmpint(nm_setting_connection_get_wait_device_timeout(s_con), ==, -1); + s_ip6 = nm_connection_get_setting_ip6_config(connection); + g_assert(s_ip6); + g_assert_cmpstr(nm_setting_ip_config_get_method(s_ip6), + ==, + NM_SETTING_IP6_CONFIG_METHOD_LINK_LOCAL); } static void @@ -609,15 +624,11 @@ test_bootdev(void) const char *const * ARGV = NM_MAKE_STRV("vlan=vlan2:ens5", "bootdev=ens3"); NMConnection * connection; NMSettingConnection * s_con; - gs_free char * hostname = NULL; - connections = nmi_cmdline_reader_parse(TEST_INITRD_DIR "/sysfs", ARGV, &hostname); - g_assert(connections); + connections = _parse_cons(ARGV); g_assert_cmpint(g_hash_table_size(connections), ==, 3); - g_assert_cmpstr(hostname, ==, NULL); connection = g_hash_table_lookup(connections, "ens3"); - g_assert(connection); nmtst_assert_connection_verifies_without_normalization(connection); s_con = nm_connection_get_setting_connection(connection); @@ -632,7 +643,6 @@ test_bootdev(void) NMI_WAIT_DEVICE_TIMEOUT_MS); connection = g_hash_table_lookup(connections, "vlan2"); - g_assert(connection); nmtst_assert_connection_verifies_without_normalization(connection); s_con = nm_connection_get_setting_connection(connection); @@ -644,7 +654,6 @@ test_bootdev(void) g_assert_cmpstr(nm_setting_connection_get_interface_name(s_con), ==, "vlan2"); connection = g_hash_table_lookup(connections, "ens5"); - g_assert(connection); nmtst_assert_connection_verifies_without_normalization(connection); s_con = nm_connection_get_setting_connection(connection); @@ -675,15 +684,11 @@ test_some_more(void) NMSettingIPConfig * s_ip4; NMSettingIPConfig * s_ip6; NMIPRoute * ip_route; - gs_free char * hostname = NULL; - connections = nmi_cmdline_reader_parse(TEST_INITRD_DIR "/sysfs", ARGV, &hostname); - g_assert(connections); + connections = _parse_cons(ARGV); g_assert_cmpint(g_hash_table_size(connections), ==, 2); - g_assert_cmpstr(hostname, ==, NULL); connection = g_hash_table_lookup(connections, "eth1"); - g_assert(connection); nmtst_assert_connection_verifies_without_normalization(connection); s_con = nm_connection_get_setting_connection(connection); @@ -718,7 +723,6 @@ test_some_more(void) g_assert_cmpstr(nm_setting_ip_config_get_dns(s_ip6, 0), ==, "2001:db8:3::53"); connection = g_hash_table_lookup(connections, "ens10"); - g_assert(connection); nmtst_assert_connection_verifies_without_normalization(connection); s_con = nm_connection_get_setting_connection(connection); @@ -765,15 +769,11 @@ test_bond(void) NMSettingBond * s_bond; NMIPRoute * ip_route; const char * master_uuid; - gs_free char * hostname = NULL; - connections = nmi_cmdline_reader_parse(TEST_INITRD_DIR "/sysfs", ARGV, &hostname); - g_assert(connections); + connections = _parse_cons(ARGV); g_assert_cmpint(g_hash_table_size(connections), ==, 3); - g_assert_cmpstr(hostname, ==, NULL); connection = g_hash_table_lookup(connections, "bong0"); - g_assert(connection); nmtst_assert_connection_verifies_without_normalization(connection); g_assert_cmpstr(nm_connection_get_connection_type(connection), ==, @@ -811,7 +811,6 @@ test_bond(void) g_assert_cmpstr(nm_setting_bond_get_option_by_name(s_bond, "mode"), ==, "balance-rr"); connection = g_hash_table_lookup(connections, "eth0"); - g_assert(connection); nmtst_assert_connection_verifies_without_normalization(connection); g_assert_cmpstr(nm_connection_get_id(connection), ==, "eth0"); @@ -828,7 +827,6 @@ test_bond(void) NM_CONNECTION_MULTI_CONNECT_SINGLE); connection = g_hash_table_lookup(connections, "eth1"); - g_assert(connection); nmtst_assert_connection_verifies_without_normalization(connection); g_assert_cmpstr(nm_connection_get_id(connection), ==, "eth1"); @@ -861,15 +859,11 @@ test_bond_ip(void) NMSettingBond * s_bond; NMIPAddress * ip_addr; const char * master_uuid; - gs_free char * hostname = NULL; - connections = nmi_cmdline_reader_parse(TEST_INITRD_DIR "/sysfs", ARGV, &hostname); - g_assert(connections); + connections = _parse_cons(ARGV); g_assert_cmpint(g_hash_table_size(connections), ==, 3); - g_assert_cmpstr(hostname, ==, NULL); connection = g_hash_table_lookup(connections, "bond0"); - g_assert(connection); nmtst_assert_connection_verifies_without_normalization(connection); g_assert_cmpstr(nm_connection_get_connection_type(connection), ==, @@ -914,7 +908,6 @@ test_bond_ip(void) g_assert_cmpstr(nm_setting_bond_get_option_by_name(s_bond, "mode"), ==, "balance-rr"); connection = g_hash_table_lookup(connections, "eth0"); - g_assert(connection); nmtst_assert_connection_verifies_without_normalization(connection); g_assert_cmpstr(nm_connection_get_id(connection), ==, "eth0"); @@ -931,7 +924,6 @@ test_bond_ip(void) NM_CONNECTION_MULTI_CONNECT_SINGLE); connection = g_hash_table_lookup(connections, "eth1"); - g_assert(connection); nmtst_assert_connection_verifies_without_normalization(connection); g_assert_cmpstr(nm_connection_get_id(connection), ==, "eth1"); @@ -959,16 +951,12 @@ test_bond_default(void) NMSettingIPConfig * s_ip6; NMSettingBond * s_bond; const char * master_uuid; - gs_free char * hostname = NULL; - connections = nmi_cmdline_reader_parse(TEST_INITRD_DIR "/sysfs", ARGV, &hostname); - g_assert(connections); + connections = _parse_cons(ARGV); g_assert_cmpint(g_hash_table_size(connections), ==, 2); - g_assert_cmpstr(hostname, ==, NULL); connection = g_hash_table_lookup(connections, "bond0"); - g_assert(connection); nmtst_assert_connection_verifies_without_normalization(connection); g_assert_cmpstr(nm_connection_get_connection_type(connection), ==, @@ -999,7 +987,6 @@ test_bond_default(void) g_assert_cmpstr(nm_setting_bond_get_option_by_name(s_bond, "mode"), ==, "balance-rr"); connection = g_hash_table_lookup(connections, "eth0"); - g_assert(connection); nmtst_assert_connection_verifies_without_normalization(connection); g_assert_cmpstr(nm_connection_get_id(connection), ==, "eth0"); @@ -1030,15 +1017,11 @@ test_bridge(void) NMSettingBridge * s_bridge; NMIPRoute * ip_route; const char * master_uuid; - gs_free char * hostname = NULL; - connections = nmi_cmdline_reader_parse(TEST_INITRD_DIR "/sysfs", ARGV, &hostname); - g_assert(connections); + connections = _parse_cons(ARGV); g_assert_cmpint(g_hash_table_size(connections), ==, 3); - g_assert_cmpstr(hostname, ==, NULL); connection = g_hash_table_lookup(connections, "bridge0"); - g_assert(connection); nmtst_assert_connection_verifies_without_normalization(connection); g_assert_cmpstr(nm_connection_get_connection_type(connection), ==, @@ -1076,7 +1059,6 @@ test_bridge(void) g_assert_cmpint(nm_setting_bridge_get_stp(s_bridge), ==, FALSE); connection = g_hash_table_lookup(connections, "eth0"); - g_assert(connection); nmtst_assert_connection_verifies_without_normalization(connection); g_assert_cmpstr(nm_connection_get_id(connection), ==, "eth0"); @@ -1095,7 +1077,6 @@ test_bridge(void) NM_CONNECTION_MULTI_CONNECT_SINGLE); connection = g_hash_table_lookup(connections, "eth1"); - g_assert(connection); nmtst_assert_connection_verifies_without_normalization(connection); g_assert_cmpstr(nm_connection_get_id(connection), ==, "eth1"); @@ -1125,16 +1106,12 @@ test_bridge_default(void) NMSettingIPConfig * s_ip6; NMSettingBridge * s_bridge; const char * master_uuid; - gs_free char * hostname = NULL; - connections = nmi_cmdline_reader_parse(TEST_INITRD_DIR "/sysfs", ARGV, &hostname); - g_assert(connections); + connections = _parse_cons(ARGV); g_assert_cmpint(g_hash_table_size(connections), ==, 2); - g_assert_cmpstr(hostname, ==, NULL); connection = g_hash_table_lookup(connections, "br0"); - g_assert(connection); nmtst_assert_connection_verifies_without_normalization(connection); g_assert_cmpstr(nm_connection_get_connection_type(connection), ==, @@ -1163,7 +1140,6 @@ test_bridge_default(void) g_assert(s_bridge); connection = g_hash_table_lookup(connections, "eth0"); - g_assert(connection); nmtst_assert_connection_verifies_without_normalization(connection); g_assert_cmpstr(nm_connection_get_id(connection), ==, "eth0"); @@ -1196,16 +1172,12 @@ test_bridge_ip(void) NMSettingWired * s_wired; NMSettingBridge * s_bridge; const char * master_uuid; - gs_free char * hostname = NULL; guint i; - connections = nmi_cmdline_reader_parse(TEST_INITRD_DIR "/sysfs", ARGV, &hostname); - g_assert(connections); + connections = _parse_cons(ARGV); g_assert_cmpint(g_hash_table_size(connections), ==, 11); - g_assert_cmpstr(hostname, ==, NULL); connection = g_hash_table_lookup(connections, "bridge123"); - g_assert(connection); nmtst_assert_connection_verifies_without_normalization(connection); g_assert_cmpstr(nm_connection_get_connection_type(connection), ==, @@ -1236,7 +1208,6 @@ test_bridge_ip(void) nm_sprintf_buf(ifname, "eth%u", i); connection = g_hash_table_lookup(connections, ifname); - g_assert(connection); nmtst_assert_connection_verifies_without_normalization(connection); g_assert_cmpstr(nm_connection_get_id(connection), ==, ifname); @@ -1267,15 +1238,11 @@ test_team(void) NMSettingIPConfig * s_ip6; NMSettingTeam * s_team; const char * master_uuid; - gs_free char * hostname = NULL; - connections = nmi_cmdline_reader_parse(TEST_INITRD_DIR "/sysfs", ARGV, &hostname); - g_assert(connections); + connections = _parse_cons(ARGV); g_assert_cmpint(g_hash_table_size(connections), ==, 3); - g_assert_cmpstr(hostname, ==, NULL); connection = g_hash_table_lookup(connections, "team0"); - g_assert(connection); nmtst_assert_connection_verifies_without_normalization(connection); g_assert_cmpstr(nm_connection_get_connection_type(connection), ==, @@ -1306,7 +1273,6 @@ test_team(void) g_assert(s_team); connection = g_hash_table_lookup(connections, "eth0"); - g_assert(connection); nmtst_assert_connection_verifies_without_normalization(connection); g_assert_cmpstr(nm_connection_get_id(connection), ==, "eth0"); @@ -1323,7 +1289,6 @@ test_team(void) NM_CONNECTION_MULTI_CONNECT_SINGLE); connection = g_hash_table_lookup(connections, "eth1"); - g_assert(connection); nmtst_assert_connection_verifies_without_normalization(connection); g_assert_cmpstr(nm_connection_get_id(connection), ==, "eth1"); @@ -1354,16 +1319,12 @@ test_vlan(void) NMSettingIPConfig * s_ip4; NMSettingIPConfig * s_ip6; NMSettingVlan * s_vlan; - gs_free char * hostname = NULL; - connections = nmi_cmdline_reader_parse(TEST_INITRD_DIR "/sysfs", ARGV[i], &hostname); - g_assert(connections); + connections = _parse_cons(ARGV[i]); g_assert_cmpint(g_hash_table_size(connections), ==, 2); - g_assert_cmpstr(hostname, ==, NULL); /* VLAN eth0.100 */ connection = g_hash_table_lookup(connections, "eth0.100"); - g_assert(connection); nmtst_assert_connection_verifies_without_normalization(connection); g_assert_cmpstr(nm_connection_get_connection_type(connection), ==, @@ -1389,7 +1350,6 @@ test_vlan(void) /* Ethernet eth0 */ connection = g_hash_table_lookup(connections, "eth0"); - g_assert(connection); nmtst_assert_connection_verifies_without_normalization(connection); g_assert_cmpstr(nm_connection_get_connection_type(connection), ==, @@ -1424,16 +1384,12 @@ test_vlan_with_dhcp_on_parent(void) NMSettingIPConfig * s_ip4; NMSettingIPConfig * s_ip6; NMSettingVlan * s_vlan; - gs_free char * hostname = NULL; - connections = nmi_cmdline_reader_parse(TEST_INITRD_DIR "/sysfs", ARGV[i], &hostname); - g_assert(connections); + connections = _parse_cons(ARGV[i]); g_assert_cmpint(g_hash_table_size(connections), ==, 2); - g_assert_cmpstr(hostname, ==, NULL); /* VLAN eth0.100 */ connection = g_hash_table_lookup(connections, "eth0.100"); - g_assert(connection); nmtst_assert_connection_verifies_without_normalization(connection); g_assert_cmpstr(nm_connection_get_connection_type(connection), ==, @@ -1459,7 +1415,6 @@ test_vlan_with_dhcp_on_parent(void) /* Ethernet eth0 */ connection = g_hash_table_lookup(connections, "eth0"); - g_assert(connection); nmtst_assert_connection_verifies_without_normalization(connection); g_assert_cmpstr(nm_connection_get_connection_type(connection), ==, @@ -1501,16 +1456,12 @@ test_vlan_over_bond(void) NMSettingIPConfig * s_ip4; NMSettingIPConfig * s_ip6; NMSettingVlan * s_vlan; - gs_free char * hostname = NULL; - connections = nmi_cmdline_reader_parse(TEST_INITRD_DIR "/sysfs", ARGV[i], &hostname); - g_assert(connections); + connections = _parse_cons(ARGV[i]); g_assert_cmpint(g_hash_table_size(connections), ==, 4); - g_assert_cmpstr(hostname, ==, NULL); /* VLAN vlan1 */ connection = g_hash_table_lookup(connections, "vlan1"); - g_assert(connection); nmtst_assert_connection_verifies_without_normalization(connection); g_assert_cmpstr(nm_connection_get_connection_type(connection), ==, @@ -1536,7 +1487,6 @@ test_vlan_over_bond(void) /* Bond bond2 */ connection = g_hash_table_lookup(connections, "bond2"); - g_assert(connection); nmtst_assert_connection_verifies_without_normalization(connection); g_assert_cmpstr(nm_connection_get_connection_type(connection), ==, @@ -1566,19 +1516,11 @@ test_vlan_over_bond(void) static void test_ibft_ip_dev(void) { - const char *const *ARGV = NM_MAKE_STRV("ip=eth0:ibft"); - gs_unref_hashtable GHashTable *connections = NULL; - NMSettingConnection * s_con; - NMConnection * connection; - gs_free char * hostname = NULL; - - connections = nmi_cmdline_reader_parse(TEST_INITRD_DIR "/sysfs", ARGV, &hostname); - g_assert(connections); - g_assert_cmpint(g_hash_table_size(connections), ==, 1); - g_assert_cmpstr(hostname, ==, NULL); + const char *const * ARGV = NM_MAKE_STRV("ip=eth0:ibft"); + NMSettingConnection *s_con; + gs_unref_object NMConnection *connection = NULL; - connection = g_hash_table_lookup(connections, "eth0"); - g_assert(connection); + connection = _parse_con(ARGV, "eth0"); s_con = nm_connection_get_setting_connection(connection); g_assert(s_con); @@ -1591,19 +1533,11 @@ test_ibft_ip_dev(void) static void test_ibft_ip_dev_mac(void) { - const char *const *ARGV = NM_MAKE_STRV("ip=00-53-06-66-ab-01:ibft"); - gs_unref_hashtable GHashTable *connections = NULL; - NMSettingConnection * s_con; - NMConnection * connection; - gs_free char * hostname = NULL; - - connections = nmi_cmdline_reader_parse(TEST_INITRD_DIR "/sysfs", ARGV, &hostname); - g_assert(connections); - g_assert_cmpint(g_hash_table_size(connections), ==, 1); - g_assert_cmpstr(hostname, ==, NULL); + const char *const * ARGV = NM_MAKE_STRV("ip=00-53-06-66-ab-01:ibft"); + NMSettingConnection *s_con; + gs_unref_object NMConnection *connection = NULL; - connection = g_hash_table_lookup(connections, "00:53:06:66:AB:01"); - g_assert(connection); + connection = _parse_con(ARGV, "00:53:06:66:AB:01"); s_con = nm_connection_get_setting_connection(connection); g_assert(s_con); @@ -1618,21 +1552,17 @@ _test_ibft_ip(const char *const *ARGV) { gs_unref_hashtable GHashTable *connections = NULL; NMConnection * connection; - gs_free char * hostname = NULL; - connections = nmi_cmdline_reader_parse(TEST_INITRD_DIR "/sysfs", ARGV, &hostname); - g_assert(connections); + connections = _parse_cons(ARGV); g_assert_cmpint(g_hash_table_size(connections), ==, 2); - g_assert_cmpstr(hostname, ==, NULL); connection = g_hash_table_lookup(connections, "ibft0"); - g_assert(connection); nmtst_assert_connection_verifies_without_normalization(connection); + g_assert_cmpstr(nm_connection_get_id(connection), ==, "iBFT VLAN Connection 0"); g_assert_cmpstr(nm_connection_get_interface_name(connection), ==, NULL); connection = g_hash_table_lookup(connections, "ibft2"); - g_assert(connection); nmtst_assert_connection_verifies_without_normalization(connection); g_assert_cmpstr(nm_connection_get_id(connection), ==, "iBFT Connection 2"); g_assert_cmpstr(nm_connection_get_interface_name(connection), ==, NULL); @@ -1659,12 +1589,9 @@ test_ignore_extra(void) { gs_unref_hashtable GHashTable *connections = NULL; const char *const * ARGV = NM_MAKE_STRV("blabla", "extra", "lalala"); - gs_free char * hostname = NULL; - connections = nmi_cmdline_reader_parse(TEST_INITRD_DIR "/sysfs", ARGV, &hostname); - g_assert(connections); + connections = _parse_cons(ARGV); g_assert_cmpint(g_hash_table_size(connections), ==, 0); - g_assert_cmpstr(hostname, ==, NULL); } static void @@ -1685,12 +1612,13 @@ test_rd_znet(void) {.name = "portno", .value_str = "1"}, }; int i_s390_options_keys; - gs_free char *hostname = NULL; + gs_free char *hostname = NULL; + gint64 carrier_timeout_sec = 0; - connections = nmi_cmdline_reader_parse(TEST_INITRD_DIR "/sysfs", ARGV, &hostname); - g_assert(connections); + connections = _parse(ARGV, &hostname, &carrier_timeout_sec); g_assert_cmpint(g_hash_table_size(connections), ==, 2); g_assert_cmpstr(hostname, ==, "foo.example.com"); + g_assert_cmpint(carrier_timeout_sec, ==, 0); connection = g_hash_table_lookup(connections, "enc800"); g_assert(NM_IS_CONNECTION(connection)); @@ -1771,12 +1699,13 @@ test_rd_znet_legacy(void) "net.ifnames=0"); NMConnection * connection; NMSettingConnection *s_con; - gs_free char * hostname = NULL; + gs_free char * hostname = NULL; + gint64 carrier_timeout_sec = 0; - connections = nmi_cmdline_reader_parse(TEST_INITRD_DIR "/sysfs", ARGV, &hostname); - g_assert(connections); + connections = _parse(ARGV, &hostname, &carrier_timeout_sec); g_assert_cmpint(g_hash_table_size(connections), ==, 2); g_assert_cmpstr(hostname, ==, "foo.example.com"); + g_assert_cmpint(carrier_timeout_sec, ==, 0); connection = g_hash_table_lookup(connections, "eth0"); g_assert(NM_IS_CONNECTION(connection)); @@ -1811,33 +1740,22 @@ test_rd_znet_no_ip(void) gs_unref_hashtable GHashTable *connections = NULL; const char *const *const ARGV = NM_MAKE_STRV("rd.znet=qeth,0.0.0800,0.0.0801,0.0.0802,layer2=0,portno=1"); - gs_free char *hostname = NULL; - connections = nmi_cmdline_reader_parse(TEST_INITRD_DIR "/sysfs", ARGV, &hostname); - g_assert(connections); + connections = _parse_cons(ARGV); g_assert_cmpint(g_hash_table_size(connections), ==, 0); - g_assert_cmpstr(hostname, ==, NULL); } static void test_bootif_ip(void) { - gs_unref_hashtable GHashTable *connections = NULL; - const char *const * ARGV = NM_MAKE_STRV("BOOTIF=00:53:AB:cd:02:03", "ip=dhcp"); - NMConnection * connection; - NMSettingWired * s_wired; - NMSettingIPConfig * s_ip4; - NMSettingIPConfig * s_ip6; - gs_free char * hostname = NULL; + const char *const *ARGV = NM_MAKE_STRV("BOOTIF=00:53:AB:cd:02:03", "ip=dhcp"); + gs_unref_object NMConnection *connection = NULL; + NMSettingWired * s_wired; + NMSettingIPConfig * s_ip4; + NMSettingIPConfig * s_ip6; - connections = nmi_cmdline_reader_parse(TEST_INITRD_DIR "/sysfs", ARGV, &hostname); - g_assert(connections); - g_assert_cmpint(g_hash_table_size(connections), ==, 1); - g_assert_cmpstr(hostname, ==, NULL); + connection = _parse_con(ARGV, "default_connection"); - connection = g_hash_table_lookup(connections, "default_connection"); - g_assert(connection); - nmtst_assert_connection_verifies_without_normalization(connection); g_assert_cmpstr(nm_connection_get_id(connection), ==, "Wired Connection"); s_wired = nm_connection_get_setting_wired(connection); @@ -1866,15 +1784,11 @@ test_neednet(void) "bridge=br0:eno3"); NMConnection * connection; NMSettingConnection * s_con; - gs_free char * hostname = NULL; - connections = nmi_cmdline_reader_parse(TEST_INITRD_DIR "/sysfs", ARGV, &hostname); - g_assert(connections); + connections = _parse_cons(ARGV); g_assert_cmpint(g_hash_table_size(connections), ==, 4); - g_assert_cmpstr(hostname, ==, NULL); connection = g_hash_table_lookup(connections, "eno1"); - g_assert(connection); nmtst_assert_connection_verifies_without_normalization(connection); s_con = nm_connection_get_setting_connection(connection); g_assert(s_con); @@ -1884,7 +1798,6 @@ test_neednet(void) NMI_WAIT_DEVICE_TIMEOUT_MS); connection = g_hash_table_lookup(connections, "eno2"); - g_assert(connection); nmtst_assert_connection_verifies_without_normalization(connection); s_con = nm_connection_get_setting_connection(connection); g_assert(s_con); @@ -1894,7 +1807,6 @@ test_neednet(void) NMI_WAIT_DEVICE_TIMEOUT_MS); connection = g_hash_table_lookup(connections, "eno3"); - g_assert(connection); nmtst_assert_connection_verifies_without_normalization(connection); s_con = nm_connection_get_setting_connection(connection); g_assert(s_con); @@ -1904,7 +1816,6 @@ test_neednet(void) NMI_WAIT_DEVICE_TIMEOUT_MS); connection = g_hash_table_lookup(connections, "br0"); - g_assert(connection); nmtst_assert_connection_verifies_without_normalization(connection); s_con = nm_connection_get_setting_connection(connection); g_assert(s_con); @@ -1915,22 +1826,14 @@ test_neednet(void) static void test_bootif_no_ip(void) { - gs_unref_hashtable GHashTable *connections = NULL; - const char *const * ARGV = NM_MAKE_STRV("BOOTIF=00:53:AB:cd:02:03"); - NMConnection * connection; - NMSettingWired * s_wired; - NMSettingIPConfig * s_ip4; - NMSettingIPConfig * s_ip6; - gs_free char * hostname = NULL; + const char *const *ARGV = NM_MAKE_STRV("BOOTIF=00:53:AB:cd:02:03"); + gs_unref_object NMConnection *connection = NULL; + NMSettingWired * s_wired; + NMSettingIPConfig * s_ip4; + NMSettingIPConfig * s_ip6; - connections = nmi_cmdline_reader_parse(TEST_INITRD_DIR "/sysfs", ARGV, &hostname); - g_assert(connections); - g_assert_cmpint(g_hash_table_size(connections), ==, 1); - g_assert_cmpstr(hostname, ==, NULL); + connection = _parse_con(ARGV, "default_connection"); - connection = g_hash_table_lookup(connections, "default_connection"); - g_assert(connection); - nmtst_assert_connection_verifies_without_normalization(connection); g_assert_cmpstr(nm_connection_get_id(connection), ==, "Wired Connection"); s_wired = nm_connection_get_setting_wired(connection); @@ -1962,15 +1865,11 @@ test_bootif_hwtype(void) NMSettingWired * s_wired; NMSettingIPConfig * s_ip4; NMSettingIPConfig * s_ip6; - gs_free char * hostname = NULL; - connections = nmi_cmdline_reader_parse(TEST_INITRD_DIR "/sysfs", ARGV[i], &hostname); - g_assert(connections); + connections = _parse_cons(ARGV[i]); g_assert_cmpint(g_hash_table_size(connections), ==, 2); - g_assert_cmpstr(hostname, ==, NULL); connection = g_hash_table_lookup(connections, "eth0"); - g_assert(connection); nmtst_assert_connection_verifies_without_normalization(connection); g_assert_cmpstr(nm_connection_get_id(connection), ==, "eth0"); @@ -1994,7 +1893,6 @@ test_bootif_hwtype(void) g_assert(!nm_setting_ip_config_get_ignore_auto_dns(s_ip6)); connection = g_hash_table_lookup(connections, "bootif_connection"); - g_assert(connection); nmtst_assert_connection_verifies_without_normalization(connection); g_assert_cmpstr(nm_connection_get_id(connection), ==, "BOOTIF Connection"); @@ -2037,15 +1935,15 @@ test_nameserver(void) "nameserver=[2606:4700:4700::1111]"); NMConnection * connection; NMSettingIPConfig *s_ip; - gs_free char * hostname = NULL; + gs_free char * hostname = NULL; + gint64 carrier_timeout_sec = 0; - connections = nmi_cmdline_reader_parse(TEST_INITRD_DIR "/sysfs", ARGV, &hostname); - g_assert(connections); + connections = _parse(ARGV, &hostname, &carrier_timeout_sec); g_assert_cmpint(g_hash_table_size(connections), ==, 3); g_assert_cmpstr(hostname, ==, "foo.example.com"); + g_assert_cmpint(carrier_timeout_sec, ==, 0); connection = g_hash_table_lookup(connections, "eth0"); - g_assert(connection); nmtst_assert_connection_verifies_without_normalization(connection); s_ip = nm_connection_get_setting_ip4_config(connection); @@ -2055,7 +1953,6 @@ test_nameserver(void) g_assert_cmpstr(nm_setting_ip_config_get_dns(s_ip, 1), ==, "1.0.0.1"); connection = g_hash_table_lookup(connections, "eth1"); - g_assert(connection); nmtst_assert_connection_verifies_without_normalization(connection); s_ip = nm_connection_get_setting_ip6_config(connection); @@ -2064,7 +1961,6 @@ test_nameserver(void) g_assert_cmpstr(nm_setting_ip_config_get_dns(s_ip, 0), ==, "2606:4700:4700::1111"); connection = g_hash_table_lookup(connections, "eth2"); - g_assert(connection); nmtst_assert_connection_verifies_without_normalization(connection); s_ip = nm_connection_get_setting_ip4_config(connection); @@ -2078,77 +1974,52 @@ static void test_bootif_off(void) { gs_unref_hashtable GHashTable *connections = NULL; - const char *const *ARGV = NM_MAKE_STRV("BOOTIF=01-00-53-AB-cd-02-03", "rd.bootif=0"); - gs_free char * hostname = NULL; + const char *const *ARGV = NM_MAKE_STRV("BOOTIF=01-00-53-AB-cd-02-03", "rd.bootif=0"); - connections = nmi_cmdline_reader_parse(TEST_INITRD_DIR "/sysfs", ARGV, &hostname); - g_assert(connections); + connections = _parse_cons(ARGV); g_assert_cmpint(g_hash_table_size(connections), ==, 0); - g_assert_cmpstr(hostname, ==, NULL); } static void test_dhcp_vendor_class_id(void) { - gs_unref_hashtable GHashTable *connections = NULL; - const char *const * ARGV = NM_MAKE_STRV("rd.net.dhcp.vendor-class=testvci", "ip=eno1:dhcp"); - NMConnection * connection; - NMSettingIP4Config *s_ip4; - gs_free char * hostname = NULL; - gs_free char * vci_long = NULL; - char vci_arg_long[512] = {0}; - - connections = nmi_cmdline_reader_parse(TEST_INITRD_DIR "/sysfs", ARGV, &hostname); - g_assert(connections); - g_assert_cmpint(g_hash_table_size(connections), ==, 1); - g_assert_cmpstr(hostname, ==, NULL); - - connection = g_hash_table_lookup(connections, "eno1"); - g_assert(connection); - nmtst_assert_connection_verifies_without_normalization(connection); - s_ip4 = NM_SETTING_IP4_CONFIG(nm_connection_get_setting_ip4_config(connection)); + const char *const *ARGV; + gs_unref_object NMConnection *connection = NULL; + NMSettingIP4Config * s_ip4; + gs_free char * vci_long = NULL; + char vci_arg_long[512] = {0}; + + ARGV = NM_MAKE_STRV("rd.net.dhcp.vendor-class=testvci", "ip=eno1:dhcp"); + connection = _parse_con(ARGV, "eno1"); + s_ip4 = NM_SETTING_IP4_CONFIG(nm_connection_get_setting_ip4_config(connection)); g_assert_cmpstr(nm_setting_ip4_config_get_dhcp_vendor_class_identifier(s_ip4), ==, "testvci"); - nm_clear_pointer(&connections, g_hash_table_unref); + g_clear_object(&connection); - ARGV = NM_MAKE_STRV("rd.net.dhcp.vendor-class", "ip=eno1:dhcp"); - connections = nmi_cmdline_reader_parse(TEST_INITRD_DIR "/sysfs", ARGV, &hostname); - connection = g_hash_table_lookup(connections, "eno1"); - g_assert(connection); - nmtst_assert_connection_verifies_without_normalization(connection); - s_ip4 = NM_SETTING_IP4_CONFIG(nm_connection_get_setting_ip4_config(connection)); + ARGV = NM_MAKE_STRV("rd.net.dhcp.vendor-class", "ip=eno1:dhcp"); + connection = _parse_con(ARGV, "eno1"); + s_ip4 = NM_SETTING_IP4_CONFIG(nm_connection_get_setting_ip4_config(connection)); g_assert(nm_setting_ip4_config_get_dhcp_vendor_class_identifier(s_ip4) == NULL); - nm_clear_pointer(&connections, g_hash_table_unref); + g_clear_object(&connection); memset(vci_arg_long, 'A', 400); - vci_long = g_strdup_printf("rd.net.dhcp.vendor-class=%s", vci_arg_long); - ARGV = NM_MAKE_STRV(vci_long, "ip=eno1:dhcp"); - connections = nmi_cmdline_reader_parse(TEST_INITRD_DIR "/sysfs", ARGV, &hostname); - connection = g_hash_table_lookup(connections, "eno1"); - g_assert(connection); - nmtst_assert_connection_verifies_without_normalization(connection); - s_ip4 = NM_SETTING_IP4_CONFIG(nm_connection_get_setting_ip4_config(connection)); + vci_long = g_strdup_printf("rd.net.dhcp.vendor-class=%s", vci_arg_long); + ARGV = NM_MAKE_STRV(vci_long, "ip=eno1:dhcp"); + connection = _parse_con(ARGV, "eno1"); + s_ip4 = NM_SETTING_IP4_CONFIG(nm_connection_get_setting_ip4_config(connection)); g_assert(nm_setting_ip4_config_get_dhcp_vendor_class_identifier(s_ip4) == NULL); } static void test_infiniband_iface(void) { - gs_unref_hashtable GHashTable *connections = NULL; - const char *const * ARGV = NM_MAKE_STRV("ip=ib1:dhcp"); - NMConnection * connection; - NMSettingInfiniband * s_ib; - gs_free char * hostname = NULL; + const char *const *ARGV = NM_MAKE_STRV("ip=ib1:dhcp"); + gs_unref_object NMConnection *connection = NULL; + NMSettingInfiniband * s_ib; - connections = nmi_cmdline_reader_parse(TEST_INITRD_DIR "/sysfs", ARGV, &hostname); - g_assert(connections); - g_assert_cmpint(g_hash_table_size(connections), ==, 1); - g_assert_cmpstr(hostname, ==, NULL); + connection = _parse_con(ARGV, "ib1"); - connection = g_hash_table_lookup(connections, "ib1"); - g_assert(connection); - nmtst_assert_connection_verifies_without_normalization(connection); g_assert_cmpstr(nm_connection_get_connection_type(connection), ==, NM_SETTING_INFINIBAND_SETTING_NAME); @@ -2159,22 +2030,13 @@ test_infiniband_iface(void) static void test_infiniband_mac(void) { - gs_unref_hashtable GHashTable *connections = NULL; - const char *const * ARGV = + const char *const *ARGV = NM_MAKE_STRV("ip=00-11-22-33-44-55-66-77-88-99-aa-bb-cc-dd-ee-ff-00-11-22-33:dhcp"); - NMConnection * connection; - NMSettingInfiniband *s_ib; - gs_free char * hostname = NULL; + gs_unref_object NMConnection *connection = NULL; + NMSettingInfiniband * s_ib; - connections = nmi_cmdline_reader_parse(TEST_INITRD_DIR "/sysfs", ARGV, &hostname); - g_assert(connections); - g_assert_cmpint(g_hash_table_size(connections), ==, 1); - g_assert_cmpstr(hostname, ==, NULL); + connection = _parse_con(ARGV, "00:11:22:33:44:55:66:77:88:99:AA:BB:CC:DD:EE:FF:00:11:22:33"); - connection = g_hash_table_lookup(connections, - "00:11:22:33:44:55:66:77:88:99:AA:BB:CC:DD:EE:FF:00:11:22:33"); - g_assert(connection); - nmtst_assert_connection_verifies_without_normalization(connection); g_assert_cmpstr(nm_connection_get_connection_type(connection), ==, NM_SETTING_INFINIBAND_SETTING_NAME); @@ -2186,6 +2048,20 @@ test_infiniband_mac(void) "00:11:22:33:44:55:66:77:88:99:AA:BB:CC:DD:EE:FF:00:11:22:33"); } +static void +test_carrier_timeout(void) +{ + gs_unref_hashtable GHashTable *connections = NULL; + const char *const * ARGV = NM_MAKE_STRV("rd.net.timeout.carrier=20"); + gs_free char * hostname = NULL; + gint64 carrier_timeout_sec = 0; + + connections = _parse(ARGV, &hostname, &carrier_timeout_sec); + g_assert_cmpint(g_hash_table_size(connections), ==, 0); + g_assert_cmpstr(hostname, ==, NULL); + g_assert_cmpint(carrier_timeout_sec, ==, 20); +} + NMTST_DEFINE(); int @@ -2234,6 +2110,7 @@ main(int argc, char **argv) g_test_add_func("/initrd/cmdline/dhcp/vendor_class_id", test_dhcp_vendor_class_id); g_test_add_func("/initrd/cmdline/infiniband/iface", test_infiniband_iface); g_test_add_func("/initrd/cmdline/infiniband/mac", test_infiniband_mac); + g_test_add_func("/initrd/cmdline/carrier_timeout", test_carrier_timeout); return g_test_run(); } diff --git a/src/ndisc/nm-fake-ndisc.c b/src/ndisc/nm-fake-ndisc.c index 3771b40..5bcdb0d 100644 --- a/src/ndisc/nm-fake-ndisc.c +++ b/src/ndisc/nm-fake-ndisc.c @@ -30,11 +30,10 @@ typedef struct { typedef struct { struct in6_addr network; - int plen; struct in6_addr gateway; - guint32 timestamp; - guint32 lifetime; - guint32 preferred; + gint64 expiry_msec; + gint64 expiry_preferred_msec; + int plen; NMIcmpv6RouterPref preference; } FakePrefix; @@ -128,8 +127,7 @@ void nm_fake_ndisc_add_gateway(NMFakeNDisc * self, guint ra_id, const char * addr, - guint32 timestamp, - guint32 lifetime, + gint64 expiry_msec, NMIcmpv6RouterPref preference) { NMFakeNDiscPrivate *priv = NM_FAKE_NDISC_GET_PRIVATE(self); @@ -137,12 +135,12 @@ nm_fake_ndisc_add_gateway(NMFakeNDisc * self, NMNDiscGateway * gw; g_assert(ra); - g_array_set_size(ra->gateways, ra->gateways->len + 1); - gw = &g_array_index(ra->gateways, NMNDiscGateway, ra->gateways->len - 1); - g_assert(inet_pton(AF_INET6, addr, &gw->address) == 1); - gw->timestamp = timestamp; - gw->lifetime = lifetime; - gw->preference = preference; + + gw = nm_g_array_append_new(ra->gateways, NMNDiscGateway); + if (inet_pton(AF_INET6, addr, &gw->address) != 1) + g_assert_not_reached(); + gw->expiry_msec = expiry_msec; + gw->preference = preference; } void @@ -151,9 +149,8 @@ nm_fake_ndisc_add_prefix(NMFakeNDisc * self, const char * network, guint plen, const char * gateway, - guint32 timestamp, - guint32 lifetime, - guint32 preferred, + gint64 expiry_msec, + gint64 expiry_preferred_msec, NMIcmpv6RouterPref preference) { NMFakeNDiscPrivate *priv = NM_FAKE_NDISC_GET_PRIVATE(self); @@ -161,54 +158,52 @@ nm_fake_ndisc_add_prefix(NMFakeNDisc * self, FakePrefix * prefix; g_assert(ra); - g_array_set_size(ra->prefixes, ra->prefixes->len + 1); - prefix = &g_array_index(ra->prefixes, FakePrefix, ra->prefixes->len - 1); - memset(prefix, 0, sizeof(*prefix)); - g_assert(inet_pton(AF_INET6, network, &prefix->network) == 1); - g_assert(inet_pton(AF_INET6, gateway, &prefix->gateway) == 1); - prefix->plen = plen; - prefix->timestamp = timestamp; - prefix->lifetime = lifetime; - prefix->preferred = preferred; - prefix->preference = preference; + + prefix = nm_g_array_append_new(ra->prefixes, FakePrefix); + *prefix = (FakePrefix){ + .plen = plen, + .expiry_msec = expiry_msec, + .expiry_preferred_msec = expiry_preferred_msec, + .preference = preference, + }; + if (inet_pton(AF_INET6, network, &prefix->network) != 1) + g_assert_not_reached(); + if (inet_pton(AF_INET6, gateway, &prefix->gateway) != 1) + g_assert_not_reached(); } void nm_fake_ndisc_add_dns_server(NMFakeNDisc *self, guint ra_id, const char * address, - guint32 timestamp, - guint32 lifetime) + gint64 expiry_msec) { NMFakeNDiscPrivate *priv = NM_FAKE_NDISC_GET_PRIVATE(self); FakeRa * ra = find_ra(priv->ras, ra_id); NMNDiscDNSServer * dns; g_assert(ra); - g_array_set_size(ra->dns_servers, ra->dns_servers->len + 1); - dns = &g_array_index(ra->dns_servers, NMNDiscDNSServer, ra->dns_servers->len - 1); - g_assert(inet_pton(AF_INET6, address, &dns->address) == 1); - dns->timestamp = timestamp; - dns->lifetime = lifetime; + + dns = nm_g_array_append_new(ra->dns_servers, NMNDiscDNSServer); + + dns->expiry_msec = expiry_msec; + if (inet_pton(AF_INET6, address, &dns->address) != 1) + g_assert_not_reached(); } void -nm_fake_ndisc_add_dns_domain(NMFakeNDisc *self, - guint ra_id, - const char * domain, - guint32 timestamp, - guint32 lifetime) +nm_fake_ndisc_add_dns_domain(NMFakeNDisc *self, guint ra_id, const char *domain, gint64 expiry_msec) { NMFakeNDiscPrivate *priv = NM_FAKE_NDISC_GET_PRIVATE(self); FakeRa * ra = find_ra(priv->ras, ra_id); NMNDiscDNSDomain * dns; g_assert(ra); - g_array_set_size(ra->dns_domains, ra->dns_domains->len + 1); - dns = &g_array_index(ra->dns_domains, NMNDiscDNSDomain, ra->dns_domains->len - 1); - dns->domain = g_strdup(domain); - dns->timestamp = timestamp; - dns->lifetime = lifetime; + + dns = nm_g_array_append_new(ra->dns_domains, NMNDiscDNSDomain); + + dns->domain = g_strdup(domain); + dns->expiry_msec = expiry_msec; } gboolean @@ -222,6 +217,7 @@ nm_fake_ndisc_done(NMFakeNDisc *self) static gboolean send_rs(NMNDisc *ndisc, GError **error) { + _LOGT("send_rs()"); g_signal_emit(ndisc, signals[RS_SENT], 0); return TRUE; } @@ -229,13 +225,13 @@ send_rs(NMNDisc *ndisc, GError **error) static gboolean receive_ra(gpointer user_data) { - NMFakeNDisc * self = user_data; - NMFakeNDiscPrivate * priv = NM_FAKE_NDISC_GET_PRIVATE(self); - NMNDisc * ndisc = NM_NDISC(self); - NMNDiscDataInternal *rdata = ndisc->rdata; - FakeRa * ra = priv->ras->data; - NMNDiscConfigMap changed = 0; - gint32 now = nm_utils_get_monotonic_timestamp_sec(); + NMFakeNDisc * self = user_data; + NMFakeNDiscPrivate * priv = NM_FAKE_NDISC_GET_PRIVATE(self); + NMNDisc * ndisc = NM_NDISC(self); + NMNDiscDataInternal *rdata = ndisc->rdata; + FakeRa * ra = priv->ras->data; + NMNDiscConfigMap changed = 0; + const gint64 now_msec = nm_utils_get_monotonic_timestamp_msec(); guint i; NMNDiscDHCPLevel dhcp_level; @@ -250,53 +246,51 @@ receive_ra(gpointer user_data) } for (i = 0; i < ra->gateways->len; i++) { - NMNDiscGateway *item = &g_array_index(ra->gateways, NMNDiscGateway, i); + const NMNDiscGateway *item = &g_array_index(ra->gateways, NMNDiscGateway, i); - if (nm_ndisc_add_gateway(ndisc, item)) + if (nm_ndisc_add_gateway(ndisc, item, now_msec)) changed |= NM_NDISC_CONFIG_GATEWAYS; } for (i = 0; i < ra->prefixes->len; i++) { - FakePrefix * item = &g_array_index(ra->prefixes, FakePrefix, i); - NMNDiscRoute route = { - .network = item->network, - .plen = item->plen, - .gateway = item->gateway, - .timestamp = item->timestamp, - .lifetime = item->lifetime, - .preference = item->preference, + FakePrefix * item = &g_array_index(ra->prefixes, FakePrefix, i); + const NMNDiscRoute route = { + .network = item->network, + .plen = item->plen, + .gateway = item->gateway, + .expiry_msec = item->expiry_msec, + .preference = item->preference, }; g_assert(route.plen > 0 && route.plen <= 128); - if (nm_ndisc_add_route(ndisc, &route)) + if (nm_ndisc_add_route(ndisc, &route, now_msec)) changed |= NM_NDISC_CONFIG_ROUTES; if (item->plen == 64) { - NMNDiscAddress address = { - .address = item->network, - .timestamp = item->timestamp, - .lifetime = item->lifetime, - .preferred = item->preferred, - .dad_counter = 0, + const NMNDiscAddress address = { + .address = item->network, + .expiry_msec = item->expiry_msec, + .expiry_preferred_msec = item->expiry_preferred_msec, + .dad_counter = 0, }; - if (nm_ndisc_complete_and_add_address(ndisc, &address, now)) + if (nm_ndisc_complete_and_add_address(ndisc, &address, now_msec)) changed |= NM_NDISC_CONFIG_ADDRESSES; } } for (i = 0; i < ra->dns_servers->len; i++) { - NMNDiscDNSServer *item = &g_array_index(ra->dns_servers, NMNDiscDNSServer, i); + const NMNDiscDNSServer *item = &g_array_index(ra->dns_servers, NMNDiscDNSServer, i); - if (nm_ndisc_add_dns_server(ndisc, item)) + if (nm_ndisc_add_dns_server(ndisc, item, now_msec)) changed |= NM_NDISC_CONFIG_DNS_SERVERS; } for (i = 0; i < ra->dns_domains->len; i++) { - NMNDiscDNSDomain *item = &g_array_index(ra->dns_domains, NMNDiscDNSDomain, i); + const NMNDiscDNSDomain *item = &g_array_index(ra->dns_domains, NMNDiscDNSDomain, i); - if (nm_ndisc_add_dns_domain(ndisc, item)) + if (nm_ndisc_add_dns_domain(ndisc, item, now_msec)) changed |= NM_NDISC_CONFIG_DNS_DOMAINS; } @@ -313,7 +307,7 @@ receive_ra(gpointer user_data) priv->ras = g_slist_remove(priv->ras, priv->ras->data); fake_ra_free(ra); - nm_ndisc_ra_received(NM_NDISC(self), now, changed); + nm_ndisc_ra_received(NM_NDISC(self), now_msec, changed); /* Schedule next RA */ if (priv->ras) { @@ -378,7 +372,7 @@ nm_fake_ndisc_new(int ifindex, const char *ifname) NM_NDISC_ROUTER_SOLICITATIONS, NM_NDISC_ROUTER_SOLICITATIONS_DEFAULT, NM_NDISC_ROUTER_SOLICITATION_INTERVAL, - NM_NDISC_ROUTER_SOLICITATION_INTERVAL_DEFAULT, + NM_NDISC_RFC4861_RTR_SOLICITATION_INTERVAL, NM_NDISC_RA_TIMEOUT, 30u, NULL); diff --git a/src/ndisc/nm-fake-ndisc.h b/src/ndisc/nm-fake-ndisc.h index b393b59..677f15f 100644 --- a/src/ndisc/nm-fake-ndisc.h +++ b/src/ndisc/nm-fake-ndisc.h @@ -35,8 +35,7 @@ guint nm_fake_ndisc_add_ra(NMFakeNDisc * self, void nm_fake_ndisc_add_gateway(NMFakeNDisc * self, guint ra_id, const char * addr, - guint32 timestamp, - guint32 lifetime, + gint64 expiry_msec, NMIcmpv6RouterPref preference); void nm_fake_ndisc_add_prefix(NMFakeNDisc * self, @@ -44,22 +43,19 @@ void nm_fake_ndisc_add_prefix(NMFakeNDisc * self, const char * network, guint plen, const char * gateway, - guint32 timestamp, - guint32 lifetime, - guint32 preferred, + gint64 expiry_msec, + gint64 expiry_preferred_msec, NMIcmpv6RouterPref preference); void nm_fake_ndisc_add_dns_server(NMFakeNDisc *self, guint ra_id, const char * address, - guint32 timestamp, - guint32 lifetime); + gint64 expiry_msec); void nm_fake_ndisc_add_dns_domain(NMFakeNDisc *self, guint ra_id, const char * domain, - guint32 timestamp, - guint32 lifetime); + gint64 expiry_msec); void nm_fake_ndisc_emit_new_ras(NMFakeNDisc *self); diff --git a/src/ndisc/nm-lndp-ndisc.c b/src/ndisc/nm-lndp-ndisc.c index 1d8becb..7abd197 100644 --- a/src/ndisc/nm-lndp-ndisc.c +++ b/src/ndisc/nm-lndp-ndisc.c @@ -85,14 +85,26 @@ send_rs(NMNDisc *ndisc, GError **error) static NMIcmpv6RouterPref _route_preference_coerce(enum ndp_route_preference pref) { +#define _ASSERT_ENUM(v1, v2) \ + G_STMT_START \ + { \ + G_STATIC_ASSERT((NMIcmpv6RouterPref)(v1) == (v2)); \ + G_STATIC_ASSERT((enum ndp_route_preference)(v2) == (v1)); \ + G_STATIC_ASSERT((gint64)(v1) == (v2)); \ + G_STATIC_ASSERT((gint64)(v2) == (v1)); \ + } \ + G_STMT_END + switch (pref) { case NDP_ROUTE_PREF_LOW: - return NM_ICMPV6_ROUTER_PREF_LOW; case NDP_ROUTE_PREF_MEDIUM: - return NM_ICMPV6_ROUTER_PREF_MEDIUM; case NDP_ROUTE_PREF_HIGH: - return NM_ICMPV6_ROUTER_PREF_HIGH; + _ASSERT_ENUM(NDP_ROUTE_PREF_LOW, NM_ICMPV6_ROUTER_PREF_LOW); + _ASSERT_ENUM(NDP_ROUTE_PREF_MEDIUM, NM_ICMPV6_ROUTER_PREF_MEDIUM); + _ASSERT_ENUM(NDP_ROUTE_PREF_HIGH, NM_ICMPV6_ROUTER_PREF_HIGH); + return (NMIcmpv6RouterPref) pref; } + /* unexpected value must be treated as MEDIUM (RFC 4191). */ return NM_ICMPV6_ROUTER_PREF_MEDIUM; } @@ -105,7 +117,7 @@ receive_ra(struct ndp *ndp, struct ndp_msg *msg, gpointer user_data) NMNDiscConfigMap changed = 0; struct ndp_msgra * msgra = ndp_msgra(msg); struct in6_addr gateway_addr; - gint32 now = nm_utils_get_monotonic_timestamp_sec(); + const gint64 now_msec = nm_utils_get_monotonic_timestamp_msec(); int offset; int hop_limit; guint32 val; @@ -121,7 +133,9 @@ receive_ra(struct ndp *ndp, struct ndp_msg *msg, gpointer user_data) * single time when the configuration is finished and updates can * come at any time. */ - _LOGD("received router advertisement at %d", (int) now); + _LOGD("received router advertisement at timestamp %" G_GINT64_FORMAT ".%03d seconds", + now_msec / 1000, + (int) (now_msec % 1000)); gateway_addr = *ndp_msg_addrto(msg); if (IN6_IS_ADDR_UNSPECIFIED(&gateway_addr)) @@ -163,13 +177,18 @@ receive_ra(struct ndp *ndp, struct ndp_msg *msg, gpointer user_data) */ { const NMNDiscGateway gateway = { - .address = gateway_addr, - .timestamp = now, - .lifetime = ndp_msgra_router_lifetime(msgra), - .preference = _route_preference_coerce(ndp_msgra_route_preference(msgra)), + .address = gateway_addr, + .expiry_msec = _nm_ndisc_lifetime_to_expiry(now_msec, ndp_msgra_router_lifetime(msgra)), + .preference = _route_preference_coerce(ndp_msgra_route_preference(msgra)), }; - if (nm_ndisc_add_gateway(ndisc, &gateway)) + /* https://tools.ietf.org/html/rfc2461#section-4.2 + * > A Lifetime of 0 indicates that the router is not a + * > default router and SHOULD NOT appear on the default + * > router list. + * We handle that by tracking a gateway that expires right now. */ + + if (nm_ndisc_add_gateway(ndisc, &gateway, now_msec)) changed |= NM_NDISC_CONFIG_GATEWAYS; } @@ -192,64 +211,71 @@ receive_ra(struct ndp *ndp, struct ndp_msg *msg, gpointer user_data) if (ndp_msg_opt_prefix_flag_on_link(msg, offset)) { const NMNDiscRoute route = { - .network = r_network, - .plen = r_plen, - .timestamp = now, - .lifetime = ndp_msg_opt_prefix_valid_time(msg, offset), + .network = r_network, + .plen = r_plen, + .expiry_msec = + _nm_ndisc_lifetime_to_expiry(now_msec, + ndp_msg_opt_prefix_valid_time(msg, offset)), }; - if (nm_ndisc_add_route(ndisc, &route)) + if (nm_ndisc_add_route(ndisc, &route, now_msec)) changed |= NM_NDISC_CONFIG_ROUTES; } /* Address */ if (r_plen == 64 && ndp_msg_opt_prefix_flag_auto_addr_conf(msg, offset)) { - NMNDiscAddress address = { - .address = r_network, - .timestamp = now, - .lifetime = ndp_msg_opt_prefix_valid_time(msg, offset), - .preferred = ndp_msg_opt_prefix_preferred_time(msg, offset), + const guint32 valid_time = ndp_msg_opt_prefix_valid_time(msg, offset); + const guint32 preferred_time = + NM_MIN(ndp_msg_opt_prefix_preferred_time(msg, offset), valid_time); + const NMNDiscAddress address = { + .address = r_network, + .expiry_msec = _nm_ndisc_lifetime_to_expiry(now_msec, valid_time), + .expiry_preferred_msec = _nm_ndisc_lifetime_to_expiry(now_msec, preferred_time), }; - if (address.preferred <= address.lifetime) { - if (nm_ndisc_complete_and_add_address(ndisc, &address, now)) - changed |= NM_NDISC_CONFIG_ADDRESSES; - } + if (nm_ndisc_complete_and_add_address(ndisc, &address, now_msec)) + changed |= NM_NDISC_CONFIG_ADDRESSES; } } ndp_msg_opt_for_each_offset (offset, msg, NDP_MSG_OPT_ROUTE) { - NMNDiscRoute route = { - .gateway = gateway_addr, - .plen = ndp_msg_opt_route_prefix_len(msg, offset), - .timestamp = now, - .lifetime = ndp_msg_opt_route_lifetime(msg, offset), - .preference = _route_preference_coerce(ndp_msg_opt_route_preference(msg, offset)), - }; + guint8 plen = ndp_msg_opt_route_prefix_len(msg, offset); + struct in6_addr network; - if (route.plen == 0 || route.plen > 128) + if (plen == 0 || plen > 128) continue; - /* Routers through this particular gateway */ - nm_utils_ip6_address_clear_host_address(&route.network, + nm_utils_ip6_address_clear_host_address(&network, ndp_msg_opt_route_prefix(msg, offset), - route.plen); - if (nm_ndisc_add_route(ndisc, &route)) - changed |= NM_NDISC_CONFIG_ROUTES; + plen); + + { + const NMNDiscRoute route = { + .network = network, + .gateway = gateway_addr, + .plen = plen, + .expiry_msec = + _nm_ndisc_lifetime_to_expiry(now_msec, ndp_msg_opt_route_lifetime(msg, offset)), + .preference = _route_preference_coerce(ndp_msg_opt_route_preference(msg, offset)), + }; + + /* Routers through this particular gateway */ + if (nm_ndisc_add_route(ndisc, &route, now_msec)) + changed |= NM_NDISC_CONFIG_ROUTES; + } } - /* DNS information */ ndp_msg_opt_for_each_offset (offset, msg, NDP_MSG_OPT_RDNSS) { struct in6_addr *addr; int addr_index; ndp_msg_opt_rdnss_for_each_addr (addr, addr_index, msg, offset) { - NMNDiscDNSServer dns_server = { - .address = *addr, - .timestamp = now, - .lifetime = ndp_msg_opt_rdnss_lifetime(msg, offset), + const NMNDiscDNSServer dns_server = { + .address = *addr, + .expiry_msec = + _nm_ndisc_lifetime_to_expiry(now_msec, ndp_msg_opt_rdnss_lifetime(msg, offset)), }; - if (nm_ndisc_add_dns_server(ndisc, &dns_server)) + if (nm_ndisc_add_dns_server(ndisc, &dns_server, now_msec)) changed |= NM_NDISC_CONFIG_DNS_SERVERS; } } @@ -258,13 +284,13 @@ receive_ra(struct ndp *ndp, struct ndp_msg *msg, gpointer user_data) int domain_index; ndp_msg_opt_dnssl_for_each_domain (domain, domain_index, msg, offset) { - NMNDiscDNSDomain dns_domain = { - .domain = domain, - .timestamp = now, - .lifetime = ndp_msg_opt_dnssl_lifetime(msg, offset), + const NMNDiscDNSDomain dns_domain = { + .domain = domain, + .expiry_msec = + _nm_ndisc_lifetime_to_expiry(now_msec, ndp_msg_opt_dnssl_lifetime(msg, offset)), }; - if (nm_ndisc_add_dns_domain(ndisc, &dns_domain)) + if (nm_ndisc_add_dns_domain(ndisc, &dns_domain, now_msec)) changed |= NM_NDISC_CONFIG_DNS_DOMAINS; } } @@ -304,7 +330,7 @@ receive_ra(struct ndp *ndp, struct ndp_msg *msg, gpointer user_data) } } - nm_ndisc_ra_received(ndisc, now, changed); + nm_ndisc_ra_received(ndisc, now_msec, changed); return 0; } @@ -362,7 +388,6 @@ send_ra(NMNDisc *ndisc, GError **error) { NMLndpNDiscPrivate * priv = NM_LNDP_NDISC_GET_PRIVATE(ndisc); NMNDiscDataInternal * rdata = ndisc->rdata; - gint32 now = nm_utils_get_monotonic_timestamp_sec(); int errsv; struct in6_addr * addr; struct ndp_msg * msg; @@ -392,18 +417,9 @@ send_ra(NMNDisc *ndisc, GError **error) /* The device let us know about all addresses that the device got * whose prefixes are suitable for delegating. Let's announce them. */ for (i = 0; i < rdata->addresses->len; i++) { - const NMNDiscAddress *address = &g_array_index(rdata->addresses, NMNDiscAddress, i); - guint32 age = NM_CLAMP((gint64) now - (gint64) address->timestamp, 0, G_MAXUINT32 - 1); - guint32 lifetime = address->lifetime; - guint32 preferred = address->preferred; + const NMNDiscAddress * address = &g_array_index(rdata->addresses, NMNDiscAddress, i); struct nd_opt_prefix_info *prefix; - /* Clamp the life times if they're not forever. */ - if (lifetime != NM_NDISC_INFINITY) - lifetime = lifetime > age ? lifetime - age : 0; - if (preferred != NM_NDISC_INFINITY) - preferred = preferred > age ? preferred - age : 0; - prefix = _ndp_msg_add_option(msg, sizeof(*prefix)); if (!prefix) { /* Maybe we could sent separate RAs, but why bother... */ @@ -416,8 +432,14 @@ send_ra(NMNDisc *ndisc, GError **error) prefix->nd_opt_pi_prefix_len = 64; prefix->nd_opt_pi_flags_reserved |= ND_OPT_PI_FLAG_ONLINK; prefix->nd_opt_pi_flags_reserved |= ND_OPT_PI_FLAG_AUTO; - prefix->nd_opt_pi_valid_time = htonl(lifetime); - prefix->nd_opt_pi_preferred_time = htonl(preferred); + prefix->nd_opt_pi_valid_time = + htonl(_nm_ndisc_lifetime_from_expiry(NM_NDISC_EXPIRY_BASE_TIMESTAMP, + address->expiry_msec, + TRUE)); + prefix->nd_opt_pi_preferred_time = + htonl(_nm_ndisc_lifetime_from_expiry(NM_NDISC_EXPIRY_BASE_TIMESTAMP, + address->expiry_preferred_msec, + TRUE)); prefix->nd_opt_pi_prefix.s6_addr32[0] = address->address.s6_addr32[0]; prefix->nd_opt_pi_prefix.s6_addr32[1] = address->address.s6_addr32[1]; prefix->nd_opt_pi_prefix.s6_addr32[2] = 0; @@ -691,13 +713,12 @@ nm_lndp_ndisc_get_sysctl(NMPlatform *platform, NM_SET_OUT(out_router_solicitations, router_solicitations); } if (out_router_solicitation_interval || out_default_ra_timeout) { - router_solicitation_interval = - ipv6_sysctl_get(platform, - ifname, - "router_solicitation_interval", - 1, - G_MAXINT32, - NM_NDISC_ROUTER_SOLICITATION_INTERVAL_DEFAULT); + router_solicitation_interval = ipv6_sysctl_get(platform, + ifname, + "router_solicitation_interval", + 1, + G_MAXINT32, + NM_NDISC_RFC4861_RTR_SOLICITATION_INTERVAL); NM_SET_OUT(out_router_solicitation_interval, router_solicitation_interval); } if (out_default_ra_timeout) { diff --git a/src/ndisc/nm-ndisc-private.h b/src/ndisc/nm-ndisc-private.h index e06820f..0473912 100644 --- a/src/ndisc/nm-ndisc-private.h +++ b/src/ndisc/nm-ndisc-private.h @@ -21,14 +21,15 @@ struct _NMNDiscDataInternal { typedef struct _NMNDiscDataInternal NMNDiscDataInternal; -void nm_ndisc_ra_received(NMNDisc *ndisc, gint32 now, NMNDiscConfigMap changed); +void nm_ndisc_ra_received(NMNDisc *ndisc, gint64 now_msec, NMNDiscConfigMap changed); void nm_ndisc_rs_received(NMNDisc *ndisc); -gboolean nm_ndisc_add_gateway(NMNDisc *ndisc, const NMNDiscGateway *new); -gboolean nm_ndisc_complete_and_add_address(NMNDisc *ndisc, const NMNDiscAddress *new, gint32 now_s); -gboolean nm_ndisc_add_route(NMNDisc *ndisc, const NMNDiscRoute *new); -gboolean nm_ndisc_add_dns_server(NMNDisc *ndisc, const NMNDiscDNSServer *new); -gboolean nm_ndisc_add_dns_domain(NMNDisc *ndisc, const NMNDiscDNSDomain *new); +gboolean nm_ndisc_add_gateway(NMNDisc *ndisc, const NMNDiscGateway *new_item, gint64 now_msec); +gboolean +nm_ndisc_complete_and_add_address(NMNDisc *ndisc, const NMNDiscAddress *new_item, gint64 now_msec); +gboolean nm_ndisc_add_route(NMNDisc *ndisc, const NMNDiscRoute *new_item, gint64 now_msec); +gboolean nm_ndisc_add_dns_server(NMNDisc *ndisc, const NMNDiscDNSServer *new_item, gint64 now_msec); +gboolean nm_ndisc_add_dns_domain(NMNDisc *ndisc, const NMNDiscDNSDomain *new_item, gint64 now_msec); /*****************************************************************************/ diff --git a/src/ndisc/nm-ndisc.c b/src/ndisc/nm-ndisc.c index 44035ff..05da8eb 100644 --- a/src/ndisc/nm-ndisc.c +++ b/src/ndisc/nm-ndisc.c @@ -20,38 +20,45 @@ #define _NMLOG_PREFIX_NAME "ndisc" +#define RFC7559_IRT ((gint32) 4) /* RFC7559, Initial Retransmission Time, in seconds */ +#define RFC7559_MRT ((gint32) 3600) /* RFC7559, Maximum Retransmission Time, in seconds */ + +#define _SIZE_MAX_GATEWAYS 100u +#define _SIZE_MAX_ADDRESSES 100u +#define _SIZE_MAX_ROUTES 1000u +#define _SIZE_MAX_DNS_SERVERS 64u +#define _SIZE_MAX_DNS_DOMAINS 64u + /*****************************************************************************/ struct _NMNDiscPrivate { /* this *must* be the first field. */ NMNDiscDataInternal rdata; - char * last_error; + char *last_error; + GSource *ra_timeout_source; - union { - gint32 solicitations_left; - gint32 announcements_left; - }; - union { - guint send_rs_id; - guint send_ra_id; - }; - union { - gint32 last_rs; - gint32 last_ra; - }; - guint timeout_id; /* prefix/dns/etc lifetime timeout */ + gint32 announcements_left; + guint send_ra_id; + gint32 last_ra; + + gint32 solicit_retransmit_time_msec; + + GSource *solicit_timer_source; + + GSource *timeout_expire_source; + NMUtilsIPv6IfaceId iid; /* immutable values: */ int ifindex; char * ifname; char * network_id; + guint max_addresses; NMSettingIP6ConfigAddrGenMode addr_gen_mode; NMUtilsStableType stable_type; guint32 ra_timeout; - gint32 max_addresses; gint32 router_solicitations; gint32 router_solicitation_interval; NMNDiscNodeType node_type; @@ -84,7 +91,8 @@ G_DEFINE_TYPE(NMNDisc, nm_ndisc, G_TYPE_OBJECT) /*****************************************************************************/ -static void _config_changed_log(NMNDisc *ndisc, NMNDiscConfigMap changed); +static void _config_changed_log(NMNDisc *ndisc, NMNDiscConfigMap changed); +static gboolean timeout_expire_cb(gpointer user_data); /*****************************************************************************/ @@ -102,6 +110,7 @@ nm_ndisc_data_to_l3cd(NMDedupMultiIndex * multi_idx, guint32 ifa_flags; guint8 plen; guint i; + const gint32 now_sec = nm_utils_get_monotonic_timestamp_sec(); l3cd = nm_l3_config_data_new(multi_idx, ifindex); @@ -129,12 +138,17 @@ nm_ndisc_data_to_l3cd(NMDedupMultiIndex * multi_idx, NMPlatformIP6Address a; a = (NMPlatformIP6Address){ - .ifindex = ifindex, - .address = ndisc_addr->address, - .plen = plen, - .timestamp = ndisc_addr->timestamp, - .lifetime = ndisc_addr->lifetime, - .preferred = MIN(ndisc_addr->lifetime, ndisc_addr->preferred), + .ifindex = ifindex, + .address = ndisc_addr->address, + .plen = plen, + .timestamp = now_sec, + .lifetime = _nm_ndisc_lifetime_from_expiry(((gint64) now_sec) * 1000, + ndisc_addr->expiry_msec, + TRUE), + .preferred = _nm_ndisc_lifetime_from_expiry( + ((gint64) now_sec) * 1000, + NM_MIN(ndisc_addr->expiry_msec, ndisc_addr->expiry_preferred_msec), + TRUE), .addr_source = NM_IP_CONFIG_SOURCE_NDISC, .n_ifa_flags = ifa_flags, }; @@ -220,77 +234,40 @@ _preference_to_priority(NMIcmpv6RouterPref pref) /*****************************************************************************/ -/* we rely on the fact, that _EXPIRY_INFINITY > any other valid gint64 timestamps. */ -#define _EXPIRY_INFINITY G_MAXINT64 - -static gint64 -get_expiry_time(guint32 timestamp, guint32 lifetime) -{ - nm_assert(timestamp > 0); - nm_assert(timestamp <= G_MAXINT32); - - if (lifetime == NM_NDISC_INFINITY) - return _EXPIRY_INFINITY; - return ((gint64) timestamp) + ((gint64) lifetime); -} - -#define get_expiry(item) \ - ({ \ - typeof(item) _item = (item); \ - nm_assert(_item); \ - get_expiry_time(_item->timestamp, _item->lifetime); \ - }) - -#define get_expiry_half(item) \ - ({ \ - typeof(item) _item = (item); \ - nm_assert(_item); \ - (_item->lifetime == NM_NDISC_INFINITY) \ - ? _EXPIRY_INFINITY \ - : get_expiry_time(_item->timestamp, _item->lifetime / 2); \ - }) - -#define get_expiry_preferred(item) \ - ({ \ - typeof(item) _item = (item); \ - nm_assert(_item); \ - get_expiry_time(_item->timestamp, _item->preferred); \ - }) - static gboolean -expiry_next(gint32 now_s, gint64 expiry_timestamp, gint32 *nextevent) +expiry_next(gint64 now_msec, gint64 expiry_msec, gint64 *next_msec) { - gint32 e; - - if (expiry_timestamp == _EXPIRY_INFINITY) + if (expiry_msec == NM_NDISC_EXPIRY_INFINITY) return TRUE; - e = MIN(expiry_timestamp, ((gint64)(G_MAXINT32 - 1))); - if (now_s >= e) + + if (expiry_msec <= now_msec) { + /* expired. */ return FALSE; - if (nextevent) { - if (*nextevent > e) - *nextevent = e; } + + if (next_msec) { + if (*next_msec > expiry_msec) + *next_msec = expiry_msec; + } + + /* the timestamp is good (not yet expired) */ return TRUE; } static const char * -_get_exp(char *buf, gsize buf_size, gint64 now_ns, gint64 expiry_time) +_get_exp(char *buf, gsize buf_size, gint64 now_msec, gint64 expiry_time) { int l; - if (expiry_time == _EXPIRY_INFINITY) + if (expiry_time == NM_NDISC_EXPIRY_INFINITY) return "permanent"; - l = g_snprintf(buf, - buf_size, - "%.4f", - ((double) ((expiry_time * NM_UTILS_NSEC_PER_SEC) - now_ns)) - / ((double) NM_UTILS_NSEC_PER_SEC)); + l = g_snprintf(buf, buf_size, "%.3f", ((double) (expiry_time - now_msec)) / 1000); nm_assert(l < buf_size); return buf; } -#define get_exp(buf, now_ns, item) _get_exp((buf), G_N_ELEMENTS(buf), (now_ns), (get_expiry(item))) +#define get_exp(buf, now_msec, item) \ + _get_exp((buf), G_N_ELEMENTS(buf), (now_msec), (item)->expiry_msec) /*****************************************************************************/ @@ -361,17 +338,16 @@ _ASSERT_data_gateways(const NMNDiscDataInternal *data) const NMNDiscGateway *item = &g_array_index(data->gateways, NMNDiscGateway, i); nm_assert(!IN6_IS_ADDR_UNSPECIFIED(&item->address)); - nm_assert(item->timestamp > 0 && item->timestamp <= G_MAXINT32); for (j = 0; j < i; j++) { const NMNDiscGateway *item2 = &g_array_index(data->gateways, NMNDiscGateway, j); nm_assert(!IN6_ARE_ADDR_EQUAL(&item->address, &item2->address)); } - nm_assert(item->lifetime > 0); - if (i > 0) + if (i > 0) { nm_assert(_preference_to_priority(item_prev->preference) >= _preference_to_priority(item->preference)); + } item_prev = item; } @@ -417,7 +393,7 @@ nm_ndisc_emit_config_change(NMNDisc *self, NMNDiscConfigMap changed) /*****************************************************************************/ gboolean -nm_ndisc_add_gateway(NMNDisc *ndisc, const NMNDiscGateway *new) +nm_ndisc_add_gateway(NMNDisc *ndisc, const NMNDiscGateway *new_item, gint64 now_msec) { NMNDiscDataInternal *rdata = &NM_NDISC_GET_PRIVATE(ndisc)->rdata; guint i; @@ -426,41 +402,46 @@ nm_ndisc_add_gateway(NMNDisc *ndisc, const NMNDiscGateway *new) for (i = 0; i < rdata->gateways->len;) { NMNDiscGateway *item = &g_array_index(rdata->gateways, NMNDiscGateway, i); - if (IN6_ARE_ADDR_EQUAL(&item->address, &new->address)) { - if (new->lifetime == 0) { + if (IN6_ARE_ADDR_EQUAL(&item->address, &new_item->address)) { + if (new_item->expiry_msec <= now_msec) { g_array_remove_index(rdata->gateways, i); _ASSERT_data_gateways(rdata); return TRUE; } - if (item->preference != new->preference) { + if (item->preference != new_item->preference) { g_array_remove_index(rdata->gateways, i); continue; } - if (get_expiry(item) == get_expiry(new)) + if (item->expiry_msec == new_item->expiry_msec) return FALSE; - *item = *new; + item->expiry_msec = new_item->expiry_msec; _ASSERT_data_gateways(rdata); return TRUE; } /* Put before less preferable gateways. */ - if (_preference_to_priority(item->preference) < _preference_to_priority(new->preference) + if (_preference_to_priority(item->preference) + < _preference_to_priority(new_item->preference) && insert_idx == G_MAXUINT) insert_idx = i; i++; } - if (new->lifetime) { - g_array_insert_val(rdata->gateways, - insert_idx == G_MAXUINT ? rdata->gateways->len : insert_idx, - *new); - } + if (rdata->gateways->len >= _SIZE_MAX_GATEWAYS) + return FALSE; + + if (new_item->expiry_msec <= now_msec) + return FALSE; + + g_array_insert_val(rdata->gateways, + insert_idx == G_MAXUINT ? rdata->gateways->len : insert_idx, + *new_item); _ASSERT_data_gateways(rdata); - return !!new->lifetime; + return TRUE; } /** @@ -513,25 +494,27 @@ complete_address(NMNDisc *ndisc, NMNDiscAddress *addr) return TRUE; } - _LOGW("complete-address: can't generate a new EUI-64 address"); + _LOGW("complete-address: can't generate a new_item EUI-64 address"); return FALSE; } static gboolean -nm_ndisc_add_address(NMNDisc *ndisc, const NMNDiscAddress *new, gint32 now_s, gboolean from_ra) +nm_ndisc_add_address(NMNDisc * ndisc, + const NMNDiscAddress *new_item, + gint64 now_msec, + gboolean from_ra) { NMNDiscPrivate * priv = NM_NDISC_GET_PRIVATE(ndisc); NMNDiscDataInternal *rdata = &priv->rdata; - NMNDiscAddress new2; + NMNDiscAddress * new2; NMNDiscAddress * existing = NULL; guint i; - nm_assert(new); - nm_assert(new->timestamp > 0 && new->timestamp < G_MAXINT32); - nm_assert(!IN6_IS_ADDR_UNSPECIFIED(&new->address)); - nm_assert(!IN6_IS_ADDR_LINKLOCAL(&new->address)); - nm_assert(new->preferred <= new->lifetime); - nm_assert(!from_ra || now_s > 0); + nm_assert(new_item); + nm_assert(!IN6_IS_ADDR_UNSPECIFIED(&new_item->address)); + nm_assert(!IN6_IS_ADDR_LINKLOCAL(&new_item->address)); + nm_assert(new_item->expiry_preferred_msec <= new_item->expiry_msec); + nm_assert((!!from_ra) == (now_msec > 0)); for (i = 0; i < rdata->addresses->len; i++) { NMNDiscAddress *item = &g_array_index(rdata->addresses, NMNDiscAddress, i); @@ -539,12 +522,12 @@ nm_ndisc_add_address(NMNDisc *ndisc, const NMNDiscAddress *new, gint32 now_s, gb if (from_ra) { /* RFC4862 5.5.3.d, we find an existing address with the same prefix. * (note that all prefixes at this point have implicitly length /64). */ - if (memcmp(&item->address, &new->address, 8) == 0) { + if (memcmp(&item->address, &new_item->address, 8) == 0) { existing = item; break; } } else { - if (IN6_ARE_ADDR_EQUAL(&item->address, &new->address)) { + if (IN6_ARE_ADDR_EQUAL(&item->address, &new_item->address)) { existing = item; break; } @@ -552,67 +535,60 @@ nm_ndisc_add_address(NMNDisc *ndisc, const NMNDiscAddress *new, gint32 now_s, gb } if (existing) { - if (from_ra) { - const gint32 NM_NDISC_PREFIX_LFT_MIN = 7200; /* seconds, RFC4862 5.5.3.e */ - gint64 old_expiry_lifetime, old_expiry_preferred; - - old_expiry_lifetime = get_expiry(existing); - old_expiry_preferred = get_expiry_preferred(existing); + gint64 new_expiry_preferred_msec; + gint64 new_expiry_msec; - if (new->lifetime == NM_NDISC_INFINITY) - existing->lifetime = NM_NDISC_INFINITY; + if (from_ra) { + if (new_item->expiry_msec == NM_NDISC_EXPIRY_INFINITY) + new_expiry_msec = NM_NDISC_EXPIRY_INFINITY; else { - gint64 new_lifetime, remaining_lifetime; + const gint64 NDISC_PREFIX_LFT_MIN_MSEC = 7200 * 1000; /* RFC4862 5.5.3.e */ + gint64 new_lifetime; + gint64 existing_lifetime; - /* see RFC4862 5.5.3.e */ - if (existing->lifetime == NM_NDISC_INFINITY) - remaining_lifetime = G_MAXINT64; + new_lifetime = new_item->expiry_msec - now_msec; + if (existing->expiry_msec == NM_NDISC_EXPIRY_INFINITY) + existing_lifetime = G_MAXINT64; else - remaining_lifetime = ((gint64) existing->timestamp) - + ((gint64) existing->lifetime) - ((gint64) now_s); - new_lifetime = - ((gint64) new->timestamp) + ((gint64) new->lifetime) - ((gint64) now_s); - - if (new_lifetime > (gint64) NM_NDISC_PREFIX_LFT_MIN - || new_lifetime > remaining_lifetime) { - existing->timestamp = now_s; - existing->lifetime = CLAMP(new_lifetime, (gint64) 0, (gint64)(G_MAXUINT32 - 1)); - } else if (remaining_lifetime <= (gint64) NM_NDISC_PREFIX_LFT_MIN) { + existing_lifetime = existing->expiry_msec - now_msec; + + /* see RFC4862 5.5.3.e */ + if (new_lifetime >= NDISC_PREFIX_LFT_MIN_MSEC + || new_lifetime >= existing_lifetime) { + /* either extend the lifetime of the new_item lifetime is longer than + * NDISC_PREFIX_LFT_MIN_MSEC. */ + new_expiry_msec = new_item->expiry_msec; + } else if (existing_lifetime <= NDISC_PREFIX_LFT_MIN_MSEC) { /* keep the current lifetime. */ + new_expiry_msec = existing->expiry_msec; } else { - existing->timestamp = now_s; - existing->lifetime = NM_NDISC_PREFIX_LFT_MIN; + /* trim the current lifetime to NDISC_PREFIX_LFT_MIN_MSEC. */ + new_expiry_msec = now_msec + NDISC_PREFIX_LFT_MIN_MSEC; } } - if (new->preferred == NM_NDISC_INFINITY) { - nm_assert(existing->lifetime == NM_NDISC_INFINITY); - existing->preferred = new->preferred; - } else { - existing->preferred = NM_CLAMP(((gint64) new->timestamp) + ((gint64) new->preferred) - - ((gint64) existing->timestamp), - 0, - G_MAXUINT32 - 1); - if (existing->lifetime != NM_NDISC_INFINITY) - existing->preferred = MIN(existing->preferred, existing->lifetime); + new_expiry_preferred_msec = + NM_MIN(new_item->expiry_preferred_msec, new_item->expiry_msec); + new_expiry_preferred_msec = NM_MIN(new_expiry_preferred_msec, new_expiry_msec); + } else { + if (new_item->expiry_msec <= now_msec) { + g_array_remove_index(rdata->addresses, i); + return TRUE; } - return old_expiry_lifetime != get_expiry(existing) - || old_expiry_preferred != get_expiry_preferred(existing); - } - - if (new->lifetime == 0) { - g_array_remove_index(rdata->addresses, i); - return TRUE; + new_expiry_msec = new_item->expiry_msec; + new_expiry_preferred_msec = + NM_MIN(new_item->expiry_preferred_msec, new_item->expiry_msec); } - if (get_expiry(existing) == get_expiry(new) - && get_expiry_preferred(existing) == get_expiry_preferred(new)) + /* the dad_counter does not get modified. */ + if (new_expiry_msec == existing->expiry_msec + && new_expiry_preferred_msec == existing->expiry_preferred_msec) { return FALSE; + } - existing->timestamp = new->timestamp; - existing->lifetime = new->lifetime; - existing->preferred = new->preferred; + existing->expiry_msec = new_expiry_msec; + existing->expiry_preferred_msec = new_expiry_preferred_msec; return TRUE; } @@ -620,39 +596,45 @@ nm_ndisc_add_address(NMNDisc *ndisc, const NMNDiscAddress *new, gint32 now_s, gb * what the kernel does, because it considers *all* addresses (including * static and other temporary addresses). **/ - if (priv->max_addresses && rdata->addresses->len >= priv->max_addresses) + if (rdata->addresses->len >= priv->max_addresses) return FALSE; - if (new->lifetime == 0) + if (new_item->expiry_msec <= now_msec) return FALSE; + new2 = nm_g_array_append_new(rdata->addresses, NMNDiscAddress); + + *new2 = *new_item; + + new2->expiry_preferred_msec = NM_MIN(new2->expiry_preferred_msec, new2->expiry_msec); + if (from_ra) { - new2 = *new; - new2.dad_counter = 0; - if (!complete_address(ndisc, &new2)) + new2->dad_counter = 0; + if (!complete_address(ndisc, new2)) { + g_array_set_size(rdata->addresses, rdata->addresses->len - 1); return FALSE; - new = &new2; + } } - g_array_append_val(rdata->addresses, *new); return TRUE; } gboolean -nm_ndisc_complete_and_add_address(NMNDisc *ndisc, const NMNDiscAddress *new, gint32 now_s) +nm_ndisc_complete_and_add_address(NMNDisc *ndisc, const NMNDiscAddress *new_item, gint64 now_msec) { - return nm_ndisc_add_address(ndisc, new, now_s, TRUE); + return nm_ndisc_add_address(ndisc, new_item, now_msec, TRUE); } gboolean -nm_ndisc_add_route(NMNDisc *ndisc, const NMNDiscRoute *new) +nm_ndisc_add_route(NMNDisc *ndisc, const NMNDiscRoute *new_item, gint64 now_msec) { NMNDiscPrivate * priv; NMNDiscDataInternal *rdata; guint i; guint insert_idx = G_MAXUINT; + gboolean changed = FALSE; - if (new->plen == 0 || new->plen > 128) { + if (new_item->plen == 0 || new_item->plen > 128) { /* Only expect non-default routes. The router has no idea what the * local configuration or user preferences are, so sending routes * with a prefix length of 0 must be ignored by NMNDisc. @@ -669,41 +651,51 @@ nm_ndisc_add_route(NMNDisc *ndisc, const NMNDiscRoute *new) for (i = 0; i < rdata->routes->len;) { NMNDiscRoute *item = &g_array_index(rdata->routes, NMNDiscRoute, i); - if (IN6_ARE_ADDR_EQUAL(&item->network, &new->network) && item->plen == new->plen) { - if (new->lifetime == 0) { + if (IN6_ARE_ADDR_EQUAL(&item->network, &new_item->network) + && item->plen == new_item->plen) { + if (new_item->expiry_msec <= now_msec) { g_array_remove_index(rdata->routes, i); return TRUE; } - if (item->preference != new->preference) { + if (item->preference != new_item->preference) { g_array_remove_index(rdata->routes, i); + changed = TRUE; continue; } - if (get_expiry(item) == get_expiry(new) - && IN6_ARE_ADDR_EQUAL(&item->gateway, &new->gateway)) + if (item->expiry_msec == new_item->expiry_msec + && IN6_ARE_ADDR_EQUAL(&item->gateway, &new_item->gateway)) return FALSE; - *item = *new; + item->expiry_msec = new_item->expiry_msec; + item->gateway = new_item->gateway; return TRUE; } /* Put before less preferable routes. */ - if (_preference_to_priority(item->preference) < _preference_to_priority(new->preference) + if (_preference_to_priority(item->preference) + < _preference_to_priority(new_item->preference) && insert_idx == G_MAXUINT) insert_idx = i; i++; } - if (new->lifetime) { - g_array_insert_val(rdata->routes, insert_idx == G_MAXUINT ? 0u : insert_idx, *new); + if (rdata->routes->len >= _SIZE_MAX_ROUTES) + return FALSE; + + if (new_item->expiry_msec <= now_msec) { + nm_assert(!changed); + return FALSE; } - return !!new->lifetime; + + g_array_insert_val(rdata->routes, insert_idx == G_MAXUINT ? 0u : insert_idx, *new_item); + return TRUE; } gboolean -nm_ndisc_add_dns_server(NMNDisc *ndisc, const NMNDiscDNSServer *new) +nm_ndisc_add_dns_server(NMNDisc *ndisc, const NMNDiscDNSServer *new_item, gint64 now_msec) { NMNDiscPrivate * priv; NMNDiscDataInternal *rdata; @@ -715,28 +707,33 @@ nm_ndisc_add_dns_server(NMNDisc *ndisc, const NMNDiscDNSServer *new) for (i = 0; i < rdata->dns_servers->len; i++) { NMNDiscDNSServer *item = &g_array_index(rdata->dns_servers, NMNDiscDNSServer, i); - if (IN6_ARE_ADDR_EQUAL(&item->address, &new->address)) { - if (new->lifetime == 0) { + if (IN6_ARE_ADDR_EQUAL(&item->address, &new_item->address)) { + if (new_item->expiry_msec <= now_msec) { g_array_remove_index(rdata->dns_servers, i); return TRUE; } - if (get_expiry(item) == get_expiry(new)) + if (item->expiry_msec == new_item->expiry_msec) return FALSE; - *item = *new; + item->expiry_msec = new_item->expiry_msec; return TRUE; } } - if (new->lifetime) - g_array_append_val(rdata->dns_servers, *new); - return !!new->lifetime; + if (rdata->dns_servers->len >= _SIZE_MAX_DNS_SERVERS) + return FALSE; + + if (new_item->expiry_msec <= now_msec) + return FALSE; + + g_array_append_val(rdata->dns_servers, *new_item); + return TRUE; } -/* Copies new->domain if 'new' is added to the dns_domains list */ +/* Copies new_item->domain if 'new_item' is added to the dns_domains list */ gboolean -nm_ndisc_add_dns_domain(NMNDisc *ndisc, const NMNDiscDNSDomain *new) +nm_ndisc_add_dns_domain(NMNDisc *ndisc, const NMNDiscDNSDomain *new_item, gint64 now_msec) { NMNDiscPrivate * priv; NMNDiscDataInternal *rdata; @@ -749,101 +746,155 @@ nm_ndisc_add_dns_domain(NMNDisc *ndisc, const NMNDiscDNSDomain *new) for (i = 0; i < rdata->dns_domains->len; i++) { item = &g_array_index(rdata->dns_domains, NMNDiscDNSDomain, i); - if (!g_strcmp0(item->domain, new->domain)) { - if (new->lifetime == 0) { + if (nm_streq(item->domain, new_item->domain)) { + if (new_item->expiry_msec <= now_msec) { g_array_remove_index(rdata->dns_domains, i); return TRUE; } - if (get_expiry(item) == get_expiry(new)) + if (item->expiry_msec == new_item->expiry_msec) return FALSE; - item->timestamp = new->timestamp; - item->lifetime = new->lifetime; + item->expiry_msec = new_item->expiry_msec; return TRUE; } } - if (new->lifetime) { - g_array_append_val(rdata->dns_domains, *new); - item = &g_array_index(rdata->dns_domains, NMNDiscDNSDomain, rdata->dns_domains->len - 1); - item->domain = g_strdup(new->domain); - } - return !!new->lifetime; + if (rdata->dns_domains->len >= _SIZE_MAX_DNS_DOMAINS) + return FALSE; + + if (new_item->expiry_msec <= now_msec) + return FALSE; + + item = nm_g_array_append_new(rdata->dns_domains, NMNDiscDNSDomain); + *item = (NMNDiscDNSDomain){ + .domain = g_strdup(new_item->domain), + .expiry_msec = new_item->expiry_msec, + }; + return TRUE; } /*****************************************************************************/ -#define _MAYBE_WARN(...) \ - G_STMT_START \ - { \ - gboolean _different_message; \ - \ - _different_message = g_strcmp0(priv->last_error, error->message) != 0; \ - _NMLOG(_different_message ? LOGL_WARN : LOGL_DEBUG, __VA_ARGS__); \ - if (_different_message) { \ - nm_clear_g_free(&priv->last_error); \ - priv->last_error = g_strdup(error->message); \ - } \ - } \ +#define _MAYBE_WARN(...) \ + G_STMT_START \ + { \ + gboolean _different_message; \ + \ + _different_message = !nm_streq0(priv->last_error, error->message); \ + _NMLOG(_different_message ? LOGL_WARN : LOGL_DEBUG, __VA_ARGS__); \ + if (_different_message) { \ + nm_clear_g_free(&priv->last_error); \ + priv->last_error = g_strdup(error->message); \ + } \ + } \ G_STMT_END -static gboolean -send_rs_timeout(NMNDisc *ndisc) +static gint32 +solicit_retransmit_time_jitter(gint32 solicit_retransmit_time_msec) { - nm_auto_pop_netns NMPNetns *netns = NULL; - NMNDiscClass * klass = NM_NDISC_GET_CLASS(ndisc); - NMNDiscPrivate * priv = NM_NDISC_GET_PRIVATE(ndisc); - GError * error = NULL; + gint32 ten_percent; - priv->send_rs_id = 0; + nm_assert(solicit_retransmit_time_msec > 0); + nm_assert(solicit_retransmit_time_msec < 3 * RFC7559_MRT * 1000); - if (!nm_ndisc_netns_push(ndisc, &netns)) - return G_SOURCE_REMOVE; + /* Add a ±10% jitter. + * + * This is the "RAND" parameter from https://tools.ietf.org/html/rfc3315#section-14 + * as requested by RFC7559. */ + + ten_percent = NM_MAX(1, solicit_retransmit_time_msec / 10); - if (klass->send_rs(ndisc, &error)) { - _LOGD("router solicitation sent"); - priv->solicitations_left--; + return solicit_retransmit_time_msec - ten_percent + + ((gint32)(g_random_int() % (2u * ((guint32) ten_percent)))); +} + +static gboolean +solicit_timer_cb(gpointer user_data) +{ + const gint32 TIMEOUT_APPROX_THRESHOLD_SEC = 10000; + nm_auto_pop_netns NMPNetns *netns = NULL; + NMNDisc * ndisc = user_data; + NMNDiscClass * klass = NM_NDISC_GET_CLASS(ndisc); + NMNDiscPrivate * priv = NM_NDISC_GET_PRIVATE(ndisc); + gs_free_error GError *error = NULL; + gint32 timeout_msec; + + if (!nm_ndisc_netns_push(ndisc, &netns)) { + nm_utils_error_set(&error, + NM_UTILS_ERROR_UNKNOWN, + "failure to switch netns for soliciting routers"); + } else + klass->send_rs(ndisc, &error); + + if (error) + _MAYBE_WARN("solicit: failure sending router solicitation: %s", error->message); + else { + _LOGT("solicit: router solicitation sent"); nm_clear_g_free(&priv->last_error); - } else { - _MAYBE_WARN("failure sending router solicitation: %s", error->message); - g_clear_error(&error); } - priv->last_rs = nm_utils_get_monotonic_timestamp_sec(); - if (priv->solicitations_left > 0) { - _LOGD("scheduling router solicitation retry in %d seconds.", - (int) priv->router_solicitation_interval); - priv->send_rs_id = g_timeout_add_seconds(priv->router_solicitation_interval, - (GSourceFunc) send_rs_timeout, - ndisc); + /* https://tools.ietf.org/html/rfc4861#section-6.3.7 describes how to send solicitations: + * + * > ... a host SHOULD transmit up to MAX_RTR_SOLICITATIONS Router Solicitation messages, + * > each separated by at least RTR_SOLICITATION_INTERVAL seconds. + * + * but this was extended by https://tools.ietf.org/html/rfc7559#section-2 to send continuously + * and with exponential backoff (detailed the algorithm in https://tools.ietf.org/html/rfc3315#section-14). + * We do RFC7559. + */ + if (priv->solicit_retransmit_time_msec == 0) { + G_STATIC_ASSERT(RFC7559_IRT == NM_NDISC_RFC4861_RTR_SOLICITATION_INTERVAL); + priv->solicit_retransmit_time_msec = solicit_retransmit_time_jitter(RFC7559_IRT * 1000); + timeout_msec = priv->solicit_retransmit_time_msec; } else { - _LOGD("did not receive a router advertisement after %d solicitations.", - (int) priv->router_solicitations); + priv->solicit_retransmit_time_msec += + solicit_retransmit_time_jitter(priv->solicit_retransmit_time_msec); + timeout_msec = priv->solicit_retransmit_time_msec; + if (priv->solicit_retransmit_time_msec > RFC7559_MRT * 1000) { + priv->solicit_retransmit_time_msec = RFC7559_MRT * 1000; + timeout_msec = solicit_retransmit_time_jitter(priv->solicit_retransmit_time_msec); + } } - return G_SOURCE_REMOVE; + _LOGD("solicit: schedule sending next solicitation in%s %.3f seconds", + timeout_msec / 1000 >= TIMEOUT_APPROX_THRESHOLD_SEC ? " about" : "", + ((double) timeout_msec) / 1000); + + nm_clear_g_source_inst(&priv->solicit_timer_source); + priv->solicit_timer_source = nm_g_timeout_add_source_approx(timeout_msec, + TIMEOUT_APPROX_THRESHOLD_SEC, + solicit_timer_cb, + ndisc); + return G_SOURCE_CONTINUE; } static void -solicit_routers(NMNDisc *ndisc) +solicit_timer_start(NMNDisc *ndisc) { NMNDiscPrivate *priv = NM_NDISC_GET_PRIVATE(ndisc); - gint32 now, next; - gint64 t; + gint32 delay_msec; - if (priv->send_rs_id) - return; + /* rfc4861, Section 6.3.7: + * + * We should randomly wait up to NM_NDISC_RFC4861_MAX_RTR_SOLICITATION_DELAY (1 second) + * before sending the first RS. RFC4861 is from 2007, I don't think 1 second is + * a suitable delay in 2021. Wait only up to 250 msec instead. */ + + delay_msec = + g_random_int() % ((guint32)(NM_NDISC_RFC4861_MAX_RTR_SOLICITATION_DELAY * 1000 / 4)); - now = nm_utils_get_monotonic_timestamp_sec(); - priv->solicitations_left = priv->router_solicitations; + _LOGD("solicit: schedule sending first solicitation (of %d) in %.3f seconds", + priv->router_solicitations, + ((double) delay_msec) / 1000); - t = (((gint64) priv->last_rs) + priv->router_solicitation_interval) - now; - next = CLAMP(t, 0, G_MAXINT32); - _LOGD("scheduling explicit router solicitation request in %" G_GINT32_FORMAT " seconds.", next); - priv->send_rs_id = g_timeout_add_seconds((guint32) next, (GSourceFunc) send_rs_timeout, ndisc); + priv->solicit_retransmit_time_msec = 0; + nm_clear_g_source_inst(&priv->solicit_timer_source); + priv->solicit_timer_source = nm_g_timeout_add_source(delay_msec, solicit_timer_cb, ndisc); } +/*****************************************************************************/ + static gboolean announce_router(NMNDisc *ndisc) { @@ -946,12 +997,16 @@ nm_ndisc_set_config(NMNDisc * ndisc, } for (i = 0; i < dns_servers->len; i++) { - if (nm_ndisc_add_dns_server(ndisc, &g_array_index(dns_servers, NMNDiscDNSServer, i))) + if (nm_ndisc_add_dns_server(ndisc, + &g_array_index(dns_servers, NMNDiscDNSServer, i), + G_MININT64)) changed = TRUE; } for (i = 0; i < dns_domains->len; i++) { - if (nm_ndisc_add_dns_domain(ndisc, &g_array_index(dns_domains, NMNDiscDNSDomain, i))) + if (nm_ndisc_add_dns_domain(ndisc, + &g_array_index(dns_domains, NMNDiscDNSDomain, i), + G_MININT64)) changed = TRUE; } @@ -999,7 +1054,7 @@ nm_ndisc_set_iid(NMNDisc *ndisc, const NMUtilsIPv6IfaceId iid) _LOGD("IPv6 interface identifier changed, flushing addresses"); g_array_remove_range(rdata->addresses, 0, rdata->addresses->len); nm_ndisc_emit_config_change(ndisc, NM_NDISC_CONFIG_ADDRESSES); - solicit_routers(ndisc); + solicit_timer_start(ndisc); } return TRUE; } @@ -1008,13 +1063,13 @@ nm_ndisc_set_iid(NMNDisc *ndisc, const NMUtilsIPv6IfaceId iid) } static gboolean -ndisc_ra_timeout_cb(gpointer user_data) +ra_timeout_cb(gpointer user_data) { NMNDisc *ndisc = NM_NDISC(user_data); nm_clear_g_source_inst(&NM_NDISC_GET_PRIVATE(ndisc)->ra_timeout_source); g_signal_emit(ndisc, signals[RA_TIMEOUT_SIGNAL], 0); - return G_SOURCE_REMOVE; + return G_SOURCE_CONTINUE; } void @@ -1053,15 +1108,10 @@ nm_ndisc_start(NMNDisc *ndisc) timeout_msec = priv->ra_timeout * 1000u; else timeout_msec = G_MAXUINT; - priv->ra_timeout_source = nm_g_timeout_source_new(timeout_msec, - G_PRIORITY_DEFAULT, - ndisc_ra_timeout_cb, - ndisc, - NULL); - g_source_attach(priv->ra_timeout_source, NULL); + priv->ra_timeout_source = nm_g_timeout_add_source(timeout_msec, ra_timeout_cb, ndisc); } - solicit_routers(ndisc); + solicit_timer_start(ndisc); return; } @@ -1099,20 +1149,16 @@ nm_ndisc_stop(NMNDisc *ndisc) g_array_set_size(rdata->dns_domains, 0); priv->rdata.public.hop_limit = 64; - /* Start at very low number so that last_rs - router_solicitation_interval - * is much lower than nm_utils_get_monotonic_timestamp_sec() at startup. - */ - priv->last_rs = G_MININT32; nm_clear_g_source_inst(&priv->ra_timeout_source); - nm_clear_g_source(&priv->send_rs_id); nm_clear_g_source(&priv->send_ra_id); nm_clear_g_free(&priv->last_error); - nm_clear_g_source(&priv->timeout_id); + nm_clear_g_source_inst(&priv->timeout_expire_source); + + priv->solicit_retransmit_time_msec = 0; + nm_clear_g_source_inst(&priv->solicit_timer_source); - priv->solicitations_left = 0; priv->announcements_left = 0; - priv->last_rs = G_MININT32; priv->last_ra = G_MININT32; } @@ -1189,15 +1235,15 @@ _config_changed_log(NMNDisc *ndisc, NMNDiscConfigMap changed) NMNDiscDataInternal *rdata; guint i; char changedstr[CONFIG_MAP_MAX_STR]; - char addrstr[INET6_ADDRSTRLEN]; + char addrstr[NM_UTILS_INET_ADDRSTRLEN]; char str_pref[35]; char str_exp[100]; - gint64 now_ns; + gint64 now_msec; if (!_LOGD_ENABLED()) return; - now_ns = nm_utils_get_monotonic_timestamp_nsec(); + now_msec = nm_utils_get_monotonic_timestamp_msec(); priv = NM_NDISC_GET_PRIVATE(ndisc); rdata = &priv->rdata; @@ -1214,215 +1260,300 @@ _config_changed_log(NMNDisc *ndisc, NMNDiscConfigMap changed) _LOGD(" retrans timer : %u", (guint) rdata->public.retrans_timer_ms); for (i = 0; i < rdata->gateways->len; i++) { - NMNDiscGateway *gateway = &g_array_index(rdata->gateways, NMNDiscGateway, i); + const NMNDiscGateway *gateway = &g_array_index(rdata->gateways, NMNDiscGateway, i); - inet_ntop(AF_INET6, &gateway->address, addrstr, sizeof(addrstr)); _LOGD(" gateway %s pref %s exp %s", - addrstr, + _nm_utils_inet6_ntop(&gateway->address, addrstr), nm_icmpv6_router_pref_to_string(gateway->preference, str_pref, sizeof(str_pref)), - get_exp(str_exp, now_ns, gateway)); + get_exp(str_exp, now_msec, gateway)); } for (i = 0; i < rdata->addresses->len; i++) { const NMNDiscAddress *address = &g_array_index(rdata->addresses, NMNDiscAddress, i); - inet_ntop(AF_INET6, &address->address, addrstr, sizeof(addrstr)); - _LOGD(" address %s exp %s", addrstr, get_exp(str_exp, now_ns, address)); + _LOGD(" address %s exp %s", + _nm_utils_inet6_ntop(&address->address, addrstr), + get_exp(str_exp, now_msec, address)); } for (i = 0; i < rdata->routes->len; i++) { - NMNDiscRoute *route = &g_array_index(rdata->routes, NMNDiscRoute, i); - char sbuf[NM_UTILS_INET_ADDRSTRLEN]; + const NMNDiscRoute *route = &g_array_index(rdata->routes, NMNDiscRoute, i); + char sbuf[NM_UTILS_INET_ADDRSTRLEN]; - inet_ntop(AF_INET6, &route->network, addrstr, sizeof(addrstr)); _LOGD(" route %s/%u via %s pref %s exp %s", - addrstr, + _nm_utils_inet6_ntop(&route->network, addrstr), (guint) route->plen, _nm_utils_inet6_ntop(&route->gateway, sbuf), nm_icmpv6_router_pref_to_string(route->preference, str_pref, sizeof(str_pref)), - get_exp(str_exp, now_ns, route)); + get_exp(str_exp, now_msec, route)); } for (i = 0; i < rdata->dns_servers->len; i++) { - NMNDiscDNSServer *dns_server = &g_array_index(rdata->dns_servers, NMNDiscDNSServer, i); + const NMNDiscDNSServer *dns_server = + &g_array_index(rdata->dns_servers, NMNDiscDNSServer, i); - inet_ntop(AF_INET6, &dns_server->address, addrstr, sizeof(addrstr)); - _LOGD(" dns_server %s exp %s", addrstr, get_exp(str_exp, now_ns, dns_server)); + _LOGD(" dns_server %s exp %s", + _nm_utils_inet6_ntop(&dns_server->address, addrstr), + get_exp(str_exp, now_msec, dns_server)); } for (i = 0; i < rdata->dns_domains->len; i++) { - NMNDiscDNSDomain *dns_domain = &g_array_index(rdata->dns_domains, NMNDiscDNSDomain, i); + const NMNDiscDNSDomain *dns_domain = + &g_array_index(rdata->dns_domains, NMNDiscDNSDomain, i); - _LOGD(" dns_domain %s exp %s", dns_domain->domain, get_exp(str_exp, now_ns, dns_domain)); + _LOGD(" dns_domain %s exp %s", dns_domain->domain, get_exp(str_exp, now_msec, dns_domain)); } } +/*****************************************************************************/ + +static gboolean +_array_set_size_max(GArray *array, guint size_max) +{ + nm_assert(array); + nm_assert(size_max > 0u); + + if (array->len <= size_max) + return FALSE; + + g_array_set_size(array, size_max); + return TRUE; +} + static void -clean_gateways(NMNDisc *ndisc, gint32 now, NMNDiscConfigMap *changed, gint32 *nextevent) +clean_gateways(NMNDisc *ndisc, gint64 now_msec, NMNDiscConfigMap *changed, gint64 *next_msec) { - NMNDiscDataInternal *rdata; + NMNDiscDataInternal *rdata = &NM_NDISC_GET_PRIVATE(ndisc)->rdata; + NMNDiscGateway * arr; guint i; + guint j; - rdata = &NM_NDISC_GET_PRIVATE(ndisc)->rdata; + if (rdata->gateways->len == 0) + return; - for (i = 0; i < rdata->gateways->len;) { - NMNDiscGateway *item = &g_array_index(rdata->gateways, NMNDiscGateway, i); + arr = &g_array_index(rdata->gateways, NMNDiscGateway, 0); - if (!expiry_next(now, get_expiry(item), nextevent)) { - g_array_remove_index(rdata->gateways, i); - *changed |= NM_NDISC_CONFIG_GATEWAYS; + for (i = 0, j = 0; i < rdata->gateways->len; i++) { + if (!expiry_next(now_msec, arr[i].expiry_msec, next_msec)) continue; - } + if (i != j) + arr[j] = arr[i]; + j++; + } - i++; + if (i != j) { + *changed |= NM_NDISC_CONFIG_GATEWAYS; + g_array_set_size(rdata->gateways, j); } + if (_array_set_size_max(rdata->gateways, _SIZE_MAX_GATEWAYS)) + *changed |= NM_NDISC_CONFIG_GATEWAYS; + _ASSERT_data_gateways(rdata); } static void -clean_addresses(NMNDisc *ndisc, gint32 now, NMNDiscConfigMap *changed, gint32 *nextevent) +clean_addresses(NMNDisc *ndisc, gint64 now_msec, NMNDiscConfigMap *changed, gint64 *next_msec) { - NMNDiscDataInternal *rdata; + NMNDiscPrivate * priv = NM_NDISC_GET_PRIVATE(ndisc); + NMNDiscDataInternal *rdata = &NM_NDISC_GET_PRIVATE(ndisc)->rdata; + NMNDiscAddress * arr; guint i; + guint j; - rdata = &NM_NDISC_GET_PRIVATE(ndisc)->rdata; + if (rdata->addresses->len == 0) + return; - for (i = 0; i < rdata->addresses->len;) { - const NMNDiscAddress *item = &g_array_index(rdata->addresses, NMNDiscAddress, i); + arr = &g_array_index(rdata->addresses, NMNDiscAddress, 0); - if (!expiry_next(now, get_expiry(item), nextevent)) { - g_array_remove_index(rdata->addresses, i); - *changed |= NM_NDISC_CONFIG_ADDRESSES; + for (i = 0, j = 0; i < rdata->addresses->len; i++) { + if (!expiry_next(now_msec, arr[i].expiry_msec, next_msec)) continue; - } + if (i != j) + arr[j] = arr[i]; + j++; + } - i++; + if (i != j) { + *changed = NM_NDISC_CONFIG_ADDRESSES; + g_array_set_size(rdata->addresses, j); } + + if (_array_set_size_max(rdata->gateways, priv->max_addresses)) + *changed |= NM_NDISC_CONFIG_ADDRESSES; } static void -clean_routes(NMNDisc *ndisc, gint32 now, NMNDiscConfigMap *changed, gint32 *nextevent) +clean_routes(NMNDisc *ndisc, gint64 now_msec, NMNDiscConfigMap *changed, gint64 *next_msec) { - NMNDiscDataInternal *rdata; + NMNDiscDataInternal *rdata = &NM_NDISC_GET_PRIVATE(ndisc)->rdata; + NMNDiscRoute * arr; guint i; + guint j; - rdata = &NM_NDISC_GET_PRIVATE(ndisc)->rdata; + if (rdata->routes->len == 0) + return; - for (i = 0; i < rdata->routes->len;) { - NMNDiscRoute *item = &g_array_index(rdata->routes, NMNDiscRoute, i); + arr = &g_array_index(rdata->routes, NMNDiscRoute, 0); - if (!expiry_next(now, get_expiry(item), nextevent)) { - g_array_remove_index(rdata->routes, i); - *changed |= NM_NDISC_CONFIG_ROUTES; + for (i = 0, j = 0; i < rdata->routes->len; i++) { + if (!expiry_next(now_msec, arr[i].expiry_msec, next_msec)) continue; - } + if (i != j) + arr[j] = arr[i]; + j++; + } - i++; + if (i != j) { + *changed |= NM_NDISC_CONFIG_ROUTES; + g_array_set_size(rdata->routes, j); } + + if (_array_set_size_max(rdata->gateways, _SIZE_MAX_ROUTES)) + *changed |= NM_NDISC_CONFIG_ROUTES; } static void -clean_dns_servers(NMNDisc *ndisc, gint32 now, NMNDiscConfigMap *changed, gint32 *nextevent) +clean_dns_servers(NMNDisc *ndisc, gint64 now_msec, NMNDiscConfigMap *changed, gint64 *next_msec) { - NMNDiscDataInternal *rdata; + NMNDiscDataInternal *rdata = &NM_NDISC_GET_PRIVATE(ndisc)->rdata; + NMNDiscDNSServer * arr; guint i; + guint j; - rdata = &NM_NDISC_GET_PRIVATE(ndisc)->rdata; + if (rdata->dns_servers->len == 0) + return; - for (i = 0; i < rdata->dns_servers->len;) { - NMNDiscDNSServer *item = &g_array_index(rdata->dns_servers, NMNDiscDNSServer, i); - gint64 refresh; + arr = &g_array_index(rdata->dns_servers, NMNDiscDNSServer, 0); - refresh = get_expiry_half(item); - if (refresh != _EXPIRY_INFINITY) { - if (!expiry_next(now, get_expiry(item), NULL)) { - g_array_remove_index(rdata->dns_servers, i); - *changed |= NM_NDISC_CONFIG_DNS_SERVERS; - continue; - } + for (i = 0, j = 0; i < rdata->dns_servers->len; i++) { + if (!expiry_next(now_msec, arr[i].expiry_msec, next_msec)) + continue; + if (i != j) + arr[j] = arr[i]; + j++; + } - if (now >= refresh) - solicit_routers(ndisc); - else if (*nextevent > refresh) - *nextevent = refresh; - } - i++; + if (i != j) { + *changed |= NM_NDISC_CONFIG_DNS_SERVERS; + g_array_set_size(rdata->dns_servers, j); } + + if (_array_set_size_max(rdata->gateways, _SIZE_MAX_DNS_SERVERS)) + *changed |= NM_NDISC_CONFIG_DNS_SERVERS; } static void -clean_dns_domains(NMNDisc *ndisc, gint32 now, NMNDiscConfigMap *changed, gint32 *nextevent) +clean_dns_domains(NMNDisc *ndisc, gint64 now_msec, NMNDiscConfigMap *changed, gint64 *next_msec) { - NMNDiscDataInternal *rdata; + NMNDiscDataInternal *rdata = &NM_NDISC_GET_PRIVATE(ndisc)->rdata; + NMNDiscDNSDomain * arr; guint i; + guint j; - rdata = &NM_NDISC_GET_PRIVATE(ndisc)->rdata; + if (rdata->dns_domains->len == 0) + return; - for (i = 0; i < rdata->dns_domains->len;) { - NMNDiscDNSDomain *item = &g_array_index(rdata->dns_domains, NMNDiscDNSDomain, i); - gint64 refresh; + arr = &g_array_index(rdata->dns_domains, NMNDiscDNSDomain, 0); - refresh = get_expiry_half(item); - if (refresh != _EXPIRY_INFINITY) { - if (!expiry_next(now, get_expiry(item), NULL)) { - g_array_remove_index(rdata->dns_domains, i); - *changed |= NM_NDISC_CONFIG_DNS_DOMAINS; - continue; - } + for (i = 0, j = 0; i < rdata->dns_domains->len; i++) { + if (!expiry_next(now_msec, arr[i].expiry_msec, next_msec)) + continue; - if (now >= refresh) - solicit_routers(ndisc); - else if (*nextevent > refresh) - *nextevent = refresh; + if (i != j) { + g_free(arr[j].domain); + arr[j] = arr[i]; + arr[i].domain = NULL; } - i++; + + j++; } -} -static gboolean timeout_cb(gpointer user_data); + if (i != 0) { + *changed |= NM_NDISC_CONFIG_DNS_DOMAINS; + g_array_set_size(rdata->dns_domains, j); + } + + if (_array_set_size_max(rdata->gateways, _SIZE_MAX_DNS_DOMAINS)) + *changed |= NM_NDISC_CONFIG_DNS_DOMAINS; +} static void -check_timestamps(NMNDisc *ndisc, gint32 now, NMNDiscConfigMap changed) +check_timestamps(NMNDisc *ndisc, gint64 now_msec, NMNDiscConfigMap changed) { - NMNDiscPrivate *priv = NM_NDISC_GET_PRIVATE(ndisc); - /* Use a magic date in the distant future (~68 years) */ - gint32 nextevent = G_MAXINT32; + NMNDiscPrivate *priv = NM_NDISC_GET_PRIVATE(ndisc); + gint64 next_msec = G_MAXINT64; - nm_clear_g_source(&priv->timeout_id); + _LOGT("router-data: check for changed router advertisement data"); - clean_gateways(ndisc, now, &changed, &nextevent); - clean_addresses(ndisc, now, &changed, &nextevent); - clean_routes(ndisc, now, &changed, &nextevent); - clean_dns_servers(ndisc, now, &changed, &nextevent); - clean_dns_domains(ndisc, now, &changed, &nextevent); + clean_gateways(ndisc, now_msec, &changed, &next_msec); + clean_addresses(ndisc, now_msec, &changed, &next_msec); + clean_routes(ndisc, now_msec, &changed, &next_msec); + clean_dns_servers(ndisc, now_msec, &changed, &next_msec); + clean_dns_domains(ndisc, now_msec, &changed, &next_msec); - if (nextevent != G_MAXINT32) { - if (nextevent <= now) - g_return_if_reached(); - _LOGD("scheduling next now/lifetime check: %d seconds", (int) (nextevent - now)); - priv->timeout_id = g_timeout_add_seconds(nextevent - now, timeout_cb, ndisc); + nm_assert(next_msec > now_msec); + + nm_clear_g_source_inst(&priv->timeout_expire_source); + + if (next_msec == NM_NDISC_EXPIRY_INFINITY) + _LOGD("router-data: next lifetime expiration will happen: never"); + else { + const gint64 timeout_msec = NM_MIN(next_msec - now_msec, ((gint64) G_MAXINT32)); + const guint TIMEOUT_APPROX_THRESHOLD_SEC = 10000; + + _LOGD("router-data: next lifetime expiration will happen: in %s%.3f seconds", + (timeout_msec / 1000) >= TIMEOUT_APPROX_THRESHOLD_SEC ? " about" : "", + ((double) timeout_msec) / 1000); + + priv->timeout_expire_source = nm_g_timeout_add_source_approx(timeout_msec, + TIMEOUT_APPROX_THRESHOLD_SEC, + timeout_expire_cb, + ndisc); } - if (changed) + /* When we receive an RA, we don't disable solicitations entirely. Instead, + * we set the interval the maximum (RFC7559_MRT). + * + * This contradicts https://tools.ietf.org/html/rfc7559#section-2.1, which says + * that we SHOULD stop sending RS if we receive an RA -- but only on a multicast + * capable link and if the RA has a valid router lifetime. + * + * But we really want to recover from a dead router on the network, so we + * don't want to cease sending RS entirely. + * + * But we only re-schedule the timer if the current interval is not already + * "RFC7559_MRT * 1000". Otherwise, we already have a slow interval counter + * pending. */ + if (priv->solicit_retransmit_time_msec != RFC7559_MRT * 1000) { + gint32 timeout_msec; + + priv->solicit_retransmit_time_msec = RFC7559_MRT * 1000; + timeout_msec = solicit_retransmit_time_jitter(priv->solicit_retransmit_time_msec); + + _LOGD("solicit: schedule sending next (slow) solicitation in about %.3f seconds", + ((double) timeout_msec) / 1000); + + nm_clear_g_source_inst(&priv->solicit_timer_source); + priv->solicit_timer_source = + nm_g_timeout_add_source_approx(timeout_msec, 0, solicit_timer_cb, ndisc); + } + + if (changed != NM_NDISC_CONFIG_NONE) nm_ndisc_emit_config_change(ndisc, changed); } static gboolean -timeout_cb(gpointer user_data) +timeout_expire_cb(gpointer user_data) { - NMNDisc *self = user_data; - - NM_NDISC_GET_PRIVATE(self)->timeout_id = 0; - check_timestamps(self, nm_utils_get_monotonic_timestamp_sec(), 0); - return G_SOURCE_REMOVE; + check_timestamps(user_data, nm_utils_get_monotonic_timestamp_msec(), NM_NDISC_CONFIG_NONE); + return G_SOURCE_CONTINUE; } void -nm_ndisc_ra_received(NMNDisc *ndisc, gint32 now, NMNDiscConfigMap changed) +nm_ndisc_ra_received(NMNDisc *ndisc, gint64 now_msec, NMNDiscConfigMap changed) { NMNDiscPrivate *priv = NM_NDISC_GET_PRIVATE(ndisc); nm_clear_g_source_inst(&priv->ra_timeout_source); - nm_clear_g_source(&priv->send_rs_id); nm_clear_g_free(&priv->last_error); - check_timestamps(ndisc, now, changed); + check_timestamps(ndisc, now_msec, changed); } void @@ -1447,6 +1578,7 @@ set_property(GObject *object, guint prop_id, const GValue *value, GParamSpec *ps { NMNDisc * self = NM_NDISC(object); NMNDiscPrivate *priv = NM_NDISC_GET_PRIVATE(self); + int i; switch (prop_id) { case PROP_PLATFORM: @@ -1488,7 +1620,14 @@ set_property(GObject *object, guint prop_id, const GValue *value, GParamSpec *ps break; case PROP_MAX_ADDRESSES: /* construct-only */ - priv->max_addresses = g_value_get_int(value); + i = g_value_get_int(value); + nm_assert(i >= 0); + priv->max_addresses = i; + + if (priv->max_addresses <= 0) + priv->max_addresses = _SIZE_MAX_ADDRESSES; + else if (priv->max_addresses > 3u * _SIZE_MAX_ADDRESSES) + priv->max_addresses = 3u * _SIZE_MAX_ADDRESSES; break; case PROP_RA_TIMEOUT: /* construct-only */ @@ -1532,11 +1671,6 @@ nm_ndisc_init(NMNDisc *ndisc) rdata->dns_domains = g_array_new(FALSE, FALSE, sizeof(NMNDiscDNSDomain)); g_array_set_clear_func(rdata->dns_domains, dns_domain_free); priv->rdata.public.hop_limit = 64; - - /* Start at very low number so that last_rs - router_solicitation_interval - * is much lower than nm_utils_get_monotonic_timestamp_sec() at startup. - */ - priv->last_rs = G_MININT32; } static void @@ -1546,11 +1680,11 @@ dispose(GObject *object) NMNDiscPrivate *priv = NM_NDISC_GET_PRIVATE(ndisc); nm_clear_g_source_inst(&priv->ra_timeout_source); - nm_clear_g_source(&priv->send_rs_id); + nm_clear_g_source_inst(&priv->solicit_timer_source); nm_clear_g_source(&priv->send_ra_id); nm_clear_g_free(&priv->last_error); - nm_clear_g_source(&priv->timeout_id); + nm_clear_g_source_inst(&priv->timeout_expire_source); G_OBJECT_CLASS(nm_ndisc_parent_class)->dispose(object); } @@ -1661,7 +1795,7 @@ nm_ndisc_class_init(NMNDiscClass *klass) "", 1, G_MAXINT32, - NM_NDISC_ROUTER_SOLICITATION_INTERVAL_DEFAULT, + NM_NDISC_RFC4861_RTR_SOLICITATION_INTERVAL, G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_STRINGS); obj_properties[PROP_NODE_TYPE] = g_param_spec_int(NM_NDISC_NODE_TYPE, diff --git a/src/ndisc/nm-ndisc.h b/src/ndisc/nm-ndisc.h index fd0fd98..93aee4d 100644 --- a/src/ndisc/nm-ndisc.h +++ b/src/ndisc/nm-ndisc.h @@ -48,48 +48,91 @@ typedef enum { NM_NDISC_DHCP_LEVEL_MANAGED } NMNDiscDHCPLevel; -/* we rely on the fact that NM_NDISC_INFINITY is the largest possible - * time duration (G_MAXUINT32) and that the range of finite values - * goes from 0 to G_MAXUINT32-1. */ -#define NM_NDISC_INFINITY G_MAXUINT32 +#define NM_NDISC_INFINITY_U32 ((uint32_t) -1) -struct _NMNDiscGateway { +/* It's important that this is G_MAXINT64, so that we can meaningfully do + * MIN(e1, e2) to find the minimum expiry time (and properly handle if any + * of them is infinity). + * + * While usually you assign this to "expiry_msec", you might say the + * unit of it is milliseconds. But of course, infinity has not really a unit. */ +#define NM_NDISC_EXPIRY_INFINITY G_MAXINT64 + +/* in common cases, the expiry_msec tracks the timestamp in nm_utils_get_monotonic_timestamp_mses() + * timestamp when the item expires. + * + * When we configure an NMNDiscAddress to be announced via the router advertisement, + * then that address does not have a fixed expiry point in time, instead, the expiry + * really contains the lifetime from the moment when we send the router advertisement. + * In that case, the expiry_msec is more a "lifetime" that starts counting at timestamp + * zero. + * + * The unit is milliseconds (but of course, the timestamp is zero, so it doesn't really matter). */ +#define NM_NDISC_EXPIRY_BASE_TIMESTAMP ((gint64) 0) + +static inline gint64 +_nm_ndisc_lifetime_to_expiry(gint64 now_msec, guint32 lifetime) +{ + if (lifetime == NM_NDISC_INFINITY_U32) + return NM_NDISC_EXPIRY_INFINITY; + return now_msec + (((gint64) lifetime) * 1000); +} + +static inline gint64 +_nm_ndisc_lifetime_from_expiry(gint64 now_msec, gint64 expiry_msec, gboolean ceil) +{ + gint64 diff; + + if (expiry_msec == NM_NDISC_EXPIRY_INFINITY) + return NM_NDISC_INFINITY_U32; + + /* we don't expect nor handle integer overflow. The time stamp and expiry + * should be reasonably small so that it cannot happen. */ + + diff = expiry_msec - now_msec; + + if (diff <= 0) + return 0; + + if (ceil) { + /* we ceil() towards the next full second (instead of floor()). */ + diff += 999; + } + + return NM_MIN(diff / 1000, (gint64)(G_MAXUINT32 - 1)); +} + +/*****************************************************************************/ + +typedef struct _NMNDiscGateway { struct in6_addr address; - guint32 timestamp; - guint32 lifetime; + gint64 expiry_msec; NMIcmpv6RouterPref preference; -}; -typedef struct _NMNDiscGateway NMNDiscGateway; +} NMNDiscGateway; -struct _NMNDiscAddress { +typedef struct _NMNDiscAddress { struct in6_addr address; + gint64 expiry_msec; + gint64 expiry_preferred_msec; guint8 dad_counter; - guint32 timestamp; - guint32 lifetime; - guint32 preferred; -}; -typedef struct _NMNDiscAddress NMNDiscAddress; +} NMNDiscAddress; -struct _NMNDiscRoute { +typedef struct _NMNDiscRoute { struct in6_addr network; - guint8 plen; struct in6_addr gateway; - guint32 timestamp; - guint32 lifetime; + gint64 expiry_msec; NMIcmpv6RouterPref preference; -}; -typedef struct _NMNDiscRoute NMNDiscRoute; + guint8 plen; +} NMNDiscRoute; typedef struct { struct in6_addr address; - guint32 timestamp; - guint32 lifetime; + gint64 expiry_msec; } NMNDiscDNSServer; typedef struct { - char * domain; - guint32 timestamp; - guint32 lifetime; + char * domain; + gint64 expiry_msec; } NMNDiscDNSDomain; typedef enum { @@ -112,15 +155,17 @@ typedef enum { NM_NDISC_NODE_TYPE_ROUTER, } NMNDiscNodeType; -#define NM_NDISC_MAX_ADDRESSES_DEFAULT 16 -#define NM_NDISC_ROUTER_SOLICITATIONS_DEFAULT 3 /* RFC4861 MAX_RTR_SOLICITATIONS */ -#define NM_NDISC_ROUTER_SOLICITATION_INTERVAL_DEFAULT 4 /* RFC4861 RTR_SOLICITATION_INTERVAL */ -#define NM_NDISC_ROUTER_ADVERTISEMENTS_DEFAULT 3 /* RFC4861 MAX_INITIAL_RTR_ADVERTISEMENTS */ -#define NM_NDISC_ROUTER_ADVERT_DELAY 3 /* RFC4861 MIN_DELAY_BETWEEN_RAS */ -#define NM_NDISC_ROUTER_ADVERT_INITIAL_INTERVAL 16 /* RFC4861 MAX_INITIAL_RTR_ADVERT_INTERVAL */ -#define NM_NDISC_ROUTER_ADVERT_DELAY_MS 500 /* RFC4861 MAX_RA_DELAY_TIME */ -#define NM_NDISC_ROUTER_ADVERT_MAX_INTERVAL 600 /* RFC4861 MaxRtrAdvInterval default */ -#define NM_NDISC_ROUTER_LIFETIME 900 /* 1.5 * NM_NDISC_ROUTER_ADVERT_MAX_INTERVAL */ +#define NM_NDISC_RFC4861_RTR_SOLICITATION_INTERVAL 4 /* seconds */ +#define NM_NDISC_RFC4861_MAX_RTR_SOLICITATION_DELAY 1 /* seconds */ + +#define NM_NDISC_MAX_ADDRESSES_DEFAULT 16 +#define NM_NDISC_ROUTER_SOLICITATIONS_DEFAULT 3 /* RFC4861, MAX_RTR_SOLICITATIONS */ +#define NM_NDISC_ROUTER_ADVERTISEMENTS_DEFAULT 3 /* RFC4861, MAX_INITIAL_RTR_ADVERTISEMENTS */ +#define NM_NDISC_ROUTER_ADVERT_DELAY 3 /* RFC4861, MIN_DELAY_BETWEEN_RAS */ +#define NM_NDISC_ROUTER_ADVERT_INITIAL_INTERVAL 16 /* RFC4861, MAX_INITIAL_RTR_ADVERT_INTERVAL */ +#define NM_NDISC_ROUTER_ADVERT_DELAY_MS 500 /* RFC4861, MAX_RA_DELAY_TIME */ +#define NM_NDISC_ROUTER_ADVERT_MAX_INTERVAL 600 /* RFC4861, MaxRtrAdvInterval default */ +#define NM_NDISC_ROUTER_LIFETIME 900 /* 1.5 * NM_NDISC_ROUTER_ADVERT_MAX_INTERVAL */ struct _NMNDiscPrivate; struct _NMNDiscDataInternal; diff --git a/src/ndisc/tests/test-ndisc-fake.c b/src/ndisc/tests/test-ndisc-fake.c index 95caec5..3c4bc1f 100644 --- a/src/ndisc/tests/test-ndisc-fake.c +++ b/src/ndisc/tests/test-ndisc-fake.c @@ -14,6 +14,8 @@ #include "nm-test-utils-core.h" +/*****************************************************************************/ + static NMFakeNDisc * ndisc_new(void) { @@ -26,19 +28,20 @@ ndisc_new(void) iid.id_u8[7] = 1; nm_ndisc_set_iid(ndisc, iid); g_assert(ndisc); + return NM_FAKE_NDISC(ndisc); } +/*****************************************************************************/ + static void match_gateway(const NMNDiscData *rdata, guint idx, const char * addr, - guint32 ts, - guint32 lt, + gint64 expiry_msec, NMIcmpv6RouterPref pref) { const NMNDiscGateway *gw; - char buf[INET6_ADDRSTRLEN]; g_assert(rdata); g_assert_cmpint(idx, <, rdata->gateways_n); @@ -46,63 +49,57 @@ match_gateway(const NMNDiscData *rdata, gw = &rdata->gateways[idx]; - g_assert_cmpstr(inet_ntop(AF_INET6, &gw->address, buf, sizeof(buf)), ==, addr); - g_assert_cmpint(gw->timestamp, ==, ts); - g_assert_cmpint(gw->lifetime, ==, lt); + nmtst_assert_ip6_address(&gw->address, addr); + g_assert_cmpint(gw->expiry_msec, ==, expiry_msec); g_assert_cmpint(gw->preference, ==, pref); } -#define match_address(rdata, idx, addr, ts, lt, pref) \ - G_STMT_START \ - { \ - const NMNDiscData * _rdata = (rdata); \ - guint _idx = (idx); \ - const NMNDiscAddress *_a; \ - guint _ts = (ts); \ - \ - g_assert(_rdata); \ - g_assert_cmpint(_idx, <, _rdata->addresses_n); \ - g_assert(_rdata->addresses); \ - \ - _a = &_rdata->addresses[_idx]; \ - \ - nmtst_assert_ip6_address(&_a->address, (addr)); \ - g_assert_cmpint(_a->timestamp, <=, _ts + 1); \ - g_assert_cmpint((int) _a->timestamp, >=, (int) _ts - 1); \ - g_assert_cmpint(_a->timestamp + _a->lifetime, ==, _ts + (lt)); \ - g_assert_cmpint(_a->timestamp + _a->preferred, ==, _ts + (pref)); \ - } \ +#define match_address(rdata, idx, addr, _expiry_msec, _expiry_preferred_msec) \ + G_STMT_START \ + { \ + const NMNDiscData * _rdata = (rdata); \ + guint _idx = (idx); \ + const NMNDiscAddress *_a; \ + \ + g_assert(_rdata); \ + g_assert_cmpint(_idx, <, _rdata->addresses_n); \ + g_assert(_rdata->addresses); \ + \ + _a = &_rdata->addresses[_idx]; \ + \ + nmtst_assert_ip6_address(&_a->address, (addr)); \ + g_assert_cmpint(_a->expiry_msec, ==, (_expiry_msec)); \ + g_assert_cmpint(_a->expiry_preferred_msec, ==, (_expiry_preferred_msec)); \ + } \ G_STMT_END -#define match_route(rdata, idx, nw, pl, gw, ts, lt, pref) \ - G_STMT_START \ - { \ - const NMNDiscData * _rdata = (rdata); \ - guint _idx = (idx); \ - const NMNDiscRoute *_r; \ - int _plen = (pl); \ - \ - g_assert(_rdata); \ - g_assert_cmpint(_idx, <, _rdata->routes_n); \ - g_assert(_rdata->routes); \ - g_assert(_plen > 0 && _plen <= 128); \ - \ - _r = &_rdata->routes[idx]; \ - \ - nmtst_assert_ip6_address(&_r->network, (nw)); \ - g_assert_cmpint((int) _r->plen, ==, _plen); \ - nmtst_assert_ip6_address(&_r->gateway, (gw)); \ - g_assert_cmpint(_r->timestamp, ==, (ts)); \ - g_assert_cmpint(_r->lifetime, ==, (lt)); \ - g_assert_cmpint(_r->preference, ==, (pref)); \ - } \ +#define match_route(rdata, idx, nw, pl, gw, _expiry_msec, pref) \ + G_STMT_START \ + { \ + const NMNDiscData * _rdata = (rdata); \ + guint _idx = (idx); \ + const NMNDiscRoute *_r; \ + int _plen = (pl); \ + \ + g_assert(_rdata); \ + g_assert_cmpint(_idx, <, _rdata->routes_n); \ + g_assert(_rdata->routes); \ + g_assert(_plen > 0 && _plen <= 128); \ + \ + _r = &_rdata->routes[idx]; \ + \ + nmtst_assert_ip6_address(&_r->network, (nw)); \ + g_assert_cmpint((int) _r->plen, ==, _plen); \ + nmtst_assert_ip6_address(&_r->gateway, (gw)); \ + g_assert_cmpint(_r->expiry_msec, ==, (_expiry_msec)); \ + g_assert_cmpint(_r->preference, ==, (pref)); \ + } \ G_STMT_END static void -match_dns_server(const NMNDiscData *rdata, guint idx, const char *addr, guint32 ts, guint32 lt) +match_dns_server(const NMNDiscData *rdata, guint idx, const char *addr, gint64 expiry_msec) { const NMNDiscDNSServer *dns; - char buf[INET6_ADDRSTRLEN]; g_assert(rdata); g_assert_cmpint(idx, <, rdata->dns_servers_n); @@ -110,13 +107,12 @@ match_dns_server(const NMNDiscData *rdata, guint idx, const char *addr, guint32 dns = &rdata->dns_servers[idx]; - g_assert_cmpstr(inet_ntop(AF_INET6, &dns->address, buf, sizeof(buf)), ==, addr); - g_assert_cmpint(dns->timestamp, ==, ts); - g_assert_cmpint(dns->lifetime, ==, lt); + nmtst_assert_ip6_address(&dns->address, addr); + g_assert_cmpint(dns->expiry_msec, ==, expiry_msec); } static void -match_dns_domain(const NMNDiscData *rdata, guint idx, const char *domain, guint32 ts, guint32 lt) +match_dns_domain(const NMNDiscData *rdata, guint idx, const char *domain, gint64 expiry_msec) { const NMNDiscDNSDomain *dns; @@ -127,67 +123,96 @@ match_dns_domain(const NMNDiscData *rdata, guint idx, const char *domain, guint3 dns = &rdata->dns_domains[idx]; g_assert_cmpstr(dns->domain, ==, domain); - g_assert_cmpint(dns->timestamp, ==, ts); - g_assert_cmpint(dns->lifetime, ==, lt); + g_assert_cmpint(dns->expiry_msec, ==, expiry_msec); } +/*****************************************************************************/ + typedef struct { GMainLoop *loop; + gint64 timestamp_msec_1; guint counter; guint rs_counter; - guint32 timestamp1; - guint32 first_solicit; + gint64 first_solicit_msec; guint32 timeout_id; } TestData; +/*****************************************************************************/ + static void test_simple_changed(NMNDisc *ndisc, const NMNDiscData *rdata, guint changed_int, TestData *data) { NMNDiscConfigMap changed = changed_int; - g_assert_cmpint(changed, - ==, - NM_NDISC_CONFIG_DHCP_LEVEL | NM_NDISC_CONFIG_GATEWAYS - | NM_NDISC_CONFIG_ADDRESSES | NM_NDISC_CONFIG_ROUTES - | NM_NDISC_CONFIG_DNS_SERVERS | NM_NDISC_CONFIG_DNS_DOMAINS - | NM_NDISC_CONFIG_HOP_LIMIT | NM_NDISC_CONFIG_MTU); - g_assert_cmpint(rdata->dhcp_level, ==, NM_NDISC_DHCP_LEVEL_OTHERCONF); - match_gateway(rdata, 0, "fe80::1", data->timestamp1, 10, NM_ICMPV6_ROUTER_PREF_MEDIUM); - match_address(rdata, 0, "2001:db8:a:a::1", data->timestamp1, 10, 10); - match_route(rdata, 0, "2001:db8:a:a::", 64, "fe80::1", data->timestamp1, 10, 10); - match_dns_server(rdata, 0, "2001:db8:c:c::1", data->timestamp1, 10); - match_dns_domain(rdata, 0, "foobar.com", data->timestamp1, 10); - - g_assert(nm_fake_ndisc_done(NM_FAKE_NDISC(ndisc))); - data->counter++; - g_main_loop_quit(data->loop); + switch (data->counter++) { + case 0: + g_assert_cmpint(changed, + ==, + NM_NDISC_CONFIG_DHCP_LEVEL | NM_NDISC_CONFIG_GATEWAYS + | NM_NDISC_CONFIG_ADDRESSES | NM_NDISC_CONFIG_ROUTES + | NM_NDISC_CONFIG_DNS_SERVERS | NM_NDISC_CONFIG_DNS_DOMAINS + | NM_NDISC_CONFIG_HOP_LIMIT | NM_NDISC_CONFIG_MTU); + g_assert_cmpint(rdata->dhcp_level, ==, NM_NDISC_DHCP_LEVEL_OTHERCONF); + match_gateway(rdata, + 0, + "fe80::1", + data->timestamp_msec_1 + 10000, + NM_ICMPV6_ROUTER_PREF_MEDIUM); + match_address(rdata, + 0, + "2001:db8:a:a::1", + data->timestamp_msec_1 + 10000, + data->timestamp_msec_1 + 10000); + match_route(rdata, 0, "2001:db8:a:a::", 64, "fe80::1", data->timestamp_msec_1 + 10000, 10); + match_dns_server(rdata, 0, "2001:db8:c:c::1", data->timestamp_msec_1 + 10000); + match_dns_domain(rdata, 0, "foobar.com", data->timestamp_msec_1 + 3500); + + g_assert(nm_fake_ndisc_done(NM_FAKE_NDISC(ndisc))); + break; + case 1: + g_main_loop_quit(data->loop); + break; + default: + g_assert_not_reached(); + } } static void test_simple(void) { - NMFakeNDisc *ndisc = ndisc_new(); - guint32 now = nm_utils_get_monotonic_timestamp_sec(); - TestData data = {g_main_loop_new(NULL, FALSE), 0, 0, now}; - guint id; + nm_auto_unref_gmainloop GMainLoop *loop = g_main_loop_new(NULL, FALSE); + gs_unref_object NMFakeNDisc *ndisc = ndisc_new(); + const gint64 now_msec = nm_utils_get_monotonic_timestamp_msec(); + TestData data = { + .loop = loop, + .timestamp_msec_1 = now_msec, + }; + guint id; id = nm_fake_ndisc_add_ra(ndisc, 1, NM_NDISC_DHCP_LEVEL_OTHERCONF, 4, 1500); g_assert(id); - nm_fake_ndisc_add_gateway(ndisc, id, "fe80::1", now, 10, NM_ICMPV6_ROUTER_PREF_MEDIUM); - nm_fake_ndisc_add_prefix(ndisc, id, "2001:db8:a:a::", 64, "fe80::1", now, 10, 10, 10); - nm_fake_ndisc_add_dns_server(ndisc, id, "2001:db8:c:c::1", now, 10); - nm_fake_ndisc_add_dns_domain(ndisc, id, "foobar.com", now, 10); + + nm_fake_ndisc_add_gateway(ndisc, id, "fe80::1", now_msec + 10000, NM_ICMPV6_ROUTER_PREF_MEDIUM); + nm_fake_ndisc_add_prefix(ndisc, + id, + "2001:db8:a:a::", + 64, + "fe80::1", + now_msec + 10000, + now_msec + 10000, + 10); + nm_fake_ndisc_add_dns_server(ndisc, id, "2001:db8:c:c::1", now_msec + 10000); + nm_fake_ndisc_add_dns_domain(ndisc, id, "foobar.com", now_msec + 3500); g_signal_connect(ndisc, NM_NDISC_CONFIG_RECEIVED, G_CALLBACK(test_simple_changed), &data); nm_ndisc_start(NM_NDISC(ndisc)); - g_main_loop_run(data.loop); - g_assert_cmpint(data.counter, ==, 1); - - g_object_unref(ndisc); - g_main_loop_unref(data.loop); + nmtst_main_loop_run_assert(data.loop, 15000); + g_assert_cmpint(data.counter, ==, 2); } +/*****************************************************************************/ + static void test_everything_rs_sent(NMNDisc *ndisc, TestData *data) { @@ -208,11 +233,19 @@ test_everything_changed(NMNDisc *ndisc, const NMNDiscData *rdata, guint changed_ | NM_NDISC_CONFIG_ADDRESSES | NM_NDISC_CONFIG_ROUTES | NM_NDISC_CONFIG_DNS_SERVERS | NM_NDISC_CONFIG_DNS_DOMAINS | NM_NDISC_CONFIG_HOP_LIMIT | NM_NDISC_CONFIG_MTU); - match_gateway(rdata, 0, "fe80::1", data->timestamp1, 10, NM_ICMPV6_ROUTER_PREF_MEDIUM); - match_address(rdata, 0, "2001:db8:a:a::1", data->timestamp1, 10, 10); - match_route(rdata, 0, "2001:db8:a:a::", 64, "fe80::1", data->timestamp1, 10, 10); - match_dns_server(rdata, 0, "2001:db8:c:c::1", data->timestamp1, 10); - match_dns_domain(rdata, 0, "foobar.com", data->timestamp1, 10); + match_gateway(rdata, + 0, + "fe80::1", + data->timestamp_msec_1 + 10000, + NM_ICMPV6_ROUTER_PREF_MEDIUM); + match_address(rdata, + 0, + "2001:db8:a:a::1", + data->timestamp_msec_1 + 10000, + data->timestamp_msec_1 + 10000); + match_route(rdata, 0, "2001:db8:a:a::", 64, "fe80::1", data->timestamp_msec_1 + 10000, 10); + match_dns_server(rdata, 0, "2001:db8:c:c::1", data->timestamp_msec_1 + 10000); + match_dns_domain(rdata, 0, "foobar.com", data->timestamp_msec_1 + 10000); } else if (data->counter == 1) { g_assert_cmpint(changed, ==, @@ -221,16 +254,28 @@ test_everything_changed(NMNDisc *ndisc, const NMNDiscData *rdata, guint changed_ | NM_NDISC_CONFIG_DNS_DOMAINS); g_assert_cmpint(rdata->gateways_n, ==, 1); - match_gateway(rdata, 0, "fe80::2", data->timestamp1, 10, NM_ICMPV6_ROUTER_PREF_MEDIUM); + match_gateway(rdata, + 0, + "fe80::2", + data->timestamp_msec_1 + 10000, + NM_ICMPV6_ROUTER_PREF_MEDIUM); g_assert_cmpint(rdata->addresses_n, ==, 2); - match_address(rdata, 0, "2001:db8:a:a::1", data->timestamp1, 10, 0); - match_address(rdata, 1, "2001:db8:a:b::1", data->timestamp1, 10, 10); + match_address(rdata, + 0, + "2001:db8:a:a::1", + data->timestamp_msec_1 + 10000, + data->timestamp_msec_1); + match_address(rdata, + 1, + "2001:db8:a:b::1", + data->timestamp_msec_1 + 10000, + data->timestamp_msec_1 + 10000); g_assert_cmpint(rdata->routes_n, ==, 1); - match_route(rdata, 0, "2001:db8:a:b::", 64, "fe80::2", data->timestamp1, 10, 10); + match_route(rdata, 0, "2001:db8:a:b::", 64, "fe80::2", data->timestamp_msec_1 + 10000, 10); g_assert_cmpint(rdata->dns_servers_n, ==, 1); - match_dns_server(rdata, 0, "2001:db8:c:c::2", data->timestamp1, 10); + match_dns_server(rdata, 0, "2001:db8:c:c::2", data->timestamp_msec_1 + 10000); g_assert_cmpint(rdata->dns_domains_n, ==, 1); - match_dns_domain(rdata, 0, "foobar2.com", data->timestamp1, 10); + match_dns_domain(rdata, 0, "foobar2.com", data->timestamp_msec_1 + 10000); g_assert(nm_fake_ndisc_done(NM_FAKE_NDISC(ndisc))); g_main_loop_quit(data->loop); @@ -243,42 +288,57 @@ test_everything_changed(NMNDisc *ndisc, const NMNDiscData *rdata, guint changed_ static void test_everything(void) { - NMFakeNDisc *ndisc = ndisc_new(); - guint32 now = nm_utils_get_monotonic_timestamp_sec(); - TestData data = {g_main_loop_new(NULL, FALSE), 0, 0, now}; - guint id; + nm_auto_unref_gmainloop GMainLoop *loop = g_main_loop_new(NULL, FALSE); + gs_unref_object NMFakeNDisc *ndisc = ndisc_new(); + const gint64 now_msec = nm_utils_get_monotonic_timestamp_msec(); + TestData data = { + .loop = loop, + .timestamp_msec_1 = now_msec, + }; + guint id; id = nm_fake_ndisc_add_ra(ndisc, 1, NM_NDISC_DHCP_LEVEL_NONE, 4, 1500); g_assert(id); - nm_fake_ndisc_add_gateway(ndisc, id, "fe80::1", now, 10, NM_ICMPV6_ROUTER_PREF_MEDIUM); - nm_fake_ndisc_add_prefix(ndisc, id, "2001:db8:a:a::", 64, "fe80::1", now, 10, 10, 10); - nm_fake_ndisc_add_dns_server(ndisc, id, "2001:db8:c:c::1", now, 10); - nm_fake_ndisc_add_dns_domain(ndisc, id, "foobar.com", now, 10); + nm_fake_ndisc_add_gateway(ndisc, id, "fe80::1", now_msec + 10000, NM_ICMPV6_ROUTER_PREF_MEDIUM); + nm_fake_ndisc_add_prefix(ndisc, + id, + "2001:db8:a:a::", + 64, + "fe80::1", + now_msec + 10000, + now_msec + 10000, + 10); + nm_fake_ndisc_add_dns_server(ndisc, id, "2001:db8:c:c::1", now_msec + 10000); + nm_fake_ndisc_add_dns_domain(ndisc, id, "foobar.com", now_msec + 10000); /* expire everything from the first RA in the second */ id = nm_fake_ndisc_add_ra(ndisc, 1, NM_NDISC_DHCP_LEVEL_NONE, 4, 1500); g_assert(id); - nm_fake_ndisc_add_gateway(ndisc, id, "fe80::1", now, 0, NM_ICMPV6_ROUTER_PREF_MEDIUM); - nm_fake_ndisc_add_prefix(ndisc, id, "2001:db8:a:a::", 64, "fe80::1", now, 0, 0, 0); - nm_fake_ndisc_add_dns_server(ndisc, id, "2001:db8:c:c::1", now, 0); - nm_fake_ndisc_add_dns_domain(ndisc, id, "foobar.com", now, 0); + nm_fake_ndisc_add_gateway(ndisc, id, "fe80::1", now_msec, NM_ICMPV6_ROUTER_PREF_MEDIUM); + nm_fake_ndisc_add_prefix(ndisc, id, "2001:db8:a:a::", 64, "fe80::1", now_msec, now_msec, 0); + nm_fake_ndisc_add_dns_server(ndisc, id, "2001:db8:c:c::1", now_msec); + nm_fake_ndisc_add_dns_domain(ndisc, id, "foobar.com", now_msec); /* and add some new stuff */ - nm_fake_ndisc_add_gateway(ndisc, id, "fe80::2", now, 10, NM_ICMPV6_ROUTER_PREF_MEDIUM); - nm_fake_ndisc_add_prefix(ndisc, id, "2001:db8:a:b::", 64, "fe80::2", now, 10, 10, 10); - nm_fake_ndisc_add_dns_server(ndisc, id, "2001:db8:c:c::2", now, 10); - nm_fake_ndisc_add_dns_domain(ndisc, id, "foobar2.com", now, 10); + nm_fake_ndisc_add_gateway(ndisc, id, "fe80::2", now_msec + 10000, NM_ICMPV6_ROUTER_PREF_MEDIUM); + nm_fake_ndisc_add_prefix(ndisc, + id, + "2001:db8:a:b::", + 64, + "fe80::2", + now_msec + 10000, + now_msec + 10000, + 10); + nm_fake_ndisc_add_dns_server(ndisc, id, "2001:db8:c:c::2", now_msec + 10000); + nm_fake_ndisc_add_dns_domain(ndisc, id, "foobar2.com", now_msec + 10000); g_signal_connect(ndisc, NM_NDISC_CONFIG_RECEIVED, G_CALLBACK(test_everything_changed), &data); g_signal_connect(ndisc, NM_FAKE_NDISC_RS_SENT, G_CALLBACK(test_everything_rs_sent), &data); nm_ndisc_start(NM_NDISC(ndisc)); - g_main_loop_run(data.loop); + nmtst_main_loop_run_assert(data.loop, 15000); g_assert_cmpint(data.counter, ==, 2); g_assert_cmpint(data.rs_counter, ==, 1); - - g_object_unref(ndisc); - g_main_loop_unref(data.loop); } static void @@ -296,14 +356,30 @@ test_preference_order_cb(NMNDisc * ndisc, | NM_NDISC_CONFIG_ROUTES); g_assert_cmpint(rdata->gateways_n, ==, 2); - match_gateway(rdata, 0, "fe80::1", data->timestamp1, 10, NM_ICMPV6_ROUTER_PREF_HIGH); - match_gateway(rdata, 1, "fe80::2", data->timestamp1 + 1, 10, NM_ICMPV6_ROUTER_PREF_LOW); + match_gateway(rdata, + 0, + "fe80::1", + data->timestamp_msec_1 + 10000, + NM_ICMPV6_ROUTER_PREF_HIGH); + match_gateway(rdata, + 1, + "fe80::2", + data->timestamp_msec_1 + 11000, + NM_ICMPV6_ROUTER_PREF_LOW); g_assert_cmpint(rdata->addresses_n, ==, 2); - match_address(rdata, 0, "2001:db8:a:a::1", data->timestamp1, 10, 10); - match_address(rdata, 1, "2001:db8:a:b::1", data->timestamp1 + 1, 10, 10); + match_address(rdata, + 0, + "2001:db8:a:a::1", + data->timestamp_msec_1 + 10000, + data->timestamp_msec_1 + 10000); + match_address(rdata, + 1, + "2001:db8:a:b::1", + data->timestamp_msec_1 + 11000, + data->timestamp_msec_1 + 10000); g_assert_cmpint(rdata->routes_n, ==, 2); - match_route(rdata, 0, "2001:db8:a:b::", 64, "fe80::2", data->timestamp1 + 1, 10, 10); - match_route(rdata, 1, "2001:db8:a:a::", 64, "fe80::1", data->timestamp1, 10, 5); + match_route(rdata, 0, "2001:db8:a:b::", 64, "fe80::2", data->timestamp_msec_1 + 11000, 10); + match_route(rdata, 1, "2001:db8:a:a::", 64, "fe80::1", data->timestamp_msec_1 + 10000, 5); g_assert(nm_fake_ndisc_done(NM_FAKE_NDISC(ndisc))); g_main_loop_quit(data->loop); @@ -315,31 +391,46 @@ test_preference_order_cb(NMNDisc * ndisc, static void test_preference_order(void) { - NMFakeNDisc *ndisc = ndisc_new(); - guint32 now = nm_utils_get_monotonic_timestamp_sec(); - TestData data = {g_main_loop_new(NULL, FALSE), 0, 0, now}; - guint id; + nm_auto_unref_gmainloop GMainLoop *loop = g_main_loop_new(NULL, FALSE); + gs_unref_object NMFakeNDisc *ndisc = ndisc_new(); + const gint64 now_msec = nm_utils_get_monotonic_timestamp_msec(); + TestData data = { + .loop = loop, + .timestamp_msec_1 = now_msec, + }; + guint id; /* Test insertion order of gateways */ id = nm_fake_ndisc_add_ra(ndisc, 1, NM_NDISC_DHCP_LEVEL_NONE, 4, 1500); g_assert(id); - nm_fake_ndisc_add_gateway(ndisc, id, "fe80::1", now, 10, NM_ICMPV6_ROUTER_PREF_HIGH); - nm_fake_ndisc_add_prefix(ndisc, id, "2001:db8:a:a::", 64, "fe80::1", now, 10, 10, 5); + nm_fake_ndisc_add_gateway(ndisc, id, "fe80::1", now_msec + 10000, NM_ICMPV6_ROUTER_PREF_HIGH); + nm_fake_ndisc_add_prefix(ndisc, + id, + "2001:db8:a:a::", + 64, + "fe80::1", + now_msec + 10000, + now_msec + 10000, + 5); id = nm_fake_ndisc_add_ra(ndisc, 1, NM_NDISC_DHCP_LEVEL_NONE, 4, 1500); g_assert(id); - nm_fake_ndisc_add_gateway(ndisc, id, "fe80::2", ++now, 10, NM_ICMPV6_ROUTER_PREF_LOW); - nm_fake_ndisc_add_prefix(ndisc, id, "2001:db8:a:b::", 64, "fe80::2", now, 10, 10, 10); + nm_fake_ndisc_add_gateway(ndisc, id, "fe80::2", now_msec + 11000, NM_ICMPV6_ROUTER_PREF_LOW); + nm_fake_ndisc_add_prefix(ndisc, + id, + "2001:db8:a:b::", + 64, + "fe80::2", + now_msec + 11000, + now_msec + 10000, + 10); g_signal_connect(ndisc, NM_NDISC_CONFIG_RECEIVED, G_CALLBACK(test_preference_order_cb), &data); nm_ndisc_start(NM_NDISC(ndisc)); - g_main_loop_run(data.loop); + nmtst_main_loop_run_assert(data.loop, 15000); g_assert_cmpint(data.counter, ==, 2); - - g_object_unref(ndisc); - g_main_loop_unref(data.loop); } static void @@ -356,14 +447,30 @@ test_preference_changed_cb(NMNDisc * ndisc, NM_NDISC_CONFIG_GATEWAYS | NM_NDISC_CONFIG_ADDRESSES | NM_NDISC_CONFIG_ROUTES); g_assert_cmpint(rdata->gateways_n, ==, 2); - match_gateway(rdata, 0, "fe80::2", data->timestamp1 + 1, 10, NM_ICMPV6_ROUTER_PREF_MEDIUM); - match_gateway(rdata, 1, "fe80::1", data->timestamp1, 10, NM_ICMPV6_ROUTER_PREF_LOW); + match_gateway(rdata, + 0, + "fe80::2", + data->timestamp_msec_1 + 11000, + NM_ICMPV6_ROUTER_PREF_MEDIUM); + match_gateway(rdata, + 1, + "fe80::1", + data->timestamp_msec_1 + 10000, + NM_ICMPV6_ROUTER_PREF_LOW); g_assert_cmpint(rdata->addresses_n, ==, 2); - match_address(rdata, 0, "2001:db8:a:a::1", data->timestamp1, 10, 10); - match_address(rdata, 1, "2001:db8:a:b::1", data->timestamp1 + 1, 10, 10); + match_address(rdata, + 0, + "2001:db8:a:a::1", + data->timestamp_msec_1 + 10000, + data->timestamp_msec_1 + 10000); + match_address(rdata, + 1, + "2001:db8:a:b::1", + data->timestamp_msec_1 + 11000, + data->timestamp_msec_1 + 11000); g_assert_cmpint(rdata->routes_n, ==, 2); - match_route(rdata, 0, "2001:db8:a:b::", 64, "fe80::2", data->timestamp1 + 1, 10, 10); - match_route(rdata, 1, "2001:db8:a:a::", 64, "fe80::1", data->timestamp1, 10, 5); + match_route(rdata, 0, "2001:db8:a:b::", 64, "fe80::2", data->timestamp_msec_1 + 11000, 10); + match_route(rdata, 1, "2001:db8:a:a::", 64, "fe80::1", data->timestamp_msec_1 + 10000, 5); } else if (data->counter == 2) { g_assert_cmpint(changed, ==, @@ -371,14 +478,30 @@ test_preference_changed_cb(NMNDisc * ndisc, | NM_NDISC_CONFIG_ROUTES); g_assert_cmpint(rdata->gateways_n, ==, 2); - match_gateway(rdata, 0, "fe80::1", data->timestamp1 + 2, 10, NM_ICMPV6_ROUTER_PREF_HIGH); - match_gateway(rdata, 1, "fe80::2", data->timestamp1 + 1, 10, NM_ICMPV6_ROUTER_PREF_MEDIUM); + match_gateway(rdata, + 0, + "fe80::1", + data->timestamp_msec_1 + 12000, + NM_ICMPV6_ROUTER_PREF_HIGH); + match_gateway(rdata, + 1, + "fe80::2", + data->timestamp_msec_1 + 11000, + NM_ICMPV6_ROUTER_PREF_MEDIUM); g_assert_cmpint(rdata->addresses_n, ==, 2); - match_address(rdata, 0, "2001:db8:a:a::1", data->timestamp1 + 3, 9, 9); - match_address(rdata, 1, "2001:db8:a:b::1", data->timestamp1 + 1, 10, 10); + match_address(rdata, + 0, + "2001:db8:a:a::1", + data->timestamp_msec_1 + 12000, + data->timestamp_msec_1 + 12000); + match_address(rdata, + 1, + "2001:db8:a:b::1", + data->timestamp_msec_1 + 11000, + data->timestamp_msec_1 + 11000); g_assert_cmpint(rdata->routes_n, ==, 2); - match_route(rdata, 0, "2001:db8:a:a::", 64, "fe80::1", data->timestamp1 + 2, 10, 15); - match_route(rdata, 1, "2001:db8:a:b::", 64, "fe80::2", data->timestamp1 + 1, 10, 10); + match_route(rdata, 0, "2001:db8:a:a::", 64, "fe80::1", data->timestamp_msec_1 + 12000, 15); + match_route(rdata, 1, "2001:db8:a:b::", 64, "fe80::2", data->timestamp_msec_1 + 11000, 10); g_assert(nm_fake_ndisc_done(NM_FAKE_NDISC(ndisc))); g_main_loop_quit(data->loop); @@ -390,10 +513,14 @@ test_preference_changed_cb(NMNDisc * ndisc, static void test_preference_changed(void) { - NMFakeNDisc *ndisc = ndisc_new(); - guint32 now = nm_utils_get_monotonic_timestamp_sec(); - TestData data = {g_main_loop_new(NULL, FALSE), 0, 0, now}; - guint id; + nm_auto_unref_gmainloop GMainLoop *loop = g_main_loop_new(NULL, FALSE); + gs_unref_object NMFakeNDisc *ndisc = ndisc_new(); + const gint64 now_msec = nm_utils_get_monotonic_timestamp_msec(); + TestData data = { + .loop = loop, + .timestamp_msec_1 = now_msec, + }; + guint id; /* Test that when a low-preference and medium gateway send advertisements, * that if the low-preference gateway switches to high-preference, we do @@ -402,18 +529,39 @@ test_preference_changed(void) id = nm_fake_ndisc_add_ra(ndisc, 1, NM_NDISC_DHCP_LEVEL_NONE, 4, 1500); g_assert(id); - nm_fake_ndisc_add_gateway(ndisc, id, "fe80::1", now, 10, NM_ICMPV6_ROUTER_PREF_LOW); - nm_fake_ndisc_add_prefix(ndisc, id, "2001:db8:a:a::", 64, "fe80::1", now, 10, 10, 5); + nm_fake_ndisc_add_gateway(ndisc, id, "fe80::1", now_msec + 10000, NM_ICMPV6_ROUTER_PREF_LOW); + nm_fake_ndisc_add_prefix(ndisc, + id, + "2001:db8:a:a::", + 64, + "fe80::1", + now_msec + 10000, + now_msec + 10000, + 5); id = nm_fake_ndisc_add_ra(ndisc, 1, NM_NDISC_DHCP_LEVEL_NONE, 4, 1500); g_assert(id); - nm_fake_ndisc_add_gateway(ndisc, id, "fe80::2", ++now, 10, NM_ICMPV6_ROUTER_PREF_MEDIUM); - nm_fake_ndisc_add_prefix(ndisc, id, "2001:db8:a:b::", 64, "fe80::2", now, 10, 10, 10); + nm_fake_ndisc_add_gateway(ndisc, id, "fe80::2", now_msec + 11000, NM_ICMPV6_ROUTER_PREF_MEDIUM); + nm_fake_ndisc_add_prefix(ndisc, + id, + "2001:db8:a:b::", + 64, + "fe80::2", + now_msec + 11000, + now_msec + 11000, + 10); id = nm_fake_ndisc_add_ra(ndisc, 1, NM_NDISC_DHCP_LEVEL_NONE, 4, 1500); g_assert(id); - nm_fake_ndisc_add_gateway(ndisc, id, "fe80::1", ++now, 10, NM_ICMPV6_ROUTER_PREF_HIGH); - nm_fake_ndisc_add_prefix(ndisc, id, "2001:db8:a:a::", 64, "fe80::1", now, 10, 10, 15); + nm_fake_ndisc_add_gateway(ndisc, id, "fe80::1", now_msec + 12000, NM_ICMPV6_ROUTER_PREF_HIGH); + nm_fake_ndisc_add_prefix(ndisc, + id, + "2001:db8:a:a::", + 64, + "fe80::1", + now_msec + 12000, + now_msec + 12000, + 15); g_signal_connect(ndisc, NM_NDISC_CONFIG_RECEIVED, @@ -421,68 +569,38 @@ test_preference_changed(void) &data); nm_ndisc_start(NM_NDISC(ndisc)); - g_main_loop_run(data.loop); + nmtst_main_loop_run_assert(data.loop, 15000); g_assert_cmpint(data.counter, ==, 3); - - g_object_unref(ndisc); - g_main_loop_unref(data.loop); } +/*****************************************************************************/ + static void -test_dns_solicit_loop_changed(NMNDisc * ndisc, - const NMNDiscData *rdata, - guint changed_int, - TestData * data) +_test_dns_solicit_loop_changed(NMNDisc * ndisc, + const NMNDiscData *rdata, + guint changed_int, + TestData * data) { data->counter++; } -static gboolean -success_timeout(TestData *data) -{ - data->timeout_id = 0; - g_main_loop_quit(data->loop); - return G_SOURCE_REMOVE; -} - static void -test_dns_solicit_loop_rs_sent(NMFakeNDisc *ndisc, TestData *data) +_test_dns_solicit_loop_rs_sent(NMFakeNDisc *ndisc, TestData *data) { - guint32 now = nm_utils_get_monotonic_timestamp_sec(); - guint id; - - if (data->rs_counter > 0 && data->rs_counter < 6) { - if (data->rs_counter == 1) { - data->first_solicit = now; - /* Kill the test after 10 seconds if it hasn't failed yet */ - data->timeout_id = g_timeout_add_seconds(10, (GSourceFunc) success_timeout, data); - } - - /* On all but the first solicitation, which should be triggered by the - * DNS servers reaching 1/2 lifetime, emit a new RA without the DNS - * servers again. - */ - id = nm_fake_ndisc_add_ra(ndisc, 0, NM_NDISC_DHCP_LEVEL_NONE, 4, 1500); - g_assert(id); - nm_fake_ndisc_add_gateway(ndisc, id, "fe80::1", now, 10, NM_ICMPV6_ROUTER_PREF_MEDIUM); - - nm_fake_ndisc_emit_new_ras(ndisc); - } else if (data->rs_counter >= 6) { - /* Fail if we've sent too many solicitations in the past 4 seconds */ - g_assert_cmpint(now - data->first_solicit, >, 4); - g_source_remove(data->timeout_id); - g_main_loop_quit(data->loop); - } data->rs_counter++; } static void test_dns_solicit_loop(void) { - NMFakeNDisc *ndisc = ndisc_new(); - guint32 now = nm_utils_get_monotonic_timestamp_sec(); - TestData data = {g_main_loop_new(NULL, FALSE), 0, 0, now, 0}; - guint id; + nm_auto_unref_gmainloop GMainLoop *loop = g_main_loop_new(NULL, FALSE); + gs_unref_object NMFakeNDisc *ndisc = ndisc_new(); + const gint64 now_msec = nm_utils_get_monotonic_timestamp_msec(); + TestData data = { + .loop = loop, + .timestamp_msec_1 = now_msec, + }; + guint id; /* Ensure that no solicitation loop happens when DNS servers or domains * stop being sent in advertisements. This can happen if two routers @@ -493,26 +611,27 @@ test_dns_solicit_loop(void) id = nm_fake_ndisc_add_ra(ndisc, 1, NM_NDISC_DHCP_LEVEL_NONE, 4, 1500); g_assert(id); - nm_fake_ndisc_add_gateway(ndisc, id, "fe80::1", now, 10, NM_ICMPV6_ROUTER_PREF_LOW); - nm_fake_ndisc_add_dns_server(ndisc, id, "2001:db8:c:c::1", now, 6); + nm_fake_ndisc_add_gateway(ndisc, id, "fe80::1", now_msec + 10000, NM_ICMPV6_ROUTER_PREF_LOW); + nm_fake_ndisc_add_dns_server(ndisc, id, "2001:db8:c:c::1", now_msec + 6000); g_signal_connect(ndisc, NM_NDISC_CONFIG_RECEIVED, - G_CALLBACK(test_dns_solicit_loop_changed), + G_CALLBACK(_test_dns_solicit_loop_changed), &data); g_signal_connect(ndisc, NM_FAKE_NDISC_RS_SENT, - G_CALLBACK(test_dns_solicit_loop_rs_sent), + G_CALLBACK(_test_dns_solicit_loop_rs_sent), &data); nm_ndisc_start(NM_NDISC(ndisc)); - g_main_loop_run(data.loop); + if (nmtst_main_loop_run(data.loop, 10000)) + g_error("we expect to run the loop until timeout. What is wrong?"); g_assert_cmpint(data.counter, ==, 3); - - g_object_unref(ndisc); - g_main_loop_unref(data.loop); + g_assert_cmpint(data.rs_counter, ==, 1); } +/*****************************************************************************/ + NMTST_DEFINE(); int diff --git a/src/nm-core-utils.h b/src/nm-core-utils.h index f4fe5f6..a3f4787 100644 --- a/src/nm-core-utils.h +++ b/src/nm-core-utils.h @@ -559,7 +559,7 @@ char * nm_utils_format_con_diff_for_audit(GHashTable *diff); /* this enum is compatible with ICMPV6_ROUTER_PREF_* (from , * the values for netlink attribute RTA_PREF) and "enum ndp_route_preference" * from . */ -typedef enum { +typedef enum _nm_packed { NM_ICMPV6_ROUTER_PREF_MEDIUM = 0x0, /* ICMPV6_ROUTER_PREF_MEDIUM */ NM_ICMPV6_ROUTER_PREF_LOW = 0x3, /* ICMPV6_ROUTER_PREF_LOW */ NM_ICMPV6_ROUTER_PREF_HIGH = 0x1, /* ICMPV6_ROUTER_PREF_HIGH */ diff --git a/src/nm-ip6-config.c b/src/nm-ip6-config.c index eeb6994..d48c6e3 100644 --- a/src/nm-ip6-config.c +++ b/src/nm-ip6-config.c @@ -1497,6 +1497,7 @@ nm_ip6_config_reset_addresses_ndisc(NMIP6Config * self, NMIP6ConfigPrivate *priv; guint i; gboolean changed = FALSE; + gint32 base_time_sec; g_return_if_fail(NM_IS_IP6_CONFIG(self)); @@ -1504,6 +1505,16 @@ nm_ip6_config_reset_addresses_ndisc(NMIP6Config * self, g_return_if_fail(priv->ifindex > 0); + /* the base-timestamp doesn't matter it's only an anchor for the + * expiry. However, try to re-use the same base-time for a while + * by rounding it to 10000 seconds. + * + * That is because we deduplicate and NMPlatformIP6Address instances + * so using the same timestamps is preferable. */ + base_time_sec = nm_utils_get_monotonic_timestamp_sec(); + base_time_sec = (base_time_sec / 10000) * 10000; + base_time_sec = NM_MAX(1, base_time_sec); + nm_dedup_multi_index_dirty_set_idx(priv->multi_idx, &priv->idx_ip6_addresses); for (i = 0; i < addresses_n; i++) { @@ -1516,9 +1527,13 @@ nm_ip6_config_reset_addresses_ndisc(NMIP6Config * self, a->ifindex = priv->ifindex; a->address = ndisc_addr->address; a->plen = plen; - a->timestamp = ndisc_addr->timestamp; - a->lifetime = ndisc_addr->lifetime; - a->preferred = MIN(ndisc_addr->lifetime, ndisc_addr->preferred); + a->timestamp = base_time_sec, + a->lifetime = _nm_ndisc_lifetime_from_expiry(((gint64) base_time_sec) * 1000, + ndisc_addr->expiry_msec, + TRUE), + a->preferred = _nm_ndisc_lifetime_from_expiry(((gint64) base_time_sec) * 1000, + ndisc_addr->expiry_preferred_msec, + TRUE), a->addr_source = NM_IP_CONFIG_SOURCE_NDISC; a->n_ifa_flags = ifa_flags; diff --git a/src/nm-manager.c b/src/nm-manager.c index 7f590f3..550ac5e 100644 --- a/src/nm-manager.c +++ b/src/nm-manager.c @@ -4927,11 +4927,11 @@ _internal_activate_device(NMManager *self, NMActiveConnection *active, GError ** if (master_device) { g_prefix_error(error, "Master device '%s' can't be activated: ", - nm_device_get_ip_iface(device)); + nm_device_get_ip_iface(master_device)); } else { g_prefix_error(error, "Master connection '%s' can't be activated: ", - nm_settings_connection_get_id(sett_conn)); + nm_settings_connection_get_id(master_connection)); } return FALSE; } @@ -7582,6 +7582,14 @@ periodic_update_active_connection_timestamps(gpointer user_data) return G_SOURCE_CONTINUE; } +void +nm_manager_unblock_failed_ovs_interfaces(NMManager *self) +{ + NMManagerPrivate *priv = NM_MANAGER_GET_PRIVATE(self); + + nm_policy_unblock_failed_ovs_interfaces(priv->policy); +} + /*****************************************************************************/ void diff --git a/src/nm-manager.h b/src/nm-manager.h index 0585857..e3f71b8 100644 --- a/src/nm-manager.h +++ b/src/nm-manager.h @@ -209,4 +209,6 @@ void nm_manager_device_auth_request(NMManager * self, NMManagerDeviceAuthRequestFunc callback, gpointer user_data); +void nm_manager_unblock_failed_ovs_interfaces(NMManager *self); + #endif /* __NETWORKMANAGER_MANAGER_H__ */ diff --git a/src/nm-policy.c b/src/nm-policy.c index e74531e..98ff704 100644 --- a/src/nm-policy.c +++ b/src/nm-policy.c @@ -1541,6 +1541,30 @@ hostname_changed(NMHostnameManager *hostname_manager, GParamSpec *pspec, gpointe update_system_hostname(self, "hostname changed"); } +void +nm_policy_unblock_failed_ovs_interfaces(NMPolicy *self) +{ + NMPolicyPrivate * priv = NM_POLICY_GET_PRIVATE(self); + NMSettingsConnection *const *connections = NULL; + guint i; + + _LOGT(LOGD_DEVICE, "unblocking failed OVS interfaces"); + + connections = nm_settings_get_connections(priv->settings, NULL); + for (i = 0; connections[i]; i++) { + NMSettingsConnection *sett_conn = connections[i]; + NMConnection * connection = nm_settings_connection_get_connection(sett_conn); + + if (nm_connection_get_setting_ovs_interface(connection)) { + nm_settings_connection_autoconnect_retries_reset(sett_conn); + nm_settings_connection_autoconnect_blocked_reason_set( + sett_conn, + NM_SETTINGS_AUTO_CONNECT_BLOCKED_REASON_FAILED, + FALSE); + } + } +} + static gboolean reset_autoconnect_all( NMPolicy *self, diff --git a/src/nm-policy.h b/src/nm-policy.h index 2617893..fa216db 100644 --- a/src/nm-policy.h +++ b/src/nm-policy.h @@ -32,6 +32,8 @@ NMActiveConnection *nm_policy_get_default_ip6_ac(NMPolicy *policy); NMActiveConnection *nm_policy_get_activating_ip4_ac(NMPolicy *policy); NMActiveConnection *nm_policy_get_activating_ip6_ac(NMPolicy *policy); +void nm_policy_unblock_failed_ovs_interfaces(NMPolicy *self); + /** * NMPolicyHostnameMode * @NM_POLICY_HOSTNAME_MODE_NONE: never update the transient hostname. diff --git a/src/platform/nm-linux-platform.c b/src/platform/nm-linux-platform.c index 3d99270..5bb34db 100644 --- a/src/platform/nm-linux-platform.c +++ b/src/platform/nm-linux-platform.c @@ -2789,7 +2789,7 @@ toobig_allowedips: if (nest_curr_allowed_ip) nla_nest_cancel(msg, nest_curr_allowed_ip); if (nest_allowed_ips) - nla_nest_cancel(msg, nest_allowed_ips); + _nla_nest_end(msg, nest_allowed_ips); _nla_nest_end(msg, nest_curr_peer); _nla_nest_end(msg, nest_peers); goto send; diff --git a/tools/create-exports-NetworkManager.sh b/tools/create-exports-NetworkManager.sh index 6cb7c2e..406e14c 100755 --- a/tools/create-exports-NetworkManager.sh +++ b/tools/create-exports-NetworkManager.sh @@ -40,7 +40,10 @@ call_nm() { } get_symbols_nm () { - base=./src/NetworkManager-all-sym + base=./src/.libs/NetworkManager-all-sym + if ! test -f "$base"; then + base=./src/NetworkManager-all-sym + fi call_nm "$base" | sed -n 's/^[tTDGRBS] //p' | _sort diff --git a/tools/run-nm-test.sh b/tools/run-nm-test.sh index f8a2bdd..9a5015f 100755 --- a/tools/run-nm-test.sh +++ b/tools/run-nm-test.sh @@ -90,6 +90,7 @@ if [ "$CALLED_FROM_MAKE" == 1 ]; then TEST="$1"; shift NMTST_MAKE_FIRST=0 + TEST_ARGV=("$@") else if [[ -z "${NMTST_USE_VALGRIND+x}" ]]; then # by default, disable valgrind checks. @@ -103,6 +104,7 @@ else else NMTST_LIBTOOL=("$NMTST_LIBTOOL" "--mode=execute") fi + TEST_ARGV=() unset TEST while test $# -gt 0; do case "$1" in @@ -141,19 +143,22 @@ else ;; "--") shift + TEST_ARGV+=("$@") break ;; *) - break + if test -z "${TEST+x}"; then + TEST="$1"; + else + TEST_ARGV+=("$1") + fi + shift ;; esac done # we support calling the script directly. In this case, # only pass the path to the test to run. - if test -z "${TEST+x}"; then - TEST="$1"; shift - fi if [[ -z "${NMTST_SUPPRESSIONS+x}" ]]; then NMTST_SUPPRESSIONS="$SCRIPT_PATH/../valgrind.suppressions" fi @@ -178,6 +183,8 @@ if [ "$NMTST_SET_DEBUG" == 1 -a -z "${NMTST_DEBUG+x}" ]; then export NMTST_DEBUG=d fi +[ -n "$TEST" ] || die "Missing test name. Specify it on the command line." + if _is_true "$NMTST_MAKE_FIRST" 0; then git_dir="$(readlink -f "$(git rev-parse --show-toplevel)")" rel_path="$(realpath --relative-to="$git_dir" -m "$TEST" 2>/dev/null)" || die "cannot resolve test-name \"$TEST\". Did you call the script properly?" @@ -244,7 +251,7 @@ fi if ! _is_true "$NMTST_USE_VALGRIND" 0; then export NM_TEST_UNDER_VALGRIND=0 exec "${NMTST_DBUS_RUN_SESSION[@]}" \ - "$TEST" "$@" + "$TEST" "${TEST_ARGV[@]}" die "exec \"$TEST\" failed" fi @@ -276,7 +283,7 @@ export NM_TEST_UNDER_VALGRIND=1 --num-callers=100 \ --log-file="$LOGFILE" \ "$TEST" \ - "$@" + "${TEST_ARGV[@]}" RESULT=$? test -s "$LOGFILE"