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 68226160 for ; Wed, 3 Oct 2018 09:35:42 +0200 (CEST) X-Virus-Scanned: Proofpoint Essentials engine Received: from webmail.solarflare.com (webmail.solarflare.com [12.187.104.26]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by mx1-us1.ppe-hosted.com (Proofpoint Essentials ESMTP Server) with ESMTPS id 064E6400059; Wed, 3 Oct 2018 07:35:41 +0000 (UTC) Received: from [192.168.38.17] (91.220.146.112) by ocex03.SolarFlarecom.com (10.20.40.36) with Microsoft SMTP Server (TLS) id 15.0.1395.4; Wed, 3 Oct 2018 00:35:35 -0700 To: Jerin Jacob , Wenzhuo Lu , Jingjing Wu , "Bernard Iremonger" , John McNamara , Marko Kovacevic , Thomas Monjalon , Ferruh Yigit , Olivier Matz CC: , , "Ananyev, Konstantin" References: <20180913134707.23698-1-jerin.jacob@caviumnetworks.com> <20181002192451.19119-1-jerin.jacob@caviumnetworks.com> From: Andrew Rybchenko Message-ID: Date: Wed, 3 Oct 2018 10:34:52 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.0 MIME-Version: 1.0 In-Reply-To: <20181002192451.19119-1-jerin.jacob@caviumnetworks.com> Content-Language: en-GB X-Originating-IP: [91.220.146.112] X-ClientProxiedBy: ocex03.SolarFlarecom.com (10.20.40.36) To ocex03.SolarFlarecom.com (10.20.40.36) X-TM-AS-Product-Ver: SMEX-12.5.0.1300-8.5.1010-24132.005 X-TM-AS-Result: No-16.620300-4.000000-10 X-TMASE-MatchedRID: 0dFPYP4mu5T4ECMHJTM/uSa1MaKuob8Pt3aeg7g/usA5N+Cyrbrj2hX0 C/Gbw7IjofKl0HWAHQPNcD+/klt5MGIkuSDGYD3DTd1FGyH+HrK4vBuE2X0HlaaV4O/uvpHY4a8 tjcE0lxxw0THaTcMFGgNk5+pO/Bx5b4ixR8bvk/YoXw1pj4avLVsChor7BLiN3XgCp7wTMXzpfv 8kcWeQEGZySH/IjQqGbGftWHeK1eXYfPOPCpnfAh3EEAbn+GRba/fioJ9l4HiYkF7ZtFfCU3B44 IkzjfYylTJXKqh1ne0sEQRt6pc8vP9ehdaP6yTunu1HSadECDUaJoVUL0MaN6drZSUBtl5n807t +VEWpeYgZIcq73TEpZJTzjwz+Gzox7hajJv6RUXIOn6NK8S1ayXdp9l6EkRZ52VTYrkmb1uCAEC xRbm5ZM4ffyU1s6hMt4yMn+rBDs7fW6mMWTtZdOQYBHVKqgDUfS0Ip2eEHnzUHQeTVDUrItRnEQ CUU+jzqIA96mi6Ci5IR+Dwcbgd3a/Nb/49Pf2U4uKKeduBqR9A7g7nwMBHzhks5eyWnYVY/ay2j P2ngt5XerkxVW+mCHIUt8Uty8Js3hm1KKrrK6o= X-TM-AS-User-Approved-Sender: No X-TM-AS-User-Blocked-Sender: No X-TMASE-Result: 10--16.620300-4.000000 X-TMASE-Version: SMEX-12.5.0.1300-8.5.1010-24132.005 X-MDID: 1538552141-ydKII2HEatQC Content-Type: text/plain; charset="utf-8"; format=flowed Content-Transfer-Encoding: 8bit X-Content-Filtered-By: Mailman/MimeDel 2.1.15 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 07:35:42 -0000 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. 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. 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. Plus one nit below. > --- > > v2: > - Removed DEV_RX_OFFLOAD_OUTER_TCP_CKSUM and DEV_RX_OFFLOAD_OUTER_SCTP_CKSUM > as there is no realworld use case for it. > See: http://patches.dpdk.org/patch/44692/ > > This patch series is depended on http://patches.dpdk.org/patch/45840/ > > -- > app/test-pmd/config.c | 9 +++++++++ > doc/guides/nics/features.rst | 3 +++ > lib/librte_ethdev/rte_ethdev.c | 1 + > lib/librte_ethdev/rte_ethdev.h | 1 + > lib/librte_mbuf/rte_mbuf.c | 2 ++ > lib/librte_mbuf/rte_mbuf.h | 3 +++ > 6 files changed, 19 insertions(+) > > diff --git a/app/test-pmd/config.c b/app/test-pmd/config.c > index 1adc9b94b..d53c527e5 100644 > --- a/app/test-pmd/config.c > +++ b/app/test-pmd/config.c > @@ -594,6 +594,15 @@ port_offload_cap_display(portid_t port_id) > printf("off\n"); > } > > + if (dev_info.rx_offload_capa & DEV_RX_OFFLOAD_OUTER_UDP_CKSUM) { > + printf("RX Outer UDP checksum: "); > + if (ports[port_id].dev_conf.rxmode.offloads & > + DEV_RX_OFFLOAD_OUTER_UDP_CKSUM) > + printf("on\n"); > + else > + printf("off\n"); > + } > + > if (dev_info.rx_offload_capa & DEV_RX_OFFLOAD_TCP_LRO) { > printf("Large receive offload: "); > if (ports[port_id].dev_conf.rxmode.offloads & > diff --git a/doc/guides/nics/features.rst b/doc/guides/nics/features.rst > index d42489b6d..2c2959e0b 100644 > --- a/doc/guides/nics/features.rst > +++ b/doc/guides/nics/features.rst > @@ -639,6 +639,9 @@ Inner L4 checksum > > Supports inner packet L4 checksum. > > +* **[uses] rte_eth_rxconf,rte_eth_rxmode**: ``offloads:DEV_RX_OFFLOAD_OUTER_UDP_CKSUM``. > +* **[provides] mbuf**: ``mbuf.ol_flags:PKT_RX_EL4_CKSUM_BAD``. > +* **[provides] rte_eth_dev_info**: ``rx_offload_capa,rx_queue_offload_capa:DEV_RX_OFFLOAD_OUTER_UDP_CKSUM``, > One more empty line should be added here to have two empty lines between features. Andrew.