[libvirt] [PATCH 1/1 V2] Migrate per-port data for Open vSwitch ports during Qemu Live Migration

Daniel Veillard veillard at redhat.com
Thu Sep 6 05:35:26 UTC 2012


On Tue, Sep 04, 2012 at 04:35:24PM -0400, Kyle Mestery wrote:
> Add the ability to migrate per-port data on Open vSwitch
> ports during qemu live migration. A controller can use this
> to store data relating to each port, and have it migrated
> with the virtual machine and populated on the destination
> host.
> 
> Signed-off-by: Kyle Mestery <kmestery at cisco.com>
> Cc: Laine Stump <laine at laine.org>
[....]
> +static void qemuMigrationCookieOvsPortDataXMLFormat(virBufferPtr buf,
> +                                                    qemuMigrationCookieOvsPortDataPtr optr)
> +{
> +    int i;
> +
> +    virBufferAsprintf(buf, "  <ovsportdata nnets='%d'>\n", optr->nnets);
> +    if (optr->nnets > 0)
> +        virBufferAsprintf(buf, "    <vifs>\n");
> +    for (i = 0; i < optr->nnets; i++) {
> +        virBufferAsprintf(buf, "      <vif num='%d' portdata='%s'/>\n",
> +                          i, optr->portdata[i]);
> +    }
> +    if (optr->nnets > 0)
> +        virBufferAsprintf(buf, "    </vifs>\n");
> +
> +    virBufferAddLit(buf, "  </ovsportdata>\n");
> +}

  I'm not specialist of the networking layer, but it looks to me that
this should work (but can someone explain the error scenario if the
receiving end don't understand the extra XML passed in the migration
data ?). My main concern is tying that generic mechanism to OVS, seems
to me this should be split in 2 patches:
   - one patch adding the generic framework to adding XML networking
     related data to the XML passed along the domain in the migration
   - one patch using that generic mechanism to carry the OpenVSwitch 
     per port data
 The first part defining the data extension etc ought to be generic
(but probably network related) and the second part specific to OVS

  Laine, am I off track ?

Daniel

-- 
Daniel Veillard      | libxml Gnome XML XSLT toolkit  http://xmlsoft.org/
daniel at veillard.com  | Rpmfind RPM search engine http://rpmfind.net/
http://veillard.com/ | virtualization library  http://libvirt.org/




More information about the libvir-list mailing list