c4b7d6761d
When upper level application calls the rte_eth_tx_burst API function to send multiple packets at a time with burst mode based on hns3 network engine, there are some abnormal conditions that cause the driver to fail to operate the hardware to send packets correctly. This patch adds some statistic counts for the abnormal errors of Tx data path to the extend device statistics. The upper level application can get them by calling the rte_eth_xstats_get API function. Note: When using burst mode to call the rte_eth_tx_burst API function to send multiple packets at a time. When the first abnormal error is detected, add one to the relevant error statistics item, and then exit the loop of sending multiple packets of the function. That is to say, even if there are multiple packets in which abnormal errors may be detected in the burst, the relevant error statistics in the driver will only be increased by one. The detail description of the Tx abnormal errors statistic items as below: - TX_OVER_LENGTH_PKT_CNT Total number of greater than HNS3_MAX_FRAME_LEN the driver supported. - TX_EXCEED_LIMITED_BD_PKT_CNT Total number of exceeding the hardware limited bd which process a packet needed bd numbers. - TX_EXCEED_LIMITED_BD_PKT_REASSEMBLE_FAIL_CNT Total number of exceeding the hardware limited bd fail which process a packet needed bd numbers and reassemble fail. - TX_UNSUPPORTED_TUNNEL_PKT_CNT Total number of unsupported tunnel packet. The unsupported tunnel type: vxlan_gpe, gtp, ipip and MPLSINUDP, MPLSINUDP is a packet with MPLS-in-UDP RFC 7510 header. - TX_QUEUE_FULL_CNT Total count which the available bd numbers in current bd queue is less than the bd numbers with the pkt process needed. - TX_SHORT_PKT_PAD_FAIL_CNT Total count which the packet length is less than minimum packet size HNS3_MIN_PKT_SIZE and fail to be appended with 0. Signed-off-by: Lijun Ou <oulijun@huawei.com> Signed-off-by: Wei Hu (Xavier) <xavier.huwei@huawei.com> Signed-off-by: Huisong Li <lihuisong@huawei.com> Signed-off-by: Chengwen Feng <fengchengwen@huawei.com> Signed-off-by: Hao Chen <chenhao164@huawei.com> |
||
---|---|---|
.ci | ||
app | ||
buildtools | ||
config | ||
devtools | ||
doc | ||
drivers | ||
examples | ||
kernel | ||
lib | ||
license | ||
mk | ||
usertools | ||
.editorconfig | ||
.gitattributes | ||
.gitignore | ||
.travis.yml | ||
ABI_VERSION | ||
GNUmakefile | ||
MAINTAINERS | ||
Makefile | ||
meson_options.txt | ||
meson.build | ||
README | ||
VERSION |
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