redzilla
All tools
Layer 2

Link Aggregation (LAG)

Define the member links and their speed and I compute the aggregate bandwidth, the per-flow ceiling (one flow never exceeds one link) and the hash balancing, warning if the split is uneven.

1 16

LACP allows up to 8 active members per bundle on many platforms; some reach 16.

Informational: it only changes which fields feed the hash, not the number of buckets. The split is computed from the bucket count.

Examples
redzilla.cl — lag
 
Aggregate bandwidth
Per-flow ceiling
one flow = one single link
Hash buckets
Aggregate
Per-flow
Split

Hash load-balancing

Buckets per member

How it is computed · aggregate, flow and buckets

1. Aggregate bandwidth = N × speed. It is the theoretical ceiling: the sum of all active members.

2. Per-flow ceiling = 1 link. The hash maps each flow (same source/destination pair) to one member, so a single flow never exceeds one link's speed.

3. Hash buckets: a power of 2 (typ. 8). They are split across the N members: base = ⌊buckets / N⌋ with buckets mod N leftover buckets going to the first members.

4. If N is not a power of 2 it does not divide the buckets and the split is uneven (e.g. 3 members with 8 buckets → 3/3/2): some members carry more traffic than others.

Runs locally in your browser · no sign-up · nothing leaves your browser

How it works

The calculator models a LAG (Link Aggregation Group, also known as EtherChannel or port-channel, standardized with LACP in IEEE 802.1AX, formerly 802.3ad). From the number of member links (1 to 16) and their speed, it returns the aggregate bandwidth (N × speed), the per-flow ceiling and how the hash buckets are distributed among the members.

The key point is that a LAG does not speed up individual flows: the balancing algorithm (src-dst-mac, src-dst-ip or src-dst-ip-port) pins each flow to one member via a hash, so a single flow never exceeds the speed of one link. The hash buckets are a power of 2 (minimum 8) and are distributed as ⌊buckets ÷ N⌋ with the remainder going to the first members; when N is not a power of 2, the distribution becomes uneven and the tool warns you with the per-member detail.

Example: a 3 × 10 GbE LAG

  1. Aggregate bandwidth: 3 × 10 = 30 Gbps (theoretical ceiling of the bundle).
  2. Per-flow ceiling: 10 Gbps, because each flow is pinned to a single member.
  3. Hash buckets: 8 spread across 3 members → 3 / 3 / 2: two links carry 37.5 % of the traffic each and the third only 25 %.
  4. Verdict: uneven distribution; with 2, 4 or 8 members the balancing would be even.

Frequently asked questions

Why does my 4 × 1 Gbps LAG not give me 4 Gbps on a single transfer?
Because the balancing hash assigns each flow (same source/destination pair) to a single member link: a single TCP transfer tops out at 1 Gbps. The aggregate 4 Gbps is only realized with many simultaneous flows spread across the members.
How many links should a LAG have: 3 or 4?
Prefer powers of 2 (2, 4, 8): since hash buckets are a power of 2, with 3 members the split comes out 3/3/2 and one link is systematically less loaded while the other two concentrate more traffic. With 4 members each one gets exactly 2 of 8 buckets and the balancing is even. Also, many platforms limit LACP to 8 active links per bundle.
What is the difference between balancing by src-dst-mac, src-dst-ip and src-dst-ip-port?
It changes which fields feed the hash, not the number of buckets. src-dst-mac (L2) works on flat segments, but if everything crosses a router the MACs repeat and traffic lands on few links; src-dst-ip (L3) diversifies by IP pair; and src-dst-ip-port (L3+L4) is the most granular because two connections between the same hosts can use different links.
Does LACP increase speed or just provide redundancy?
Both, with caveats: it adds total capacity for sets of flows and provides redundancy, because if a member fails, traffic rebalances across the remaining links within seconds. What it does not do is multiply the speed of an individual flow, and with an odd N the effective capacity is somewhat below nominal due to the uneven split.
Was this tool useful?
Disclaimer We take great care to keep every tool accurate and review it thoroughly; even so, we can't guarantee it is free of errors or take responsibility for how the results are used. We recommend double-checking anything critical.
Found an error? Let us know →