.. This work is licensed under a Creative Commons Attribution 3.0 Unported License. http://creativecommons.org/licenses/by/3.0/legalcode ============================================================= Enable SR-IOV physical functions assignment with Neutron port ============================================================= https://blueprints.launchpad.net/nova/+spec/sriov-pf-passthrough-neutron-port Relying on the sriov-physical-function-passthrough spec [1], which describes an implementation of a SR-IOV physical functions passthough support in Nova; This spec will address the need for SR-IOV physical functions to be associated with Neutron ports. Problem description =================== Current implementation of the Physical Function (PF) passthrough lacks any network awareness. It is exposing the physical hardware to the instances without an integration with Neutron, unlike the way it is implemented for the SR-IOV Virtual Functions (VFs). Physical Function can only be exposed as a libvirt's definition in the domain XML and not as a " Other contributors: Nikola Đipanov Work Items ---------- * Introduce a new vnic_type to request PF selection - VNIC_DIRECT_PHYSICAL * Introduce a new vif type to configure the PF attachment with as a hostdev. * Update the Neutron port with a MAC of a selected PF. Dependencies ============ * Depending on a neutron support of a new VNIC type. https://review.openstack.org/#/c/246923 https://bugs.launchpad.net/neutron/+bug/1500993 * There is also a dependency on the actual implementation of the sriov-physical-function-passthrough spec [1] Testing ======= New unit and functional tests will be written to cover the changes. Documentation Impact ==================== Documentation of a new vnic_type should be documented. References ========== [1] https://review.openstack.org/#/c/212472 History ======= Optional section for Mitaka intended to be used each time the spec is updated to describe new design, API or any database schema updated. Useful to let reader understand what's happened along the time. .. list-table:: Revisions :header-rows: 1 * - Release Name - Description * - Mitaka - Introduced * - Newton - Re-proposed