062215e81a
Varying only the cipher settles what inference could not. AES-128 has ten rounds against AES-256's fourteen, so a software-bound path must speed up when the cipher gets cheaper while a hardware-offloaded one will not move. Run as A/B/A on a single stream, AES-256 returns 232, 245 and 243 Mbit/s and AES-128 returns 282 and 275, a gain of about a fifth at identical CPU. The FortiGate's offload engine is therefore not the constraint, and the operator's reading of the UniFi side as software crypto without acceleration is correct. Two earlier claims of mine were wrong and are corrected in place. The observation that the UDM sat at seven percent CPU was a sampling artifact, since UniFi refreshes that statistic on the device report interval and the windows used were four seconds; a sustained run reads thirty-five percent, around one and a half of four cores. The per-session offload hypothesis is refuted rather than merely unproven, because it predicts no response to a cipher change. The remaining figures follow from this. One stream is one core, eight streams engage about three, and aggregate stops responding to cipher choice once several cores are working because the path bounds it. CBC chaining is what makes this expensive, as it serialises blocks and prevents the AES instructions from pipelining, which is also why the same gateway manages far more over WireGuard. The cipher was restored and the network object verified unchanged against its pre-test snapshot.