enum te_interface_kind

Overview

Network interface kinds. More…

#include <tapi_cfg.h>

enum te_interface_kind {
    TE_INTERFACE_KIND_NONE,
    TE_INTERFACE_KIND_VLAN,
    TE_INTERFACE_KIND_MACVLAN,
    TE_INTERFACE_KIND_IPVLAN,
    TE_INTERFACE_KIND_VETH,
    TE_INTERFACE_KIND_BOND,
    TE_INTERFACE_KIND_TEAM,
    TE_INTERFACE_KIND_BRIDGE,
    TE_INTERFACE_KIND_TUN,
    TE_INTERFACE_KIND_END,
};

Detailed Documentation

Network interface kinds. This list is mostly Linux-specific, but other OSes may add other kinds or re-use existing Linux kinds.

Note: this list enumerates not all possible types of interfaces, but all possible values of interface:/kind: in configuration tree, which gets its value from IFLA_INFO_KIND netlink attribute. It seems netlink reports only types of interfaces here which it can manipulate (create, destroy), so for physical interfaces and loopback empty string (TE_INTERFACE_KIND_NONE) is returned.

Enum Values

TE_INTERFACE_KIND_NONE

Kind is not specified - a usual network interface.

TE_INTERFACE_KIND_VLAN

VLAN

TE_INTERFACE_KIND_MACVLAN

MAC VLAN

TE_INTERFACE_KIND_IPVLAN

IP VLAN

TE_INTERFACE_KIND_VETH

VETH

TE_INTERFACE_KIND_BOND

Bonding interface

TE_INTERFACE_KIND_TEAM

BOND and TEAM are different linux implementation of the same Link aggregation concept.

TE_INTERFACE_KIND_BRIDGE

Bridge

TE_INTERFACE_KIND_TUN

TAP/TUN: in both cases ethtool says it is tun

TE_INTERFACE_KIND_END

Not a real interface kind, but ending enum element.