## NMDeviceTun

NMDeviceTun

## Functions

const char * | nm_device_tun_get_hw_address ()
const char * | nm_device_tun_get_mode ()
gint64 | nm_device_tun_get_owner ()
gint64 | nm_device_tun_get_group ()
gboolean | nm_device_tun_get_no_pi ()
gboolean | nm_device_tun_get_vnet_hdr ()
gboolean | nm_device_tun_get_multi_queue ()

## Properties

gint64 | group | Read
gchar * | hw-address | Read
gchar * | mode | Read
gboolean | multi-queue | Read
gboolean | no-pi | Read
gint64 | owner | Read
gboolean | vnet-hdr | Read

## Types and Values

#define | NM_DEVICE_TUN_HW_ADDRESS
#define | NM_DEVICE_TUN_OWNER
#define | NM_DEVICE_TUN_GROUP
#define | NM_DEVICE_TUN_MODE
#define | NM_DEVICE_TUN_NO_PI
#define | NM_DEVICE_TUN_VNET_HDR
#define | NM_DEVICE_TUN_MULTI_QUEUE
| NMDeviceTun

## Object Hierarchy

        GObject
        ╰── NMObject
            ╰── NMDevice
                ╰── NMDeviceTun

## Implemented Interfaces

NMDeviceTun implements GInitable and GAsyncInitable.

## Description

## Functions

### nm_device_tun_get_hw_address ()

    const char *
    nm_device_tun_get_hw_address (NMDeviceTun *device);

Gets the hardware (MAC) address of the NMDeviceTun

#### Parameters

device | a NMDeviceTun |

#### Returns

the hardware address. This is the internal string used by the device, and must not be modified.

Since: 1.2

### nm_device_tun_get_mode ()

    const char *
    nm_device_tun_get_mode (NMDeviceTun *device);

Returns the TUN/TAP mode for the device.

#### Parameters

device | a NMDeviceTun |

#### Returns

'tun' or 'tap'

Since: 1.2

### nm_device_tun_get_owner ()

    gint64
    nm_device_tun_get_owner (NMDeviceTun *device);

Gets the tunnel owner.

#### Parameters

device | a NMDeviceTun |

#### Returns

the uid of the tunnel owner, or -1 if it has no owner.

Since: 1.2

### nm_device_tun_get_group ()

    gint64
    nm_device_tun_get_group (NMDeviceTun *device);

Gets the tunnel group.

#### Parameters

device | a NMDeviceTun |

#### Returns

the gid of the tunnel group, or -1 if it has no owner.

Since: 1.2

### nm_device_tun_get_no_pi ()

    gboolean
    nm_device_tun_get_no_pi (NMDeviceTun *device);

### nm_device_tun_get_vnet_hdr ()

    gboolean
    nm_device_tun_get_vnet_hdr (NMDeviceTun *device);

Returns whether the NMDeviceTun has the IFF_VNET_HDR flag.

#### Parameters

device | a NMDeviceTun |

#### Returns

`TRUE` if the device has the flag, `FALSE` otherwise

Since: 1.2

### nm_device_tun_get_multi_queue ()

    gboolean
    nm_device_tun_get_multi_queue (NMDeviceTun *device);

Returns whether the NMDeviceTun has the IFF_MULTI_QUEUE flag.

#### Parameters

device | a NMDeviceTun |

#### Returns

`TRUE` if the device doesn't have the flag, `FALSE` otherwise

Since: 1.2

## Types and Values

### NM_DEVICE_TUN_HW_ADDRESS

    #define NM_DEVICE_TUN_HW_ADDRESS   "hw-address"

### NM_DEVICE_TUN_OWNER

    #define NM_DEVICE_TUN_OWNER        "owner"

### NM_DEVICE_TUN_GROUP

    #define NM_DEVICE_TUN_GROUP        "group"

### NM_DEVICE_TUN_MODE

    #define NM_DEVICE_TUN_MODE         "mode"

### NM_DEVICE_TUN_NO_PI

    #define NM_DEVICE_TUN_NO_PI        "no-pi"

### NM_DEVICE_TUN_VNET_HDR

    #define NM_DEVICE_TUN_VNET_HDR     "vnet-hdr"

### NM_DEVICE_TUN_MULTI_QUEUE

    #define NM_DEVICE_TUN_MULTI_QUEUE  "multi-queue"

### NMDeviceTun

    typedef struct _NMDeviceTun NMDeviceTun;

## Property Details

### The `“group”` property

      “group”                    gint64

The gid of the tunnel group, or -1 if it has no owner.

Flags: Read

Allowed values: [-1,4294967295]

Default value: -1

Since: 1.2

### The `“hw-address”` property

      “hw-address”               gchar *

The hardware (MAC) address of the device.

Flags: Read

Default value: NULL

Since: 1.2

### The `“mode”` property

      “mode”                     gchar *

The tunnel mode, either "tun" or "tap".

Flags: Read

Default value: NULL

Since: 1.2

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

      “multi-queue”              gboolean

The tunnel's "TUN_TAP_MQ" flag; true if callers can connect to the tap device multiple times, for multiple send/receive queues.

Flags: Read

Default value: FALSE

Since: 1.2

### The `“no-pi”` property

      “no-pi”                    gboolean

The tunnel's "TUN_NO_PI" flag; true if no protocol info is prepended to the tunnel packets.

Flags: Read

Default value: FALSE

Since: 1.2

### The `“owner”` property

      “owner”                    gint64

The uid of the tunnel owner, or -1 if it has no owner.

Flags: Read

Allowed values: [-1,4294967295]

Default value: -1

Since: 1.2

### The `“vnet-hdr”` property

      “vnet-hdr”                 gboolean

The tunnel's "TUN_VNET_HDR" flag; true if the tunnel packets include a virtio network header.

Flags: Read

Default value: FALSE

Since: 1.2