[dpdk-dev,v2] fm10k: set packet type for multi-segment packets

Message ID 1460983912-14287-1-git-send-email-michael.frasca@oracle.com (mailing list archive)
State Accepted, archived
Delegated to: Bruce Richardson
Headers

Commit Message

Michael Frasca April 18, 2016, 12:51 p.m. UTC
  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 <michael.frasca@oracle.com>
---
v2:
- Only copy hash, ol_flags, and packet_type to 'start' when 
  RTE_LIBRTE_FM10K_RX_OLFLAGS_ENABLE is defined.

 drivers/net/fm10k/fm10k_rxtx_vec.c | 3 +++
 1 file changed, 3 insertions(+)
  

Comments

Chen, Jing D April 18, 2016, 2:05 p.m. UTC | #1
Hi,

> -----Original Message-----
> From: Michael Frasca [mailto:michael.frasca@oracle.com]
> Sent: Monday, April 18, 2016 8:52 PM
> To: Chen, Jing D <jing.d.chen@intel.com>
> Cc: dev@dpdk.org; Michael Frasca <michael.frasca@oracle.com>
> Subject: [PATCH v2] fm10k: set 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 <michael.frasca@oracle.com>
Acked-by : Jing Chen <jing.d.chen@intel.com>
  
Bruce Richardson April 21, 2016, 2:03 p.m. UTC | #2
On Mon, Apr 18, 2016 at 02:05:23PM +0000, Chen, Jing D wrote:
> Hi,
> 
> > -----Original Message-----
> > From: Michael Frasca [mailto:michael.frasca@oracle.com]
> > Sent: Monday, April 18, 2016 8:52 PM
> > To: Chen, Jing D <jing.d.chen@intel.com>
> > Cc: dev@dpdk.org; Michael Frasca <michael.frasca@oracle.com>
> > Subject: [PATCH v2] fm10k: set 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 <michael.frasca@oracle.com>
> Acked-by : Jing Chen <jing.d.chen@intel.com>
> 
Applied to dpdk-next-net/rel_16_07

/Bruce
  

Patch

diff --git a/drivers/net/fm10k/fm10k_rxtx_vec.c b/drivers/net/fm10k/fm10k_rxtx_vec.c
index f8efe8f..03e4a5c 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;
 			}