Description: 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 the...

Hide navigation sidebar
Hide table of contents sidebar
Skip to content
Back to top
View this page
Toggle table of contents sidebar

# 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:

`gvrp`

Whether to use GARP VLAN Registration Protocol

Key: | `gvrp`
Type: | bool
Default: | `false`

This option specifies whether to register the VLAN using the GARP VLAN Registration Protocol.

`maas.subnet.ipv4`

MAAS IPv4 subnet to register instances in

Key: | `maas.subnet.ipv4`
Type: | string
Condition: | IPv4 address; using the `network` property on the NIC

`maas.subnet.ipv6`

MAAS IPv6 subnet to register instances in

Key: | `maas.subnet.ipv6`
Type: | string
Condition: | IPv4 address; using the `network` property on the NIC

`mtu`

MTU of the new interface

Key: | `mtu`
Type: | integer

`parent`

Parent interface to create `macvlan` NICs on

Key: | `parent`
Type: | string

`user.*`

User-provided free-form key/value pairs

Key: | `user.*`
Type: | string

`vlan`

VLAN ID to attach to

Key: | `vlan`
Type: | integer