The kmod-mlxsw-spectrum driver activated CONFIG_DCB indirectly already
on all targets which are building this driver. All other DCB capable
driver did not activate their DCB support.
CONFIG_DCB increases the uncompressed kernel size by about 7.8KB.
CONFIG_DCB is only needed some data center Ethernet cards and not used
on normal routers. Activate it only on the x86_64 and the armsr_arm64
target which are used on normal servers or in VMs.
Link: https://github.com/openwrt/openwrt/pull/17672
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
drivers to support L3 master devices like VRF.
Increases the compressed kernel size by ~4kB (as of Linux 6.6).
+config KERNEL_DCB
+ bool "Data Center Bridging support"
+ default y if TARGET_armsr_armv8
+ default y if TARGET_x86_64
+ help
+ This enables support for configuring Data Center Bridging (DCB)
+ 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).
+
config KERNEL_XDP_SOCKETS
bool "XDP sockets support"
help
KCONFIG:=CONFIG_IXGBE \
CONFIG_IXGBE_VXLAN=n \
CONFIG_IXGBE_HWMON=y \
- CONFIG_IXGBE_DCA=n
+ CONFIG_IXGBE_DCA=n \
+ CONFIG_IXGBE_DCB=y
FILES:=$(LINUX_DIR)/drivers/net/ethernet/intel/ixgbe/ixgbe.ko
AUTOLOAD:=$(call AutoLoad,35,ixgbe)
endef
KCONFIG:=CONFIG_I40E \
CONFIG_I40E_VXLAN=n \
CONFIG_I40E_HWMON=y \
- CONFIG_I40E_DCA=n
+ CONFIG_I40E_DCA=n \
+ CONFIG_I40E_DCB=y
FILES:=$(LINUX_DIR)/drivers/net/ethernet/intel/i40e/i40e.ko
AUTOLOAD:=$(call AutoProbe,i40e)
endef
CONFIG_BNXT \
CONFIG_BNXT_SRIOV=y \
CONFIG_BNXT_FLOWER_OFFLOAD=y \
- CONFIG_BNXT_DCB=n \
+ CONFIG_BNXT_DCB=y \
CONFIG_BNXT_HWMON=y
AUTOLOAD:=$(call AutoProbe,bnxt_en)
endef
$(LINUX_DIR)/drivers/net/ethernet/mellanox/mlx4/mlx4_core.ko \
$(LINUX_DIR)/drivers/net/ethernet/mellanox/mlx4/mlx4_en.ko
KCONFIG:= CONFIG_MLX4_EN \
- CONFIG_MLX4_EN_DCB=n \
+ CONFIG_MLX4_EN_DCB=y \
CONFIG_MLX4_CORE=y \
CONFIG_MLX4_CORE_GEN2=y \
CONFIG_MLX4_DEBUG=n
FILES:=$(LINUX_DIR)/drivers/net/ethernet/mellanox/mlx5/core/mlx5_core.ko
KCONFIG:= CONFIG_MLX5_CORE \
CONFIG_MLX5_CORE_EN=y \
- CONFIG_MLX5_CORE_EN_DCB=n \
+ CONFIG_MLX5_CORE_EN_DCB=y \
CONFIG_MLX5_CORE_IPOIB=n \
CONFIG_MLX5_EN_ARFS=n \
CONFIG_MLX5_EN_IPSEC=n \
KCONFIG:= \
CONFIG_MLXSW_SPECTRUM \
CONFIG_MLXSW_SPECTRUM_DCB=y \
- CONFIG_NET_SWITCHDEV=y \
- CONFIG_DCB=y
+ CONFIG_NET_SWITCHDEV=y
AUTOLOAD:=$(call AutoProbe,mlxsw_spectrum)
endef
KCONFIG:= \
CONFIG_QLCNIC \
CONFIG_QLCNIC_HWMON=y \
- CONFIG_QLCNIC_SRIOV=y
+ CONFIG_QLCNIC_SRIOV=y \
+ CONFIG_QLCNIC_DCB=y
FILES:=$(LINUX_DIR)/drivers/net/ethernet/qlogic/qlcnic/qlcnic.ko
AUTOLOAD:=$(call AutoProbe,qlcnic)
endef
# CONFIG_AMD_MEM_ENCRYPT is not set
# CONFIG_AMD_PHY is not set
# CONFIG_AMD_XGBE is not set
-# CONFIG_AMD_XGBE_DCB is not set
# CONFIG_AMD_XGBE_HAVE_ECC is not set
# CONFIG_AMIGA_PARTITION is not set
# CONFIG_AMILO_RFKILL is not set
# CONFIG_I3C is not set
# CONFIG_I40E is not set
# CONFIG_I40EVF is not set
-# CONFIG_I40E_DCB is not set
# CONFIG_I6300ESB_WDT is not set
# CONFIG_I82092 is not set
# CONFIG_I82365 is not set
# CONFIG_IWLWIFI is not set
# CONFIG_IXGBE is not set
# CONFIG_IXGBEVF is not set
-# CONFIG_IXGBE_DCB is not set
# CONFIG_JAILHOUSE_GUEST is not set
# CONFIG_JBD2_DEBUG is not set
# CONFIG_JFFS2_CMODE_FAVOURLZO is not set
# CONFIG_QFMT_V1 is not set
# CONFIG_QLA3XXX is not set
# CONFIG_QLCNIC is not set
-# CONFIG_QLCNIC_DCB is not set
# CONFIG_QLGE is not set
# CONFIG_QNX4FS_FS is not set
# CONFIG_QNX6FS_FS is not set
CONFIG_CRYPTO_RSA=y
CONFIG_CRYPTO_SHA1=y
CONFIG_CRYPTO_SHA256=y
-CONFIG_DCB=y
CONFIG_DEBUG_BUGVERBOSE=y
CONFIG_DEBUG_INFO=y
CONFIG_DEBUG_INFO_COMPRESSED_NONE=y
SUBMENU:=$(NETWORK_DEVICES_MENU)
TITLE:=AMD Ethernet on SoC support
DEPENDS:=@PCI_SUPPORT @TARGET_x86_64 +kmod-lib-crc32c +kmod-ptp +kmod-libphy +kmod-mdio-devres
- KCONFIG:=CONFIG_AMD_XGBE
+ KCONFIG:= \
+ CONFIG_AMD_XGBE \
+ CONFIG_AMD_XGBE_DCB=y
FILES:=$(LINUX_DIR)/drivers/net/ethernet/amd/xgbe/amd-xgbe.ko
AUTOLOAD:=$(call AutoLoad,35,amd-xgbe)
endef