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

## Properties

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

## Types and Values

#define | NM_SETTING_IP_CONFIG_METHOD
#define | NM_SETTING_IP_CONFIG_DNS
#define | NM_SETTING_IP_CONFIG_DNS_SEARCH
#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

## Object Hierarchy

        GBoxed
        ├── NMIPAddress
        ╰── NMIPRoute
        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_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.

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

#### 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_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_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.

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

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

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

#### 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_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 i);

#### Parameters

setting | the NMSettingIPConfig |
i | index number of the DNS server to return |

#### Returns

the IP address of the DNS server at index `i`

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

Removes the DNS server at index `i` .

#### Parameters

setting | the NMSettingIPConfig |
i | 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 i);

#### Parameters

setting | the NMSettingIPConfig |
i | index number of the DNS search domain to return |

#### Returns

the DNS search domain at index `i`

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

Removes the DNS search domain at index `i` .

#### Parameters

setting | the NMSettingIPConfig |
i | 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.

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.

#### Parameters

setting | the NMSettingIPConfig |

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

#### Parameters

setting | the NMSettingIPConfig |
i | index number of the address to return |

#### Returns

the address at index `i`

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

Removes the address at index `i` .

#### Parameters

setting | the NMSettingIPConfig |
i | 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 i);

#### Parameters

setting | the NMSettingIPConfig |
i | index number of the route to return |

#### Returns

the route at index `i`

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

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

Removes the route at index `i` .

#### Parameters

setting | the NMSettingIPConfig |
i | 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` .

#### 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_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.

## Types and Values

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

## Property Details

### The `“addresses”` property

      “addresses”                GPtrArray *

Flags: Read / Write

### The `“dhcp-hostname”` property

      “dhcp-hostname”            gchar *

Flags: Read / Write

Default value: NULL

### The `“dhcp-send-hostname”` property

      “dhcp-send-hostname”       gboolean

Flags: Read / Write / Construct

Default value: TRUE

### The `“dns”` property

      “dns”                      GStrv

Flags: Read / Write

### The `“dns-search”` property

      “dns-search”               GStrv

Flags: Read / Write

### The `“gateway”` property

      “gateway”                  gchar *

Flags: Read / Write

Default value: NULL

### The `“ignore-auto-dns”` property

      “ignore-auto-dns”          gboolean

Flags: Read / Write / Construct

Default value: FALSE

### The `“ignore-auto-routes”` property

      “ignore-auto-routes”       gboolean

Flags: Read / Write / Construct

Default value: FALSE

### The `“may-fail”` property

      “may-fail”                 gboolean

Flags: Read / Write / Construct

Default value: TRUE

### The `“method”` property

      “method”                   gchar *

Flags: Read / Write

Default value: NULL

### The `“never-default”` property

      “never-default”            gboolean

Flags: Read / Write / Construct

Default value: FALSE

### The `“route-metric”` property

      “route-metric”             gint64

Flags: Read / Write / Construct

Allowed values: [-1,4294967295]

Default value: -1

### The `“routes”` property

      “routes”                   GPtrArray *

Flags: Read / Write

## See Also

NMSettingIP4Config, NMSettingIP6Config