Macvlan network

Macvlan is a virtual LAN that you can use if you want to assign several IP addresses to the same network interface, basically splitting up the network interface into several sub-interfaces with their own IP addresses. You can then assign IP addresses based on the randomly generated MAC addresses.

The macvlan network type allows to specify presets to use when connecting instances to a parent interface. In this case, the instance NICs can simply set the network option to the network they connect to without knowing any of the underlying configuration details.

Note

If you are using a macvlan network, communication between the LXD host and the instances is not possible. Both the host and the instances can talk to the gateway, but they cannot communicate directly.

Configuration options

The following configuration key namespaces are currently supported for the macvlan network type:

  • maas (MAAS network identification)

  • user (free-form key/value for user metadata)

Note

LXD uses the CIDR notation where network subnet information is required, for example, 192.0.2.0/24 or 2001:db8::/32. This does not apply to cases where a single address is required, for example, local/remote addresses of tunnels, NAT addresses or specific addresses to apply to an instance.

The following configuration options are available for the macvlan network type:

Key

Type

Condition

Default

Description

gvrp

bool

-

false

Register VLAN using GARP VLAN Registration Protocol

mtu

integer

-

-

The MTU of the new interface

parent

string

-

-

Parent interface to create macvlan NICs on

vlan

integer

-

-

The VLAN ID to attach to

maas.subnet.ipv4

string

IPv4 address

-

MAAS IPv4 subnet to register instances in (when using network property on NIC)

maas.subnet.ipv6

string

IPv6 address

-

MAAS IPv6 subnet to register instances in (when using network property on NIC)

user.*

string

-

-

User-provided free-form key/value pairs