interfaces-bond - Bonding/LAG extensions for the
interfaces(5) file format
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.
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.
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.
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.
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.
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
Maximilian Wilhelm <max@sdn.clinic>