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

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

# 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 `network`option 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

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

`bgp.peers.NAME.holdtime`

Peer session hold time

Key: | `bgp.peers.NAME.holdtime`
Type: | integer
Default: | `180`
Condition: | BGP server
Required: | no

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

`dns.nameservers`

DNS server IPs on physical network

Key: | `dns.nameservers`
Type: | string
Condition: | standard mode

Specify a list of DNS server IPs.

`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.

`ipv4.gateway`

IPv4 address for the gateway and network

Key: | `ipv4.gateway`
Type: | string
Condition: | standard mode

Use CIDR notation.

`ipv4.ovn.ranges`

IPv4 ranges to use for child OVN network routers

Key: | `ipv4.ovn.ranges`
Type: | string

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

Specify a comma-separated list of IPv4 CIDR subnets that can be used with the child OVN network’s `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

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

Use CIDR notation.

`ipv6.ovn.ranges`

IPv6 ranges to use for child OVN network routers

Key: | `ipv6.ovn.ranges`
Type: | string

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

Specify a comma-separated list of IPv6 CIDR subnets that can be used with the child OVN network’s `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

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

`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

`mtu`

MTU of the new interface

Key: | `mtu`
Type: | integer

`ovn.ingress_mode`

How OVN NIC external IPs are advertised on uplink network

Key: | `ovn.ingress_mode`
Type: | string
Default: | `l2proxy`
Condition: | standard mode

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

`parent`

Existing interface to use for network

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

## Supported features

The following features are supported for the `physical` network type:

- How to configure LXD as a BGP server