DCB: fix kconfig option

Since the netlink option for DCB is necessary to actually be useful,
simplified the Kconfig option.  In addition, added useful help text for the
Kconfig option.

Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Jeff Kirsher 2008-11-25 01:02:08 -08:00 committed by David S. Miller
parent 411c41eea5
commit 7a6b6f515f
8 changed files with 31 additions and 21 deletions

View File

@ -2451,10 +2451,10 @@ config IXGBE_DCA
driver. DCA is a method for warming the CPU cache before data driver. DCA is a method for warming the CPU cache before data
is used, with the intent of lessening the impact of cache misses. is used, with the intent of lessening the impact of cache misses.
config IXGBE_DCBNL config IXGBE_DCB
bool "Data Center Bridging (DCB) Support" bool "Data Center Bridging (DCB) Support"
default n default n
depends on IXGBE && DCBNL depends on IXGBE && DCB
---help--- ---help---
Say Y here if you want to use Data Center Bridging (DCB) in the Say Y here if you want to use Data Center Bridging (DCB) in the
driver. driver.

View File

@ -35,4 +35,4 @@ obj-$(CONFIG_IXGBE) += ixgbe.o
ixgbe-objs := ixgbe_main.o ixgbe_common.o ixgbe_ethtool.o \ ixgbe-objs := ixgbe_main.o ixgbe_common.o ixgbe_ethtool.o \
ixgbe_82598.o ixgbe_phy.o ixgbe_82598.o ixgbe_phy.o
ixgbe-$(CONFIG_IXGBE_DCBNL) += ixgbe_dcb.o ixgbe_dcb_82598.o ixgbe_dcb_nl.o ixgbe-$(CONFIG_IXGBE_DCB) += ixgbe_dcb.o ixgbe_dcb_82598.o ixgbe_dcb_nl.o

View File

@ -327,7 +327,7 @@ enum ixgbe_boards {
}; };
extern struct ixgbe_info ixgbe_82598_info; extern struct ixgbe_info ixgbe_82598_info;
#ifdef CONFIG_IXGBE_DCBNL #ifdef CONFIG_IXGBE_DCB
extern struct dcbnl_rtnl_ops dcbnl_ops; extern struct dcbnl_rtnl_ops dcbnl_ops;
extern int ixgbe_copy_dcb_cfg(struct ixgbe_dcb_config *src_dcb_cfg, extern int ixgbe_copy_dcb_cfg(struct ixgbe_dcb_config *src_dcb_cfg,
struct ixgbe_dcb_config *dst_dcb_cfg, struct ixgbe_dcb_config *dst_dcb_cfg,

View File

@ -1914,7 +1914,7 @@ static void ixgbe_napi_disable_all(struct ixgbe_adapter *adapter)
} }
} }
#ifdef CONFIG_IXGBE_DCBNL #ifdef CONFIG_IXGBE_DCB
/* /*
* ixgbe_configure_dcb - Configure DCB hardware * ixgbe_configure_dcb - Configure DCB hardware
* @adapter: ixgbe adapter struct * @adapter: ixgbe adapter struct
@ -1960,7 +1960,7 @@ static void ixgbe_configure(struct ixgbe_adapter *adapter)
ixgbe_set_rx_mode(netdev); ixgbe_set_rx_mode(netdev);
ixgbe_restore_vlan(adapter); ixgbe_restore_vlan(adapter);
#ifdef CONFIG_IXGBE_DCBNL #ifdef CONFIG_IXGBE_DCB
if (adapter->flags & IXGBE_FLAG_DCB_ENABLED) { if (adapter->flags & IXGBE_FLAG_DCB_ENABLED) {
netif_set_gso_max_size(netdev, 32768); netif_set_gso_max_size(netdev, 32768);
ixgbe_configure_dcb(adapter); ixgbe_configure_dcb(adapter);
@ -2749,7 +2749,7 @@ static int __devinit ixgbe_sw_init(struct ixgbe_adapter *adapter)
struct ixgbe_hw *hw = &adapter->hw; struct ixgbe_hw *hw = &adapter->hw;
struct pci_dev *pdev = adapter->pdev; struct pci_dev *pdev = adapter->pdev;
unsigned int rss; unsigned int rss;
#ifdef CONFIG_IXGBE_DCBNL #ifdef CONFIG_IXGBE_DCB
int j; int j;
struct tc_configuration *tc; struct tc_configuration *tc;
#endif #endif
@ -2768,7 +2768,7 @@ static int __devinit ixgbe_sw_init(struct ixgbe_adapter *adapter)
adapter->flags |= IXGBE_FLAG_RSS_ENABLED; adapter->flags |= IXGBE_FLAG_RSS_ENABLED;
adapter->ring_feature[RING_F_DCB].indices = IXGBE_MAX_DCB_INDICES; adapter->ring_feature[RING_F_DCB].indices = IXGBE_MAX_DCB_INDICES;
#ifdef CONFIG_IXGBE_DCBNL #ifdef CONFIG_IXGBE_DCB
/* Configure DCB traffic classes */ /* Configure DCB traffic classes */
for (j = 0; j < MAX_TRAFFIC_CLASS; j++) { for (j = 0; j < MAX_TRAFFIC_CLASS; j++) {
tc = &adapter->dcb_cfg.tc_config[j]; tc = &adapter->dcb_cfg.tc_config[j];
@ -4120,7 +4120,7 @@ static int __devinit ixgbe_probe(struct pci_dev *pdev,
if (adapter->flags & IXGBE_FLAG_DCB_ENABLED) if (adapter->flags & IXGBE_FLAG_DCB_ENABLED)
adapter->flags &= ~IXGBE_FLAG_RSS_ENABLED; adapter->flags &= ~IXGBE_FLAG_RSS_ENABLED;
#ifdef CONFIG_IXGBE_DCBNL #ifdef CONFIG_IXGBE_DCB
netdev->dcbnl_ops = &dcbnl_ops; netdev->dcbnl_ops = &dcbnl_ops;
#endif #endif

View File

@ -43,7 +43,7 @@
#include <net/net_namespace.h> #include <net/net_namespace.h>
#include <net/dsa.h> #include <net/dsa.h>
#ifdef CONFIG_DCBNL #ifdef CONFIG_DCB
#include <net/dcbnl.h> #include <net/dcbnl.h>
#endif #endif
@ -847,7 +847,7 @@ struct net_device
#define GSO_MAX_SIZE 65536 #define GSO_MAX_SIZE 65536
unsigned int gso_max_size; unsigned int gso_max_size;
#ifdef CONFIG_DCBNL #ifdef CONFIG_DCB
/* Data Center Bridging netlink ops */ /* Data Center Bridging netlink ops */
struct dcbnl_rtnl_ops *dcbnl_ops; struct dcbnl_rtnl_ops *dcbnl_ops;
#endif #endif

View File

@ -56,8 +56,8 @@ obj-$(CONFIG_NETLABEL) += netlabel/
obj-$(CONFIG_IUCV) += iucv/ obj-$(CONFIG_IUCV) += iucv/
obj-$(CONFIG_RFKILL) += rfkill/ obj-$(CONFIG_RFKILL) += rfkill/
obj-$(CONFIG_NET_9P) += 9p/ obj-$(CONFIG_NET_9P) += 9p/
ifeq ($(CONFIG_DCBNL),y) ifneq ($(CONFIG_DCB),)
obj-$(CONFIG_DCB) += dcb/ obj-y += dcb/
endif endif
ifeq ($(CONFIG_NET),y) ifeq ($(CONFIG_NET),y)

View File

@ -1,12 +1,22 @@
config DCB config DCB
tristate "Data Center Bridging support" bool "Data Center Bridging support"
config DCBNL
bool "Data Center Bridging netlink interface support"
depends on DCB
default n default n
---help--- ---help---
This option turns on the netlink interface This enables support for configuring Data Center Bridging (DCB)
(dcbnl) for Data Center Bridging capable devices. features on DCB capable Ethernet adapters via rtnetlink. Say 'Y'
if you have a DCB capable Ethernet adapter which supports this
interface and you are connected to a DCB capable switch.
DCB is a collection of Ethernet enhancements which allow DCB capable
NICs and switches to support network traffic with differing
requirements (highly reliable, no drops vs. best effort vs. low
latency) to co-exist on Ethernet.
DCB features include:
Enhanced Transmission Selection (aka Priority Grouping) - provides a
framework for assigning bandwidth guarantees to traffic classes.
Priority-based Flow Control (PFC) - a MAC control pause frame which
works at the granularity of the 802.1p priority instead of the
link (802.3x).
If unsure, say N. If unsure, say N.

View File

@ -48,7 +48,7 @@
*/ */
MODULE_AUTHOR("Lucy Liu, <lucy.liu@intel.com>"); MODULE_AUTHOR("Lucy Liu, <lucy.liu@intel.com>");
MODULE_DESCRIPTION("Data Center Bridging generic netlink interface"); MODULE_DESCRIPTION("Data Center Bridging netlink interface");
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");
/**************** DCB attribute policies *************************************/ /**************** DCB attribute policies *************************************/