diff --git a/neutron_lib/api/definitions/portbindings.py b/neutron_lib/api/definitions/portbindings.py index 63dd83a38..8b510218a 100644 --- a/neutron_lib/api/definitions/portbindings.py +++ b/neutron_lib/api/definitions/portbindings.py @@ -117,9 +117,15 @@ VNIC_BAREMETAL = 'baremetal' VNIC_DIRECT_PHYSICAL = 'direct-physical' VNIC_VIRTIO_FORWARDER = 'virtio-forwarder' VNIC_SMARTNIC = 'smart-nic' +# - vdpa: The vHost-vdpa transport is a new vHost backend type introduced +# in qemu 5.1. vHost-vdpa leverages the vdpa framework introduced in +# kernel 5.7 to implement a vhost offload of a standard virtio-net +# interface to a software or hardware backend. +VNIC_VHOST_VDPA = 'vdpa' VNIC_TYPES = [VNIC_NORMAL, VNIC_DIRECT, VNIC_MACVTAP, VNIC_BAREMETAL, - VNIC_DIRECT_PHYSICAL, VNIC_VIRTIO_FORWARDER, VNIC_SMARTNIC] + VNIC_DIRECT_PHYSICAL, VNIC_VIRTIO_FORWARDER, VNIC_SMARTNIC, + VNIC_VHOST_VDPA] # VIF_DETAILS_CONNECTIVITY: Indicates what kind of connectivity the network # back-end provides: L2, L3 or not specified. diff --git a/releasenotes/notes/vhost-vdpa-cc35f8d0ff9b3c4a.yaml b/releasenotes/notes/vhost-vdpa-cc35f8d0ff9b3c4a.yaml new file mode 100644 index 000000000..87fa0129c --- /dev/null +++ b/releasenotes/notes/vhost-vdpa-cc35f8d0ff9b3c4a.yaml @@ -0,0 +1,14 @@ +--- +features: + - | + A new vnic type ``vdpa`` has been added to allow requesting port that + utilize a vhost-vdpa offload. vhost-vdpa is simpler to vhost-user or + kernel vhost offload but utilizes the newly added vdpa bus introduced + in the Linux 5.7 kernel. vdpa interface can be implemented in software + or hardware, when implemented in hardware they provide equivalent + performance to sr-iov or hardware offloaded ovs while have two main + advantages over both sriov and hardware offloaded ovs. Unlike the alternatives + vhost-vdpa enable live migration of instance transparently and provides + a standard virtio-net interface to the guest avoiding the need to install + vendor specific drivers in the guest. +