SR-IOV guide for OVN¶
The purpose of this page is to describe how SR-IOV works with OVN. Prior to reading this document, it is recommended to first read the basic guide for SR-IOV.
External ports¶
The SR-IOV feature is leverage by OVN external ports. For more
information about external ports, its scheduling and troubleshoot,
please check the External Ports guide.
Environment setup for OVN SR-IOV¶
There are a very few differences between setting up an environment for SR-IOV for the OVS and OVN Neutron drivers. As mentioned at the beginning of this document, the instructions from the the basic guide for SR-IOV are required for getting SR-IOV working with the OVN driver.
The only differences required for an OVN deployment are:
When configuring the
mechanism_driversin the ml2_conf.ini file we should specifyovndriver instead of theopenvswitchdriverDisabling the Neutron DHCP agent
Deploying the OVN Metadata agent on the gateway nodes (controller or networker nodes)
North/South routing¶
A network with an external port (SR-IOV, baremetal), will create a
HA_Chassis_Group register to schedule these external ports in gateway
chassis. The routers also use HA_Chassis_Group registers to execute the
scheduling of the gateway port. Since the implementation of [1], when a
network is connected as an internal network, the Neutron API will sync the
network HA_Chassis_Group with the gateway port HA_Chassis_Group. That
will make both scheduling methods to be in sync and will collocate the gateway
router port and the external port in the same OVN gateway chassis; that allows
OVN to route the traffic from the external port through the gateway port.
When the network HA_Chassis_Group is updated, it could be possible that
the currently assigned gateway chassis changes. However, before connecting the
network to the router, this port is used only for DHCP and metadata; the
external port binding change won’t interrupt the traffic.