162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only 262306a36Sopenharmony_cimenuconfig NET_TEAM 362306a36Sopenharmony_ci tristate "Ethernet team driver support" 462306a36Sopenharmony_ci help 562306a36Sopenharmony_ci This allows one to create virtual interfaces that teams together 662306a36Sopenharmony_ci multiple ethernet devices. 762306a36Sopenharmony_ci 862306a36Sopenharmony_ci Team devices can be added using the "ip" command from the 962306a36Sopenharmony_ci iproute2 package: 1062306a36Sopenharmony_ci 1162306a36Sopenharmony_ci "ip link add link [ address MAC ] [ NAME ] type team" 1262306a36Sopenharmony_ci 1362306a36Sopenharmony_ci To compile this driver as a module, choose M here: the module 1462306a36Sopenharmony_ci will be called team. 1562306a36Sopenharmony_ci 1662306a36Sopenharmony_ciif NET_TEAM 1762306a36Sopenharmony_ci 1862306a36Sopenharmony_ciconfig NET_TEAM_MODE_BROADCAST 1962306a36Sopenharmony_ci tristate "Broadcast mode support" 2062306a36Sopenharmony_ci depends on NET_TEAM 2162306a36Sopenharmony_ci help 2262306a36Sopenharmony_ci Basic mode where packets are transmitted always by all suitable ports. 2362306a36Sopenharmony_ci 2462306a36Sopenharmony_ci All added ports are setup to have team's device address. 2562306a36Sopenharmony_ci 2662306a36Sopenharmony_ci To compile this team mode as a module, choose M here: the module 2762306a36Sopenharmony_ci will be called team_mode_broadcast. 2862306a36Sopenharmony_ci 2962306a36Sopenharmony_ciconfig NET_TEAM_MODE_ROUNDROBIN 3062306a36Sopenharmony_ci tristate "Round-robin mode support" 3162306a36Sopenharmony_ci depends on NET_TEAM 3262306a36Sopenharmony_ci help 3362306a36Sopenharmony_ci Basic mode where port used for transmitting packets is selected in 3462306a36Sopenharmony_ci round-robin fashion using packet counter. 3562306a36Sopenharmony_ci 3662306a36Sopenharmony_ci All added ports are setup to have team's device address. 3762306a36Sopenharmony_ci 3862306a36Sopenharmony_ci To compile this team mode as a module, choose M here: the module 3962306a36Sopenharmony_ci will be called team_mode_roundrobin. 4062306a36Sopenharmony_ci 4162306a36Sopenharmony_ciconfig NET_TEAM_MODE_RANDOM 4262306a36Sopenharmony_ci tristate "Random mode support" 4362306a36Sopenharmony_ci depends on NET_TEAM 4462306a36Sopenharmony_ci help 4562306a36Sopenharmony_ci Basic mode where port used for transmitting packets is selected 4662306a36Sopenharmony_ci randomly. 4762306a36Sopenharmony_ci 4862306a36Sopenharmony_ci All added ports are setup to have team's device address. 4962306a36Sopenharmony_ci 5062306a36Sopenharmony_ci To compile this team mode as a module, choose M here: the module 5162306a36Sopenharmony_ci will be called team_mode_random. 5262306a36Sopenharmony_ci 5362306a36Sopenharmony_ciconfig NET_TEAM_MODE_ACTIVEBACKUP 5462306a36Sopenharmony_ci tristate "Active-backup mode support" 5562306a36Sopenharmony_ci depends on NET_TEAM 5662306a36Sopenharmony_ci help 5762306a36Sopenharmony_ci Only one port is active at a time and the rest of ports are used 5862306a36Sopenharmony_ci for backup. 5962306a36Sopenharmony_ci 6062306a36Sopenharmony_ci Mac addresses of ports are not modified. Userspace is responsible 6162306a36Sopenharmony_ci to do so. 6262306a36Sopenharmony_ci 6362306a36Sopenharmony_ci To compile this team mode as a module, choose M here: the module 6462306a36Sopenharmony_ci will be called team_mode_activebackup. 6562306a36Sopenharmony_ci 6662306a36Sopenharmony_ciconfig NET_TEAM_MODE_LOADBALANCE 6762306a36Sopenharmony_ci tristate "Load-balance mode support" 6862306a36Sopenharmony_ci depends on NET_TEAM 6962306a36Sopenharmony_ci help 7062306a36Sopenharmony_ci This mode provides load balancing functionality. Tx port selection 7162306a36Sopenharmony_ci is done using BPF function set up from userspace (bpf_hash_func 7262306a36Sopenharmony_ci option) 7362306a36Sopenharmony_ci 7462306a36Sopenharmony_ci To compile this team mode as a module, choose M here: the module 7562306a36Sopenharmony_ci will be called team_mode_loadbalance. 7662306a36Sopenharmony_ci 7762306a36Sopenharmony_ciendif # NET_TEAM 78