ethdev: introduce Tx queue offloads API
authorShahaf Shuler <shahafs@mellanox.com>
Wed, 4 Oct 2017 08:17:59 +0000 (11:17 +0300)
committerFerruh Yigit <ferruh.yigit@intel.com>
Fri, 6 Oct 2017 00:49:50 +0000 (02:49 +0200)
commitcba7f53b717da734151dd9863675f55317330f22
treede555008fb0888b7f91c972636708f832d7ce168
parentce17eddefc20285bbfe575bdc07f42f0b20f34cb
ethdev: introduce Tx queue offloads API

Introduce a new API to configure Tx offloads.

In the new API, offloads are divided into per-port and per-queue
offloads. The PMD reports capability for each of them.
Offloads are enabled using the existing DEV_TX_OFFLOAD_* flags.
To enable per-port offload, the offload should be set on both device
configuration and queue configuration. To enable per-queue offload, the
offloads can be set only on queue configuration.

In addition the Tx offloads will be disabled by default and be
enabled per application needs. This will much simplify PMD management of
the different offloads.

Applications should set the ETH_TXQ_FLAGS_IGNORE flag on txq_flags
field in order to move to the new API.

The old Tx offloads API is kept for the meanwhile, in order to enable a
smooth transition for PMDs and application to the new API.

Signed-off-by: Shahaf Shuler <shahafs@mellanox.com>
Reviewed-by: Andrew Rybchenko <arybchenko@solarflare.com>
Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
doc/guides/nics/features.rst
lib/librte_ether/rte_ethdev.c
lib/librte_ether/rte_ethdev.h