On Mon, Jan 14, 2019, 6:34 PM Thomas Huth <th...@redhat.com wrote:

> On 2017-12-25 03:54, Mao Zhongyi wrote:
> > Packet size some time different or when network is busy.
> > Based on same payload size, but TCP protocol can not
> > guarantee send the same one packet in the same way,
> [...]
> > Signed-off-by: Mao Zhongyi <maozy.f...@cn.fujitsu.com>
> > Signed-off-by: Li Zhijian <lizhij...@cn.fujitsu.com>
> > Signed-off-by: Zhang Chen <zhangc...@gmail.com>
> > Reviewed-by: Zhang Chen <zhangc...@gmail.com>
> > Tested-by: Zhang Chen <zhangc...@gmail.com>
> > ---
> >  net/colo-compare.c | 343
> +++++++++++++++++++++++++++++++++++------------------
> >  net/colo.c         |   9 ++
> >  net/colo.h         |  15 +++
> >  net/trace-events   |   2 +-
> >  4 files changed, 250 insertions(+), 119 deletions(-)
> >
> > diff --git a/net/colo-compare.c b/net/colo-compare.c
> > index f39ca02..8622b0b 100644
> > --- a/net/colo-compare.c
> > +++ b/net/colo-compare.c
> [...]
> > @@ -214,104 +254,175 @@ static int colo_compare_packet_payload(Packet
> *ppkt,
> >  }
> >
> >  /*
> > - * Called from the compare thread on the primary
> > - * for compare tcp packet
> > - * compare_tcp copied from Dr. David Alan Gilbert's branch
> > - */
> > -static int colo_packet_compare_tcp(Packet *spkt, Packet *ppkt)
> > + * return true means that the payload is consist and
> > + * need to make the next comparison, false means do
> > + * the checkpoint
> > +*/
> > +static bool colo_mark_tcp_pkt(Packet *ppkt, Packet *spkt,
> > +                              int8_t *mark, uint32_t max_ack)
> >  {
> > -    struct tcphdr *ptcp, *stcp;
> > -    int res;
> > +    *mark = 0;
> > +
> > +    if (ppkt->tcp_seq == spkt->tcp_seq && ppkt->seq_end ==
> spkt->seq_end) {
> > +        if (colo_compare_packet_payload(ppkt, spkt,
> > +                                        ppkt->header_size,
> spkt->header_size,
> > +                                        ppkt->payload_size)) {
> > +            *mark = COLO_COMPARE_FREE_SECONDARY |
> COLO_COMPARE_FREE_PRIMARY;
> > +            return true;
> > +        }
> > +    }
> > +    if (ppkt->tcp_seq == spkt->tcp_seq && ppkt->seq_end ==
> spkt->seq_end) {
> > +        if (colo_compare_packet_payload(ppkt, spkt,
> > +                                        ppkt->header_size,
> spkt->header_size,
> > +                                        ppkt->payload_size)) {
> > +            *mark = COLO_COMPARE_FREE_SECONDARY |
> COLO_COMPARE_FREE_PRIMARY;
> > +            return true;
> > +        }
> > +    }
>
>  Hi,
>
> seems like this patch introduced some duplicated code, see this bug
> ticket here:
>
>  https://bugs.launchpad.net/qemu/+bug/1811499
>
> Is the second if-statement here on purpose? If yes, maybe you could add
> a comment here? If no, could you please send a patch to remove it?
>

I think it is a rebase issue, I will send a patch to remove it.

Thanks
Zhang Chen


>  Thanks,
>   Thomas
>

Reply via email to