struct tapi_net_iface

Overview

Logical interface definition. More…

#include <tapi_net.h>

struct tapi_net_iface {
    // fields

    tapi_net_iface_type type;
    struct sockaddr* addr;
    tapi_net_vlan vlan;
    tapi_net_qinq qinq;
    union tapi_net_iface::@64 conf;
    char* name;

    // methods

    SLIST_ENTRY(tapi_net_iface);
};

Detailed Documentation

Logical interface definition.

Interfaces are organized as a stack, starting from a base and building up through VLAN, QinQ, GRE, or other layers. The stack is represented as a singly linked list, where each interface points to the next one above it.

The structure defines the interface type and any type-specific parameters, such as a VLAN ID.

Fields

tapi_net_iface_type type

Interface type.

struct sockaddr* addr

Address assigned to interface.

tapi_net_vlan vlan

VLAN config.

tapi_net_qinq qinq

QinQ config.

char* name

Interface name.

Methods

SLIST_ENTRY(tapi_net_iface)

Link to the upper interface.