net/enic: set Rx VLAN offload flag for non-stripped packets
authorHyong Youb Kim <hyonkim@cisco.com>
Wed, 26 Sep 2018 02:54:19 +0000 (19:54 -0700)
committerFerruh Yigit <ferruh.yigit@intel.com>
Thu, 11 Oct 2018 16:53:48 +0000 (18:53 +0200)
The NIC indicates VLAN TCI to the driver even when VLAN stripping is
disabled. The driver sets mbuf's vlan_tci but not PKT_RX_VLAN. Set
PKT_RX_VLAN to indicate that vlan_tci is valid.

Fixes: c6f455507411 ("net/enic: add ethernet VLAN packet type")
Cc: stable@dpdk.org
Signed-off-by: Hyong Youb Kim <hyonkim@cisco.com>
Reviewed-by: John Daley <johndale@cisco.com>
drivers/net/enic/enic_rxtx.c

index 7129e12..0eb113d 100644 (file)
@@ -233,10 +233,12 @@ enic_cq_rx_to_pkt_flags(struct cq_desc *cqd, struct rte_mbuf *mbuf)
                pkt_flags |= PKT_RX_VLAN | PKT_RX_VLAN_STRIPPED;
                mbuf->packet_type |= RTE_PTYPE_L2_ETHER;
        } else {
-               if (vlan_tci != 0)
+               if (vlan_tci != 0) {
+                       pkt_flags |= PKT_RX_VLAN;
                        mbuf->packet_type |= RTE_PTYPE_L2_ETHER_VLAN;
-               else
+               } else {
                        mbuf->packet_type |= RTE_PTYPE_L2_ETHER;
+               }
        }
        mbuf->vlan_tci = vlan_tci;