Unless you specifically configure true "per-packet" on your LAG:

Well, not exactly the same thing. (But it's my mistake, I was referring to L3 balancing, not L2 interface stuff.) 

load-balance per-packet will cause massive reordering, because it's random spray , caring about nothing except equal loading of the members. It's a last resort option that will cause tons of reordering. (And they call that out quite clearly in docs.) If you don't care about reordering it's great. 

load-balance adaptive generally did a decent enough job last time I used it much. stateful was hit or miss ; sometimes it tested amazing, other times not so much. But it wasn't a primary requirement so I never dove into why 
 

On Wed, Sep 6, 2023 at 12:04 PM Mark Tinka <mark@tinka.africa> wrote:


On 9/6/23 17:27, Tom Beecher wrote:

>
> At least on MX, what Juniper calls 'per-packet' is really 'per-flow'.

Unless you specifically configure true "per-packet" on your LAG:

     set interfaces ae2 aggregated-ether-options load-balance per-packet

I ran per-packet on a Juniper LAG 10 years ago. It produced 100% perfect
traffic distribution. But the reordering was insane, and the
applications could not tolerate it.

If you applications can tolerate reordering, per-packet is fine. In the
public Internet space, it seems we aren't there yet.

Mark.