Merge code for documenting 'keyfile' and 'ifcfg-rh' plugins (bgo #683111)

The resulting documentation is in manual pages:
nm-settings-keyfile(5)
nm-settings-ifcfg-rh(5)
This commit is contained in:
Jiří Klimeš 2014-08-29 14:11:30 +02:00
commit 7917b4d431
23 changed files with 2321 additions and 96 deletions

View file

@ -773,6 +773,8 @@ install_pregen_manpages=no
if test "$enable_gtk_doc" != "yes" \
-a -f man/NetworkManager.conf.5 \
-a -f man/nm-settings.5 \
-a -f man/nm-settings-keyfile.5 \
-a -f man/nm-settings-ifcfg-rh.5 \
-a -f man/nmcli-examples.5 \
-a -f man/NetworkManager.8; then
install_pregen_manpages=yes
@ -783,14 +785,35 @@ AM_CONDITIONAL(INSTALL_PREGEN_MANPAGES, test "x${install_pregen_manpages}" = "xy
if test -n "$INTROSPECTION_MAKEFILE" -a "$enable_gtk_doc" = "yes"; then
# If g-i is installed we know we have python, but we might not have pygobject
if python -c 'from gi.repository import GObject' >& /dev/null; then
AC_DEFINE(BUILD_SETTING_DOCS, [1], [Define if you we can build nm-setting-docs.xml])
build_setting_docs=yes
have_pyobject=yes
fi
# gtk-doc depends on perl, but we can check for it anyway
AC_PATH_PROG(PERL, perl, no)
# check for needed perl modules (use YAML; YAML::XS is better, but may not be so widespread)
required_perl_modules="YAML"
for module in $required_perl_modules; do
AC_MSG_CHECKING([checking for perl module '$module'])
if ${PERL} -e 'use '$module 2>/dev/null ; then
AC_MSG_RESULT([Ok])
have_perl_modules=yes
else
AC_MSG_RESULT([Failed])
AC_MSG_ERROR([You must have Perl modules to build settings plugin docs: $required_perl_modules.])
fi
done
if test "$have_pyobject" = "yes" -a "$have_perl_modules" = "yes"; then
AC_DEFINE(BUILD_SETTING_DOCS, [1], [Define if you we can build nm-setting-docs.xml, nm-keyfile-docs.xml and nm-ifcfg-rh-docs.xml])
build_setting_docs=yes
fi
fi
# check for pre-built setting docs
if test "$build_setting_docs" != "yes" \
-a -f man/nm-settings.xml \
-a -f man/nm-settings-keyfile.xml \
-a -f man/nm-settings-ifcfg-rh.xml \
-a -f docs/api/settings-spec.xml \
-a -f cli/src/settings-docs.c; then
AC_DEFINE(HAVE_SETTING_DOCS, [1], [Define if you have pre-built settings docs])

View file

@ -188,7 +188,7 @@ endif
if BUILD_SETTING_DOCS
noinst_DATA = nm-setting-docs.xml
noinst_DATA = nm-setting-docs.xml nm-keyfile-docs.xml nm-ifcfg-rh-docs.xml
nm-setting-docs.xml: generate-setting-docs.py NetworkManager-1.0.gir NetworkManager-1.0.typelib libnm-util.la
export GI_TYPELIB_PATH=$(abs_builddir)$${GI_TYPELIB_PATH:+:$$GI_TYPELIB_PATH}; \
@ -197,11 +197,16 @@ nm-setting-docs.xml: generate-setting-docs.py NetworkManager-1.0.gir NetworkMana
--gir $(builddir)/NetworkManager-1.0.gir \
--output $@
nm-keyfile-docs.xml: generate-plugin-docs.pl $(libnm_util_la_csources)
$(srcdir)/generate-plugin-docs.pl keyfile $@
nm-ifcfg-rh-docs.xml: generate-plugin-docs.pl $(libnm_util_la_csources)
$(srcdir)/generate-plugin-docs.pl ifcfg-rh $@
endif
DISTCLEANFILES += nm-setting-docs.xml
DISTCLEANFILES += nm-setting-docs.xml nm-keyfile-docs.xml nm-ifcfg-rh-docs.xml
EXTRA_DIST += generate-setting-docs.py
EXTRA_DIST += generate-setting-docs.py generate-plugin-docs.pl
if ENABLE_TESTS

View file

@ -0,0 +1,198 @@
#!/usr/bin/env perl
# vim: ft=perl ts=2 sts=2 sw=2 et ai
# -*- Mode: perl; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
#
# 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
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License along
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
#
#
# Copyright 2014 Red Hat, Inc.
#
#
# The script parses nm-setting-*.c files and extracts documentation related
# to setting plugins. The documentation is in a simple format of lines
# "keyword: value". The documentation is enclosed between tags
# ---<plugin-name>--- and ---end---
# Recognized keywords are:
# "property: " - property name
# "variable: " - name of the variable used by the plugin
# "format: " - format of the value in 'keyfile' plugin
# "default: " - default value when variable is not used
# "values: " - allowed values (e.g. for enumerations)
# "example: " - example(s)
# "description: " - description text
# Value is an arbitrary string that can span over multiple lines.
#
# ifcfg-rh specifics:
# - mark NM extension variables with (+), e.g. variable: UUID(+)
#
use strict;
use warnings;
use v5.10;
#YAML:XS is based on libyaml C library and it is a good and fast YAML implementation.
#However it may not be present everywhere. So use YAML instead.
#use YAML::XS qw(Load);
use YAML qw(Load);
# global variables
my @keywords = ("property", "variable", "format", "values", "default", "example", "description");
my @source_files;
my @data;
my $fo;
(scalar @ARGV == 2) or die "Usage: $0 <plugin> <output-xml-file>\n";
($ARGV[0] eq "keyfile" || $ARGV[0] eq "ifcfg-rh") or die "Allowed <plugin> values: keyfile, ifcfg-rh\n";
my ($plugin, $output) = @ARGV;
my $start_tag = "---$plugin---\\s*\$";
my $end_tag = '---end---';
# get source files to scan for documentation comments (nm-setting-<something>.c)
my $file = 'Makefile.am';
open my $fh, '<', $file or die "Can't open $file: $!";
while (my $line = <$fh>) {
chomp $line;
my @strings = $line =~ /(?:^|\s)(nm-setting-[^.]*\.c)(?:\s|$)/g;
push @source_files, @strings
}
close $fh;
# open output file
open $fo, '>', $output or die "Can't open $output: $!";
# write XML header
write_header();
# write generated documenation for each setting
foreach my $c_file (@source_files) {
my $path = "$c_file";
my $setting_name = get_setting_name($path);
write_item("<setting name=\"$setting_name\">");
scan_doc_comments($path, $start_tag, $end_tag);
write_item("</setting>");
}
# write XML footer
write_footer();
# close output file
close $fo;
### --- subroutines --- ###
# get setting name from NM_SETTING_*_SETTING_NAME constant in C header file
sub get_setting_name {
my $path = $_[0];
$path =~ s/c$/h/; # use header file to find out setting name
open my $fh, '<', $path or die "Can't open $path: $!";
while (my $line = <$fh>) {
if ($line =~ /NM_SETTING_.+SETTING_NAME\s+\"(\S+)\"/) {
return $1;
}
}
}
# scan source setting file for documentation tags and write them to XML
sub scan_doc_comments {
my($setting_file, $start, $end) = @_;
open my $fi, '<', $setting_file or die "Can't open $setting_file: $!";
while (<$fi>) {
if (/$start/ .. /$end/) {
next if /$start/;
if (/$end/) {
process_data();
} else {
push @data, $_;
}
next;
}
# ignore text not inside marks
}
close $fi;
}
# process plugin property documentation comments (as a YAML document)
sub process_data {
return if not @data;
my $kwd_pat = join("|", @keywords);
my $yaml_literal_seq = "|\n";
foreach (@data) {
# make a proper YAML document from @data
$_ =~ s/^\s*\**\s+|\s+$//; # remove leading spaces and *, and traling spaces
# Properly indent the text so that it is a valid YAML, and insert | (for literal text)
if ($_ =~ /^($kwd_pat):\s+/) {
# add | after "keyword:" that allows using literal text (YAML won't break on special character)
# http://learnxinyminutes.com/docs/yaml/ and http://www.yaml.org/spec/1.2/spec.html#id2795688
$_ =~ s/(^($kwd_pat):)/$1 $yaml_literal_seq/;
} else {
$_ = " " . $_; # indent the text
}
}
my $str = join ("", @data);
my $yaml_data = Load($str);
# now write ia line into the XML
my $name = $yaml_data->{property} // "";
my $var = $yaml_data->{variable} // $name; # fallback to "property: "
my $format = $yaml_data->{format} // "";
my $values = $yaml_data->{values} // "";
my $def = $yaml_data->{default} // "";
my $exam = $yaml_data->{example} // "";
my $desc = $yaml_data->{description} // "";
escape_xml_chars($name, $var, $format, $values, $def, $exam, $desc);
my $foo = sprintf("<property name=\"%s\" variable=\"%s\" format=\"%s\" values=\"%s\" ".
"default=\"%s\" example=\"%s\" description=\"%s\"/>",
$name, $var, $format, $values, $def, $exam, $desc);
write_item($foo);
@data = ();
}
# - XML handling -
sub write_header {
(my $header =
qq{<?xml version=\"1.0\"?>
<!DOCTYPE nm-$plugin-docs [
]>
<nm-$plugin-docs>
}) =~ s/^ {7}//mg;
print {$fo} $header;
}
sub write_footer {
my $footer = "</nm-$plugin-docs>";
print {$fo} $footer;
}
sub write_item {
my $str = join("", @_);
print {$fo} $str, "\n";
}
sub escape_xml_chars {
# http://en.wikipedia.org/wiki/List_of_XML_and_HTML_character_entity_references#Predefined%5Fentities%5Fin%5FXML
foreach my $val (@_) {
$val =~ s/&/&amp;/sg;
$val =~ s/</&lt;/sg;
$val =~ s/>/&gt;/sg;
$val =~ s/"/&quot;/sg;
$val =~ s/'/&apos;/sg;
}
}

View file

@ -3143,6 +3143,15 @@ nm_setting_802_1x_class_init (NMSetting8021xClass *setting_class)
* properties of this setting; refer to wpa_supplicant documentation for the
* allowed combinations.
**/
/* plugins docs
* ---ifcfg-rh---
* property: eap
* variable: IEEE_8021X_EAP_METHODS(+)
* values: "LEAP", "PWD", "TLS", "PEAP", "TTLS", "FAST"
* description: EAP method for 802.1X authentication.
* example: IEEE_8021X_EAP_METHODS=PEAP
* ---end---
*/
g_object_class_install_property
(object_class, PROP_EAP,
_nm_param_spec_specialized (NM_SETTING_802_1X_EAP, "", "",
@ -3156,6 +3165,14 @@ nm_setting_802_1x_class_init (NMSetting8021xClass *setting_class)
* Identity string for EAP authentication methods. Often the user's user or
* login name.
**/
/* plugins docs
* ---ifcfg-rh---
* property: identity
* variable: IEEE_8021X_IDENTITY(+)
* description: Identity for EAP authentication methods.
* example: IEEE_8021X_IDENTITY=itsme
* ---end---
*/
g_object_class_install_property
(object_class, PROP_IDENTITY,
g_param_spec_string (NM_SETTING_802_1X_IDENTITY, "", "",
@ -3170,6 +3187,13 @@ nm_setting_802_1x_class_init (NMSetting8021xClass *setting_class)
* unencrypted identity with EAP types that support different tunneled
* identity like EAP-TTLS.
**/
/* plugins docs
* ---ifcfg-rh---
* property: anonymous-identity
* variable: IEEE_8021X_ANON_IDENTITY(+)
* description: Anonymous identity for EAP authentication methods.
* ---end---
*/
g_object_class_install_property
(object_class, PROP_ANONYMOUS_IDENTITY,
g_param_spec_string (NM_SETTING_802_1X_ANONYMOUS_IDENTITY, "", "",
@ -3182,6 +3206,14 @@ nm_setting_802_1x_class_init (NMSetting8021xClass *setting_class)
*
* UTF-8 encoded file path containing PAC for EAP-FAST.
**/
/* plugins docs
* ---ifcfg-rh---
* property: pac-file
* variable: IEEE_8021X_PAC_FILE(+)
* description: File with PAC (Protected Access Credential) for EAP-FAST.
* example: IEEE_8021X_PAC_FILE=/home/joe/my-fast.pac
* ---end---
*/
g_object_class_install_property
(object_class, PROP_PAC_FILE,
g_param_spec_string (NM_SETTING_802_1X_PAC_FILE, "", "",
@ -3207,6 +3239,14 @@ nm_setting_802_1x_class_init (NMSetting8021xClass *setting_class)
* Setting this property directly is discouraged; use the
* nm_setting_802_1x_set_ca_cert() function instead.
**/
/* plugins docs
* ---ifcfg-rh---
* property: ca-cert
* variable: IEEE_8021X_CA_CERT(+)
* description: CA certificate for EAP.
* example: IEEE_8021X_CA_CERT=/home/joe/cacert.crt
* ---end---
*/
g_object_class_install_property
(object_class, PROP_CA_CERT,
_nm_param_spec_specialized (NM_SETTING_802_1X_CA_CERT, "", "",
@ -3221,6 +3261,13 @@ nm_setting_802_1x_class_init (NMSetting8021xClass *setting_class)
* certificates to be added to the verification chain in addition to the
* certificate specified in the #NMSetting8021x:ca-cert property.
**/
/* plugins docs
* ---ifcfg-rh---
* property: ca-path
* variable: (none)
* description: The property is not handled by ifcfg-rh plugin.
* ---end---
*/
g_object_class_install_property
(object_class, PROP_CA_PATH,
g_param_spec_string (NM_SETTING_802_1X_CA_PATH, "", "",
@ -3235,6 +3282,14 @@ nm_setting_802_1x_class_init (NMSetting8021xClass *setting_class)
* by the authentication server. When unset, no verification of the
* authentication server certificate's subject is performed.
**/
/* plugins docs
* ---ifcfg-rh---
* property: subject-match
* variable: IEEE_8021X_SUBJECT_MATCH(+)
* description: Substring to match subject of server certificate against.
* example: IEEE_8021X_SUBJECT_MATCH="Red Hat"
* ---end---
*/
g_object_class_install_property
(object_class, PROP_SUBJECT_MATCH,
g_param_spec_string (NM_SETTING_802_1X_SUBJECT_MATCH, "", "",
@ -3249,6 +3304,14 @@ nm_setting_802_1x_class_init (NMSetting8021xClass *setting_class)
* certificate presented by the authentication server. If the list is empty,
* no verification of the server certificate's altSubjectName is performed.
**/
/* plugins docs
* ---ifcfg-rh---
* property: altubject-matches
* variable: IEEE_8021X_AlTSUBJECT_MATCHES(+)
* description: List of strings to be matched against the altSubjectName.
* example: IEEE_8021X_ALTSUBJECT_MATCHES="s1.domain.cc"
* ---end---
*/
g_object_class_install_property
(object_class, PROP_ALTSUBJECT_MATCHES,
_nm_param_spec_specialized (NM_SETTING_802_1X_ALTSUBJECT_MATCHES, "", "",
@ -3272,6 +3335,14 @@ nm_setting_802_1x_class_init (NMSetting8021xClass *setting_class)
* Setting this property directly is discouraged; use the
* nm_setting_802_1x_set_client_cert() function instead.
**/
/* plugins docs
* ---ifcfg-rh---
* property: client-cert
* variable: IEEE_8021X_CLIENT_CERT(+)
* description: Client certificate for EAP.
* example: IEEE_8021X_CLIENT_CERT=/home/joe/mycert.crt
* ---end---
*/
g_object_class_install_property
(object_class, PROP_CLIENT_CERT,
_nm_param_spec_specialized (NM_SETTING_802_1X_CLIENT_CERT, "", "",
@ -3289,6 +3360,14 @@ nm_setting_802_1x_class_init (NMSetting8021xClass *setting_class)
* so, this property may be set to "0" or "1" to force that specific PEAP
* version.
**/
/* plugins docs
* ---ifcfg-rh---
* property: phase1-peapver
* variable: IEEE_8021X_PEAP_VERSION(+)
* values: 0, 1
* description: Use to force a specific PEAP version.
* ---end---
*/
g_object_class_install_property
(object_class, PROP_PHASE1_PEAPVER,
g_param_spec_string (NM_SETTING_802_1X_PHASE1_PEAPVER, "", "",
@ -3304,6 +3383,15 @@ nm_setting_802_1x_class_init (NMSetting8021xClass *setting_class)
* PEAPv1. Set to "1" to force use of the new PEAP label. See the
* wpa_supplicant documentation for more details.
**/
/* plugins docs
* ---ifcfg-rh---
* property: phase1-peaplabel
* variable: IEEE_8021X_PEAP_FORCE_NEW_LABEL(+)
* values: yes, no
* default: no
* description: Use to force the new PEAP label during key derivation.
* ---end---
*/
g_object_class_install_property
(object_class, PROP_PHASE1_PEAPLABEL,
g_param_spec_string (NM_SETTING_802_1X_PHASE1_PEAPLABEL, "", "",
@ -3321,6 +3409,15 @@ nm_setting_802_1x_class_init (NMSetting8021xClass *setting_class)
* both authenticated and unauthenticated provisioning). See the
* wpa_supplicant documentation for more details.
**/
/* plugins docs
* ---ifcfg-rh---
* property: phase1-fast-provisioning
* variable: IEEE_8021X_FAST_PROVISIONING(+)
* values: space-separated list of these values [allow-auth, allow-unauth]
* description: Enable in-line provisioning of EAP-FAST credentials.
* example: IEEE_8021X_FAST_PROVISIONING="allow-auth allow-unauth"
* ---end---
*/
g_object_class_install_property
(object_class, PROP_PHASE1_FAST_PROVISIONING,
g_param_spec_string (NM_SETTING_802_1X_PHASE1_FAST_PROVISIONING, "", "",
@ -3338,6 +3435,16 @@ nm_setting_802_1x_class_init (NMSetting8021xClass *setting_class)
* Each "phase 2" inner method requires specific parameters for successful
* authentication; see the wpa_supplicant documentation for more details.
**/
/* plugins docs
* ---ifcfg-rh---
* property: phase2-auth
* variable: IEEE_8021X_INNER_AUTH_METHODS(+)
* values: "PAP", "CHAP", "MSCHAP", "MSCHAPV2", "GTC", "OTP", "MD5" and "TLS"
* description: Inner non-EAP authentication methods. IEEE_8021X_INNER_AUTH_METHODS
* can contain values both for 'phase2-auth' and 'phase2-autheap' properties.
* example: IEEE_8021X_INNER_AUTH_METHODS=PAP
* ---end---
*/
g_object_class_install_property
(object_class, PROP_PHASE2_AUTH,
g_param_spec_string (NM_SETTING_802_1X_PHASE2_AUTH, "", "",
@ -3355,6 +3462,16 @@ nm_setting_802_1x_class_init (NMSetting8021xClass *setting_class)
* requires specific parameters for successful authentication; see the
* wpa_supplicant documentation for more details.
**/
/* plugins docs
* ---ifcfg-rh---
* property: phase2-autheap
* variable: IEEE_8021X_INNER_AUTH_METHODS(+)
* values: "EAP-MD5", "EAP-MSCHAPV2", "EAP-GTC", "EAP-OTP" and "EAP-TLS"
* description: Inner EAP-based authentication methods. Note that
* IEEE_8021X_INNER_AUTH_METHODS is also used for 'phase2-auth' values.
* example: IEEE_8021X_INNER_AUTH_METHODS="MSCHAPV2 EAP-TLS"
* ---end---
*/
g_object_class_install_property
(object_class, PROP_PHASE2_AUTHEAP,
g_param_spec_string (NM_SETTING_802_1X_PHASE2_AUTHEAP, "", "",
@ -3410,6 +3527,14 @@ nm_setting_802_1x_class_init (NMSetting8021xClass *setting_class)
* authentication. When unset, no verification of the authentication server
* certificate's subject is performed.
**/
/* plugins docs
* ---ifcfg-rh---
* property: phase2-subject-match
* variable: IEEE_8021X_PHASE2_SUBJECT_MATCH(+)
* description: Substring to match subject of server certificate against.
* example: IEEE_8021X_PHASE2_SUBJECT_MATCH="Red Hat"
* ---end---
*/
g_object_class_install_property
(object_class, PROP_PHASE2_SUBJECT_MATCH,
g_param_spec_string (NM_SETTING_802_1X_PHASE2_SUBJECT_MATCH, "", "",
@ -3425,6 +3550,12 @@ nm_setting_802_1x_class_init (NMSetting8021xClass *setting_class)
* "phase 2" authentication. If the list is empty, no verification of the
* server certificate's altSubjectName is performed.
**/
/* plugins docs
* ---ifcfg-rh---
* property: phase2-altsubject-matches
* variable: IEEE_8021X_PHASE2_ALTSUBJECT_MATCHES(+)
* ---end---
*/
g_object_class_install_property
(object_class, PROP_PHASE2_ALTSUBJECT_MATCHES,
_nm_param_spec_specialized (NM_SETTING_802_1X_PHASE2_ALTSUBJECT_MATCHES, "", "",
@ -3451,6 +3582,14 @@ nm_setting_802_1x_class_init (NMSetting8021xClass *setting_class)
* Setting this property directly is discouraged; use the
* nm_setting_802_1x_set_phase2_client_cert() function instead.
**/
/* plugins docs
* ---ifcfg-rh---
* property: phase2-client-cert
* variable: IEEE_8021X_INNER_CLIENT_CERT(+)
* description: Client certificate for inner EAP method.
* example: IEEE_8021X_INNER_CLIENT_CERT=/home/joe/mycert.crt
* ---end---
*/
g_object_class_install_property
(object_class, PROP_PHASE2_CLIENT_CERT,
_nm_param_spec_specialized (NM_SETTING_802_1X_PHASE2_CLIENT_CERT, "", "",
@ -3465,6 +3604,14 @@ nm_setting_802_1x_class_init (NMSetting8021xClass *setting_class)
* #NMSetting8021x:password property and the #NMSetting8021x:password-raw
* property are specified, #NMSetting8021x:password is preferred.
**/
/* plugins docs
* ---ifcfg-rh---
* property: password
* variable: IEEE_8021X_PASSWORD(+)
* description: UTF-8 encoded password used for EAP. It can also go to "key-"
* lookaside file, or it can be owned by a secret agent.
* ---end---
*/
g_object_class_install_property
(object_class, PROP_PASSWORD,
g_param_spec_string (NM_SETTING_802_1X_PASSWORD, "", "",
@ -3478,6 +3625,13 @@ nm_setting_802_1x_class_init (NMSetting8021xClass *setting_class)
*
* Flags indicating how to handle the #NMSetting8021x:password property.
**/
/* plugins docs
* ---ifcfg-rh---
* property: password-flags
* variable: IEEE_8021X_PASSWORD_FLAGS(+)
* description: Password flags for IEEE_8021X_PASSWORD password.
* ---end---
*/
g_object_class_install_property
(object_class, PROP_PASSWORD_FLAGS,
g_param_spec_uint (NM_SETTING_802_1X_PASSWORD_FLAGS, "", "",
@ -3495,6 +3649,13 @@ nm_setting_802_1x_class_init (NMSetting8021xClass *setting_class)
* #NMSetting8021x:password property and the #NMSetting8021x:password-raw
* property are specified, #NMSetting8021x:password is preferred.
**/
/* plugins docs
* ---ifcfg-rh---
* property: password-raw
* variable: (none)
* description: The property is not handled by ifcfg-rh plugin.
* ---end---
*/
g_object_class_install_property
(object_class, PROP_PASSWORD_RAW,
_nm_param_spec_specialized (NM_SETTING_802_1X_PASSWORD_RAW, "", "",
@ -3508,6 +3669,13 @@ nm_setting_802_1x_class_init (NMSetting8021xClass *setting_class)
*
* Flags indicating how to handle the #NMSetting8021x:password-raw property.
**/
/* plugins docs
* ---ifcfg-rh---
* property: password-raw-flags
* variable: (none)
* description: The property is not handled by ifcfg-rh plugin.
* ---end---
*/
g_object_class_install_property
(object_class, PROP_PASSWORD_RAW_FLAGS,
g_param_spec_uint (NM_SETTING_802_1X_PASSWORD_RAW_FLAGS, "", "",
@ -3547,6 +3715,14 @@ nm_setting_802_1x_class_init (NMSetting8021xClass *setting_class)
* private key password to prevent unauthorized access to unencrypted
* private key data.
**/
/* plugins docs
* ---ifcfg-rh---
* property: private-key
* variable: IEEE_8021X_PRIVATE_KEY(+)
* description: Private key for EAP-TLS.
* example: IEEE_8021X_PRIVATE_KEY=/home/joe/mykey.p12
* ---end---
*/
g_object_class_install_property
(object_class, PROP_PRIVATE_KEY,
_nm_param_spec_specialized (NM_SETTING_802_1X_PRIVATE_KEY, "", "",
@ -3564,6 +3740,14 @@ nm_setting_802_1x_class_init (NMSetting8021xClass *setting_class)
* secrets to NetworkManager; it is generally set automatically when setting
* the private key by the nm_setting_802_1x_set_private_key() function.
**/
/* plugins docs
* ---ifcfg-rh---
* property: private-key-password
* variable: IEEE_8021X_PRIVATE_KEY_PASSWORD(+)
* description: Password for IEEE_8021X_PRIVATE_KEY. It can also go to "key-"
* lookaside file, or it can be owned by a secret agent.
* ---end---
*/
g_object_class_install_property
(object_class, PROP_PRIVATE_KEY_PASSWORD,
g_param_spec_string (NM_SETTING_802_1X_PRIVATE_KEY_PASSWORD, "", "",
@ -3578,6 +3762,13 @@ nm_setting_802_1x_class_init (NMSetting8021xClass *setting_class)
* Flags indicating how to handle the #NMSetting8021x:private-key-password
* property.
**/
/* plugins docs
* ---ifcfg-rh---
* property: private-key-password-flags
* variable: IEEE_8021X_PRIVATE_KEY_PASSWORD_FLAGS(+)
* description: Password flags for IEEE_8021X_PRIVATE_KEY_PASSWORD password.
* ---end---
*/
g_object_class_install_property
(object_class, PROP_PRIVATE_KEY_PASSWORD_FLAGS,
g_param_spec_uint (NM_SETTING_802_1X_PRIVATE_KEY_PASSWORD_FLAGS, "", "",
@ -3612,6 +3803,13 @@ nm_setting_802_1x_class_init (NMSetting8021xClass *setting_class)
* Setting this property directly is discouraged; use the
* nm_setting_802_1x_set_phase2_private_key() function instead.
**/
/* plugins docs
* ---ifcfg-rh---
* property: phase2-private-key
* variable: IEEE_8021X_INNER_PRIVATE_KEY(+)
* description: Private key for inner authentication method for EAP-TLS.
* ---end---
*/
g_object_class_install_property
(object_class, PROP_PHASE2_PRIVATE_KEY,
_nm_param_spec_specialized (NM_SETTING_802_1X_PHASE2_PRIVATE_KEY, "", "",
@ -3629,6 +3827,14 @@ nm_setting_802_1x_class_init (NMSetting8021xClass *setting_class)
* NetworkManager; it is generally set automatically when setting the
* private key by the nm_setting_802_1x_set_phase2_private_key() function.
**/
/* plugins docs
* ---ifcfg-rh---
* property: phase2-private-key-password
* variable: IEEE_8021X_INNER_PRIVATE_KEY_PASSWORD(+)
* description: Password for IEEE_8021X_INNER_PRIVATE_KEY. It can also go to "key-"
* lookaside file, or it can be owned by a secret agent.
* ---end---
*/
g_object_class_install_property
(object_class, PROP_PHASE2_PRIVATE_KEY_PASSWORD,
g_param_spec_string (NM_SETTING_802_1X_PHASE2_PRIVATE_KEY_PASSWORD, "", "",
@ -3643,6 +3849,13 @@ nm_setting_802_1x_class_init (NMSetting8021xClass *setting_class)
* Flags indicating how to handle the
* #NMSetting8021x:phase2-private-key-password property.
**/
/* plugins docs
* ---ifcfg-rh---
* property: phase2-private-key-password-flags
* variable: IEEE_8021X_INNER_PRIVATE_KEY_PASSWORD_FLAGS(+)
* description: Password flags for IEEE_8021X_INNER_PRIVATE_KEY_PASSWORD password.
* ---end---
*/
g_object_class_install_property
(object_class, PROP_PHASE2_PRIVATE_KEY_PASSWORD_FLAGS,
g_param_spec_uint (NM_SETTING_802_1X_PHASE2_PRIVATE_KEY_PASSWORD_FLAGS, "", "",
@ -3657,6 +3870,13 @@ nm_setting_802_1x_class_init (NMSetting8021xClass *setting_class)
*
* PIN used for EAP authentication methods.
**/
/* plugins docs
* ---ifcfg-rh---
* property: pin
* variable: (none)
* description: The property is not handled by ifcfg-rh plugin.
* ---end---
*/
g_object_class_install_property
(object_class, PROP_PIN,
g_param_spec_string (NM_SETTING_802_1X_PIN, "", "",
@ -3670,6 +3890,13 @@ nm_setting_802_1x_class_init (NMSetting8021xClass *setting_class)
*
* Flags indicating how to handle the #NMSetting8021x:pin property.
**/
/* plugins docs
* ---ifcfg-rh---
* property: pin-flags
* variable: (none)
* description: The property is not handled by ifcfg-rh plugin.
* ---end---
*/
g_object_class_install_property
(object_class, PROP_PIN_FLAGS,
g_param_spec_uint (NM_SETTING_802_1X_PIN_FLAGS, "", "",
@ -3689,6 +3916,13 @@ nm_setting_802_1x_class_init (NMSetting8021xClass *setting_class)
* addition to any certificates specified by the #NMSetting8021x:ca-cert and
* #NMSetting8021x:phase2-ca-cert properties.
**/
/* plugins docs
* ---ifcfg-rh---
* property: system-ca-certs
* variable: (none)
* description: The property is not handled by ifcfg-rh plugin.
* ---end---
*/
g_object_class_install_property
(object_class, PROP_SYSTEM_CA_CERTS,
g_param_spec_boolean (NM_SETTING_802_1X_SYSTEM_CA_CERTS, "", "",

View file

@ -779,6 +779,13 @@ nm_setting_bond_class_init (NMSettingBondClass *setting_class)
*
* The name of the virtual in-kernel bonding network interface
**/
/* plugins docs
* ---ifcfg-rh---
* property: interface-name
* variable: DEVICE
* description: Bonding interface name.
* ---end---
*/
g_object_class_install_property
(object_class, PROP_INTERFACE_NAME,
g_param_spec_string (NM_SETTING_BOND_INTERFACE_NAME, "", "",
@ -794,6 +801,14 @@ nm_setting_bond_class_init (NMSettingBondClass *setting_class)
* must be strings. Option names must contain only alphanumeric characters
* (ie, [a-zA-Z0-9]).
**/
/* plugins docs
* ---ifcfg-rh---
* property: options
* variable: BONDING_OPTS
* description: Bonding options.
* example: BONDING_OPTS="miimon=100 mode=broadcast"
* ---end---
*/
g_object_class_install_property
(object_class, PROP_OPTIONS,
_nm_param_spec_specialized (NM_SETTING_BOND_OPTIONS, "", "",

View file

@ -260,6 +260,15 @@ nm_setting_bridge_port_class_init (NMSettingBridgePortClass *setting_class)
*
* Since: 0.9.8
**/
/* plugins docs
* ---ifcfg-rh---
* property: priority
* variable: BRIDGING_OPTS: priority=
* values: 0 - 63
* default: 32
* description: STP priority.
* ---end---
*/
g_object_class_install_property
(object_class, PROP_PRIORITY,
g_param_spec_uint (NM_SETTING_BRIDGE_PORT_PRIORITY, "", "",
@ -277,6 +286,15 @@ nm_setting_bridge_port_class_init (NMSettingBridgePortClass *setting_class)
*
* Since: 0.9.8
**/
/* plugins docs
* ---ifcfg-rh---
* property: path-cost
* variable: BRIDGING_OPTS: path_cost=
* values: 1 - 65535
* default: 100
* description: STP cost.
* ---end---
*/
g_object_class_install_property
(object_class, PROP_PATH_COST,
g_param_spec_uint (NM_SETTING_BRIDGE_PORT_PATH_COST, "", "",
@ -294,6 +312,14 @@ nm_setting_bridge_port_class_init (NMSettingBridgePortClass *setting_class)
*
* Since: 0.9.8
**/
/* plugins docs
* ---ifcfg-rh---
* property: hairpin-mode
* variable: BRIDGING_OPTS: hairpin_mode=
* default: yes
* description: Hairpin mode of the bridge port.
* ---end---
*/
g_object_class_install_property
(object_class, PROP_HAIRPIN_MODE,
g_param_spec_boolean (NM_SETTING_BRIDGE_PORT_HAIRPIN_MODE, "", "",

View file

@ -451,6 +451,13 @@ nm_setting_bridge_class_init (NMSettingBridgeClass *setting_class)
*
* Since: 0.9.8
**/
/* plugins docs
* ---ifcfg-rh---
* property: interface-name
* variable: DEVICE
* description: Bridge interface name.
* ---end---
*/
g_object_class_install_property
(object_class, PROP_INTERFACE_NAME,
g_param_spec_string (NM_SETTING_BRIDGE_INTERFACE_NAME, "", "",
@ -468,6 +475,23 @@ nm_setting_bridge_class_init (NMSettingBridgeClass *setting_class)
*
* Since: 0.9.10
**/
/* plugins docs
* ---keyfile---
* property: mac-address
* format: ususal hex-digits-and-colons notation
* description: MAC address in traditional hex-digits-and-colons notation,
* or semicolon separated list of 6 decimal bytes (obsolete)
* example: mac-address=00:22:68:12:79:A2
* mac-address=0;34;104;18;121;162;
* ---end---
* ---ifcfg-rh---
* property: mac-address
* variable: MACADDR(+)
* description: MAC address of the bridge. Note that this requires a recent
* kernel support, originally introduced in 3.15 upstream kernel)
* MACADDR for bridges is an NM extension.
* ---end---
*/
g_object_class_install_property
(object_class, PROP_MAC_ADDRESS,
_nm_param_spec_specialized (NM_SETTING_BRIDGE_MAC_ADDRESS, "", "",
@ -483,6 +507,14 @@ nm_setting_bridge_class_init (NMSettingBridgeClass *setting_class)
*
* Since: 0.9.8
**/
/* plugins docs
* ---ifcfg-rh---
* property: stp
* variable: STP
* default: no
* description: Span tree protocol participation.
* ---end---
*/
g_object_class_install_property
(object_class, PROP_STP,
g_param_spec_boolean (NM_SETTING_BRIDGE_STP, "", "",
@ -501,6 +533,15 @@ nm_setting_bridge_class_init (NMSettingBridgeClass *setting_class)
*
* Since: 0.9.8
**/
/* plugins docs
* ---ifcfg-rh---
* property: priority
* variable: BRIDGING_OPTS: priority=
* values: 0 - 32768
* default: 32768
* description: STP priority.
* ---end---
*/
g_object_class_install_property
(object_class, PROP_PRIORITY,
g_param_spec_uint (NM_SETTING_BRIDGE_PRIORITY, "", "",
@ -517,6 +558,15 @@ nm_setting_bridge_class_init (NMSettingBridgeClass *setting_class)
*
* Since: 0.9.8
**/
/* plugins docs
* ---ifcfg-rh---
* property: forward-delay
* variable: DELAY
* values: 2 - 30
* default: 15
* description: STP forwarding delay.
* ---end---
*/
g_object_class_install_property
(object_class, PROP_FORWARD_DELAY,
g_param_spec_uint (NM_SETTING_BRIDGE_FORWARD_DELAY, "", "",
@ -533,6 +583,15 @@ nm_setting_bridge_class_init (NMSettingBridgeClass *setting_class)
*
* Since: 0.9.8
**/
/* plugins docs
* ---ifcfg-rh---
* property: hello-time
* variable: BRIDGING_OPTS: hello_time=
* values: 1 - 10
* default: 2
* description: STP hello time.
* ---end---
*/
g_object_class_install_property
(object_class, PROP_HELLO_TIME,
g_param_spec_uint (NM_SETTING_BRIDGE_HELLO_TIME, "", "",
@ -549,6 +608,15 @@ nm_setting_bridge_class_init (NMSettingBridgeClass *setting_class)
*
* Since: 0.9.8
**/
/* plugins docs
* ---ifcfg-rh---
* property: max-age
* variable: BRIDGING_OPTS: max_age=
* values: 6 - 40
* default: 20
* description: STP maximum message age.
* ---end---
*/
g_object_class_install_property
(object_class, PROP_MAX_AGE,
g_param_spec_uint (NM_SETTING_BRIDGE_MAX_AGE, "", "",
@ -565,6 +633,15 @@ nm_setting_bridge_class_init (NMSettingBridgeClass *setting_class)
*
* Since: 0.9.8
**/
/* plugins docs
* ---ifcfg-rh---
* property: ageing-time
* variable: BRIDGING_OPTS: ageing_time=
* values: 0 - 1000000
* default: 300
* description: Ethernet MAC ageing time.
* ---end---
*/
g_object_class_install_property
(object_class, PROP_AGEING_TIME,
g_param_spec_uint (NM_SETTING_BRIDGE_AGEING_TIME, "", "",

View file

@ -1102,6 +1102,13 @@ nm_setting_connection_class_init (NMSettingConnectionClass *setting_class)
* A human readable unique identifier for the connection, like "Work Wi-Fi"
* or "T-Mobile 3G".
**/
/* plugins docs
* ---ifcfg-rh---
* property: id
* variable: NAME(+)
* description: User friendly name for the connection profile.
* ---end---
*/
g_object_class_install_property
(object_class, PROP_ID,
g_param_spec_string (NM_SETTING_CONNECTION_ID, "", "",
@ -1126,6 +1133,14 @@ nm_setting_connection_class_init (NMSettingConnectionClass *setting_class)
* be generated by nm_utils_uuid_generate() or
* nm_utils_uuid_generate_from_string().
**/
/* plugins docs
* ---ifcfg-rh---
* property: uuid
* variable: UUID(+)
* description: UUID for the connetcion profile. When missing NetworkManager
* creates the UUID itself (by hashing the file).
* ---end---
*/
g_object_class_install_property
(object_class, PROP_UUID,
g_param_spec_string (NM_SETTING_CONNECTION_UUID, "", "",
@ -1151,6 +1166,15 @@ nm_setting_connection_class_init (NMSettingConnectionClass *setting_class)
*
* Since: 0.9.10
**/
/* plugins docs
* ---ifcfg-rh---
* property: interface-name
* variable: DEVICE
* description: Interface name of the device this profile is bound to. The variable
* can be left out when the profile should apply for more devices. Note that DEVICE
* can be required for some connection types.
* ---end---
*/
g_object_class_install_property
(object_class, PROP_INTERFACE_NAME,
g_param_spec_string (NM_SETTING_CONNECTION_INTERFACE_NAME, "", "",
@ -1168,6 +1192,16 @@ nm_setting_connection_class_init (NMSettingConnectionClass *setting_class)
* non-hardware dependent connections like VPN or otherwise, should contain
* the setting name of that setting type (ie, "vpn" or "bridge", etc).
**/
/* plugins docs
* ---ifcfg-rh---
* property: type
* variable: TYPE (DEVICETYPE, DEVICE)
* values: Ethernet, Wireless, InfiniBand, Bridge, Bond, Vlan, Team, TeamPort
* description: Base type of the connection. DEVICETYPE is used for teaming
* connections.
* example: TYPE=Ethernet; TYPE=Bond; TYPE=Bridge; DEVICETYPE=TeamPort
* ---end---
*/
g_object_class_install_property
(object_class, PROP_TYPE,
g_param_spec_string (NM_SETTING_CONNECTION_TYPE, "", "",
@ -1191,6 +1225,15 @@ nm_setting_connection_class_init (NMSettingConnectionClass *setting_class)
* [reserved] information present must be ignored and is reserved for future
* use. All of [type], [id], and [reserved] must be valid UTF-8.
*/
/* plugins docs
* ---ifcfg-rh---
* property: permissions
* variable: USERS(+)
* description: USERS restrict the access for this conenction to certain
* users only.
* example: USERS="joe bob"
* ---end---
*/
g_object_class_install_property
(object_class, PROP_PERMISSIONS,
_nm_param_spec_specialized (NM_SETTING_CONNECTION_PERMISSIONS, "", "",
@ -1206,6 +1249,14 @@ nm_setting_connection_class_init (NMSettingConnectionClass *setting_class)
* %TRUE to automatically activate the connection, %FALSE to require manual
* intervention to activate the connection.
**/
/* plugins docs
* ---ifcfg-rh---
* property: autoconnect
* variable: ONBOOT
* default: yes
* description: Whether the connection should be autoconnected (not only while booting).
* ---end---
*/
g_object_class_install_property
(object_class, PROP_AUTOCONNECT,
g_param_spec_boolean (NM_SETTING_CONNECTION_AUTOCONNECT, "", "",
@ -1259,6 +1310,15 @@ nm_setting_connection_class_init (NMSettingConnectionClass *setting_class)
* the connection will be placed in the default zone as defined by the
* firewall.
**/
/* plugins docs
* ---ifcfg-rh---
* property: zone
* variable: ZONE(+)
* description: Trust level of this connection. The string is usually used
* for a firewall.
* example: ZONE=Work
* ---end---
*/
g_object_class_install_property
(object_class, PROP_ZONE,
g_param_spec_string (NM_SETTING_CONNECTION_ZONE, "", "",
@ -1273,6 +1333,14 @@ nm_setting_connection_class_init (NMSettingConnectionClass *setting_class)
*
* Interface name of the master device or UUID of the master connection.
**/
/* plugins docs
* ---ifcfg-rh---
* property: master
* variable: MASTER, TEAM_MASTER, BRIDGE
* description: Reference to master connection. The variable used depends on
* the connection type.
* ---end---
*/
g_object_class_install_property
(object_class, PROP_MASTER,
g_param_spec_string (NM_SETTING_CONNECTION_MASTER, "", "",
@ -1289,6 +1357,15 @@ nm_setting_connection_class_init (NMSettingConnectionClass *setting_class)
* %NM_SETTING_BOND_SETTING_NAME), or %NULL if this connection is not a
* slave.
**/
/* plugins docs
* ---ifcfg-rh---
* property: slave-type
* variable: MASTER, TEAM_MASTER, DEVICETYPE, BRIDGE
* description: Slave type doesn't map directly to a variable, but it is
* recognized using different variables. MASTER for bonding,
* TEAM_MASTER and DEVICETYPE for teaming, BRIDGE for bridging.
* ---end---
*/
g_object_class_install_property
(object_class, PROP_SLAVE_TYPE,
g_param_spec_string (NM_SETTING_CONNECTION_SLAVE_TYPE, "", "",
@ -1307,6 +1384,14 @@ nm_setting_connection_class_init (NMSettingConnectionClass *setting_class)
*
* Since: 0.9.8
**/
/* plugins docs
* ---ifcfg-rh---
* property: secondaries
* variable: SECONDARY_UUIDS(+)
* description: UUID of VPN connections that should be activated
* together with this connection.
* ---end---
*/
g_object_class_install_property
(object_class, PROP_SECONDARIES,
_nm_param_spec_specialized (NM_SETTING_CONNECTION_SECONDARIES, "", "",
@ -1323,6 +1408,16 @@ nm_setting_connection_class_init (NMSettingConnectionClass *setting_class)
*
* Since: 0.9.10
**/
/* plugins docs
* ---ifcfg-rh---
* property: gateway-ping-timeout
* variable: GATEWAY_PING_TIMEOUT(+)
* default: 0
* description: If greater than zero, the IP connectivity will be checked by
* pinging the gateway and waiting for the specified timeout (in seconds).
* example: GATEWAY_PING_TIMEOUT=5
* ---end---
*/
g_object_class_install_property
(object_class, PROP_GATEWAY_PING_TIMEOUT,
g_param_spec_uint (NM_SETTING_CONNECTION_GATEWAY_PING_TIMEOUT, "", "",

View file

@ -965,6 +965,15 @@ nm_setting_dcb_class_init (NMSettingDcbClass *setting_class)
*
* Since: 0.9.10
**/
/* plugins docs
* ---ifcfg-rh---
* property: app-fcoe-flags
* variable: DCB_APP_FCOE_ENABLE, DCB_APP_FCOE_ADVERTISE, DCB_APP_FCOE_WILLING
* description: FCOE flags.
* default: no
* example: DCB_APP_FCOE_ENABLE=yes DCB_APP_FCOE_ADVERTISE=yes
* ---end---
*/
g_object_class_install_property
(object_class, PROP_APP_FCOE_FLAGS,
g_param_spec_uint (NM_SETTING_DCB_APP_FCOE_FLAGS, "", "",
@ -981,6 +990,14 @@ nm_setting_dcb_class_init (NMSettingDcbClass *setting_class)
*
* Since: 0.9.10
**/
/* plugins docs
* ---ifcfg-rh---
* property: app-fcoe-priority
* variable: DCB_APP_FCOE_PRIORITY
* values: 0 - 7
* description: Priority of FCoE frames.
* ---end---
*/
g_object_class_install_property
(object_class, PROP_APP_FCOE_PRIORITY,
g_param_spec_int (NM_SETTING_DCB_APP_FCOE_PRIORITY, "", "",
@ -997,6 +1014,15 @@ nm_setting_dcb_class_init (NMSettingDcbClass *setting_class)
*
* Since: 0.9.10
**/
/* plugins docs
* ---ifcfg-rh---
* property: app-fcoe-mode
* variable: DCB_APP_FCOE_MODE
* values: fabric, vn2vn
* default: fabric
* description: FCoE controller mode.
* ---end---
*/
g_object_class_install_property
(object_class, PROP_APP_FCOE_MODE,
g_param_spec_string (NM_SETTING_DCB_APP_FCOE_MODE, "", "",
@ -1014,6 +1040,14 @@ nm_setting_dcb_class_init (NMSettingDcbClass *setting_class)
*
* Since: 0.9.10
**/
/* plugins docs
* ---ifcfg-rh---
* property: app-iscsi-flags
* variable: DCB_APP_ISCSI_ENABLE, DCB_APP_ISCSI_ADVERTISE, DCB_APP_ISCSI_WILLING
* default: no
* description: iSCSI flags.
* ---end---
*/
g_object_class_install_property
(object_class, PROP_APP_ISCSI_FLAGS,
g_param_spec_uint (NM_SETTING_DCB_APP_ISCSI_FLAGS, "", "",
@ -1030,6 +1064,14 @@ nm_setting_dcb_class_init (NMSettingDcbClass *setting_class)
*
* Since: 0.9.10
**/
/* plugins docs
* ---ifcfg-rh---
* property: app-iscsi-priority
* variable: DCB_APP_ISCSI_PRIORITY
* values: 0 - 7
* description: Priority of iSCSI frames.
* ---end---
*/
g_object_class_install_property
(object_class, PROP_APP_ISCSI_PRIORITY,
g_param_spec_int (NM_SETTING_DCB_APP_ISCSI_PRIORITY, "", "",
@ -1047,6 +1089,14 @@ nm_setting_dcb_class_init (NMSettingDcbClass *setting_class)
*
* Since: 0.9.10
**/
/* plugins docs
* ---ifcfg-rh---
* property: app-fip-flags
* variable: DCB_APP_FIP_ENABLE, DCB_APP_FIP_ADVERTISE, DCB_APP_FIP_WILLING
* default: no
* description: FIP flags.
* ---end---
*/
g_object_class_install_property
(object_class, PROP_APP_FIP_FLAGS,
g_param_spec_uint (NM_SETTING_DCB_APP_FIP_FLAGS, "", "",
@ -1063,6 +1113,14 @@ nm_setting_dcb_class_init (NMSettingDcbClass *setting_class)
*
* Since: 0.9.10
**/
/* plugins docs
* ---ifcfg-rh---
* property: app-fip-priority
* variable: DCB_APP_FIP_PRIORITY
* values: 0 - 7
* description: Priority of FIP frames.
* ---end---
*/
g_object_class_install_property
(object_class, PROP_APP_FIP_PRIORITY,
g_param_spec_int (NM_SETTING_DCB_APP_FIP_PRIORITY, "", "",
@ -1080,6 +1138,14 @@ nm_setting_dcb_class_init (NMSettingDcbClass *setting_class)
*
* Since: 0.9.10
**/
/* plugins docs
* ---ifcfg-rh---
* property: priority-flow-control-flags
* variable: DCB_PFC_ENABLE, DCB_PFC_ADVERTISE, DCB_PFC_WILLING
* default: no
* description: Priority flow control flags.
* ---end---
*/
g_object_class_install_property
(object_class, PROP_PFC_FLAGS,
g_param_spec_uint (NM_SETTING_DCB_PRIORITY_FLOW_CONTROL_FLAGS, "", "",
@ -1097,6 +1163,15 @@ nm_setting_dcb_class_init (NMSettingDcbClass *setting_class)
*
* Since: 0.9.10
**/
/* plugins docs
* ---ifcfg-rh---
* property: priority-flow-control
* variable: DCB_PFC_UP
* description: Priority flow control values. String of 8 "0" and "1", where "0".
* means "do not transmit priority pause", "1" means "transmit pause".
* example: DCB_PFC_UP=01101110
* ---end---
*/
g_object_class_install_property
(object_class, PROP_PFC,
_nm_param_spec_specialized (NM_SETTING_DCB_PRIORITY_FLOW_CONTROL, "", "",
@ -1113,6 +1188,14 @@ nm_setting_dcb_class_init (NMSettingDcbClass *setting_class)
*
* Since: 0.9.10
**/
/* plugins docs
* ---ifcfg-rh---
* property: priority-group-flags
* variable: DCB_PG_ENABLE, DCB_PG_ADVERTISE, DCB_PG_WILLING
* default: no
* description: Priority groups flags.
* ---end---
*/
g_object_class_install_property
(object_class, PROP_PRIORITY_GROUP_FLAGS,
g_param_spec_uint (NM_SETTING_DCB_PRIORITY_GROUP_FLAGS, "", "",
@ -1129,6 +1212,15 @@ nm_setting_dcb_class_init (NMSettingDcbClass *setting_class)
*
* Since: 0.9.10
**/
/* plugins docs
* ---ifcfg-rh---
* property: priority-group-id
* variable: DCB_PG_ID
* description: Priority groups values. String of eight priorities (0 - 7) or "f"
* (unrestricted).
* example: DCB_PG_ID=1205f173
* ---end---
*/
g_object_class_install_property
(object_class, PROP_PRIORITY_GROUP_ID,
_nm_param_spec_specialized (NM_SETTING_DCB_PRIORITY_GROUP_ID, "", "",
@ -1146,6 +1238,14 @@ nm_setting_dcb_class_init (NMSettingDcbClass *setting_class)
*
* Since: 0.9.10
**/
/* plugins docs
* ---ifcfg-rh---
* property: priority-group-bandwidth
* variable: DCB_PG_PCT
* description: Priority groups values. Eight bandwidths (in percent), separated with commas.
* example: DCB_PG_PCT=10,5,10,15,10,10,10,30
* ---end---
*/
g_object_class_install_property
(object_class, PROP_PRIORITY_GROUP_BANDWIDTH,
_nm_param_spec_specialized (NM_SETTING_DCB_PRIORITY_GROUP_BANDWIDTH, "", "",
@ -1164,6 +1264,15 @@ nm_setting_dcb_class_init (NMSettingDcbClass *setting_class)
*
* Since: 0.9.10
**/
/* plugins docs
* ---ifcfg-rh---
* property: priority-bandwidth
* variable: DCB_PG_UPPCT
* description: Priority values. Eight bandwidths (in percent), separated with commas.
* The sum of the numbers must be 100.
* example: DCB_PG_UPPCT=7,13,10,10,15,15,10,20
* ---end---
*/
g_object_class_install_property
(object_class, PROP_PRIORITY_BANDWIDTH,
_nm_param_spec_specialized (NM_SETTING_DCB_PRIORITY_BANDWIDTH, "", "",
@ -1182,6 +1291,15 @@ nm_setting_dcb_class_init (NMSettingDcbClass *setting_class)
*
* Since: 0.9.10
**/
/* plugins docs
* ---ifcfg-rh---
* property: priority-strict-bandwidth
* variable: DCB_PG_STRICT
* description: Priority values. String of eight "0" or "1", where "0" means
* "may not utilize all bandwidth", "1" means "may utilize all bandwidth".
* example: DCB_PG_STRICT=01101110
* ---end---
*/
g_object_class_install_property
(object_class, PROP_PRIORITY_STRICT,
_nm_param_spec_specialized (NM_SETTING_DCB_PRIORITY_STRICT_BANDWIDTH, "", "",
@ -1198,6 +1316,14 @@ nm_setting_dcb_class_init (NMSettingDcbClass *setting_class)
*
* Since: 0.9.10
**/
/* plugins docs
* ---ifcfg-rh---
* property: priority-traffic-class
* variable: DCB_PG_UP2TC
* description: Priority values. String of eight trafic class values (0 - 7).
* example: DCB_PG_UP2TC=01623701
* ---end---
*/
g_object_class_install_property
(object_class, PROP_PRIORITY_TRAFFIC_CLASS,
_nm_param_spec_specialized (NM_SETTING_DCB_PRIORITY_TRAFFIC_CLASS, "", "",

View file

@ -398,6 +398,22 @@ nm_setting_infiniband_class_init (NMSettingInfinibandClass *setting_class)
* permanent MAC address matches. This property does not change the MAC
* address of the device (i.e. MAC spoofing).
**/
/* plugins docs
* ---keyfile---
* property: mac-address
* format: ususal hex-digits-and-colons notation
* description: MAC address in traditional hex-digits-and-colons notation, or
* or semicolon separated list of 20 decimal bytes (obsolete)
* example: mac-address= 80:00:00:6d:fe:80:00:00:00:00:00:00:00:02:55:00:70:33:cf:01
* ---end---
* ---ifcfg-rh---
* property: mac-address
* variable: HWADDR
* description: IBoIP 20-byte hardware address of the device (in traditional
* hex-digits-and-colons notation).
* example: HWADDR=01:02:03:04:05:06:07:08:09:0A:01:02:03:04:05:06:07:08:09:11
* ---end---
*/
g_object_class_install_property
(object_class, PROP_MAC_ADDRESS,
_nm_param_spec_specialized (NM_SETTING_INFINIBAND_MAC_ADDRESS, "", "",
@ -412,6 +428,13 @@ nm_setting_infiniband_class_init (NMSettingInfinibandClass *setting_class)
* If non-zero, only transmit packets of the specified size or smaller,
* breaking larger packets up into multiple frames.
**/
/* = plugins docs =
* ---ifcfg-rh---
* property: mtu
* variable: MTU
* description: MTU of the interface.
* ---end---
*/
g_object_class_install_property
(object_class, PROP_MTU,
g_param_spec_uint (NM_SETTING_INFINIBAND_MTU, "", "",
@ -427,6 +450,15 @@ nm_setting_infiniband_class_init (NMSettingInfinibandClass *setting_class)
* The IP-over-InfiniBand transport mode. Either "datagram" or
* "connected".
**/
/* = plugins docs =
* ---ifcfg-rh---
* property: transport-mode
* variable: CONNECTED_MODE
* default: CONNECTED_MODE=no
* description: CONNECTED_MODE=yes for "connected" mode, CONNECTED_MODE=no for
* "datagram" mode
* ---end---
*/
g_object_class_install_property
(object_class, PROP_TRANSPORT_MODE,
g_param_spec_string (NM_SETTING_INFINIBAND_TRANSPORT_MODE, "", "",
@ -444,6 +476,17 @@ nm_setting_infiniband_class_init (NMSettingInfinibandClass *setting_class)
* unsigned integer, whose high bit is set if it is a "full membership"
* P_Key.
**/
/* = plugins docs =
* ---ifcfg-rh---
* property: p-key
* variable: PKEY_ID (and PKEY=yes)
* default: PKEY=no
* description: InfiniBand P_Key. The value can be a hex number prefixed with "0x"
* or a decimal number.
* When PKEY_ID is specified, PHYSDEV and DEVICE also must be specified.
* example: PKEY=yes PKEY_ID=2 PHYSDEV=mlx4_ib0 DEVICE=mlx4_ib0.8002
* ---end---
*/
g_object_class_install_property
(object_class, PROP_P_KEY,
g_param_spec_int (NM_SETTING_INFINIBAND_P_KEY, "", "",
@ -461,6 +504,15 @@ nm_setting_infiniband_class_init (NMSettingInfinibandClass *setting_class)
* specify the base device by setting either this property or
* #NMSettingInfiniband:mac-address.
**/
/* = plugins docs =
* ---ifcfg-rh---
* property: parent
* variable: PHYSDEV (PKEY=yes)
* default: PKEY=no
* description: InfiniBand parent device.
* example: PHYSDEV=ib0
* ---end---
*/
g_object_class_install_property
(object_class, PROP_PARENT,
g_param_spec_string (NM_SETTING_INFINIBAND_PARENT, "", "",

View file

@ -1128,6 +1128,16 @@ nm_setting_ip4_config_class_init (NMSettingIP4ConfigClass *setting_class)
* connection. "disabled" means IPv4 will not be used on this connection.
* This property must be set.
**/
/* plugins docs
* ---ifcfg-rh---
* property: method
* variable: BOOTPROTO
* format: string
* values: none, dhcp (bootp), static, ibft, autoip, shared
* default: none
* description: Method used for IPv4 protocol configuration.
* ---end---
*/
g_object_class_install_property
(object_class, PROP_METHOD,
g_param_spec_string (NM_SETTING_IP4_CONFIG_METHOD, "", "",
@ -1146,6 +1156,22 @@ nm_setting_ip4_config_class_init (NMSettingIP4ConfigClass *setting_class)
* all other methods, these DNS servers are used as the only DNS servers for
* this connection.
**/
/* plugins docs
* ---keyfile---
* property: dns
* format: list of DNS IP addresses
* description: List of DNS servers.
* example: dns=1.2.3.4;8.8.8.8;8.8.4.4;
* ---end---
* ---ifcfg-rh---
* property: dns
* variable: DNS1, DNS2, ...
* format: string
* description: List of DNS servers. Even if NetworkManager supports many DNS
* servers, initscripts and resolver only care about the first three, usually.
* example: DNS1=1.2.3.4 DNS2=10.0.0.254 DNS3=8.8.8.8
* ---end---
*/
g_object_class_install_property
(object_class, PROP_DNS,
_nm_param_spec_specialized (NM_SETTING_IP4_CONFIG_DNS, "", "",
@ -1162,6 +1188,14 @@ nm_setting_ip4_config_class_init (NMSettingIP4ConfigClass *setting_class)
* there is no upstream network. In all other methods, these search domains
* are used as the only search domains for this connection.
**/
/* plugins docs
* ---ifcfg-rh---
* property: dns-search
* variable: DOMAIN
* format: string (space-separated domains)
* description: List of DNS search domains.
* ---end---
*/
g_object_class_install_property
(object_class, PROP_DNS_SEARCH,
_nm_param_spec_specialized (NM_SETTING_IP4_CONFIG_DNS_SEARCH, "", "",
@ -1181,6 +1215,22 @@ nm_setting_ip4_config_class_init (NMSettingIP4ConfigClass *setting_class)
* with the "shared", "link-local", or "disabled" methods as addressing is
* either automatic or disabled with these methods.
**/
/* plugins docs
* ---keyfile---
* property: addresses
* variable: address1, address2, ...
* format: address/plen[,gateway]
* description: List of static IP addresses.
* example: address1=192.168.100.100/24,192.168.100.1
* address2=10.1.1.5/24
* ---end---
* ---ifcfg-rh---
* property: addresses
* variable: IPADDR, PREFIX, GATEWAY, IPADDR1, PREFIX1, GATEWAY1, ...
* description: List of static IP addresses.
* example: IPADDR 10.5.5.23 PREFIX=24 GATEWAY=10.5.5.1
* ---end---
*/
g_object_class_install_property
(object_class, PROP_ADDRESSES,
_nm_param_spec_specialized (NM_SETTING_IP4_CONFIG_ADDRESSES, "", "",
@ -1201,6 +1251,22 @@ nm_setting_ip4_config_class_init (NMSettingIP4ConfigClass *setting_class)
* Routes cannot be used with the "shared", "link-local", or "disabled"
* methods because there is no upstream network.
**/
/* plugins docs
* ---keyfile---
* property: routes
* variable: route1, route2, ...
* format: route/plen[,gateway,metric]
* description: List of IP routes.
* example: route1=8.8.8.0/24,10.1.1.1,77
* route2=7.7.0.0/16
* ---end---
* ---ifcfg-rh---
* property: routes
* variable: ADDRESS1, NETMASK1, GATEWAY1, METRIC1, ...
* description: List of static routes. They are not stored in ifcfg-* file,
* but in route-* file instead.
* ---end---
*/
g_object_class_install_property
(object_class, PROP_ROUTES,
_nm_param_spec_specialized (NM_SETTING_IP4_CONFIG_ROUTES, "", "",
@ -1216,6 +1282,14 @@ nm_setting_ip4_config_class_init (NMSettingIP4ConfigClass *setting_class)
* automatically configured routes are ignored and only routes specified in
* the #NMSettingIP4Config:routes property, if any, are used.
**/
/* plugins docs
* ---ifcfg-rh---
* property: ignore-auto-routes
* variable: PEERROUTES(+)
* default: yes
* description: PEERROUTES has the opposite meaning as 'ignore-auto-routes' property.
* ---end---
*/
g_object_class_install_property
(object_class, PROP_IGNORE_AUTO_ROUTES,
g_param_spec_boolean (NM_SETTING_IP4_CONFIG_IGNORE_AUTO_ROUTES, "", "",
@ -1233,6 +1307,14 @@ nm_setting_ip4_config_class_init (NMSettingIP4ConfigClass *setting_class)
* #NMSettingIP4Config:dns and #NMSettingIP4Config:dns-search properties, if
* any, are used.
**/
/* plugins docs
* ---ifcfg-rh---
* property: ignore-auto-dns
* variable: PEERDNS
* default: yes
* description: PEERDNS has the opposite meaning as 'ignore-auto-dns' property.
* ---end---
*/
g_object_class_install_property
(object_class, PROP_IGNORE_AUTO_DNS,
g_param_spec_boolean (NM_SETTING_IP4_CONFIG_IGNORE_AUTO_DNS, "", "",
@ -1247,6 +1329,14 @@ nm_setting_ip4_config_class_init (NMSettingIP4ConfigClass *setting_class)
* A string sent to the DHCP server to identify the local machine which the
* DHCP server may use to customize the DHCP lease and options.
**/
/* plugins docs
* ---ifcfg-rh---
* property: dhcp-client-id
* variable: DHCP_CLIENT_ID(+)
* description: A string sent to the DHCP server to identify the local machine.
* example: DHCP_CLIENT_ID=ax-srv-1
* ---end---
*/
g_object_class_install_property
(object_class, PROP_DHCP_CLIENT_ID,
g_param_spec_string (NM_SETTING_IP4_CONFIG_DHCP_CLIENT_ID, "", "",
@ -1263,6 +1353,14 @@ nm_setting_ip4_config_class_init (NMSettingIP4ConfigClass *setting_class)
* #NMSettingIP4Config:dhcp-hostname property is empty and this property is
* %TRUE, the current persistent hostname of the computer is sent.
**/
/* plugins docs
* ---ifcfg-rh---
* property: dhcp-send-hostname
* variable: DHCP_SEND_HOSTNAME(+)
* default: yes
* description: Whether DHCP_HOSTNAME should be sent to the DHCP server.
* ---end---
*/
g_object_class_install_property
(object_class, PROP_DHCP_SEND_HOSTNAME,
g_param_spec_boolean (NM_SETTING_IP4_CONFIG_DHCP_SEND_HOSTNAME, "", "",
@ -1277,6 +1375,13 @@ nm_setting_ip4_config_class_init (NMSettingIP4ConfigClass *setting_class)
* If the #NMSettingIP4Config:dhcp-send-hostname property is %TRUE, then the
* specified name will be sent to the DHCP server when acquiring a lease.
**/
/* plugins docs
* ---ifcfg-rh---
* property: dhcp-hostname
* variable: DHCP_HOSTNAME
* description: Hostname to send to the DHCP server.
* ---end---
*/
g_object_class_install_property
(object_class, PROP_DHCP_HOSTNAME,
g_param_spec_string (NM_SETTING_IP4_CONFIG_DHCP_HOSTNAME, "", "",
@ -1291,6 +1396,16 @@ nm_setting_ip4_config_class_init (NMSettingIP4ConfigClass *setting_class)
* If %TRUE, this connection will never be the default IPv4 connection,
* meaning it will never be assigned the default route by NetworkManager.
**/
/* plugins docs
* ---ifcfg-rh---
* property: never-default
* variable: DEFROUTE (GATEWAYDEV in /etc/sysconfig/network)
* default: yes
* description: DEFROUTE=no tells NetworkManager that this connection
* should not be assigned the default route. DEFROUTE has the opposite
* meaning as 'never-default' property.
* ---end---
*/
g_object_class_install_property
(object_class, PROP_NEVER_DEFAULT,
g_param_spec_boolean (NM_SETTING_IP4_CONFIG_NEVER_DEFAULT, "", "",
@ -1309,6 +1424,14 @@ nm_setting_ip4_config_class_init (NMSettingIP4ConfigClass *setting_class)
* network configuration to succeed if IPv4 configuration fails but IPv6
* configuration completes successfully.
**/
/* plugins docs
* ---ifcfg-rh---
* property: may-fail
* variable: IPV4_FAILURE_FATAL(+)
* default: no
* description: IPV4_FAILURE_FATAL has the opposite meaning as 'may-fail' property.
* ---end---
*/
g_object_class_install_property
(object_class, PROP_MAY_FAIL,
g_param_spec_boolean (NM_SETTING_IP4_CONFIG_MAY_FAIL, "", "",

View file

@ -1027,6 +1027,15 @@ nm_setting_ip6_config_class_init (NMSettingIP6ConfigClass *setting_class)
* not done. This property must be set. Note: the "shared" method is not
* yet supported.
**/
/* plugins docs
* ---ifcfg-rh---
* property: method
* variable: IPV6INIT, IPV6FORWARDING, IPV6_AUTOCONF, DHCPV6C
* default: IPV6INIT=yes; IPV6FORWARDING=no; IPV6_AUTOCONF=!IPV6FORWARDING, DHCPV6=no
* description: Method used for IPv4 protocol configuration.
* ignore ~ IPV6INIT=no; auto ~ IPV6_AUTOCONF=yes; dhcp ~ IPV6_AUTOCONF=no and DHCPV6C=yes
* ---end---
*/
g_object_class_install_property
(object_class, PROP_METHOD,
g_param_spec_string (NM_SETTING_IP6_CONFIG_METHOD, "", "",
@ -1043,6 +1052,13 @@ nm_setting_ip6_config_class_init (NMSettingIP6ConfigClass *setting_class)
*
* Since: 0.9.8
**/
/* plugins docs
* ---ifcfg-rh---
* property: dhcp-hostname
* variable: DHCP_HOSTNAME
* description: Hostname to send the DHCP server.
* ---end---
*/
g_object_class_install_property
(object_class, PROP_DHCP_HOSTNAME,
g_param_spec_string (NM_SETTING_IP6_CONFIG_DHCP_HOSTNAME, "", "",
@ -1061,6 +1077,21 @@ nm_setting_ip6_config_class_init (NMSettingIP6ConfigClass *setting_class)
* other methods, these DNS servers are used as the only DNS servers for
* this connection.
**/
/* plugins docs
* ---keyfile---
* property: dns
* format: list of DNS IP addresses
* description: List of DNS servers.
* example: dns=2001:4860:4860::8888;2001:4860:4860::8844;
* ---end---
* ---ifcfg-rh---
* property: dns
* variable: DNS1, DNS2, ...
* format: string
* description: List of DNS servers. NetworkManager uses the variables both
* for IPv4 and IPv6.
* ---end---
*/
g_object_class_install_property
(object_class, PROP_DNS,
_nm_param_spec_specialized (NM_SETTING_IP6_CONFIG_DNS, "", "",
@ -1098,6 +1129,20 @@ nm_setting_ip6_config_class_init (NMSettingIP6ConfigClass *setting_class)
* "shared" or "link-local" methods as the interface is automatically
* assigned an address with these methods.
**/
/* plugins docs
* ---keyfile---
* property: addresses
* variable: address1, address2, ...
* format: address/plen[,gateway]
* description: List of static IP addresses.
* example: address1=abbe::cafe/96,abbe::1
* ---end---
* ---ifcfg-rh---
* property: addresses
* variable: IPV6ADDR, IPV6_DEFAULTGW, IPV6ADDR_SECONDARIES
* description: List of static IP addresses.
* ---end---
*/
g_object_class_install_property
(object_class, PROP_ADDRESSES,
_nm_param_spec_specialized (NM_SETTING_IP6_CONFIG_ADDRESSES, "", "",
@ -1118,6 +1163,21 @@ nm_setting_ip6_config_class_init (NMSettingIP6ConfigClass *setting_class)
* automatic configuration. Routes cannot be used with the "shared" or
* "link-local" methods because there is no upstream network.
**/
/* plugins docs
* ---keyfile---
* property: routes
* variable: route1, route2, ...
* format: route/plen[,gateway,metric]
* description: List of IP routes.
* example: route1=2001:4860:4860::/64,2620:52:0:2219:222:68ff:fe11:5403
* ---end---
* ---ifcfg-rh---
* property: routes
* variable: (none)
* description: List of static routes. They are not stored in ifcfg-* file,
* but in route6-* file instead in the form of command line for 'ip route add'.
* ---end---
*/
g_object_class_install_property
(object_class, PROP_ROUTES,
_nm_param_spec_specialized (NM_SETTING_IP6_CONFIG_ROUTES, "", "",
@ -1133,6 +1193,14 @@ nm_setting_ip6_config_class_init (NMSettingIP6ConfigClass *setting_class)
* %TRUE, automatically configured routes are ignored and only routes
* specified in the #NMSettingIP6Config:routes property, if any, are used.
**/
/* plugins docs
* ---ifcfg-rh---
* property: ignore-auto-routes
* variable: IPV6_PEERROUTES(+)
* default: yes
* description: IPV6_PEERROUTES has the opposite meaning as 'ignore-auto-routes' property.
* ---end---
*/
g_object_class_install_property
(object_class, PROP_IGNORE_AUTO_ROUTES,
g_param_spec_boolean (NM_SETTING_IP6_CONFIG_IGNORE_AUTO_ROUTES, "", "",
@ -1150,6 +1218,14 @@ nm_setting_ip6_config_class_init (NMSettingIP6ConfigClass *setting_class)
* #NMSettingIP6Config:dns and #NMSettingIP6Config:dns-search properties, if
* any, are used.
**/
/* plugins docs
* ---ifcfg-rh---
* property: ignore-auto-dns
* variable: IPV6_PEERDNS(+)
* default: yes
* description: IPV6_PEERDNS has the opposite meaning as 'ignore-auto-dns' property.
* ---end---
*/
g_object_class_install_property
(object_class, PROP_IGNORE_AUTO_DNS,
g_param_spec_boolean (NM_SETTING_IP6_CONFIG_IGNORE_AUTO_DNS, "", "",
@ -1165,6 +1241,16 @@ nm_setting_ip6_config_class_init (NMSettingIP6ConfigClass *setting_class)
* meaning it will never be assigned the default IPv6 route by
* NetworkManager.
**/
/* plugins docs
* ---ifcfg-rh---
* property: never-default
* variable: IPV6_DEFROUTE(+), (and IPV6_DEFAULTGW, IPV6_DEFAULTDEV in /etc/sysconfig/network)
* default: IPV6_DEFROUTE=yes (when no variable specified)
* description: IPV6_DEFROUTE=no tells NetworkManager that this connection
* should not be assigned the default IPv6 route. IPV6_DEFROUTE has the opposite
* meaning as 'never-default' property.
* ---end---
*/
g_object_class_install_property
(object_class, PROP_NEVER_DEFAULT,
g_param_spec_boolean (NM_SETTING_IP6_CONFIG_NEVER_DEFAULT, "", "",
@ -1183,6 +1269,14 @@ nm_setting_ip6_config_class_init (NMSettingIP6ConfigClass *setting_class)
* network configuration to succeed if IPv6 configuration fails but IPv4
* configuration completes successfully.
**/
/* plugins docs
* ---ifcfg-rh---
* property: may-fail
* variable: IPV6_FAILURE_FATAL(+)
* default: no
* description: IPV6_FAILURE_FATAL has the opposite meaning as 'may-fail' property.
* ---end---
*/
g_object_class_install_property
(object_class, PROP_MAY_FAIL,
g_param_spec_boolean (NM_SETTING_IP6_CONFIG_MAY_FAIL, "", "",
@ -1202,6 +1296,13 @@ nm_setting_ip6_config_class_init (NMSettingIP6ConfigClass *setting_class)
* 1: enabled (prefer public address), 2: enabled (prefer temporary
* addresses).
**/
/* plugins docs
* ---ifcfg-rh---
* property: ip6-privacy
* variable: IPV6_PRIVACY, IPV6_PRIVACY_PREFER_PUBLIC_IP(+)
* description: Configure IPv6 Privacy Extensions for SLAAC (RFC4941).
* ---end---
*/
g_object_class_install_property
(object_class, PROP_IP6_PRIVACY,
g_param_spec_int (NM_SETTING_IP6_CONFIG_IP6_PRIVACY, "", "",

View file

@ -174,6 +174,13 @@ nm_setting_team_port_class_init (NMSettingTeamPortClass *setting_class)
* directly to teamd. If not specified, the default configuration is
* used. See man teamd.conf for the format details.
**/
/* plugins docs
* ---ifcfg-rh---
* property: config
* variable: TEAM_PORT_CONFIG
* description: Team port configuration in JSON. See man teamd.conf for details.
* ---end---
*/
g_object_class_install_property
(object_class, PROP_CONFIG,
g_param_spec_string (NM_SETTING_TEAM_PORT_CONFIG, "", "",

View file

@ -228,6 +228,13 @@ nm_setting_team_class_init (NMSettingTeamClass *setting_class)
*
* The name of the virtual in-kernel team network interface
**/
/* plugins docs
* ---ifcfg-rh---
* property: interface-name
* variable: DEVICE
* description: Teaming interface name.
* ---end---
*/
g_object_class_install_property
(object_class, PROP_INTERFACE_NAME,
g_param_spec_string (NM_SETTING_TEAM_INTERFACE_NAME, "", "",
@ -244,6 +251,13 @@ nm_setting_team_class_init (NMSettingTeamClass *setting_class)
* the value is passed directly to teamd. If not specified, the default
* configuration is used. See man teamd.conf for the format details.
**/
/* plugins docs
* ---ifcfg-rh---
* property: config
* variable: TEAM_CONFIG
* description: Team configuration in JSON. See man teamd.conf for details.
* ---end---
*/
g_object_class_install_property
(object_class, PROP_CONFIG,
g_param_spec_string (NM_SETTING_TEAM_CONFIG, "", "",

View file

@ -750,6 +750,16 @@ nm_setting_vlan_class_init (NMSettingVlanClass *setting_class)
* parent interface may be given by the #NMSettingVlan:parent property or by
* the #NMSettingWired:mac-address property of an #NMSettingWired setting.
**/
/* plugins docs
* ---ifcfg-rh---
* property: interface-name
* variable: PHYSDEV and VLAN_ID, or DEVICE
* description: VLAN interface name.
* If all variables are set, parent device from PHYSDEV takes precedence over DEVICE,
* but VLAN id from DEVICE takes precedence over VLAN_ID.
* example: PHYSDEV=eth0, VLAN_ID=12; or DEVICE=eth0.12
* ---end---
*/
g_object_class_install_property
(object_class, PROP_INTERFACE_NAME,
g_param_spec_string (NM_SETTING_VLAN_INTERFACE_NAME, "", "",
@ -767,6 +777,13 @@ nm_setting_vlan_class_init (NMSettingVlanClass *setting_class)
* not specified, the connection must contain an #NMSettingWired setting
* with a #NMSettingWired:mac-address property.
**/
/* plugins docs
* ---ifcfg-rh---
* property: parent
* variable: DEVICE or PHYSDEV
* description: Parent interface of the VLAN.
* ---end---
*/
g_object_class_install_property
(object_class, PROP_PARENT,
g_param_spec_string (NM_SETTING_VLAN_PARENT, "", "",
@ -782,6 +799,13 @@ nm_setting_vlan_class_init (NMSettingVlanClass *setting_class)
* The VLAN identifier that the interface created by this connection should
* be assigned.
**/
/* plugins docs
* ---ifcfg-rh---
* property: id
* variable: VLAN_ID or DEVICE
* description: VLAN identifier.
* ---end---
*/
g_object_class_install_property
(object_class, PROP_ID,
g_param_spec_uint (NM_SETTING_VLAN_ID, "", "",
@ -800,6 +824,14 @@ nm_setting_vlan_class_init (NMSettingVlanClass *setting_class)
* and %NM_VLAN_FLAG_LOOSE_BINDING (loose binding of the interface to its
* master device's operating state).
**/
/* plugins docs
* ---ifcfg-rh---
* property: flags
* variable: VLAN_FLAGS, REORDER_HDR
* values: "GVRP", "LOOSE_BINDING" for VLAN_FLAGS; 0 or 1 for REORDER_HDR
* description: Parent interface of the VLAN.
* ---end---
*/
g_object_class_install_property
(object_class, PROP_FLAGS,
g_param_spec_uint (NM_SETTING_VLAN_FLAGS, "", "",
@ -816,6 +848,14 @@ nm_setting_vlan_class_init (NMSettingVlanClass *setting_class)
* SKB priorities. The mapping is given in the format "from:to" where both
* "from" and "to" are unsigned integers, ie "7:3".
**/
/* plugins docs
* ---ifcfg-rh---
* property: ingress-property-map
* variable: VLAN_INGRESS_PRIORITY_MAP
* description: Ingress priority mapping.
* example: VLAN_INGRESS_PRIORITY_MAP=4:2,3:5
* ---end---
*/
g_object_class_install_property
(object_class, PROP_INGRESS_PRIORITY_MAP,
_nm_param_spec_specialized (NM_SETTING_VLAN_INGRESS_PRIORITY_MAP, "", "",
@ -831,6 +871,14 @@ nm_setting_vlan_class_init (NMSettingVlanClass *setting_class)
* 802.1p priorities. The mapping is given in the format "from:to" where
* both "from" and "to" are unsigned integers, ie "7:3".
**/
/* plugins docs
* ---ifcfg-rh---
* property: egress-property-map
* variable: VLAN_EGRESS_PRIORITY_MAP
* description: Egress priority mapping.
* example: VLAN_EGRESS_PRIORITY_MAP=5:4,4:1,3:7
* ---end---
*/
g_object_class_install_property
(object_class, PROP_EGRESS_PRIORITY_MAP,
_nm_param_spec_specialized (NM_SETTING_VLAN_EGRESS_PRIORITY_MAP, "", "",

View file

@ -847,6 +847,15 @@ nm_setting_vpn_class_init (NMSettingVPNClass *setting_class)
* Dictionary of key/value pairs of VPN plugin specific data. Both keys and
* values must be strings.
**/
/* plugins docs
* ---keyfile---
* property: data
* variable: separate variables named after keys of the dictionary
* description: The keys of the data dictionary are used as variable names directly
* under [vpn] section.
* example: remote=ovpn.corp.com cipher=AES-256-CBC username=joe
* ---end---
*/
g_object_class_install_property
(object_class, PROP_DATA,
_nm_param_spec_specialized (NM_SETTING_VPN_DATA, "", "",
@ -860,6 +869,15 @@ nm_setting_vpn_class_init (NMSettingVPNClass *setting_class)
* Dictionary of key/value pairs of VPN plugin specific secrets like
* passwords or private keys. Both keys and values must be strings.
**/
/* plugins docs
* ---keyfile---
* property: secrets
* variable: separate variables named after keys of the dictionary
* description: The keys of the secrets dictionary are used as variable names directly
* under [vpn-secrets] section.
* example: password=Popocatepetl
* ---end---
*/
g_object_class_install_property
(object_class, PROP_SECRETS,
_nm_param_spec_specialized (NM_SETTING_VPN_SECRETS, "", "",

View file

@ -872,6 +872,13 @@ nm_setting_wired_class_init (NMSettingWiredClass *setting_class)
* Interface), "bnc" (Thin Ethernet) or "mii" (Media Independent Interface.
* If the device supports only one port type, this setting is ignored.
**/
/* plugins docs
* ---ifcfg-rh---
* property: port
* variable: (none)
* description: The property is not saved by the plugin.
* ---end---
*/
g_object_class_install_property
(object_class, PROP_PORT,
g_param_spec_string (NM_SETTING_WIRED_PORT, "", "",
@ -885,6 +892,13 @@ nm_setting_wired_class_init (NMSettingWiredClass *setting_class)
* If non-zero, request that the device use only the specified speed. In
* Mbit/s, ie 100 == 100Mbit/s.
**/
/* plugins docs
* ---ifcfg-rh---
* property: speed
* variable: (none)
* description: The property is not saved by the plugin.
* ---end---
*/
g_object_class_install_property
(object_class, PROP_SPEED,
g_param_spec_uint (NM_SETTING_WIRED_SPEED, "", "",
@ -899,6 +913,13 @@ nm_setting_wired_class_init (NMSettingWiredClass *setting_class)
* If specified, request that the device only use the specified duplex mode.
* Either "half" or "full".
**/
/* plugins docs
* ---ifcfg-rh---
* property: duplex
* variable: (none)
* description: The property is not saved by the plugin.
* ---end---
*/
g_object_class_install_property
(object_class, PROP_DUPLEX,
g_param_spec_string (NM_SETTING_WIRED_DUPLEX, "", "",
@ -913,6 +934,13 @@ nm_setting_wired_class_init (NMSettingWiredClass *setting_class)
* %FALSE, do not allow auto-negotiation, in which case the "speed" and
* "duplex" properties should be set.
**/
/* plugins docs
* ---ifcfg-rh---
* property: auto-negotiate
* variable: (none)
* description: The property is not saved by the plugin.
* ---end---
*/
g_object_class_install_property
(object_class, PROP_AUTO_NEGOTIATE,
g_param_spec_boolean (NM_SETTING_WIRED_AUTO_NEGOTIATE, "", "",
@ -928,6 +956,21 @@ nm_setting_wired_class_init (NMSettingWiredClass *setting_class)
* whose permanent MAC address matches. This property does not change the
* MAC address of the device (i.e. MAC spoofing).
**/
/* plugins docs
* ---keyfile---
* property: mac-address
* format: ususal hex-digits-and-colons notation
* description: MAC address in traditional hex-digits-and-colons notation
* (e.g. 00:22:68:12:79:A2), or semicolon separated list of 6 bytes (obsolete)
* (e.g. 0;34;104;18;121;162)
* ---end---
* ---ifcfg-rh---
* property: mac-address
* variable: HWADDR
* description: Hardware address of the device in traditional hex-digits-and-colons
* notation (e.g. 00:22:68:14:5A:05).
* ---end---
*/
g_object_class_install_property
(object_class, PROP_MAC_ADDRESS,
_nm_param_spec_specialized (NM_SETTING_WIRED_MAC_ADDRESS, "", "",
@ -942,6 +985,21 @@ nm_setting_wired_class_init (NMSettingWiredClass *setting_class)
* If specified, request that the device use this MAC address instead of its
* permanent MAC address. This is known as MAC cloning or spoofing.
**/
/* plugins docs
* ---keyfile---
* property: cloned-mac-address
* format: ususal hex-digits-and-colons notation
* description: Cloned MAC address in traditional hex-digits-and-colons notation
* (e.g. 00:22:68:12:79:B2), or semicolon separated list of 6 bytes (obsolete)
* (e.g. 0;34;104;18;121;178).
* ---end---
* ---ifcfg-rh---
* property: cloned-mac-address
* variable: MACADDR
* description: Cloned (spoofed) MAC address in traditional hex-digits-and-colons
* notation (e.g. 00:22:68:14:5A:99).
* ---end---
*/
g_object_class_install_property
(object_class, PROP_CLONED_MAC_ADDRESS,
_nm_param_spec_specialized (NM_SETTING_WIRED_CLONED_MAC_ADDRESS, "", "",
@ -958,6 +1016,21 @@ nm_setting_wired_class_init (NMSettingWiredClass *setting_class)
* address is in the standard hex-digits-and-colons notation
* (00:11:22:33:44:55).
**/
/* plugins docs
* ---keyfile---
* property: mac-address-blacklist
* format: list of MACs (separated with semicolons)
* description: MAC address blacklist.
* example: mac-address-blacklist= 00:22:68:12:79:A6;00:22:68:12:79:78
* ---end---
* ---ifcfg-rh---
* property: mac-address-blacklist
* variable: HWADDR_BLACKLIST(+)
* description: It denies usage of the connection for any device whose address
* is listed.
* example: HWADDR_BLACKLIST="00:22:68:11:69:08 00:11:22:11:44:55"
* ---end---
*/
g_object_class_install_property
(object_class, PROP_MAC_ADDRESS_BLACKLIST,
_nm_param_spec_specialized (NM_SETTING_WIRED_MAC_ADDRESS_BLACKLIST, "", "",
@ -972,6 +1045,13 @@ nm_setting_wired_class_init (NMSettingWiredClass *setting_class)
* If non-zero, only transmit packets of the specified size or smaller,
* breaking larger packets up into multiple Ethernet frames.
**/
/* plugins docs
* ---ifcfg-rh---
* property: mtu
* variable: MTU
* description: MTU of the interface.
* ---end---
*/
g_object_class_install_property
(object_class, PROP_MTU,
g_param_spec_uint (NM_SETTING_WIRED_MTU, "", "",
@ -992,6 +1072,14 @@ nm_setting_wired_class_init (NMSettingWiredClass *setting_class)
* and each string may only be composed of hexadecimal characters and the
* period (.) character.
**/
/* plugins docs
* ---ifcfg-rh---
* property: s390-subchannels
* variable: SUBCHANNELS
* description: Subchannels for IBM S390 hosts.
* example: SUBCHANNELS=0.0.b00a,0.0.b00b,0.0.b00c
* ---end---
*/
g_object_class_install_property
(object_class, PROP_S390_SUBCHANNELS,
_nm_param_spec_specialized (NM_SETTING_WIRED_S390_SUBCHANNELS, "", "",
@ -1006,6 +1094,15 @@ nm_setting_wired_class_init (NMSettingWiredClass *setting_class)
* s390 network device type; one of "qeth", "lcs", or "ctc", representing
* the different types of virtual network devices available on s390 systems.
**/
/* plugins docs
* ---ifcfg-rh---
* property: s390-nettype
* variable: NETTYPE
* values: "qeth", "lcs" or "ctc"
* description: Network type of the S390 host.
* example: NETTYPE=qeth
* ---end---
*/
g_object_class_install_property
(object_class, PROP_S390_NETTYPE,
g_param_spec_string (NM_SETTING_WIRED_S390_NETTYPE, "", "",
@ -1022,6 +1119,14 @@ nm_setting_wired_class_init (NMSettingWiredClass *setting_class)
* "portname", "protocol", among others. Key names must contain only
* alphanumeric characters (ie, [a-zA-Z0-9]).
**/
/* plugins docs
* ---ifcfg-rh---
* property: s390-options
* variable: OPTIONS and PORTNAME, CTCPROTO,
* description: S390 device options. All options go to OPTIONS, except for
* "portname" and "ctcprot" that have their own variables.
* ---end---
*/
g_object_class_install_property
(object_class, PROP_S390_OPTIONS,
_nm_param_spec_specialized (NM_SETTING_WIRED_S390_OPTIONS, "", "",

View file

@ -1350,6 +1350,14 @@ nm_setting_wireless_security_class_init (NMSettingWirelessSecurityClass *setting
* WPA-PSK), or "wpa-eap" (WPA-Enterprise). This property must be set for
* any Wi-Fi connection that uses security.
**/
/* plugins docs
* ---ifcfg-rh---
* property: key-mgmt
* variable: KEY_MGMT(+)
* values: IEEE8021X, WPA-PSK, WPA-EAP
* description: Key management menthod.
* ---end---
*/
g_object_class_install_property
(object_class, PROP_KEY_MGMT,
g_param_spec_string (NM_SETTING_WIRELESS_SECURITY_KEY_MGMT, "", "",
@ -1366,6 +1374,15 @@ nm_setting_wireless_security_class_init (NMSettingWirelessSecurityClass *setting
* (default key) through 3. Note that some consumer access points (like the
* Linksys WRT54G) number the keys 1 - 4.
**/
/* plugins docs
* ---ifcfg-rh---
* property: wep-tx-keyidx
* variable: DEFAULTKEY
* values: 1, 2, 3, 4
* default: 1
* description: Index of active WEP key.
* ---end---
*/
g_object_class_install_property
(object_class, PROP_WEP_TX_KEYIDX,
g_param_spec_uint (NM_SETTING_WIRELESS_SECURITY_WEP_TX_KEYIDX, "", "",
@ -1383,6 +1400,14 @@ nm_setting_wireless_security_class_init (NMSettingWirelessSecurityClass *setting
* using Cisco LEAP (ie, key-mgmt = "ieee8021x" and auth-alg = "leap") the
* "leap-username" and "leap-password" properties must be specified.
**/
/* plugins docs
* ---ifcfg-rh---
* property: auth-alg
* variable: SECURITYMODE(+)
* values: restricted, open, leap
* description: Authentication algorithm for WEP.
* ---end---
*/
g_object_class_install_property
(object_class, PROP_AUTH_ALG,
g_param_spec_string (NM_SETTING_WIRELESS_SECURITY_AUTH_ALG, "", "",
@ -1397,6 +1422,15 @@ nm_setting_wireless_security_class_init (NMSettingWirelessSecurityClass *setting
* Each element may be one "wpa" (allow WPA) or "rsn" (allow WPA2/RSN). If
* not specified, both WPA and RSN connections are allowed.
**/
/* plugins docs
* ---ifcfg-rh---
* property: proto
* variable: WPA_ALLOW_WPA(+), WPA_ALLOW_WPA2(+)
* values: yes, no
* default: no
* description: Allowed WPA protocols, WPA and WPA2 (RSN).
* ---end---
*/
g_object_class_install_property
(object_class, PROP_PROTO,
_nm_param_spec_specialized (NM_SETTING_WIRELESS_SECURITY_PROTO, "", "",
@ -1412,6 +1446,15 @@ nm_setting_wireless_security_class_init (NMSettingWirelessSecurityClass *setting
* For maximum compatibility leave this property empty. Each list element
* may be one of "tkip" or "ccmp".
**/
/* plugins docs
* ---ifcfg-rh---
* property: pairwise
* variable: CIPHER_PAIRWISE(+)
* values: CCMP, TKIP
* description: Restrict pairwise encryption algorithms, specified as a space
* separated list.
* ---end---
*/
g_object_class_install_property
(object_class, PROP_PAIRWISE,
_nm_param_spec_specialized (NM_SETTING_WIRELESS_SECURITY_PAIRWISE, "", "",
@ -1427,6 +1470,15 @@ nm_setting_wireless_security_class_init (NMSettingWirelessSecurityClass *setting
* in the list. For maximum compatibility leave this property empty. Each
* list element may be one of "wep40", "wep104", "tkip", or "ccmp".
**/
/* plugins docs
* ---ifcfg-rh---
* property: group
* variable: CIPHER_GROUP(+)
* values: CCMP, TKIP, WEP40, WEP104
* description: Restrict group/broadcast encryption algorithms, specified as a space
* separated list.
* ---end---
*/
g_object_class_install_property
(object_class, PROP_GROUP,
_nm_param_spec_specialized (NM_SETTING_WIRELESS_SECURITY_GROUP, "", "",
@ -1440,6 +1492,13 @@ nm_setting_wireless_security_class_init (NMSettingWirelessSecurityClass *setting
* The login username for legacy LEAP connections (ie, key-mgmt =
* "ieee8021x" and auth-alg = "leap").
**/
/* plugins docs
* ---ifcfg-rh---
* property: leap-username
* variable: IEEE_8021X_IDENTITY(+)
* description: Login name for LEAP.
* ---end---
*/
g_object_class_install_property
(object_class, PROP_LEAP_USERNAME,
g_param_spec_string (NM_SETTING_WIRELESS_SECURITY_LEAP_USERNAME, "", "",
@ -1453,6 +1512,13 @@ nm_setting_wireless_security_class_init (NMSettingWirelessSecurityClass *setting
* Index 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.
**/
/* plugins docs
* ---ifcfg-rh---
* property: wep-key0
* variable: KEY1, KEY_PASSPHRASE1(+)
* description: The first WEP key (used in most networks). See also DEFAULTKEY for key index.
* ---end---
*/
g_object_class_install_property
(object_class, PROP_WEP_KEY0,
g_param_spec_string (NM_SETTING_WIRELESS_SECURITY_WEP_KEY0, "", "",
@ -1467,6 +1533,13 @@ nm_setting_wireless_security_class_init (NMSettingWirelessSecurityClass *setting
* Index 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.
**/
/* plugins docs
* ---ifcfg-rh---
* property: wep-key1
* variable: KEY2, KEY_PASSPHRASE2(+)
* description: WEP key with index 1. See also DEFAULTKEY for key index.
* ---end---
*/
g_object_class_install_property
(object_class, PROP_WEP_KEY1,
g_param_spec_string (NM_SETTING_WIRELESS_SECURITY_WEP_KEY1, "", "",
@ -1481,6 +1554,13 @@ nm_setting_wireless_security_class_init (NMSettingWirelessSecurityClass *setting
* Index 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.
**/
/* plugins docs
* ---ifcfg-rh---
* property: wep-key2
* variable: KEY3, KEY_PASSPHRASE3(+)
* description: WEP key with index 2. See also DEFAULTKEY for key index.
* ---end---
*/
g_object_class_install_property
(object_class, PROP_WEP_KEY2,
g_param_spec_string (NM_SETTING_WIRELESS_SECURITY_WEP_KEY2, "", "",
@ -1495,6 +1575,13 @@ nm_setting_wireless_security_class_init (NMSettingWirelessSecurityClass *setting
* Index 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.
**/
/* plugins docs
* ---ifcfg-rh---
* property: wep-key3
* variable: KEY4, KEY_PASSPHRASE4(+)
* description: WEP key with index 3. See also DEFAULTKEY for key index.
* ---end---
*/
g_object_class_install_property
(object_class, PROP_WEP_KEY3,
g_param_spec_string (NM_SETTING_WIRELESS_SECURITY_WEP_KEY3, "", "",
@ -1510,6 +1597,13 @@ nm_setting_wireless_security_class_init (NMSettingWirelessSecurityClass *setting
* #NMSettingWirelessSecurity:wep-key1, #NMSettingWirelessSecurity:wep-key2,
* and #NMSettingWirelessSecurity:wep-key3 properties.
**/
/* plugins docs
* ---ifcfg-rh---
* property: wep-key-flags
* variable: WEP_KEY_FLAGS(+)
* description: Password flags for KEY<i>, KEY_PASSPHRASE<i> password.
* ---end---
*/
g_object_class_install_property
(object_class, PROP_WEP_KEY_FLAGS,
g_param_spec_uint (NM_SETTING_WIRELESS_SECURITY_WEP_KEY_FLAGS, "", "",
@ -1529,6 +1623,13 @@ nm_setting_wireless_security_class_init (NMSettingWirelessSecurityClass *setting
* WPA passphrase, and is hashed to derive the actual WPA-PSK used when
* connecting to the Wi-Fi network.
**/
/* plugins docs
* ---ifcfg-rh---
* property: psk
* variable: WPA_PSK
* description: Pre-Shared-Key for WPA networks.
* ---end---
*/
g_object_class_install_property
(object_class, PROP_PSK,
g_param_spec_string (NM_SETTING_WIRELESS_SECURITY_PSK, "", "",
@ -1543,6 +1644,14 @@ nm_setting_wireless_security_class_init (NMSettingWirelessSecurityClass *setting
* Flags indicating how to handle the #NMSettingWirelessSecurity:psk
* property.
**/
/* plugins docs
* ---ifcfg-rh---
* property: psk-flags
* variable: WPA_PSK_FLAGS(+)
* description: Password flags for WPA_PSK_FLAGS.
* example: WPA_PSK_FLAGS=user
* ---end---
*/
g_object_class_install_property
(object_class, PROP_PSK_FLAGS,
g_param_spec_uint (NM_SETTING_WIRELESS_SECURITY_PSK_FLAGS, "", "",
@ -1558,6 +1667,14 @@ nm_setting_wireless_security_class_init (NMSettingWirelessSecurityClass *setting
* The login password for legacy LEAP connections (ie, key-mgmt =
* "ieee8021x" and auth-alg = "leap").
**/
/* plugins docs
* ---ifcfg-rh---
* property: leap-password
* variable: IEEE_8021X_PASSWORD(+)
* description: Password for LEAP. It can also go to "key-"
* lookaside file, or it can be owned by a secret agent.
* ---end---
*/
g_object_class_install_property
(object_class, PROP_LEAP_PASSWORD,
g_param_spec_string (NM_SETTING_WIRELESS_SECURITY_LEAP_PASSWORD, "", "",
@ -1572,6 +1689,13 @@ nm_setting_wireless_security_class_init (NMSettingWirelessSecurityClass *setting
* Flags indicating how to handle the
* #NMSettingWirelessSecurity:leap-password property.
**/
/* plugins docs
* ---ifcfg-rh---
* property: leap-password-flags
* variable: IEEE_8021X_PASSWORD_FLAGS(+)
* description: Password flags for IEEE_8021X_PASSWORD_FLAGS.
* ---end---
*/
g_object_class_install_property
(object_class, PROP_LEAP_PASSWORD_FLAGS,
g_param_spec_uint (NM_SETTING_WIRELESS_SECURITY_LEAP_PASSWORD_FLAGS, "", "",
@ -1591,6 +1715,16 @@ nm_setting_wireless_security_class_init (NMSettingWirelessSecurityClass *setting
* as a string and will be hashed using the de-facto MD5 method to derive
* the actual WEP key.
**/
/* plugins docs
* ---ifcfg-rh---
* property: wep-key-type
* variable: KEY<i> or KEY_PASSPHRASE<i>(+)
* description: KEY is used for "key" type (10 or 26 hexadecimal characters,
* or 5 or 13 character string prefixed with "s:"). KEY_PASSPHRASE is used
* for WEP passphrases.
* example: KEY1=s:ahoj, KEY1=0a1c45bc02, KEY_PASSPHRASE1=mysupersecretkey
* ---end---
*/
g_object_class_install_property
(object_class, PROP_WEP_KEY_TYPE,
g_param_spec_uint (NM_SETTING_WIRELESS_SECURITY_WEP_KEY_TYPE, "", "",

View file

@ -1032,6 +1032,20 @@ nm_setting_wireless_class_init (NMSettingWirelessClass *setting_class)
*
* SSID of the Wi-Fi network. Must be specified.
**/
/* plugins docs
* ---keyfile---
* property: ssid
* format: string (or decimal-byte list - obsolete)
* description: SSID of Wi-Fi network.
* example: ssid=Quick Net
* ---end---
* ---ifcfg-rh---
* property: ssid
* variable: ESSID
* description: SSID of Wi-Fi network.
* example: ESSID="Quick Net"
* ---end---
*/
g_object_class_install_property
(object_class, PROP_SSID,
_nm_param_spec_specialized (NM_SETTING_WIRELESS_SSID, "", "",
@ -1045,6 +1059,14 @@ nm_setting_wireless_class_init (NMSettingWirelessClass *setting_class)
* Wi-Fi network mode; one of "infrastructure", "adhoc" or "ap". If blank,
* infrastructure is assumed.
**/
/* plugins docs
* ---ifcfg-rh---
* property: mode
* variable: MODE
* values: Ad-Hoc, Managed (Auto) [case insensitive]
* description: Wi-Fi network mode.
* ---end---
*/
g_object_class_install_property
(object_class, PROP_MODE,
g_param_spec_string (NM_SETTING_WIRELESS_MODE, "", "",
@ -1062,6 +1084,14 @@ nm_setting_wireless_class_init (NMSettingWirelessClass *setting_class)
* settings are compatible. This setting depends on specific driver
* capability and may not work with all drivers.
**/
/* plugins docs
* ---ifcfg-rh---
* property: band
* variable: CHANNEL
* description: Channels greater than 14 mean "a" band, otherwise the band is "bg".
* example: CHANNEL=6
* ---end---
*/
g_object_class_install_property
(object_class, PROP_BAND,
g_param_spec_string (NM_SETTING_WIRELESS_BAND, "", "",
@ -1077,6 +1107,14 @@ nm_setting_wireless_class_init (NMSettingWirelessClass *setting_class)
* channel. Because channel numbers overlap between bands, this property
* also requires the "band" property to be set.
**/
/* plugins docs
* ---ifcfg-rh---
* property: channel
* variable: CHANNEL
* description: Channel used for the Wi-Fi communication.
* example: CHANNEL=6
* ---end---
*/
g_object_class_install_property
(object_class, PROP_CHANNEL,
g_param_spec_uint (NM_SETTING_WIRELESS_CHANNEL, "", "",
@ -1093,6 +1131,14 @@ nm_setting_wireless_class_init (NMSettingWirelessClass *setting_class)
* all devices. Note: this property does not control the BSSID used when
* creating an Ad-Hoc network and is unlikely to in the future.
**/
/* plugins docs
* ---ifcfg-rh---
* property: bssid
* variable: BSSID(+)
* description: Restricts association only to a single AP.
* example: BSSID=00:1E:BD:64:83:21
* ---end---
*/
g_object_class_install_property
(object_class, PROP_BSSID,
_nm_param_spec_specialized (NM_SETTING_WIRELESS_BSSID, "", "",
@ -1108,6 +1154,13 @@ nm_setting_wireless_class_init (NMSettingWirelessClass *setting_class)
* Mbit/s. This property is highly driver dependent and not all devices
* support setting a static bitrate.
**/
/* plugins docs
* ---ifcfg-rh---
* property: rate
* variable: (none)
* description: This property is not handled by ifcfg-rh plugin.
* ---end---
*/
g_object_class_install_property
(object_class, PROP_RATE,
g_param_spec_uint (NM_SETTING_WIRELESS_RATE, "", "",
@ -1124,6 +1177,13 @@ nm_setting_wireless_class_init (NMSettingWirelessClass *setting_class)
* Units are dBm. This property is highly driver dependent and not all
* devices support setting a static transmit power.
**/
/* plugins docs
* ---ifcfg-rh---
* property: tx-power
* variable: (none)
* description: This property is not handled by ifcfg-rh plugin.
* ---end---
*/
g_object_class_install_property
(object_class, PROP_TX_POWER,
g_param_spec_uint (NM_SETTING_WIRELESS_TX_POWER, "", "",
@ -1140,6 +1200,21 @@ nm_setting_wireless_class_init (NMSettingWirelessClass *setting_class)
* permanent MAC address matches. This property does not change the MAC
* address of the device (i.e. MAC spoofing).
**/
/* plugins docs
* ---keyfile---
* property: mac-address
* format: ususal hex-digits-and-colons notation
* description: MAC address in traditional hex-digits-and-colons notation
* (e.g. 00:22:68:12:79:A2), or semicolon separated list of 6 bytes (obsolete)
* (e.g. 0;34;104;18;121;162).
* ---end---
* ---ifcfg-rh---
* property: mac-address
* variable: HWADDR
* description: Hardware address of the device in traditional hex-digits-and-colons
* notation (e.g. 00:22:68:14:5A:05).
* ---end---
*/
g_object_class_install_property
(object_class, PROP_MAC_ADDRESS,
_nm_param_spec_specialized (NM_SETTING_WIRELESS_MAC_ADDRESS, "", "",
@ -1153,6 +1228,21 @@ nm_setting_wireless_class_init (NMSettingWirelessClass *setting_class)
* If specified, request that the Wi-Fi device use this MAC address instead
* of its permanent MAC address. This is known as MAC cloning or spoofing.
**/
/* plugins docs
* ---keyfile---
* property: cloned-mac-address
* format: ususal hex-digits-and-colons notation
* description: Cloned MAC address in traditional hex-digits-and-colons notation
* (e.g. 00:22:68:12:79:B2), or semicolon separated list of 6 bytes (obsolete)
* (e.g. 0;34;104;18;121;178).
* ---end---
* ---ifcfg-rh---
* property: cloned-mac-address
* variable: MACADDR
* description: Cloned (spoofed) MAC address in traditional hex-digits-and-colons
* notation (e.g. 00:22:68:14:5A:99).
* ---end---
*/
g_object_class_install_property
(object_class, PROP_CLONED_MAC_ADDRESS,
_nm_param_spec_specialized (NM_SETTING_WIRELESS_CLONED_MAC_ADDRESS, "", "",
@ -1167,6 +1257,20 @@ nm_setting_wireless_class_init (NMSettingWirelessClass *setting_class)
* 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").
**/
/* plugins docs
* ---keyfile---
* property: mac-address-blacklist
* format: list of MACs (separated with semicolons)
* description: MAC address blacklist.
* example: mac-address-blacklist= 00:22:68:12:79:A6;00:22:68:12:79:78
* ---end---
* ---ifcfg-rh---
* property: mac-address-blacklist
* variable: HWADDR_BLACKLIST(+)
* description: It denies usage of the connection for any device whose address
* is listed.
* ---end---
*/
g_object_class_install_property
(object_class, PROP_MAC_ADDRESS_BLACKLIST,
_nm_param_spec_specialized (NM_SETTING_WIRELESS_MAC_ADDRESS_BLACKLIST, "", "",
@ -1185,6 +1289,13 @@ nm_setting_wireless_class_init (NMSettingWirelessClass *setting_class)
* NetworkManager. The changes you make to this property will not be
* preserved.
**/
/* plugins docs
* ---ifcfg-rh---
* property: seen-bssids
* variable: (none)
* description: This property is not handled by ifcfg-rh plugin.
* ---end---
*/
g_object_class_install_property
(object_class, PROP_SEEN_BSSIDS,
_nm_param_spec_specialized (NM_SETTING_WIRELESS_SEEN_BSSIDS, "", "",
@ -1199,6 +1310,13 @@ nm_setting_wireless_class_init (NMSettingWirelessClass *setting_class)
* If non-zero, only transmit packets of the specified size or smaller,
* breaking larger packets up into multiple Ethernet frames.
**/
/* plugins docs
* ---ifcfg-rh---
* property: mtu
* variable: MTU
* description: MTU of the wireless interface.
* ---end---
*/
g_object_class_install_property
(object_class, PROP_MTU,
g_param_spec_uint (NM_SETTING_WIRELESS_MTU, "", "",
@ -1220,6 +1338,13 @@ nm_setting_wireless_class_init (NMSettingWirelessClass *setting_class)
* by the presence of a #NMSettingWirelessSecurity setting in the
* connection.
**/
/* plugins docs
* ---ifcfg-rh---
* property: security
* variable: (none)
* description: This property is deprecated and not handled by ifcfg-rh-plugin.
* ---end---
*/
g_object_class_install_property
(object_class, PROP_SEC,
g_param_spec_string (NM_SETTING_WIRELESS_SEC, "", "",
@ -1236,6 +1361,13 @@ nm_setting_wireless_class_init (NMSettingWirelessClass *setting_class)
* these workarounds expose inherent insecurities with hidden SSID networks,
* and thus hidden SSID networks should be used with caution.
**/
/* plugins docs
* ---ifcfg-rh---
* property: hidden
* variable: SSID_HIDDEN(+)
* description: Whether the network hides the SSID.
* ---end---
*/
g_object_class_install_property
(object_class, PROP_HIDDEN,
g_param_spec_boolean (NM_SETTING_WIRELESS_HIDDEN, "", "",

View file

@ -34,6 +34,20 @@ nm-settings.xml: nm-settings.xsl $(top_builddir)/libnm-util/nm-setting-docs.xml
--stringparam date "`date +'%d %B %Y'`" \
$^
nm-settings-keyfile.xml: nm-settings-keyfile.xsl $(top_builddir)/libnm-util/nm-keyfile-docs.xml
$(AM_V_GEN) xsltproc \
--output $@ \
--stringparam version $(NM_VERSION) \
--stringparam date "`date +'%d %B %Y'`" \
$^
nm-settings-ifcfg-rh.xml: nm-settings-ifcfg-rh.xsl $(top_builddir)/libnm-util/nm-ifcfg-rh-docs.xml
$(AM_V_GEN) xsltproc \
--output $@ \
--stringparam version $(NM_VERSION) \
--stringparam date "`date +'%d %B %Y'`" \
$^
endif
configure_generated_man_pages = \
@ -47,16 +61,24 @@ docbook_generated_man_pages = \
nmcli-examples.5
docbook_autogenerated_man_pages = \
nm-settings.5
nm-settings.5 \
nm-settings-keyfile.5 \
nm-settings-ifcfg-rh.5
EXTRA_DIST += \
nm-settings.xml \
nm-settings.xsl \
nm-settings-keyfile.xml \
nm-settings-keyfile.xsl \
nm-settings-ifcfg-rh.xml \
nm-settings-ifcfg-rh.xsl \
$(docbook_generated_man_pages:.%=.xml) \
$(docbook_autogenerated_man_pages)
DISTCLEANFILES = \
nm-settings.xml
nm-settings.xml \
nm-settings-keyfile.xml \
nm-settings-ifcfg-rh.xml
man_MANS += $(configure_generated_man_pages)

View file

@ -0,0 +1,362 @@
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<!-- We need to strip whitespaces so that position() function counts correctly.
http://www.oxygenxml.com/archives/xsl-list/200305/msg00430.html -->
<xsl:strip-space elements="nm-ifcfg-rh-docs setting" />
<xsl:output
method="xml"
doctype-public="-//OASIS//DTD DocBook XML V4.3//EN"
doctype-system="http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd"
/>
<xsl:param name="date"/>
<xsl:param name="version"/>
<xsl:template match="nm-ifcfg-rh-docs">
<xsl:variable name="unsupported" select="'adsl, bluetooth, ppp, pppoe, serial, generic, gsm, cdma, 802-11-olpc-mesh, wimax, vpn'"/>
<refentry id="nm-settings-ifcfg-rh">
<refentryinfo>
<date><xsl:value-of select="$date"/></date>
</refentryinfo>
<refmeta>
<refentrytitle>nm-settings-ifcfg-rh</refentrytitle>
<manvolnum>5</manvolnum>
<refmiscinfo class="source">NetworkManager</refmiscinfo>
<refmiscinfo class="manual">Configuration</refmiscinfo>
<refmiscinfo class="version"><xsl:value-of select="$version"/></refmiscinfo>
</refmeta>
<refnamediv>
<refname>nm-settings-ifcfg-rh</refname>
<refpurpose>Description of <emphasis>ifcfg-rh</emphasis> settings plugin</refpurpose>
</refnamediv>
<refsect1>
<title>DESCRIPTION</title>
<para>
NetworkManager is based on the concept of connection profiles that contain
network configuration (see <citerefentry><refentrytitle>nm-settings</refentrytitle>
<manvolnum>5</manvolnum></citerefentry> for details). The profiles can be
stored in various formats. NetworkManager uses plugins for reading and writing
the data. The plugins can be configured in <citerefentry>
<refentrytitle>NetworkManager.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>.
</para>
<para>
The <emphasis>ifcfg-rh</emphasis> plugin is used on the Fedora and Red Hat
Enterprise Linux distributions to read/write configuration from/to
the standard <filename>/etc/sysconfig/network-scripts/ifcfg-*</filename> files.
Each NetworkManager connection maps to one <filename>ifcfg-*</filename> file, with
possible usage of <filename>keys-*</filename> for passwords, <filename>route-*</filename>
for static IPv4 routes and <filename>route6-*</filename> for static IPv6 routes.
The plugin currently supports reading and writing Ethernet, Wi-Fi, InfiniBand,
VLAN, Bond, Bridge, and Team connections. Unsupported connection types (such as
(WWAN, PPPoE, VPN, or ADSL) are handled by <emphasis>keyfile</emphasis> plugin
(<citerefentry><refentrytitle>nm-settings-keyfile</refentrytitle><manvolnum>5</manvolnum></citerefentry>).
The main reason for using <emphasis>ifcfg-rh</emphasis> plugin is the compatibility
with legacy configurations for <emphasis>ifup</emphasis> and <emphasis>ifdown</emphasis>
(initscripts).
</para>
</refsect1>
<refsect1>
<title>File Format</title>
<para>
The <emphasis>ifcfg-rh</emphasis> config format is a simple text file containing
VARIABLE="value" lines. The format is described in <filename>sysconfig.txt</filename>
of <emphasis>initscripts</emphasis> package. Note that the configuration files
may be sourced by <emphasis>initscripts</emphasis>, so they must be valid shell
scripts. That means, for instance, that <literal>#</literal> character can be used
for comments, strings with spaces must be quoted, special characters must be escaped,
etc.
</para>
<para>
Users can create or modify the <emphasis>ifcfg-rh</emphasis> connection files
manually, even if that is not the recommended way of managing the profiles.
However, if they choose to do that, they must inform NetworkManager about
their changes (see <emphasis>monitor-connection-file</emphasis> in
<citerefentry><refentrytitle>nm-settings</refentrytitle><manvolnum>5</manvolnum>
</citerefentry>, and <emphasis>nmcli con (re)load</emphasis>).
</para>
<formalpara>
<title>Some <emphasis>ifcfg-rh</emphasis> configuration examples:</title>
<para>
<programlisting>
<emphasis role="bold">Simple DHCP ethernet configuration:</emphasis>
NAME=ethernet
UUID=1c4ddf70-01bf-46d6-b04f-47e842bd98da
TYPE=Ethernet
BOOTPROTO=dhcp
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=no
ONBOOT=yes
</programlisting>
</para>
<para>
<programlisting>
<emphasis role="bold">Simple ethernet configuration with static IP:</emphasis>
TYPE=Ethernet
BOOTPROTO=none
IPADDR=10.1.0.25
PREFIX=24
GATEWAY=10.1.0.1
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
NAME=ethernet-em2
UUID=51bb3904-c0fc-4dfe-83b2-0a71e7928c13
DEVICE=em2
ONBOOT=yes
</programlisting>
</para>
<para>
<programlisting>
<emphasis role="bold">WPA2 Enterprise WLAN (TTLS with inner MSCHAPV2 authentication):</emphasis>
ESSID="CompanyWLAN"
MODE=Managed
KEY_MGMT=WPA-EAP
TYPE=Wireless
IEEE_8021X_EAP_METHODS=TTLS
IEEE_8021X_IDENTITY=joe
IEEE_8021X_PASSWORD_FLAGS=ask
IEEE_8021X_INNER_AUTH_METHODS=MSCHAPV2
IEEE_8021X_CA_CERT=/home/joe/.cert/company.crt
BOOTPROTO=dhcp
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=no
NAME=MyCompany
UUID=f79848ff-11a6-4810-9e1a-99039dea84c4
ONBOOT=yes
</programlisting>
</para>
<para>
<programlisting>
<emphasis role="bold">Team and team port configuration:</emphasis>
ifcfg-my_team0:
DEVICE=team0
TEAM_CONFIG="{ \"device\": \"team0\", \"runner\": {\"name\": \"roundrobin\"}, \"ports\": {\"eth1\": {}, \"eth2\": {}} }"
DEVICETYPE=Team
BOOTPROTO=dhcp
NAME=team0-profile
UUID=1d3460a0-7b37-457f-a300-fe8d92da4807
ONBOOT=yes
ifcfg-my_team0_slave1:
NAME=team0-slave1
UUID=d5aed298-c567-4cc1-b808-6d38ecef9e64
DEVICE=eth0
ONBOOT=yes
TEAM_MASTER=team0
DEVICETYPE=TeamPort
</programlisting>
</para>
</formalpara>
</refsect1>
<refsect1>
<title>Differences against initscripts</title>
<para>
The main differences of NetworkManager ifcfg-rh plugin and traditional
initscripts are:
<variablelist class="NM-initscripts-differences">
<varlistentry>
<term><emphasis role="bold">NM_CONTROLLED=yes|no</emphasis></term>
<listitem><para>
NM_CONTROLLED is NetworkManager-specific variable used by NetworkManager
for determining whether the device of the <emphasis>ifcfg</emphasis> file
should be managed. NM_CONTROLLED=yes is supposed if the variable is not
present in the file.
Note that if you have more <emphasis>ifcfg</emphasis> files for a single
device, NM_CONTROLLED=no in one of the files will cause the device not
to be managed. The profile may not even be the active one.
</para></listitem>
</varlistentry>
<varlistentry>
<term><emphasis role="bold">New variables</emphasis></term>
<listitem><para>
NetworkManager has introduced some new variable, not present in initscripts,
to be able to store data for its new features. The variables are marked
as extensions in the tables bellows.
</para></listitem>
</varlistentry>
<varlistentry>
<term><emphasis role="bold">Semantic change of variables</emphasis></term>
<listitem><para>
NetworkManager had to slightly change the semantic for a few variables.
<itemizedlist>
<listitem>
<para><literal>PEERDNS</literal> -
initscripts interpret PEERDNS=no to mean "never touch resolv.conf".
NetworkManager interprets it to say "never add automatic (DHCP, PPP, VPN, etc.)
nameservers to resolv.conf".</para>
</listitem>
<listitem>
<para><literal>ONBOOT</literal> -
initscripts use ONBOOT=yes to mark the devices that are to be activated
during boot. NetworkManager extents this to also mean that this profile
can be used for auto-connecting at any time.</para>
</listitem>
</itemizedlist>
</para></listitem>
</varlistentry>
</variablelist>
</para>
<para>
See the next section for detailed mapping of NetworkManager properties and
<emphasis>ifcfg-rh</emphasis> variables. Variable names, format and usage
differences in NetworkManager and initscripts are documented in the tables bellow.
</para>
</refsect1>
<refsect1>
<title>DETAILS</title>
<para>
<emphasis>ifcfg-rh</emphasis> plugin variables marked with <emphasis>(+)</emphasis>
are NetworkManager specific extensions not understood by traditional initscripts.
</para>
<xsl:apply-templates />
<refsect2 id="secrets-flags">
<title>Secret flags</title>
<para>
Each secret property in a NetworkManager setting has an associated
<emphasis>flags</emphasis> property that describes how to handle that secret.
In the <emphasis>fcfg-rh</emphasis> plugin variables for secret flags have a
<emphasis>-FLAGS</emphasis> suffix. The variables contain one or more of the
folowing values (space separated). Missing (or empty) -FLAGS variable means
that the password is owned by NetworkManager.
</para>
<itemizedlist>
<listitem>
<para><literal>user</literal> - a user-session secret agent is responsible for providing
and storing this secret; when it is required, agents will be asked to provide it.</para>
</listitem>
<listitem>
<para><literal>ask</literal> - the associated password is not saved but it will be
requested from the user each time it is required.</para>
</listitem>
<listitem>
<para><literal>unused</literal> - in some situations it cannot be automatically determined
that a secret is required or not. This flag hints that the secret is not required and should
not be requested from the user.</para>
</listitem>
</itemizedlist>
</refsect2>
</refsect1>
<refsect1>
<title>AUTHOR</title>
<para>
<author>
<firstname>NetworkManager developers</firstname>
</author>
</para>
</refsect1>
<refsect1>
<title>FILES</title>
<para><filename>/etc/sysconfig/network-scripts/ifcfg-*</filename></para>
<para><filename>/etc/sysconfig/network-scripts/keys-*</filename></para>
<para><filename>/etc/sysconfig/network-scripts/route-*</filename></para>
<para><filename>/etc/sysconfig/network-scripts/route6-*</filename></para>
<para><filename>/usr/share/doc/initscripts/sysconfig.txt</filename></para>
</refsect1>
<refsect1>
<title>SEE ALSO</title>
<para>https://developer.gnome.org/NetworkManager/unstable/ref-settings.html</para>
<para>nm-settings(5), nm-settings-keyfile(5), NetworkManager(8), NetworkManager.conf(5), nmcli(1), nmcli-examples(5)</para>
</refsect1>
</refentry>
</xsl:template>
<xsl:template match="setting">
<xsl:variable name="setting_name" select="../@name"/>
<xsl:variable name="unsupported" select="'adsl, bluetooth, ppp, pppoe, serial, generic, gsm, cdma, 802-11-olpc-mesh, wimax, vpn'"/>
<xsl:if test="not (contains($unsupported, @name))">
<table>
<title><xsl:value-of select="@name"/> setting</title>
<tgroup cols="4">
<thead>
<row>
<entry>Property</entry>
<entry>Ifcfg-rh Variable</entry>
<entry>Default</entry>
<entry>Description</entry>
</row>
</thead>
<tbody>
<xsl:apply-templates/>
</tbody>
</tgroup>
</table>
</xsl:if>
<xsl:if test="@name = 'dcb'">
<para>
All DCB related configuration is a NetworkManager extention. DCB=yes must be
used explicitly to enable DCB so that the rest of the DCB_* variables can apply.
</para>
</xsl:if>
<xsl:if test="position() = last()">
<para>The following settings are not supported by <emphasis>ifcfg-rh</emphasis> plugin:</para>
<para><xsl:value-of select="$unsupported"/></para>
</xsl:if>
</xsl:template>
<xsl:template match="property">
<xsl:variable name="setting_name" select="../@name"/>
<row>
<entry align="left"><xsl:value-of select="@name"/></entry>
<entry align="left">
<xsl:call-template name="string-emphasize-all">
<xsl:with-param name="text" select="@variable"/>
<xsl:with-param name="emphasize" select="'(+)'"/>
</xsl:call-template>
</entry>
<entry align="left"><xsl:value-of select="@default"/></entry>
<entry align="left">
<xsl:value-of select="@description"/><xsl:if test="contains(@name,'-flags') and $setting_name != 'dcb'"> (see <xref linkend="secrets-flags"/> for _FLAGS values)</xsl:if>
<xsl:if test="string-length(@example)">
<emphasis role="bold">
Example: </emphasis><xsl:value-of select="@example"/>
</xsl:if>
<xsl:if test="string-length(@values)">
<emphasis role="bold">
Allowed values: </emphasis><xsl:value-of select="@values"/>
</xsl:if>
</entry>
</row>
</xsl:template>
<xsl:template name="string-emphasize-all">
<xsl:param name="text"/>
<xsl:param name="emphasize"/>
<xsl:choose>
<xsl:when test="contains($text, $emphasize)">
<xsl:value-of select="substring-before($text,$emphasize)"/>
<emphasis><xsl:value-of select="$emphasize"/></emphasis>
<xsl:call-template name="string-emphasize-all">
<xsl:with-param name="text" select="substring-after($text,$emphasize)"/>
<xsl:with-param name="emphasize" select="$emphasize"/>
</xsl:call-template>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$text"/>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
</xsl:stylesheet>

308
man/nm-settings-keyfile.xsl Normal file
View file

@ -0,0 +1,308 @@
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output
method="xml"
doctype-public="-//OASIS//DTD DocBook XML V4.3//EN"
doctype-system="http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd"
/>
<xsl:param name="date"/>
<xsl:param name="version"/>
<xsl:template match="nm-keyfile-docs">
<refentry id="nm-settings-keyfile">
<refentryinfo>
<date><xsl:value-of select="$date"/></date>
</refentryinfo>
<refmeta>
<refentrytitle>nm-settings-keyfile</refentrytitle>
<manvolnum>5</manvolnum>
<refmiscinfo class="source">NetworkManager</refmiscinfo>
<refmiscinfo class="manual">Configuration</refmiscinfo>
<refmiscinfo class="version"><xsl:value-of select="$version"/></refmiscinfo>
</refmeta>
<refnamediv>
<refname>nm-settings-keyfile</refname>
<refpurpose>Description of <emphasis>keyfile</emphasis> settings plugin</refpurpose>
</refnamediv>
<refsect1>
<title>DESCRIPTION</title>
<para>
NetworkManager is based on the concept of connection profiles that contain
network configuration (see <citerefentry><refentrytitle>nm-settings</refentrytitle>
<manvolnum>5</manvolnum></citerefentry> for details). The profiles can be
stored in various formats. NetworkManager uses plugins for reading and writing
the data. The plugins can be configured in <citerefentry>
<refentrytitle>NetworkManager.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>.
</para>
<para>
The <emphasis>keyfile</emphasis> plugin is the generic plugin that supports all
the connection types and capabilities that NetworkManager has. It writes files
out in a .ini-style format in <filename>/etc/NetworkManager/system-connections/</filename>.
This plugin is always enabled and will automatically be used to store
any connections that are not supported by any other active plugin.
For security, it will ignore files that are readable or writeable by any user
or group other than 'root' since private keys and passphrases may be stored
in plaintext inside the file.
</para>
</refsect1>
<refsect1>
<title>File Format</title>
<para>
The <emphasis>keyfile</emphasis> config format is a simple .ini-style
format. It consists of sections (groups) of key-value pairs. Each section
corresponds to a setting name as described in the settings specification
(<citerefentry><refentrytitle>nm-settings</refentrytitle>
<manvolnum>5</manvolnum></citerefentry>). Each configuration key/value
pair in the section is one of the properties listed in the settings
specification. The majority of properties of the specification is written
in the same format into the <emphasis>keyfile</emphasis> too. However
some values are inconvenient for people to use. These are stored in the
files in more readable ways. These properties are described bellow.
An example could be IP addresses that are not written as integer arrays,
but more reasonably as "1.2.3.4/12 1.2.3.254".
More information of the generic key file format can be found at
<ulink url="https://developer.gnome.org/glib/stable/glib-Key-value-file-parser.html#glib-Key-value-file-parser.description">
GLib key file format</ulink> (Lines beginning with a '#' are comments,
lists are separated by character <literal>;</literal> etc.).
</para>
<para>
Users can create or modify the <emphasis>keyfile</emphasis> connection files
manually, even if that is not the recommended way of managing the profiles.
However, if they choose to do that, they must inform NetworkManager about
their changes (see <emphasis>monitor-connection-file</emphasis> in
<citerefentry><refentrytitle>nm-settings</refentrytitle><manvolnum>5</manvolnum>
</citerefentry> and <emphasis>nmcli con (re)load</emphasis>).
</para>
<formalpara>
<title>Examples of <emphasis>keyfile</emphasis> configuration</title>
<para>
<programlisting>
<emphasis role="bold">A sample configuration for an ethernet network:</emphasis>
[connection]
id=Main eth0
uuid=27afa607-ee36-43f0-b8c3-9d245cdc4bb3
type=802-3-ethernet
autoconnect=true
[ipv4]
method=auto
[802-3-ethernet]
mac-address=00:23:5a:47:1f:71
</programlisting>
</para>
<para>
<programlisting>
<emphasis role="bold">A sample configuration for WPA-EAP (PEAP with MSCHAPv2) and always-ask secret:</emphasis>
[connection]
id=CompanyWIFI
uuid=cdac6154-a33b-4b15-9904-666772cfa5ee
type=wifi
autoconnect=false
[wifi]
ssid=CorpWLAN
mode=infrastructure
security=802-11-wireless-security
[wifi-security]
key-mgmt=wpa-eap
[ipv4]
method=auto
[ipv6]
method=auto
[802-1x]
eap=peap;
identity=joe
ca-cert=/home/joe/.cert/corp.crt
phase1-peapver=1
phase2-auth=mschapv2
password-flags=2
</programlisting>
</para>
<para>
<programlisting>
<emphasis role="bold">A sample configuration for openvpn:</emphasis>
[connection]
id=RedHat-openvpn
uuid=7f9b3356-b210-4c0e-8123-bd116c9c280f
type=vpn
timestamp=1385401165
[vpn]
service-type=org.freedesktop.NetworkManager.openvpn
connection-type=password
password-flags=3
remote=ovpn.my-company.com
cipher=AES-256-CBC
reneg-seconds=0
port=443
username=joe
ca=/etc/openvpn/ISCA.pem
tls-remote=ovpn.my-company.com
[ipv6]
method=auto
[ipv4]
method=auto
ignore-auto-dns=true
never-default=true
</programlisting>
</para>
<para>
<programlisting>
<emphasis role="bold">A sample configuration for a bridge and a bridge port:</emphasis>
[connection] [connection]
id=MainBridge id=br-port-1
uuid=171ae855-a0ab-42b6-bd0c-60f5812eea9d uuid=d6e8ae98-71f8-4b3d-9d2d-2e26048fe794
interface-name=MainBridge interface-name=em1
type=bridge type=ethernet
master=MainBridge
[bridge] slave-type=bridge
interface-name=MainBridge
</programlisting>
</para>
<para>
<programlisting>
<emphasis role="bold">A sample configuration for a VLAN:</emphasis>
[connection]
id=VLAN for building 4A
uuid=8ce1c9e0-ce7a-4d2c-aa28-077dda09dd7e
interface-name=VLAN-4A
type=vlan
[vlan]
interface-name=VLAN-4A
parent=eth0
id=4
</programlisting>
</para>
</formalpara>
</refsect1>
<refsect1>
<title>DETAILS</title>
<para>
<emphasis>keyfile</emphasis> plugin variables for the majority of NetworkManager
properties have one-to-one mapping. It means a NetworkManager property is stored
in the keyfile as a variable of the same name and in the same format.
There are several exceptions to this rule, mainly for making keyfile syntax easier
for humans. The exceptions handled specially by <emphasis>keyfile</emphasis>
plugin are listed bellow. Refer to
<citerefentry><refentrytitle>nm-settings</refentrytitle><manvolnum>5</manvolnum></citerefentry>
for all available settings and properties and their description.
</para>
<formalpara><title>Name aliases</title>
<para>
Some of the NetworkManager setting names are somewhat hard to type or remember. Therefore
<emphasis>keyfile</emphasis> introduces aliases that can be used instead of the names.
<!-- Hmm, why doesn't <simplelist type='horiz' columns='2'> create two columns? -->
<simplelist type='horiz' columns='1'>
<member><emphasis>setting name keyfile alias</emphasis></member>
<member>802-3-ethernet = ethernet</member>
<member>802-11-wireless = wifi</member>
<member>802-11-wireless-security = wifi-security</member>
</simplelist>
</para>
</formalpara>
<xsl:apply-templates/>
<refsect2 id="secrets-flags">
<title>Secret flags</title>
<para>
Each secret property in a NetworkManager setting has an associated <emphasis>flags</emphasis>
property that describes how to handle that secret. In the <emphasis>keyfile</emphasis> plugin,
the value of <emphasis>-flags</emphasis> variable is a decimal number (0 - 7) defined as a sum
of the following values:
</para>
<itemizedlist>
<listitem>
<para>0 - (NM owned) - the system is responsible for providing and storing this secret.</para>
</listitem>
<listitem>
<para>1 - (agent-owned) - a user-session secret agent is responsible for providing
and storing this secret; when it is required, agents will be asked to provide it.</para>
</listitem>
<listitem>
<para>2 - (not-saved) - this secret should not be saved but should be requested
from the user each time it is required.</para>
</listitem>
<listitem>
<para>4 - (not-required) - in some situations it cannot be automatically determined
that a secret is required or not. This flag hints that the secret is not required
and should not be requested from the user.</para>
</listitem>
</itemizedlist>
</refsect2>
</refsect1>
<refsect1>
<title>AUTHOR</title>
<para>
<author>
<firstname>NetworkManager developers</firstname>
</author>
</para>
</refsect1>
<refsect1>
<title>FILES</title>
<para><filename>/etc/NetworkManager/system-connections/*</filename></para>
</refsect1>
<refsect1>
<title>SEE ALSO</title>
<para>https://developer.gnome.org/NetworkManager/unstable/ref-settings.html</para>
<para>nm-settings(5), nm-settings-ifcfg-rh(5), NetworkManager(8), NetworkManager.conf(5), nmcli(1), nmcli-examples(5)</para>
</refsect1>
</refentry>
</xsl:template>
<xsl:template match="setting">
<xsl:variable name="setting_name" select="../@name"/>
<xsl:if test="property/@name != ''">
<table>
<title><xsl:value-of select="@name"/> setting (section)</title>
<tgroup cols="4">
<thead>
<row>
<entry>Property</entry>
<entry>Keyfile Variable</entry>
<entry>Format</entry>
<entry>Description</entry>
</row>
</thead>
<tbody>
<xsl:apply-templates/>
</tbody>
</tgroup>
</table>
</xsl:if>
</xsl:template>
<xsl:template match="property">
<row>
<entry align="left"><xsl:value-of select="@name"/></entry>
<entry align="left"><xsl:value-of select="@variable"/></entry>
<entry align="left"><xsl:value-of select="@format"/></entry>
<entry align="left">
<xsl:value-of select="@description"/>
<xsl:if test="string-length(@example)">
<emphasis role="bold">
Example: </emphasis><xsl:value-of select="@example"/>
</xsl:if>
<xsl:if test="string-length(@values)">
<emphasis role="bold">
Allowed values: </emphasis><xsl:value-of select="@values"/>
</xsl:if>
</entry>
</row>
</xsl:template>
</xsl:stylesheet>

View file

@ -14,82 +14,82 @@
<xsl:template match="nm-setting-docs">
<refentry id="nm-settings">
<refentryinfo>
<date><xsl:value-of select="$date"/></date>
<date><xsl:value-of select="$date"/></date>
</refentryinfo>
<refmeta>
<refentrytitle>nm-settings</refentrytitle>
<manvolnum>5</manvolnum>
<refmiscinfo class="source">NetworkManager</refmiscinfo>
<refmiscinfo class="manual">Configuration</refmiscinfo>
<refmiscinfo class="version"><xsl:value-of select="$version"/></refmiscinfo>
<refentrytitle>nm-settings</refentrytitle>
<manvolnum>5</manvolnum>
<refmiscinfo class="source">NetworkManager</refmiscinfo>
<refmiscinfo class="manual">Configuration</refmiscinfo>
<refmiscinfo class="version"><xsl:value-of select="$version"/></refmiscinfo>
</refmeta>
<refnamediv>
<refname>nm-settings</refname>
<refpurpose>Description of settings and properties of NetworkManager connection profiles</refpurpose>
<refname>nm-settings</refname>
<refpurpose>Description of settings and properties of NetworkManager connection profiles</refpurpose>
</refnamediv>
<refsect1>
<title>DESCRIPTION</title>
<para>
NetworkManager is based on a concept of connection profiles, sometimes referred to as
connections only. These connection profiles contain a network configuration. When
NetworkManager activates a connection profile on a network device the configuration will
be applied and an active network connection will be established. Users are free to create
as many connection profiles as they see fit. Thus they are flexible in having various network
configurations for different networking needs. The connection profiles are handled by
NetworkManager via <emphasis>settings service</emphasis> and are exported on D-Bus
(<emphasis>/org/freedesktop/NetworkManager/Settings/&lt;num&gt;</emphasis> objects).
The conceptual objects can be described as follows:
<variablelist>
<varlistentry>
<term>Connection (profile)</term>
<listitem>
<para>
A specific, encapsulated, independent group of settings describing
all the configuration required to connect to a specific network.
It is referred to by a unique identifier called the UUID. A connection
is tied to a one specific device type, but not necessarily a specific
hardware device. It is composed of one or more <emphasis>Settings</emphasis>
objects.
</para>
</listitem>
</varlistentry>
</variablelist>
<variablelist>
<varlistentry>
<term>Setting</term>
<listitem>
<para>
A group of related key/value pairs describing a specific piece of a
<emphasis>Connection (profile)</emphasis>. Settings keys and allowed values are
described in the tables below. Keys are also reffered to as properties.
Developers can find the setting objects and their properties in the libnm-util
sources. Look for the <function>class_init</function> functions near the bottom of
each setting source file.
</para>
</listitem>
</varlistentry>
</variablelist>
<variablelist>
<para>
The settings and properties shown in tables below list all available connection
configuration options. However, note that not all settings are applicable to all
connection types. NetworkManager provides a command-line tool <emphasis>nmcli</emphasis>
that allows direct configuration of the settings and properties according to a connection
profile type. <emphasis>nmcli</emphasis> connection editor has also a built-in
<emphasis>describe</emphasis> command that can display description of particular settings
and properties of this page.
</para>
</variablelist>
</para>
<title>DESCRIPTION</title>
<para>
NetworkManager is based on a concept of connection profiles, sometimes referred to as
connections only. These connection profiles contain a network configuration. When
NetworkManager activates a connection profile on a network device the configuration will
be applied and an active network connection will be established. Users are free to create
as many connection profiles as they see fit. Thus they are flexible in having various network
configurations for different networking needs. The connection profiles are handled by
NetworkManager via <emphasis>settings service</emphasis> and are exported on D-Bus
(<emphasis>/org/freedesktop/NetworkManager/Settings/&lt;num&gt;</emphasis> objects).
The conceptual objects can be described as follows:
<variablelist>
<varlistentry>
<term>Connection (profile)</term>
<listitem>
<para>
A specific, encapsulated, independent group of settings describing
all the configuration required to connect to a specific network.
It is referred to by a unique identifier called the UUID. A connection
is tied to a one specific device type, but not necessarily a specific
hardware device. It is composed of one or more <emphasis>Settings</emphasis>
objects.
</para>
</listitem>
</varlistentry>
</variablelist>
<variablelist>
<varlistentry>
<term>Setting</term>
<listitem>
<para>
A group of related key/value pairs describing a specific piece of a
<emphasis>Connection (profile)</emphasis>. Settings keys and allowed values are
described in the tables below. Keys are also reffered to as properties.
Developers can find the setting objects and their properties in the libnm-util
sources. Look for the <function>class_init</function> functions near the bottom of
each setting source file.
</para>
</listitem>
</varlistentry>
</variablelist>
<variablelist>
<para>
The settings and properties shown in tables below list all available connection
configuration options. However, note that not all settings are applicable to all
connection types. NetworkManager provides a command-line tool <emphasis>nmcli</emphasis>
that allows direct configuration of the settings and properties according to a connection
profile type. <emphasis>nmcli</emphasis> connection editor has also a built-in
<emphasis>describe</emphasis> command that can display description of particular settings
and properties of this page.
</para>
</variablelist>
</para>
<xsl:apply-templates/>
<refsect2 id="secrets-flags">
<title>Secret flag types:</title>
<para>
Each secret property in a setting has an associated <emphasis>flags</emphasis> property
that describes how to handle that secret. The <emphasis>flags</emphasis> property is a bitfield
that contains zero or more of the following values logically OR-ed together.
</para>
<itemizedlist>
<refsect2 id="secrets-flags">
<title>Secret flag types:</title>
<para>
Each secret property in a setting has an associated <emphasis>flags</emphasis> property
that describes how to handle that secret. The <emphasis>flags</emphasis> property is a bitfield
that contains zero or more of the following values logically OR-ed together.
</para>
<itemizedlist>
<listitem>
<para>0x0 (none) - the system is responsible for providing and storing this secret.</para>
</listitem>
@ -106,26 +106,26 @@
<para>0x4 (not-required) - in some situations it cannot be automatically determined that a secret
is required or not. This flag hints that the secret is not required and should not be requested from the user.</para>
</listitem>
</itemizedlist>
</refsect2>
</itemizedlist>
</refsect2>
</refsect1>
<refsect1>
<title>AUTHOR</title>
<para>
<author>
<title>AUTHOR</title>
<para>
<author>
<firstname>NetworkManager developers</firstname>
</author>
</para>
</author>
</para>
</refsect1>
<refsect1>
<title>FILES</title>
<para>/etc/NetworkManager/system-connections</para>
<para>or distro plugin-specific location</para>
<title>FILES</title>
<para>/etc/NetworkManager/system-connections</para>
<para>or distro plugin-specific location</para>
</refsect1>
<refsect1>
<title>SEE ALSO</title>
<para>https://wiki.gnome.org/Projects/NetworkManager/ConfigurationSpecification</para>
<para>NetworkManager(8), nmcli(1), nmcli-examples(5), NetworkManager.conf(5)</para>
<title>SEE ALSO</title>
<para>https://wiki.gnome.org/Projects/NetworkManager/ConfigurationSpecification</para>
<para>NetworkManager(8), nmcli(1), nmcli-examples(5), NetworkManager.conf(5)</para>
</refsect1>
</refentry>
</xsl:template>
@ -134,17 +134,17 @@
<table>
<title><xsl:value-of select="@name"/> setting</title>
<tgroup cols="4">
<thead>
<row>
<thead>
<row>
<entry>Key Name</entry>
<entry>Value Type</entry>
<entry>Default Value</entry>
<entry>Value Description</entry>
</row>
</thead>
<tbody>
<xsl:apply-templates/>
</tbody>
</row>
</thead>
<tbody>
<xsl:apply-templates/>
</tbody>
</tgroup>
</table>
</xsl:template>