libvirt: virtio-net multiqueue (partial)

Registered by Vladik Romanovsky

Add supoort to enable the virtio-net multiqueue feature for guest

    With virtio-net multiqueue enabled network performance can be scaled
    accross number of vCPUs, by transfering the packets through multiple virtqueue
    pairs at a time.

    Libvirt driver will set the number of queues equal to the number of guest VCPUs

    To control this feature, the following should be set in the flavour extra specs:


    This setting can be overriden by the image metadata property if the feature
    is enabled in the extra specs:


Blueprint information

John Garbutt
Vladik Romanovsky
Vladik Romanovsky
Series goal:
Accepted for liberty
Milestone target:
milestone icon 12.0.0
Started by
John Garbutt
Completed by
John Garbutt

Related branches



Gerrit topic:,topic:bp/libvirt-start-lxc-from-block-devices,n,z

Addressed by:
    libvirt: virtio-net multiqueue

Gerrit topic:,topic:bp/libvirt-virtio-net-multiqueue,n,z

Addressed by:
    libvirt: configuration for interface driver options

Addressed by:
    libvirt: vif tests should use a flavor object

Addressed by:
    tests: update _get_instance_xml to accept custom flavor object

Addressed by:
    libvirt: enable virtio-net multiqueue

Addressed by:
    libvirt: update NetworkRequest object to support queues

Addressed by:
    tests: _stub_allocate_for_instance to accept port ids list

Addressed by:
    libvirt: update VIF metadata with queues in the neutron api

Do you have all the code up for review? I am afraid its not totally clear to me from the current state. --johnthetubaguy 15th July 2015
Please note this blueprint will delayed until the M release if it is not in the NeedsCodeReview state (with all the code up for review) before July 16th, and merged by July 30th. We expect to re-open master for the M release in September. For more information, please see: and
--johnthetubaguy 15th July 2015

Addressed by:
    objects: add hw_vif_multiqueue_enabled image property

I am going to mark this as partial, and having all the code up for review. Seems like there is enough up for review for this to be useful now. --johnthetubaguy 16th July 2015

Addressed by:
    tests: change assertEqual args to expected, observed for VIF

Last patch is just a test refactor, marking this blueprint as complete. --johnthetubaguy 10th August 2015


Work Items