The UDP GSO capability is not being detected and reported
correctly. This is causing UDP GSO to not happen in some cases.
This patch fixes the issue.

Signed-off-by: Ajit Khaparde <ajit.khapa...@broadcom.com>
---
 drivers/net/bnxt/bnxt_hwrm.c | 3 ++-
 drivers/net/bnxt/bnxt_txr.c  | 3 ++-
 2 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/drivers/net/bnxt/bnxt_hwrm.c b/drivers/net/bnxt/bnxt_hwrm.c
index 7923d4cbd2..7f49b4b40e 100644
--- a/drivers/net/bnxt/bnxt_hwrm.c
+++ b/drivers/net/bnxt/bnxt_hwrm.c
@@ -1141,6 +1141,8 @@ static int __bnxt_hwrm_func_qcaps(struct bnxt *bp)
 
        bp->max_ring_grps = rte_le_to_cpu_32(resp->max_hw_ring_grps);
        flags = rte_le_to_cpu_32(resp->flags);
+       flags_ext2 = rte_le_to_cpu_32(resp->flags_ext2);
+
        if (BNXT_PF(bp)) {
                bp->pf->port_id = resp->port_id;
                bp->pf->first_vf_id = rte_le_to_cpu_16(resp->first_vf_id);
@@ -1225,7 +1227,6 @@ static int __bnxt_hwrm_func_qcaps(struct bnxt *bp)
                PMD_DRV_LOG(DEBUG, "Tunnel parsing capability is disabled, 
flags : %#x\n",
                            bp->tunnel_disable_flag);
 
-       flags_ext2 = rte_le_to_cpu_32(resp->flags_ext2);
        if (flags_ext2 & 
HWRM_FUNC_QCAPS_OUTPUT_FLAGS_EXT2_RX_ALL_PKTS_TIMESTAMPS_SUPPORTED)
                bp->fw_cap |= BNXT_FW_CAP_RX_ALL_PKT_TS;
        if (flags_ext2 & HWRM_FUNC_QCAPS_OUTPUT_FLAGS_EXT2_UDP_GSO_SUPPORTED)
diff --git a/drivers/net/bnxt/bnxt_txr.c b/drivers/net/bnxt/bnxt_txr.c
index 7cbb2104a0..83c003d258 100644
--- a/drivers/net/bnxt/bnxt_txr.c
+++ b/drivers/net/bnxt/bnxt_txr.c
@@ -116,7 +116,8 @@ bnxt_xmit_need_long_bd(struct rte_mbuf *tx_pkt, struct 
bnxt_tx_queue *txq)
                                RTE_MBUF_F_TX_VLAN | 
RTE_MBUF_F_TX_OUTER_IP_CKSUM |
                                RTE_MBUF_F_TX_TUNNEL_GRE | 
RTE_MBUF_F_TX_TUNNEL_VXLAN |
                                RTE_MBUF_F_TX_TUNNEL_GENEVE | 
RTE_MBUF_F_TX_IEEE1588_TMST |
-                               RTE_MBUF_F_TX_QINQ | 
RTE_MBUF_F_TX_TUNNEL_VXLAN_GPE) ||
+                               RTE_MBUF_F_TX_QINQ | 
RTE_MBUF_F_TX_TUNNEL_VXLAN_GPE |
+                               RTE_MBUF_F_TX_UDP_SEG) ||
             (BNXT_TRUFLOW_EN(txq->bp) &&
              (txq->bp->tx_cfa_action || txq->vfr_tx_cfa_action)))
                return true;
-- 
2.39.2 (Apple Git-143)

Attachment: smime.p7s
Description: S/MIME Cryptographic Signature

Reply via email to