[dpdk-dev] [PATCH v2 1/4] ethdev: add Rx offload outer UDP checksum definition

Andrew Rybchenko arybchenko at solarflare.com
Wed Oct 3 20:00:37 CEST 2018


On 03.10.2018 20:12, Jerin Jacob wrote:
> -----Original Message-----
>> Date: Wed, 3 Oct 2018 13:27:13 +0530
>> From: Jerin Jacob <jerin.jacob at caviumnetworks.com>
>> To: Andrew Rybchenko <arybchenko at solarflare.com>
>> CC: Wenzhuo Lu <wenzhuo.lu at intel.com>, Jingjing Wu <jingjing.wu at intel.com>,
>>   Bernard Iremonger <bernard.iremonger at intel.com>, John McNamara
>>   <john.mcnamara at intel.com>, Marko Kovacevic <marko.kovacevic at intel.com>,
>>   Thomas Monjalon <thomas at monjalon.net>, Ferruh Yigit
>>   <ferruh.yigit at intel.com>, Olivier Matz <olivier.matz at 6wind.com>,
>>   dev at dpdk.org, shahafs at mellanox.com, "Ananyev, Konstantin"
>>   <konstantin.ananyev at intel.com>
>> Subject: Re: [dpdk-dev] [PATCH v2 1/4] ethdev: add Rx offload outer UDP
>>   checksum definition
>> User-Agent: Mutt/1.10.1 (2018-07-13)
>>
>> External Email
>>
>> -----Original Message-----
>>> Date: Wed, 3 Oct 2018 10:34:52 +0300
>>> From: Andrew Rybchenko <arybchenko at solarflare.com>
>>> To: Jerin Jacob <jerin.jacob at caviumnetworks.com>, Wenzhuo Lu
>>>   <wenzhuo.lu at intel.com>, Jingjing Wu <jingjing.wu at intel.com>, Bernard
>>>   Iremonger <bernard.iremonger at intel.com>, John McNamara
>>>   <john.mcnamara at intel.com>, Marko Kovacevic <marko.kovacevic at intel.com>,
>>>   Thomas Monjalon <thomas at monjalon.net>, Ferruh Yigit
>>>   <ferruh.yigit at intel.com>, Olivier Matz <olivier.matz at 6wind.com>
>>> CC: dev at dpdk.org, shahafs at mellanox.com, "Ananyev, Konstantin"
>>>   <konstantin.ananyev at intel.com>
>>> Subject: Re: [dpdk-dev] [PATCH v2 1/4] ethdev: add Rx offload outer UDP
>>>   checksum definition
>>> User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101
>>>   Thunderbird/60.0
>>>
>>>
>>> On 10/2/18 10:24 PM, Jerin Jacob wrote:
>>>
>>> Introduced DEV_RX_OFFLOAD_OUTER_UDP_CKSUM Rx offload flag and
>>> PKT_RX_EL4_CKSUM_BAD mbuf ol_flags to detect outer UDP checksum
>>> failure.
>>>
>>> - To use hardware Rx outer UDP checksum offload, the user needs to
>>> configure DEV_RX_OFFLOAD_OUTER_UDP_CKSUM offload flags in slowpath.
>>>
>>> - Driver updates the PKT_RX_EL4_CKSUM_BAD mbuf ol_flag on checksum failure
>>> similar to the outer L3 PKT_RX_EIP_CKSUM_BAD flag.
>>>
>>> Signed-off-by: Jerin Jacob <jerin.jacob at caviumnetworks.com><mailto:jerin.jacob at caviumnetworks.com>
>>>
>>> 1. I'm not sure that it is OK that mbuf and ethdev changes go in one patch.
>>>     It seems typically mbuf changes go separately and mbuf changes should
>>>     be applied to main dpdk repo.
>>
>> I don't have strong opinion on this. If there are no other objection, I
>> will split the patch further as mbuf and ethdev as you pointed out.
>>
>>> 2. I'd like to see thought why single bit is used for outer L2 checksum when
>>>     2 bits (UNKNOWN, BAD, GOOD, NONE) are used for PKT_RX_L4_CKSUM.
>>>     May be it is OK, but it would be useful to state explicitly why it is decided
>>>     to go this way.
>> I am following the scheme similar to OUTER IP checksum where we have only
>> one bit filed(PKT_RX_EIP_CKSUM_BAD). I will mention in the git commit.
>>
>>
>>> 3. PKT_RX_L4_CKSUM_MASK description says nothing if it is inner or outer.
>>>     May be it is not directly related to changeset, but I think it would be really
>>>     useful to clarify it.
>> I will update the comment.
> Hi Andrew,
>
> I looked at the other definitions in mbuf.h, according the documentation,
> If nothing is mentioned it is treated as inner if the packet is
> tunneled else it is outer most. So I would like avoid confusion by
> adding "inner" in the exiting PKT_RX_L4_CKSUM_MASK comment.
> Technically it is not correct to say "inner" if the packet is not
> tunneled. So I am untouching the exiting comment.
>

Yes, it is incorrect to say that it is inner. How does application find
how to treat PKT_RX_L4_CKSUM (inner or outer)?
Should it rely on packet type provided in mbuf?
Is it specified/mentioned somewhere?

Andrew.


More information about the dev mailing list