Physical network

The physical network type connects to an existing physical network, which can be a network interface or a bridge, and serves as an uplink network for OVN.

This network type allows to specify presets to use when connecting OVN networks to a parent interface or to allow an instance to use a physical interface as a NIC. In this case, the instance NICs can simply set the networkoption to the network they connect to without knowing any of the underlying configuration details.

Configuration options

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

  • bgp (BGP peer configuration)

  • dns (DNS server and resolution configuration)

  • ipv4 (L3 IPv4 configuration)

  • ipv6 (L3 IPv6 configuration)

  • maas (MAAS network identification)

  • ovn (OVN configuration)

  • 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 physical network type:

bgp.peers.NAME.address

Peer address for use by ovn downstream networks

Key: bgp.peers.NAME.address
Type:

string

Condition:

BGP server

Scope:

global

The address can be IPv4 or IPv6.

bgp.peers.NAME.asn

Peer AS number for use by ovn downstream networks

Key: bgp.peers.NAME.asn
Type:

integer

Condition:

BGP server

Scope:

global

bgp.peers.NAME.holdtime

Peer session hold time

Key: bgp.peers.NAME.holdtime
Type:

integer

Default:

180

Condition:

BGP server

Required:

no

Scope:

global

Specify the peer session hold time in seconds.

bgp.peers.NAME.password

Peer session password for use by ovn downstream networks

Key: bgp.peers.NAME.password
Type:

string

Default:

(no password)

Condition:

BGP server

Required:

no

Scope:

global

dns.nameservers

DNS server IPs on physical network

Key: dns.nameservers
Type:

string

Condition:

standard mode

Scope:

global

Specify a list of DNS server IPs.

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.

ipv4.gateway

IPv4 address for the gateway and network

Key: ipv4.gateway
Type:

string

Condition:

standard mode

Scope:

global

Use CIDR notation.

ipv4.ovn.ranges

IPv4 ranges to use for child OVN network routers

Key: ipv4.ovn.ranges
Type:

string

Scope:

global

Specify a comma-separated list of IPv4 ranges in FIRST-LAST format.

ipv4.routes

Additional IPv4 CIDR subnets

Key: ipv4.routes
Type:

string

Condition:

IPv4 address

Scope:

global

Specify a comma-separated list of IPv4 CIDR subnets that can be used with child OVN network forwarders, load-balancers and ipv4.routes.external setting.

ipv4.routes.anycast

Whether to allow IPv4 routes on multiple networks/NICs

Key: ipv4.routes.anycast
Type:

bool

Default:

false

Condition:

IPv4 address

Scope:

global

If set to true, this option allows the overlapping routes to be used on multiple networks/NICs at the same time.

ipv6.gateway

IPv6 address for the gateway and network

Key: ipv6.gateway
Type:

string

Condition:

standard mode

Scope:

global

Use CIDR notation.

ipv6.ovn.ranges

IPv6 ranges to use for child OVN network routers

Key: ipv6.ovn.ranges
Type:

string

Scope:

global

Specify a comma-separated list of IPv6 ranges in FIRST-LAST format.

ipv6.routes

Additional IPv6 CIDR subnets

Key: ipv6.routes
Type:

string

Condition:

IPv6 address

Scope:

global

Specify a comma-separated list of IPv6 CIDR subnets that can be used with child OVN network forwarders, load-balancers and ipv6.routes.external setting.

ipv6.routes.anycast

Whether to allow IPv6 routes on multiple networks/NICs

Key: ipv6.routes.anycast
Type:

bool

Default:

false

Condition:

IPv6 address

Scope:

global

If set to true, this option allows the overlapping routes to be used on multiple networks/NICs at the same time.

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:

IPv6 address; using the network property on the NIC

Scope:

global

mtu

MTU of the new interface

Key: mtu
Type:

integer

Scope:

global

ovn.ingress_mode

How OVN NIC external IPs are advertised on uplink network

Key: ovn.ingress_mode
Type:

string

Default:

l2proxy

Condition:

standard mode

Scope:

global

Possible values are l2proxy (proxy ARP/NDP) and routed.

parent

Existing interface to use for network

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

Supported features

The following features are supported for the physical network type: