Sriharsha Basavapatna
adcee0fc84
net/bnxt: fix Tx batching
This patch addresses the following issues with Tx batching: 1. Tx stall observed in some conditions: The batching code doesn't request for a completion when only a partial chain of packets is transmitted due to mbuf allocation errors. Because of this, Tx consumer index is not updated correctly and it eventually leads to qfull condition. Fix this by requesting a completion for the last packet in the partial chain that is transmitted successfully. 2. Tx stall seen with Jumbo frames: With jumbo frames, number of TxBDs is > 1. While setting up these additional BDs in bnxt_start_xmit(), the flags field is being set using the OR-assignment operator. We end up using a stale value of the flags field (from a previous use of that descriptor). This results in an invalid completion and eventually leads to tx stall. Fix this to just assign the flags field with the right value. Fixes: 5735eb241947 ("net/bnxt: support Tx batching") Cc: stable@dpdk.org Signed-off-by: Sriharsha Basavapatna <sriharsha.basavapatna@broadcom.com> Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
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
Description
Languages
C
99.1%
Meson
0.5%
Python
0.2%
Shell
0.1%