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