This article addresses an issue with uneven traffic distribution across a LAG in a Layer 2 pseudowire setup on a Juniper ACX5448 router. Despite configuring hash-key settings under forwarding-options to improve egress load balancing, traffic remains skewed, with one interface carrying the majority of the load. The article discusses the observed behavior, configuration changes attempted source-mac and destination-mac hash keys, and limitations in increasing hashing entropy for multiservice traffic on the ACX platform. Guidance is requested to achieve better egress distribution.
Severely imbalanced egress traffic distribution across LAG member interfaces in a multiservice pseudowire setup, with one interface nearing saturation (>9 Gbps) while the other remains underutilized.
To address the issue of severely imbalanced egress traffic distribution across LAG member interfaces in a multiservice pseudowire setup on the Juniper ACX5448, you can configure the device to improve hashing entropy by including additional Layer 2 fields in the load-balancing hash key. This helps distribute traffic more evenly across the LAG members.
Step 1: Configure Hash Key for Layer 2 (Multiservice) Traffic
The ACX5448 allows you to include Layer 2 MAC addresses in the hashing algorithm for pseudowire traffic. To enhance entropy and improve load distribution, configure the following:
set forwarding-options hash-key family multiservice source-mac
set forwarding-options hash-key family multiservice destination-mac
This configuration ensures that both source and destination MAC addresses are considered in the hashing function, helping achieve better distribution across LAG member interfaces. Note that traffic with identical MAC pairs will still follow the same path.
Step 2: Understand Hashing Options by Traffic Type
Step 3: Consider Adaptive Load Balancing (Optional but Recommended)
To further enhance distribution when traditional hashing falls short, enable Adaptive Load Balancing:
set interfaces ae0 aggregated-ether-options load-balance adaptive tolerance 10
Benefits:
Caveats:
Example Output from Lab Testing:
[edit interfaces ae0 aggregated-ether-options]
+ load-balance {
+ adaptive {
+ tolerance 10;
+ }
commit complete
Reference Documentation