Leg address schemes¶
A leg address scheme is a system for obtaining and managing IP addresses on a leg’s interface. Currently, there are four different address schemes:
DHCP
PPPoE
Static
Auto IPv6
An interface leg can be configured with multiple different address schemes, but can have at most one of each type, with the exception of static address schemes (of which there can be an infinite amount). The leg will subsequently add (and remove) IP addresses on the bonder’s interfaces as prescribed by its configured address schemes.
Of these addresses, bonding will designate one to be the current “active” address on the leg. All tunneled traffic leaving a leg will be sourced from its current active address. Bonding chooses a new active address for a leg when
the leg is created,
the current active address is deleted, or
the current active address stops working (i.e. it can no longer be used to reach the aggregator).
To pick a new active address, bonding will simply cycle through a leg’s configured addresses (ordered by ID, lowest to highest) and settle on the first one it can use to reach the aggregator. If no address works, it will try again until one does.
Warning
This is not the case for legacy bonders, which only support having one address scheme configured per leg. See backwards compatibility below for more details.
Tip
The documentation on the v4 API and leg address hooks use the term “addressing” to refer to a leg address scheme.
Managing address schemes¶
Address schemes can be added, edited, or deleted via the Addresses tab when configuring a leg.

Click the
button to add an address scheme.
Once an address scheme is created, its configuration options appear next to it and can be freely modified.
All address schemes can be enabled or disabled via the slider beside the scheme name. New addresses default to enabled.
You can delete a scheme by clicking the
button.
Click
to submit any configuration changes you make (including deletion).
Warning
Interface legs without any address schemes cannot contribute to the bond.
Address Scheme Types¶
DHCP addresses¶
With an enabled DHCP address scheme on a leg, the bonder will attempt to maintain a DHCPv4 lease on the leg’s configured interface.
Static addresses¶
A static addresses scheme is the combination of a statically configured IP address on the leg’s interface and a default route (i.e. a gateway) on that address’ network.
Statically configured IPs must be in CIDR-format, and the gateway address must belong to the same network. An exception to the latter rule is made for link-local gateway addresses. Both IPv4 and IPv6 addresses can be statically configured.
Unlike other address schemes, a leg can have multiple static addresses.
PPPoE¶
The PPPoE address scheme is a method for obtaining and managing IP addresses from a PPPoE server.
PPPoE address schemes require PPP authentication to be configured, and an IP version preference must be set. The ‘IPv4’ and ‘IPv6’ settings will only accept IPv4 and IPv6 addresses offered by the PPPoE server, respectively. The ‘IPv4 or IPv6’ option will accept addresses of both versions and pick one to use arbitrarily. New PPPoE addresses default to ‘IPv4’.
Warning
When using a PPPoE address scheme with IPv6, only Router Advertisements are supported. DHCPv6 support in this scenario may be re-evaluated at a later date.
Auto IPv6¶
The Auto IPv6 address scheme is the amalgamation of the multiple different methods for automatic IPv6 address configuration.
Auto IPv6 address schemes attempt to obtain multiple IPv6 addresses via SLAAC (from router advertisements), DHCPv6-NA (Non-temporary Address), and DHCPv6-PD (Prefix Delegation). If any addresses are obtained, then the Auto IPv6 scheme will pick one to use with the following preference:
IA_NA
Router Advertisement
IA_PD
Backwards compatibility¶
There are a few important things to note regarding backwards compatibility of address schemes with bonders running pre-6.4 software — henceforth referred to as ‘legacy bonders’.
Legacy bonders do not support any IPv6 related features, and as such will simply ignore any Auto IPv6 or Static IPv6 addresses (see IPv6 compatibility).
Legacy bonders have no notion of ‘disabling’ or ‘enabling’ an address scheme. All configured address schemes are treated as enabled by a legacy bonder.
Legacy bonders do not support having multiple address schemes configured on a leg. If a legacy bonder is configured with multiple address schemes on a leg, the bond will use whichever scheme has the lowest ID such that it provides an IPv4 address. Note that it does not consider whether the address scheme is enabled, or if it even works.
Warning
Bonding versions prior to 6.4 do not support changing leg address schemes. It is possible to put a leg into an unusable state by removing a running DHCP or PPPoE address while configuring a new address of any type. In addition, the bond could experience stability issues if such a change were saved.
Legacy Address Choice Example¶
Suppose a legacy bonder leg is configured with the following address schemes:
(ID 1) Enabled Auto IPv6 Address
(ID 2) Disabled DHCPv4 Address
(ID 3) Enabled Static IPv4 Address
In this situation, the bond will pick (ID 2) Disabled DHCPv4 Address to use for this leg, regardless of it being ‘disabled’, since that is the IPv4 address with the lowest ID.
Backwards compatibility warnings¶
On a node that has reported its version to be pre-6.4, you will see this warning indicator next to features that are unsupported:

This denotes that the node does not support IPv6 and must be upgraded before the specified configuration will be applied. There is no need to remove these configurations, however. As the node is upgraded to 6.4 or later, the configurations will be automatically deployed.
In the event an unsupported address configuration is made, warnings or errors will be shown in the addresses tab. For example, two warnings are shown on a leg of a 6.3 bonder that has multiple addresses as well as an IPv6 address configured:

In another example, an existing DHCP address is being removed and a new PPPoE address is being added. This change could introduce instability to the running bonder, hence the error message. The undo option in the error message will undo all changes to the addresses.
