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: sta...@dpdk.org

Signed-off-by: Ajit Khaparde <ajit.khapa...@broadcom.com>
Reviewed-by: Kalesh AP <kalesh-anakkur.pura...@broadcom.com>
Reviewed-by: Damodharam Ammepalli <damodharam.ammepa...@broadcom.com>
---
 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)

Reply via email to