net/nfp: fix return path in TSO processing function
Checks
Commit Message
From: Fei Qin <fei.qin@corigine.com>
When enable TSO, nfp_net_nfdk_tx_tso() fills segment information in Tx
descriptor. However, the return path for TSO is lost and the LSO related
fields of Tx descriptor is filled with zeros which prevents packets from
being sent.
This patch fixes the return path in TSO processing function to make sure
TSO works fine.
Fixes: c73dced48c8c ("net/nfp: add NFDk Tx")
Cc: stable@dpdk.org
Signed-off-by: Fei Qin <fei.qin@corigine.com>
Reviewed-by: Niklas Söderlund <niklas.soderlund@corigine.com>
Reviewed-by: Chaoyong He <chaoyong.he@corigine.com>
Signed-off-by: Niklas Söderlund <niklas.soderlund@corigine.com>
---
drivers/net/nfp/nfp_rxtx.c | 2 ++
1 file changed, 2 insertions(+)
Comments
On 11/18/2022 4:23 PM, Niklas Söderlund wrote:
> From: Fei Qin <fei.qin@corigine.com>
>
> When enable TSO, nfp_net_nfdk_tx_tso() fills segment information in Tx
> descriptor. However, the return path for TSO is lost and the LSO related
> fields of Tx descriptor is filled with zeros which prevents packets from
> being sent.
>
> This patch fixes the return path in TSO processing function to make sure
> TSO works fine.
>
> Fixes: c73dced48c8c ("net/nfp: add NFDk Tx")
> Cc: stable@dpdk.org
>
> Signed-off-by: Fei Qin <fei.qin@corigine.com>
> Reviewed-by: Niklas Söderlund <niklas.soderlund@corigine.com>
> Reviewed-by: Chaoyong He <chaoyong.he@corigine.com>
> Signed-off-by: Niklas Söderlund <niklas.soderlund@corigine.com>
Applied to dpdk-next-net/main, thanks.
@@ -1135,6 +1135,8 @@ nfp_net_nfdk_tx_tso(struct nfp_net_txq *txq, struct rte_mbuf *mb)
txd.lso_hdrlen = mb->l2_len + mb->l3_len + mb->l4_len;
txd.lso_totsegs = (mb->pkt_len + mb->tso_segsz) / mb->tso_segsz;
+ return txd.raw;
+
clean_txd:
txd.l3_offset = 0;
txd.l4_offset = 0;