Skip to content
Calcrivo

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

  1. Values used

    Per-Link Speed (Mbps) = 1,000; Number of Bonded Links (N) = 4; Bonding Mode = Mode 4 — 802.3ad (LACP)

  2. Aggregate capacity by mode

    mode0/mode4: aggregate = N × per_link_speed; mode1: aggregate = per_link_speed

  3. Aggregate Bond Capacity (Mbps)

    = 4,000.0

  4. Max Throughput for a Single Flow (Mbps)

    = 1,000.0

  5. 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).

You might also need