[dpdk-dev,v2] fm10k: set packet type for multi-segment packets
Commit Message
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
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>
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
@@ -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;
}