Network master: br0 : 10.20.107.30 binded with eth0 eth1: 192.168.1.30 eth2: 192.168.2.30 slave: br0 eth0: 10.20.107.33 binded with eth0 br1: no ip address binded with eth1 eth1: 192.168.1.33 eth2: 192.168.2.33 Eth1 both sides directly connected by cable Eth2 both sides directly connected by cable Repositories used: https://github.com/Pating/colo-proxy/tree/changlox https://github.com/macrosheep/iptables.git https://github.com/torvalds/linux https://github.com/wencongyang/xen Kernel build instructions followed: 2. Prepare host kernel for Dom0 colo-proxy kernel module need cooperate with linux kernel. You should patch kernel with ~/colo-proxy/colo-patch-for-kernel.patch -cd ~/colo-proxy/; git checkout 405527cbfa9f -cd ~/linux/; git checkout v4.0; git am ~/colo-proxy/colo-patch-for-kernel.patch -cp /boot/config-3.0.76-0.11-xen .config; make menuconfig to config your kernel support Dom0. Ref: http://wiki.xenproject.org/wiki/Mainline_Linux_Kernel_Configs -make -j8; make modules_install; make install -reboot COLO-Proxy: -cd ~/colo-proxy/; git checkout 405527cbfa9f; make; make install IPTables: -cd iptables; ./autogen.sh; ./configure --prefix=/usr/ --libdir=/usr/lib64; make; make install XEN: -./autogen.sh -./configure --enable-debug -touch tools/libxl/libxlu_disk_l.l -touch tools/libxl/libxlu_cfg_l.l -make dist-xen -make dist-tools -make install-xen -make install-tools *i've tried with https://github.com/wencongyang/qemu-xen but got an error with qemu when xl creating the VM as follows: >libxl: error: libxl_qmp.c:287:qmp_handle_error_response: received an error message from QMP server: Could not set password Qemu -cd ~/qemu-xen/; git checkout colo-xen-v2 Configured QEMU with script provided at: http://xen.markmail.org/message/y4jcdqxw2s2labdo?q=COLO#query:COLO+page:1+mid:3lzcuzeokqsqpu4i+state:results *path_to_xen_source updated according my directory tree. then.. -make -make install Running COLO *HVM SUSE 64bits primary: rm -f /var/log/xen/* rm -f /var/lib/xen/userdata-d.* service xencommons start modprobe nf_conntrack_ipv4 modprobe xt_PMYCOLO sec_dev=eth1 secondary: rm -f /var/log/xen/* rm -f /var/lib/xen/userdata-d.* service xencommons start modprobe xt_SECCOLO active_disk=/mnt/ramfs/active_disk.img hidden_disk=/mnt/ramfs/hidden_disk.img local_img=/root/new/SUSE/xenguest.img tmp_disk_size=`/root/new/pating/qemu-xen/qemu-img info $local_img |grep 'virtual size' |awk '{print $3}'` rm -rf /mnt/ramfs/* umount /mnt/ramfs/ rm -rf /mnt/ramfs/ mkdir /mnt/ramfs function create_image() { /root/new/pating/qemu-xen/qemu-img create -f qcow2 $1 $tmp_disk_size } function prepare_temp_images() { grep -q "^none /mnt/ramfs ramfs" /proc/mounts if [[ $? -ne 0 ]]; then mount -t ramfs none /mnt/ramfs/ -o size=2G fi if [[ ! -e $active_disk ]]; then create_image $active_disk fi if [[ ! -e $hidden_disk ]]; then create_image $hidden_disk fi } prepare_temp_images primary: xl create new/SUSE/vm-suse.cfg xl pause vm-suse xl remus -c -u vm-suse 192.168.2.33