colo-compare: introduce packet comparison thread

If primary packet is same with secondary packet,
we will send primary packet and drop secondary
packet, otherwise notify COLO frame to do checkpoint.
If primary packet comes but secondary packet does not,
after REGULAR_PACKET_CHECK_MS milliseconds we set
the primary packet as old_packet,then do a checkpoint.

Signed-off-by: Zhang Chen <zhangchen.fnst@cn.fujitsu.com>
Signed-off-by: Li Zhijian <lizhijian@cn.fujitsu.com>
Signed-off-by: Wen Congyang <wency@cn.fujitsu.com>
Signed-off-by: Jason Wang <jasowang@redhat.com>
This commit is contained in:
Zhang Chen 2016-09-27 10:22:30 +08:00 committed by Jason Wang
parent b6540d403d
commit 0682e15b19
4 changed files with 239 additions and 0 deletions

View file

@ -17,6 +17,7 @@
#include "slirp/slirp.h"
#include "qemu/jhash.h"
#include "qemu/timer.h"
#define HASHTABLE_MAX_SIZE 16384
@ -40,6 +41,8 @@ typedef struct Packet {
};
uint8_t *transport_header;
int size;
/* Time of packet creation, in wall clock ms */
int64_t creation_ms;
} Packet;
typedef struct ConnectionKey {