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:
parent
411c41eea5
commit
7a6b6f515f
|
@ -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.
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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,
|
||||||
|
|
|
@ -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
|
||||||
|
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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)
|
||||||
|
|
|
@ -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.
|
||||||
|
|
|
@ -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 *************************************/
|
||||||
|
|
Loading…
Reference in New Issue