From 614fcaca62ee30b0da570264fa5d2a83e125a75f Mon Sep 17 00:00:00 2001 From: Andriy Berestovskyy Date: Fri, 31 Mar 2017 15:36:35 +0200 Subject: [PATCH] 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 --- lib/librte_port/rte_port_fd.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) 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 -- 2.20.1