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 6C6821F5 for ; Sat, 8 Jul 2017 11:48:00 +0200 (CEST) Received: from pure.maildistiller.com (unknown [10.110.50.29]) by dispatch1-us1.ppe-hosted.com (Proofpoint Essentials ESMTP Server) with ESMTP id C92AC60053; Sat, 8 Jul 2017 09:47:59 +0000 (UTC) X-Virus-Scanned: Proofpoint Essentials engine Received: from mx2-us3.ppe-hosted.com (unknown [10.110.49.251]) by pure.maildistiller.com (Proofpoint Essentials ESMTP Server) with ESMTPS id 4BED380049; Sat, 8 Jul 2017 09:47:59 +0000 (UTC) Received: from webmail.solarflare.com (uk.solarflare.com [193.34.186.16]) (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mx2-us3.ppe-hosted.com (Proofpoint Essentials ESMTP Server) with ESMTPS id DFDA96005A; Sat, 8 Jul 2017 09:47:58 +0000 (UTC) Received: from [192.168.239.128] (85.187.13.33) by ukex01.SolarFlarecom.com (10.17.10.4) with Microsoft SMTP Server (TLS) id 15.0.1044.25; Sat, 8 Jul 2017 10:47:52 +0100 To: Ferruh Yigit , John McNamara CC: , Olivier Matz References: <20170705132028.58993-1-ferruh.yigit@intel.com> <20170707172110.42136-1-ferruh.yigit@intel.com> From: Andrew Rybchenko Message-ID: <0bb9d8dc-35a9-2284-a811-d6a45efc7570@solarflare.com> Date: Sat, 8 Jul 2017 12:47:37 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.2.1 MIME-Version: 1.0 In-Reply-To: <20170707172110.42136-1-ferruh.yigit@intel.com> Content-Type: text/plain; charset="utf-8"; format=flowed Content-Transfer-Encoding: 7bit Content-Language: en-US X-Originating-IP: [85.187.13.33] X-ClientProxiedBy: ocex03.SolarFlarecom.com (10.20.40.36) To ukex01.SolarFlarecom.com (10.17.10.4) X-TM-AS-Product-Ver: SMEX-11.0.0.1191-8.100.1062-23182.003 X-TM-AS-Result: No--2.471300-0.000000-31 X-TM-AS-User-Approved-Sender: Yes X-TM-AS-User-Blocked-Sender: No X-MDID: 1499507279-BRTCQRRaFbiS Subject: Re: [dpdk-dev] [PATCH v4] doc: document NIC features 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: Sat, 08 Jul 2017 09:48:00 -0000 On 07/07/2017 08:21 PM, Ferruh Yigit wrote: > Document NIC features, add more information about them and add more > implementation related support. > > Signed-off-by: Ferruh Yigit > Signed-off-by: John McNamara Reviewed-by: Andrew Rybchenko Few minor questions/notes below. > --- > Cc: Olivier Matz > > v4: > * Apply review comments from Andrew Rybchenko > * Add tags to the information, to clarify in, out, related data. > > v3: > * received updates from John, Thanks! > > v2: > * Add more details, mbuf and API fields > * Formatting added > > TODO: > - Not all features all fully documented, need help from community > > - Instead of having a new file, it would be nice to auto generate this > file from defaults.ini, and perhaps add extra information as comment to > that file. > > - Some features are implementing eth_dev_ops and some are updates in > Rx/Tx path. These features can be grouped together. > > - A link from overview file per feature would be nice. > --- > doc/guides/nics/overview.rst | 4 + > doc/guides/nics/overview_features.rst | 858 ++++++++++++++++++++++++++++++++++ > 2 files changed, 862 insertions(+) > create mode 100644 doc/guides/nics/overview_features.rst <...> > +.. _nic_features_rss_hash: > + > +RSS hash > +-------- > + > +Supports RSS hashing on RX. > + > +* **[uses] user config**: ``dev_conf.rxmode.mq_mode`` = ``ETH_MQ_RX_RSS_FLAG``. > +* **[provides] mbuf**: ``mbuf.ol_flags:PKT_RX_RSS_H()ASH``, ``mbuf.rss``. Is it indented that dev_info.flow_type_rss_offloads not mentioned here? <...> > + > +.. _nic_features_inner_l3_checksum: > + > +Inner L3 checksum > +----------------- > + > +Supports inner packet L3 checksum. > + > + > +.. _nic_features_inner_l4_checksum: > + > +Inner L4 checksum > +----------------- > + > +Supports inner packet L4 checksum. > + As I understand outer checksum (PKT_RX_EIP_CKSUM_BAD for Rx) and IPv4/IPv6 flags and offload capabilities should be mentioned here. If ourter flags are set, it means that usual checksum flags corresponds to inner packet. <...> > + > +.. _nic_features_rx_descriptor_status: > + > +Rx descriptor status > +-------------------- > + > +Supports check the status of a Rx descriptor. When ``rx_descriptor_status`` is > +used, status can be "Available", "Done" or "Unavailable". When > +``rx_descriptor_done`` is used, status can be "DD bit is set" or "DD bit is > +not set". > + > +* **[implements] eth_dev_ops**: ``rx_descriptor_status``. > +* **[related] API**: ``rte_eth_rx_descriptor_status()``. > +* **[implements] eth_dev_ops**: ``rx_descriptor_done``. > +* **[related] API**: ``rte_eth_rx_descriptor_done()``. I'm not sure if _done API should be mentioned here. If yes, may be status of the _done API should be highlighted (as far as I remember it was ideas to remove it). <...> > + > +.. _nic_features_bsd_nic_uio: > + > +BSD nic_uio > +----------- > + > +BSD ``nic_uio`` module supported. > + > + > +.. _nic_features_linux_uio: > + > +Linux UIO > +--------- > + > +Works with ``igb_uio`` kernel module. > + > + > +.. _nic_features_linux_vfio: > + > +Linux VFIO > +---------- > + > +Works with ``vfio-pci`` kernel module. Should we mention that PMD provides RTE_PMD_REGISTER_KMOD_DEP with corresponding kernel module listed. <...>