---
name: "interfaces-bond"
section: "5"
platform: "linux"
package: "ifupdown-ng"
version: "0.12.1-7"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/interfaces-bond"
---

# interfaces-bond(5)

Bonding/LAG extensions for the interfaces(5) file format

## NAME

**interfaces-bond** - Bonding/LAG extensions for the [interfaces(5)](/interfaces/5.md) file format

## DESCRIPTION

The Linux implementation for Ling Aggregation Groups (LAGs) is called *bonding*, whereas a LAG interface is called *bond*. The Linux bonding implementation supports active/passive setups, classical EtherChannels as well as LACP (802.3ad).

The following options set up bonding/LAG interfaces with ifupdown-ng.

See https://www.kernel.org/doc/Documentation/networking/bonding.rst and for more information.

## BOND-RELATED OPTIONS

A bond interface must have at least one member port set. All other options are optional.

**bond-members** *list of interfaces*

Denotes the physical member interfaces to form this LAG. For compatiblity to ifupdown1 and ifupdown2 *slaves* as well as *bond-slaves* are an alias for this option. This option is required.

**bond-mode** *mode*

Denotes the mode for this LAG. The *mode* can be given as string or as numerical value. Valid values are *balance-rr* (0), *active-backup* (1), *balance-xor* (2), *broadcast* (3), *802.3ad* (4), *balance-tlb* (5), *balance-alb* (6). The default is *balance-rr*.

**bond-xmit-hash-policy** *policy*

Denotes the hash policy/algorithm used to distribute packets across the physical links. This only applies for modes *balance-alb*, *balance-tlb*, *balance-xor*, and *802.3ad*. The *policy* can be given as string or as numerical value. Valid values are *layer2* (0), *layer3+4* (1), *layer2+3* (2), *encap2+3* (3), and *encap3+4* (4). The default is *layer2*.

**bond-min-links** *number*

Denotes the minimum number of available links before turning on carrier.

**bond-miimon** *interval*

Denotes the MII link monitoring frequency in milliseconds. This determines how often the link state of each slave is inspected for link failures. A value of zero disables MII link monitoring. The default is 0.

**bond-use-carrier** *bool*

Denotes wether miimon uses MII or ethtool ioctls vs. the netif\_carrier\_ok() call to determine member link status. A value of 1 enables the use of netif\_carrier\_ok(), a value of 0 will use the deprecated MII / ETHTOOL ioctls. The default is 1.

**bond-updelay** *delay*

Denotes the delay in milliseconds before considering link up, in milliseconds. The default is 0.

**bond-downdelay** *delay*

Denotes the delay in milliseconds before considering link down, in milliseconds. The default is 0.

**bond-all-slaves-active** *bool*

Denotes wether duplicate frames (received on inactive ports) should be dropped (0) or delivered (1). The default is 0.

**bond-packets-per-slave** *num\_packets*

Denotes the number of packets to transmit through a member before moving to the next one. When set to 0 then a slave is chosen at random. The valid range is 0 - 65535; the default value is 1. This option has effect only in balance-rr mode.

**bond-lp-interval** *interval*

Denotes the interval in seconds between sending learning packets to each members peer switch. The valid range is 1 - 0x7fffffff; the default value is 1. This option has effect only in modes balance-tlb and balance-alb.

**bond-resend-igmp** *number*

Denotes the number of IGMP membership reports to send after a link failover happend. The valid range is 0 - 255; a value of 0 prevents the IGMP membership report from being issued in response to the failover event. The default is 1. This option is useful for bonding modes balance-rr, active-backup balance-tlb and balance-alb, in which a failover can switch the IGMP traffic from one slave to another.

## LACP-RELATED OPTIONS

The following options are only valid in LACP (802.3ad) mode.

**bond-lacp-rate** *rate*

Denotes the *rate* of LACPDU requested from the peer. The *rate* can be given as string or as numerical value. Valid values are slow (0) and fast (1). The default is slow.

**bond-ad-select** *mode*

Denotes the 802.3ad aggregation selection logic. The *mode* can be given as string or as numerical value. Valid values are *stable* (0), *bandwidth* (1) and *cound* (2). The default is *stable*.

**bond-ad-actor-sys-prio** *priority*

Denotes the LACP system priority. The allowed range is 1 - 65535. The default value is 65535.

**bond-ad-user-port-key** *key*

Denotes the upper 10 bits of the port-key. he values can be from 0 - 1023. The default is 0.

## ACTIVE/BACKUP-RELATED OPTIONS

The following options are only valid in active/passive setups.

**bond-primary** *interface*

Denotes the primary member interface The specified device will always be the active slave while it is available. The primary option is only valid for active-backup, balance-tlb and balance-alb mode.

**bond-primary-reselect** *policy*

Denotes the reselection policy for the primary member interface. Valid values are *always* (0), *better* (1), and *failure* (2). The default is *always*.

**bond-fail-over-mac** *mode*

Denotes whether active-backup mode should set all member interfaces to the same MAC address at enslavement (the traditional behavior), or, when enabled, perform special handling of the bond's MAC address in accordance with the selected policy. Valid values are *none* (0), *active* (1), *follow* (2). The default is *none*.

**bond-num-grat-arp** *count*

Denotes the number of peer notifications (gratuitous ARPs and unsolicited IPv6 Neighbor Advertisements) to be issued after a failover event. The valid range is 0 - 255; the default is 1.

**bond-num-unsol-na** *count*

This is an alias for *bond-num-grat-arp*

**bond-peer-notif-delay** *interval*

Denotes the interval in milliseconds, between each peer notification (gratuitous ARP and unsolicited IPv6 Neighbor Advertisement) issued after a failover event. The default is 0 which means to match the value of the link monitor interval.

## ARP-RELATED OPTIONS

The following options configure ARP link monitoring. The ARP monitor works by periodically checking the slave devices to determine whether they have sent or received traffic recently. Regular traffic is generated via ARP probes issued for the addresses specified by the *bond-arp-ip-target* option.

**bond-arp-interval** *interval*

Denotes the frequency in milliseconds to send ARP probes.

**bond-arp-ip-target** *IPv4 address*

Denotes the IP addresses to use as ARP monitoring peers when *bond-arp-interval* is \> 0.

**bond-arp-validate** *mode*

Specifies whether or not ARP probes and replies should be validated in any mode that supports arp monitoring, or whether non-ARP traffic should be filtered (disregarded) for link monitoring purposes. Valid values are *none* (0), *active* (1), *backup* (2), *all* (3), *filter* (4), *filter\_active* (5), and *filter\_backup* (6). The default is *none*.

**bond-arp-all-targets** *mode*

Denotes the number of *bond-arp-ip-targets* that have to be reachable to consider the member interface to be up. Valid options are *any* (0) and *all* (1). The default is *any*.

## EXAMPLES

A bond using two links and LACP (802.3ad):

```
auto bond0
iface bond0
	bond-members eth0 eth1
	bond-mode 802.3ad
	bond-xmit-hash-policy layer3+4
	bond-min-links 1
	#
	address 192.0.2.42/24
	address 2001:db8::42/64
```

## AUTHORS

Maximilian Wilhelm \<max@sdn.clinic\>
