summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexander Duyck <alexander.h.duyck@intel.com>2011-07-20 00:09:10 +0000
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>2011-08-29 01:05:38 -0700
commit09dca476e3201baac2dcbddc857b83aa25cbdf2e (patch)
tree63914fed08c000ff938e0c2e17dd26fbf2172072
parent7f9643fd773a372a5470ed2daedaec5bac918e35 (diff)
ixgbe: Always tag VLAN tagged packets
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. 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>
-rw-r--r--drivers/net/ethernet/intel/ixgbe/ixgbe_main.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
index d587967a6547..f095a3b479d7 100644
--- a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
+++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
@@ -6762,7 +6762,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;