On Sep 6, 2012, at 12:35 AM, Daniel Veillard wrote:
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(a)cisco.com>
> Cc: Laine Stump <laine(a)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
Thanks for the review Daniel. Laine and I spoke offline, and he had similar
comments to you. I will rework the patch as you describe above, and incorporate
any additional comments Laine has as well.
Thanks!
Kyle