Go to file
Wei Hu (Xavier) 6c44219f99 net/hns3: fix reassembling multiple segment packets in Tx
Because of the hardware constraints, hns3 network engine doesn't support
sending packets with more than eight fragments. And hns3 pmd driver
tries to reassemble these kind of packets to meet hardware requirements.
Currently, there are two problems:
1) when the input buffer_len * 8 < pkt_len, the packets are impossible
   to be reassembled into 8 Buffer Descriptors. In this case, the
   packets will be passed to hardware, which eventually causes a
   hardware reset.
2) The meta data in origin packets which are required to fill into the
   descriptor haven't been copied into the reassembled pkts.

This patch adds a check for 1) to ensure such packets will be dropped by
driver and copies useful meta data from the origin packets to the
reassembled packets.

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: Wei Hu (Xavier) <xavier.huwei@huawei.com>
Signed-off-by: Chengwen Feng <fengchengwen@huawei.com>
2020-07-07 23:38:26 +02:00
.ci ci: reduce examples in static builds 2020-04-17 23:34:08 +02:00
app service: fix core mapping reset 2020-07-08 18:52:49 +02:00
buildtools build: remove special versioning for non stable libraries 2020-07-07 12:48:25 +02:00
config build: remove special versioning for non stable libraries 2020-07-07 12:48:25 +02:00
devtools build: remove special versioning for non stable libraries 2020-07-07 12:48:25 +02:00
doc net/hns3: support LRO 2020-07-07 23:38:26 +02:00
drivers net/hns3: fix reassembling multiple segment packets in Tx 2020-07-07 23:38:26 +02:00
examples examples/ipsec-secgw: add per-core packet statistics 2020-07-08 00:15:35 +02:00
kernel kernel/linux: error out on module build failure 2020-05-19 17:59:57 +02:00
lib service: fix core mapping reset 2020-07-08 18:52:49 +02:00
license eal: move OS-specific sub-directories 2020-03-31 13:08:55 +02:00
mk build: remove special versioning for non stable libraries 2020-07-07 12:48:25 +02:00
usertools usertools: fix telemetry user socket path 2020-06-25 01:10:12 +02:00
.editorconfig devtools: add EditorConfig file 2020-02-22 21:05:22 +01:00
.gitattributes improve git diff 2016-11-13 15:25:12 +01:00
.gitignore doc: add feature matrix table for bbdev 2020-04-19 22:34:26 +02:00
.travis.yml version: 20.08-rc0 2020-05-27 11:37:33 +02:00
ABI_VERSION version: 20.08-rc0 2020-05-27 11:37:33 +02:00
GNUmakefile test: move to app directory 2019-02-26 15:29:27 +01:00
MAINTAINERS eal: register non-EAL threads as lcores 2020-07-08 14:41:05 +02:00
Makefile remove blank lines at end of file 2019-11-26 00:12:08 +01:00
meson_options.txt trace: introduce new subsystem 2020-04-23 15:39:06 +02:00
meson.build build: check AVX512 rather than binutils version 2020-07-05 21:32:40 +02:00
README license: introduce SPDX identifiers 2018-01-04 22:41:38 +01:00
VERSION version: 20.08-rc0 2020-05-27 11:37:33 +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