colo-compare.c (dccd0313b69161fe2235c97633f40ecc041542ac) colo-compare.c (24525e93c17aabdd88df893f1ceecc37e8b289f3)
1/*
2 * COarse-grain LOck-stepping Virtual Machines for Non-stop Service (COLO)
3 * (a.k.a. Fault Tolerance or Continuous Replication)
4 *
5 * Copyright (c) 2016 HUAWEI TECHNOLOGIES CO., LTD.
6 * Copyright (c) 2016 FUJITSU LIMITED
7 * Copyright (c) 2016 Intel Corporation
8 *

--- 102 unchanged lines hidden (view full) ---

111 ObjectClass parent_class;
112} CompareClass;
113
114enum {
115 PRIMARY_IN = 0,
116 SECONDARY_IN,
117};
118
1/*
2 * COarse-grain LOck-stepping Virtual Machines for Non-stop Service (COLO)
3 * (a.k.a. Fault Tolerance or Continuous Replication)
4 *
5 * Copyright (c) 2016 HUAWEI TECHNOLOGIES CO., LTD.
6 * Copyright (c) 2016 FUJITSU LIMITED
7 * Copyright (c) 2016 Intel Corporation
8 *

--- 102 unchanged lines hidden (view full) ---

111 ObjectClass parent_class;
112} CompareClass;
113
114enum {
115 PRIMARY_IN = 0,
116 SECONDARY_IN,
117};
118
119static void colo_compare_inconsistency_notify(void)
120{
121 notifier_list_notify(&colo_compare_notifiers,
122 migrate_get_current());
123}
124
119static int compare_chr_send(CompareState *s,
120 const uint8_t *buf,
121 uint32_t size,
122 uint32_t vnet_hdr_len);
123
124static gint seq_sorter(Packet *a, Packet *b, gpointer data)
125{
126 struct tcphdr *atcp, *btcp;

--- 198 unchanged lines hidden (view full) ---

325 ppkt->offset += spkt->payload_size - spkt->offset;
326 return true;
327 }
328 }
329
330 return false;
331}
332
125static int compare_chr_send(CompareState *s,
126 const uint8_t *buf,
127 uint32_t size,
128 uint32_t vnet_hdr_len);
129
130static gint seq_sorter(Packet *a, Packet *b, gpointer data)
131{
132 struct tcphdr *atcp, *btcp;

--- 198 unchanged lines hidden (view full) ---

331 ppkt->offset += spkt->payload_size - spkt->offset;
332 return true;
333 }
334 }
335
336 return false;
337}
338
333static void colo_compare_inconsistency_notify(void)
334{
335 notifier_list_notify(&colo_compare_notifiers,
336 migrate_get_current());
337}
338
339static void colo_compare_tcp(CompareState *s, Connection *conn)
340{
341 Packet *ppkt = NULL, *spkt = NULL;
342 int8_t mark;
343
344 /*
345 * If ppkt and spkt have the same payload, but ppkt's ACK
346 * is greater than spkt's ACK, in this case we can not

--- 783 unchanged lines hidden ---
339static void colo_compare_tcp(CompareState *s, Connection *conn)
340{
341 Packet *ppkt = NULL, *spkt = NULL;
342 int8_t mark;
343
344 /*
345 * If ppkt and spkt have the same payload, but ppkt's ACK
346 * is greater than spkt's ACK, in this case we can not

--- 783 unchanged lines hidden ---