NMSettingIPTunnel: libnm Reference Manual

## NMSettingIPTunnel NMSettingIPTunnel — Describes connection properties for IP tunnel devices |

## Functions

NMSetting * | nm_setting_ip_tunnel_new ()
const char * | nm_setting_ip_tunnel_get_parent ()
NMIPTunnelMode | nm_setting_ip_tunnel_get_mode ()
const char * | nm_setting_ip_tunnel_get_local ()
const char * | nm_setting_ip_tunnel_get_remote ()
guint | nm_setting_ip_tunnel_get_ttl ()
guint | nm_setting_ip_tunnel_get_tos ()
gboolean | nm_setting_ip_tunnel_get_path_mtu_discovery ()
const char * | nm_setting_ip_tunnel_get_input_key ()
const char * | nm_setting_ip_tunnel_get_output_key ()
guint | nm_setting_ip_tunnel_get_encapsulation_limit ()
guint | nm_setting_ip_tunnel_get_flow_label ()
guint | nm_setting_ip_tunnel_get_mtu ()
NMIPTunnelFlags | nm_setting_ip_tunnel_get_flags ()

## Properties

guint | encapsulation-limit | Read / Write / Construct
guint | flags | Read / Write
guint | flow-label | Read / Write / Construct
gchar * | input-key | Read / Write
gchar * | local | Read / Write
guint | mode | Read / Write
guint | mtu | Read / Write / Construct
gchar * | output-key | Read / Write
gchar * | parent | Read / Write
gboolean | path-mtu-discovery | Read / Write / Construct
gchar * | remote | Read / Write
guint | tos | Read / Write / Construct
guint | ttl | Read / Write / Construct

## Types and Values

#define | NM_SETTING_IP_TUNNEL_SETTING_NAME
#define | NM_SETTING_IP_TUNNEL_PARENT
#define | NM_SETTING_IP_TUNNEL_MODE
#define | NM_SETTING_IP_TUNNEL_LOCAL
#define | NM_SETTING_IP_TUNNEL_REMOTE
#define | NM_SETTING_IP_TUNNEL_TTL
#define | NM_SETTING_IP_TUNNEL_TOS
#define | NM_SETTING_IP_TUNNEL_PATH_MTU_DISCOVERY
#define | NM_SETTING_IP_TUNNEL_INPUT_KEY
#define | NM_SETTING_IP_TUNNEL_OUTPUT_KEY
#define | NM_SETTING_IP_TUNNEL_ENCAPSULATION_LIMIT
#define | NM_SETTING_IP_TUNNEL_FLOW_LABEL
#define | NM_SETTING_IP_TUNNEL_MTU
#define | NM_SETTING_IP_TUNNEL_FLAGS
| NMSettingIPTunnel
enum | NMIPTunnelFlags

## Object Hierarchy

        GFlags
        ╰── NMIPTunnelFlags
        GObject
        ╰── NMSetting
            ╰── NMSettingIPTunnel

## Description

## Functions

### nm_setting_ip_tunnel_new ()

    NMSetting *
    nm_setting_ip_tunnel_new (void);

Creates a new NMSettingIPTunnel object with default values.

#### Returns

the new empty NMSettingIPTunnel object.

[transfer full]

Since: 1.2

### nm_setting_ip_tunnel_get_parent ()

    const char *
    nm_setting_ip_tunnel_get_parent (NMSettingIPTunnel *setting);

Returns the “parent” property of the setting

#### Parameters

setting | the NMSettingIPTunnel |

#### Returns

the parent device

Since: 1.2

### nm_setting_ip_tunnel_get_mode ()

    NMIPTunnelMode
    nm_setting_ip_tunnel_get_mode (NMSettingIPTunnel *setting);

Returns the “mode” property of the setting.

#### Parameters

setting | the NMSettingIPTunnel |

#### Returns

the tunnel mode

Since: 1.2

### nm_setting_ip_tunnel_get_local ()

    const char *
    nm_setting_ip_tunnel_get_local (NMSettingIPTunnel *setting);

Returns the “local” property of the setting.

#### Parameters

setting | the NMSettingIPTunnel |

#### Returns

the local endpoint

Since: 1.2

### nm_setting_ip_tunnel_get_remote ()

    const char *
    nm_setting_ip_tunnel_get_remote (NMSettingIPTunnel *setting);

Returns the “remote” property of the setting.

#### Parameters

setting | the NMSettingIPTunnel |

#### Returns

the remote endpoint

Since: 1.2

### nm_setting_ip_tunnel_get_ttl ()

    guint
    nm_setting_ip_tunnel_get_ttl (NMSettingIPTunnel *setting);

Returns the “ttl” property of the setting.

#### Parameters

setting | the NMSettingIPTunnel |

#### Returns

the Time-to-live value

Since: 1.2

### nm_setting_ip_tunnel_get_tos ()

    guint
    nm_setting_ip_tunnel_get_tos (NMSettingIPTunnel *setting);

Returns the “tos” property of the setting.

#### Parameters

setting | the NMSettingIPTunnel |

#### Returns

the TOS value

Since: 1.2

### nm_setting_ip_tunnel_get_path_mtu_discovery ()

    gboolean
    nm_setting_ip_tunnel_get_path_mtu_discovery
                                   (NMSettingIPTunnel *setting);

Returns the “path-mtu-discovery” property of the setting.

#### Parameters

setting | the NMSettingIPTunnel |

#### Returns

whether path MTU discovery is enabled

Since: 1.2

### nm_setting_ip_tunnel_get_input_key ()

    const char *
    nm_setting_ip_tunnel_get_input_key (NMSettingIPTunnel *setting);

Returns the “input-key” property of the setting.

#### Parameters

setting | the NMSettingIPTunnel |

#### Returns

the input key

Since: 1.2

### nm_setting_ip_tunnel_get_output_key ()

    const char *
    nm_setting_ip_tunnel_get_output_key (NMSettingIPTunnel *setting);

Returns the “output-key” property of the setting.

#### Parameters

setting | the NMSettingIPTunnel |

#### Returns

the output key

Since: 1.2

### nm_setting_ip_tunnel_get_encapsulation_limit ()

    guint
    nm_setting_ip_tunnel_get_encapsulation_limit
                                   (NMSettingIPTunnel *setting);

Returns the “encapsulation-limit” property of the setting.

#### Parameters

setting | the NMSettingIPTunnel |

#### Returns

the encapsulation limit value

Since: 1.2

### nm_setting_ip_tunnel_get_flow_label ()

    guint
    nm_setting_ip_tunnel_get_flow_label (NMSettingIPTunnel *setting);

Returns the “flow-label” property of the setting.

#### Parameters

setting | the NMSettingIPTunnel |

#### Returns

the flow label value

Since: 1.2

### nm_setting_ip_tunnel_get_mtu ()

    guint
    nm_setting_ip_tunnel_get_mtu (NMSettingIPTunnel *setting);

Returns the “mtu” property of the setting.

#### Parameters

setting | the NMSettingIPTunnel |

#### Returns

the MTU

Since: 1.2

### nm_setting_ip_tunnel_get_flags ()

    NMIPTunnelFlags
    nm_setting_ip_tunnel_get_flags (NMSettingIPTunnel *setting);

## Types and Values

### NM_SETTING_IP_TUNNEL_SETTING_NAME

    #define NM_SETTING_IP_TUNNEL_SETTING_NAME        "ip-tunnel"

### NM_SETTING_IP_TUNNEL_PARENT

    #define NM_SETTING_IP_TUNNEL_PARENT              "parent"

### NM_SETTING_IP_TUNNEL_MODE

    #define NM_SETTING_IP_TUNNEL_MODE                "mode"

### NM_SETTING_IP_TUNNEL_LOCAL

    #define NM_SETTING_IP_TUNNEL_LOCAL               "local"

### NM_SETTING_IP_TUNNEL_REMOTE

    #define NM_SETTING_IP_TUNNEL_REMOTE              "remote"

### NM_SETTING_IP_TUNNEL_TTL

    #define NM_SETTING_IP_TUNNEL_TTL                 "ttl"

### NM_SETTING_IP_TUNNEL_TOS

    #define NM_SETTING_IP_TUNNEL_TOS                 "tos"

### NM_SETTING_IP_TUNNEL_PATH_MTU_DISCOVERY

    #define NM_SETTING_IP_TUNNEL_PATH_MTU_DISCOVERY  "path-mtu-discovery"

### NM_SETTING_IP_TUNNEL_INPUT_KEY

    #define NM_SETTING_IP_TUNNEL_INPUT_KEY           "input-key"

### NM_SETTING_IP_TUNNEL_OUTPUT_KEY

    #define NM_SETTING_IP_TUNNEL_OUTPUT_KEY          "output-key"

### NM_SETTING_IP_TUNNEL_ENCAPSULATION_LIMIT

    #define NM_SETTING_IP_TUNNEL_ENCAPSULATION_LIMIT "encapsulation-limit"

### NM_SETTING_IP_TUNNEL_FLOW_LABEL

    #define NM_SETTING_IP_TUNNEL_FLOW_LABEL          "flow-label"

### NM_SETTING_IP_TUNNEL_MTU

    #define NM_SETTING_IP_TUNNEL_MTU                 "mtu"

### NM_SETTING_IP_TUNNEL_FLAGS

    #define NM_SETTING_IP_TUNNEL_FLAGS               "flags"

### NMSettingIPTunnel

    typedef struct _NMSettingIPTunnel NMSettingIPTunnel;

IP Tunneling Settings

### enum NMIPTunnelFlags

#### Members

NM_IP_TUNNEL_FLAG_NONE |  |
NM_IP_TUNNEL_FLAG_IP6_IGN_ENCAP_LIMIT |  |
NM_IP_TUNNEL_FLAG_IP6_USE_ORIG_TCLASS |  |
NM_IP_TUNNEL_FLAG_IP6_USE_ORIG_FLOWLABEL |  |
NM_IP_TUNNEL_FLAG_IP6_MIP6_DEV |  |
NM_IP_TUNNEL_FLAG_IP6_RCV_DSCP_COPY |  |
NM_IP_TUNNEL_FLAG_IP6_USE_ORIG_FWMARK |  |

## Property Details

### The `“encapsulation-limit”` property

      “encapsulation-limit”      guint

How many additional levels of encapsulation are permitted to be prepended to packets. This property applies only to IPv6 tunnels.

Flags: Read / Write / Construct

Allowed values: <= 255

Default value: 0

Since: 1.2

### The `“flags”` property

      “flags”                    guint

Tunnel flags. Currently the following values are supported: `NM_IP_TUNNEL_FLAG_IP6_IGN_ENCAP_LIMIT`, `NM_IP_TUNNEL_FLAG_IP6_USE_ORIG_TCLASS`, `NM_IP_TUNNEL_FLAG_IP6_USE_ORIG_FLOWLABEL`, `NM_IP_TUNNEL_FLAG_IP6_MIP6_DEV`, `NM_IP_TUNNEL_FLAG_IP6_RCV_DSCP_COPY`, `NM_IP_TUNNEL_FLAG_IP6_USE_ORIG_FWMARK`. They are valid only for IPv6 tunnels.

Flags: Read / Write

Default value: 0

Since: 1.12

### The `“flow-label”` property

      “flow-label”               guint

The flow label to assign to tunnel packets. This property applies only to IPv6 tunnels.

Flags: Read / Write / Construct

Allowed values: <= 1048575

Default value: 0

Since: 1.2

### The `“input-key”` property

      “input-key”                gchar *

The key used for tunnel input packets; the property is valid only for certain tunnel modes (GRE, IP6GRE). If empty, no key is used.

Flags: Read / Write

Default value: NULL

Since: 1.2

### The `“local”` property

      “local”                    gchar *

The local endpoint of the tunnel; the value can be empty, otherwise it must contain an IPv4 or IPv6 address.

Flags: Read / Write

Default value: NULL

Since: 1.2

### The `“mode”` property

      “mode”                     guint

The tunneling mode, for example `NM_IP_TUNNEL_MODE_IPIP` or `NM_IP_TUNNEL_MODE_GRE`.

Flags: Read / Write

Default value: 0

Since: 1.2

### The `“mtu”` property

      “mtu”                      guint

If non-zero, only transmit packets of the specified size or smaller, breaking larger packets up into multiple fragments.

Flags: Read / Write / Construct

Default value: 0

Since: 1.2

### The `“output-key”` property

      “output-key”               gchar *

The key used for tunnel output packets; the property is valid only for certain tunnel modes (GRE, IP6GRE). If empty, no key is used.

Flags: Read / Write

Default value: NULL

Since: 1.2

### The `“parent”` property

      “parent”                   gchar *

If given, specifies the parent interface name or parent connection UUID the new device will be bound to so that tunneled packets will only be routed via that interface.

Flags: Read / Write

Default value: NULL

Since: 1.2

### The `“path-mtu-discovery”` property

      “path-mtu-discovery”       gboolean

Whether to enable Path MTU Discovery on this tunnel.

Flags: Read / Write / Construct

Default value: TRUE

Since: 1.2

### The `“remote”` property

      “remote”                   gchar *

The remote endpoint of the tunnel; the value must contain an IPv4 or IPv6 address.

Flags: Read / Write

Default value: NULL

Since: 1.2

### The `“tos”` property

      “tos”                      guint

The type of service (IPv4) or traffic class (IPv6) field to be set on tunneled packets.

Flags: Read / Write / Construct

Allowed values: <= 255

Default value: 0

Since: 1.2

### The `“ttl”` property

      “ttl”                      guint

The TTL to assign to tunneled packets. 0 is a special value meaning that packets inherit the TTL value.

Flags: Read / Write / Construct

Allowed values: <= 255

Default value: 0

Since: 1.2