Top | ![]() |
![]() |
![]() |
![]() |
NMSettingIP6ConfigNMSettingIP6Config — Describes IPv6 addressing, routing, and name service properties |
GPtrArray_GValueArray_GArray_guchar_+guint+GArray_guchar___* | addresses | Read / Write |
gchar * | dhcp-hostname | Read / Write |
GPtrArray_GArray_guchar__ * | dns | Read / Write |
GSList_gchararray_ * | dns-search | Read / Write |
gboolean | ignore-auto-dns | Read / Write / Construct |
gboolean | ignore-auto-routes | Read / Write / Construct |
gint | ip6-privacy | Read / Write / Construct |
gboolean | may-fail | Read / Write / Construct |
gchar * | method | Read / Write |
gboolean | never-default | Read / Write / Construct |
gint64 | route-metric | Read / Write / Construct |
GPtrArray_GValueArray_GArray_guchar_+guint+GArray_guchar_+guint__* | routes | Read / Write |
#define | NM_SETTING_IP6_CONFIG_SETTING_NAME |
enum | NMSettingIP6ConfigError |
#define | NM_SETTING_IP6_CONFIG_ERROR |
#define | NM_SETTING_IP6_CONFIG_METHOD |
#define | NM_SETTING_IP6_CONFIG_DNS |
#define | NM_SETTING_IP6_CONFIG_DNS_SEARCH |
#define | NM_SETTING_IP6_CONFIG_ADDRESSES |
#define | NM_SETTING_IP6_CONFIG_ROUTES |
#define | NM_SETTING_IP6_CONFIG_ROUTE_METRIC |
#define | NM_SETTING_IP6_CONFIG_IGNORE_AUTO_ROUTES |
#define | NM_SETTING_IP6_CONFIG_IGNORE_AUTO_DNS |
#define | NM_SETTING_IP6_CONFIG_NEVER_DEFAULT |
#define | NM_SETTING_IP6_CONFIG_MAY_FAIL |
#define | NM_SETTING_IP6_CONFIG_IP6_PRIVACY |
#define | NM_SETTING_IP6_CONFIG_DHCP_HOSTNAME |
#define | NM_SETTING_IP6_CONFIG_METHOD_IGNORE |
#define | NM_SETTING_IP6_CONFIG_METHOD_AUTO |
#define | NM_SETTING_IP6_CONFIG_METHOD_DHCP |
#define | NM_SETTING_IP6_CONFIG_METHOD_LINK_LOCAL |
#define | NM_SETTING_IP6_CONFIG_METHOD_MANUAL |
#define | NM_SETTING_IP6_CONFIG_METHOD_SHARED |
enum | NMSettingIP6ConfigPrivacy |
GBoxed ├── NMIP6Address ╰── NMIP6Route GEnum ├── NMSettingIP6ConfigError ╰── NMSettingIP6ConfigPrivacy GObject ╰── NMSetting ╰── NMSettingIP6Config
The NMSettingIP6Config object is a NMSetting subclass that describes properties related to IPv6 addressing, routing, and Domain Name Service
GQuark
nm_setting_ip6_config_error_quark (void
);
Registers an error quark for NMSettingIP6Config if necessary.
NMIP6Address *
nm_ip6_address_new (void
);
Creates and returns a new NMIP6Address object.
NMIP6Address *
nm_ip6_address_dup (NMIP6Address *source
);
Copies a given NMIP6Address object and returns the copy.
void
nm_ip6_address_ref (NMIP6Address *address
);
Increases the reference count of the object.
void
nm_ip6_address_unref (NMIP6Address *address
);
Decreases the reference count of the object. If the reference count reaches zero, the object will be destroyed.
gboolean nm_ip6_address_compare (NMIP6Address *address
,NMIP6Address *other
);
Determines if two NMIP6Address objects contain the same values.
const struct in6_addr *
nm_ip6_address_get_address (NMIP6Address *address
);
Gets the IPv6 address property of this address object.
void nm_ip6_address_set_address (NMIP6Address *address
,const struct in6_addr *addr
);
Sets the IPv6 address property of this object.
guint32
nm_ip6_address_get_prefix (NMIP6Address *address
);
Gets the IPv6 address prefix property of this address object.
void nm_ip6_address_set_prefix (NMIP6Address *address
,guint32 prefix
);
Sets the IPv6 address prefix.
const struct in6_addr *
nm_ip6_address_get_gateway (NMIP6Address *address
);
Gets the IPv6 default gateway property of this address object.
void nm_ip6_address_set_gateway (NMIP6Address *address
,const struct in6_addr *gateway
);
Sets the IPv6 default gateway property of this address object.
NMIP6Route *
nm_ip6_route_new (void
);
Creates and returns a new NMIP6Route object.
NMIP6Route *
nm_ip6_route_dup (NMIP6Route *source
);
Copies a given NMIP6Route object and returns the copy.
void
nm_ip6_route_ref (NMIP6Route *route
);
Increases the reference count of the object.
void
nm_ip6_route_unref (NMIP6Route *route
);
Decreases the reference count of the object. If the reference count reaches zero, the object will be destroyed.
gboolean nm_ip6_route_compare (NMIP6Route *route
,NMIP6Route *other
);
Determines if two NMIP6Route objects contain the same values.
const struct in6_addr *
nm_ip6_route_get_dest (NMIP6Route *route
);
Gets the IPv6 destination address property of this route object.
void nm_ip6_route_set_dest (NMIP6Route *route
,const struct in6_addr *dest
);
Sets the IPv6 destination address property of this route object.
guint32
nm_ip6_route_get_prefix (NMIP6Route *route
);
Gets the IPv6 prefix (ie "32" or "64" etc) of this route.
void nm_ip6_route_set_prefix (NMIP6Route *route
,guint32 prefix
);
Sets the IPv6 prefix of this route.
const struct in6_addr *
nm_ip6_route_get_next_hop (NMIP6Route *route
);
Gets the IPv6 address of the next hop of this route.
void nm_ip6_route_set_next_hop (NMIP6Route *route
,const struct in6_addr *next_hop
);
Sets the IPv6 address of the next hop of this route.
guint32
nm_ip6_route_get_metric (NMIP6Route *route
);
Gets the route metric property of this route object; lower values indicate "better" or more preferred routes.
void nm_ip6_route_set_metric (NMIP6Route *route
,guint32 metric
);
Sets the route metric property of this route object; lower values indicate "better" or more preferred routes.
NMSetting *
nm_setting_ip6_config_new (void
);
Creates a new NMSettingIP6Config object with default values.
const char *
nm_setting_ip6_config_get_method (NMSettingIP6Config *setting
);
guint32
nm_setting_ip6_config_get_num_dns (NMSettingIP6Config *setting
);
const struct in6_addr * nm_setting_ip6_config_get_dns (NMSettingIP6Config *setting
,guint32 i
);
gboolean nm_setting_ip6_config_add_dns (NMSettingIP6Config *setting
,const struct in6_addr *dns
);
Adds a new DNS server to the setting.
void nm_setting_ip6_config_remove_dns (NMSettingIP6Config *setting
,guint32 i
);
Removes the DNS server at index i
.
gboolean nm_setting_ip6_config_remove_dns_by_value (NMSettingIP6Config *setting
,const struct in6_addr *dns
);
Removes the DNS server at index i
.
Since: 0.9.10
void
nm_setting_ip6_config_clear_dns (NMSettingIP6Config *setting
);
Removes all configured DNS servers.
guint32
nm_setting_ip6_config_get_num_dns_searches
(NMSettingIP6Config *setting
);
const char * nm_setting_ip6_config_get_dns_search (NMSettingIP6Config *setting
,guint32 i
);
gboolean nm_setting_ip6_config_add_dns_search (NMSettingIP6Config *setting
,const char *dns_search
);
Adds a new DNS search domain to the setting.
void nm_setting_ip6_config_remove_dns_search (NMSettingIP6Config *setting
,guint32 i
);
Removes the DNS search domain at index i
.
gboolean nm_setting_ip6_config_remove_dns_search_by_value (NMSettingIP6Config *setting
,const char *dns_search
);
Removes the DNS search domain dns_search
.
void
nm_setting_ip6_config_clear_dns_searches
(NMSettingIP6Config *setting
);
Removes all configured DNS search domains.
guint32
nm_setting_ip6_config_get_num_addresses
(NMSettingIP6Config *setting
);
NMIP6Address * nm_setting_ip6_config_get_address (NMSettingIP6Config *setting
,guint32 i
);
gboolean nm_setting_ip6_config_add_address (NMSettingIP6Config *setting
,NMIP6Address *address
);
Adds a new IPv6 address and associated information to the setting. The given address is duplicated internally and is not changed by this function.
void nm_setting_ip6_config_remove_address (NMSettingIP6Config *setting
,guint32 i
);
Removes the address at index i
.
gboolean nm_setting_ip6_config_remove_address_by_value (NMSettingIP6Config *setting
,NMIP6Address *address
);
Removes the address address
.
Since: 0.9.10
void
nm_setting_ip6_config_clear_addresses (NMSettingIP6Config *setting
);
Removes all configured addresses.
guint32
nm_setting_ip6_config_get_num_routes (NMSettingIP6Config *setting
);
NMIP6Route * nm_setting_ip6_config_get_route (NMSettingIP6Config *setting
,guint32 i
);
gboolean nm_setting_ip6_config_add_route (NMSettingIP6Config *setting
,NMIP6Route *route
);
Adds a new IPv6 route and associated information to the setting. The given route is duplicated internally and is not changed by this function.
void nm_setting_ip6_config_remove_route (NMSettingIP6Config *setting
,guint32 i
);
Removes the route at index i
.
gboolean nm_setting_ip6_config_remove_route_by_value (NMSettingIP6Config *setting
,NMIP6Route *route
);
Removes the route route
.
Since: 0.9.10
void
nm_setting_ip6_config_clear_routes (NMSettingIP6Config *setting
);
Removes all configured routes.
gboolean
nm_setting_ip6_config_get_ignore_auto_routes
(NMSettingIP6Config *setting
);
Returns the value contained in the “ignore-auto-routes” property.
gint64
nm_setting_ip6_config_get_route_metric
(NMSettingIP6Config *setting
);
Returns the value contained in the “route-metric” property.
the route metric that is used for IPv6 routes that don't explicitly specify a metric. See “route-metric” for more details.
Since: 1.0
gboolean
nm_setting_ip6_config_get_ignore_auto_dns
(NMSettingIP6Config *setting
);
Returns the value contained in the “ignore-auto-dns” property.
TRUE
if automatically configured (ie via DHCP or router
advertisements) DNS information should be ignored.
const char *
nm_setting_ip6_config_get_dhcp_hostname
(NMSettingIP6Config *setting
);
Returns the value contained in the “dhcp-hostname” property.
Since: 0.9.8
gboolean
nm_setting_ip6_config_get_never_default
(NMSettingIP6Config *setting
);
Returns the value contained in the “never-default” property.
gboolean
nm_setting_ip6_config_get_may_fail (NMSettingIP6Config *setting
);
Returns the value contained in the “may-fail” property.
TRUE
if this connection doesn't require IPv6 addressing to complete
for the connection to succeed.
NMSettingIP6ConfigPrivacy
nm_setting_ip6_config_get_ip6_privacy (NMSettingIP6Config *setting
);
Returns the value contained in the “ip6-privacy” property.
#define NM_SETTING_IP6_CONFIG_ERROR nm_setting_ip6_config_error_quark ()
#define NM_SETTING_IP6_CONFIG_IGNORE_AUTO_ROUTES "ignore-auto-routes"
#define NM_SETTING_IP6_CONFIG_IGNORE_AUTO_DNS "ignore-auto-dns"
#define NM_SETTING_IP6_CONFIG_METHOD_IGNORE "ignore"
IPv6 is not required or is handled by some other mechanism, and NetworkManager should not configure IPv6 for this connection.
#define NM_SETTING_IP6_CONFIG_METHOD_AUTO "auto"
IPv6 configuration should be automatically determined via a method appropriate for the hardware interface, ie router advertisements, DHCP, or PPP or some other device-specific manner.
#define NM_SETTING_IP6_CONFIG_METHOD_DHCP "dhcp"
IPv6 configuration should be automatically determined via DHCPv6 only and router advertisements should be ignored.
#define NM_SETTING_IP6_CONFIG_METHOD_LINK_LOCAL "link-local"
IPv6 configuration should be automatically configured for link-local-only operation.
#define NM_SETTING_IP6_CONFIG_METHOD_MANUAL "manual"
All necessary IPv6 configuration (addresses, prefix, DNS, etc) is specified in the setting's properties.
#define NM_SETTING_IP6_CONFIG_METHOD_SHARED "shared"
This connection specifies configuration that allows other computers to connect through it to the default network (usually the Internet). The connection's interface will be assigned a private address, and router advertisements, a caching DNS server, and Network Address Translation (NAT) functionality will be started on this connection's interface to allow other devices to connect through that interface to the default network. (not yet supported for IPv6)
NMSettingIP6ConfigPrivacy values indicate if and how IPv6 Privacy Extensions are used (RFC4941).
“addresses”
property “addresses” GPtrArray_GValueArray_GArray_guchar_+guint+GArray_guchar___*
Array of IPv6 address structures. Each IPv6 address structure is composed of 3 members, the first being a byte array containing the IPv6 address (network byte order), the second a 32-bit integer containing the IPv6 address prefix, and the third a byte array containing the IPv6 address (network byte order) of the gateway associated with this address, if any. If no gateway is given, the third element should be given as all zeros. For the "auto" method, given IP addresses are appended to those returned by automatic configuration. Addresses cannot be used with the "shared" or "link-local" methods as the interface is automatically assigned an address with these methods.
Flags: Read / Write
“dhcp-hostname”
property“dhcp-hostname” gchar *
The specified name will be sent to the DHCP server when acquiring a lease.
Flags: Read / Write
Default value: NULL
Since: 0.9.8
“dns”
property “dns” GPtrArray_GArray_guchar__ *
Array of DNS servers, where each member of the array is a byte array containing the IPv6 address of the DNS server (in network byte order). For the "auto" method, these DNS servers are appended to those (if any) returned by automatic configuration. DNS servers cannot be used with the "shared" or "link-local" methods as there is no usptream network. In all other methods, these DNS servers are used as the only DNS servers for this connection.
Flags: Read / Write
“dns-search”
property “dns-search” GSList_gchararray_ *
List of DNS search domains. For the "auto" method, these search domains are appended to those returned by automatic configuration. Search domains cannot be used with the "shared" or "link-local" methods as there is no upstream network. In all other methods, these search domains are used as the only search domains for this connection.
Flags: Read / Write
“ignore-auto-dns”
property“ignore-auto-dns” gboolean
When the method is set to "auto" or "dhcp" and this property is set to
TRUE
, automatically configured nameservers and search domains are
ignored and only nameservers and search domains specified in the
“dns” and “dns-search” properties, if
any, are used.
Flags: Read / Write / Construct
Default value: FALSE
“ignore-auto-routes”
property“ignore-auto-routes” gboolean
When the method is set to "auto" or "dhcp" and this property is set to
TRUE
, automatically configured routes are ignored and only routes
specified in the “routes” property, if any, are used.
Flags: Read / Write / Construct
Default value: FALSE
“ip6-privacy”
property“ip6-privacy” gint
Configure IPv6 Privacy Extensions for SLAAC, described in RFC4941. If enabled, it makes the kernel generate a temporary IPv6 address in addition to the public one generated from MAC address via modified EUI-64. This enhances privacy, but could cause problems in some applications, on the other hand. The permitted values are: 0: disabled, 1: enabled (prefer public address), 2: enabled (prefer temporary addresses).
Flags: Read / Write / Construct
Allowed values: [-1,2]
Default value: -1
“may-fail”
property“may-fail” gboolean
If TRUE
, allow overall network configuration to proceed even if IPv6
configuration times out. Note that at least one IP configuration must
succeed or overall network configuration will still fail. For example,
in IPv4-only networks, setting this property to TRUE
allows the overall
network configuration to succeed if IPv6 configuration fails but IPv4
configuration completes successfully.
Flags: Read / Write / Construct
Default value: TRUE
“method”
property“method” gchar *
IPv6 configuration method. If "auto" is specified then the appropriate automatic method (PPP, router advertisement, etc) is used for the device and most other properties can be left unset. To force the use of DHCP only, specify "dhcp"; this method is only valid for Ethernet- based hardware. If "link-local" is specified, then an IPv6 link-local address will be assigned to the interface. If "manual" is specified, static IP addressing is used and at least one IP address must be given in the "addresses" property. If "ignore" is specified, IPv6 configuration is not done. This property must be set. Note: the "shared" method is not yet supported.
Flags: Read / Write
Default value: NULL
“never-default”
property“never-default” gboolean
If TRUE
, this connection will never be the default IPv6 connection,
meaning it will never be assigned the default IPv6 route by
NetworkManager.
Flags: Read / Write / Construct
Default value: FALSE
“route-metric”
property“route-metric” gint64
The default metric for routes that don't explicitly specify a metric. The default value -1 means that the metric is chosen automatically based on the device type. The metric applies to dynamic routes, manual (static) routes that don't have an explicit metric setting, address prefix routes, and the default route. As the linux kernel replaces zero (0) by 1024 (user-default), setting this property to 0 means effectively setting it to 1024.
Flags: Read / Write / Construct
Allowed values: [-1,4294967295]
Default value: -1
Since: 1.0
“routes”
property “routes” GPtrArray_GValueArray_GArray_guchar_+guint+GArray_guchar_+guint__*
Array of IPv6 route structures. Each IPv6 route structure is composed of 4 members; the first being the destination IPv6 network or address (network byte order) as a byte array, the second the destination network or address IPv6 prefix, the third being the next-hop IPv6 address (network byte order) if any, and the fourth being the route metric. For the "auto" method, given IP routes are appended to those returned by automatic configuration. Routes cannot be used with the "shared" or "link-local" methods because there is no upstream network.
Flags: Read / Write