1 #include <avahi-client/publish.h>
2 #include <avahi-client/lookup.h>
4 #include <avahi-common/alternative.h>
5 #include <avahi-common/simple-watch.h>
6 #include <avahi-common/malloc.h>
7 #include <avahi-common/error.h>
8 #include <avahi-common/timeval.h>
9 #include <avahi-common/strlst.h>
10 #include <avahi-common/thread-watch.h>
16 #include <libvirt/libvirt.h>
18 #include "../handler_virt_tender.h"
20 int migrate_domain(AvahiClient
*client
, AvahiThreadedPoll
*threaded_poll
, virDomainPtr dom
) {
24 char destination
[1024];
27 memory
= virDomainGetMaxMemory(dom
);
28 target
= create_tender(client
, threaded_poll
, virDomainGetName(dom
), virDomainGetMaxMemory(dom
));
30 snprintf(destination
, 1022, "xen://%s/", target
);
31 destination
[1023] = '\0';
34 dconn
= virConnectOpen(destination
);
39 desDom
= virDomainMigrate(dom
, dconn
, VIR_MIGRATE_LIVE
, NULL
, NULL
, 0);
43 virDomainFree(desDom
);
46 virConnectClose(dconn
);