[dpdk-dev] [PATCH v2 14/23] net/bnxt: fix Tx with multiple mbuf
Ajit Khaparde
ajit.khaparde at broadcom.com
Thu Jun 28 22:15:40 CEST 2018
From: Xiaoxin Peng <xiaoxin.peng at broadcom.com>
When using multi-mbuf to xmit large packets, we need to use total
packet lengths (sum of all segments) to set txbd->flags_type.
Packets will not be sent when using tx_pkt->data_len(The first
segment of packets).
Fixes: 6eb3cc2294fd ("net/bnxt: add initial Tx code")
Cc: stable at dpdk.org
Signed-off-by: Xiaoxin Peng <xiaoxin.peng at broadcom.com>
Reviewed-by: Herry Chen <herry.chen at broadcom.com>
Reviewed-by: Jason He <jason.he at broadcom.com>
Reviewed-by: Scott Branden <scott.branden at broadcom.com>
Reviewed-by: Ajit Kumar Khaparde <ajit.khaparde at broadcom.com>
---
drivers/net/bnxt/bnxt_txr.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/net/bnxt/bnxt_txr.c b/drivers/net/bnxt/bnxt_txr.c
index 68645b2f7..e85511f9a 100644
--- a/drivers/net/bnxt/bnxt_txr.c
+++ b/drivers/net/bnxt/bnxt_txr.c
@@ -160,10 +160,10 @@ static uint16_t bnxt_start_xmit(struct rte_mbuf *tx_pkt,
*cmpl_next = false;
}
txbd->len = tx_pkt->data_len;
- if (txbd->len >= 2014)
+ if (tx_pkt->pkt_len >= 2014)
txbd->flags_type |= TX_BD_LONG_FLAGS_LHINT_GTE2K;
else
- txbd->flags_type |= lhint_arr[txbd->len >> 9];
+ txbd->flags_type |= lhint_arr[tx_pkt->pkt_len >> 9];
txbd->address = rte_cpu_to_le_32(rte_mbuf_data_iova(tx_buf->mbuf));
if (long_bd) {
--
2.15.2 (Apple Git-101.1)
More information about the dev
mailing list