https://bugs.dpdk.org/show_bug.cgi?id=96
Bug ID: 96 Summary: mlx5: TX error for multi-seg packet where first segment has 14~18 bytes Product: DPDK Version: 18.08 Hardware: x86 OS: Linux Status: CONFIRMED Severity: normal Priority: Normal Component: ethdev Assignee: dev@dpdk.org Reporter: sunnyla...@gmail.com Target Milestone: --- Created attachment 14 --> https://bugs.dpdk.org/attachment.cgi?id=14&action=edit program to reproduce bug mlx5 driver fails to transmit a 2-segment packet where the first segment has 14, 15, 16, or 17 bytes. mlx5 driver reports "mlx5_tx_complete(): unexpected error CQE, Tx stopped" error when transmitting a 2-segment packet where the first segment has 18 bytes. Steps to Reproduce: 1) Use a fiber to connect two ConnectX-5 or ConnectX-4 Ethernet adapters together. 2) Run `ip link set NETDEV mtu 9000` to increase MTU. 3) Run tcpdump to observe traffic on the second Ethernet adapter. 4) Execute the attached tx-firstseg18.c program on the first Ethernet adapter. Actual Results: 1) tcpdump does not receive any packets. 2) The program reports "mlx5_tx_complete(): unexpected error CQE, Tx stopped". Expected Results: 1) tcpdump receives packets. Build Date & Hardware: 1) Ubuntu 18.04 Server, with gcc 7.3.0 2) DPDK 18.08, with the following config: CONFIG_RTE_LIBRTE_MLX5_PMD=y CONFIG_RTE_LIBRTE_MLX5_DEBUG=y CONFIG_RTE_LIBRTE_MBUF_DEBUG=y 3) Mellanox Technologies MT27800 Family [ConnectX-5] Mellanox Technologies MT27700 Family [ConnectX-4] Additional Information: In the attached tx-firstseg18.c program, there's a line "#define SIZE_OF_FIRST_SEG (sizeof(ethhdr) + 4)". Changing the number "4" to 0, 1, 2, or 3 makes the "mlx5_tx_complete(): unexpected error CQE, Tx stopped" error disappear, but tcpdump still does not receive packets. Changing the number "4" to 5 or greater causes everything to work, i.e. no error and tcpdump receives packets. -- You are receiving this mail because: You are the assignee for the bug.