From: Jason Wang <jasowang@redhat.com>
To: Zhang Chen <zhangchen.fnst@cn.fujitsu.com>,
qemu devel <qemu-devel@nongnu.org>
Cc: Li Zhijian <lizhijian@cn.fujitsu.com>,
"eddie . dong" <eddie.dong@intel.com>,
bian naimeng <biannm@cn.fujitsu.com>,
zhanghailiang <zhang.zhanghailiang@huawei.com>
Subject: Re: [Qemu-devel] [PATCH 0/3] Add COLO-proxy virtio-net support
Date: Tue, 21 Mar 2017 17:15:10 +0800 [thread overview]
Message-ID: <15aa7299-d364-cb03-f07f-778dfbb1f8a4@redhat.com> (raw)
In-Reply-To: <af721967-8c73-1747-1428-adc390732cd1@cn.fujitsu.com>
On 2017年03月21日 15:08, Zhang Chen wrote:
>
>
> On 03/21/2017 02:30 PM, Jason Wang wrote:
>>
>>
>> On 2017年03月21日 14:16, Zhang Chen wrote:
>>>
>>>
>>> On 03/21/2017 02:10 PM, Jason Wang wrote:
>>>>
>>>>
>>>> On 2017年03月21日 13:47, Zhang Chen wrote:
>>>>>
>>>>>
>>>>> On 03/21/2017 11:39 AM, Jason Wang wrote:
>>>>>>
>>>>>>
>>>>>> On 2017年03月16日 17:52, 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.
>>>>>>>
>>>>>>>
>>>>>>> Zhang Chen (3):
>>>>>>> COLO-proxy: Add virtio-net packet parse function
>>>>>>> COLO-proxy: Add a tag to mark virtio-net packet
>>>>>>> COLO-compare: Add virtio-net packet compare support
>>>>>>>
>>>>>>> net/colo-compare.c | 42
>>>>>>> +++++++++++++++++++++++++++++++++---------
>>>>>>> net/colo.c | 14 ++++++++++----
>>>>>>> net/colo.h | 7 ++++++-
>>>>>>> net/filter-rewriter.c | 15 ++++++++++-----
>>>>>>> 4 files changed, 59 insertions(+), 19 deletions(-)
>>>>>>>
>>>>>>
>>>>>> Hi:
>>>>>>
>>>>>> Git grep told us virtio-net is not the only user for vnet header.
>>>>>> E1000e and vmxnet3 uses it too.
>>>>>>
>>>>>> So we need solve them all instead of being virtio-net specific.
>>>>>>
>>>>>
>>>>> Yes, In this series I just try to parse vnet header, if failed I
>>>>> will try to parse normal net packet.
>>>>> So, I just focus on vnet header rather than virtio-net driver.
>>>>> But the patch comments really make people confused , Should I fix
>>>>> all the comments send the V2 ?
>>>>
>>>> Yes, please. Beside this, instead of using fixed vnet header len
>>>> macro, you should query the backend for the length of vnet header.
>>>
>>> I want query the backend too, but colo-compare is not a netfilter
>>> means it no need attach any netdev.
>>> How can we query the backend for the length of vnet header?
>>
>> Filters can know this, then how about let filters add the vnet header
>> length before the real packet and send it to colo-compare?
>>
>
> I don't know whether I understand your comments...
> Do you means filter send a vnet header length firstly(independent
> length packet), then send the real packet?
This requires too much changes and may break the compatibility of socket
net backend.
> If yes, I think it so expensive, in colo we use filter mirror or
> redirect packet between primary and secondary
> that no need to know the vnet header length.
> Or do you means add a fake vnet header to real packet in same one packet?
Kind of, see below.
> If yes, filter-mirror and filter-redirector must touch the packet do
> some job like colo-compare.
> We initial design split colo-proxy to 4 modules have make
> filter-mirror and filter-redirector not to touch
> the packet content, colo-compare and filter-rewriter do the packet
> data related job.
> Or you have other way to tell colo-compare the length?
>
> Thanks
> Zhang Chen
I mean e.g: We send a packet like struct {int size; const uint8_t
buf[];} currently. We can try to add vnet header information like {int
size; int vnet_hdr_len; const uint8_t buf[];}. Or even just pack the
vnet_hdr_len information to the higher bits of size. Then we just need
some encoding and decoding and the changes were limited.
Does this make sense?
Thanks
next prev parent reply other threads:[~2017-03-21 9:15 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-03-16 9:52 [Qemu-devel] [PATCH 0/3] Add COLO-proxy virtio-net support Zhang Chen
2017-03-16 9:52 ` [Qemu-devel] [PATCH 1/3] COLO-proxy: Add virtio-net packet parse function Zhang Chen
2017-03-16 9:52 ` [Qemu-devel] [PATCH 2/3] COLO-proxy: Add a tag to mark virtio-net packet Zhang Chen
2017-03-16 9:52 ` [Qemu-devel] [PATCH 3/3] COLO-compare: Add virtio-net packet compare support Zhang Chen
2017-03-21 3:39 ` [Qemu-devel] [PATCH 0/3] Add COLO-proxy virtio-net support Jason Wang
2017-03-21 5:47 ` Zhang Chen
2017-03-21 6:10 ` Jason Wang
2017-03-21 6:16 ` Zhang Chen
2017-03-21 6:30 ` Jason Wang
2017-03-21 7:08 ` Zhang Chen
2017-03-21 9:15 ` Jason Wang [this message]
2017-03-22 1:50 ` Zhang Chen
2017-03-22 3:13 ` Jason Wang
2017-03-22 3:37 ` Zhang Chen
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=15aa7299-d364-cb03-f07f-778dfbb1f8a4@redhat.com \
--to=jasowang@redhat.com \
--cc=biannm@cn.fujitsu.com \
--cc=eddie.dong@intel.com \
--cc=lizhijian@cn.fujitsu.com \
--cc=qemu-devel@nongnu.org \
--cc=zhang.zhanghailiang@huawei.com \
--cc=zhangchen.fnst@cn.fujitsu.com \
/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).