net/i40e: fix segment number in reassemble process
authorChenghu Yao <yao.chenghu@zte.com.cn>
Mon, 9 Jan 2017 03:31:04 +0000 (11:31 +0800)
committerFerruh Yigit <ferruh.yigit@intel.com>
Tue, 17 Jan 2017 18:41:42 +0000 (19:41 +0100)
When freeing up last mbuf, start->nb_segs should be decremented
by one. See also ixgbe process.

Fixes: 0e0da28cd888 ("i40e: add vector scatter Rx")

Signed-off-by: Chenghu Yao <yao.chenghu@zte.com.cn>
Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>
drivers/net/i40e/i40e_rxtx_vec_common.h

index 6cb5dce..990520f 100644 (file)
@@ -71,6 +71,7 @@ reassemble_packets(struct i40e_rx_queue *rxq, struct rte_mbuf **rx_bufs,
                                        /* 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 -