-----Original Message----- From: dev <dev-boun...@dpdk.org> on behalf of Shahaf Shuler <shah...@mellanox.com> Date: Wednesday, October 4, 2017 at 1:18 AM To: "konstantin.anan...@intel.com" <konstantin.anan...@intel.com>, "tho...@monjalon.net" <tho...@monjalon.net>, "arybche...@solarflare.com" <arybche...@solarflare.com>, "Jacob, Jerin" <jerin.jacobkollanukka...@cavium.com>, "ferruh.yi...@intel.com" <ferruh.yi...@intel.com> Cc: "dev@dpdk.org" <dev@dpdk.org> Subject: [dpdk-dev] [PATCH v6 4/4] doc: add details on ethdev offloads API
>Add the programmers guide details on the new offloads API introduced >by commits: > >commit 67a1a59b597f ("ethdev: introduce Rx queue offloads API") >commit f883eb32e2d4 ("ethdev: introduce Tx queue offloads API") > >Signed-off-by: Shahaf Shuler <shah...@mellanox.com> >Reviewed-by: John McNamara <john.mcnam...@intel.com> >--- > doc/guides/prog_guide/poll_mode_drv.rst | 20 ++++++++++++++++++++ > 1 file changed, 20 insertions(+) > >diff --git a/doc/guides/prog_guide/poll_mode_drv.rst >b/doc/guides/prog_guide/poll_mode_drv.rst >index 8922e39f4..423170997 100644 >--- a/doc/guides/prog_guide/poll_mode_drv.rst >+++ b/doc/guides/prog_guide/poll_mode_drv.rst >@@ -310,6 +310,26 @@ exported by each PMD. The list of flags and their >precise meaning is > described in the mbuf API documentation and in the in :ref:`Mbuf Library > <Mbuf_Library>`, section "Meta Information". > >+Per-Port and Per-Queue Offloads >+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >+ >+In the DPDK offload API, offloads are divided into per-port and >per-queue offloads. >+The different offloads capabilities can be queried using >``rte_eth_dev_info_get()``. >+Supported offloads can be either per-port or per-queue. >+ >+Offloads are enabled using the existing ``DEV_TX_OFFLOAD_*`` or >``DEV_RX_OFFLOAD_*`` flags. >+Per-port offload configuration is set using ``rte_eth_dev_configure``. >+Per-queue offload configuration is set using ``rte_eth_rx_queue_setup`` >and ``rte_eth_tx_queue_setup``. >+To enable per-port offload, the offload should be set on both device >configuration and queue setup. >+In case of a mixed configuration the queue setup shall return with an >error. >+To enable per-queue offload, the offload can be set only on the queue >setup. >+Offloads which are not enabled are disabled by default. >+ >+For an application to use the Tx offloads API it should set the >``ETH_TXQ_FLAGS_IGNORE`` flag in the ``txq_flags`` field located in >``rte_eth_txconf`` struct. >+In such cases it is not required to set other flags in ``txq_flags``. >+For an application to use the Rx offloads API it should set the >``ignore_offload_bitfield`` bit in the ``rte_eth_rxmode`` struct. >+In such cases it is not required to set other bitfield offloads in the >``rxmode`` struct. >+ > Poll Mode Driver API > -------------------- > >-- >2.12.0 > Hi Shahaf, Have a minor question here. In the documentation it is stated that: "To enable per-port offload, the offload should be set on both device configuration and queue setup.” Our NIC supports only port-level offloads. So my understanding is that to enable per-port offload we just have to fill in rx_offload_capa/tx_offload_capa in dev_infos_get() routine. So I didn’t understand what is meant by ' both device configuration and queue setup’ here. Pls let me know. Thanks. >