NMSettingConnection: libnm Reference Manual

## NMSettingConnection NMSettingConnection — Describes general connection properties |

## Functions

NMSetting * | nm_setting_connection_new ()
const char * | nm_setting_connection_get_id ()
const char * | nm_setting_connection_get_uuid ()
const char * | nm_setting_connection_get_stable_id ()
const char * | nm_setting_connection_get_interface_name ()
const char * | nm_setting_connection_get_connection_type ()
gboolean | nm_setting_connection_get_autoconnect ()
int | nm_setting_connection_get_autoconnect_priority ()
int | nm_setting_connection_get_autoconnect_retries ()
NMConnectionMultiConnect | nm_setting_connection_get_multi_connect ()
guint64 | nm_setting_connection_get_timestamp ()
gboolean | nm_setting_connection_get_read_only ()
guint32 | nm_setting_connection_get_num_permissions ()
gboolean | nm_setting_connection_get_permission ()
const char * | nm_setting_connection_get_zone ()
gboolean | nm_setting_connection_permissions_user_allowed ()
gboolean | nm_setting_connection_add_permission ()
void | nm_setting_connection_remove_permission ()
gboolean | nm_setting_connection_remove_permission_by_value ()
const char * | nm_setting_connection_get_master ()
gboolean | nm_setting_connection_is_slave_type ()
const char * | nm_setting_connection_get_slave_type ()
NMSettingConnectionAutoconnectSlaves | nm_setting_connection_get_autoconnect_slaves ()
guint32 | nm_setting_connection_get_num_secondaries ()
const char * | nm_setting_connection_get_secondary ()
gboolean | nm_setting_connection_add_secondary ()
void | nm_setting_connection_remove_secondary ()
gboolean | nm_setting_connection_remove_secondary_by_value ()
guint32 | nm_setting_connection_get_gateway_ping_timeout ()
NMMetered | nm_setting_connection_get_metered ()
NMSettingConnectionLldp | nm_setting_connection_get_lldp ()
int | nm_setting_connection_get_auth_retries ()
NMSettingConnectionMdns | nm_setting_connection_get_mdns ()
NMSettingConnectionLlmnr | nm_setting_connection_get_llmnr ()
gint32 | nm_setting_connection_get_wait_device_timeout ()

## Properties

gint | auth-retries | Read / Write / Construct
gboolean | autoconnect | Read / Write / Construct
gint | autoconnect-priority | Read / Write / Construct
gint | autoconnect-retries | Read / Write / Construct
NMSettingConnectionAutoconnectSlaves | autoconnect-slaves | Read / Write / Construct
guint | gateway-ping-timeout | Read / Write / Construct
gchar * | id | Read / Write
gchar * | interface-name | Read / Write
gint | lldp | Read / Write / Construct
gint | llmnr | Read / Write
gchar * | master | Read / Write
gint | mdns | Read / Write
NMMetered | metered | Read / Write
gint | multi-connect | Read / Write
GStrv | permissions | Read / Write
gboolean | read-only | Read / Write / Construct
GStrv | secondaries | Read / Write
gchar * | slave-type | Read / Write
gchar * | stable-id | Read / Write
guint64 | timestamp | Read / Write / Construct
gchar * | type | Read / Write
gchar * | uuid | Read / Write
gint | wait-device-timeout | Read / Write
gchar * | zone | Read / Write / Construct

## Types and Values

#define | NM_SETTING_CONNECTION_SETTING_NAME
#define | NM_SETTING_CONNECTION_AUTOCONNECT_PRIORITY_MIN
#define | NM_SETTING_CONNECTION_AUTOCONNECT_PRIORITY_MAX
#define | NM_SETTING_CONNECTION_AUTOCONNECT_PRIORITY_DEFAULT
#define | NM_SETTING_CONNECTION_ID
#define | NM_SETTING_CONNECTION_UUID
#define | NM_SETTING_CONNECTION_STABLE_ID
#define | NM_SETTING_CONNECTION_INTERFACE_NAME
#define | NM_SETTING_CONNECTION_TYPE
#define | NM_SETTING_CONNECTION_AUTOCONNECT
#define | NM_SETTING_CONNECTION_AUTOCONNECT_PRIORITY
#define | NM_SETTING_CONNECTION_AUTOCONNECT_RETRIES
#define | NM_SETTING_CONNECTION_MULTI_CONNECT
#define | NM_SETTING_CONNECTION_TIMESTAMP
#define | NM_SETTING_CONNECTION_READ_ONLY
#define | NM_SETTING_CONNECTION_PERMISSIONS
#define | NM_SETTING_CONNECTION_ZONE
#define | NM_SETTING_CONNECTION_MASTER
#define | NM_SETTING_CONNECTION_SLAVE_TYPE
#define | NM_SETTING_CONNECTION_AUTOCONNECT_SLAVES
#define | NM_SETTING_CONNECTION_SECONDARIES
#define | NM_SETTING_CONNECTION_GATEWAY_PING_TIMEOUT
#define | NM_SETTING_CONNECTION_METERED
#define | NM_SETTING_CONNECTION_LLDP
#define | NM_SETTING_CONNECTION_AUTH_RETRIES
#define | NM_SETTING_CONNECTION_MDNS
#define | NM_SETTING_CONNECTION_LLMNR
#define | NM_SETTING_CONNECTION_WAIT_DEVICE_TIMEOUT
enum | NMSettingConnectionAutoconnectSlaves
enum | NMSettingConnectionLldp
enum | NMSettingConnectionMdns
enum | NMSettingConnectionLlmnr
| NMSettingConnection

## Object Hierarchy

        GEnum
        ├── NMSettingConnectionAutoconnectSlaves
        ├── NMSettingConnectionLldp
        ├── NMSettingConnectionLlmnr
        ╰── NMSettingConnectionMdns
        GObject
        ╰── NMSetting
            ╰── NMSettingConnection

## Description

The NMSettingConnection object is a NMSetting subclass that describes properties that apply to all NMConnection objects, regardless of what type of network connection they describe. Each NMConnection object must contain a NMSettingConnection setting.

## Functions

### nm_setting_connection_new ()

    NMSetting *
    nm_setting_connection_new (void);

Creates a new NMSettingConnection object with default values.

#### Returns

the new empty NMSettingConnection object

### nm_setting_connection_get_id ()

    const char *
    nm_setting_connection_get_id (NMSettingConnection *setting);

Returns the “id” property of the connection.

#### Parameters

setting | the NMSettingConnection |

#### Returns

the connection ID

### nm_setting_connection_get_uuid ()

    const char *
    nm_setting_connection_get_uuid (NMSettingConnection *setting);

Returns the “uuid” property of the connection.

#### Parameters

setting | the NMSettingConnection |

#### Returns

the connection UUID

### nm_setting_connection_get_stable_id ()

    const char *
    nm_setting_connection_get_stable_id (NMSettingConnection *setting);

Returns the “stable_id” property of the connection.

#### Parameters

setting | the NMSettingConnection |

#### Returns

the stable-id for the connection

Since: 1.4

### nm_setting_connection_get_interface_name ()

    const char *
    nm_setting_connection_get_interface_name
                                   (NMSettingConnection *setting);

Returns the “interface-name” property of the connection.

#### Parameters

setting | the NMSettingConnection |

#### Returns

the connection's interface name

### nm_setting_connection_get_connection_type ()

    const char *
    nm_setting_connection_get_connection_type
                                   (NMSettingConnection *setting);

Returns the “type” property of the connection.

#### Parameters

setting | the NMSettingConnection |

#### Returns

the connection type

### nm_setting_connection_get_autoconnect ()

    gboolean
    nm_setting_connection_get_autoconnect (NMSettingConnection *setting);

Returns the “autoconnect” property of the connection.

#### Parameters

setting | the NMSettingConnection |

#### Returns

the connection's autoconnect behavior

### nm_setting_connection_get_autoconnect_priority ()

    int
    nm_setting_connection_get_autoconnect_priority
                                   (NMSettingConnection *setting);

Returns the “autoconnect-priority” property of the connection. The higher number, the higher priority.

#### Parameters

setting | the NMSettingConnection |

#### Returns

the connection's autoconnect priority

### nm_setting_connection_get_autoconnect_retries ()

    int
    nm_setting_connection_get_autoconnect_retries
                                   (NMSettingConnection *setting);

Returns the “autoconnect-retries” property of the connection. Zero means infinite, -1 means the global default value.

#### Parameters

setting | the NMSettingConnection |

#### Returns

the connection's autoconnect retries

Since: 1.6

### nm_setting_connection_get_multi_connect ()

    NMConnectionMultiConnect
    nm_setting_connection_get_multi_connect
                                   (NMSettingConnection *setting);

#### Parameters

setting | the NMSettingConnection |

#### Returns

the “multi-connect” property of the connection.

Since: 1.14

### nm_setting_connection_get_timestamp ()

    guint64
    nm_setting_connection_get_timestamp (NMSettingConnection *setting);

Returns the “timestamp” property of the connection.

#### Parameters

setting | the NMSettingConnection |

#### Returns

the connection's timestamp

### nm_setting_connection_get_read_only ()

    gboolean
    nm_setting_connection_get_read_only (NMSettingConnection *setting);

Returns the “read-only” property of the connection.

#### Parameters

setting | the NMSettingConnection |

#### Returns

`TRUE` if the connection is read-only, `FALSE` if it is not

### nm_setting_connection_get_num_permissions ()

    guint32
    nm_setting_connection_get_num_permissions
                                   (NMSettingConnection *setting);

Returns the number of entries in the “permissions” property of this setting.

#### Parameters

setting | the NMSettingConnection |

#### Returns

the number of permissions entries

### nm_setting_connection_get_permission ()

    gboolean
    nm_setting_connection_get_permission (NMSettingConnection *setting,
                                          guint32 idx,
                                          const char **out_ptype,
                                          const char **out_pitem,
                                          const char **out_detail);

Retrieve one of the entries of the “permissions” property of this setting.

#### Parameters

setting | the NMSettingConnection |
idx | the zero-based index of the permissions entry |
out_ptype | on return, the permission type (at this time, always "user") |
out_pitem | on return, the permission item (formatted according to `ptype` , see “permissions” for more detail |
out_detail | on return, the permission detail (at this time, always `NULL`) |

#### Returns

`TRUE` if a permission was returned, `FALSE` if `idx` was invalid

### nm_setting_connection_get_zone ()

    const char *
    nm_setting_connection_get_zone (NMSettingConnection *setting);

Returns the “zone” property of the connection.

#### Parameters

setting | the NMSettingConnection |

#### Returns

the trust level of a connection

### nm_setting_connection_permissions_user_allowed ()

    gboolean
    nm_setting_connection_permissions_user_allowed
                                   (NMSettingConnection *setting,
                                    const char *uname);

Checks whether the given username is allowed to view/access this connection.

#### Parameters

setting | the NMSettingConnection |
uname | the user name to check permissions for |

#### Returns

`TRUE` if the requested user is allowed to view this connection, `FALSE` if the given user is not allowed to view this connection

### nm_setting_connection_add_permission ()

    gboolean
    nm_setting_connection_add_permission (NMSettingConnection *setting,
                                          const char *ptype,
                                          const char *pitem,
                                          const char *detail);

Adds a permission to the connection's permission list. At this time, only the "user" permission type is supported, and `pitem` must be a username. See “permissions”: for more details.

#### Parameters

setting | the NMSettingConnection |
ptype | the permission type; at this time only "user" is supported |
pitem | the permission item formatted as required for `ptype` |
detail | unused at this time; must be `NULL`. | [allow-none]

#### Returns

`TRUE` if the permission was unique and was successfully added to the list, `FALSE` if `ptype` or `pitem` was invalid or it the permission was already present in the list

### nm_setting_connection_remove_permission ()

    void
    nm_setting_connection_remove_permission
                                   (NMSettingConnection *setting,
                                    guint32 idx);

Removes the permission at index `idx` from the connection.

#### Parameters

setting | the NMSettingConnection |
idx | the zero-based index of the permission to remove |

### nm_setting_connection_remove_permission_by_value ()

    gboolean
    nm_setting_connection_remove_permission_by_value
                                   (NMSettingConnection *setting,
                                    const char *ptype,
                                    const char *pitem,
                                    const char *detail);

Removes the permission from the connection. At this time, only the "user" permission type is supported, and `pitem` must be a username. See “permissions”: for more details.

#### Parameters

setting | the NMSettingConnection |
ptype | the permission type; at this time only "user" is supported |
pitem | the permission item formatted as required for `ptype` |
detail | unused at this time; must be `NULL`. | [allow-none]

#### Returns

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

### nm_setting_connection_get_master ()

    const char *
    nm_setting_connection_get_master (NMSettingConnection *setting);

Returns the “master” property of the connection.

#### Parameters

setting | the NMSettingConnection |

#### Returns

interface name of the master device or UUID of the master connection.

### nm_setting_connection_is_slave_type ()

    gboolean
    nm_setting_connection_is_slave_type (NMSettingConnection *setting,
                                         const char *type);

#### Parameters

setting | the NMSettingConnection |
type | the setting name (ie NM_SETTING_BOND_SETTING_NAME) to be matched against `setting` 's slave type |

#### Returns

`TRUE` if connection is of the given slave `type`

### nm_setting_connection_get_slave_type ()

    const char *
    nm_setting_connection_get_slave_type (NMSettingConnection *setting);

Returns the “slave-type” property of the connection.

#### Parameters

setting | the NMSettingConnection |

#### Returns

the type of slave this connection is, if any

### nm_setting_connection_get_autoconnect_slaves ()

    NMSettingConnectionAutoconnectSlaves
    nm_setting_connection_get_autoconnect_slaves
                                   (NMSettingConnection *setting);

Returns the “autoconnect-slaves” property of the connection.

#### Parameters

setting | the NMSettingConnection |

#### Returns

whether slaves of the connection should be activated together with the connection.

Since: 1.2

### nm_setting_connection_get_num_secondaries ()

    guint32
    nm_setting_connection_get_num_secondaries
                                   (NMSettingConnection *setting);

#### Parameters

setting | the NMSettingConnection |

#### Returns

the number of configured secondary connection UUIDs

### nm_setting_connection_get_secondary ()

    const char *
    nm_setting_connection_get_secondary (NMSettingConnection *setting,
                                         guint32 idx);

#### Parameters

setting | the NMSettingConnection |
idx | the zero-based index of the secondary connection UUID entry |

#### Returns

the secondary connection UUID at index `idx`

### nm_setting_connection_add_secondary ()

    gboolean
    nm_setting_connection_add_secondary (NMSettingConnection *setting,
                                         const char *sec_uuid);

Adds a new secondary connection UUID to the setting.

#### Parameters

setting | the NMSettingConnection |
sec_uuid | the secondary connection UUID to add |

#### Returns

`TRUE` if the secondary connection UUID was added; `FALSE` if the UUID was already present

### nm_setting_connection_remove_secondary ()

    void
    nm_setting_connection_remove_secondary
                                   (NMSettingConnection *setting,
                                    guint32 idx);

Removes the secondary coonnection UUID at index `idx` .

#### Parameters

setting | the NMSettingConnection |
idx | index number of the secondary connection UUID |

### nm_setting_connection_remove_secondary_by_value ()

    gboolean
    nm_setting_connection_remove_secondary_by_value
                                   (NMSettingConnection *setting,
                                    const char *sec_uuid);

Removes the secondary coonnection UUID `sec_uuid` .

#### Parameters

setting | the NMSettingConnection |
sec_uuid | the secondary connection UUID to remove |

#### Returns

`TRUE` if the secondary connection UUID was found and removed; `FALSE` if it was not.

### nm_setting_connection_get_gateway_ping_timeout ()

    guint32
    nm_setting_connection_get_gateway_ping_timeout
                                   (NMSettingConnection *setting);

#### Parameters

setting | the NMSettingConnection |

#### Returns

the value contained in the “gateway-ping-timeout” property.

### nm_setting_connection_get_metered ()

    NMMetered
    nm_setting_connection_get_metered (NMSettingConnection *setting);

#### Parameters

setting | the NMSettingConnection |

#### Returns

the “metered” property of the setting.

Since: 1.2

### nm_setting_connection_get_lldp ()

    NMSettingConnectionLldp
    nm_setting_connection_get_lldp (NMSettingConnection *setting);

Returns the “lldp” property of the connection.

#### Parameters

setting | the NMSettingConnection |

#### Returns

a `NMSettingConnectionLldp` which indicates whether LLDP must be enabled for the connection.

Since: 1.2

### nm_setting_connection_get_auth_retries ()

    int
    nm_setting_connection_get_auth_retries
                                   (NMSettingConnection *setting);

Returns the value contained in the “auth-retries” property.

#### Parameters

setting | the NMSettingConnection |

#### Returns

the configured authentication retries. Zero means infinity and -1 means a global default value.

Since: 1.10

### nm_setting_connection_get_mdns ()

    NMSettingConnectionMdns
    nm_setting_connection_get_mdns (NMSettingConnection *setting);

#### Parameters

setting | the NMSettingConnection |

#### Returns

the “mdns” property of the setting.

Since: 1.12

### nm_setting_connection_get_llmnr ()

    NMSettingConnectionLlmnr
    nm_setting_connection_get_llmnr (NMSettingConnection *setting);

#### Parameters

setting | the NMSettingConnection |

#### Returns

the “llmnr” property of the setting.

Since: 1.14

### nm_setting_connection_get_wait_device_timeout ()

    gint32
    nm_setting_connection_get_wait_device_timeout
                                   (NMSettingConnection *setting);

#### Parameters

setting | the NMSettingConnection |

#### Returns

the `NM_SETTING_CONNECTION_WAIT_DEVICE_TIMEOUT` property with the timeout in milli seconds. -1 is the default.

Since: 1.20

## Types and Values

### NM_SETTING_CONNECTION_SETTING_NAME

    #define NM_SETTING_CONNECTION_SETTING_NAME "connection"

### NM_SETTING_CONNECTION_AUTOCONNECT_PRIORITY_MIN

    #define NM_SETTING_CONNECTION_AUTOCONNECT_PRIORITY_MIN -999

### NM_SETTING_CONNECTION_AUTOCONNECT_PRIORITY_MAX

    #define NM_SETTING_CONNECTION_AUTOCONNECT_PRIORITY_MAX 999

### NM_SETTING_CONNECTION_AUTOCONNECT_PRIORITY_DEFAULT

    #define NM_SETTING_CONNECTION_AUTOCONNECT_PRIORITY_DEFAULT 0

### NM_SETTING_CONNECTION_ID

    #define NM_SETTING_CONNECTION_ID             "id"

### NM_SETTING_CONNECTION_UUID

    #define NM_SETTING_CONNECTION_UUID           "uuid"

### NM_SETTING_CONNECTION_STABLE_ID

    #define NM_SETTING_CONNECTION_STABLE_ID      "stable-id"

### NM_SETTING_CONNECTION_INTERFACE_NAME

    #define NM_SETTING_CONNECTION_INTERFACE_NAME "interface-name"

### NM_SETTING_CONNECTION_TYPE

    #define NM_SETTING_CONNECTION_TYPE           "type"

### NM_SETTING_CONNECTION_AUTOCONNECT

    #define NM_SETTING_CONNECTION_AUTOCONNECT    "autoconnect"

### NM_SETTING_CONNECTION_AUTOCONNECT_PRIORITY

    #define NM_SETTING_CONNECTION_AUTOCONNECT_PRIORITY "autoconnect-priority"

### NM_SETTING_CONNECTION_AUTOCONNECT_RETRIES

    #define NM_SETTING_CONNECTION_AUTOCONNECT_RETRIES "autoconnect-retries"

### NM_SETTING_CONNECTION_MULTI_CONNECT

    #define NM_SETTING_CONNECTION_MULTI_CONNECT  "multi-connect"

### NM_SETTING_CONNECTION_TIMESTAMP

    #define NM_SETTING_CONNECTION_TIMESTAMP      "timestamp"

### NM_SETTING_CONNECTION_READ_ONLY

    #define NM_SETTING_CONNECTION_READ_ONLY      "read-only"

### NM_SETTING_CONNECTION_PERMISSIONS

    #define NM_SETTING_CONNECTION_PERMISSIONS    "permissions"

### NM_SETTING_CONNECTION_ZONE

    #define NM_SETTING_CONNECTION_ZONE           "zone"

### NM_SETTING_CONNECTION_MASTER

    #define NM_SETTING_CONNECTION_MASTER         "master"

### NM_SETTING_CONNECTION_SLAVE_TYPE

    #define NM_SETTING_CONNECTION_SLAVE_TYPE     "slave-type"

### NM_SETTING_CONNECTION_AUTOCONNECT_SLAVES

    #define NM_SETTING_CONNECTION_AUTOCONNECT_SLAVES "autoconnect-slaves"

### NM_SETTING_CONNECTION_SECONDARIES

    #define NM_SETTING_CONNECTION_SECONDARIES    "secondaries"

### NM_SETTING_CONNECTION_GATEWAY_PING_TIMEOUT

    #define NM_SETTING_CONNECTION_GATEWAY_PING_TIMEOUT "gateway-ping-timeout"

### NM_SETTING_CONNECTION_METERED

    #define NM_SETTING_CONNECTION_METERED        "metered"

### NM_SETTING_CONNECTION_LLDP

    #define NM_SETTING_CONNECTION_LLDP           "lldp"

### NM_SETTING_CONNECTION_AUTH_RETRIES

    #define NM_SETTING_CONNECTION_AUTH_RETRIES   "auth-retries"

### NM_SETTING_CONNECTION_MDNS

    #define NM_SETTING_CONNECTION_MDNS           "mdns"

### NM_SETTING_CONNECTION_LLMNR

    #define NM_SETTING_CONNECTION_LLMNR          "llmnr"

### NM_SETTING_CONNECTION_WAIT_DEVICE_TIMEOUT

    #define NM_SETTING_CONNECTION_WAIT_DEVICE_TIMEOUT "wait-device-timeout"

### enum NMSettingConnectionAutoconnectSlaves

NMSettingConnectionAutoconnectSlaves values indicate whether slave connections should be activated when master is activated.

#### Members

NM_SETTING_CONNECTION_AUTOCONNECT_SLAVES_DEFAULT | default value |
NM_SETTING_CONNECTION_AUTOCONNECT_SLAVES_NO | slaves are not brought up when master is activated |
NM_SETTING_CONNECTION_AUTOCONNECT_SLAVES_YES | slaves are brought up when master is activated |

### enum NMSettingConnectionLldp

NMSettingConnectionLldp values indicate whether LLDP should be enabled.

#### Members

NM_SETTING_CONNECTION_LLDP_DEFAULT | default value |
NM_SETTING_CONNECTION_LLDP_DISABLE | disable LLDP |
NM_SETTING_CONNECTION_LLDP_ENABLE_RX | enable reception of LLDP frames |

### enum NMSettingConnectionMdns

NMSettingConnectionMdns values indicate whether mDNS should be enabled.

#### Members

NM_SETTING_CONNECTION_MDNS_DEFAULT | default value |
NM_SETTING_CONNECTION_MDNS_NO | disable mDNS |
NM_SETTING_CONNECTION_MDNS_RESOLVE | support only resolving, do not register hostname |
NM_SETTING_CONNECTION_MDNS_YES | enable mDNS |

Since: 1.12

### enum NMSettingConnectionLlmnr

NMSettingConnectionLlmnr values indicate whether LLMNR should be enabled.

#### Members

NM_SETTING_CONNECTION_LLMNR_DEFAULT | default value |
NM_SETTING_CONNECTION_LLMNR_NO | disable LLMNR |
NM_SETTING_CONNECTION_LLMNR_RESOLVE | support only resolving, do not register hostname |
NM_SETTING_CONNECTION_LLMNR_YES | enable LLMNR |

Since: 1.14

### NMSettingConnection

    typedef struct _NMSettingConnection NMSettingConnection;

General Connection Profile Settings

## Property Details

### The `“auth-retries”` property

      “auth-retries”             gint

The number of retries for the authentication. Zero means to try indefinitely; -1 means to use a global default. If the global default is not set, the authentication retries for 3 times before failing the connection.

Currently this only applies to 802-1x authentication.

Owner: NMSettingConnection

Flags: Read / Write / Construct

Allowed values: >= -1

Default value: -1

Since: 1.10

### The `“autoconnect”` property

      “autoconnect”              gboolean

Whether or not the connection should be automatically connected by NetworkManager when the resources for the connection are available. `TRUE` to automatically activate the connection, `FALSE` to require manual intervention to activate the connection.

Note that autoconnect is not implemented for VPN profiles. See “secondaries” as an alternative to automatically connect VPN profiles.

Owner: NMSettingConnection

Flags: Read / Write / Construct

Default value: TRUE

### The `“autoconnect-priority”` property

      “autoconnect-priority”     gint

The autoconnect priority. If the connection is set to autoconnect, connections with higher priority will be preferred. Defaults to 0. The higher number means higher priority.

Owner: NMSettingConnection

Flags: Read / Write / Construct

Allowed values: [-999,999]

Default value: 0

### The `“autoconnect-retries”` property

      “autoconnect-retries”      gint

The number of times a connection should be tried when autoactivating before giving up. Zero means forever, -1 means the global default (4 times if not overridden). Setting this to 1 means to try activation only once before blocking autoconnect. Note that after a timeout, NetworkManager will try to autoconnect again.

Owner: NMSettingConnection

Flags: Read / Write / Construct

Allowed values: >= -1

Default value: -1

### The `“autoconnect-slaves”` property

      “autoconnect-slaves”       NMSettingConnectionAutoconnectSlaves

Whether or not slaves of this connection should be automatically brought up when NetworkManager activates this connection. This only has a real effect for master connections. The properties “autoconnect”, “autoconnect-priority” and “autoconnect-retries” are unrelated to this setting. The permitted values are: 0: leave slave connections untouched, 1: activate all the slave connections with this connection, -1: default. If -1 (default) is set, global connection.autoconnect-slaves is read to determine the real value. If it is default as well, this fallbacks to 0.

Owner: NMSettingConnection

Flags: Read / Write / Construct

Default value: NM_SETTING_CONNECTION_AUTOCONNECT_SLAVES_DEFAULT

Since: 1.2

### The `“gateway-ping-timeout”` property

      “gateway-ping-timeout”     guint

If greater than zero, delay success of IP addressing until either the timeout is reached, or an IP gateway replies to a ping.

Owner: NMSettingConnection

Flags: Read / Write / Construct

Allowed values: <= 600

Default value: 0

### The `“id”` property

      “id”                       gchar *

A human readable unique identifier for the connection, like "Work Wi-Fi" or "T-Mobile 3G".

Owner: NMSettingConnection

Flags: Read / Write

Default value: NULL

### The `“interface-name”` property

      “interface-name”           gchar *

The name of the network interface this connection is bound to. If not set, then the connection can be attached to any interface of the appropriate type (subject to restrictions imposed by other settings).

For software devices this specifies the name of the created device.

For connection types where interface names cannot easily be made persistent (e.g. mobile broadband or USB Ethernet), this property should not be used. Setting this property restricts the interfaces a connection can be used with, and if interface names change or are reordered the connection may be applied to the wrong interface.

Owner: NMSettingConnection

Flags: Read / Write

Default value: NULL

### The `“lldp”` property

      “lldp”                     gint

Whether LLDP is enabled for the connection.

Owner: NMSettingConnection

Flags: Read / Write / Construct

Default value: -1

Since: 1.2

### The `“llmnr”` property

      “llmnr”                    gint

Whether Link-Local Multicast Name Resolution (LLMNR) is enabled for the connection. LLMNR is a protocol based on the Domain Name System (DNS) packet format that allows both IPv4 and IPv6 hosts to perform name resolution for hosts on the same local link.

The permitted values are: yes: register hostname and resolving for the connection, no: disable LLMNR for the interface, resolve: do not register hostname but allow resolving of LLMNR host names.

This feature requires a plugin which supports LLMNR. One such plugin is dns-systemd-resolved.

Owner: NMSettingConnection

Flags: Read / Write

Default value: -1

Since: 1.14

### The `“master”` property

      “master”                   gchar *

Interface name of the master device or UUID of the master connection.

Owner: NMSettingConnection

Flags: Read / Write

Default value: NULL

### The `“mdns”` property

      “mdns”                     gint

Whether mDNS is enabled for the connection.

The permitted values are: yes: register hostname and resolving for the connection, no: disable mDNS for the interface, resolve: do not register hostname but allow resolving of mDNS host names.

This feature requires a plugin which supports mDNS. One such plugin is dns-systemd-resolved.

Owner: NMSettingConnection

Flags: Read / Write

Default value: -1

Since: 1.12

### The `“metered”` property

      “metered”                  NMMetered

Whether the connection is metered.

When updating this property on a currently activated connection, the change takes effect immediately.

Owner: NMSettingConnection

Flags: Read / Write

Default value: NM_METERED_UNKNOWN

Since: 1.2

### The `“multi-connect”` property

      “multi-connect”            gint

Specifies whether the profile can be active multiple times at a particular moment. The value is of type NMConnectionMultiConnect.

Owner: NMSettingConnection

Flags: Read / Write

Default value: 0

Since: 1.14

### The `“permissions”` property

      “permissions”              GStrv

An array of strings defining what access a given user has to this connection. If this is `NULL` or empty, all users are allowed to access this connection; otherwise users are allowed if and only if they are in this list. When this is not empty, the connection can be active only when one of the specified users is logged into an active session. Each entry is of the form "[type]:[id]:[reserved]"; for example, "user:dcbw:blah".

At this time only the "user" [type] is allowed. Any other values are ignored and reserved for future use. [id] is the username that this permission refers to, which may not contain the ":" character. Any [reserved] information present must be ignored and is reserved for future use. All of [type], [id], and [reserved] must be valid UTF-8.

Owner: NMSettingConnection

Flags: Read / Write

### The `“read-only”` property

      “read-only”                gboolean

`FALSE` if the connection can be modified using the provided settings service's D-Bus interface with the right privileges, or `TRUE` if the connection is read-only and cannot be modified.

Owner: NMSettingConnection

Flags: Read / Write / Construct

Default value: FALSE

### The `“secondaries”` property

      “secondaries”              GStrv

List of connection UUIDs that should be activated when the base connection itself is activated. Currently only VPN connections are supported.

Owner: NMSettingConnection

Flags: Read / Write

### The `“slave-type”` property

      “slave-type”               gchar *

Setting name of the device type of this slave's master connection (eg, `NM_SETTING_BOND_SETTING_NAME`), or `NULL` if this connection is not a slave.

Owner: NMSettingConnection

Flags: Read / Write

Default value: NULL

### The `“stable-id”` property

      “stable-id”                gchar *

This represents the identity of the connection used for various purposes. It allows to configure multiple profiles to share the identity. Also, the stable-id can contain placeholders that are substituted dynamically and deterministically depending on the context.

The stable-id is used for generating IPv6 stable private addresses with ipv6.addr-gen-mode=stable-privacy. It is also used to seed the generated cloned MAC address for ethernet.cloned-mac-address=stable and wifi.cloned-mac-address=stable. It is also used as DHCP client identifier with ipv4.dhcp-client-id=stable and to derive the DHCP DUID with ipv6.dhcp-duid=stable-[llt,ll,uuid].

Note that depending on the context where it is used, other parameters are also seeded into the generation algorithm. For example, a per-host key is commonly also included, so that different systems end up generating different IDs. Or with ipv6.addr-gen-mode=stable-privacy, also the device's name is included, so that different interfaces yield different addresses.

The '$' character is treated special to perform dynamic substitutions at runtime. Currently supported are "${CONNECTION}", "${DEVICE}", "${MAC}", "${BOOT}", "${RANDOM}". These effectively create unique IDs per-connection, per-device, per-boot, or every time. Note that "${DEVICE}" corresponds to the interface name of the device and "${MAC}" is the permanent MAC address of the device. Any unrecognized patterns following '$' are treated verbatim, however are reserved for future use. You are thus advised to avoid '$' or escape it as "$$". For example, set it to "${CONNECTION}-${BOOT}-${DEVICE}" to create a unique id for this connection that changes with every reboot and differs depending on the interface where the profile activates.

If the value is unset, a global connection default is consulted. If the value is still unset, the default is similar to "${CONNECTION}" and uses a unique, fixed ID for the connection.

Owner: NMSettingConnection

Flags: Read / Write

Default value: NULL

Since: 1.4

### The `“timestamp”` property

      “timestamp”                guint64

The time, in seconds since the Unix Epoch, that the connection was last _successfully_ fully activated.

NetworkManager updates the connection timestamp periodically when the connection is active to ensure that an active connection has the latest timestamp. The property is only meant for reading (changes to this property will not be preserved).

Owner: NMSettingConnection

Flags: Read / Write / Construct

Default value: 0

### The `“type”` property

      “type”                     gchar *

Base type of the connection. For hardware-dependent connections, should contain the setting name of the hardware-type specific setting (ie, "802-3-ethernet" or "802-11-wireless" or "bluetooth", etc), and for non-hardware dependent connections like VPN or otherwise, should contain the setting name of that setting type (ie, "vpn" or "bridge", etc).

Owner: NMSettingConnection

Flags: Read / Write

Default value: NULL

### The `“uuid”` property

      “uuid”                     gchar *

A universally unique identifier for the connection, for example generated with libuuid. It should be assigned when the connection is created, and never changed as long as the connection still applies to the same network. For example, it should not be changed when the “id” property or NMSettingIP4Config changes, but might need to be re-created when the Wi-Fi SSID, mobile broadband network provider, or “type” property changes.

The UUID must be in the format "2815492f-7e56-435e-b2e9-246bd7cdc664" (ie, contains only hexadecimal characters and "-"). A suitable UUID may be generated by `nm_utils_uuid_generate()` or `nm_utils_uuid_generate_from_string()`.

Owner: NMSettingConnection

Flags: Read / Write

Default value: NULL

### The `“wait-device-timeout”` property

      “wait-device-timeout”      gint

Timeout in milliseconds to wait for device at startup. During boot, devices may take a while to be detected by the driver. This property will cause to delay NetworkManager-wait-online.service and nm-online to give the device a chance to appear.

Note that this property only works together with NMSettingConnection:interface-name to identify the device that will be waited for.

The value 0 means no wait time. The default value is -1, which currently has the same meaning as no wait time.

Owner: NMSettingConnection

Flags: Read / Write

Allowed values: >= -1

Default value: -1

Since: 1.20

### The `“zone”` property

      “zone”                     gchar *

The trust level of a the connection. Free form case-insensitive string (for example "Home", "Work", "Public"). `NULL` or unspecified zone means the connection will be placed in the default zone as defined by the firewall.

When updating this property on a currently activated connection, the change takes effect immediately.

Owner: NMSettingConnection

Flags: Read / Write / Construct

Default value: NULL