NMSettingIPConfig

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

Synopsis

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

typedef             NMIPAddress;
NMIPAddress *       nm_ip_address_new                   (int family,
                                                         const char *addr,
                                                         guint prefix,
                                                         GError **error);
NMIPAddress *       nm_ip_address_new_binary            (int family,
                                                         gconstpointer addr,
                                                         guint prefix,
                                                         GError **error);
void                nm_ip_address_ref                   (NMIPAddress *address);
void                nm_ip_address_unref                 (NMIPAddress *address);
gboolean            nm_ip_address_equal                 (NMIPAddress *address,
                                                         NMIPAddress *other);
NMIPAddress *       nm_ip_address_dup                   (NMIPAddress *address);
int                 nm_ip_address_get_family            (NMIPAddress *address);
const char *        nm_ip_address_get_address           (NMIPAddress *address);
void                nm_ip_address_set_address           (NMIPAddress *address,
                                                         const char *addr);
void                nm_ip_address_get_address_binary    (NMIPAddress *address,
                                                         gpointer addr);
void                nm_ip_address_set_address_binary    (NMIPAddress *address,
                                                         gconstpointer addr);
guint               nm_ip_address_get_prefix            (NMIPAddress *address);
void                nm_ip_address_set_prefix            (NMIPAddress *address,
                                                         guint prefix);
char **             nm_ip_address_get_attribute_names   (NMIPAddress *address);
GVariant *          nm_ip_address_get_attribute         (NMIPAddress *address,
                                                         const char *name);
void                nm_ip_address_set_attribute         (NMIPAddress *address,
                                                         const char *name,
                                                         GVariant *value);
typedef             NMIPRoute;
NMIPRoute *         nm_ip_route_new                     (int family,
                                                         const char *dest,
                                                         guint prefix,
                                                         const char *next_hop,
                                                         gint64 metric,
                                                         GError **error);
NMIPRoute *         nm_ip_route_new_binary              (int family,
                                                         gconstpointer dest,
                                                         guint prefix,
                                                         gconstpointer next_hop,
                                                         gint64 metric,
                                                         GError **error);
void                nm_ip_route_ref                     (NMIPRoute *route);
void                nm_ip_route_unref                   (NMIPRoute *route);
gboolean            nm_ip_route_equal                   (NMIPRoute *route,
                                                         NMIPRoute *other);
NMIPRoute *         nm_ip_route_dup                     (NMIPRoute *route);
int                 nm_ip_route_get_family              (NMIPRoute *route);
const char *        nm_ip_route_get_dest                (NMIPRoute *route);
void                nm_ip_route_set_dest                (NMIPRoute *route,
                                                         const char *dest);
void                nm_ip_route_get_dest_binary         (NMIPRoute *route,
                                                         gpointer dest);
void                nm_ip_route_set_dest_binary         (NMIPRoute *route,
                                                         gconstpointer dest);
guint               nm_ip_route_get_prefix              (NMIPRoute *route);
void                nm_ip_route_set_prefix              (NMIPRoute *route,
                                                         guint prefix);
const char *        nm_ip_route_get_next_hop            (NMIPRoute *route);
void                nm_ip_route_set_next_hop            (NMIPRoute *route,
                                                         const char *next_hop);
gboolean            nm_ip_route_get_next_hop_binary     (NMIPRoute *route,
                                                         gpointer next_hop);
void                nm_ip_route_set_next_hop_binary     (NMIPRoute *route,
                                                         gconstpointer next_hop);
gint64              nm_ip_route_get_metric              (NMIPRoute *route);
void                nm_ip_route_set_metric              (NMIPRoute *route,
                                                         gint64 metric);
char **             nm_ip_route_get_attribute_names     (NMIPRoute *route);
GVariant *          nm_ip_route_get_attribute           (NMIPRoute *route,
                                                         const char *name);
void                nm_ip_route_set_attribute           (NMIPRoute *route,
                                                         const char *name,
                                                         GVariant *value);
#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_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_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_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_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
                    NMSettingIPConfig;
                    NMSettingIPConfigClass;
const char *        nm_setting_ip_config_get_method     (NMSettingIPConfig *setting);
guint               nm_setting_ip_config_get_num_dns    (NMSettingIPConfig *setting);
const char *        nm_setting_ip_config_get_dns        (NMSettingIPConfig *setting,
                                                         int idx);
gboolean            nm_setting_ip_config_add_dns        (NMSettingIPConfig *setting,
                                                         const char *dns);
void                nm_setting_ip_config_remove_dns     (NMSettingIPConfig *setting,
                                                         int idx);
gboolean            nm_setting_ip_config_remove_dns_by_value
                                                        (NMSettingIPConfig *setting,
                                                         const char *dns);
void                nm_setting_ip_config_clear_dns      (NMSettingIPConfig *setting);
guint               nm_setting_ip_config_get_num_dns_searches
                                                        (NMSettingIPConfig *setting);
const char *        nm_setting_ip_config_get_dns_search (NMSettingIPConfig *setting,
                                                         int idx);
gboolean            nm_setting_ip_config_add_dns_search (NMSettingIPConfig *setting,
                                                         const char *dns_search);
void                nm_setting_ip_config_remove_dns_search
                                                        (NMSettingIPConfig *setting,
                                                         int idx);
gboolean            nm_setting_ip_config_remove_dns_search_by_value
                                                        (NMSettingIPConfig *setting,
                                                         const char *dns_search);
void                nm_setting_ip_config_clear_dns_searches
                                                        (NMSettingIPConfig *setting);
guint               nm_setting_ip_config_get_num_dns_options
                                                        (NMSettingIPConfig *setting);
gboolean            nm_setting_ip_config_has_dns_options
                                                        (NMSettingIPConfig *setting);
const char *        nm_setting_ip_config_get_dns_option (NMSettingIPConfig *setting,
                                                         guint idx);
gint                nm_setting_ip_config_next_valid_dns_option
                                                        (NMSettingIPConfig *setting,
                                                         guint idx);
gboolean            nm_setting_ip_config_add_dns_option (NMSettingIPConfig *setting,
                                                         const char *dns_option);
void                nm_setting_ip_config_remove_dns_option
                                                        (NMSettingIPConfig *setting,
                                                         int idx);
gboolean            nm_setting_ip_config_remove_dns_option_by_value
                                                        (NMSettingIPConfig *setting,
                                                         const char *dns_option);
void                nm_setting_ip_config_clear_dns_options
                                                        (NMSettingIPConfig *setting,
                                                         gboolean is_set);
guint               nm_setting_ip_config_get_num_addresses
                                                        (NMSettingIPConfig *setting);
NMIPAddress *       nm_setting_ip_config_get_address    (NMSettingIPConfig *setting,
                                                         int idx);
gboolean            nm_setting_ip_config_add_address    (NMSettingIPConfig *setting,
                                                         NMIPAddress *address);
void                nm_setting_ip_config_remove_address (NMSettingIPConfig *setting,
                                                         int idx);
gboolean            nm_setting_ip_config_remove_address_by_value
                                                        (NMSettingIPConfig *setting,
                                                         NMIPAddress *address);
void                nm_setting_ip_config_clear_addresses
                                                        (NMSettingIPConfig *setting);
const char *        nm_setting_ip_config_get_gateway    (NMSettingIPConfig *setting);
guint               nm_setting_ip_config_get_num_routes (NMSettingIPConfig *setting);
NMIPRoute *         nm_setting_ip_config_get_route      (NMSettingIPConfig *setting,
                                                         int idx);
gboolean            nm_setting_ip_config_add_route      (NMSettingIPConfig *setting,
                                                         NMIPRoute *route);
void                nm_setting_ip_config_remove_route   (NMSettingIPConfig *setting,
                                                         int idx);
gboolean            nm_setting_ip_config_remove_route_by_value
                                                        (NMSettingIPConfig *setting,
                                                         NMIPRoute *route);
void                nm_setting_ip_config_clear_routes   (NMSettingIPConfig *setting);
gint64              nm_setting_ip_config_get_route_metric
                                                        (NMSettingIPConfig *setting);
gboolean            nm_setting_ip_config_get_ignore_auto_routes
                                                        (NMSettingIPConfig *setting);
gboolean            nm_setting_ip_config_get_ignore_auto_dns
                                                        (NMSettingIPConfig *setting);
const char *        nm_setting_ip_config_get_dhcp_hostname
                                                        (NMSettingIPConfig *setting);
gboolean            nm_setting_ip_config_get_dhcp_send_hostname
                                                        (NMSettingIPConfig *setting);
gboolean            nm_setting_ip_config_get_never_default
                                                        (NMSettingIPConfig *setting);
gboolean            nm_setting_ip_config_get_may_fail   (NMSettingIPConfig *setting);
gint                nm_setting_ip_config_get_dad_timeout
                                                        (NMSettingIPConfig *setting);
gint                nm_setting_ip_config_get_dhcp_timeout
                                                        (NMSettingIPConfig *setting);

Object Hierarchy

  GBoxed
   +----NMIPAddress
  GBoxed
   +----NMIPRoute
  GObject
   +----NMSetting
         +----NMSettingIPConfig
               +----NMSettingIP4Config
               +----NMSettingIP6Config

Properties

  "addresses"                GPtrArray*            : Read / Write
  "dad-timeout"              gint                  : Read / Write / Construct
  "dhcp-hostname"            gchar*                : Read / Write
  "dhcp-send-hostname"       gboolean              : Read / Write / Construct
  "dhcp-timeout"             gint                  : Read / Write
  "dns"                      GStrv                 : Read / Write
  "dns-options"              GStrv                 : Read / Write
  "dns-search"               GStrv                 : Read / Write
  "gateway"                  gchar*                : Read / Write
  "ignore-auto-dns"          gboolean              : Read / Write / Construct
  "ignore-auto-routes"       gboolean              : Read / Write / Construct
  "may-fail"                 gboolean              : Read / Write / Construct
  "method"                   gchar*                : Read / Write
  "never-default"            gboolean              : Read / Write / Construct
  "route-metric"             gint64                : Read / Write / Construct
  "routes"                   GPtrArray*            : Read / Write

Description

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

Details

NMIPAddress

typedef struct NMIPAddress NMIPAddress;


nm_ip_address_new ()

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

Creates a new NMIPAddress object.

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.

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.

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.

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).

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_dup ()

NMIPAddress *       nm_ip_address_dup                   (NMIPAddress *address);

Creates a copy of address

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.

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.

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.

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.

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.

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.

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.

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.

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

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.

address :

the NMIPAddress

name :

the name of an address attribute

value :

the value. [transfer none][allow-none]

NMIPRoute

typedef struct NMIPRoute NMIPRoute;


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.

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.

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.

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.

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.)

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_dup ()

NMIPRoute *         nm_ip_route_dup                     (NMIPRoute *route);

Creates a copy of route

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.

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.

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_valid() to check it.

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.

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.

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.

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.

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.

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.

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.

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.

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).

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.

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.

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

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.

route :

the NMIPRoute

name :

the name of a route attribute

value :

the value. [transfer none][allow-none]

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_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_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_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_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"


NMSettingIPConfig

typedef struct _NMSettingIPConfig NMSettingIPConfig;

NMSettingIPConfigClass

typedef struct {
	NMSettingClass parent;

	/* Padding for future expansion */
	gpointer padding[8];
} NMSettingIPConfigClass;


nm_setting_ip_config_get_method ()

const char *        nm_setting_ip_config_get_method     (NMSettingIPConfig *setting);

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);

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);

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.

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.

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.

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.

setting :

the NMSettingIPConfig

nm_setting_ip_config_get_num_dns_searches ()

guint               nm_setting_ip_config_get_num_dns_searches
                                                        (NMSettingIPConfig *setting);

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);

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.

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.

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.

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. Since 0.9.10

nm_setting_ip_config_clear_dns_searches ()

void                nm_setting_ip_config_clear_dns_searches
                                                        (NMSettingIPConfig *setting);

Removes all configured DNS search domains.

setting :

the NMSettingIPConfig

nm_setting_ip_config_get_num_dns_options ()

guint               nm_setting_ip_config_get_num_dns_options
                                                        (NMSettingIPConfig *setting);

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".

setting :

the NMSettingIPConfig

Returns :

whether DNS options are initalized 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);

setting :

the NMSettingIPConfig

idx :

index number of the DNS option

Returns :

the DNS option at index idx

Since 1.2


nm_setting_ip_config_next_valid_dns_option ()

gint                nm_setting_ip_config_next_valid_dns_option
                                                        (NMSettingIPConfig *setting,
                                                         guint idx);

setting :

the NMSettingIPConfig

idx :

index to start the search from

Returns :

the index, greater or equal than idx, of the first valid DNS option, or -1 if no valid option is found

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.

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.

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.

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.

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_num_addresses ()

guint               nm_setting_ip_config_get_num_addresses
                                                        (NMSettingIPConfig *setting);

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);

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.

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.

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.

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.

setting :

the NMSettingIPConfig

nm_setting_ip_config_get_gateway ()

const char *        nm_setting_ip_config_get_gateway    (NMSettingIPConfig *setting);

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);

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);

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);

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

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.

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 route route.

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.

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.

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_ignore_auto_routes ()

gboolean            nm_setting_ip_config_get_ignore_auto_routes
                                                        (NMSettingIPConfig *setting);

Returns the value contained in the "ignore-auto-routes" property.

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.

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.

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.

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.

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.

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 ()

gint                nm_setting_ip_config_get_dad_timeout
                                                        (NMSettingIPConfig *setting);

setting :

the NMSettingIPConfig

Returns :

the "dad-timeout" property.

Since 1.2


nm_setting_ip_config_get_dhcp_timeout ()

gint                nm_setting_ip_config_get_dhcp_timeout
                                                        (NMSettingIPConfig *setting);

Returns the value contained in the "dhcp-timeout" property.

setting :

the NMSettingIPConfig

Returns :

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

Since 1.2

Property Details

The "addresses" property

  "addresses"                GPtrArray*            : Read / Write

Array of IP addresses.

Element-Type: NMIPAddress


The "dad-timeout" property

  "dad-timeout"              gint                  : Read / Write / Construct

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 3 seconds). A value greater than zero is a timeout in milliseconds.

Allowed values: [-1,30000]

Default value: -1

Since 1.2


The "dhcp-hostname" property

  "dhcp-hostname"            gchar*                : Read / Write

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.

Default value: NULL


The "dhcp-send-hostname" property

  "dhcp-send-hostname"       gboolean              : Read / Write / Construct

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.

Default value: TRUE


The "dhcp-timeout" property

  "dhcp-timeout"             gint                  : Read / Write

A timeout for a DHCP transaction in seconds.

Allowed values: >= 0

Default value: 0


The "dns" property

  "dns"                      GStrv                 : Read / Write

Array of IP addresses of DNS servers.


The "dns-options" property

  "dns-options"              GStrv                 : Read / Write

Array of DNS options.

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.

Since 1.2


The "dns-search" property

  "dns-search"               GStrv                 : Read / Write

Array of DNS search domains.


The "gateway" property

  "gateway"                  gchar*                : Read / Write

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

Default value: NULL


The "ignore-auto-dns" property

  "ignore-auto-dns"          gboolean              : Read / Write / Construct

When "method" is set to "auto" and this property 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.

Default value: FALSE


The "ignore-auto-routes" property

  "ignore-auto-routes"       gboolean              : Read / Write / Construct

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.

Default value: FALSE


The "may-fail" property

  "may-fail"                 gboolean              : Read / Write / Construct

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.

Default value: TRUE


The "method" property

  "method"                   gchar*                : Read / Write

IP configuration method.

NMSettingIP4Config and NMSettingIP6Config both support "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.

Default value: NULL


The "never-default" property

  "never-default"            gboolean              : Read / Write / Construct

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.

Default value: FALSE


The "route-metric" property

  "route-metric"             gint64                : Read / Write / Construct

The default metric for routes that don't explicitly specify a metric. The default value -1 means that the metric is choosen 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.

Allowed values: [-1,4294967295]

Default value: -1


The "routes" property

  "routes"                   GPtrArray*            : Read / Write

Array of IP routes.

Element-Type: NMIPRoute

See Also

NMSettingIP4Config, NMSettingIP6Config