All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Dr. David Alan Gilbert" <dgilbert@redhat.com>
To: Zhang Chen <zhangchen.fnst@cn.fujitsu.com>
Cc: Jason Wang <jasowang@redhat.com>,
	qemu devel <qemu-devel@nongnu.org>,
	Li Zhijian <lizhijian@cn.fujitsu.com>,
	zhanghailiang <zhang.zhanghailiang@huawei.com>
Subject: Re: [Qemu-devel] [PATCH V2 2/4] net/colo-compare.c: Compare the tcp packets that has the same sequence number
Date: Mon, 17 Jul 2017 09:55:05 +0100	[thread overview]
Message-ID: <20170717085505.GD2106@work-vm> (raw)
In-Reply-To: <7ac18343-fc01-8029-2264-617fdde6d6b2@cn.fujitsu.com>

* Zhang Chen (zhangchen.fnst@cn.fujitsu.com) wrote:
> 
> 
> On 07/14/2017 11:25 AM, Jason Wang wrote:
> > 
> > 
> > On 2017年07月13日 13:52, Zhang Chen wrote:
> > > If primary packet's sequence number not same with secondary packet's
> > > sequence number, no need to compare the packet other field.
> > > 
> > > Signed-off-by: Zhang Chen <zhangchen.fnst@cn.fujitsu.com>
> > > ---
> > >   net/colo-compare.c | 6 ++++++
> > >   1 file changed, 6 insertions(+)
> > > 
> > > diff --git a/net/colo-compare.c b/net/colo-compare.c
> > > index 0f8e198..2caeb80 100644
> > > --- a/net/colo-compare.c
> > > +++ b/net/colo-compare.c
> > > @@ -222,6 +222,12 @@ static int colo_packet_compare_tcp(Packet
> > > *spkt, Packet *ppkt)
> > >       ptcp = (struct tcphdr *)ppkt->transport_header;
> > >       stcp = (struct tcphdr *)spkt->transport_header;
> > >   +    if ((ptcp->th_flags & TH_SYN) != TH_SYN &&
> > > +        ptcp->th_seq != stcp->th_seq) {
> > > +        trace_colo_compare_main("colo_packet_compare_tcp seq not
> > > same");
> > > +        return -1;
> > > +    }
> > > +
> > >       /*
> > >        * The 'identification' field in the IP header is *very* random
> > >        * it almost never matches.  Fudge this by ignoring differences in
> > 
> > Do we have any statistics numbers for this?
> 
> Rethink about this patch, I will remove it in next version and send a
> independent
> patch in the future.
> Because in FTP get test, primary guest send lots of packet differ to
> secondary guest's,
> the packet payload are not same, but the total payload are same.

Do you mean that the TCP stream is the same but the packet sizes are
different due to different fragmentation?

> I think I have to buffer some packet's payload depend on sequence number for
> comparison?
> Any idea about this?

The original COLO discussions ~2-3 years ago talked about performing TCP
reassembly and comparing the TCP stream; not a simple task.

But the version I worked with also had the rewrite of the sequence
numbers on the secondary to cause them to match even with the same
fragmentation - but that doesn't seem to be upstream yet.

Dave

> 
> Thanks
> Zhang Chen
> 
> > 
> > Thanks
> > 
> > 
> > 
> 
> -- 
> Thanks
> Zhang Chen
> 
> 
> 
--
Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK

  reply	other threads:[~2017-07-17  8:55 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-07-13  5:52 [Qemu-devel] [PATCH V2 0/4] Optimize COLO-compare performance Zhang Chen
2017-07-13  5:52 ` [Qemu-devel] [PATCH V2 1/4] net/colo-compare.c: Add checkpoint min period to optimize performance Zhang Chen
2017-07-14  3:22   ` Jason Wang
2017-07-17  6:42     ` Zhang Chen
2017-07-14 12:10   ` Dr. David Alan Gilbert
2017-07-17  9:33     ` Zhang Chen
2017-07-17 12:24       ` Dr. David Alan Gilbert
2017-07-18  2:20         ` Zhang Chen
2017-07-13  5:52 ` [Qemu-devel] [PATCH V2 2/4] net/colo-compare.c: Compare the tcp packets that has the same sequence number Zhang Chen
2017-07-14  3:25   ` Jason Wang
2017-07-17  7:39     ` Zhang Chen
2017-07-17  8:55       ` Dr. David Alan Gilbert [this message]
2017-07-17  9:23         ` Zhang Chen
2017-07-17 10:02           ` Dr. David Alan Gilbert
2017-07-14 12:24   ` Dr. David Alan Gilbert
2017-07-13  5:52 ` [Qemu-devel] [PATCH V2 3/4] net/colo-compare.c: Optimize unpredictable tcp options comparison Zhang Chen
2017-07-14  3:33   ` Jason Wang
2017-07-17  9:06     ` Zhang Chen
2017-07-13  5:52 ` [Qemu-devel] [PATCH V2 4/4] net/colo-compare.c: Adjust net queue pop order for performance 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=20170717085505.GD2106@work-vm \
    --to=dgilbert@redhat.com \
    --cc=jasowang@redhat.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.