This series make filters and colo-compare module support vnet_hdr by default. And also support -device non-virtio-net(like e1000.) at the same time. It can adapt -device automatically to avoid wrong setting between different filters when enable/disable virtio-net-pci.
Optimize the filter transfer protocol from: 1.size -----> 2.real network payload. to: 1.size -----> 2.vnet_hdr_len. -----> 3.real network payload. When receiving node get the network packet, it will compare with the local vnet_hdr_len. If they are not the same, report a error. because this kind of packet cannot be correctly parsed by receiving node. For the colo-compare, it need to compare whether the two sides vnet_hdr_len are equal. v5: Keep the vnet_hdr_support from filters for the management layer compatibility. v4: Rewrite patches to impliment it in filter transfer protocol payload. Remove filters and colo-compare's "vnet_hdr_support" flag. v3: Fix some typos. Rebased for Qemu 6.2. v2: Detect virtio-net driver and apply vnet_hdr_support automatically. (Jason) Zhang Chen (3): net/filter: Optimize transfer protocol for filter-mirror/redirector net/filter: Optimize transfer protocol for filter-rewriter net/colo-compare.c: Optimize transfer protocol for colo-compare net/colo-compare.c | 24 +++++++++++++++++------- net/filter-mirror.c | 34 ++++++++++++++++------------------ net/filter-rewriter.c | 6 ++---- 3 files changed, 35 insertions(+), 29 deletions(-) -- 2.25.1