On 3/11/2022 1:42 PM, Liu, KevinX wrote:

-----Original Message-----
From: Singh, Aman Deep<[email protected]>
Sent: 2022年3月11日 16:02
To: Liu, KevinX<[email protected]>; Zhang, Qi Z<[email protected]>;
dev<[email protected]>; Yigit, Ferruh<[email protected]>
Cc: Yang, Qiming<[email protected]>; Yang, SteveX
<[email protected]>; Xing, Beilei<[email protected]>; Li, Xiaoyun
<[email protected]>; dpdk stable<[email protected]>; Zhang, Yuying
<[email protected]>
Subject: Re: [PATCH v2 2/2] app/testpmd: fix SW L4 checksum in multi-
segments

Hi Kevin,

On 3/11/2022 12:34 PM, Liu, KevinX wrote:
Hi, Ferruh

Yuying has already reviewed it days ago.
If you can, I hope you can change the status as soon as possible and try to
merge the code in RC4.
Thank you.

-----Original Message-----
From: Zhang, Yuying<[email protected]>
Sent: 2022年3月3日 14:30
To: Zhang, Qi Z<[email protected]>; Liu, KevinX
<[email protected]>; dev<[email protected]>
Cc: Yang, Qiming<[email protected]>; Yang, SteveX
<[email protected]>; Yigit, Ferruh<[email protected]>;
Xing, Beilei<[email protected]>; Li, Xiaoyun
<[email protected]>; dpdk stable<[email protected]>
Subject: RE: [PATCH v2 2/2] app/testpmd: fix SW L4 checksum in multi-
segments

LGTM.

-----Original Message-----
From: Liu, KevinX<[email protected]>
Sent: Wednesday, December 29, 2021 5:37 PM
To:[email protected]
Cc: Yang, Qiming<[email protected]>; Zhang, Qi Z
<[email protected]>; Yang, SteveX<[email protected]>;
Yigit, Ferruh<[email protected]>; Liu, KevinX
<[email protected]>;[email protected]
Subject: [PATCH v2 2/2] app/testpmd: fix SW L4 checksum in
multi-segments

Testpmd forwards packets in checksum mode that it needs to
calculate the checksum of each layer's protocol.

In process_inner_cksums, when parsing tunnel packets, inner L4
offset should be outer_l2_len + outer_l3_len + l2_len + l3_len.

In process_outer_cksums, when parsing tunnel packets, outer L4
offset should be outer_l2_len + outer_l3_len.

Fixes: e6b9d6411e91 ("app/testpmd: add SW L4 checksum in multi-
segments")
Cc:[email protected]

Signed-off-by: Kevin Liu<[email protected]>
Acked-by: Yuying Zhang<[email protected]>

Acked-by: Aman Singh <[email protected]>


---
   app/test-pmd/csumonly.c | 6 +++---
   1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/app/test-pmd/csumonly.c b/app/test-pmd/csumonly.c
index
02bc3929c7..c235456e58 100644
--- a/app/test-pmd/csumonly.c
+++ b/app/test-pmd/csumonly.c
@@ -513,7 +513,7 @@ process_inner_cksums(void *l3_hdr, const
struct
testpmd_offload_info *info,  ol_flags |=
RTE_MBUF_F_TX_UDP_CKSUM;  }
else {  if (info->is_tunnel) -l4_off = info->l2_len +
+l4_off = info->outer_l2_len +
    info->outer_l3_len +
    info->l2_len + info->l3_len;
This seems OK. A similar miss is present for TCP case also.
Can you please do the same for that. Line 537
   else
@@ -536,7 +536,7 @@ process_inner_cksums(void *l3_hdr, const
struct
testpmd_offload_info *info,  ol_flags |=
RTE_MBUF_F_TX_TCP_CKSUM;  }
else {  if (info->is_tunnel) -l4_off = info->l2_len +
info->outer_l3_len +
+l4_off = info->outer_l2_len + info-
outer_l3_len +
    info->l2_len + info->l3_len;
   else
   l4_off = info->l2_len + info->l3_len; @@ -
This change might not be required. As for normal packet (non-tunnel case)
l4_off = info->l2_len + info->l3_len;  should be valid.
Please re-check.
I don't understand what you mean. I fix the code under the tunnel case, and I 
didn't modify the code for the non-tunnel case.
Sorry, my bad.

625,7 +625,7 @@ process_outer_cksums(void *outer_l3_hdr, struct
testpmd_offload_info *info,  if (udp_hdr->dgram_cksum != 0) {
udp_hdr->dgram_cksum = 0;  udp_hdr->dgram_cksum =
get_udptcp_checksum(m, outer_l3_hdr,
-info->l2_len + info->outer_l3_len,
+info->outer_l2_len + info-
outer_l3_len,
   info->outer_ethertype);
   }

--
2.33.1

Reply via email to