[dpdk-dev] [PATCH v4 3/3] doc: add details on ethdev offloads API

Mcnamara, John john.mcnamara at intel.com
Mon Sep 18 15:40:35 CEST 2017



> -----Original Message-----
> From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Shahaf Shuler
> Sent: Sunday, September 17, 2017 7:55 AM
> To: thomas at monjalon.net; jerin.jacob at caviumnetworks.com; Ananyev,
> Konstantin <konstantin.ananyev at intel.com>; arybchenko at solarflare.com
> Cc: dev at dpdk.org
> Subject: [dpdk-dev] [PATCH v4 3/3] doc: add details on ethdev offloads API
> 
> Add the programmers guide details on the new offloads API introduced by
> commits:
> 
> commit f649472cad9d ("ethdev: introduce Rx queue offloads API") commit
> ecb46b66cda5 ("ethdev: introduce Tx queue offloads API")
> 
> Signed-off-by: Shahaf Shuler <shahafs at mellanox.com>


> ...

> +Per-Port and Per-Queue Offloads
> +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> +
> +On DPDK 17.11, a new offloads API was introduced.

It is best to omit this line.


There are a number of small grammatical errors in the rest of the text.
Probably something like this would be better:

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``.
In such cases it is not required to set other bitfield offloads in the ``rxmode`` struct.
For an application to use the Rx offloads API it should set the ``ignore_offload_bitfield`` bit in the ``rte_eth_rxmode`` struct.

Reviewed-by: John McNamara <john.mcnamara at intel.com>




More information about the dev mailing list