NMSettingIPConfig

NMSettingIPConfig — Abstract base class for IPv4 and IPv6 addressing, routing, and name service properties

Functions

NMIPAddress * nm_ip_address_new ()
NMIPAddress * nm_ip_address_new_binary ()
void nm_ip_address_ref ()
void nm_ip_address_unref ()
gboolean nm_ip_address_equal ()
int nm_ip_address_cmp_full ()
NMIPAddress * nm_ip_address_dup ()
int nm_ip_address_get_family ()
const char * nm_ip_address_get_address ()
void nm_ip_address_set_address ()
void nm_ip_address_get_address_binary ()
void nm_ip_address_set_address_binary ()
guint nm_ip_address_get_prefix ()
void nm_ip_address_set_prefix ()
char ** nm_ip_address_get_attribute_names ()
GVariant * nm_ip_address_get_attribute ()
void nm_ip_address_set_attribute ()
NMIPRoute * nm_ip_route_new ()
NMIPRoute * nm_ip_route_new_binary ()
void nm_ip_route_ref ()
void nm_ip_route_unref ()
gboolean nm_ip_route_equal ()
gboolean nm_ip_route_equal_full ()
NMIPRoute * nm_ip_route_dup ()
int nm_ip_route_get_family ()
const char * nm_ip_route_get_dest ()
void nm_ip_route_set_dest ()
void nm_ip_route_get_dest_binary ()
void nm_ip_route_set_dest_binary ()
guint nm_ip_route_get_prefix ()
void nm_ip_route_set_prefix ()
const char * nm_ip_route_get_next_hop ()
void nm_ip_route_set_next_hop ()
gboolean nm_ip_route_get_next_hop_binary ()
void nm_ip_route_set_next_hop_binary ()
gint64 nm_ip_route_get_metric ()
void nm_ip_route_set_metric ()
char ** nm_ip_route_get_attribute_names ()
GVariant * nm_ip_route_get_attribute ()
void nm_ip_route_set_attribute ()
const NMVariantAttributeSpec *const * nm_ip_route_get_variant_attribute_spec ()
gboolean nm_ip_route_attribute_validate ()
NMIPRoutingRule * nm_ip_routing_rule_new ()
NMIPRoutingRule * nm_ip_routing_rule_new_clone ()
NMIPRoutingRule * nm_ip_routing_rule_ref ()
void nm_ip_routing_rule_unref ()
gboolean nm_ip_routing_rule_is_sealed ()
void nm_ip_routing_rule_seal ()
int nm_ip_routing_rule_get_addr_family ()
gboolean nm_ip_routing_rule_get_invert ()
void nm_ip_routing_rule_set_invert ()
gint64 nm_ip_routing_rule_get_priority ()
void nm_ip_routing_rule_set_priority ()
guint8 nm_ip_routing_rule_get_tos ()
void nm_ip_routing_rule_set_tos ()
guint8 nm_ip_routing_rule_get_ipproto ()
void nm_ip_routing_rule_set_ipproto ()
guint16 nm_ip_routing_rule_get_source_port_start ()
guint16 nm_ip_routing_rule_get_source_port_end ()
void nm_ip_routing_rule_set_source_port ()
guint16 nm_ip_routing_rule_get_destination_port_start ()
guint16 nm_ip_routing_rule_get_destination_port_end ()
void nm_ip_routing_rule_set_destination_port ()
guint32 nm_ip_routing_rule_get_fwmark ()
guint32 nm_ip_routing_rule_get_fwmask ()
void nm_ip_routing_rule_set_fwmark ()
guint8 nm_ip_routing_rule_get_from_len ()
const char * nm_ip_routing_rule_get_from ()
void nm_ip_routing_rule_set_from ()
guint8 nm_ip_routing_rule_get_to_len ()
const char * nm_ip_routing_rule_get_to ()
void nm_ip_routing_rule_set_to ()
const char * nm_ip_routing_rule_get_iifname ()
void nm_ip_routing_rule_set_iifname ()
const char * nm_ip_routing_rule_get_oifname ()
void nm_ip_routing_rule_set_oifname ()
guint8 nm_ip_routing_rule_get_action ()
void nm_ip_routing_rule_set_action ()
guint32 nm_ip_routing_rule_get_table ()
void nm_ip_routing_rule_set_table ()
gint32 nm_ip_routing_rule_get_suppress_prefixlength ()
void nm_ip_routing_rule_set_suppress_prefixlength ()
int nm_ip_routing_rule_cmp ()
gboolean nm_ip_routing_rule_validate ()
NMIPRoutingRule * nm_ip_routing_rule_from_string ()
char * nm_ip_routing_rule_to_string ()
const char * nm_setting_ip_config_get_method ()
guint nm_setting_ip_config_get_num_dns ()
const char * nm_setting_ip_config_get_dns ()
gboolean nm_setting_ip_config_add_dns ()
void nm_setting_ip_config_remove_dns ()
gboolean nm_setting_ip_config_remove_dns_by_value ()
void nm_setting_ip_config_clear_dns ()
guint nm_setting_ip_config_get_num_dns_searches ()
const char * nm_setting_ip_config_get_dns_search ()
gboolean nm_setting_ip_config_add_dns_search ()
void nm_setting_ip_config_remove_dns_search ()
gboolean nm_setting_ip_config_remove_dns_search_by_value ()
void nm_setting_ip_config_clear_dns_searches ()
guint nm_setting_ip_config_get_num_dns_options ()
gboolean nm_setting_ip_config_has_dns_options ()
const char * nm_setting_ip_config_get_dns_option ()
gboolean nm_setting_ip_config_add_dns_option ()
void nm_setting_ip_config_remove_dns_option ()
gboolean nm_setting_ip_config_remove_dns_option_by_value ()
void nm_setting_ip_config_clear_dns_options ()
int nm_setting_ip_config_get_dns_priority ()
guint nm_setting_ip_config_get_num_addresses ()
NMIPAddress * nm_setting_ip_config_get_address ()
gboolean nm_setting_ip_config_add_address ()
void nm_setting_ip_config_remove_address ()
gboolean nm_setting_ip_config_remove_address_by_value ()
void nm_setting_ip_config_clear_addresses ()
const char * nm_setting_ip_config_get_gateway ()
guint nm_setting_ip_config_get_num_routes ()
NMIPRoute * nm_setting_ip_config_get_route ()
gboolean nm_setting_ip_config_add_route ()
void nm_setting_ip_config_remove_route ()
gboolean nm_setting_ip_config_remove_route_by_value ()
void nm_setting_ip_config_clear_routes ()
gint64 nm_setting_ip_config_get_route_metric ()
guint32 nm_setting_ip_config_get_route_table ()
guint nm_setting_ip_config_get_num_routing_rules ()
NMIPRoutingRule * nm_setting_ip_config_get_routing_rule ()
void nm_setting_ip_config_add_routing_rule ()
void nm_setting_ip_config_remove_routing_rule ()
void nm_setting_ip_config_clear_routing_rules ()
gboolean nm_setting_ip_config_get_ignore_auto_routes ()
gboolean nm_setting_ip_config_get_ignore_auto_dns ()
const char * nm_setting_ip_config_get_dhcp_hostname ()
gboolean nm_setting_ip_config_get_dhcp_send_hostname ()
gboolean nm_setting_ip_config_get_never_default ()
gboolean nm_setting_ip_config_get_may_fail ()
int nm_setting_ip_config_get_dad_timeout ()
int nm_setting_ip_config_get_dhcp_timeout ()
const char * nm_setting_ip_config_get_dhcp_iaid ()
NMDhcpHostnameFlags nm_setting_ip_config_get_dhcp_hostname_flags ()
const char *const * nm_setting_ip_config_get_dhcp_reject_servers ()
void nm_setting_ip_config_add_dhcp_reject_server ()
void nm_setting_ip_config_remove_dhcp_reject_server ()
void nm_setting_ip_config_clear_dhcp_reject_servers ()

Properties

GPtrArray * addresses Read / Write
int dad-timeout Read / Write
char * dhcp-hostname Read / Write
guint dhcp-hostname-flags Read / Write
char * dhcp-iaid Read / Write
GStrv dhcp-reject-servers Read / Write
gboolean dhcp-send-hostname Read / Write
int dhcp-timeout Read / Write
GStrv dns Read / Write
GStrv dns-options Read / Write
int dns-priority Read / Write
GStrv dns-search Read / Write
char * gateway Read / Write
gboolean ignore-auto-dns Read / Write
gboolean ignore-auto-routes Read / Write
gboolean may-fail Read / Write
char * method Read / Write
gboolean never-default Read / Write
gint64 route-metric Read / Write
guint route-table Read / Write
GPtrArray * routes Read / Write

Types and Values

#define NM_IP_ADDRESS_ATTRIBUTE_LABEL
enum NMIPAddressCmpFlags
#define NM_IP_ROUTE_ATTRIBUTE_CWND
#define NM_IP_ROUTE_ATTRIBUTE_FROM
#define NM_IP_ROUTE_ATTRIBUTE_INITCWND
#define NM_IP_ROUTE_ATTRIBUTE_INITRWND
#define NM_IP_ROUTE_ATTRIBUTE_LOCK_CWND
#define NM_IP_ROUTE_ATTRIBUTE_LOCK_INITCWND
#define NM_IP_ROUTE_ATTRIBUTE_LOCK_INITRWND
#define NM_IP_ROUTE_ATTRIBUTE_LOCK_MTU
#define NM_IP_ROUTE_ATTRIBUTE_LOCK_WINDOW
#define NM_IP_ROUTE_ATTRIBUTE_MTU
#define NM_IP_ROUTE_ATTRIBUTE_ONLINK
#define NM_IP_ROUTE_ATTRIBUTE_SCOPE
#define NM_IP_ROUTE_ATTRIBUTE_SRC
#define NM_IP_ROUTE_ATTRIBUTE_TABLE
#define NM_IP_ROUTE_ATTRIBUTE_TOS
#define NM_IP_ROUTE_ATTRIBUTE_TYPE
#define NM_IP_ROUTE_ATTRIBUTE_WINDOW
enum NMIPRoutingRuleAsStringFlags
#define NM_SETTING_IP_CONFIG_DAD_TIMEOUT_MAX
#define NM_SETTING_IP_CONFIG_METHOD
#define NM_SETTING_IP_CONFIG_DNS
#define NM_SETTING_IP_CONFIG_DNS_SEARCH
#define NM_SETTING_IP_CONFIG_DNS_OPTIONS
#define NM_SETTING_IP_CONFIG_DNS_PRIORITY
#define NM_SETTING_IP_CONFIG_ADDRESSES
#define NM_SETTING_IP_CONFIG_GATEWAY
#define NM_SETTING_IP_CONFIG_ROUTES
#define NM_SETTING_IP_CONFIG_ROUTE_METRIC
#define NM_SETTING_IP_CONFIG_ROUTE_TABLE
#define NM_SETTING_IP_CONFIG_IGNORE_AUTO_ROUTES
#define NM_SETTING_IP_CONFIG_IGNORE_AUTO_DNS
#define NM_SETTING_IP_CONFIG_DHCP_HOSTNAME
#define NM_SETTING_IP_CONFIG_DHCP_SEND_HOSTNAME
#define NM_SETTING_IP_CONFIG_DHCP_HOSTNAME_FLAGS
#define NM_SETTING_IP_CONFIG_NEVER_DEFAULT
#define NM_SETTING_IP_CONFIG_MAY_FAIL
#define NM_SETTING_IP_CONFIG_DAD_TIMEOUT
#define NM_SETTING_IP_CONFIG_DHCP_TIMEOUT
#define NM_SETTING_IP_CONFIG_DHCP_IAID
#define NM_SETTING_IP_CONFIG_DHCP_REJECT_SERVERS
#define NM_SETTING_IP_CONFIG_ROUTING_RULES
#define NM_SETTING_DNS_OPTION_DEBUG
#define NM_SETTING_DNS_OPTION_NDOTS
#define NM_SETTING_DNS_OPTION_TIMEOUT
#define NM_SETTING_DNS_OPTION_ATTEMPTS
#define NM_SETTING_DNS_OPTION_ROTATE
#define NM_SETTING_DNS_OPTION_NO_CHECK_NAMES
#define NM_SETTING_DNS_OPTION_INET6
#define NM_SETTING_DNS_OPTION_IP6_BYTESTRING
#define NM_SETTING_DNS_OPTION_IP6_DOTINT
#define NM_SETTING_DNS_OPTION_NO_IP6_DOTINT
#define NM_SETTING_DNS_OPTION_EDNS0
#define NM_SETTING_DNS_OPTION_SINGLE_REQUEST
#define NM_SETTING_DNS_OPTION_SINGLE_REQUEST_REOPEN
#define NM_SETTING_DNS_OPTION_NO_TLD_QUERY
#define NM_SETTING_DNS_OPTION_USE_VC
#define NM_SETTING_DNS_OPTION_NO_RELOAD
#define NM_SETTING_DNS_OPTION_TRUST_AD
  NMSettingIPConfig
enum NMDhcpHostnameFlags

Object Hierarchy

    GBoxed
    ├── NMIPAddress
    ├── NMIPRoute
    ╰── NMIPRoutingRule
    GFlags
    ├── NMDhcpHostnameFlags
    ├── NMIPAddressCmpFlags
    ╰── NMIPRoutingRuleAsStringFlags
    GObject
    ╰── NMSetting
        ╰── NMSettingIPConfig
            ├── NMSettingIP4Config
            ╰── NMSettingIP6Config

Includes

#include <nm-setting-ip-config.h>

Description

NMSettingIPConfig is the abstract base class of NMSettingIP4Config and NMSettingIP6Config, providing properties related to IP addressing, routing, and Domain Name Service.

Functions

nm_ip_address_new ()

NMIPAddress *
nm_ip_address_new (int family,
                   const char *addr,
                   guint prefix,
                   GError **error);

Creates a new NMIPAddress object.

Parameters

family

the IP address family (AF_INET or AF_INET6)

 

addr

the IP address

 

prefix

the address prefix length

 

error

location to store error, or NULL

 

Returns

the new NMIPAddress object, or NULL on error.

[transfer full]


nm_ip_address_new_binary ()

NMIPAddress *
nm_ip_address_new_binary (int family,
                          gconstpointer addr,
                          guint prefix,
                          GError **error);

Creates a new NMIPAddress object. addr must point to a buffer of the correct size for family .

Parameters

family

the IP address family (AF_INET or AF_INET6)

 

addr

the IP address

 

prefix

the address prefix length

 

error

location to store error, or NULL

 

Returns

the new NMIPAddress object, or NULL on error.

[transfer full]


nm_ip_address_ref ()

void
nm_ip_address_ref (NMIPAddress *address);

Increases the reference count of the object.

Parameters

address

the NMIPAddress

 

nm_ip_address_unref ()

void
nm_ip_address_unref (NMIPAddress *address);

Decreases the reference count of the object. If the reference count reaches zero, the object will be destroyed.

Parameters

address

the NMIPAddress

 

nm_ip_address_equal ()

gboolean
nm_ip_address_equal (NMIPAddress *address,
                     NMIPAddress *other);

Determines if two NMIPAddress objects contain the same address and prefix (attributes are not compared).

Parameters

address

the NMIPAddress

 

other

the NMIPAddress to compare address to.

 

Returns

TRUE if the objects contain the same values, FALSE if they do not.


nm_ip_address_cmp_full ()

int
nm_ip_address_cmp_full (const NMIPAddress *a,
                        const NMIPAddress *b,
                        NMIPAddressCmpFlags cmp_flags);

Note that with cmp_flags NM_IP_ADDRESS_CMP_FLAGS_WITH_ATTRS, there is no total order for comparing GVariant. That means, if the two addresses only differ by their attributes, the sort order is undefined and the return value only indicates equality.

Parameters

a

the NMIPAddress

 

b

the NMIPAddress to compare address to.

 

cmp_flags

the NMIPAddressCmpFlags that indicate what to compare.

 

Returns

0 if the two objects have the same values (according to their flags) or a integer indicating the compare order.


nm_ip_address_dup ()

NMIPAddress *
nm_ip_address_dup (NMIPAddress *address);

Creates a copy of address

Parameters

address

the NMIPAddress

 

Returns

a copy of address .

[transfer full]


nm_ip_address_get_family ()

int
nm_ip_address_get_family (NMIPAddress *address);

Gets the IP address family (eg, AF_INET) property of this address object.

Parameters

address

the NMIPAddress

 

Returns

the IP address family


nm_ip_address_get_address ()

const char *
nm_ip_address_get_address (NMIPAddress *address);

Gets the IP address property of this address object.

Parameters

address

the NMIPAddress

 

Returns

the IP address


nm_ip_address_set_address ()

void
nm_ip_address_set_address (NMIPAddress *address,
                           const char *addr);

Sets the IP address property of this address object.

addr must be a valid address of address 's family. If you aren't sure you have a valid address, use nm_utils_ipaddr_valid() to check it.

Parameters

address

the NMIPAddress

 

addr

the IP address, as a string

 

nm_ip_address_get_address_binary ()

void
nm_ip_address_get_address_binary (NMIPAddress *address,
                                  gpointer addr);

Gets the IP address property of this address object.

addr must point to a buffer that is the correct size for address 's family.

[skip]

Parameters

address

the NMIPAddress

 

addr

a buffer in which to store the address in binary format.

 

nm_ip_address_set_address_binary ()

void
nm_ip_address_set_address_binary (NMIPAddress *address,
                                  gconstpointer addr);

Sets the IP address property of this address object.

addr must point to a buffer that is the correct size for address 's family.

[skip]

Parameters

address

the NMIPAddress

 

addr

the address, in binary format

 

nm_ip_address_get_prefix ()

guint
nm_ip_address_get_prefix (NMIPAddress *address);

Gets the IP address prefix (ie "24" or "30" etc) property of this address object.

Parameters

address

the NMIPAddress

 

Returns

the IP address prefix


nm_ip_address_set_prefix ()

void
nm_ip_address_set_prefix (NMIPAddress *address,
                          guint prefix);

Sets the IP address prefix property of this address object.

Parameters

address

the NMIPAddress

 

prefix

the IP address prefix

 

nm_ip_address_get_attribute_names ()

char **
nm_ip_address_get_attribute_names (NMIPAddress *address);

Gets an array of attribute names defined on address .

Parameters

address

the NMIPAddress

 

Returns

a NULL-terminated array of attribute names,.

[transfer full]


nm_ip_address_get_attribute ()

GVariant *
nm_ip_address_get_attribute (NMIPAddress *address,
                             const char *name);

Gets the value of the attribute with name name on address

Parameters

address

the NMIPAddress

 

name

the name of an address attribute

 

Returns

the value of the attribute with name name on address , or NULL if address has no such attribute.

[transfer none]


nm_ip_address_set_attribute ()

void
nm_ip_address_set_attribute (NMIPAddress *address,
                             const char *name,
                             GVariant *value);

Sets or clears the named attribute on address to the given value.

Parameters

address

the NMIPAddress

 

name

the name of an address attribute

 

value

the value.

[transfer none][allow-none]

nm_ip_route_new ()

NMIPRoute *
nm_ip_route_new (int family,
                 const char *dest,
                 guint prefix,
                 const char *next_hop,
                 gint64 metric,
                 GError **error);

Creates a new NMIPRoute object.

Parameters

family

the IP address family (AF_INET or AF_INET6)

 

dest

the IP address of the route's destination

 

prefix

the address prefix length

 

next_hop

the IP address of the next hop (or NULL).

[allow-none]

metric

the route metric (or -1 for "default")

 

error

location to store error, or NULL

 

Returns

the new NMIPRoute object, or NULL on error.

[transfer full]


nm_ip_route_new_binary ()

NMIPRoute *
nm_ip_route_new_binary (int family,
                        gconstpointer dest,
                        guint prefix,
                        gconstpointer next_hop,
                        gint64 metric,
                        GError **error);

Creates a new NMIPRoute object. dest and next_hop (if non-NULL) must point to buffers of the correct size for family .

Parameters

family

the IP address family (AF_INET or AF_INET6)

 

dest

the IP address of the route's destination

 

prefix

the address prefix length

 

next_hop

the IP address of the next hop (or NULL).

[allow-none]

metric

the route metric (or -1 for "default")

 

error

location to store error, or NULL

 

Returns

the new NMIPRoute object, or NULL on error.

[transfer full]


nm_ip_route_ref ()

void
nm_ip_route_ref (NMIPRoute *route);

Increases the reference count of the object.

Parameters

route

the NMIPRoute

 

nm_ip_route_unref ()

void
nm_ip_route_unref (NMIPRoute *route);

Decreases the reference count of the object. If the reference count reaches zero, the object will be destroyed.

Parameters

route

the NMIPRoute

 

nm_ip_route_equal ()

gboolean
nm_ip_route_equal (NMIPRoute *route,
                   NMIPRoute *other);

Determines if two NMIPRoute objects contain the same destination, prefix, next hop, and metric. (Attributes are not compared.)

Parameters

route

the NMIPRoute

 

other

the NMIPRoute to compare route to.

 

Returns

TRUE if the objects contain the same values, FALSE if they do not.


nm_ip_route_equal_full ()

gboolean
nm_ip_route_equal_full (NMIPRoute *route,
                        NMIPRoute *other,
                        guint cmp_flags);

Determines if two NMIPRoute objects contain the same destination, prefix, next hop, and metric.

Parameters

route

the NMIPRoute

 

other

the NMIPRoute to compare route to.

 

cmp_flags

tune how to compare attributes. Currently, only NM_IP_ROUTE_EQUAL_CMP_FLAGS_NONE (0) and NM_IP_ROUTE_EQUAL_CMP_FLAGS_WITH_ATTRS (1) is supported.

 

Returns

TRUE if the objects contain the same values, FALSE if they do not.

Since: 1.10


nm_ip_route_dup ()

NMIPRoute *
nm_ip_route_dup (NMIPRoute *route);

Creates a copy of route

Parameters

route

the NMIPRoute

 

Returns

a copy of route .

[transfer full]


nm_ip_route_get_family ()

int
nm_ip_route_get_family (NMIPRoute *route);

Gets the IP address family (eg, AF_INET) property of this route object.

Parameters

route

the NMIPRoute

 

Returns

the IP address family


nm_ip_route_get_dest ()

const char *
nm_ip_route_get_dest (NMIPRoute *route);

Gets the IP destination address property of this route object.

Parameters

route

the NMIPRoute

 

Returns

the IP address of the route's destination


nm_ip_route_set_dest ()

void
nm_ip_route_set_dest (NMIPRoute *route,
                      const char *dest);

Sets the destination property of this route object.

dest must be a valid address of route 's family. If you aren't sure you have a valid address, use nm_utils_ipaddr_is_valid() to check it.

Parameters

route

the NMIPRoute

 

dest

the route's destination, as a string

 

nm_ip_route_get_dest_binary ()

void
nm_ip_route_get_dest_binary (NMIPRoute *route,
                             gpointer dest);

Gets the destination property of this route object.

dest must point to a buffer that is the correct size for route 's family.

[skip]

Parameters

route

the NMIPRoute

 

dest

a buffer in which to store the destination in binary format.

 

nm_ip_route_set_dest_binary ()

void
nm_ip_route_set_dest_binary (NMIPRoute *route,
                             gconstpointer dest);

Sets the destination property of this route object.

dest must point to a buffer that is the correct size for route 's family.

[skip]

Parameters

route

the NMIPRoute

 

dest

the route's destination, in binary format

 

nm_ip_route_get_prefix ()

guint
nm_ip_route_get_prefix (NMIPRoute *route);

Gets the IP prefix (ie "24" or "30" etc) of this route.

Parameters

route

the NMIPRoute

 

Returns

the IP prefix


nm_ip_route_set_prefix ()

void
nm_ip_route_set_prefix (NMIPRoute *route,
                        guint prefix);

Sets the prefix property of this route object.

Parameters

route

the NMIPRoute

 

prefix

the route prefix

 

nm_ip_route_get_next_hop ()

const char *
nm_ip_route_get_next_hop (NMIPRoute *route);

Gets the IP address of the next hop of this route; this will be NULL if the route has no next hop.

Parameters

route

the NMIPRoute

 

Returns

the IP address of the next hop, or NULL if this is a device route.


nm_ip_route_set_next_hop ()

void
nm_ip_route_set_next_hop (NMIPRoute *route,
                          const char *next_hop);

Sets the next-hop property of this route object.

next_hop (if non-NULL) must be a valid address of route 's family. If you aren't sure you have a valid address, use nm_utils_ipaddr_valid() to check it.

Parameters

route

the NMIPRoute

 

next_hop

the route's next hop, as a string.

[allow-none]

nm_ip_route_get_next_hop_binary ()

gboolean
nm_ip_route_get_next_hop_binary (NMIPRoute *route,
                                 gpointer next_hop);

Gets the next hop property of this route object.

next_hop must point to a buffer that is the correct size for route 's family.

[skip]

Parameters

route

the NMIPRoute

 

next_hop

a buffer in which to store the next hop in binary format.

 

Returns

TRUE if route has a next hop, FALSE if not (in which case next_hop will be zeroed out)


nm_ip_route_set_next_hop_binary ()

void
nm_ip_route_set_next_hop_binary (NMIPRoute *route,
                                 gconstpointer next_hop);

Sets the destination property of this route object.

next_hop (if non-NULL) must point to a buffer that is the correct size for route 's family.

[skip]

Parameters

route

the NMIPRoute

 

next_hop

the route's next hop, in binary format

 

nm_ip_route_get_metric ()

gint64
nm_ip_route_get_metric (NMIPRoute *route);

Gets the route metric property of this route object; lower values indicate "better" or more preferred routes; -1 indicates "default" (meaning NetworkManager will set it appropriately).

Parameters

route

the NMIPRoute

 

Returns

the route metric


nm_ip_route_set_metric ()

void
nm_ip_route_set_metric (NMIPRoute *route,
                        gint64 metric);

Sets the metric property of this route object.

Parameters

route

the NMIPRoute

 

metric

the route metric (or -1 for "default")

 

nm_ip_route_get_attribute_names ()

char **
nm_ip_route_get_attribute_names (NMIPRoute *route);

Gets an array of attribute names defined on route .

Parameters

route

the NMIPRoute

 

Returns

a NULL-terminated array of attribute names.

[transfer full]


nm_ip_route_get_attribute ()

GVariant *
nm_ip_route_get_attribute (NMIPRoute *route,
                           const char *name);

Gets the value of the attribute with name name on route

Parameters

route

the NMIPRoute

 

name

the name of an route attribute

 

Returns

the value of the attribute with name name on route , or NULL if route has no such attribute.

[transfer none]


nm_ip_route_set_attribute ()

void
nm_ip_route_set_attribute (NMIPRoute *route,
                           const char *name,
                           GVariant *value);

Sets the named attribute on route to the given value.

Parameters

route

the NMIPRoute

 

name

the name of a route attribute

 

value

the value.

[transfer none][allow-none]

nm_ip_route_get_variant_attribute_spec ()

const NMVariantAttributeSpec *const *
nm_ip_route_get_variant_attribute_spec
                               (void);

Returns

the specifiers for route attributes

Since: 1.8


nm_ip_route_attribute_validate ()

gboolean
nm_ip_route_attribute_validate (const char *name,
                                GVariant *value,
                                int family,
                                gboolean *known,
                                GError **error);

Validates a route attribute, i.e. checks that the attribute is a known one and the value is of the correct type and well-formed.

Parameters

name

the attribute name

 

value

the attribute value

 

family

IP address family of the route

 

known

on return, whether the attribute name is a known one.

[out]

error

return location for a GError, or NULL.

[allow-none]

Returns

TRUE if the attribute is valid, FALSE otherwise

Since: 1.8


nm_ip_routing_rule_new ()

NMIPRoutingRule *
nm_ip_routing_rule_new (int addr_family);

Parameters

addr_family

the address family of the routing rule. Must be either AF_INET (2) or AF_INET6 (10).

 

Returns

a newly created rule instance with the provided address family. The instance is unsealed.

[transfer full]

Since: 1.18


nm_ip_routing_rule_new_clone ()

NMIPRoutingRule *
nm_ip_routing_rule_new_clone (const NMIPRoutingRule *rule);

Parameters

rule

the NMIPRoutingRule to clone.

 

Returns

a newly created rule instance with the same settings as rule . Note that the instance will always be unsealred.

[transfer full]

Since: 1.18


nm_ip_routing_rule_ref ()

NMIPRoutingRule *
nm_ip_routing_rule_ref (NMIPRoutingRule *self);

Increases the reference count of the instance. This is not thread-safe.

Parameters

self

the NMIPRoutingRule instance.

[allow-none]

Returns

the self argument with incremented reference count.

[transfer full]

Since: 1.18


nm_ip_routing_rule_unref ()

void
nm_ip_routing_rule_unref (NMIPRoutingRule *self);

Decreases the reference count of the instance and destroys the instance if the reference count reaches zero. This is not thread-safe.

Parameters

self

the NMIPRoutingRule instance.

[allow-none]

Since: 1.18


nm_ip_routing_rule_is_sealed ()

gboolean
nm_ip_routing_rule_is_sealed (const NMIPRoutingRule *self);

Parameters

self

the NMIPRoutingRule instance

 

Returns

whether self is sealed. Once sealed, an instance cannot be modified nor unsealed.

Since: 1.18


nm_ip_routing_rule_seal ()

void
nm_ip_routing_rule_seal (NMIPRoutingRule *self);

Seals the routing rule. Afterwards, the instance can no longer be modified, and it is a bug to call any of the accessors that would modify the rule. If self was already sealed, this has no effect.

Parameters

self

the NMIPRoutingRule instance

 

Since: 1.18


nm_ip_routing_rule_get_addr_family ()

int
nm_ip_routing_rule_get_addr_family (const NMIPRoutingRule *self);

Parameters

self

the NMIPRoutingRule instance

 

Returns

the address family of the rule. Either AF_INET or AF_INET6.

Since: 1.18


nm_ip_routing_rule_get_invert ()

gboolean
nm_ip_routing_rule_get_invert (const NMIPRoutingRule *self);

Parameters

self

the NMIPRoutingRule instance

 

Returns

the "invert" setting of the rule.

Since: 1.18


nm_ip_routing_rule_set_invert ()

void
nm_ip_routing_rule_set_invert (NMIPRoutingRule *self,
                               gboolean invert);

Parameters

self

the NMIPRoutingRule instance

 

invert

the new value to set

 

Since: 1.18


nm_ip_routing_rule_get_priority ()

gint64
nm_ip_routing_rule_get_priority (const NMIPRoutingRule *self);

Parameters

self

the NMIPRoutingRule instance

 

Returns

the priority. A valid priority is in the range from 0 to G_MAXUINT32. If unset, -1 is returned.

Since: 1.18


nm_ip_routing_rule_set_priority ()

void
nm_ip_routing_rule_set_priority (NMIPRoutingRule *self,
                                 gint64 priority);

A valid priority ranges from 0 to G_MAXUINT32. "-1" is also allowed to reset the priority. It is a bug calling this function with any other value.

Parameters

self

the NMIPRoutingRule instance

 

priority

the priority to set

 

Since: 1.18


nm_ip_routing_rule_get_tos ()

guint8
nm_ip_routing_rule_get_tos (const NMIPRoutingRule *self);

Parameters

self

the NMIPRoutingRule instance

 

Returns

the tos of the rule.

Since: 1.18


nm_ip_routing_rule_set_tos ()

void
nm_ip_routing_rule_set_tos (NMIPRoutingRule *self,
                            guint8 tos);

Parameters

self

the NMIPRoutingRule instance

 

tos

the tos to set

 

Since: 1.18


nm_ip_routing_rule_get_ipproto ()

guint8
nm_ip_routing_rule_get_ipproto (const NMIPRoutingRule *self);

Parameters

self

the NMIPRoutingRule instance

 

Returns

the ipproto of the rule.

Since: 1.18


nm_ip_routing_rule_set_ipproto ()

void
nm_ip_routing_rule_set_ipproto (NMIPRoutingRule *self,
                                guint8 ipproto);

Parameters

self

the NMIPRoutingRule instance

 

ipproto

the ipproto to set

 

Since: 1.18


nm_ip_routing_rule_get_source_port_start ()

guint16
nm_ip_routing_rule_get_source_port_start
                               (const NMIPRoutingRule *self);

Parameters

self

the NMIPRoutingRule instance

 

Returns

the source port start setting.

Since: 1.18


nm_ip_routing_rule_get_source_port_end ()

guint16
nm_ip_routing_rule_get_source_port_end
                               (const NMIPRoutingRule *self);

Parameters

self

the NMIPRoutingRule instance

 

Returns

the source port end setting.

Since: 1.18


nm_ip_routing_rule_set_source_port ()

void
nm_ip_routing_rule_set_source_port (NMIPRoutingRule *self,
                                    guint16 start,
                                    guint16 end);

Parameters

self

the NMIPRoutingRule instance

 

start

the start port to set.

 

end

the end port to set.

 

Since: 1.18


nm_ip_routing_rule_get_destination_port_start ()

guint16
nm_ip_routing_rule_get_destination_port_start
                               (const NMIPRoutingRule *self);

Parameters

self

the NMIPRoutingRule instance

 

Returns

the destination port start setting.

Since: 1.18


nm_ip_routing_rule_get_destination_port_end ()

guint16
nm_ip_routing_rule_get_destination_port_end
                               (const NMIPRoutingRule *self);

Parameters

self

the NMIPRoutingRule instance

 

Returns

the destination port end setting.

Since: 1.18


nm_ip_routing_rule_set_destination_port ()

void
nm_ip_routing_rule_set_destination_port
                               (NMIPRoutingRule *self,
                                guint16 start,
                                guint16 end);

Parameters

self

the NMIPRoutingRule instance

 

start

the start port to set.

 

end

the end port to set.

 

Since: 1.18


nm_ip_routing_rule_get_fwmark ()

guint32
nm_ip_routing_rule_get_fwmark (const NMIPRoutingRule *self);

Parameters

self

the NMIPRoutingRule instance

 

Returns

the fwmark setting.

Since: 1.18


nm_ip_routing_rule_get_fwmask ()

guint32
nm_ip_routing_rule_get_fwmask (const NMIPRoutingRule *self);

Parameters

self

the NMIPRoutingRule instance

 

Returns

the fwmask setting.

Since: 1.18


nm_ip_routing_rule_set_fwmark ()

void
nm_ip_routing_rule_set_fwmark (NMIPRoutingRule *self,
                               guint32 fwmark,
                               guint32 fwmask);

Parameters

self

the NMIPRoutingRule instance

 

fwmark

the fwmark

 

fwmask

the fwmask

 

Since: 1.18


nm_ip_routing_rule_get_from_len ()

guint8
nm_ip_routing_rule_get_from_len (const NMIPRoutingRule *self);

Parameters

self

the NMIPRoutingRule instance

 

Returns

the set prefix length for the from/src parameter.

Since: 1.18


nm_ip_routing_rule_get_from ()

const char *
nm_ip_routing_rule_get_from (const NMIPRoutingRule *self);

Parameters

self

the NMIPRoutingRule instance

 

Returns

the set from/src parameter or NULL, if no value is set.

[transfer none]

Since: 1.18


nm_ip_routing_rule_set_from ()

void
nm_ip_routing_rule_set_from (NMIPRoutingRule *self,
                             const char *from,
                             guint8 len);

Setting invalid values is accepted, but will later fail during nm_ip_routing_rule_validate().

Parameters

self

the NMIPRoutingRule instance

 

from

the from/src address to set. The address family must match.

[allow-none]

len

the corresponding prefix length of the address.

 

Since: 1.18


nm_ip_routing_rule_get_to_len ()

guint8
nm_ip_routing_rule_get_to_len (const NMIPRoutingRule *self);

Parameters

self

the NMIPRoutingRule instance

 

Returns

the set prefix length for the to/dst parameter.

Since: 1.18


nm_ip_routing_rule_get_to ()

const char *
nm_ip_routing_rule_get_to (const NMIPRoutingRule *self);

Parameters

self

the NMIPRoutingRule instance

 

Returns

the set to/dst parameter or NULL, if no value is set.

[transfer none]

Since: 1.18


nm_ip_routing_rule_set_to ()

void
nm_ip_routing_rule_set_to (NMIPRoutingRule *self,
                           const char *to,
                           guint8 len);

Setting invalid values is accepted, but will later fail during nm_ip_routing_rule_validate().

Parameters

self

the NMIPRoutingRule instance

 

to

the to/dst address to set. The address family must match.

[allow-none]

len

the corresponding prefix length of the address. If to is NULL, this valid is ignored.

 

Since: 1.18


nm_ip_routing_rule_get_iifname ()

const char *
nm_ip_routing_rule_get_iifname (const NMIPRoutingRule *self);

Parameters

self

the NMIPRoutingRule instance.

 

Returns

the set iifname or NULL if unset.

[transfer none]

Since: 1.18


nm_ip_routing_rule_set_iifname ()

void
nm_ip_routing_rule_set_iifname (NMIPRoutingRule *self,
                                const char *iifname);

The name supports C backslash escaping for non-UTF-8 characters. Note that nm_ip_routing_rule_from_string() too uses backslash escaping when tokenizing the words by whitespace. So, in string representation you'd get double backslashes.

Parameters

self

the NMIPRoutingRule instance.

 

iifname

the iifname to set or NULL to unset.

[allow-none]

Since: 1.18


nm_ip_routing_rule_get_oifname ()

const char *
nm_ip_routing_rule_get_oifname (const NMIPRoutingRule *self);

Parameters

self

the NMIPRoutingRule instance.

 

Returns

the set oifname or NULL if unset.

[transfer none]

Since: 1.18


nm_ip_routing_rule_set_oifname ()

void
nm_ip_routing_rule_set_oifname (NMIPRoutingRule *self,
                                const char *oifname);

The name supports C backslash escaping for non-UTF-8 characters. Note that nm_ip_routing_rule_from_string() too uses backslash escaping when tokenizing the words by whitespace. So, in string representation you'd get double backslashes.

Parameters

self

the NMIPRoutingRule instance.

 

oifname

the oifname to set or NULL to unset.

[allow-none]

Since: 1.18


nm_ip_routing_rule_get_action ()

guint8
nm_ip_routing_rule_get_action (const NMIPRoutingRule *self);

Parameters

self

the NMIPRoutingRule instance

 

Returns

the set action.

Since: 1.18


nm_ip_routing_rule_set_action ()

void
nm_ip_routing_rule_set_action (NMIPRoutingRule *self,
                               guint8 action);

Note that currently only certain actions are allowed. nm_ip_routing_rule_validate() will reject unsupported actions as invalid.

Parameters

self

the NMIPRoutingRule instance

 

action

the action to set

 

Since: 1.18


nm_ip_routing_rule_get_table ()

guint32
nm_ip_routing_rule_get_table (const NMIPRoutingRule *self);

Parameters

self

the NMIPRoutingRule instance

 

Returns

the set table.

Since: 1.18


nm_ip_routing_rule_set_table ()

void
nm_ip_routing_rule_set_table (NMIPRoutingRule *self,
                              guint32 table);

Parameters

self

the NMIPRoutingRule instance

 

table

the table to set

 

Since: 1.18


nm_ip_routing_rule_get_suppress_prefixlength ()

gint32
nm_ip_routing_rule_get_suppress_prefixlength
                               (const NMIPRoutingRule *self);

Parameters

self

the NMIPRoutingRule instance

 

Returns

the suppress_prefixlength of the rule. -1 means that the value is unset.

Since: 1.20


nm_ip_routing_rule_set_suppress_prefixlength ()

void
nm_ip_routing_rule_set_suppress_prefixlength
                               (NMIPRoutingRule *self,
                                gint32 suppress_prefixlength);

Parameters

self

the NMIPRoutingRule instance

 

suppress_prefixlength

the suppress_prefixlength to set. The value -1 means unset.

 

Since: 1.20


nm_ip_routing_rule_cmp ()

int
nm_ip_routing_rule_cmp (const NMIPRoutingRule *rule,
                        const NMIPRoutingRule *other);

Parameters

rule

the NMIPRoutingRule instance to compare.

[allow-none]

other

the other NMIPRoutingRule instance to compare.

[allow-none]

Returns

zero, a positive, or a negative integer to indicate equality or how the arguments compare.

Since: 1.18


nm_ip_routing_rule_validate ()

gboolean
nm_ip_routing_rule_validate (const NMIPRoutingRule *self,
                             GError **error);

Parameters

self

the NMIPRoutingRule instance to validate

 

error

the error result if validation fails.

[allow-none][out]

Returns

TRUE if the rule validates.

Since: 1.18


nm_ip_routing_rule_from_string ()

NMIPRoutingRule *
nm_ip_routing_rule_from_string (const char *str,
                                NMIPRoutingRuleAsStringFlags to_string_flags,
                                GHashTable *extra_args,
                                GError **error);

Parameters

str

the string representation to convert to an NMIPRoutingRule

 

to_string_flags

NMIPRoutingRuleAsStringFlags for controlling the string conversion.

 

extra_args

extra arguments for controlling the string conversion. Currently, not extra arguments are supported.

[allow-none]

error

the error reason.

[allow-none][out]

Returns

the new NMIPRoutingRule or NULL on error.

[transfer full]

Since: 1.18


nm_ip_routing_rule_to_string ()

char *
nm_ip_routing_rule_to_string (const NMIPRoutingRule *self,
                              NMIPRoutingRuleAsStringFlags to_string_flags,
                              GHashTable *extra_args,
                              GError **error);

Parameters

self

the NMIPRoutingRule instance to convert to string.

 

to_string_flags

NMIPRoutingRuleAsStringFlags for controlling the string conversion.

 

extra_args

extra arguments for controlling the string conversion. Currently, not extra arguments are supported.

[allow-none]

error

the error reason.

[allow-none][out]

Returns

the string representation or NULL on error.

[transfer full]

Since: 1.18


nm_setting_ip_config_get_method ()

const char *
nm_setting_ip_config_get_method (NMSettingIPConfig *setting);

Parameters

setting

the NMSettingIPConfig

 

Returns

the “method” property of the setting; see NMSettingIP4Config and NMSettingIP6Config for details of the methods available with each type.


nm_setting_ip_config_get_num_dns ()

guint
nm_setting_ip_config_get_num_dns (NMSettingIPConfig *setting);

Parameters

setting

the NMSettingIPConfig

 

Returns

the number of configured DNS servers


nm_setting_ip_config_get_dns ()

const char *
nm_setting_ip_config_get_dns (NMSettingIPConfig *setting,
                              int idx);

Parameters

setting

the NMSettingIPConfig

 

idx

index number of the DNS server to return

 

Returns

the IP address of the DNS server at index idx


nm_setting_ip_config_add_dns ()

gboolean
nm_setting_ip_config_add_dns (NMSettingIPConfig *setting,
                              const char *dns);

Adds a new DNS server to the setting.

Parameters

setting

the NMSettingIPConfig

 

dns

the IP address of the DNS server to add

 

Returns

TRUE if the DNS server was added; FALSE if the server was already known


nm_setting_ip_config_remove_dns ()

void
nm_setting_ip_config_remove_dns (NMSettingIPConfig *setting,
                                 int idx);

Removes the DNS server at index idx .

Parameters

setting

the NMSettingIPConfig

 

idx

index number of the DNS server to remove

 

nm_setting_ip_config_remove_dns_by_value ()

gboolean
nm_setting_ip_config_remove_dns_by_value
                               (NMSettingIPConfig *setting,
                                const char *dns);

Removes the DNS server dns .

Parameters

setting

the NMSettingIPConfig

 

dns

the DNS server to remove

 

Returns

TRUE if the DNS server was found and removed; FALSE if it was not.


nm_setting_ip_config_clear_dns ()

void
nm_setting_ip_config_clear_dns (NMSettingIPConfig *setting);

Removes all configured DNS servers.

Parameters

setting

the NMSettingIPConfig

 

nm_setting_ip_config_get_num_dns_searches ()

guint
nm_setting_ip_config_get_num_dns_searches
                               (NMSettingIPConfig *setting);

Parameters

setting

the NMSettingIPConfig

 

Returns

the number of configured DNS search domains


nm_setting_ip_config_get_dns_search ()

const char *
nm_setting_ip_config_get_dns_search (NMSettingIPConfig *setting,
                                     int idx);

Parameters

setting

the NMSettingIPConfig

 

idx

index number of the DNS search domain to return

 

Returns

the DNS search domain at index idx


nm_setting_ip_config_add_dns_search ()

gboolean
nm_setting_ip_config_add_dns_search (NMSettingIPConfig *setting,
                                     const char *dns_search);

Adds a new DNS search domain to the setting.

Parameters

setting

the NMSettingIPConfig

 

dns_search

the search domain to add

 

Returns

TRUE if the DNS search domain was added; FALSE if the search domain was already known


nm_setting_ip_config_remove_dns_search ()

void
nm_setting_ip_config_remove_dns_search
                               (NMSettingIPConfig *setting,
                                int idx);

Removes the DNS search domain at index idx .

Parameters

setting

the NMSettingIPConfig

 

idx

index number of the DNS search domain

 

nm_setting_ip_config_remove_dns_search_by_value ()

gboolean
nm_setting_ip_config_remove_dns_search_by_value
                               (NMSettingIPConfig *setting,
                                const char *dns_search);

Removes the DNS search domain dns_search .

Parameters

setting

the NMSettingIPConfig

 

dns_search

the search domain to remove

 

Returns

TRUE if the DNS search domain was found and removed; FALSE if it was not.


nm_setting_ip_config_clear_dns_searches ()

void
nm_setting_ip_config_clear_dns_searches
                               (NMSettingIPConfig *setting);

Removes all configured DNS search domains.

Parameters

setting

the NMSettingIPConfig

 

nm_setting_ip_config_get_num_dns_options ()

guint
nm_setting_ip_config_get_num_dns_options
                               (NMSettingIPConfig *setting);

Parameters

setting

the NMSettingIPConfig

 

Returns

the number of configured DNS options

Since: 1.2


nm_setting_ip_config_has_dns_options ()

gboolean
nm_setting_ip_config_has_dns_options (NMSettingIPConfig *setting);

NMSettingIPConfig can have a list of dns-options. If the list is empty, there are two similar (but differentiated) states. Either the options are explicitly set to have no values, or the options are left undefined. The latter means to use a default configuration, while the former explicitly means "no-options".

Parameters

setting

the NMSettingIPConfig

 

Returns

whether DNS options are initialized or left unset (the default).


nm_setting_ip_config_get_dns_option ()

const char *
nm_setting_ip_config_get_dns_option (NMSettingIPConfig *setting,
                                     guint idx);

Parameters

setting

the NMSettingIPConfig

 

idx

index number of the DNS option

 

Returns

the DNS option at index idx

Since: 1.2


nm_setting_ip_config_add_dns_option ()

gboolean
nm_setting_ip_config_add_dns_option (NMSettingIPConfig *setting,
                                     const char *dns_option);

Adds a new DNS option to the setting.

Parameters

setting

the NMSettingIPConfig

 

dns_option

the DNS option to add

 

Returns

TRUE if the DNS option was added; FALSE otherwise

Since: 1.2


nm_setting_ip_config_remove_dns_option ()

void
nm_setting_ip_config_remove_dns_option
                               (NMSettingIPConfig *setting,
                                int idx);

Removes the DNS option at index idx .

Parameters

setting

the NMSettingIPConfig

 

idx

index number of the DNS option

 

Since: 1.2


nm_setting_ip_config_remove_dns_option_by_value ()

gboolean
nm_setting_ip_config_remove_dns_option_by_value
                               (NMSettingIPConfig *setting,
                                const char *dns_option);

Removes the DNS option dns_option .

Parameters

setting

the NMSettingIPConfig

 

dns_option

the DNS option to remove

 

Returns

TRUE if the DNS option was found and removed; FALSE if it was not.

Since: 1.2


nm_setting_ip_config_clear_dns_options ()

void
nm_setting_ip_config_clear_dns_options
                               (NMSettingIPConfig *setting,
                                gboolean is_set);

Removes all configured DNS options.

Parameters

setting

the NMSettingIPConfig

 

is_set

the dns-options can be either empty or unset (default). Specify how to clear the options.

 

Since: 1.2


nm_setting_ip_config_get_dns_priority ()

int
nm_setting_ip_config_get_dns_priority (NMSettingIPConfig *setting);

Parameters

setting

the NMSettingIPConfig

 

Returns

the priority of DNS servers

Since: 1.4


nm_setting_ip_config_get_num_addresses ()

guint
nm_setting_ip_config_get_num_addresses
                               (NMSettingIPConfig *setting);

Parameters

setting

the NMSettingIPConfig

 

Returns

the number of configured addresses


nm_setting_ip_config_get_address ()

NMIPAddress *
nm_setting_ip_config_get_address (NMSettingIPConfig *setting,
                                  int idx);

Parameters

setting

the NMSettingIPConfig

 

idx

index number of the address to return

 

Returns

the address at index idx .

[transfer none]


nm_setting_ip_config_add_address ()

gboolean
nm_setting_ip_config_add_address (NMSettingIPConfig *setting,
                                  NMIPAddress *address);

Adds a new IP address and associated information to the setting. The given address is duplicated internally and is not changed by this function.

Parameters

setting

the NMSettingIPConfig

 

address

the new address to add

 

Returns

TRUE if the address was added; FALSE if the address was already known.


nm_setting_ip_config_remove_address ()

void
nm_setting_ip_config_remove_address (NMSettingIPConfig *setting,
                                     int idx);

Removes the address at index idx .

Parameters

setting

the NMSettingIPConfig

 

idx

index number of the address to remove

 

nm_setting_ip_config_remove_address_by_value ()

gboolean
nm_setting_ip_config_remove_address_by_value
                               (NMSettingIPConfig *setting,
                                NMIPAddress *address);

Removes the address address .

Parameters

setting

the NMSettingIPConfig

 

address

the IP address to remove

 

Returns

TRUE if the address was found and removed; FALSE if it was not.


nm_setting_ip_config_clear_addresses ()

void
nm_setting_ip_config_clear_addresses (NMSettingIPConfig *setting);

Removes all configured addresses.

Parameters

setting

the NMSettingIPConfig

 

nm_setting_ip_config_get_gateway ()

const char *
nm_setting_ip_config_get_gateway (NMSettingIPConfig *setting);

Parameters

setting

the NMSettingIPConfig

 

Returns

the IP address of the gateway associated with this configuration, or NULL.


nm_setting_ip_config_get_num_routes ()

guint
nm_setting_ip_config_get_num_routes (NMSettingIPConfig *setting);

Parameters

setting

the NMSettingIPConfig

 

Returns

the number of configured routes


nm_setting_ip_config_get_route ()

NMIPRoute *
nm_setting_ip_config_get_route (NMSettingIPConfig *setting,
                                int idx);

Parameters

setting

the NMSettingIPConfig

 

idx

index number of the route to return

 

Returns

the route at index idx .

[transfer none]


nm_setting_ip_config_add_route ()

gboolean
nm_setting_ip_config_add_route (NMSettingIPConfig *setting,
                                NMIPRoute *route);

Appends a new route and associated information to the setting. The given route is duplicated internally and is not changed by this function. If an identical route (considering attributes as well) already exists, the route is not added and the function returns FALSE.

Note that before 1.10, this function would not consider route attributes and not add a route that has an existing route with same dest/prefix,next_hop,metric parameters.

Parameters

setting

the NMSettingIPConfig

 

route

the route to add

 

Returns

TRUE if the route was added; FALSE if the route was already known.


nm_setting_ip_config_remove_route ()

void
nm_setting_ip_config_remove_route (NMSettingIPConfig *setting,
                                   int idx);

Removes the route at index idx .

Parameters

setting

the NMSettingIPConfig

 

idx

index number of the route

 

nm_setting_ip_config_remove_route_by_value ()

gboolean
nm_setting_ip_config_remove_route_by_value
                               (NMSettingIPConfig *setting,
                                NMIPRoute *route);

Removes the first matching route that matches route . Note that before 1.10, this function would only compare dest/prefix,next_hop,metric and ignore route attributes. Now, route must match exactly.

Parameters

setting

the NMSettingIPConfig

 

route

the route to remove

 

Returns

TRUE if the route was found and removed; FALSE if it was not.


nm_setting_ip_config_clear_routes ()

void
nm_setting_ip_config_clear_routes (NMSettingIPConfig *setting);

Removes all configured routes.

Parameters

setting

the NMSettingIPConfig

 

nm_setting_ip_config_get_route_metric ()

gint64
nm_setting_ip_config_get_route_metric (NMSettingIPConfig *setting);

Returns the value contained in the “route-metric” property.

Parameters

setting

the NMSettingIPConfig

 

Returns

the route metric that is used for routes that don't explicitly specify a metric. See “route-metric” for more details.


nm_setting_ip_config_get_route_table ()

guint32
nm_setting_ip_config_get_route_table (NMSettingIPConfig *setting);

Returns the value contained in the “route-table” property.

Parameters

setting

the NMSettingIPConfig

 

Returns

the configured route-table.

Since: 1.10


nm_setting_ip_config_get_num_routing_rules ()

guint
nm_setting_ip_config_get_num_routing_rules
                               (NMSettingIPConfig *setting);

Parameters

setting

the NMSettingIPConfig

 

Returns

the number of configured routing rules

Since: 1.18


nm_setting_ip_config_get_routing_rule ()

NMIPRoutingRule *
nm_setting_ip_config_get_routing_rule (NMSettingIPConfig *setting,
                                       guint idx);

Parameters

setting

the NMSettingIPConfig

 

idx

index number of the routing_rule to return

 

Returns

the routing rule at index idx .

[transfer none]

Since: 1.18


nm_setting_ip_config_add_routing_rule ()

void
nm_setting_ip_config_add_routing_rule (NMSettingIPConfig *setting,
                                       NMIPRoutingRule *routing_rule);

Appends a new routing-rule and associated information to the setting. The given routing rules gets sealed and the reference count is incremented. The function does not check whether an identical rule already exists and always appends the rule to the end of the list.

Parameters

setting

the NMSettingIPConfig

 

routing_rule

the NMIPRoutingRule to add. The address family of the added rule must be compatible with the setting.

 

Since: 1.18


nm_setting_ip_config_remove_routing_rule ()

void
nm_setting_ip_config_remove_routing_rule
                               (NMSettingIPConfig *setting,
                                guint idx);

Removes the routing_rule at index idx .

Parameters

setting

the NMSettingIPConfig

 

idx

index number of the routing_rule

 

Since: 1.18


nm_setting_ip_config_clear_routing_rules ()

void
nm_setting_ip_config_clear_routing_rules
                               (NMSettingIPConfig *setting);

Removes all configured routing rules.

Parameters

setting

the NMSettingIPConfig

 

Since: 1.18


nm_setting_ip_config_get_ignore_auto_routes ()

gboolean
nm_setting_ip_config_get_ignore_auto_routes
                               (NMSettingIPConfig *setting);

Returns the value contained in the “ignore-auto-routes” property.

Parameters

setting

the NMSettingIPConfig

 

Returns

TRUE if automatically configured (ie via DHCP) routes should be ignored.


nm_setting_ip_config_get_ignore_auto_dns ()

gboolean
nm_setting_ip_config_get_ignore_auto_dns
                               (NMSettingIPConfig *setting);

Returns the value contained in the “ignore-auto-dns” property.

Parameters

setting

the NMSettingIPConfig

 

Returns

TRUE if automatically configured (ie via DHCP) DNS information should be ignored.


nm_setting_ip_config_get_dhcp_hostname ()

const char *
nm_setting_ip_config_get_dhcp_hostname
                               (NMSettingIPConfig *setting);

Returns the value contained in the “dhcp-hostname” property.

Parameters

setting

the NMSettingIPConfig

 

Returns

the configured hostname to send to the DHCP server


nm_setting_ip_config_get_dhcp_send_hostname ()

gboolean
nm_setting_ip_config_get_dhcp_send_hostname
                               (NMSettingIPConfig *setting);

Returns the value contained in the “dhcp-send-hostname” property.

Parameters

setting

the NMSettingIPConfig

 

Returns

TRUE if NetworkManager should send the machine hostname to the DHCP server when requesting addresses to allow the server to automatically update DNS information for this machine.


nm_setting_ip_config_get_never_default ()

gboolean
nm_setting_ip_config_get_never_default
                               (NMSettingIPConfig *setting);

Returns the value contained in the “never-default” property.

Parameters

setting

the NMSettingIPConfig

 

Returns

TRUE if this connection should never be the default connection


nm_setting_ip_config_get_may_fail ()

gboolean
nm_setting_ip_config_get_may_fail (NMSettingIPConfig *setting);

Returns the value contained in the “may-fail” property.

Parameters

setting

the NMSettingIPConfig

 

Returns

TRUE if this connection doesn't require this type of IP addressing to complete for the connection to succeed.


nm_setting_ip_config_get_dad_timeout ()

int
nm_setting_ip_config_get_dad_timeout (NMSettingIPConfig *setting);

Parameters

setting

the NMSettingIPConfig

 

Returns

the “dad-timeout” property.

Since: 1.2


nm_setting_ip_config_get_dhcp_timeout ()

int
nm_setting_ip_config_get_dhcp_timeout (NMSettingIPConfig *setting);

Returns the value contained in the “dhcp-timeout” property.

Parameters

setting

the NMSettingIPConfig

 

Returns

the configured DHCP timeout in seconds. 0 = default for the particular kind of device.

Since: 1.2


nm_setting_ip_config_get_dhcp_iaid ()

const char *
nm_setting_ip_config_get_dhcp_iaid (NMSettingIPConfig *setting);

Returns the value contained in the “dhcp-iaid” property.

Parameters

setting

the NMSettingIPConfig

 

Returns

the configured DHCP IAID (Identity Association Identifier)

Since: 1.22


nm_setting_ip_config_get_dhcp_hostname_flags ()

NMDhcpHostnameFlags
nm_setting_ip_config_get_dhcp_hostname_flags
                               (NMSettingIPConfig *setting);

Returns the value contained in the “dhcp-hostname-flags” property.

Parameters

setting

the NMSettingIPConfig

 

Returns

flags for the DHCP hostname and FQDN

Since: 1.22


nm_setting_ip_config_get_dhcp_reject_servers ()

const char *const *
nm_setting_ip_config_get_dhcp_reject_servers
                               (NMSettingIPConfig *setting,
                                guint *out_len);

Parameters

setting

the NMSettingIPConfig

 

out_len

the number of returned elements.

[allow-none][out]

Returns

A NULL terminated array of DHCP reject servers. Even if no reject servers are configured, this always returns a non NULL value.

[array length=out_len zero-terminated=1][transfer none]

Since: 1.28


nm_setting_ip_config_add_dhcp_reject_server ()

void
nm_setting_ip_config_add_dhcp_reject_server
                               (NMSettingIPConfig *setting,
                                const char *server);

Adds a new DHCP reject server to the setting.

Parameters

setting

the NMSettingIPConfig

 

server

the DHCP reject server to add

 

Since: 1.28


nm_setting_ip_config_remove_dhcp_reject_server ()

void
nm_setting_ip_config_remove_dhcp_reject_server
                               (NMSettingIPConfig *setting,
                                guint idx);

Removes the DHCP reject server at index idx .

Parameters

setting

the NMSettingIPConfig

 

idx

index number of the DHCP reject server

 

Since: 1.28


nm_setting_ip_config_clear_dhcp_reject_servers ()

void
nm_setting_ip_config_clear_dhcp_reject_servers
                               (NMSettingIPConfig *setting);

Removes all configured DHCP reject servers.

Parameters

setting

the NMSettingIPConfig

 

Since: 1.28

Types and Values

NM_IP_ADDRESS_ATTRIBUTE_LABEL

#define NM_IP_ADDRESS_ATTRIBUTE_LABEL "label"

enum NMIPAddressCmpFlags

Compare flags for nm_ip_address_cmp_full().

Members

NM_IP_ADDRESS_CMP_FLAGS_NONE

no flags.

 

NM_IP_ADDRESS_CMP_FLAGS_WITH_ATTRS

when comparing two addresses, also consider their attributes. Warning: note that attributes are GVariants and they don't have a total order. In other words, if the address differs only by their attributes, the returned compare order is not total. In that case, the return value merely indicates equality (zero) or inequality.

 

Since: 1.22


NM_IP_ROUTE_ATTRIBUTE_CWND

#define NM_IP_ROUTE_ATTRIBUTE_CWND          "cwnd"

NM_IP_ROUTE_ATTRIBUTE_FROM

#define NM_IP_ROUTE_ATTRIBUTE_FROM          "from"

NM_IP_ROUTE_ATTRIBUTE_INITCWND

#define NM_IP_ROUTE_ATTRIBUTE_INITCWND      "initcwnd"

NM_IP_ROUTE_ATTRIBUTE_INITRWND

#define NM_IP_ROUTE_ATTRIBUTE_INITRWND      "initrwnd"

NM_IP_ROUTE_ATTRIBUTE_LOCK_CWND

#define NM_IP_ROUTE_ATTRIBUTE_LOCK_CWND     "lock-cwnd"

NM_IP_ROUTE_ATTRIBUTE_LOCK_INITCWND

#define NM_IP_ROUTE_ATTRIBUTE_LOCK_INITCWND "lock-initcwnd"

NM_IP_ROUTE_ATTRIBUTE_LOCK_INITRWND

#define NM_IP_ROUTE_ATTRIBUTE_LOCK_INITRWND "lock-initrwnd"

NM_IP_ROUTE_ATTRIBUTE_LOCK_MTU

#define NM_IP_ROUTE_ATTRIBUTE_LOCK_MTU      "lock-mtu"

NM_IP_ROUTE_ATTRIBUTE_LOCK_WINDOW

#define NM_IP_ROUTE_ATTRIBUTE_LOCK_WINDOW   "lock-window"

NM_IP_ROUTE_ATTRIBUTE_MTU

#define NM_IP_ROUTE_ATTRIBUTE_MTU           "mtu"

NM_IP_ROUTE_ATTRIBUTE_ONLINK

#define NM_IP_ROUTE_ATTRIBUTE_ONLINK        "onlink"

NM_IP_ROUTE_ATTRIBUTE_SCOPE

#define NM_IP_ROUTE_ATTRIBUTE_SCOPE         "scope"

NM_IP_ROUTE_ATTRIBUTE_SRC

#define NM_IP_ROUTE_ATTRIBUTE_SRC           "src"

NM_IP_ROUTE_ATTRIBUTE_TABLE

#define NM_IP_ROUTE_ATTRIBUTE_TABLE         "table"

NM_IP_ROUTE_ATTRIBUTE_TOS

#define NM_IP_ROUTE_ATTRIBUTE_TOS           "tos"

NM_IP_ROUTE_ATTRIBUTE_TYPE

#define NM_IP_ROUTE_ATTRIBUTE_TYPE          "type"

NM_IP_ROUTE_ATTRIBUTE_WINDOW

#define NM_IP_ROUTE_ATTRIBUTE_WINDOW        "window"

enum NMIPRoutingRuleAsStringFlags

Members

NM_IP_ROUTING_RULE_AS_STRING_FLAGS_NONE

no flags selected.

 

NM_IP_ROUTING_RULE_AS_STRING_FLAGS_AF_INET

whether to allow parsing IPv4 addresses.

 

NM_IP_ROUTING_RULE_AS_STRING_FLAGS_AF_INET6

whether to allow parsing IPv6 addresses. If both NM_IP_ROUTING_RULE_AS_STRING_FLAGS_AF_INET and NM_IP_ROUTING_RULE_AS_STRING_FLAGS_AF_INET6 are unset, it's the same as setting them both.

 

NM_IP_ROUTING_RULE_AS_STRING_FLAGS_VALIDATE

if set, ensure that the rule verfies or fail.

 

Since: 1.18


NM_SETTING_IP_CONFIG_DAD_TIMEOUT_MAX

#define NM_SETTING_IP_CONFIG_DAD_TIMEOUT_MAX 30000

NM_SETTING_IP_CONFIG_METHOD

#define NM_SETTING_IP_CONFIG_METHOD              "method"

NM_SETTING_IP_CONFIG_DNS

#define NM_SETTING_IP_CONFIG_DNS                 "dns"

NM_SETTING_IP_CONFIG_DNS_SEARCH

#define NM_SETTING_IP_CONFIG_DNS_SEARCH          "dns-search"

NM_SETTING_IP_CONFIG_DNS_OPTIONS

#define NM_SETTING_IP_CONFIG_DNS_OPTIONS         "dns-options"

NM_SETTING_IP_CONFIG_DNS_PRIORITY

#define NM_SETTING_IP_CONFIG_DNS_PRIORITY        "dns-priority"

NM_SETTING_IP_CONFIG_ADDRESSES

#define NM_SETTING_IP_CONFIG_ADDRESSES           "addresses"

NM_SETTING_IP_CONFIG_GATEWAY

#define NM_SETTING_IP_CONFIG_GATEWAY             "gateway"

NM_SETTING_IP_CONFIG_ROUTES

#define NM_SETTING_IP_CONFIG_ROUTES              "routes"

NM_SETTING_IP_CONFIG_ROUTE_METRIC

#define NM_SETTING_IP_CONFIG_ROUTE_METRIC        "route-metric"

NM_SETTING_IP_CONFIG_ROUTE_TABLE

#define NM_SETTING_IP_CONFIG_ROUTE_TABLE         "route-table"

NM_SETTING_IP_CONFIG_IGNORE_AUTO_ROUTES

#define NM_SETTING_IP_CONFIG_IGNORE_AUTO_ROUTES  "ignore-auto-routes"

NM_SETTING_IP_CONFIG_IGNORE_AUTO_DNS

#define NM_SETTING_IP_CONFIG_IGNORE_AUTO_DNS     "ignore-auto-dns"

NM_SETTING_IP_CONFIG_DHCP_HOSTNAME

#define NM_SETTING_IP_CONFIG_DHCP_HOSTNAME       "dhcp-hostname"

NM_SETTING_IP_CONFIG_DHCP_SEND_HOSTNAME

#define NM_SETTING_IP_CONFIG_DHCP_SEND_HOSTNAME  "dhcp-send-hostname"

NM_SETTING_IP_CONFIG_DHCP_HOSTNAME_FLAGS

#define NM_SETTING_IP_CONFIG_DHCP_HOSTNAME_FLAGS "dhcp-hostname-flags"

NM_SETTING_IP_CONFIG_NEVER_DEFAULT

#define NM_SETTING_IP_CONFIG_NEVER_DEFAULT       "never-default"

NM_SETTING_IP_CONFIG_MAY_FAIL

#define NM_SETTING_IP_CONFIG_MAY_FAIL            "may-fail"

NM_SETTING_IP_CONFIG_DAD_TIMEOUT

#define NM_SETTING_IP_CONFIG_DAD_TIMEOUT         "dad-timeout"

NM_SETTING_IP_CONFIG_DHCP_TIMEOUT

#define NM_SETTING_IP_CONFIG_DHCP_TIMEOUT        "dhcp-timeout"

NM_SETTING_IP_CONFIG_DHCP_IAID

#define NM_SETTING_IP_CONFIG_DHCP_IAID           "dhcp-iaid"

NM_SETTING_IP_CONFIG_DHCP_REJECT_SERVERS

#define NM_SETTING_IP_CONFIG_DHCP_REJECT_SERVERS "dhcp-reject-servers"

NM_SETTING_IP_CONFIG_ROUTING_RULES

#define NM_SETTING_IP_CONFIG_ROUTING_RULES "routing-rules"

NM_SETTING_DNS_OPTION_DEBUG

#define NM_SETTING_DNS_OPTION_DEBUG                 "debug"

NM_SETTING_DNS_OPTION_NDOTS

#define NM_SETTING_DNS_OPTION_NDOTS                 "ndots"

NM_SETTING_DNS_OPTION_TIMEOUT

#define NM_SETTING_DNS_OPTION_TIMEOUT               "timeout"

NM_SETTING_DNS_OPTION_ATTEMPTS

#define NM_SETTING_DNS_OPTION_ATTEMPTS              "attempts"

NM_SETTING_DNS_OPTION_ROTATE

#define NM_SETTING_DNS_OPTION_ROTATE                "rotate"

NM_SETTING_DNS_OPTION_NO_CHECK_NAMES

#define NM_SETTING_DNS_OPTION_NO_CHECK_NAMES        "no-check-names"

NM_SETTING_DNS_OPTION_INET6

#define NM_SETTING_DNS_OPTION_INET6                 "inet6"

NM_SETTING_DNS_OPTION_IP6_BYTESTRING

#define NM_SETTING_DNS_OPTION_IP6_BYTESTRING        "ip6-bytestring"

NM_SETTING_DNS_OPTION_IP6_DOTINT

#define NM_SETTING_DNS_OPTION_IP6_DOTINT            "ip6-dotint"

NM_SETTING_DNS_OPTION_NO_IP6_DOTINT

#define NM_SETTING_DNS_OPTION_NO_IP6_DOTINT         "no-ip6-dotint"

NM_SETTING_DNS_OPTION_EDNS0

#define NM_SETTING_DNS_OPTION_EDNS0                 "edns0"

NM_SETTING_DNS_OPTION_SINGLE_REQUEST

#define NM_SETTING_DNS_OPTION_SINGLE_REQUEST        "single-request"

NM_SETTING_DNS_OPTION_SINGLE_REQUEST_REOPEN

#define NM_SETTING_DNS_OPTION_SINGLE_REQUEST_REOPEN "single-request-reopen"

NM_SETTING_DNS_OPTION_NO_TLD_QUERY

#define NM_SETTING_DNS_OPTION_NO_TLD_QUERY          "no-tld-query"

NM_SETTING_DNS_OPTION_USE_VC

#define NM_SETTING_DNS_OPTION_USE_VC                "use-vc"

NM_SETTING_DNS_OPTION_NO_RELOAD

#define NM_SETTING_DNS_OPTION_NO_RELOAD             "no-reload"

NM_SETTING_DNS_OPTION_TRUST_AD

#define NM_SETTING_DNS_OPTION_TRUST_AD              "trust-ad"

NMSettingIPConfig

typedef struct _NMSettingIPConfig NMSettingIPConfig;

enum NMDhcpHostnameFlags

NMDhcpHostnameFlags describe flags related to the DHCP hostname and FQDN.

Members

NM_DHCP_HOSTNAME_FLAG_NONE

no flag set. The default value from Networkmanager global configuration is used. If such value is unset or still zero, the DHCP request will use standard FQDN flags, i.e. NM_DHCP_HOSTNAME_FLAG_FQDN_SERV_UPDATE and NM_DHCP_HOSTNAME_FLAG_FQDN_ENCODED for IPv4 and NM_DHCP_HOSTNAME_FLAG_FQDN_SERV_UPDATE for IPv6.

 

NM_DHCP_HOSTNAME_FLAG_FQDN_SERV_UPDATE

whether the server should do the A RR (FQDN-to-address) DNS updates.

 

NM_DHCP_HOSTNAME_FLAG_FQDN_ENCODED

if set, the FQDN is encoded using canonical wire format. Otherwise it uses the deprecated ASCII encoding. This flag is allowed only for DHCPv4.

 

NM_DHCP_HOSTNAME_FLAG_FQDN_NO_UPDATE

when not set, request the server to perform updates (the PTR RR and possibly the A RR based on the NM_DHCP_HOSTNAME_FLAG_FQDN_SERV_UPDATE flag). If this is set, the NM_DHCP_HOSTNAME_FLAG_FQDN_SERV_UPDATE flag should be cleared.

 

NM_DHCP_HOSTNAME_FLAG_FQDN_CLEAR_FLAGS

when set, no FQDN flags are sent in the DHCP FQDN option. When cleared and all other FQDN flags are zero, standard FQDN flags are sent. This flag is incompatible with any other FQDN flag.

 

Since: 1.22

Property Details

The “addresses” property

  “addresses”                GPtrArray *

Array of IP addresses.

[type GPtrArray(NMIPAddress)]

Owner: NMSettingIPConfig

Flags: Read / Write


The “dad-timeout” property

  “dad-timeout”              int

Timeout in milliseconds used to check for the presence of duplicate IP addresses on the network. If an address conflict is detected, the activation will fail. A zero value means that no duplicate address detection is performed, -1 means the default value (either configuration ipvx.dad-timeout override or zero). A value greater than zero is a timeout in milliseconds.

The property is currently implemented only for IPv4.

Owner: NMSettingIPConfig

Flags: Read / Write

Allowed values: [-1,30000]

Default value: -1

Since: 1.2


The “dhcp-hostname” property

  “dhcp-hostname”            char *

If the “dhcp-send-hostname” property is TRUE, then the specified name will be sent to the DHCP server when acquiring a lease. This property and “dhcp-fqdn” are mutually exclusive and cannot be set at the same time.

Owner: NMSettingIPConfig

Flags: Read / Write

Default value: NULL


The “dhcp-hostname-flags” property

  “dhcp-hostname-flags”      guint

Flags for the DHCP hostname and FQDN.

Currently, this property only includes flags to control the FQDN flags set in the DHCP FQDN option. Supported FQDN flags are NM_DHCP_HOSTNAME_FLAG_FQDN_SERV_UPDATE, NM_DHCP_HOSTNAME_FLAG_FQDN_ENCODED and NM_DHCP_HOSTNAME_FLAG_FQDN_NO_UPDATE. When no FQDN flag is set and NM_DHCP_HOSTNAME_FLAG_FQDN_CLEAR_FLAGS is set, the DHCP FQDN option will contain no flag. Otherwise, if no FQDN flag is set and NM_DHCP_HOSTNAME_FLAG_FQDN_CLEAR_FLAGS is not set, the standard FQDN flags are set in the request: NM_DHCP_HOSTNAME_FLAG_FQDN_SERV_UPDATE, NM_DHCP_HOSTNAME_FLAG_FQDN_ENCODED for IPv4 and NM_DHCP_HOSTNAME_FLAG_FQDN_SERV_UPDATE for IPv6.

When this property is set to the default value NM_DHCP_HOSTNAME_FLAG_NONE, a global default is looked up in NetworkManager configuration. If that value is unset or also NM_DHCP_HOSTNAME_FLAG_NONE, then the standard FQDN flags described above are sent in the DHCP requests.

Owner: NMSettingIPConfig

Flags: Read / Write

Default value: 0

Since: 1.22


The “dhcp-iaid” property

  “dhcp-iaid”                char *

A string containing the "Identity Association Identifier" (IAID) used by the DHCP client. The property is a 32-bit decimal value or a special value among "mac", "perm-mac", "ifname" and "stable". When set to "mac" (or "perm-mac"), the last 4 bytes of the current (or permanent) MAC address are used as IAID. When set to "ifname", the IAID is computed by hashing the interface name. The special value "stable" can be used to generate an IAID based on the stable-id (see connection.stable-id), a per-host key and the interface name. When the property is unset, the value from global configuration is used; if no global default is set then the IAID is assumed to be "ifname". Note that at the moment this property is ignored for IPv6 by dhclient, which always derives the IAID from the MAC address.

Owner: NMSettingIPConfig

Flags: Read / Write

Default value: NULL

Since: 1.22


The “dhcp-reject-servers” property

  “dhcp-reject-servers”      GStrv

Array of servers from which DHCP offers must be rejected. This property is useful to avoid getting a lease from misconfigured or rogue servers.

For DHCPv4, each element must be an IPv4 address, optionally followed by a slash and a prefix length (e.g. "192.168.122.0/24").

This property is currently not implemented for DHCPv6.

Owner: NMSettingIPConfig

Flags: Read / Write

Since: 1.28


The “dhcp-send-hostname” property

  “dhcp-send-hostname”       gboolean

If TRUE, a hostname is sent to the DHCP server when acquiring a lease. Some DHCP servers use this hostname to update DNS databases, essentially providing a static hostname for the computer. If the “dhcp-hostname” property is NULL and this property is TRUE, the current persistent hostname of the computer is sent.

Owner: NMSettingIPConfig

Flags: Read / Write

Default value: TRUE


The “dhcp-timeout” property

  “dhcp-timeout”             int

A timeout for a DHCP transaction in seconds. If zero (the default), a globally configured default is used. If still unspecified, a device specific timeout is used (usually 45 seconds).

Set to 2147483647 (MAXINT32) for infinity.

Owner: NMSettingIPConfig

Flags: Read / Write

Allowed values: >= 0

Default value: 0


The “dns” property

  “dns”                      GStrv

Array of IP addresses of DNS servers.

Owner: NMSettingIPConfig

Flags: Read / Write


The “dns-options” property

  “dns-options”              GStrv

Array of DNS options as described in man 5 resolv.conf.

NULL means that the options are unset and left at the default. In this case NetworkManager will use default options. This is distinct from an empty list of properties.

The currently supported options are "attempts", "debug", "edns0", "inet6", "ip6-bytestring", "ip6-dotint", "ndots", "no-check-names", "no-ip6-dotint", "no-reload", "no-tld-query", "rotate", "single-request", "single-request-reopen", "timeout", "trust-ad", "use-vc".

The "trust-ad" setting is only honored if the profile contributes name servers to resolv.conf, and if all contributing profiles have "trust-ad" enabled.

When using a caching DNS plugin (dnsmasq or systemd-resolved in NetworkManager.conf) then "edns0" and "trust-ad" are automatically added.

Owner: NMSettingIPConfig

Flags: Read / Write

Since: 1.2


The “dns-priority” property

  “dns-priority”             int

DNS servers priority.

The relative priority for DNS servers specified by this setting. A lower numerical value is better (higher priority).

Negative values have the special effect of excluding other configurations with a greater numerical priority value; so in presence of at least one negative priority, only DNS servers from connections with the lowest priority value will be used. To avoid all DNS leaks, set the priority of the profile that should be used to the most negative value of all active connections profiles.

Zero selects a globally configured default value. If the latter is missing or zero too, it defaults to 50 for VPNs (including WireGuard) and 100 for other connections.

Note that the priority is to order DNS settings for multiple active connections. It does not disambiguate multiple DNS servers within the same connection profile.

When multiple devices have configurations with the same priority, VPNs will be considered first, then devices with the best (lowest metric) default route and then all other devices.

When using dns=default, servers with higher priority will be on top of resolv.conf. To prioritize a given server over another one within the same connection, just specify them in the desired order. Note that commonly the resolver tries name servers in /etc/resolv.conf in the order listed, proceeding with the next server in the list on failure. See for example the "rotate" option of the dns-options setting. If there are any negative DNS priorities, then only name servers from the devices with that lowest priority will be considered.

When using a DNS resolver that supports Conditional Forwarding or Split DNS (with dns=dnsmasq or dns=systemd-resolved settings), each connection is used to query domains in its search list. The search domains determine which name servers to ask, and the DNS priority is used to prioritize name servers based on the domain. Queries for domains not present in any search list are routed through connections having the '~.' special wildcard domain, which is added automatically to connections with the default route (or can be added manually). When multiple connections specify the same domain, the one with the best priority (lowest numerical value) wins. If a sub domain is configured on another interface it will be accepted regardless the priority, unless parent domain on the other interface has a negative priority, which causes the sub domain to be shadowed. With Split DNS one can avoid undesired DNS leaks by properly configuring DNS priorities and the search domains, so that only name servers of the desired interface are configured.

Owner: NMSettingIPConfig

Flags: Read / Write

Default value: 0

Since: 1.4


The “dns-search” property

  “dns-search”               GStrv

Array of DNS search domains. Domains starting with a tilde ('~') are considered 'routing' domains and are used only to decide the interface over which a query must be forwarded; they are not used to complete unqualified host names.

When using a DNS plugin that supports Conditional Forwarding or Split DNS, then the search domains specify which name servers to query. This makes the behavior different from running with plain /etc/resolv.conf. For more information see also the dns-priority setting.

Owner: NMSettingIPConfig

Flags: Read / Write


The “gateway” property

  “gateway”                  char *

The gateway associated with this configuration. This is only meaningful if “addresses” is also set.

The gateway's main purpose is to control the next hop of the standard default route on the device. Hence, the gateway property conflicts with “never-default” and will be automatically dropped if the IP configuration is set to never-default.

As an alternative to set the gateway, configure a static default route with /0 as prefix length.

Owner: NMSettingIPConfig

Flags: Read / Write

Default value: NULL


The “ignore-auto-dns” property

  “ignore-auto-dns”          gboolean

When “method” is set to "auto" and this property to TRUE, automatically configured name servers and search domains are ignored and only name servers and search domains specified in the “dns” and “dns-search” properties, if any, are used.

Owner: NMSettingIPConfig

Flags: Read / Write

Default value: FALSE


The “ignore-auto-routes” property

  “ignore-auto-routes”       gboolean

When “method” is set to "auto" and this property to TRUE, automatically configured routes are ignored and only routes specified in the “routes” property, if any, are used.

Owner: NMSettingIPConfig

Flags: Read / Write

Default value: FALSE


The “may-fail” property

  “may-fail”                 gboolean

If TRUE, allow overall network configuration to proceed even if the configuration specified by this property times out. Note that at least one IP configuration must succeed or overall network configuration will still fail. For example, in IPv6-only networks, setting this property to TRUE on the NMSettingIP4Config allows the overall network configuration to succeed if IPv4 configuration fails but IPv6 configuration completes successfully.

Owner: NMSettingIPConfig

Flags: Read / Write

Default value: TRUE


The “method” property

  “method”                   char *

IP configuration method.

NMSettingIP4Config and NMSettingIP6Config both support "disabled", "auto", "manual", and "link-local". See the subclass-specific documentation for other values.

In general, for the "auto" method, properties such as “dns” and “routes” specify information that is added on to the information returned from automatic configuration. The “ignore-auto-routes” and “ignore-auto-dns” properties modify this behavior.

For methods that imply no upstream network, such as "shared" or "link-local", these properties must be empty.

For IPv4 method "shared", the IP subnet can be configured by adding one manual IPv4 address or otherwise 10.42.x.0/24 is chosen. Note that the shared method must be configured on the interface which shares the internet to a subnet, not on the uplink which is shared.

Owner: NMSettingIPConfig

Flags: Read / Write

Default value: NULL


The “never-default” property

  “never-default”            gboolean

If TRUE, this connection will never be the default connection for this IP type, meaning it will never be assigned the default route by NetworkManager.

Owner: NMSettingIPConfig

Flags: Read / Write

Default value: FALSE


The “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. Note that for IPv6, the kernel accepts zero (0) but coerces it to 1024 (user default). Hence, setting this property to zero effectively mean setting it to 1024. For IPv4, zero is a regular value for the metric.

Owner: NMSettingIPConfig

Flags: Read / Write

Allowed values: [-1,4294967295]

Default value: -1


The “route-table” property

  “route-table”              guint

Enable policy routing (source routing) and set the routing table used when adding routes.

This affects all routes, including device-routes, IPv4LL, DHCP, SLAAC, default-routes and static routes. But note that static routes can individually overwrite the setting by explicitly specifying a non-zero routing table.

If the table setting is left at zero, it is eligible to be overwritten via global configuration. If the property is zero even after applying the global configuration value, policy routing is disabled for the address family of this connection.

Policy routing disabled means that NetworkManager will add all routes to the main table (except static routes that explicitly configure a different table). Additionally, NetworkManager will not delete any extraneous routes from tables except the main table. This is to preserve backward compatibility for users who manage routing tables outside of NetworkManager.

Owner: NMSettingIPConfig

Flags: Read / Write

Default value: 0

Since: 1.10


The “routes” property

  “routes”                   GPtrArray *

Array of IP routes.

[type GPtrArray(NMIPRoute)]

Owner: NMSettingIPConfig

Flags: Read / Write