qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH v2 10/10] Fixed calculation error of pkt->header_size in fill


From: address@hidden
Subject: Re: [PATCH v2 10/10] Fixed calculation error of pkt->header_size in fill_pkt_tcp_info()
Date: Fri, 12 Mar 2021 08:00:27 +0000


On 3/12/21 1:03 PM, leirao wrote:
> From: "Rao, Lei" <lei.rao@intel.com>
>
> The data pointer has skipped vnet_hdr_len in the function of
> parse_packet_early().So, we can not subtract vnet_hdr_len again
> when calculating pkt->header_size in fill_pkt_tcp_info(). Otherwise,
> it will cause network packet comparsion errors and greatly increase
> the frequency of checkpoints.
>
> Signed-off-by: Lei Rao <lei.rao@intel.com>
> Signed-off-by: Zhang Chen <chen.zhang@intel.com>
Reviewed-by: Li Zhijian <lizhijian@fujitsu.com>


> ---
>   net/colo-compare.c | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/net/colo-compare.c b/net/colo-compare.c
> index 06f2c28..af30490 100644
> --- a/net/colo-compare.c
> +++ b/net/colo-compare.c
> @@ -211,7 +211,7 @@ static void fill_pkt_tcp_info(void *data, uint32_t 
> *max_ack)
>       pkt->tcp_ack = ntohl(tcphd->th_ack);
>       *max_ack = *max_ack > pkt->tcp_ack ? *max_ack : pkt->tcp_ack;
>       pkt->header_size = pkt->transport_header - (uint8_t *)pkt->data
> -                       + (tcphd->th_off << 2) - pkt->vnet_hdr_len;
> +                       + (tcphd->th_off << 2);
>       pkt->payload_size = pkt->size - pkt->header_size;
>       pkt->seq_end = pkt->tcp_seq + pkt->payload_size;
>       pkt->flags = tcphd->th_flags;

reply via email to

[Prev in Thread] Current Thread [Next in Thread]