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
--
Daniel Veillard | libxml Gnome XML XSLT toolkit
http://xmlsoft.org/
daniel(a)veillard.com | Rpmfind RPM search engine
http://rpmfind.net/
http://veillard.com/ | virtualization library
http://libvirt.org/