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 (opens in a new tab) where network subnet information is required, for example,
192.0.2.0/24
or2001: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
Scope: global
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
Scope: global
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
Scope: global
mtu
MTU of the new interface
Key: mtu
Type: integer
Scope: global
parent
Parent interface to create macvlan
NICs on
Key: parent
Type: string
Scope: local
user.*
User-provided free-form key/value pairs
Key: user.*
Type: string
Scope: global
vlan
VLAN ID to attach to
Key: vlan
Type: integer
Scope: global