Hi Thomas, Thanks for the review.
I did the git grep rte_net_intel_cksum_prepare and git grep PKT_TX_OUTER_UDP_CKSUM. Following are the two drivers that use the function to prepare headers for checksum which also uses the outer_udp_checksum offload within drivers. 1) Hisilicon hns3 2) Wangxun txgbe 1) has implemented its own version of functions to prepare for outer header checksum. It may benefit/impact from the change. The function "rte_net_intel_cksum_prepare" is intel specific and intel cards do not support outer l4 checksum offload. DPDK may provide a generic version of the same function which can be used in different drivers. -br Mohsin On Thu, Jul 22, 2021 at 8:53 PM Thomas Monjalon <tho...@monjalon.net> wrote: > 07/07/2021 11:14, Mohsin Kazmi: > > On Wed, Jun 30, 2021 at 3:09 PM Olivier Matz <olivier.m...@6wind.com> > wrote: > > > > + if (ol_flags & (PKT_TX_OUTER_IPV4 | PKT_TX_OUTER_IPV6)) { > > > > inner_l3_offset += m->outer_l2_len + m->outer_l3_len; > > > > + /* > > > > + * prepare outer ipv4 header checksum by setting it to > 0, > > > > + * in order to be computed by hardware NICs. > > > > + */ > > > > + if (ol_flags & PKT_TX_OUTER_IP_CKSUM) { > > > > + ipv4_hdr = rte_pktmbuf_mtod_offset(m, > > > > + struct rte_ipv4_hdr *, > > > m->outer_l2_len); > > > > + ipv4_hdr->hdr_checksum = 0; > > > > + } > > > > + } > > > > > > What about outer L4 checksum? Does it requires the same than inner? > > > > > I am using XL710 for my testing with i40e dpdk driver. AFAIK, It doesn't > > support outer l4 checksum. I am not sure if other Intel NICs support it. > > This function is used by a lot of drivers. > Try git grep rte_net_intel_cksum_prepare > > I think we need more reviews on the v3. > Given it is far from being a new bug, I suggest to wait the next release > in order to have more feedbacks. > > >