Bonding Capacity Calculator
Estimate aggregate bandwidth for Linux bonding modes 0 (round-robin), 1 (active-backup) and 4 (LACP).
Inputs
Aggregate Bond Capacity (Mbps)
4,000.0
Max Throughput for a Single Flow (Mbps)
1,000.0
Mode Behavior
LACP (802.3ad) aggregates links into a true bundle, but any single flow is typically hashed to one link — aggregate N× bandwidth is only realized across many concurrent flows.
Step by step
Values used
Per-Link Speed (Mbps) = 1,000; Number of Bonded Links (N) = 4; Bonding Mode = Mode 4 — 802.3ad (LACP)
Aggregate capacity by mode
mode0/mode4: aggregate = N × per_link_speed; mode1: aggregate = per_link_speed
Aggregate Bond Capacity (Mbps)
= 4,000.0
Max Throughput for a Single Flow (Mbps)
= 1,000.0
Mode Behavior
= LACP (802.3ad) aggregates links into a true bundle, but any single flow is typically hashed to one link — aggregate N× bandwidth is only realized across many concurrent flows.
How it works
Not all Linux bonding modes deliver the same throughput characteristics despite combining the same physical links: mode 0 (balance-rr) round-robins packets across all links achieving full N× aggregate capacity even for a single flow but risks packet reordering; mode 1 (active-backup) uses exactly one link at a time purely for redundancy, so aggregate throughput is capped at a single link's speed regardless of link count; and mode 4 (802.3ad/LACP) creates a standards-based aggregate that switches also understand, delivering N× capacity in aggregate but typically hashing any individual flow to a single link, so a lone flow still can't exceed one link's speed.
Formula
Aggregate capacity by mode
mode0/mode4: aggregate = N × per_link_speed; mode1: aggregate = per_link_speed
- N
- number of bonded links
- S
- per-link speed
Frequently Asked Questions
Which bonding mode should I use for maximum single-flow throughput?
Mode 0 (balance-rr) is the only standard mode that can spread a single flow's packets across multiple links for combined throughput, but it requires a switch/network path tolerant of out-of-order delivery — most production LACP (mode 4) deployments instead rely on many concurrent flows to fill the aggregate, since any one flow is hashed to a single link.
Does LACP (mode 4) require switch-side configuration?
Yes — 802.3ad requires the connected switch ports to be configured as a matching LACP port channel/link aggregation group; without switch-side cooperation, LACP negotiation fails and the bond won't form (unlike active-backup or balance-rr, which work with unconfigured switch ports).
How do I check the current bonding mode and link status on Linux?
`cat /proc/net/bonding/<bond_name>` shows the active mode, all slave interfaces, and their individual link states (including which slave is currently active for active-backup mode).