diff options
| author | Qingfang Deng | 2025-12-10 01:28:29 +0000 |
|---|---|---|
| committer | Christian Marangi | 2025-12-10 23:57:56 +0000 |
| commit | cd88eb969fd8a1ca497184a8b76ec706d24d9d30 (patch) | |
| tree | 8201165760ae9075cdbef0e1d7278caee7df9fd6 | |
| parent | 4e5e8b95a645f6f2bd952cbd51cd34b1dcbbda3d (diff) | |
| download | openwrt-cd88eb969fd8a1ca497184a8b76ec706d24d9d30.tar.gz | |
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>
(cherry picked from commit 8b05db405bb98b764f6b3e7a500e3ee10199657b)
| -rw-r--r-- | package/kernel/linux/modules/netsupport.mk | 65 | ||||
| -rw-r--r-- | target/linux/generic/config-6.12 | 5 |
2 files changed, 70 insertions, 0 deletions
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 |