This patch add check to return error as the handling
for external buffer packets with SG is currently missing.

Fixes: 37f9b54bd3cf ("net/dpaa: support Tx and Rx queue setup")
Cc: sta...@dpdk.org

Signed-off-by: Hemant Agrawal <hemant.agra...@nxp.com>
---
 drivers/net/dpaa/dpaa_rxtx.c | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/drivers/net/dpaa/dpaa_rxtx.c b/drivers/net/dpaa/dpaa_rxtx.c
index f16b7e0bc..30b183607 100644
--- a/drivers/net/dpaa/dpaa_rxtx.c
+++ b/drivers/net/dpaa/dpaa_rxtx.c
@@ -957,6 +957,16 @@ dpaa_eth_queue_tx(void *q, struct rte_mbuf **bufs, 
uint16_t nb_bufs)
                                        goto send_pkts;
                                }
                        } else {
+                               /* TODO not supporting sg for external bufs*/
+                               if (unlikely(mbuf->nb_segs > 1)) {
+                                       /* Set frames_to_send & nb_bufs so
+                                        * that packets are transmitted till
+                                        * previous frame.
+                                        */
+                                       frames_to_send = loop;
+                                       nb_bufs = loop;
+                                       goto send_pkts;
+                               }
                                state = tx_on_external_pool(q, mbuf,
                                                            &fd_arr[loop]);
                                if (unlikely(state)) {
-- 
2.17.1

Reply via email to