Set TCP and UDP checksum flags explicitly for LSO capable packets.
In some older chip variants, this will enable the hardware compute
the checksum correctly for tunnel and non-tunnel packets.
Fixes: 1d76c878b21d ("net/bnxt: support updating IPID")
Cc: [email protected]
Signed-off-by: Ajit Khaparde <[email protected]>
Reviewed-by: Kalesh AP <[email protected]>
Reviewed-by: Damodharam Ammepalli <[email protected]>
---
drivers/net/bnxt/bnxt_txr.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/drivers/net/bnxt/bnxt_txr.c b/drivers/net/bnxt/bnxt_txr.c
index 12e4faa8fa..38f858f27f 100644
--- a/drivers/net/bnxt/bnxt_txr.c
+++ b/drivers/net/bnxt/bnxt_txr.c
@@ -319,7 +319,9 @@ static uint16_t bnxt_start_xmit(struct rte_mbuf *tx_pkt,
/* TSO */
txbd1->lflags |= TX_BD_LONG_LFLAGS_LSO |
- TX_BD_LONG_LFLAGS_T_IPID;
+ TX_BD_LONG_LFLAGS_T_IPID |
+ TX_BD_LONG_LFLAGS_TCP_UDP_CHKSUM |
+ TX_BD_LONG_LFLAGS_T_IP_CHKSUM;
hdr_size = tx_pkt->l2_len + tx_pkt->l3_len +
tx_pkt->l4_len;
hdr_size += (tx_pkt->ol_flags &
RTE_MBUF_F_TX_TUNNEL_MASK) ?
--
2.39.5 (Apple Git-154)