<a id="network-sriov"></a>

# SR-IOV network

<!-- Include start SR-IOV intro -->

 is a hardware standard that allows a single network card port to appear as several virtual network interfaces in a virtualized environment.

<!-- Include end SR-IOV intro -->

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

<a id="network-sriov-options"></a>

## Configuration options

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

- `maas` (MAAS network identification)
- `user` (free-form key/value for user metadata)

#### NOTE
LXD uses the [CIDR notation](https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) 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 `sriov` network type:

<!-- Include content from [../metadata.txt](../metadata.txt) -->

<a id="network-sriov-network-conf:maas.subnet.ipv4"></a>
`maas.subnet.ipv4`

MAAS IPv4 subnet to register instances in

[<i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i>](#network-sriov-network-conf:maas.subnet.ipv4)

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

<a id="network-sriov-network-conf:maas.subnet.ipv6"></a>
`maas.subnet.ipv6`

MAAS IPv6 subnet to register instances in

[<i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i>](#network-sriov-network-conf:maas.subnet.ipv6)

| **Key:**       | `maas.subnet.ipv6`                                    |
|----------------|-------------------------------------------------------|
| **Type:**      | string                                                |
| **Condition:** | IPv6 address; using the `network` property on the NIC |
| **Scope:**     | global                                                |

<a id="network-sriov-network-conf:mtu"></a>
`mtu`

MTU of the new interface

[<i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i>](#network-sriov-network-conf:mtu)

| **Key:**    | `mtu`   |
|-------------|---------|
| **Type:**   | integer |
| **Scope:**  | global  |

<a id="network-sriov-network-conf:parent"></a>
`parent`

Parent interface to create `sriov` NICs on

[<i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i>](#network-sriov-network-conf:parent)

| **Key:**    | `parent`   |
|-------------|------------|
| **Type:**   | string     |
| **Scope:**  | local      |

<a id="network-sriov-network-conf:user.*"></a>
`user.*`

User-provided free-form key/value pairs

[<i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i>](#network-sriov-network-conf:user.*)

| **Key:**    | `user.*`   |
|-------------|------------|
| **Type:**   | string     |
| **Scope:**  | global     |

<a id="network-sriov-network-conf:vlan"></a>
`vlan`

VLAN ID to attach to

[<i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i>](#network-sriov-network-conf:vlan)

| **Key:**    | `vlan`   |
|-------------|----------|
| **Type:**   | integer  |
| **Scope:**  | global   |
