[dpdk-dev] [PATCH] vmxnet3: VLAN tag on end packet, not first

2016-05-10 Thread Bruce Richardson
On Tue, Apr 12, 2016 at 04:08:04PM -0700, John Guzik wrote:
> Signed-off-by: John Guzik 
> Fixes: 9fd5e98b
> 
> ---
>  drivers/net/vmxnet3/vmxnet3_rxtx.c | 16 +---
>  1 file changed, 9 insertions(+), 7 deletions(-)
> 
Applied to dpdk-next-net/rel_16_07, with corrected fixes line, maintainer ack
from V1, and updated commit message.

Thanks,
/Bruce


[dpdk-dev] [PATCH] vmxnet3: VLAN tag on end packet, not first

2016-04-12 Thread John Guzik
Signed-off-by: John Guzik 
Fixes: 9fd5e98b

---
 drivers/net/vmxnet3/vmxnet3_rxtx.c | 16 +---
 1 file changed, 9 insertions(+), 7 deletions(-)

diff --git a/drivers/net/vmxnet3/vmxnet3_rxtx.c 
b/drivers/net/vmxnet3/vmxnet3_rxtx.c
index 4ac0456..3d4a5eb 100644
--- a/drivers/net/vmxnet3/vmxnet3_rxtx.c
+++ b/drivers/net/vmxnet3/vmxnet3_rxtx.c
@@ -587,12 +587,6 @@ vmxnet3_post_rx_bufs(vmxnet3_rx_queue_t *rxq, uint8_t 
ring_id)
 static void
 vmxnet3_rx_offload(const Vmxnet3_RxCompDesc *rcd, struct rte_mbuf *rxm)
 {
-   /* Check for hardware stripped VLAN tag */
-   if (rcd->ts) {
-   rxm->ol_flags |= PKT_RX_VLAN_PKT;
-   rxm->vlan_tci = rte_le_to_cpu_16((uint16_t)rcd->tci);
-   }
-
/* Check for RSS */
if (rcd->rssType != VMXNET3_RCD_RSS_TYPE_NONE) {
rxm->ol_flags |= PKT_RX_RSS_HASH;
@@ -737,7 +731,15 @@ vmxnet3_recv_pkts(void *rx_queue, struct rte_mbuf 
**rx_pkts, uint16_t nb_pkts)
rxq->last_seg = rxm;

if (rcd->eop) {
-   rx_pkts[nb_rx++] = rxq->start_seg;
+   struct rte_mbuf *start = rxq->start_seg;
+
+   /* Check for hardware stripped VLAN tag */
+   if (rcd->ts) {
+   start->ol_flags |= PKT_RX_VLAN_PKT;
+   start->vlan_tci = 
rte_le_to_cpu_16((uint16_t)rcd->tci);
+   }
+
+   rx_pkts[nb_rx++] = start;
rxq->start_seg = NULL;
}

-- 
1.9.1