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