/* * COarse-grain LOck-stepping Virtual Machines for Non-stop Service (COLO) * (a.k.a. Fault Tolerance or Continuous Replication) * * Copyright (c) 2016 HUAWEI TECHNOLOGIES CO., LTD. * Copyright (c) 2016 FUJITSU LIMITED * Copyright (c) 2016 Intel Corporation * * Author: Zhang Chen * * This work is licensed under the terms of the GNU GPL, version 2 or * later. See the COPYING file in the top-level directory. */ #ifndef QEMU_COLO_PROXY_H #define QEMU_COLO_PROXY_H #include "slirp/slirp.h" #define HASHTABLE_MAX_SIZE 16384 typedef struct Packet { void *data; union { uint8_t *network_header; struct ip *ip; }; uint8_t *transport_header; int size; } Packet; int parse_packet_early(Packet *pkt); void connection_hashtable_reset(GHashTable *connection_track_table); Packet *packet_new(const void *data, int size); void packet_destroy(void *opaque, void *user_data); #endif /* QEMU_COLO_PROXY_H */