IFCFG-TEAM(5)
πΈ NAME πΈ
Okay bestie, so this whole page is ifcfg-team β the interface team configuration situation. That's the manual name right there, ifcfg-team(5), now folded in all cute at the top so we can get into the good stuff. π
β¨ SYNOPSIS β¨
/etc/sysconfig/network/ifcfg-*
π Team Interfaces π
So real talk: to set up a team interface you need a configuration file called ifcfg-team<X> that has all your normal network settings in it. But plot twist β that is not enough. You also must add extra variables on top, and those are the ones below. π
TEAM_DEBUG_LEVELβ how much debug message energy you want. The higher the number, the more debug messages get printed out.
Default: 0 (disabled β like, no debug spam at all)
TEAM_NOTIFY_PEERS_COUNTβ the number of bursts of unsolicited NAs and gratuitous ARP packets that get sent after a port is enabled or disabled. If you don't set it, teamd's default is used. π«ΆTEAM_NOTIFY_PEERS_INTERVALβ value is a positive number in milliseconds. Specifies the interval between bursts of notify-peer packets. If you don't set it, teamd's default is used.TEAM_MCAST_REJOIN_COUNTβ the number of bursts of multicast group rejoin requests sent after a port is enabled or disabled. If you don't set it, teamd's default is used.TEAM_MCAST_REJOIN_INTERVALβ value is a positive number in milliseconds. Specifies the interval between bursts of multicast group rejoin requests. If you don't set it, teamd's default is used. β¨TEAM_RUNNERβ this one is mandatory, no cap. It must be set to one of the following types to identify this interface as a team interface:broadcastβ team device transmits packets via all its ports.roundrobinβ team device transmits packets via all its ports with round-robin method.activebackupβ team device monitors ports' link changes and uses the port with the active link to transmit packets.loadbalanceβ team device transmits packets via all its ports performing load balancing (passive or active) with a use of hash functions. For passive load balancing only BPF hash function is used. For active load balancing the runner finds the best balance by moving hashes between available ports. π₯lacpβ implements 802.3ad LACP protocol.
π ACTIVE-BACKUP RUNNER SPECIFIC OPTIONS π
TEAM_AB_HWADDR_POLICYβ determines the hardware addresses assignment for the team device instance and its ports. This assignment is performed during team device instance creation and also for each new port added to the existing instance. The following modes are available:same_allβ all ports will always have the same hardware address as the associated team device.by_activeβ team device adopts the hardware address of the currently active port. This is useful when the port device is not able to change its hardware address.only_activeβ only the active port adopts the hardware address of the team device. The others have their own.
Default: same_all
π¦ LOAD BALANCE RUNNER SPECIFIC OPTIONS π¦
TEAM_LB_TX_HASHβ a list of string elements separated by a comma,which should be used for packet Tx hash computation. The following elements are available:ethβ uses source and destination MAC addresses.vlanβ uses VLAN id.ipv4β uses source and destination IPv4 addresses.ipv6β uses source and destination IPv6 addresses.ipβ uses source and destination IPv4 and IPv6 addresses.l3β uses source and destination IPv4 and IPv6 addresses.tcpβ uses source and destination TCP ports.udpβ uses source and destination UDP ports.sctpβ uses source and destination SCTP ports.l4β uses source and destination TCP and UDP and SCTP ports.
TEAM_LB_TX_BALANCER_NAMEβ name of the active Tx balancer. Currently the only supported value isbasic.TEAM_LB_TX_BALANCER_INTERVALβ rebalancing interval. To be specified in tenths of a second. β³
Default: 50
π LACP RUNNER SPECIFIC OPTIONS π
TEAM_LACP_ACTIVEβ active mode enables sending LACPDU frames through the configured link periodically.
Default: true
TEAM_LACP_SYS_PRIOβ system priority, value can be0-65535.
Default: 255
TEAM_LACP_FAST_RATEβ fast rate asks the link partner to transmit LACPDU frames once per second. Otherwise they are sent every 30 seconds.
Default: false
TEAM_LACP_MIN_PORTSβ minimum number of active ports required to assert carrier in the master device. Value can be1-255.
Default: 0
TEAM_LACP_SELECT_POLICYβ the policy of how the aggregators will be selected. The following are available:lacp_prioβ the aggregator with the highest priority according to the LACP standard will be selected. Aggregator priority is affected by the per-port optionlacp_prio.lacp_prio_stableβ same as the previous one, except it does not replace the selected aggregator if it is still usable. π«Άbandwidthβ select the aggregator with the highest total bandwidth.countβ select the aggregator with the highest number of ports.port_optionsβ the aggregator with the highest priority according to the per-port optionsprioandstickywill be selected. This means the aggregator containing the port with the highest priority will be selected unless at least one of the ports in the currently selected aggregator is sticky.
Default: lacp_prio
TEAM_LACP_TX_HASHβ same as for the loadbalancer runner. Please refer to the section above. βTEAM_LACP_TX_BALANCERβ same as for the loadbalancer runner. Please refer to the section above.TEAM_LACP_TX_BALANCER_INTERVALβ same as for the loadbalancer runner. Please refer to the section above.
π§ LINK WATCH OPTIONS π§
TEAM_LINK_WATCH_POLICYβ declare the name of the link-watchers evaluation policy. The following options are available:anyβ link is up if any of the link-watchers reports the link up.allβ link is up if all of the link-watchers report the link up.
Default: any
TEAM_LW_NAME[SUFFIX]β declares the type name of the link watch (with the specified unique watch suffix). To declare several link watches, append the same suffix to all variables of one watch. The following types are available:ethtoolβ uses Libteam lib to get port ethtool state changes.arp_pingβ ARP requests are sent through a port. If an ARP reply is received, the link is considered to be up.nsna_pingβ similar to the previous one, except that it uses the IPv6 Neighbor Solicitation / Neighbor Advertisement mechanism. π¦
π ETHTOOL LINK WATCH SPECIFIC OPTIONS π
TEAM_LW_ETHTOOL_DELAY_UP[SUFFIX]β delay between the link coming up and the runner being notified about it (in milliseconds).
Default: 0
TEAM_LW_ETHTOOL_DELAY_DOWN[SUFFIX]β delay between the link going down and the runner being notified about it (in milliseconds).
Default: 0
π ARP PING LINK WATCH SPECIFIC OPTIONS π
TEAM_LW_ARP_PING_SOURCE_HOST[SUFFIX]β hostname or IP address used in the ARP request as the source address.
Default: 0.0.0.0
TEAM_LW_ARP_PING_TARGET_HOST[SUFFIX]β hostname or IP address used in the ARP request as the destination address.TEAM_LW_ARP_PING_INTERVAL[SUFFIX]β interval between ARP requests being sent (in milliseconds).
Default: 1000
TEAM_LW_ARP_PING_INIT_WAIT[SUFFIX]β delay between link watch initialization and the first ARP request being sent (in milliseconds).
Default: 0
TEAM_LW_ARP_PING_VALIDATE_ACTIVE[SUFFIX]β validate received ARP packets on active ports. Otherwise all incoming ARP packets will be considered as a good reply.
Default: false
TEAM_LW_ARP_PING_VALIDATE_INACTIVE[SUFFIX]β validate received ARP packets on inactive ports. Otherwise all incoming ARP packets will be considered as a good reply.
Default: false
TEAM_LW_ARP_PING_SEND_ALWAYS[SUFFIX]β allow sending ARP requests on inactive ports.
Default: false
TEAM_LW_ARP_PING_MISSED_MAX[SUFFIX]β maximum number of missed ARP replies. If this number is exceeded, the link is reported as down. π
Default: 3
TEAM_LW_ARP_PING_VLANID[SUFFIX]β by default, ARP requests are sent without VLAN tags. This option causes outgoing ARP requests to be sent with the specified VLAN ID number.
πΈ NS/NA PING LINK WATCH SPECIFIC OPTIONS πΈ
TEAM_LW_NSNA_PING_TARGET_HOST[SUFFIX]β hostname or IPv6 address used in the NS packet as the target address.TEAM_LW_NSNA_PING_INTERVAL[SUFFIX]β interval between sending NS packets (in milliseconds).
Default: 1000
TEAM_LW_NSNA_PING_INIT_WAIT[SUFFIX]β delay between link watch initialization and the first NS packet being sent (in milliseconds).TEAM_LW_NSNA_PING_MISSED_MAX[SUFFIX]β maximum number of missed NA reply packets. If this number is exceeded, the link is reported as down. π
Default: 3
π TEAM PORT SPECIFIC OPTIONS π
TEAM_PORT_DEVICE[SUFFIX]β port device name. This option must not be empty for a given port. (Like, literally, don't leave it blank.)TEAM_PORT_QUEUE_ID[SUFFIX]β ID of the queue which this port should be mapped to.
Default: None
TEAM_PORT_STICKY[SUFFIX]β marks an activebackup runner port as sticky, so it does not get deselected if another port with a higher priority or better parameters becomes available. π«Ά
Default: false
TEAM_PORT_PRIO[SUFFIX]β port priority in the activebackup runner. The higher number means higher priority.
Default: 0
TEAM_PORT_LACP_PRIO[SUFFIX]β port priority according to the LACP standard. The lower number means higher priority.
Default: 0
TEAM_PORT_LACP_KEY[SUFFIX]β port key according to the LACP standard. It is only possible to aggregate ports with the same key.
Default: 0
Okay bestie, that's all of part 1 β the runners, the link watches, the port options, all of it, nothing skipped π more is coming, so don't go anywhere.
πΈ EXAMPLE πΈ
Okay bestie, here's the whole thing in one go β a teaming interface over eth0 and eth1, set up "using the backup mode" (that's the page's caption, and we're quoting it as-is, don't come for me π). Feast your eyes:
STARTMODE=auto
BOOTPROTO=static
#IPADDR=...
TEAM_RUNNER="loadbalance"
TEAM_LB_TX_HASH="ipv4,ipv6,eth,vlan"
TEAM_LB_TX_BALANCER_NAME="basic"
TEAM_LB_TX_BALANCER_INTERVAL="100"
TEAM_PORT_DEVICE_1="eth1"
TEAM_PORT_DEVICE_2="eth2"
TEAM_LW_NAME="ethtool"
TEAM_LW_ETHTOOL_DELAY_UP="10"
TEAM_LW_ETHTOOL_DELAY_DOWN="10"
# optionally, further watches, e.g:
TEAM_LW_NAME_1="nsna_ping"
TEAM_LW_NSNA_PING_INTERVAL_1="100"
TEAM_LW_NSNA_PING_MISSED_MAX_1="30"
TEAM_LW_NSNA_PING_TARGET_HOST_1="fe80::1"
Like β look at her. loadbalance runner slaying with a custom TX hash, two ports, an ethtool link watch with 10 second delays both ways, plus a lil optional nsna_ping watch stacked on with the _1 suffix. That's the whole vibe. π
π¦ Additional Information π¦
If you want the bigger picture β more general info, the stuff beyond this one page β go peek at:
And bestie, setting up routes for this kind of interface is literally no different from ordinary interfaces. Same as always. See man routes for the deets. β¨
π COPYRIGHT π
Copyright (C) 2015-2022 SUSE LLC
π BUGS π
Found something cursed? Please report bugs as described at https://bugs.opensuse.org β the maintainers want to hear it, fr fr. π«Ά
π SEE ALSO π
Go read these next, iykyk:
teamd.conf (5)ifcfg (5)wicked (8)teamd (8)teamdctl (8)
π AUTHORS π
Pawel Wieczorkiewicz β original wireless man page, Clemens Famulla-Conrad.
That's the whole page, bestie β you officially know team configs now, main character energy only. π This lil masterpiece comes to you from the Wicked User Manual, dated January 29, 2024, and it lives at IFCFG-TEAM(5). Go forth and team up. π§π
π¦ where this page comes from
- opensuse-leap 16.0: wicked 0.6.80-bp160.2.1 Β· GPL-2.0-or-later
- opensuse-leap 16.0: wicked 0.6.80-bp160.2.1 Β· GPL-2.0-or-later
- opensuse-leap 16.0: wicked 0.6.80-bp160.2.1 Β· GPL-2.0-or-later
- opensuse-leap 16.0: wicked 0.6.80-bp160.2.1 Β· GPL-2.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms