--- /dev/null
+From: John Ronciak <john.ronciak@intel.com>
+Subject: DCB compile error fix
+Acked-by: Karsten Keil <kkeil@novell.com>
+Reference: bnc#465923
+
+DCB compile error fix
+
+User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.5)
+Gecko/2008120122 Firefox/3.0.5
+
+The files ixgbe_dcb.o ixgbe_dcb_82598.c and ixgbe_dcb_nl.c should not be
+compiled if DCB_CONFIG is not set. The makefile should handle this correctly
+now like in upstream kernel.
+
+
+---
+ drivers/net/Kconfig | 10 ++++++++++
+ drivers/net/ixgbe/Makefile | 5 +++--
+ drivers/net/ixgbe/ixgbe_main.c | 17 +++++++++++++----
+ 3 files changed, 26 insertions(+), 6 deletions(-)
+
+--- a/drivers/net/ixgbe/ixgbe_main.c
++++ b/drivers/net/ixgbe/ixgbe_main.c
+@@ -1919,6 +1919,7 @@ static void ixgbe_napi_disable_all(struc
+ }
+ }
+
++#ifdef CONFIG_IXGBE_DCB
+ /*
+ * ixgbe_configure_dcb - Configure DCB hardware
+ * @adapter: ixgbe adapter struct
+@@ -1954,6 +1955,7 @@ static void ixgbe_configure_dcb(struct i
+ IXGBE_WRITE_REG(hw, IXGBE_VLNCTRL, vlnctrl);
+ hw->mac.ops.set_vfta(&adapter->hw, 0, 0, true);
+ }
++#endif /* CONFIG_IXGBE_DCB */
+
+ static void ixgbe_configure(struct ixgbe_adapter *adapter)
+ {
+@@ -1963,12 +1965,17 @@ static void ixgbe_configure(struct ixgbe
+ ixgbe_set_rx_mode(netdev);
+
+ ixgbe_restore_vlan(adapter);
++#ifdef CONFIG_IXGBE_DCB
+ if (adapter->flags & IXGBE_FLAG_DCB_ENABLED) {
+ netif_set_gso_max_size(netdev, 32768);
+ ixgbe_configure_dcb(adapter);
+ } else {
+ netif_set_gso_max_size(netdev, 65536);
+ }
++#else
++ netif_set_gso_max_size(netdev, 65536);
++#endif /* CONFIG_IXGBE_DCB */
++
+
+ ixgbe_configure_tx(adapter);
+ ixgbe_configure_rx(adapter);
+@@ -2746,8 +2753,10 @@ static int __devinit ixgbe_sw_init(struc
+ struct ixgbe_hw *hw = &adapter->hw;
+ struct pci_dev *pdev = adapter->pdev;
+ unsigned int rss;
++#ifdef CONFIG_IXGBE_DCB
+ int j;
+ struct tc_configuration *tc;
++#endif /* CONFIG_IXGBE_DCB */
+
+ /* PCI config space info */
+
+@@ -2766,6 +2775,7 @@ static int __devinit ixgbe_sw_init(struc
+ adapter->flags |= IXGBE_FLAG_FAN_FAIL_CAPABLE;
+ adapter->ring_feature[RING_F_DCB].indices = IXGBE_MAX_DCB_INDICES;
+
++#ifdef CONFIG_IXGBE_DCB
+ /* Configure DCB traffic classes */
+ for (j = 0; j < MAX_TRAFFIC_CLASS; j++) {
+ tc = &adapter->dcb_cfg.tc_config[j];
+@@ -2780,10 +2790,9 @@ static int __devinit ixgbe_sw_init(struc
+ adapter->dcb_cfg.rx_pba_cfg = pba_equal;
+ adapter->dcb_cfg.round_robin_enable = false;
+ adapter->dcb_set_bitmap = 0x00;
+-#ifdef CONFIG_DCBNL
+ ixgbe_copy_dcb_cfg(&adapter->dcb_cfg, &adapter->temp_dcb_cfg,
+ adapter->ring_feature[RING_F_DCB].indices);
+-#endif
++#endif /* CONFIG_IXGBE_DCB */
+
+ /* default flow control settings */
+ hw->fc.original_type = ixgbe_fc_none;
+@@ -4116,9 +4125,9 @@ static int __devinit ixgbe_probe(struct
+ if (adapter->flags & IXGBE_FLAG_DCB_ENABLED)
+ adapter->flags &= ~IXGBE_FLAG_RSS_ENABLED;
+
+-#ifdef CONFIG_DCBNL
++#ifdef CONFIG_IXGBE_DCB
+ netdev->dcbnl_ops = &dcbnl_ops;
+-#endif
++#endif /* CONFIG_IXGBE_DCB */
+
+ if (pci_using_dac)
+ netdev->features |= NETIF_F_HIGHDMA;
+--- a/drivers/net/ixgbe/Makefile
++++ b/drivers/net/ixgbe/Makefile
+@@ -33,5 +33,6 @@
+ obj-$(CONFIG_IXGBE) += ixgbe.o
+
+ ixgbe-objs := ixgbe_main.o ixgbe_common.o ixgbe_ethtool.o \
+- ixgbe_82598.o ixgbe_phy.o ixgbe_dcb.o ixgbe_dcb_82598.o \
+- ixgbe_dcb_nl.o
++ ixgbe_82598.o ixgbe_phy.o
++
++ixgbe-$(CONFIG_IXGBE_DCB) += ixgbe_dcb.o ixgbe_dcb_82598.o ixgbe_dcb_nl.o
+--- a/drivers/net/Kconfig
++++ b/drivers/net/Kconfig
+@@ -2406,6 +2406,16 @@ config IXGBE_LRO
+
+ If in doubt, say N.
+
++config IXGBE_DCB
++ bool "Data Center Bridging (DCB) Support"
++ default n
++ depends on IXGBE && DCB
++ ---help---
++ Say Y here if you want to use Data Center Bridging (DCB) in the
++ driver.
++
++ If unsure, say N.
++
+ config IXGB
+ tristate "Intel(R) PRO/10GbE support"
+ depends on PCI