Go to file
Igor Chauskin 8a90f3d8d0 net/ena: fix Tx SQ free space assessment
Before starting transmission of Tx burst, the driver checked the
available space in the sq and limited the number of packets for
transmission accordingly.
The calculation was incorrect for fragmented packets and potentially had
significantly limited the length of Tx bursts.

This patch removes the assessment and pushes packets to the sq as long
as the burst is not exhausted and space is available in the sq.

Correct evaluation of the required space isn't possible before the burst
because it depends on the number of segments of each packet.
This patch adds per-packet space evaluation for each packet before
attempting to process it. In case there is not enough queue space, the
burst will just stop without error.

Fixes: 2061fe41f2 ("net/ena: linearize Tx mbuf")
Cc: stable@dpdk.org

Signed-off-by: Igor Chauskin <igorch@amazon.com>
Reviewed-by: Michal Krawczyk <mk@semihalf.com>
2021-01-29 18:16:12 +01:00
.ci ci: enable header includes check 2021-01-29 20:59:37 +01:00
.github/workflows buildtools: use Python pmdinfogen 2021-01-25 23:23:41 +01:00
app app/testpmd: avoid exit without terminal restore 2021-01-29 18:16:12 +01:00
buildtools build: add header includes check 2021-01-29 20:59:37 +01:00
config config: disable AVX512 with MinGW 2021-01-28 22:15:10 +01:00
devtools bus/vdev: add driver IOVA VA mode requirement 2021-01-29 18:16:09 +01:00
doc app/testpmd: support sending cloned packets in flowgen 2021-01-29 18:16:12 +01:00
drivers net/ena: fix Tx SQ free space assessment 2021-01-29 18:16:12 +01:00
examples examples/vhost: refactor vhost data path 2021-01-29 18:16:09 +01:00
kernel kni: fix build on RHEL 8.3 2020-11-27 01:39:54 +01:00
lib ethdev: add MPLS RSS offload type 2021-01-29 18:16:08 +01:00
license license: add licenses for exception cases 2020-12-11 12:22:19 +01:00
usertools usertools: remove dpdk-setup.sh 2020-11-27 17:25:24 +01:00
.editorconfig
.gitattributes
.gitignore regex/mlx5: introduce driver for BlueField 2 2020-07-21 19:04:05 +02:00
.travis.yml ci: add aarch64 clang cross-compilation Travis builds 2021-01-26 12:43:04 +01:00
ABI_VERSION version: 21.02-rc0 2020-11-30 10:55:22 +01:00
MAINTAINERS devtools: remove check-includes script 2021-01-29 20:59:37 +01:00
Makefile build: create dummy Makefile 2020-09-07 23:51:57 +02:00
meson_options.txt build: add header includes check 2021-01-29 20:59:37 +01:00
meson.build build: add header includes check 2021-01-29 20:59:37 +01:00
README
VERSION version: 21.02-rc1 2021-01-20 02:58:16 +01: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