[dpdk-dev] [PATCH v2] net: prepare the outer ipv4 hdr for checksum

Mohsin Kazmi mohsin.kazmi14 at gmail.com
Tue Aug 3 14:29:00 CEST 2021


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 <thomas at monjalon.net> wrote:

> 07/07/2021 11:14, Mohsin Kazmi:
> > On Wed, Jun 30, 2021 at 3:09 PM Olivier Matz <olivier.matz at 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.
>
>
>


More information about the dev mailing list