[Qemu-devel] [PATCH V7 00/12] Add COLO-proxy virtio-net support

Zhang Chen posted 12 patches 6 years, 8 months ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/1499151236-14671-1-git-send-email-zhangchen.fnst@cn.fujitsu.com
Test FreeBSD passed
Test checkpatch passed
Test docker passed
Test s390x passed
docs/colo-proxy.txt   | 26 ++++++++++++++++
include/net/net.h     | 10 ++++--
net/colo-compare.c    | 84 ++++++++++++++++++++++++++++++++++++++++++---------
net/colo.c            |  9 +++---
net/colo.h            |  4 ++-
net/filter-mirror.c   | 75 +++++++++++++++++++++++++++++++++++++++++----
net/filter-rewriter.c | 37 ++++++++++++++++++++++-
net/net.c             | 37 ++++++++++++++++++++---
net/socket.c          |  8 ++---
qemu-options.hx       | 19 ++++++------
10 files changed, 262 insertions(+), 47 deletions(-)
[Qemu-devel] [PATCH V7 00/12] Add COLO-proxy virtio-net support
Posted by Zhang Chen 6 years, 8 months ago
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.

V7:
 - p1: No change.
 - p2: Fix typo.
       Move old patch 04/10 to 02/10.
       Introduce a parameter for net_socket_rs_init().
 - p3: Address comments split from origin 02/10.
       Rebase code.
 - p4: Remove some comments.
       Fix typo.
       Remove direction related codes, just get vnet_hdr_len
       from nf->netdev->vnet_hdr_len.
 - p5: Remove some comments.
       Fix typo.
 - p6: Origin 05/10.
 - p7: Address comments split from origin 06/10.
 - p8: Origin 06/10.
 - p9: Fix typo. origin 07/10.
 - p10: Origin 08/10.
 - p11: Remove some comments.
        Remove direction related codes, just get vnet_hdr_len
        from nf->netdev->vnet_hdr_len.
 - p12: Origin 10/10.

V6:
 - p1: Remove the using_vnet_hdr, I will send a independent
       patchset about it.
 - p2: Change option input way from vnet_hdr=on/off to vnet_hdr_support.
       Use nf->direction to decide check nf->netdev->vnet_hdr_len or nf->netdev->peer->vnet_hdr_len.
 - p3: Change option input way from vnet_hdr=on/off to vnet_hdr_support.
 - p4: No change.
 - p5: No change.
 - p6: Change option input way from vnet_hdr=on/off to vnet_hdr_support.
       Fix commit log.
 - p7: No change.
 - p8: No change.
 - p9: Change option input way from vnet_hdr=on/off to vnet_hdr_support.
       Use nf->direction to decide check nf->netdev->vnet_hdr_len or nf->netdev->peer->vnet_hdr_len.
 - p10: New patch to add new example for the case needs vnet hdr.

V5:
 - patch1: No change.
 - patch2: Keep the long line in qemu-option.hx.
           Squash patch2 into old patch3.
           Add more comments.
           Fix the return value.
 - patch3: Add more comments in commit log.
 - patch4: Add Suggested-by tag.
           Fix commit log.
           Move vnet_hdr to SocketReadState.
 - patch5: No change.
 - patch6: Squash old patch6 into this patch.
 - patch7: No change.
 - patch8: Remove the offset_all.
 - patch9: Squash old patch11 and the patch12.


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 arguments in NetClientState
  net/net.c: Add vnet_hdr support in SocketReadState
  net/filter-mirror.c: Introduce parameter for filter_send()
  net/filter-mirror.c: Make filter mirror support vnet support.
  net/filter-mirror.c: Add new option to enable vnet support for
    filter-redirector
  net/colo.c: Make vnet_hdr_len as packet property
  net/colo-compare.c: Introduce parameter for compare_chr_send()
  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: Make filter-rewriter support vnet_hdr_len
  docs/colo-proxy.txt: Update colo-proxy usage of net driver with
    vnet_header

 docs/colo-proxy.txt   | 26 ++++++++++++++++
 include/net/net.h     | 10 ++++--
 net/colo-compare.c    | 84 ++++++++++++++++++++++++++++++++++++++++++---------
 net/colo.c            |  9 +++---
 net/colo.h            |  4 ++-
 net/filter-mirror.c   | 75 +++++++++++++++++++++++++++++++++++++++++----
 net/filter-rewriter.c | 37 ++++++++++++++++++++++-
 net/net.c             | 37 ++++++++++++++++++++---
 net/socket.c          |  8 ++---
 qemu-options.hx       | 19 ++++++------
 10 files changed, 262 insertions(+), 47 deletions(-)

-- 
2.7.4




Re: [Qemu-devel] [PATCH V7 00/12] Add COLO-proxy virtio-net support
Posted by Jason Wang 6 years, 8 months ago

On 2017年07月04日 14:53, Zhang Chen wrote:
> 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.
>
> V7:
>   - p1: No change.
>   - p2: Fix typo.
>         Move old patch 04/10 to 02/10.
>         Introduce a parameter for net_socket_rs_init().
>   - p3: Address comments split from origin 02/10.
>         Rebase code.
>   - p4: Remove some comments.
>         Fix typo.
>         Remove direction related codes, just get vnet_hdr_len
>         from nf->netdev->vnet_hdr_len.
>   - p5: Remove some comments.
>         Fix typo.
>   - p6: Origin 05/10.
>   - p7: Address comments split from origin 06/10.
>   - p8: Origin 06/10.
>   - p9: Fix typo. origin 07/10.
>   - p10: Origin 08/10.
>   - p11: Remove some comments.
>          Remove direction related codes, just get vnet_hdr_len
>          from nf->netdev->vnet_hdr_len.
>   - p12: Origin 10/10.
>
> V6:
>   - p1: Remove the using_vnet_hdr, I will send a independent
>         patchset about it.
>   - p2: Change option input way from vnet_hdr=on/off to vnet_hdr_support.
>         Use nf->direction to decide check nf->netdev->vnet_hdr_len or nf->netdev->peer->vnet_hdr_len.
>   - p3: Change option input way from vnet_hdr=on/off to vnet_hdr_support.
>   - p4: No change.
>   - p5: No change.
>   - p6: Change option input way from vnet_hdr=on/off to vnet_hdr_support.
>         Fix commit log.
>   - p7: No change.
>   - p8: No change.
>   - p9: Change option input way from vnet_hdr=on/off to vnet_hdr_support.
>         Use nf->direction to decide check nf->netdev->vnet_hdr_len or nf->netdev->peer->vnet_hdr_len.
>   - p10: New patch to add new example for the case needs vnet hdr.
>
> V5:
>   - patch1: No change.
>   - patch2: Keep the long line in qemu-option.hx.
>             Squash patch2 into old patch3.
>             Add more comments.
>             Fix the return value.
>   - patch3: Add more comments in commit log.
>   - patch4: Add Suggested-by tag.
>             Fix commit log.
>             Move vnet_hdr to SocketReadState.
>   - patch5: No change.
>   - patch6: Squash old patch6 into this patch.
>   - patch7: No change.
>   - patch8: Remove the offset_all.
>   - patch9: Squash old patch11 and the patch12.
>
>
> 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 arguments in NetClientState
>    net/net.c: Add vnet_hdr support in SocketReadState
>    net/filter-mirror.c: Introduce parameter for filter_send()
>    net/filter-mirror.c: Make filter mirror support vnet support.
>    net/filter-mirror.c: Add new option to enable vnet support for
>      filter-redirector
>    net/colo.c: Make vnet_hdr_len as packet property
>    net/colo-compare.c: Introduce parameter for compare_chr_send()
>    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: Make filter-rewriter support vnet_hdr_len
>    docs/colo-proxy.txt: Update colo-proxy usage of net driver with
>      vnet_header
>
>   docs/colo-proxy.txt   | 26 ++++++++++++++++
>   include/net/net.h     | 10 ++++--
>   net/colo-compare.c    | 84 ++++++++++++++++++++++++++++++++++++++++++---------
>   net/colo.c            |  9 +++---
>   net/colo.h            |  4 ++-
>   net/filter-mirror.c   | 75 +++++++++++++++++++++++++++++++++++++++++----
>   net/filter-rewriter.c | 37 ++++++++++++++++++++++-
>   net/net.c             | 37 ++++++++++++++++++++---
>   net/socket.c          |  8 ++---
>   qemu-options.hx       | 19 ++++++------
>   10 files changed, 262 insertions(+), 47 deletions(-)
>

Applied, thanks.