[dpdk-dev] [PATCH 1/2] doc: clarify L3 Tx checksum prerequisite

Jerin Jacob jerin.jacob at caviumnetworks.com
Fri Oct 5 09:06:15 CEST 2018


-----Original Message-----
> Date: Fri, 5 Oct 2018 09:44:43 +0300
> From: Andrew Rybchenko <arybchenko at solarflare.com>
> To: Jerin Jacob <jerin.jacob at caviumnetworks.com>, John McNamara
>  <john.mcnamara at intel.com>, Marko Kovacevic <marko.kovacevic at intel.com>
> CC: dev at dpdk.org, thomas at monjalon.net, ferruh.yigit at intel.com,
>  olivier.matz at 6wind.com, stable at 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: stable at dpdk.org<mailto:stable at dpdk.org>
> 
> Signed-off-by: Jerin Jacob <jerin.jacob at caviumnetworks.com><mailto:jerin.jacob at caviumnetworks.com>
> 
> Acked-by: Andrew Rybchenko <arybchenko at solarflare.com><mailto:arybchenko at 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``.
> 
> 


More information about the dev mailing list