kernel: add network teaming modules

Teaming is a link aggregation implementation similar to bonding, but
it's configured by a userspace program.

Signed-off-by: Qingfang Deng <dqfext@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21120
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
This commit is contained in:
Qingfang Deng
2025-12-10 09:28:29 +08:00
committed by Hauke Mehrtens
parent be7aa5bda4
commit 8b05db405b
2 changed files with 70 additions and 0 deletions

View File

@@ -1654,3 +1654,68 @@ define KernelPackage/packet-diag
endef
$(eval $(call KernelPackage,packet-diag))
define KernelPackage/team
SUBMENU:=$(NETWORK_SUPPORT_MENU)
TITLE:=Ethernet team driver
KCONFIG:=CONFIG_NET_TEAM
FILES:=$(LINUX_DIR)/drivers/net/team/team.ko
AUTOLOAD:=$(call AutoProbe,team)
endef
$(eval $(call KernelPackage,team))
define KernelPackage/team-mode-broadcast
SUBMENU:=$(NETWORK_SUPPORT_MENU)
TITLE:=Broadcast mode support
DEPENDS:=kmod-team
KCONFIG:=CONFIG_NET_TEAM_MODE_BROADCAST
FILES:=$(LINUX_DIR)/drivers/net/team/team_mode_broadcast.ko
AUTOLOAD:=$(call AutoProbe,team_mode_broadcast)
endef
$(eval $(call KernelPackage,team-mode-broadcast))
define KernelPackage/team-mode-roundrobin
SUBMENU:=$(NETWORK_SUPPORT_MENU)
TITLE:=Round-robin mode support
DEPENDS:=kmod-team
KCONFIG:=CONFIG_NET_TEAM_MODE_ROUNDROBIN
FILES:=$(LINUX_DIR)/drivers/net/team/team_mode_roundrobin.ko
AUTOLOAD:=$(call AutoProbe,team_mode_roundrobin)
endef
$(eval $(call KernelPackage,team-mode-roundrobin))
define KernelPackage/team-mode-random
SUBMENU:=$(NETWORK_SUPPORT_MENU)
TITLE:=Random mode support
DEPENDS:=kmod-team
KCONFIG:=CONFIG_NET_TEAM_MODE_RANDOM
FILES:=$(LINUX_DIR)/drivers/net/team/team_mode_random.ko
AUTOLOAD:=$(call AutoProbe,team_mode_random)
endef
$(eval $(call KernelPackage,team-mode-random))
define KernelPackage/team-mode-activebackup
SUBMENU:=$(NETWORK_SUPPORT_MENU)
TITLE:=Active-backup mode support
DEPENDS:=kmod-team
KCONFIG:=CONFIG_NET_TEAM_MODE_ACTIVEBACKUP
FILES:=$(LINUX_DIR)/drivers/net/team/team_mode_activebackup.ko
AUTOLOAD:=$(call AutoProbe,team_mode_activebackup)
endef
$(eval $(call KernelPackage,team-mode-activebackup))
define KernelPackage/team-mode-loadbalance
SUBMENU:=$(NETWORK_SUPPORT_MENU)
TITLE:=Load-balance mode support
DEPENDS:=kmod-team
KCONFIG:=CONFIG_NET_TEAM_MODE_LOADBALANCE
FILES:=$(LINUX_DIR)/drivers/net/team/team_mode_loadbalance.ko
AUTOLOAD:=$(call AutoProbe,team_mode_loadbalance)
endef
$(eval $(call KernelPackage,team-mode-loadbalance))

View File

@@ -4223,6 +4223,11 @@ CONFIG_NET_SOCK_MSG=y
CONFIG_NET_SWITCHDEV=y
# CONFIG_NET_TC_SKB_EXT is not set
# CONFIG_NET_TEAM is not set
# CONFIG_NET_TEAM_MODE_ACTIVEBACKUP is not set
# CONFIG_NET_TEAM_MODE_BROADCAST is not set
# CONFIG_NET_TEAM_MODE_LOADBALANCE is not set
# CONFIG_NET_TEAM_MODE_RANDOM is not set
# CONFIG_NET_TEAM_MODE_ROUNDROBIN is not set
# CONFIG_NET_TULIP is not set
# CONFIG_NET_UDP_TUNNEL is not set
CONFIG_NET_VENDOR_3COM=y