If user use -device virtio-net-pci, virtio-net driver will add a header to raw net packet that colo-proxy can't handle it. COLO-proxy just focus on the packet payload, so we skip the virtio-net header to compare the sent packet that primary guest's to secondary guest's.
V4: - Add vnet_hdr option for filter-mirror, filter-redirector, filter-rewriter,colo-compare. - Use new design to impliment virtio-net support for colo-proxy. - Fix codestyle. - Remove unused option for filter-rewriter. - Add filter-rewriter virtio-net support. - Address other comments. Zhang Chen (12): net: Add vnet_hdr_len related arguments in NetClientState net/filter-mirror.c: Add new option to enable vnet support for filter-mirror net/filter-mirror.c: Make filter_mirror_send support vnet support. net/filter-mirror.c: Add new option to enable vnet support for filter-redirector net/net.c: Add vnet_hdr support in SocketReadState net/colo-compare.c: Add new option to enable vnet support for colo-compare net/colo.c: Make vnet_hdr_len as packet property net/colo-compare.c: Make colo-compare support vnet_hdr_len net/colo.c: Add vnet packet parse feature in colo-proxy net/colo-compare.c: Add vnet packet's tcp/udp/icmp compare net/filter-rewriter.c: Add new option to enable vnet support for filter-rewriter net/filter-rewriter.c: Make filter-rewriter support vnet_hdr_len include/net/net.h | 11 +++++- net/colo-compare.c | 99 ++++++++++++++++++++++++++++++++++++++--------- net/colo.c | 9 +++-- net/colo.h | 4 +- net/filter-mirror.c | 104 +++++++++++++++++++++++++++++++++++++++++++++++--- net/filter-rewriter.c | 55 +++++++++++++++++++++++++- net/net.c | 38 ++++++++++++++++-- net/socket.c | 2 +- qemu-options.hx | 17 +++++---- 9 files changed, 296 insertions(+), 43 deletions(-) -- 2.7.4