-----Original Message----- > Date: Fri, 5 Oct 2018 09:44:43 +0300 > From: Andrew Rybchenko <arybche...@solarflare.com> > To: Jerin Jacob <jerin.ja...@caviumnetworks.com>, John McNamara > <john.mcnam...@intel.com>, Marko Kovacevic <marko.kovace...@intel.com> > CC: dev@dpdk.org, tho...@monjalon.net, ferruh.yi...@intel.com, > olivier.m...@6wind.com, sta...@dpdk.org > Subject: Re: [dpdk-dev] [PATCH 1/2] doc: clarify L3 Tx checksum prerequisite > User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 > Thunderbird/60.0 > > External Email > > On 10/5/18 7:46 AM, Jerin Jacob wrote: > > Based on PKT_TX_IP_CKSUM definition the user needs > to fill l2_len and l3_len mbuf fields before issuing > HW Tx checksum request. > > Fixes: dad1ec72a377 ("doc: document NIC features") > Cc: sta...@dpdk.org<mailto:sta...@dpdk.org> > > Signed-off-by: Jerin Jacob > <jerin.ja...@caviumnetworks.com><mailto:jerin.ja...@caviumnetworks.com> > > Acked-by: Andrew Rybchenko > <arybche...@solarflare.com><mailto:arybche...@solarflare.com> > > plus one question below > > > --- > > See PKT_TX_IP_CKSUM at > https://git.dpdk.org/dpdk/tree/lib/librte_mbuf/rte_mbuf.h#n283 > > --- > doc/guides/nics/features.rst | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/doc/guides/nics/features.rst b/doc/guides/nics/features.rst > index b085bda86..e726a6bb8 100644 > --- a/doc/guides/nics/features.rst > +++ b/doc/guides/nics/features.rst > @@ -562,6 +562,7 @@ Supports L3 checksum offload. > * **[uses] rte_eth_txconf,rte_eth_txmode**: > ``offloads:DEV_TX_OFFLOAD_IPV4_CKSUM``. > * **[uses] mbuf**: ``mbuf.ol_flags:PKT_TX_IP_CKSUM``, > ``mbuf.ol_flags:PKT_TX_IPV4`` | ``PKT_TX_IPV6``. > > Shouldn't PKT_TX_IPV6 be removed above since L3 checksum offload is not > applicable for IPv6?
I think, some HW(What I am aware of) need to provide following[1] info in Tx descriptors for checksum. IPV6 may be used by the HW in case, packet is tunneled to see where inner start etc(thought it has outer_l3_len)(not strictly from outer checksum perspective) [1] - IPV4 - IPV4 with csum - IPV6 > > > > +* **[uses] mbuf**: ``mbuf.l2_len``, ``mbuf.l3_len``. > * **[provides] mbuf**: ``mbuf.ol_flags:PKT_RX_IP_CKSUM_UNKNOWN`` | > ``PKT_RX_IP_CKSUM_BAD`` | ``PKT_RX_IP_CKSUM_GOOD`` | > ``PKT_RX_IP_CKSUM_NONE``. > >