numam-dpdk/drivers/net/hns3
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
..
hns3_cmd.c net/hns3: modify format for firmware version 2020-04-21 19:16:41 +02:00
hns3_cmd.h net/hns3: clear residual hardware configurations on init 2020-07-07 23:38:26 +02:00
hns3_dcb.c net/hns3: add error code to some logs 2020-05-05 15:54:26 +02:00
hns3_dcb.h net/hns3: support different numbers of Rx and Tx queues 2020-01-17 19:46:26 +01:00
hns3_ethdev_vf.c net/hns3: fix Rx buffer size 2020-07-07 23:38:26 +02:00
hns3_ethdev.c net/hns3: fix Rx buffer size 2020-07-07 23:38:26 +02:00
hns3_ethdev.h net/hns3: fix Rx buffer size 2020-07-07 23:38:26 +02:00
hns3_fdir.c net/hns3: fix unintended sign extension in fd operation 2020-06-16 19:21:07 +02:00
hns3_fdir.h net/hns3: support RSS 2019-10-07 15:00:56 +02:00
hns3_flow.c net/hns3: support symmetric RSS 2020-07-07 23:38:26 +02:00
hns3_intr.c net/hns3: ignore function return on reset error path 2020-06-16 19:21:07 +02:00
hns3_intr.h net/hns3: support device reset 2019-10-07 15:00:57 +02:00
hns3_logs.h net/hns3: register and add log interface 2019-10-07 15:00:56 +02:00
hns3_mbx.c net/hns3: support setting VF PVID by PF driver 2020-07-07 23:38:26 +02:00
hns3_mbx.h net/hns3: support setting VF PVID by PF driver 2020-07-07 23:38:26 +02:00
hns3_mp.c net/hns3: support multiple process 2019-10-07 15:00:57 +02:00
hns3_mp.h net/hns3: support multiple process 2019-10-07 15:00:57 +02:00
hns3_regs.c net/hns3: fix unintended sign extension in dump operation 2020-06-16 19:21:07 +02:00
hns3_regs.h net/hns3: fix Tx interrupt when enabling Rx interrupt 2020-03-18 10:21:42 +01:00
hns3_rss.c net/hns3: support symmetric RSS 2020-07-07 23:38:26 +02:00
hns3_rss.h net/hns3: support symmetric RSS 2020-07-07 23:38:26 +02:00
hns3_rxtx.c net/hns3: fix reassembling multiple segment packets in Tx 2020-07-07 23:38:26 +02:00
hns3_rxtx.h net/hns3: fix Rx buffer size 2020-07-07 23:38:26 +02:00
hns3_stats.c net/hns3: fix return value when clearing statistics 2020-05-05 15:54:26 +02:00
hns3_stats.h net/hns3: get Rx/Tx queue fbd in xstats 2020-04-21 19:16:41 +02:00
Makefile build: disable experimental API check internally 2020-04-14 16:22:34 +02:00
meson.build build: disable experimental API check internally 2020-04-14 16:22:34 +02:00
rte_pmd_hns3_version.map build: align symbols with global ABI version 2019-11-20 23:05:39 +01:00