Hi Helin,

On 01/23/2015 09:47 AM, Zhang, Helin wrote:
>>> diff --git a/lib/librte_pmd_i40e/i40e_rxtx.c
>>> b/lib/librte_pmd_i40e/i40e_rxtx.c index 9acdeee..0786255 100644
>>> --- a/lib/librte_pmd_i40e/i40e_rxtx.c
>>> +++ b/lib/librte_pmd_i40e/i40e_rxtx.c
>>> @@ -482,7 +482,7 @@ i40e_txd_enable_checksum(uint64_t ol_flags,
>>>     }
>>>
>>>     /* UDP tunneling packet TX checksum offload */
>>> -   if (unlikely(ol_flags & PKT_TX_UDP_TUNNEL_PKT)) {
>>> +   if (unlikely(ol_flags & PKT_TX_OUTER_IP_CKSUM)) {
>>
>> This way will disable  FVL TX checksum offload capability of inner IP and 
>> inner
>> L4 using B.1 method.
>>
>> Again, the B.1 in
>> http://dpdk.org/ml/archives/dev/2014-December/009213.html should be
>> supported and allowed.
>>
>> Helin, you are i40e maintainer, what's your point?
> 
> Can we list all the possible checksum cases (with or without hardware 
> offloads)?
> 1. Outer IP (hw csum) + inner IP (hw csum) + L4 (hw csum)
> 2. Outer IP (hw csum) + inner IP (hw csum) + L4 (sw csum)
> 3. Outer IP (hw csum) + inner IP (sw csum) + L4 (hw csum)

case 6 in [1]

> 4. Outer IP (hw csum) + inner IP (sw csum) + L4 (sw csum)

case 1 in [1]

> 5. Outer IP (sw csum) + inner IP (hw csum) + L4 (hw csum)
> 6. Outer IP (sw csum) + inner IP (hw csum) + L4 (sw csum)
> 7. Outer IP (sw csum) + inner IP (sw csum) + L4 (hw csum)

case 3 and 4 in [1]

> 8. Outer IP (sw csum) + inner IP (sw csum) + L4 (sw csum)

no hardware offload


Removing the PKT_TX_UDP_TUNNEL_PKT does not prevent to do an
operation from the user point of view. In i40e, there are 2
ways to calculate the inner checksums. The idea is to have only
one in the mbuf API, and to let the driver decide how to talk to
the hardware, but it's not the user problem.

Regards,
Olivier


[1] http://dpdk.org/ml/archives/dev/2015-January/011127.html

Reply via email to