qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Jason Wang <jasowang@redhat.com>
To: Zhang Chen <chen.zhang@intel.com>
Cc: qemu-dev <qemu-devel@nongnu.org>, Li Zhijian <lizhijian@cn.fujitsu.com>
Subject: Re: [PATCH V3 1/2] net/filter: Enable the vnet_hdr_support by default
Date: Mon, 22 Nov 2021 11:57:17 +0800	[thread overview]
Message-ID: <CACGkMEuPF+9SAs7TFauDB1CDUmW05A5U7zC3V4e2FLokm+RiDg@mail.gmail.com> (raw)
In-Reply-To: <20211119053506.290459-1-chen.zhang@intel.com>

On Fri, Nov 19, 2021 at 1:45 PM Zhang Chen <chen.zhang@intel.com> wrote:
>
> This patch make filters and colo-compare module support vnet_hdr by
> default. And also support -device non-virtio-net(like e1000.).
> Because when enabled the support will make the vnet_hdr_len field
> become must-delivery part of filter transfer protocol(even 0 in use
> -device e1000). It fully guarantees the compatibility for management
> layer like libvirt. But it still can't avoid user manual
> configuration error between different filters connected
> when enable/disable vnet_hdr_support.
>
> Signed-off-by: Zhang Chen <chen.zhang@intel.com>

Queued for 7.0.

Thanks

> ---
>  net/colo-compare.c    | 2 +-
>  net/filter-mirror.c   | 4 ++--
>  net/filter-rewriter.c | 2 +-
>  qemu-options.hx       | 9 +++++----
>  4 files changed, 9 insertions(+), 8 deletions(-)
>
> diff --git a/net/colo-compare.c b/net/colo-compare.c
> index b966e7e514..0232249311 100644
> --- a/net/colo-compare.c
> +++ b/net/colo-compare.c
> @@ -1399,7 +1399,7 @@ static void colo_compare_init(Object *obj)
>                          get_max_queue_size,
>                          set_max_queue_size, NULL, NULL);
>
> -    s->vnet_hdr = false;
> +    s->vnet_hdr = true;
>      object_property_add_bool(obj, "vnet_hdr_support", compare_get_vnet_hdr,
>                               compare_set_vnet_hdr);
>  }
> diff --git a/net/filter-mirror.c b/net/filter-mirror.c
> index f20240cc9f..adb0c6d89a 100644
> --- a/net/filter-mirror.c
> +++ b/net/filter-mirror.c
> @@ -406,14 +406,14 @@ static void filter_mirror_init(Object *obj)
>  {
>      MirrorState *s = FILTER_MIRROR(obj);
>
> -    s->vnet_hdr = false;
> +    s->vnet_hdr = true;
>  }
>
>  static void filter_redirector_init(Object *obj)
>  {
>      MirrorState *s = FILTER_REDIRECTOR(obj);
>
> -    s->vnet_hdr = false;
> +    s->vnet_hdr = true;
>  }
>
>  static void filter_mirror_fini(Object *obj)
> diff --git a/net/filter-rewriter.c b/net/filter-rewriter.c
> index bf05023dc3..5698cd39d1 100644
> --- a/net/filter-rewriter.c
> +++ b/net/filter-rewriter.c
> @@ -407,7 +407,7 @@ static void filter_rewriter_init(Object *obj)
>  {
>      RewriterState *s = FILTER_REWRITER(obj);
>
> -    s->vnet_hdr = false;
> +    s->vnet_hdr = true;
>      s->failover_mode = FAILOVER_MODE_OFF;
>  }
>
> diff --git a/qemu-options.hx b/qemu-options.hx
> index 7749f59300..c40e385ede 100644
> --- a/qemu-options.hx
> +++ b/qemu-options.hx
> @@ -4967,13 +4967,13 @@ SRST
>      ``-object filter-mirror,id=id,netdev=netdevid,outdev=chardevid,queue=all|rx|tx[,vnet_hdr_support][,position=head|tail|id=<id>][,insert=behind|before]``
>          filter-mirror on netdev netdevid,mirror net packet to
>          chardevchardevid, if it has the vnet\_hdr\_support flag,
> -        filter-mirror will mirror packet with vnet\_hdr\_len.
> +        filter-mirror will mirror packet with vnet\_hdr\_len(default: on).
>
>      ``-object filter-redirector,id=id,netdev=netdevid,indev=chardevid,outdev=chardevid,queue=all|rx|tx[,vnet_hdr_support][,position=head|tail|id=<id>][,insert=behind|before]``
>          filter-redirector on netdev netdevid,redirect filter's net
>          packet to chardev chardevid,and redirect indev's packet to
>          filter.if it has the vnet\_hdr\_support flag, filter-redirector
> -        will redirect packet with vnet\_hdr\_len. Create a
> +        will redirect packet with vnet\_hdr\_len(default: on). Create a
>          filter-redirector we need to differ outdev id from indev id, id
>          can not be the same. we can just use indev or outdev, but at
>          least one of indev or outdev need to be specified.
> @@ -4983,7 +4983,8 @@ SRST
>          packet to secondary from primary to keep secondary tcp
>          connection,and rewrite tcp packet to primary from secondary make
>          tcp packet can be handled by client.if it has the
> -        vnet\_hdr\_support flag, we can parse packet with vnet header.
> +        vnet\_hdr\_support flag, we can parse packet with vnet
> +        header(default: on).
>
>          usage: colo secondary: -object
>          filter-redirector,id=f1,netdev=hn0,queue=tx,indev=red0 -object
> @@ -5004,7 +5005,7 @@ SRST
>          checkpoint and send primary packet to out\_dev. In order to
>          improve efficiency, we need to put the task of comparison in
>          another iothread. If it has the vnet\_hdr\_support flag,
> -        colo compare will send/recv packet with vnet\_hdr\_len.
> +        colo compare will send/recv packet with vnet\_hdr\_len(default: on).
>          The compare\_timeout=@var{ms} determines the maximum time of the
>          colo-compare hold the packet. The expired\_scan\_cycle=@var{ms}
>          is to set the period of scanning expired primary node network packets.
> --
> 2.25.1
>



      parent reply	other threads:[~2021-11-22  3:59 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-11-19  5:35 [PATCH V3 1/2] net/filter: Enable the vnet_hdr_support by default Zhang Chen
2021-11-19  5:35 ` [PATCH V3 2/2] test/qtest/test-filter-mirror.c: Change the default vnet_hdr_support Zhang Chen
2021-11-22  3:58   ` Jason Wang
2021-11-22  3:57 ` Jason Wang [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CACGkMEuPF+9SAs7TFauDB1CDUmW05A5U7zC3V4e2FLokm+RiDg@mail.gmail.com \
    --to=jasowang@redhat.com \
    --cc=chen.zhang@intel.com \
    --cc=lizhijian@cn.fujitsu.com \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).