Go to file
Chengchang Tang d7ec2c0765 net/hns3: select Tx prepare based on Tx offload
Tx prepare should be called only when necessary to reduce the impact on
performance.

For partial TX offload, users need to call rte_eth_tx_prepare() to
invoke the tx_prepare callback of PMDs. In this callback, the PMDs
adjust the packet based on the offloading used by the user. (e.g. For
some PMDs, pseudo-headers need to be calculated when the TX cksum is
offloaded.)

However, for the users, they cannot grasp all the hardware and PMDs
characteristics. As a result, users cannot decide when they need to
actually call tx_prepare. Therefore, we should assume that the user
calls rte_eth_tx_prepare() when using any Tx offloading to ensure that
related functions work properly. Whether packets need to be adjusted
should be determined by PMDs. They can make judgments in the
dev_configure or queue_setup phase. When the related function is not
used, the pointer of tx_prepare should be set to NULL to reduce the
performance loss caused by invoking rte_eth_tx_repare().

In this patch, if tx_prepare is not required for the offloading used by
the users, the tx_prepare pointer will be set to NULL.

Fixes: bba6366983 ("net/hns3: support Rx/Tx and related operations")
Cc: stable@dpdk.org

Signed-off-by: Chengchang Tang <tangchengchang@huawei.com>
Signed-off-by: Min Hu (Connor) <humin29@huawei.com>
2021-04-29 18:25:40 +02:00
.ci build: update minimum required Meson version 2021-04-16 18:51:51 +02:00
.github/workflows ci: bump ABI reference version 2021-04-16 14:09:03 +02:00
app app/testpmd: remove redundant forwarding initialization 2021-04-29 18:10:14 +02:00
buildtools build: change indentation in infrastructure files 2021-04-21 14:04:09 +02:00
config event/dlb2: update config defines as runtime options 2021-05-03 11:46:31 +02:00
devtools devtools: add script to check indentation of Meson lists 2021-05-04 15:01:47 +02:00
doc net/txgbe: add copyright owner 2021-04-29 17:01:06 +02:00
drivers net/hns3: select Tx prepare based on Tx offload 2021-04-29 18:25:40 +02:00
examples examples/vhost: fix ioat ring space in callbacks 2021-04-28 03:58:50 +02:00
kernel lib: remove librte_ prefix from directory names 2021-04-21 14:04:09 +02:00
lib vhost: allocate and free packets in bulk in Tx packed 2021-04-28 04:53:30 +02:00
license lib: remove librte_ prefix from directory names 2021-04-21 14:04:09 +02:00
usertools build: change indentation in infrastructure files 2021-04-21 14:04:09 +02:00
.editorconfig doc: add Meson coding style to contributors guide 2021-04-21 14:04:09 +02:00
.gitattributes improve git diff 2016-11-13 15:25:12 +01:00
.gitignore regex/mlx5: introduce driver for BlueField 2 2020-07-21 19:04:05 +02:00
.travis.yml ci: bump ABI reference version 2021-04-16 14:09:03 +02:00
ABI_VERSION version: 21.05-rc0 2021-02-15 11:08:19 +01:00
MAINTAINERS maintainers: update for e1000/igc/ixgbe/i40e 2021-04-29 15:56:57 +02:00
Makefile build: create dummy Makefile 2020-09-07 23:51:57 +02:00
meson_options.txt lib: allow disabling optional libraries 2021-04-21 14:17:29 +02:00
meson.build lib: remove librte_ prefix from directory names 2021-04-21 14:04:09 +02:00
README license: introduce SPDX identifiers 2018-01-04 22:41:38 +01:00
VERSION version: 21.05-rc1 2021-04-22 00:28:57 +02:00

DPDK is a set of libraries and drivers for fast packet processing.
It supports many processor architectures and both FreeBSD and Linux.

The DPDK uses the Open Source BSD-3-Clause license for the core libraries
and drivers. The kernel components are GPL-2.0 licensed.

Please check the doc directory for release notes,
API documentation, and sample application information.

For questions and usage discussions, subscribe to: users@dpdk.org
Report bugs and issues to the development mailing list: dev@dpdk.org