18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only 28c2ecf20Sopenharmony_cimenuconfig NET_TEAM 38c2ecf20Sopenharmony_ci tristate "Ethernet team driver support" 48c2ecf20Sopenharmony_ci help 58c2ecf20Sopenharmony_ci This allows one to create virtual interfaces that teams together 68c2ecf20Sopenharmony_ci multiple ethernet devices. 78c2ecf20Sopenharmony_ci 88c2ecf20Sopenharmony_ci Team devices can be added using the "ip" command from the 98c2ecf20Sopenharmony_ci iproute2 package: 108c2ecf20Sopenharmony_ci 118c2ecf20Sopenharmony_ci "ip link add link [ address MAC ] [ NAME ] type team" 128c2ecf20Sopenharmony_ci 138c2ecf20Sopenharmony_ci To compile this driver as a module, choose M here: the module 148c2ecf20Sopenharmony_ci will be called team. 158c2ecf20Sopenharmony_ci 168c2ecf20Sopenharmony_ciif NET_TEAM 178c2ecf20Sopenharmony_ci 188c2ecf20Sopenharmony_ciconfig NET_TEAM_MODE_BROADCAST 198c2ecf20Sopenharmony_ci tristate "Broadcast mode support" 208c2ecf20Sopenharmony_ci depends on NET_TEAM 218c2ecf20Sopenharmony_ci help 228c2ecf20Sopenharmony_ci Basic mode where packets are transmitted always by all suitable ports. 238c2ecf20Sopenharmony_ci 248c2ecf20Sopenharmony_ci All added ports are setup to have team's device address. 258c2ecf20Sopenharmony_ci 268c2ecf20Sopenharmony_ci To compile this team mode as a module, choose M here: the module 278c2ecf20Sopenharmony_ci will be called team_mode_broadcast. 288c2ecf20Sopenharmony_ci 298c2ecf20Sopenharmony_ciconfig NET_TEAM_MODE_ROUNDROBIN 308c2ecf20Sopenharmony_ci tristate "Round-robin mode support" 318c2ecf20Sopenharmony_ci depends on NET_TEAM 328c2ecf20Sopenharmony_ci help 338c2ecf20Sopenharmony_ci Basic mode where port used for transmitting packets is selected in 348c2ecf20Sopenharmony_ci round-robin fashion using packet counter. 358c2ecf20Sopenharmony_ci 368c2ecf20Sopenharmony_ci All added ports are setup to have team's device address. 378c2ecf20Sopenharmony_ci 388c2ecf20Sopenharmony_ci To compile this team mode as a module, choose M here: the module 398c2ecf20Sopenharmony_ci will be called team_mode_roundrobin. 408c2ecf20Sopenharmony_ci 418c2ecf20Sopenharmony_ciconfig NET_TEAM_MODE_RANDOM 428c2ecf20Sopenharmony_ci tristate "Random mode support" 438c2ecf20Sopenharmony_ci depends on NET_TEAM 448c2ecf20Sopenharmony_ci help 458c2ecf20Sopenharmony_ci Basic mode where port used for transmitting packets is selected 468c2ecf20Sopenharmony_ci randomly. 478c2ecf20Sopenharmony_ci 488c2ecf20Sopenharmony_ci All added ports are setup to have team's device address. 498c2ecf20Sopenharmony_ci 508c2ecf20Sopenharmony_ci To compile this team mode as a module, choose M here: the module 518c2ecf20Sopenharmony_ci will be called team_mode_random. 528c2ecf20Sopenharmony_ci 538c2ecf20Sopenharmony_ciconfig NET_TEAM_MODE_ACTIVEBACKUP 548c2ecf20Sopenharmony_ci tristate "Active-backup mode support" 558c2ecf20Sopenharmony_ci depends on NET_TEAM 568c2ecf20Sopenharmony_ci help 578c2ecf20Sopenharmony_ci Only one port is active at a time and the rest of ports are used 588c2ecf20Sopenharmony_ci for backup. 598c2ecf20Sopenharmony_ci 608c2ecf20Sopenharmony_ci Mac addresses of ports are not modified. Userspace is responsible 618c2ecf20Sopenharmony_ci to do so. 628c2ecf20Sopenharmony_ci 638c2ecf20Sopenharmony_ci To compile this team mode as a module, choose M here: the module 648c2ecf20Sopenharmony_ci will be called team_mode_activebackup. 658c2ecf20Sopenharmony_ci 668c2ecf20Sopenharmony_ciconfig NET_TEAM_MODE_LOADBALANCE 678c2ecf20Sopenharmony_ci tristate "Load-balance mode support" 688c2ecf20Sopenharmony_ci depends on NET_TEAM 698c2ecf20Sopenharmony_ci help 708c2ecf20Sopenharmony_ci This mode provides load balancing functionality. Tx port selection 718c2ecf20Sopenharmony_ci is done using BPF function set up from userspace (bpf_hash_func 728c2ecf20Sopenharmony_ci option) 738c2ecf20Sopenharmony_ci 748c2ecf20Sopenharmony_ci To compile this team mode as a module, choose M here: the module 758c2ecf20Sopenharmony_ci will be called team_mode_loadbalance. 768c2ecf20Sopenharmony_ci 778c2ecf20Sopenharmony_ciendif # NET_TEAM 78