On 10/01/2012 11:18 AM, Kyle Mestery wrote: > Transport Open vSwitch per-port data during live > migration by using the utility functions > virNetDevOpenvswitchGetMigrateData() and > virNetDevOpenvswitchSetMigrateData(). > > Signed-off-by: Kyle Mestery <kmestery@xxxxxxxxx> > --- > src/qemu/qemu_migration.c | 23 ++++++++++++++++++++--- > 1 file changed, 20 insertions(+), 3 deletions(-) > > diff --git a/src/qemu/qemu_migration.c b/src/qemu/qemu_migration.c > index a17ccbd..b4ff3c5 100644 > --- a/src/qemu/qemu_migration.c > +++ b/src/qemu/qemu_migration.c > @@ -311,7 +311,7 @@ qemuMigrationCookieNetworkAlloc(struct qemud_driver *driver ATTRIBUTE_UNUSED, > { > qemuMigrationCookieNetworkPtr mig; > int i; > - virDomainNetDefPtr netptr ATTRIBUTE_UNUSED; > + virDomainNetDefPtr netptr; > > if (VIR_ALLOC(mig) < 0) > goto no_memory; > @@ -339,6 +339,13 @@ qemuMigrationCookieNetworkAlloc(struct qemud_driver *driver ATTRIBUTE_UNUSED, > case VIR_NETDEV_VPORT_PROFILE_8021QBH: > break; > case VIR_NETDEV_VPORT_PROFILE_OPENVSWITCH: > + if (virNetDevOpenvswitchGetMigrateData(&mig->net[i]->portdata, > + netptr->ifname) != 0) { > + virReportSystemError(VIR_ERR_INTERNAL_ERROR, > + _("Unable to run command to get OVS port data for " > + "interface %s"), netptr->ifname); > + goto error; > + } > break; > default: > mig->net[i]->portdata = NULL; > @@ -347,6 +354,7 @@ qemuMigrationCookieNetworkAlloc(struct qemud_driver *driver ATTRIBUTE_UNUSED, > } > } > > +error: > return mig; > > no_memory: > @@ -1278,8 +1286,8 @@ qemuDomainMigrateOPDRelocate(struct qemud_driver *driver ATTRIBUTE_UNUSED, > virDomainObjPtr vm, > qemuMigrationCookiePtr cookie) > { > - virDomainNetDefPtr netptr ATTRIBUTE_UNUSED; > - int ret = 0; > + virDomainNetDefPtr netptr; > + int ret = -1; > int i; > > for (i = 0; i < cookie->network->nnets; i++) { > @@ -1293,12 +1301,21 @@ qemuDomainMigrateOPDRelocate(struct qemud_driver *driver ATTRIBUTE_UNUSED, > case VIR_NETDEV_VPORT_PROFILE_8021QBH: > break; > case VIR_NETDEV_VPORT_PROFILE_OPENVSWITCH: > + if (virNetDevOpenvswitchSetMigrateData(cookie->network->net[i]->portdata, > + netptr->ifname) != 0) { > + virReportSystemError(VIR_ERR_INTERNAL_ERROR, > + _("Unable to run command to set OVS port data for " > + "interface %s"), netptr->ifname); > + goto cleanup; > + } > break; > default: > break; > } > } > > + ret = 0; > +cleanup: > return ret; > } > Again, ACK, but I'm resubmitting it rebased + "net[i]->portdata" changed to "net[i].portdata". -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list