From: Hemant Agrawal Date: Fri, 19 Jul 2019 10:06:08 +0000 (+0530) Subject: net/dpaa: check multi-segment external buffers X-Git-Url: http://git.droids-corp.org/?a=commitdiff_plain;h=829904201f0a3a43c740d64e216167265bc34ffa;p=dpdk.git net/dpaa: check multi-segment external buffers 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: stable@dpdk.org Signed-off-by: Hemant Agrawal --- diff --git a/drivers/net/dpaa/dpaa_rxtx.c b/drivers/net/dpaa/dpaa_rxtx.c index f16b7e0bc6..30b1836079 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)) {