]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
ixgbe: Always tag VLAN tagged packets
authorAlexander Duyck <alexander.h.duyck@intel.com>
Wed, 20 Jul 2011 00:09:10 +0000 (00:09 +0000)
committerJoe Jin <joe.jin@oracle.com>
Thu, 17 May 2012 14:00:54 +0000 (22:00 +0800)
This change is meant to fix the patch:
ixgbe: Cleanup FCOE and VLAN handling in xmit_frame_ring
And can be rolled into it if needed.

What this fixes is that VLAN tagged packets were not being tagged if they
were prio 7 which matches up with TC_PRIO_CONTROL.  In order to fix it I am
just setting things up so that we always tag VLAN tagged packets.

(cherry picked from commit 09dca476e3201baac2dcbddc857b83aa25cbdf2e)
Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com>
Tested-by: Ross Brattain <ross.b.brattain@intel.com>
Tested-by: Phil Schmitt <phillip.j.schmitt@intel.com
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: Joe Jin <joe.jin@oracle.com>
drivers/net/ixgbe/ixgbe_main.c

index 9897a6548d02c5bafb6ce0fe1fd6f5f39febd181..5f4b77ede106779ec3cf10e469021d8a28dd7071 100644 (file)
@@ -6760,7 +6760,8 @@ netdev_tx_t ixgbe_xmit_frame_ring(struct sk_buff *skb,
        }
 
        if ((adapter->flags & IXGBE_FLAG_DCB_ENABLED) &&
-           skb->priority != TC_PRIO_CONTROL) {
+           ((tx_flags & (IXGBE_TX_FLAGS_HW_VLAN | IXGBE_TX_FLAGS_SW_VLAN)) ||
+            (skb->priority != TC_PRIO_CONTROL))) {
                tx_flags &= ~IXGBE_TX_FLAGS_VLAN_PRIO_MASK;
                tx_flags |= tx_ring->dcb_tc <<
                            IXGBE_TX_FLAGS_VLAN_PRIO_SHIFT;