When freeing up last mbuf, start->nb_segs should be decremented
by one. See also ixgbe process.

Signed-off-by: Chenghu Yao <yao.chen...@zte.com.cn>
---
 drivers/net/i40e/i40e_rxtx_vec_common.h | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/net/i40e/i40e_rxtx_vec_common.h 
b/drivers/net/i40e/i40e_rxtx_vec_common.h
index 6cb5dce..990520f 100644
--- a/drivers/net/i40e/i40e_rxtx_vec_common.h
+++ b/drivers/net/i40e/i40e_rxtx_vec_common.h
@@ -71,6 +71,7 @@
                                        /* free up last mbuf */
                                        struct rte_mbuf *secondlast = start;
 
+                                       start->nb_segs--;
                                        while (secondlast->next != end)
                                                secondlast = secondlast->next;
                                        secondlast->data_len -= (rxq->crc_len -
-- 
1.8.3.1


Reply via email to