From: Andriy Berestovskyy Date: Fri, 31 Mar 2017 13:36:35 +0000 (+0200) Subject: port: fix file descriptor reader X-Git-Tag: spdx-start~3422 X-Git-Url: http://git.droids-corp.org/?a=commitdiff_plain;h=614fcaca62ee30b0da570264fa5d2a83e125a75f;p=dpdk.git port: fix file descriptor reader The code should return the actual number of packets read. Fixes: 5a99f208 ("port: support file descriptor") Signed-off-by: Andriy Berestovskyy Acked-by: Cristian Dumitrescu --- diff --git a/lib/librte_port/rte_port_fd.c b/lib/librte_port/rte_port_fd.c index 8ce24238be..b5b37291ff 100644 --- a/lib/librte_port/rte_port_fd.c +++ b/lib/librte_port/rte_port_fd.c @@ -108,7 +108,7 @@ static int rte_port_fd_reader_rx(void *port, struct rte_mbuf **pkts, uint32_t n_pkts) { struct rte_port_fd_reader *p = port; - uint32_t i; + uint32_t i, j; if (rte_pktmbuf_alloc_bulk(p->mempool, pkts, n_pkts) != 0) return 0; @@ -126,12 +126,12 @@ rte_port_fd_reader_rx(void *port, struct rte_mbuf **pkts, uint32_t n_pkts) pkt->pkt_len = n_bytes; } - for ( ; i < n_pkts; i++) - rte_pktmbuf_free(pkts[i]); + for (j = i; j < n_pkts; j++) + rte_pktmbuf_free(pkts[j]); RTE_PORT_FD_READER_STATS_PKTS_IN_ADD(p, i); - return n_pkts; + return i; } static int