[v2,01/13] net/bnxt: fix TCP and UDP checksum flags
Commit Message
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: stable@dpdk.org
Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
Reviewed-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com>
Reviewed-by: Damodharam Ammepalli <damodharam.ammepalli@broadcom.com>
---
drivers/net/bnxt/bnxt_txr.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
@@ -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) ?