From 4a2b8700dd8a14760ca35d04bbbcf9324293e98e Mon Sep 17 00:00:00 2001 From: Michael Frasca Date: Mon, 18 Apr 2016 08:51:52 -0400 Subject: [PATCH] fm10k: fix packet type for multi-segment packets When building a chain of mbufs for a multi-segment packet, the packet_type field resides at the end of the chain. It should be copied forward to the head of the list. Also, uses RTE_LIBRTE_FM10K_RX_OLFLAGS_ENABLE to guard packet-type computation. The mbuf fields are not copied when this define is not set. Fixes: fe65e1e1ce61 ("fm10k: add vector scatter Rx") Signed-off-by: Michael Frasca Acked-by: Jing Chen --- drivers/net/fm10k/fm10k_rxtx_vec.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/net/fm10k/fm10k_rxtx_vec.c b/drivers/net/fm10k/fm10k_rxtx_vec.c index f8efe8f58d..03e4a5cab2 100644 --- a/drivers/net/fm10k/fm10k_rxtx_vec.c +++ b/drivers/net/fm10k/fm10k_rxtx_vec.c @@ -606,8 +606,11 @@ fm10k_reassemble_packets(struct fm10k_rx_queue *rxq, if (!split_flags[buf_idx]) { /* it's the last packet of the set */ +#ifdef RTE_LIBRTE_FM10K_RX_OLFLAGS_ENABLE start->hash = end->hash; start->ol_flags = end->ol_flags; + start->packet_type = end->packet_type; +#endif pkts[pkt_idx++] = start; start = end = NULL; } -- 2.20.1