# SPDX-License-Identifier: GPL-2.0-only
menuconfig NET_TEAM
	tristate "Ethernet team driver support"
	---help---
	  This allows one to create virtual interfaces that teams together
	  multiple ethernet devices.

	  Team devices can be added using the "ip" command from the
	  iproute2 package:

	  "ip link add link [ address MAC ] [ NAME ] type team"

	  To compile this driver as a module, choose M here: the module
	  will be called team.

if NET_TEAM

config NET_TEAM_MODE_BROADCAST
	tristate "Broadcast mode support"
	depends on NET_TEAM
	---help---
	  Basic mode where packets are transmitted always by all suitable ports.

	  All added ports are setup to have team's device address.

	  To compile this team mode as a module, choose M here: the module
	  will be called team_mode_broadcast.

config NET_TEAM_MODE_ROUNDROBIN
	tristate "Round-robin mode support"
	depends on NET_TEAM
	---help---
	  Basic mode where port used for transmitting packets is selected in
	  round-robin fashion using packet counter.

	  All added ports are setup to have team's device address.

	  To compile this team mode as a module, choose M here: the module
	  will be called team_mode_roundrobin.

config NET_TEAM_MODE_RANDOM
	tristate "Random mode support"
	depends on NET_TEAM
	---help---
	  Basic mode where port used for transmitting packets is selected
	  randomly.

	  All added ports are setup to have team's device address.

	  To compile this team mode as a module, choose M here: the module
	  will be called team_mode_random.

config NET_TEAM_MODE_ACTIVEBACKUP
	tristate "Active-backup mode support"
	depends on NET_TEAM
	---help---
	  Only one port is active at a time and the rest of ports are used
	  for backup.

	  Mac addresses of ports are not modified. Userspace is responsible
	  to do so.

	  To compile this team mode as a module, choose M here: the module
	  will be called team_mode_activebackup.

config NET_TEAM_MODE_LOADBALANCE
	tristate "Load-balance mode support"
	depends on NET_TEAM
	---help---
	  This mode provides load balancing functionality. Tx port selection
	  is done using BPF function set up from userspace (bpf_hash_func
	  option)

	  To compile this team mode as a module, choose M here: the module
	  will be called team_mode_loadbalance.

endif # NET_TEAM
