gi-nm-1.0.1: NM bindings
CopyrightWill Thompson and Iñaki García Etxebarria
LicenseLGPL-2.1
MaintainerIñaki García Etxebarria
Safe HaskellNone
LanguageHaskell2010

GI.NM.Objects.SettingIP6Config

Description

IPv6 Settings

Synopsis

Exported types

class (GObject o, IsDescendantOf SettingIP6Config o) => IsSettingIP6Config o Source #

Type class for types which can be safely cast to SettingIP6Config, for instance with toSettingIP6Config.

Instances

Instances details
(GObject o, IsDescendantOf SettingIP6Config o) => IsSettingIP6Config o Source # 
Instance details

Defined in GI.NM.Objects.SettingIP6Config

toSettingIP6Config :: (MonadIO m, IsSettingIP6Config o) => o -> m SettingIP6Config Source #

Cast to SettingIP6Config, for types for which this is known to be safe. For general casts, use castTo.

Methods

Click to display all available methods, including inherited ones

Expand

Methods

addAddress, addDhcpRejectServer, addDns, addDnsOption, addDnsSearch, addRoute, addRoutingRule, bindProperty, bindPropertyFull, clearAddresses, clearDhcpRejectServers, clearDns, clearDnsOptions, clearDnsSearches, clearRoutes, clearRoutingRules, compare, diff, duplicate, enumerateValues, forceFloating, freezeNotify, getv, hasDnsOptions, isFloating, notify, notifyByPspec, optionClearByName, optionGet, optionGetAllNames, optionGetBoolean, optionGetUint32, optionSet, optionSetBoolean, optionSetUint32, ref, refSink, removeAddress, removeAddressByValue, removeDhcpRejectServer, removeDns, removeDnsByValue, removeDnsOption, removeDnsOptionByValue, removeDnsSearch, removeDnsSearchByValue, removeRoute, removeRouteByValue, removeRoutingRule, runDispose, stealData, stealQdata, thawNotify, toString, unref, verify, verifySecrets, watchClosure.

Getters

getAddrGenMode, getAddress, getAutoRouteExtGw, getDadTimeout, getData, getDbusPropertyType, getDhcpDscp, getDhcpDuid, getDhcpHostname, getDhcpHostnameFlags, getDhcpIaid, getDhcpPdHint, getDhcpRejectServers, getDhcpSendHostname, getDhcpSendRelease, getDhcpTimeout, getDns, getDnsOption, getDnsPriority, getDnsSearch, getGateway, getIgnoreAutoDns, getIgnoreAutoRoutes, getIp6Privacy, getMayFail, getMethod, getMtu, getName, getNeverDefault, getNumAddresses, getNumDns, getNumDnsOptions, getNumDnsSearches, getNumRoutes, getNumRoutingRules, getProperty, getQdata, getRaTimeout, getReplaceLocalRule, getRequiredTimeout, getRoute, getRouteMetric, getRouteTable, getRoutingRule, getSecretFlags, getTempPreferredLifetime, getTempValidLifetime, getToken.

Setters

setData, setDataFull, setProperty, setSecretFlags.

getAddrGenMode

settingIP6ConfigGetAddrGenMode Source #

Arguments

:: (HasCallStack, MonadIO m, IsSettingIP6Config a) 
=> a

setting: the SettingIP6Config

-> m SettingIP6ConfigAddrGenMode

Returns: IPv6 Address Generation Mode.

Returns the value contained in the SettingIP6Config:addrGenMode property.

Since: 1.2

getDhcpDuid

settingIP6ConfigGetDhcpDuid Source #

Arguments

:: (HasCallStack, MonadIO m, IsSettingIP6Config a) 
=> a

setting: the SettingIP6Config

-> m Text

Returns: The configured DUID value to be included in the DHCPv6 requests sent to the DHCPv6 servers.

Returns the value contained in the SettingIP6Config:dhcpDuid property.

Since: 1.12

getDhcpPdHint

settingIP6ConfigGetDhcpPdHint Source #

Arguments

:: (HasCallStack, MonadIO m, IsSettingIP6Config a) 
=> a

setting: the SettingIP6Config

-> m Text

Returns: a string containing an address and prefix length to be used as hint for DHCPv6 prefix delegation.

Returns the value contained in the SettingIP6Config:dhcpPdHint property.

Since: 1.44

getIp6Privacy

settingIP6ConfigGetIp6Privacy Source #

Arguments

:: (HasCallStack, MonadIO m, IsSettingIP6Config a) 
=> a

setting: the SettingIP6Config

-> m SettingIP6ConfigPrivacy

Returns: IPv6 Privacy Extensions configuration value (tSettingIP6ConfigPrivacy).

Returns the value contained in the SettingIP6Config:ip6Privacy property.

getMtu

settingIP6ConfigGetMtu Source #

Arguments

:: (HasCallStack, MonadIO m, IsSettingIP6Config a) 
=> a

setting: the SettingIP6Config

-> m Word32

Returns: The configured SETTING_IP6_CONFIG_MTU value for the maximum transmission unit.

No description available in the introspection data.

Since: 1.40

getRaTimeout

settingIP6ConfigGetRaTimeout Source #

Arguments

:: (HasCallStack, MonadIO m, IsSettingIP6Config a) 
=> a

setting: the SettingIP6Config

-> m Int32

Returns: The configured SETTING_IP6_CONFIG_RA_TIMEOUT value with the timeout for router advertisements in seconds.

No description available in the introspection data.

Since: 1.24

getTempPreferredLifetime

settingIP6ConfigGetTempPreferredLifetime Source #

Arguments

:: (HasCallStack, MonadIO m, IsSettingIP6Config a) 
=> a

setting: the SettingIP6Config

-> m Int32

Returns: The preferred lifetime of autogenerated temporary addresses.

Returns the value contained in the SettingIP6Config:tempPreferredLifetime property.

Since: 1.48

getTempValidLifetime

settingIP6ConfigGetTempValidLifetime Source #

Arguments

:: (HasCallStack, MonadIO m, IsSettingIP6Config a) 
=> a

setting: the SettingIP6Config

-> m Int32

Returns: The valid lifetime of autogenerated temporary addresses.

Returns the value contained in the SettingIP6Config:tempValidLifetime property.

Since: 1.48

getToken

settingIP6ConfigGetToken Source #

Arguments

:: (HasCallStack, MonadIO m, IsSettingIP6Config a) 
=> a

setting: the SettingIP6Config

-> m Text

Returns: A string.

Returns the value contained in the SettingIP6Config:token property.

Since: 1.4

new

settingIP6ConfigNew Source #

Arguments

:: (HasCallStack, MonadIO m) 
=> m SettingIP6Config

Returns: the new empty SettingIP6Config object

Creates a new SettingIP6Config object with default values.

Properties

addrGenMode

Configure the method for creating the IPv6 interface identifier of addresses for RFC4862 IPv6 Stateless Address Autoconfiguration and IPv6 Link Local.

The permitted values are: SettingIP6ConfigAddrGenModeEui64, SettingIP6ConfigAddrGenModeStablePrivacy. SettingIP6ConfigAddrGenModeDefaultOrEui64 or SettingIP6ConfigAddrGenModeDefault.

If the property is set to "eui64", the addresses will be generated using the interface token derived from the hardware address. This makes the host part of the address constant, making it possible to track the host's presence when it changes networks. The address changes when the interface hardware is replaced. If a duplicate address is detected, there is no fallback to generate another address. When configured, the "ipv6.token" is used instead of the MAC address to generate addresses for stateless autoconfiguration.

If the property is set to "stable-privacy", the interface identifier is generated as specified by RFC7217. This works by hashing a host specific key (see NetworkManager(8) manual), the interface name, the connection's "connection.stable-id" property and the address prefix. This improves privacy by making it harder to use the address to track the host's presence as every prefix and network has a different identifier. Also, the address is stable when the network interface hardware is replaced.

The special values "default" and "default-or-eui64" will fallback to the global connection default as documented in the NetworkManager.conf(5) manual. If the global default is not specified, the fallback value is "stable-privacy" or "eui64", respectively.

For libnm, the property defaults to "default" since 1.40. Previously it used to default to "stable-privacy". On D-Bus, the absence of an addr-gen-mode setting equals "default". For keyfile plugin, the absence of the setting on disk means "default-or-eui64" so that the property doesn't change on upgrade from older versions.

Note that this setting is distinct from the Privacy Extensions as configured by "ip6-privacy" property and it does not affect the temporary addresses configured with this option.

Since: 1.2

constructSettingIP6ConfigAddrGenMode :: (IsSettingIP6Config o, MonadIO m) => Int32 -> m (GValueConstruct o) Source #

Construct a GValueConstruct with valid value for the “addr-gen-mode” property. This is rarely needed directly, but it is used by new.

getSettingIP6ConfigAddrGenMode :: (MonadIO m, IsSettingIP6Config o) => o -> m Int32 Source #

Get the value of the “addr-gen-mode” property. When overloading is enabled, this is equivalent to

get settingIP6Config #addrGenMode

setSettingIP6ConfigAddrGenMode :: (MonadIO m, IsSettingIP6Config o) => o -> Int32 -> m () Source #

Set the value of the “addr-gen-mode” property. When overloading is enabled, this is equivalent to

set settingIP6Config [ #addrGenMode := value ]

dhcpDuid

A string containing the DHCPv6 Unique Identifier (DUID) used by the dhcp client to identify itself to DHCPv6 servers (RFC 3315). The DUID is carried in the Client Identifier option. If the property is a hex string ('aa:bb:cc') it is interpreted as a binary DUID and filled as an opaque value in the Client Identifier option.

The special value "lease" will retrieve the DUID previously used from the lease file belonging to the connection. If no DUID is found and "dhclient" is the configured dhcp client, the DUID is searched in the system-wide dhclient lease file. If still no DUID is found, or another dhcp client is used, a global and permanent DUID-UUID (RFC 6355) will be generated based on the machine-id.

The special values "llt" and "ll" will generate a DUID of type LLT or LL (see RFC 3315) based on the current MAC address of the device. In order to try providing a stable DUID-LLT, the time field will contain a constant timestamp that is used globally (for all profiles) and persisted to disk.

The special values "stable-llt", "stable-ll" and "stable-uuid" will generate a DUID of the corresponding type, derived from the connection's stable-id and a per-host unique key. You may want to include the "${DEVICE}" or "${MAC}" specifier in the stable-id, in case this profile gets activated on multiple devices. So, the link-layer address of "stable-ll" and "stable-llt" will be a generated address derived from the stable id. The DUID-LLT time value in the "stable-llt" option will be picked among a static timespan of three years (the upper bound of the interval is the same constant timestamp used in "llt").

When the property is unset, the global value provided for "ipv6.dhcp-duid" is used. If no global value is provided, the default "lease" value is assumed.

Since: 1.12

clearSettingIP6ConfigDhcpDuid :: (MonadIO m, IsSettingIP6Config o) => o -> m () Source #

Set the value of the “dhcp-duid” property to Nothing. When overloading is enabled, this is equivalent to

clear #dhcpDuid

constructSettingIP6ConfigDhcpDuid :: (IsSettingIP6Config o, MonadIO m) => Text -> m (GValueConstruct o) Source #

Construct a GValueConstruct with valid value for the “dhcp-duid” property. This is rarely needed directly, but it is used by new.

getSettingIP6ConfigDhcpDuid :: (MonadIO m, IsSettingIP6Config o) => o -> m Text Source #

Get the value of the “dhcp-duid” property. When overloading is enabled, this is equivalent to

get settingIP6Config #dhcpDuid

setSettingIP6ConfigDhcpDuid :: (MonadIO m, IsSettingIP6Config o) => o -> Text -> m () Source #

Set the value of the “dhcp-duid” property. When overloading is enabled, this is equivalent to

set settingIP6Config [ #dhcpDuid := value ]

dhcpPdHint

A IPv6 address followed by a slash and a prefix length. If set, the value is sent to the DHCPv6 server as hint indicating the prefix delegation (IA_PD) we want to receive. To only hint a prefix length without prefix, set the address part to the zero address (for example "::/60").

Since: 1.44

clearSettingIP6ConfigDhcpPdHint :: (MonadIO m, IsSettingIP6Config o) => o -> m () Source #

Set the value of the “dhcp-pd-hint” property to Nothing. When overloading is enabled, this is equivalent to

clear #dhcpPdHint

constructSettingIP6ConfigDhcpPdHint :: (IsSettingIP6Config o, MonadIO m) => Text -> m (GValueConstruct o) Source #

Construct a GValueConstruct with valid value for the “dhcp-pd-hint” property. This is rarely needed directly, but it is used by new.

getSettingIP6ConfigDhcpPdHint :: (MonadIO m, IsSettingIP6Config o) => o -> m Text Source #

Get the value of the “dhcp-pd-hint” property. When overloading is enabled, this is equivalent to

get settingIP6Config #dhcpPdHint

setSettingIP6ConfigDhcpPdHint :: (MonadIO m, IsSettingIP6Config o) => o -> Text -> m () Source #

Set the value of the “dhcp-pd-hint” property. When overloading is enabled, this is equivalent to

set settingIP6Config [ #dhcpPdHint := value ]

ip6Privacy

Configure IPv6 Privacy Extensions for SLAAC, described in RFC4941. If enabled, it makes the kernel generate a temporary IPv6 address in addition to the public one generated from MAC address via modified EUI-64. This enhances privacy, but could cause problems in some applications, on the other hand. The permitted values are: -1: unknown, 0: disabled, 1: enabled (prefer public address), 2: enabled (prefer temporary addresses).

Having a per-connection setting set to "-1" (default) means fallback to global configuration "ipv6.ip6-privacy". If it's also unspecified or set to "-1", fallback to read "/proc/sys/net/ipv6/conf/default/use_tempaddr".

Note that this setting is distinct from the Stable Privacy addresses that can be enabled with the "addr-gen-mode" property's "stable-privacy" setting as another way of avoiding host tracking with IPv6 addresses.

constructSettingIP6ConfigIp6Privacy :: (IsSettingIP6Config o, MonadIO m) => SettingIP6ConfigPrivacy -> m (GValueConstruct o) Source #

Construct a GValueConstruct with valid value for the “ip6-privacy” property. This is rarely needed directly, but it is used by new.

getSettingIP6ConfigIp6Privacy :: (MonadIO m, IsSettingIP6Config o) => o -> m SettingIP6ConfigPrivacy Source #

Get the value of the “ip6-privacy” property. When overloading is enabled, this is equivalent to

get settingIP6Config #ip6Privacy

setSettingIP6ConfigIp6Privacy :: (MonadIO m, IsSettingIP6Config o) => o -> SettingIP6ConfigPrivacy -> m () Source #

Set the value of the “ip6-privacy” property. When overloading is enabled, this is equivalent to

set settingIP6Config [ #ip6Privacy := value ]

mtu

Maximum transmission unit size, in bytes. If zero (the default), the MTU is set automatically from router advertisements or is left equal to the link-layer MTU. If greater than the link-layer MTU, or greater than zero but less than the minimum IPv6 MTU of 1280, this value has no effect.

Since: 1.40

constructSettingIP6ConfigMtu :: (IsSettingIP6Config o, MonadIO m) => Word32 -> m (GValueConstruct o) Source #

Construct a GValueConstruct with valid value for the “mtu” property. This is rarely needed directly, but it is used by new.

getSettingIP6ConfigMtu :: (MonadIO m, IsSettingIP6Config o) => o -> m Word32 Source #

Get the value of the “mtu” property. When overloading is enabled, this is equivalent to

get settingIP6Config #mtu

setSettingIP6ConfigMtu :: (MonadIO m, IsSettingIP6Config o) => o -> Word32 -> m () Source #

Set the value of the “mtu” property. When overloading is enabled, this is equivalent to

set settingIP6Config [ #mtu := value ]

raTimeout

A timeout for waiting Router Advertisements in seconds. If zero (the default), a globally configured default is used. If still unspecified, the timeout depends on the sysctl settings of the device.

Set to 2147483647 (MAXINT32) for infinity.

Since: 1.24

constructSettingIP6ConfigRaTimeout :: (IsSettingIP6Config o, MonadIO m) => Int32 -> m (GValueConstruct o) Source #

Construct a GValueConstruct with valid value for the “ra-timeout” property. This is rarely needed directly, but it is used by new.

getSettingIP6ConfigRaTimeout :: (MonadIO m, IsSettingIP6Config o) => o -> m Int32 Source #

Get the value of the “ra-timeout” property. When overloading is enabled, this is equivalent to

get settingIP6Config #raTimeout

setSettingIP6ConfigRaTimeout :: (MonadIO m, IsSettingIP6Config o) => o -> Int32 -> m () Source #

Set the value of the “ra-timeout” property. When overloading is enabled, this is equivalent to

set settingIP6Config [ #raTimeout := value ]

tempPreferredLifetime

The preferred lifetime of autogenerated temporary addresses, in seconds.

Having a per-connection setting set to "0" (default) means fallback to global configuration "ipv6.temp-preferred-lifetime" setting". If it's also unspecified or set to "0", fallback to read "/proc/sys/net/ipv6/conf/default/temp_prefered_lft".

Since: 1.48

constructSettingIP6ConfigTempPreferredLifetime :: (IsSettingIP6Config o, MonadIO m) => Int32 -> m (GValueConstruct o) Source #

Construct a GValueConstruct with valid value for the “temp-preferred-lifetime” property. This is rarely needed directly, but it is used by new.

getSettingIP6ConfigTempPreferredLifetime :: (MonadIO m, IsSettingIP6Config o) => o -> m Int32 Source #

Get the value of the “temp-preferred-lifetime” property. When overloading is enabled, this is equivalent to

get settingIP6Config #tempPreferredLifetime

setSettingIP6ConfigTempPreferredLifetime :: (MonadIO m, IsSettingIP6Config o) => o -> Int32 -> m () Source #

Set the value of the “temp-preferred-lifetime” property. When overloading is enabled, this is equivalent to

set settingIP6Config [ #tempPreferredLifetime := value ]

tempValidLifetime

The valid lifetime of autogenerated temporary addresses, in seconds.

Having a per-connection setting set to "0" (default) means fallback to global configuration "ipv6.temp-valid-lifetime" setting". If it's also unspecified or set to "0", fallback to read "/proc/sys/net/ipv6/conf/default/temp_valid_lft".

Since: 1.48

constructSettingIP6ConfigTempValidLifetime :: (IsSettingIP6Config o, MonadIO m) => Int32 -> m (GValueConstruct o) Source #

Construct a GValueConstruct with valid value for the “temp-valid-lifetime” property. This is rarely needed directly, but it is used by new.

getSettingIP6ConfigTempValidLifetime :: (MonadIO m, IsSettingIP6Config o) => o -> m Int32 Source #

Get the value of the “temp-valid-lifetime” property. When overloading is enabled, this is equivalent to

get settingIP6Config #tempValidLifetime

setSettingIP6ConfigTempValidLifetime :: (MonadIO m, IsSettingIP6Config o) => o -> Int32 -> m () Source #

Set the value of the “temp-valid-lifetime” property. When overloading is enabled, this is equivalent to

set settingIP6Config [ #tempValidLifetime := value ]

token

Configure the token for draft-chown-6man-tokenised-ipv6-identifiers-02 IPv6 tokenized interface identifiers. Useful with eui64 addr-gen-mode.

When set, the token is used as IPv6 interface identifier instead of the hardware address. This only applies to addresses from stateless autoconfiguration, not to IPv6 link local addresses.

Since: 1.4

clearSettingIP6ConfigToken :: (MonadIO m, IsSettingIP6Config o) => o -> m () Source #

Set the value of the “token” property to Nothing. When overloading is enabled, this is equivalent to

clear #token

constructSettingIP6ConfigToken :: (IsSettingIP6Config o, MonadIO m) => Text -> m (GValueConstruct o) Source #

Construct a GValueConstruct with valid value for the “token” property. This is rarely needed directly, but it is used by new.

getSettingIP6ConfigToken :: (MonadIO m, IsSettingIP6Config o) => o -> m Text Source #

Get the value of the “token” property. When overloading is enabled, this is equivalent to

get settingIP6Config #token

setSettingIP6ConfigToken :: (MonadIO m, IsSettingIP6Config o) => o -> Text -> m () Source #

Set the value of the “token” property. When overloading is enabled, this is equivalent to

set settingIP6Config [ #token := value ]