[libvirt] Modules executed during Live Migration of Virtual machines

Hi, I am trying to write the patch file for live migration which uses UDP as the transport protocol. ---So I prepare to edit the existing API which uses the TCP as the transport protocol for the migration.I want to know the modules executing during live migration in current libvirt.(I m using ubuntu10.10 as the guest and suitable latest version of libvirt) ----If any document which clearly shows the actual migration process. I mean which are the functions called during live migration and how the data flow occurs between the two physical machines or the hypervisor. --In LAN the UDP can be used for the live migration as the loss of packets and collision of packets are negligibly less. --Even RUDP can also be used instead of TCP, as RUDP is reliable. --The complete set of the code which responsible for live migration is required where I can get that..? Thanks and Regards Prakash H.R M.Tech Student at RVCE, Bangalore +91-8904301073

On Thu, May 26, 2011 at 02:56:55PM +0530, prakash hr wrote:
Hi, I am trying to write the patch file for live migration which uses UDP as the transport protocol.
---So I prepare to edit the existing API which uses the TCP as the transport protocol for the migration.I want to know the modules executing during live migration in current libvirt.(I m using ubuntu10.10 as the guest and suitable latest version of libvirt)
----If any document which clearly shows the actual migration process. I mean which are the functions called during live migration and how the data flow occurs between the two physical machines or the hypervisor.
--In LAN the UDP can be used for the live migration as the loss of packets and collision of packets are negligibly less.
--Even RUDP can also be used instead of TCP, as RUDP is reliable.
--The complete set of the code which responsible for live migration is required where I can get that..?
You've already asked these questions before and got two sets of answers: http://www.redhat.com/archives/libvir-list/2011-May/msg01641.html http://www.redhat.com/archives/libvirt-users/2011-May/msg00076.html To repeat again: the migration transport is in QEMU, so send these questions to the QEMU mailing list. Daniel -- |: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :| |: http://libvirt.org -o- http://virt-manager.org :| |: http://autobuild.org -o- http://search.cpan.org/~danberr/ :| |: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :|

You are right. My question was something like repeating the same set of questions. I m sorry for that. I just want to know how the migration is done using libvirt API, I mean the functions in libvirt does the job of migration. I know by default all the connections are done with tcp only. So knowing the name and code of the modules which executes the live migration, is helpful in making the patch file for the other transport protocol. -- Thanks and Regards Prakash H.R M.Tech Student at RVCE, Bangalore +91-8904301073

On Thu, May 26, 2011 at 03:37:27PM +0530, prakash hr wrote:
You are right. My question was something like repeating the same set of questions. I m sorry for that. I just want to know how the migration is done using libvirt API, I mean the functions in libvirt does the job of migration. I know by default all the connections are done with tcp only. So knowing the name and code of the modules which executes the live migration, is helpful in making the patch file for the other transport protocol.
libvirt doesn't do anything specific to TCP - it just creates a URI 'tcp://somehost:port' and passes it to QEMU's monitor command for migration. QEMU contains all the code relating to actual migration implementation Daniel -- |: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :| |: http://libvirt.org -o- http://virt-manager.org :| |: http://autobuild.org -o- http://search.cpan.org/~danberr/ :| |: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :|

On Thu, May 26, 2011 at 03:37:27PM +0530, prakash hr wrote:
I just want to know how the migration is done using libvirt API, I mean the functions in libvirt does the job of migration.
src/qemu/qemu_migration.c in the libvirt source tree. Rich. -- Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones virt-p2v converts physical machines to virtual machines. Boot with a live CD or over the network (PXE) and turn machines into Xen guests. http://et.redhat.com/~rjones/virt-p2v
participants (3)
-
Daniel P. Berrange
-
prakash hr
-
Richard W.M. Jones