[openwrt/openwrt] kernel: add network teaming modules
LEDE Commits
lede-commits at lists.infradead.org
Wed Dec 10 14:56:12 PST 2025
hauke pushed a commit to openwrt/openwrt.git, branch main:
https://git.openwrt.org/8b05db405bb98b764f6b3e7a500e3ee10199657b
commit 8b05db405bb98b764f6b3e7a500e3ee10199657b
Author: Qingfang Deng <dqfext at gmail.com>
AuthorDate: Wed Dec 10 09:28:29 2025 +0800
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 at gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21120
Signed-off-by: Hauke Mehrtens <hauke at hauke-m.de>
---
package/kernel/linux/modules/netsupport.mk | 65 ++++++++++++++++++++++++++++++
target/linux/generic/config-6.12 | 5 +++
2 files changed, 70 insertions(+)
diff --git a/package/kernel/linux/modules/netsupport.mk b/package/kernel/linux/modules/netsupport.mk
index 7ae729f6ba..82c992b853 100644
--- a/package/kernel/linux/modules/netsupport.mk
+++ b/package/kernel/linux/modules/netsupport.mk
@@ -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))
diff --git a/target/linux/generic/config-6.12 b/target/linux/generic/config-6.12
index 2b96eb286c..fda78b422e 100644
--- a/target/linux/generic/config-6.12
+++ b/target/linux/generic/config-6.12
@@ -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
More information about the lede-commits
mailing list