Hi all,
I am trying to understand domU migration in xen-4.1.2/tools/libxl/xm_cmdimpl.c. Here are my questions:

1) Is there any documentation which explain each functions?

2) What is the difference between these two functions: int main_migrate(int argc, char **argv) and int main_migrate_receive(int argc, char **argv)?

3) In the function: static void migrate_domain(const char *domain_spec, const char *rune, const char *override_config_file),
    what does:
  
    *) save_domain_core_begin(domain_spec, override_config_file, &config_data, &config_len);

    *)migrate_read_fixedmessage(recv_fd, migrate_receiver_banner,
                                   sizeof(migrate_receiver_banner)-1,
                                   "banner", rune);

    *)save_domain_core_writeconfig(send_fd, "migration stream",
                                 config_data, config_len);

    *)migration_child_report(child, recv_fd);
  
    *)Finally, which section of the" migrate_domain" function performs memory copy from the initial host to the target host?

Please, apologize the number of questions.

Thanks in advance for your answers.
Alain