diff --git a/nova/tests/unit/virt/libvirt/test_vif.py b/nova/tests/unit/virt/libvirt/test_vif.py index 25aca122cc..5c37c650b6 100644 --- a/nova/tests/unit/virt/libvirt/test_vif.py +++ b/nova/tests/unit/virt/libvirt/test_vif.py @@ -840,14 +840,16 @@ class LibvirtVifTestCase(test.NoDBTestCase): network_model.VIF_MODEL_RTL8139, network_model.VIF_MODEL_E1000, network_model.VIF_MODEL_E1000E, - network_model.VIF_MODEL_SPAPR_VLAN) + network_model.VIF_MODEL_SPAPR_VLAN, + network_model.VIF_MODEL_VMXNET3) else: supported = (network_model.VIF_MODEL_NE2K_PCI, network_model.VIF_MODEL_PCNET, network_model.VIF_MODEL_RTL8139, network_model.VIF_MODEL_E1000, network_model.VIF_MODEL_E1000E, - network_model.VIF_MODEL_SPAPR_VLAN) + network_model.VIF_MODEL_SPAPR_VLAN, + network_model.VIF_MODEL_VMXNET3) for model in supported: image_meta = objects.ImageMeta.from_dict( {'properties': {'hw_vif_model': model}}) diff --git a/nova/virt/libvirt/vif.py b/nova/virt/libvirt/vif.py index 15e7fabdb1..e2b86a8b88 100644 --- a/nova/virt/libvirt/vif.py +++ b/nova/virt/libvirt/vif.py @@ -67,7 +67,8 @@ SUPPORTED_VIF_MODELS = { network_model.VIF_MODEL_E1000, network_model.VIF_MODEL_E1000E, network_model.VIF_MODEL_LAN9118, - network_model.VIF_MODEL_SPAPR_VLAN], + network_model.VIF_MODEL_SPAPR_VLAN, + network_model.VIF_MODEL_VMXNET3], 'kvm': [ network_model.VIF_MODEL_VIRTIO, network_model.VIF_MODEL_NE2K_PCI, @@ -75,7 +76,8 @@ SUPPORTED_VIF_MODELS = { network_model.VIF_MODEL_RTL8139, network_model.VIF_MODEL_E1000, network_model.VIF_MODEL_E1000E, - network_model.VIF_MODEL_SPAPR_VLAN], + network_model.VIF_MODEL_SPAPR_VLAN, + network_model.VIF_MODEL_VMXNET3], 'xen': [ network_model.VIF_MODEL_NETFRONT, network_model.VIF_MODEL_NE2K_PCI, diff --git a/releasenotes/notes/qemu-accept-vmxnet3-nic.yaml b/releasenotes/notes/qemu-accept-vmxnet3-nic.yaml new file mode 100644 index 0000000000..a5aef594ec --- /dev/null +++ b/releasenotes/notes/qemu-accept-vmxnet3-nic.yaml @@ -0,0 +1,7 @@ +--- +features: + - | + Add the ability to use ``vmxnet3`` NIC on a host using the QEMU/KVM driver. This allows + the migration of an ESXi VM to QEMU/KVM, without any driver changes. ``vmxnet3`` + comes with better performance and lower latency comparing to an emulated driver like + ``e1000``.