# interface.create

Create virtual interfaces (Link Aggregation, VLAN)

Create a bridge interface:

> network interface create name=br0 type=BRIDGE bridge_members=enp0s3,enp0s4 aliases=”192.168.0.10”

Create a link aggregation interface that has multiple IP addresses in multiple subnets:

> network interface create name=bond0 type=LINK_AGGREGATION lag_protocol=LACP lag_ports=enp0s8,enp0s9 aliases=”192.168.0.20/30”,”192.168.1.20/30”

Create a DHCP-enabled VLAN interface

> network interface create name=vlan0 type=VLAN vlan_parent_interface=enp0s10 vlan_tag=10 vlan_pcp=4 ipv4_dhcp=true ipv6_auto=true

Type: object

##

Type: array
No Additional Items

#### Tuple Validation

##### Parameter 1: data

#### data

Type: object

Configuration data for the new interface.

No Additional Properties

##

#### Name

Type: string

Generate a name if not provided based on `type`, e.g. "br0", "bond1", "vlan0".

##

#### Description

Type: string Default: ""

Human-readable description of the interface.

##

#### Type

Type: enum (of string)

Type of interface to create.

##### Must be one of:

- "BRIDGE"
- "LINK_AGGREGATION"
- "VLAN"

##

#### Ipv4 Dhcp

Type: boolean Default: false

Enable IPv4 DHCP for automatic IP address assignment.

##

#### Ipv6 Auto

Type: boolean Default: false

Enable IPv6 autoconfiguration.

##

#### Aliases

Type: array of object Default: []

List of IP address aliases to configure on the interface.

All items must be unique

No Additional Items

##### Each item of this array must be:

#### InterfaceCreateAlias

Type: object
No Additional Properties

##

#### Type

Type: enum (of string) Default: "INET"

The type of IP address (INET for IPv4, INET6 for IPv6).

##### Must be one of:

- "INET"
- "INET6"

##

#### Address

The IP address for the failover alias.

## Any of

Type: const
Specific value: `""`
Type: string

##

#### Netmask

Type: integer

The network mask in CIDR notation.

##

#### Failover Critical

Type: boolean Default: false

Whether this interface is critical for failover functionality. Critical interfaces are monitored for failover events and can trigger failover when they fail.

##

#### Failover Group

Failover group identifier for clustering. Interfaces in the same group fail over together during failover events.

## Any of

Type: integer
Type: null

##

#### Failover Vhid

Virtual Host ID for VRRP failover configuration. Must be unique within the VRRP group and match between failover nodes.

## Any of

Type: integer

Value must be greater or equal to `1` and lesser or equal to `255`

Type: null

##

#### Failover Aliases

Type: array of object Default: []

List of IP aliases for failover configuration. These IPs are assigned to the interface during normal operation and migrate during failover.

No Additional Items

##### Each item of this array must be:

#### InterfaceCreateFailoverAlias

Type: object
No Additional Properties

##

#### Type

Type: enum (of string) Default: "INET"

The type of IP address (INET for IPv4, INET6 for IPv6).

##### Must be one of:

- "INET"
- "INET6"

##

#### Address

The IP address for the failover alias.

## Any of

Type: const
Specific value: `""`
Type: string

##

#### Failover Virtual Aliases

Type: array of object Default: []

List of virtual IP aliases for failover configuration. These are shared IPs that float between nodes during failover events.

No Additional Items

##### Each item of this array must be:

#### InterfaceCreateFailoverAlias

Type: object
No Additional Properties

##

#### Type

Type: enum (of string) Default: "INET"

The type of IP address (INET for IPv4, INET6 for IPv6).

##### Must be one of:

- "INET"
- "INET6"

##

#### Address

The IP address for the failover alias.

## Any of

Type: const
Specific value: `""`
Type: string

##

#### Bridge Members

Type: array Default: []

List of interfaces to add as members of this bridge.

No Additional Items

##### Each item of this array must be:

Type: object

##

#### Enable Learning

Type: boolean Default: true

Enable MAC address learning for bridge interfaces. When enabled, the bridge learns MAC addresses from incoming frames and builds a forwarding table to optimize traffic flow.

##

#### Stp

Type: boolean Default: true

Enable Spanning Tree Protocol for bridge interfaces. STP prevents network loops by blocking redundant paths and enables automatic failover when the primary path fails.

##

#### Lag Protocol

Type: enum (of string)

Link aggregation protocol to use for bonding interfaces. LACP uses 802.3ad dynamic negotiation, FAILOVER provides active-backup, LOADBALANCE and ROUNDROBIN distribute traffic across links.

##### Must be one of:

- "LACP"
- "FAILOVER"
- "LOADBALANCE"
- "ROUNDROBIN"
- "NONE"

##

#### Xmit Hash Policy

Type: enum (of null or string) Default: null

Transmit hash policy for load balancing in link aggregation. LAYER2 uses MAC addresses, LAYER2+3 adds IP addresses, and LAYER3+4 includes TCP/UDP ports for distribution.

##### Must be one of:

- "LAYER2"
- "LAYER2+3"
- "LAYER3+4"
- null

##

#### Lacpdu Rate

Type: enum (of null or string) Default: null

LACP data unit transmission rate. SLOW sends LACPDUs every 30 seconds, FAST sends every 1 second for quicker link failure detection.

##### Must be one of:

- "SLOW"
- "FAST"
- null

##

#### Lag Ports

Type: array of string Default: []

List of interface names to include in the link aggregation group.

No Additional Items

##### Each item of this array must be:

Type: string

##

#### Vlan Parent Interface

Type: string

Parent interface for VLAN configuration.

##

#### Vlan Tag

Type: integer

VLAN tag number (1-4094).

##

#### Vlan Pcp

Priority Code Point for VLAN traffic prioritization (0-7). Values 0-7 map to different QoS priority levels, with 0 being lowest and 7 highest priority.

## Any of

Type: integer

Value must be greater or equal to `0` and lesser or equal to `7`

Type: null

##

#### Mtu

Default: null

Maximum transmission unit size for the interface (68-9216 bytes).

## Any of

Type: integer

Value must be greater or equal to `68` and lesser or equal to `9216`

Type: null

##

#### InterfaceEntry

Type: object

The created interface configuration.

##

#### Id

Type: string

Unique identifier for the network interface.

##

#### Name

Type: string

Name of the network interface.

##

#### Fake

Type: boolean

Whether this is a fake/simulated interface for testing purposes.

##

#### Type

Type: string

Type of interface (PHYSICAL, BRIDGE, LINK_AGGREGATION, VLAN, etc.).

##

#### InterfaceEntryState

Type: object

Current runtime state information for the interface.

No Additional Properties

##

#### Name

Type: string

Current name of the network interface.

##

#### Orig Name

Type: string

Original name of the network interface before any renaming.

##

#### Description

Type: string

Human-readable description of the network interface.

##

#### Mtu

Type: integer

Maximum transmission unit size for the interface.

##

#### Cloned

Type: boolean

Whether the interface is a cloned/virtual interface.

##

#### Flags

Type: array of string

List of interface flags indicating various states and capabilities. Common flags include UP, DOWN, RUNNING, MULTICAST, BROADCAST, LOOPBACK, and POINTOPOINT.

No Additional Items

##### Each item of this array must be:

Type: string

##

#### Nd6 Flags

Type: array

IPv6 neighbor discovery flags. These control IPv6 autoconfiguration behavior and include flags like AUTOLINKLOCAL, ACCEPTRTADV, and PERFORMNUD.

No Additional Items

##### Each item of this array must be:

Type: object

##

#### Capabilities

Type: array

List of hardware capabilities supported by the interface. Common capabilities include VLANMTU, JUMBOMTU, VLANHWTAGGING, VLANHWCSUM, and TSO4.

No Additional Items

##### Each item of this array must be:

Type: object

##

#### Link State

Type: string

Current link state of the interface (up, down, etc.).

##

#### Media Type

Type: string

Type of media/connection for the interface. Examples include Ethernet, 802.11, or loopback.

##

#### Media Subtype

Type: string

Subtype of media/connection for the interface. Examples include 1000baseT, 100baseTX, or autoselect.

##

#### Active Media Type

Type: string

Currently active media type. This may differ from configured media_type during autonegotiation.

##

#### Active Media Subtype

Type: string

Currently active media subtype. This reflects the actual negotiated connection speed and type.

##

#### Supported Media

Type: array

List of supported media types for the interface. Contains media descriptors like '1000baseT <full-duplex>' or 'autoselect'.

No Additional Items

##### Each item of this array must be:

Type: object

##

#### Media Options

Available media options for the interface. Options may include 'full-duplex', 'half-duplex', 'flowcontrol', or 'rxpause'.

## Any of

Type: array
No Additional Items

##### Each item of this array must be:

Type: object
Type: null

##

#### Link Address

Type: string

MAC address of the interface.

##

#### Permanent Link Address

Permanent MAC address of the interface if different from current.

## Any of

Type: string
Type: null

##

#### Hardware Link Address

Type: string

Hardware MAC address of the interface.

##

#### Rx Queues

Type: integer

Number of receive queues configured for the interface.

##

#### Tx Queues

Type: integer

Number of transmit queues configured for the interface.

##

#### Aliases

Type: array of object

List of IP address aliases configured on the interface.

No Additional Items

##### Each item of this array must be:

#### InterfaceEntryStateAlias

Type: object
No Additional Properties

##

#### Type

Type: string

The type of IP address (INET for IPv4, INET6 for IPv6).

##

#### Address

Type: string

The IP address value.

##

#### Netmask

The network mask for the IP address, either as a string or CIDR notation integer.

## Any of

Type: string
Type: integer

##

#### Broadcast

Type: string

Broadcast address for the network interface.

##

#### Vrrp Config

Default: []

VRRP (Virtual Router Redundancy Protocol) configuration for the interface.

## Any of

Type: array
No Additional Items

##### Each item of this array must be:

Type: object
Type: null

##

#### Protocol

Link aggregation protocol used (LACP, FAILOVER, etc.).

## Any of

Type: string
Type: null

##

#### Ports

Type: array of object Default: []

List of ports that are members of this link aggregation group.

No Additional Items

##### Each item of this array must be:

#### InterfaceEntryStatePort

Type: object
No Additional Properties

##

#### Name

Type: string

The name of the port interface.

##

#### Flags

Type: array of string

List of flags associated with the port.

No Additional Items

##### Each item of this array must be:

Type: string

##

#### Xmit Hash Policy

Default: null

Transmit hash policy for load balancing in link aggregation. LAYER2 uses MAC addresses, LAYER2+3 adds IP addresses, and LAYER3+4 includes TCP/UDP ports for distribution.

## Any of

Type: string
Type: null

##

#### Lacpdu Rate

Default: null

LACP data unit transmission rate. SLOW sends LACPDUs every 30 seconds, FAST sends every 1 second for quicker link failure detection.

## Any of

Type: string
Type: null

##

#### Parent

Parent interface for VLAN configuration.

## Any of

Type: string
Type: null

##

#### Tag

VLAN tag number.

## Any of

Type: integer
Type: null

##

#### Pcp

Priority Code Point for VLAN traffic prioritization. Values 0-7 map to different QoS priority levels, with 0 being lowest and 7 highest priority.

## Any of

Type: integer
Type: null

##

#### Aliases

Type: array of object

List of IP address aliases configured on the interface.

No Additional Items

##### Each item of this array must be:

#### InterfaceEntryAlias

Type: object
No Additional Properties

##

#### Type

Type: string

The type of IP address (INET for IPv4, INET6 for IPv6).

##

#### Address

Type: string

The IP address value.

##

#### Netmask

The network mask for the IP address, either as a string or CIDR notation integer.

## Any of

Type: string
Type: integer

##

#### Ipv4 Dhcp

Type: boolean

Whether IPv4 DHCP is enabled for automatic IP address assignment.

##

#### Ipv6 Auto

Type: boolean

Whether IPv6 autoconfiguration is enabled.

##

#### Description

Type: string

Human-readable description of the interface.

##

#### Mtu

Maximum transmission unit size for the interface.

## Any of

Type: integer
Type: null

##

#### Vlan Parent Interface

Parent interface for VLAN configuration.

## Any of

Type: string
Type: null

##

#### Vlan Tag

VLAN tag number for VLAN interfaces.

## Any of

Type: integer
Type: null

##

#### Vlan Pcp

Priority Code Point for VLAN traffic prioritization.

## Any of

Type: integer
Type: null

##

#### Lag Protocol

Type: string

Link aggregation protocol (LACP, FAILOVER, LOADBALANCE, etc.).

##

#### Lag Ports

Type: array of string Default: []

List of interface names that are members of this link aggregation group.

No Additional Items

##### Each item of this array must be:

Type: string

##

#### Bridge Members

Type: array of string Default: []

List of interface names that are members of this bridge.

No Additional Items

##### Each item of this array must be:

Type: string

##

#### Enable Learning

Type: boolean

Whether MAC address learning is enabled for bridge interfaces.

##

Additional Properties of any type are allowed.

Type: object

Required roles: NETWORK_INTERFACE_WRITE