Check how evenly a LAG hash spreads flows across members and how much skew a non-power-of-two bundle causes.
Hashing maps each flow to one of a fixed number of buckets and buckets to members. When the member count divides the bucket table exactly the split is perfect; otherwise the members holding the leftover buckets run hot, which is the real reason bundles are built in powers of two. Bucket skew is small, but hash-entropy skew is not — a few elephant flows or a MAC-only hash behind a router can put most of the traffic on one member while the bundle reports plenty of spare capacity.
LACP Distribution
Buckets per member = floor(buckets ÷ members); the members that absorb the remainder carry one extra bucket, so skew = (busiest buckets ÷ buckets) − (1 ÷ members).
Flow distribution
flows per member = flows ÷ members, assuming uniform hash input.
Buckets per member = floor(buckets ÷ members); the members that absorb the remainder carry one extra bucket, so skew = (busiest buckets ÷ buckets) − (1 ÷ members). Hashing maps each flow to one of a fixed number of buckets and buckets to members. When the member count divides the bucket table exactly the split is perfect; otherwise the members holding the leftover buckets run hot, which is the real reason bundles are built in powers of two.
Bucket skew is small, but hash-entropy skew is not — a few elephant flows or a MAC-only hash behind a router can put most of the traffic on one member while the bundle reports plenty of spare capacity.
This calculator takes 4 inputs: Active member links, Concurrent flows, Hash buckets in hardware, Hash policy. The pre-filled defaults are a realistic starting point — replace them with figures from your own environment for a result you can act on.