From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dispatch1-us1.ppe-hosted.com (dispatch1-us1.ppe-hosted.com [67.231.154.164]) by dpdk.org (Postfix) with ESMTP id 43E1A1B293 for ; Wed, 3 Oct 2018 21:47:39 +0200 (CEST) X-Virus-Scanned: Proofpoint Essentials engine Received: from webmail.solarflare.com (uk.solarflare.com [193.34.186.16]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by mx1-us3.ppe-hosted.com (Proofpoint Essentials ESMTP Server) with ESMTPS id B428F9C0082; Wed, 3 Oct 2018 19:47:37 +0000 (UTC) Received: from [192.168.1.192] (188.242.181.57) by ukex01.SolarFlarecom.com (10.17.10.4) with Microsoft SMTP Server (TLS) id 15.0.1395.4; Wed, 3 Oct 2018 20:47:27 +0100 To: Jerin Jacob CC: Wenzhuo Lu , Jingjing Wu , Bernard Iremonger , John McNamara , Marko Kovacevic , Thomas Monjalon , Ferruh Yigit , Olivier Matz , , , "Ananyev, Konstantin" References: <20180913134707.23698-1-jerin.jacob@caviumnetworks.com> <20181002192451.19119-1-jerin.jacob@caviumnetworks.com> <20181003075712.GA2003@jerin> <20181003171252.GA3193@jerin> <209397d1-f1ee-befb-1593-5adb58045bc5@solarflare.com> <20181003181412.GA8662@jerin> From: Andrew Rybchenko Message-ID: <8195dbcb-4b05-b47b-ebdf-2a8c36fa2974@solarflare.com> Date: Wed, 3 Oct 2018 22:47:15 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.9.1 MIME-Version: 1.0 In-Reply-To: <20181003181412.GA8662@jerin> Content-Type: text/plain; charset="utf-8"; format=flowed Content-Transfer-Encoding: 7bit Content-Language: en-US X-Originating-IP: [188.242.181.57] X-ClientProxiedBy: ocex03.SolarFlarecom.com (10.20.40.36) To ukex01.SolarFlarecom.com (10.17.10.4) X-TM-AS-Product-Ver: SMEX-12.5.0.1300-8.5.1010-24132.003 X-TM-AS-Result: No-21.239900-8.000000-10 X-TMASE-MatchedRID: gjZGo2H/wj/4ECMHJTM/uSa1MaKuob8Pt3aeg7g/usAutoY2UtFqGBdl Xv5DfI3JTa4CBf8yfKNolgirIUQjjY434Zqk7ja97+657vFymMNMK/nxnH1ImrV5fSMRD1zqouw Z1gh7SgSnbj/BkKbp8rCdssUZvhNXsznIV04I19Hzh2yKdnl7WBNtTUpgahCn+3n3Z6rbGhP5JZ uvMEbLnEZ+EYuTOF6XFjQn3iNPC0wyzYTA7QZ510hEDfw/93BuIcCiCHZJTlecmERmba2Dx9zQf 5NllmClx5S9F7NO7Ois8FHZk8InND1uQAulGXjSOI8QpSH7EH5hBfGxmdHCggKzHKFHzLsJ1qPG HoKHlQXnIqQjBekSgbBRe+5XB6XLed6FhOj8IzrAJnGRMfFxyR+VsO5rfIQOipnkETfuoIPzPvR cNNSOxqo9m/iafalieckG2adQMa5nvdGdoFssWuYAh37ZsBDC1kqyrcMalqVjPrlNB+gMq4QmEN BkUZwTAMo1pDIDhZ2Rk6XtYogiau9c69BWUTGwL+25vAeQJJf3IRre2/Nqdhd65AKojGV5IAcCi kR3vq/+tp59zKEEOTrUeXEKk3hVCWlLV/TJQxkxLqcooveGA+OyaYPty2dP X-TM-AS-User-Approved-Sender: Yes X-TM-AS-User-Blocked-Sender: No X-TMASE-Result: 10--21.239900-8.000000 X-TMASE-Version: SMEX-12.5.0.1300-8.5.1010-24132.003 X-MDID: 1538596058-i2ZtqIfxGWSd Subject: Re: [dpdk-dev] [PATCH v2 1/4] ethdev: add Rx offload outer UDP checksum definition X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 03 Oct 2018 19:47:39 -0000 Hi Jerin, On 03.10.2018 21:14, Jerin Jacob wrote: > -----Original Message----- >> Date: Wed, 3 Oct 2018 21:00:37 +0300 >> From: Andrew Rybchenko >> To: Jerin Jacob >> CC: Wenzhuo Lu , Jingjing Wu , >> Bernard Iremonger , John McNamara >> , Marko Kovacevic , >> Thomas Monjalon , Ferruh Yigit >> , Olivier Matz , >> dev@dpdk.org, shahafs@mellanox.com, "Ananyev, Konstantin" >> >> 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:52.0) Gecko/20100101 >> Thunderbird/52.9.1 >> >> On 03.10.2018 20:12, Jerin Jacob wrote: >>> -----Original Message----- >>>> Date: Wed, 3 Oct 2018 13:27:13 +0530 >>>> From: Jerin Jacob >>>> To: Andrew Rybchenko >>>> CC: Wenzhuo Lu , Jingjing Wu , >>>> Bernard Iremonger , John McNamara >>>> , Marko Kovacevic , >>>> Thomas Monjalon , Ferruh Yigit >>>> , Olivier Matz , >>>> dev@dpdk.org, shahafs@mellanox.com, "Ananyev, Konstantin" >>>> >>>> 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 >>>>> To: Jerin Jacob , Wenzhuo Lu >>>>> , Jingjing Wu , Bernard >>>>> Iremonger , John McNamara >>>>> , Marko Kovacevic , >>>>> Thomas Monjalon , Ferruh Yigit >>>>> , Olivier Matz >>>>> CC: dev@dpdk.org, shahafs@mellanox.com, "Ananyev, Konstantin" >>>>> >>>>> 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 >>>>> >>>>> 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? > AFAIK, Finding is it a tunneled packet or not is through ptype or SW has > to parse the packet. For example, testpmd chooses later method using > "csum parse-tunnel on " to detect the presence of the tunnel. SW parsing of the packet cannot help, since app should be sure that HW has classified the packet as tunneled and provided information about inner and outer checksum checks. >> Is it specified/mentioned somewhere? > I don't know. It it not directly related to this change set, Olivier may know > additional details. I disagree. You're adding one more offload flag. Yes, it simply follows existing RX_EIP_CKSUM_BAD pattern. But, IMHO, RX_EIP_CKSUM_BAD has many open questions. Why should these open questions be preserved here? It is similar to the code with a bug which is cloned once again with the bug :) If everyone else is fine with the description of Rx checksum offloads and it is only me who is unhappy with it - no problem. Thanks for your patience and I'm sorry that I'm really boring with it. My goal is just to make it clear and as the result have less bugs in networking PMDs and applications. Andrew.