We see an issue with ACX7100 that its not load balancing traffic over AE (LAG) member interfaces. This issue is causing one of the member interfaces of AE to be overutilized while leaving other interfaces of same bundle underutilized.
Example: AE98 has 3xMember interfaces but only of the link egressing traffic
Interface Link Input packets (pps) Output packets (pps)
ae98 Up 11026676739 (82558) 11015676744 (82560)
et-0/0/12 Up 2261556661 (16512) 3786390177 (0)
et-0/0/13 Up 111524961 (0) 3900062964 (82560)
et-0/0/14 Up 8653594767 (66046) 3329213610 (0)
In my test cases, I used ACX7100 as transit device to bridge traffic between upstream and downstream nodes.
Test Case 1: Load Balancing - Single S.MAC and D.MAC
IXIA_1 --- MX_DUT1 ----3x---- [AE203] ACX7100 [AE98] ---3x----MX_DUT2 --- IXIA_2
Ethernet switching table : 72 entries, 72 learned
Routing instance : default-switch
Vlan MAC MAC Age GBP Logical NH RTR
name address flags Tag interface Index ID
Juniper_Lab_VLAN_1936 58:00:bb:0b:d7:cc D - ae203.500 0 0
Juniper_Lab_VLAN_1936 58:00:bb:0b:d7:cd D - ae98.1936 0 0
Juniper_Lab_VLAN_1902 58:00:bb:0b:d7:cc D - ae203.500 0 0
Juniper_Lab_VLAN_1902 58:00:bb:0b:d7:cd D - ae98.1902 0 0
Juniper_Lab_VLAN_1903 58:00:bb:0b:d7:cc D - ae203.500 0 0
Juniper_Lab_VLAN_1903 58:00:bb:0b:d7:cd D - ae98.1903 0 0
Juniper_Lab_VLAN_1924 58:00:bb:0b:d7:cc D - ae203.500 0 0
Juniper_Lab_VLAN_1924 58:00:bb:0b:d7:cd D - ae98.1924 0 0
Juniper_Lab_VLAN_1904 58:00:bb:0b:d7:cc D - ae203.500 0 0
Juniper_Lab_VLAN_1904 58:00:bb:0b:d7:cd D - ae98.1904 0 0
...
ae203 Up 11015634975 (82559) 11026704832 (82560)
et-0/0/15 Up 2257140516 (16512) 1991698540 (0)
et-0/0/16 Up 4406022188 (33024) 3236813467 (0)
et-0/0/17 Up 4352472271 (33023) 5798192825 (82560)
Test Case 2: Load Balancing - Multiple S.MACs and D.MACs
IXIA_1 ---3x--- [AE203] ACX7100 [AE98] ---3x--- IXIA_2
V100 00:00:44:16:de:3f D - ae203.500 0 0
V100 00:00:44:16:de:41 D - ae203.500 0 0
V100 00:00:44:16:de:43 D - ae203.500 0 0
V100 00:00:44:16:de:45 D - ae203.500 0 0
V100 00:00:44:16:de:47 D - ae203.500 0 0
V100 00:00:44:17:48:a1 D - ae98.100 0 0
V100 00:00:44:17:48:a3 D - ae98.100 0 0
V100 00:00:44:17:48:a5 D - ae98.100 0 0
V100 00:00:44:17:48:a7 D - ae98.100 0 0
V100 00:00:44:17:48:a9 D - ae98.100 0 0
ae98 Up 11053952175 (165016) 11042952227 (165017)
et-0/0/12 Up 2268357607 (66006) 3788516160 (0)
et-0/0/13 Up 114215456 (66007) 3923086509 (165017)
et-0/0/14 Up 8671378762 (33003) 3331339565 (0)
ae203 Up 11042910445 (165019) 11053980343 (165022)
et-0/0/15 Up 2263941480 (66008) 1992761591 (0)
et-0/0/16 Up 4416932066 (66007) 3240002365 (0)
et-0/0/17 Up 4362036899 (33004) 5821216387 (165022)
There is no default load balancing hashing enabled on ACX7100 platforms, hence it’s expected that the egress traffic will take one of the member links of AE.
labroot@jtac-acx7100-48l-r2017> show configuration forwarding-options
labroot@jtac-acx7100-48l-r2017>
labroot@jtac-acx7100-48l-r2017:pfe> show evo-pfemand hashkey
Multiservice:
-------------
_hashL2Fields:0x0
srcMac:disabled
dstMac:disabled
Inet:
------
_hashInetFields:0x0
isLayer3:disabled
isLayer4:disabled
Inet6:
_hashInet6Fields:0x0
Mpls:
-----
_hashMplsFields:0x0
isLabel:disabled
isIpPayload:disabled
hash-key {
family inet {
layer-3;
}
…
_hashInetFields:0x10000f10
isLayer3:enabled
ae98 Up 11041319896 (82571) 11030319920 (82569)
et-0/0/12 Up 2264485662 (16516) 3786488425 (33028)
et-0/0/13 Up 111524967 (0) 3914509641 (16515)
et-0/0/14 Up 8665308917 (66055) 3329311861 (33026)
ae203 Up 11030278133 (82569) 11041347999 (82570)
et-0/0/15 Up 2260069520 (16517) 1991747676 (16514)
et-0/0/16 Up 4411879264 (33026) 3236960848 (49541)
et-0/0/17 Up 4358329349 (33026) 5812639475 (16515)
With multiple unique S.MACs, Load balance for L2 traffic will not happen if we are not adding any hash keys under forwarding-options as there is no default hashing on ACX7100 platforms
With multiple unique S.MACs, Load balance for L2 traffic will not happen if we are enabling only one of the following “set forwarding-options hash-key family multi-services S.MAC” or “set forwarding-options hash-key family multi-services D.MAC”
family multiservice {
source-mac;
destination-mac;
_hashL2Fields:0x10fc0000
srcMac:enabled
dstMac:enabled
ae98 Up 11074260574 (165143) 11063260647 (165141)
et-0/0/12 Up 2276481151 (66057) 3789123409 (33029)
et-0/0/13 Up 122338691 (66058) 3940966016 (33028)
et-0/0/14 Up 8675440382 (33028) 3333161229 (99084)
ae203 Up 11063218844 (165144) 11074288744 (165145)
et-0/0/15 Up 2272065026 (66059) 1993368851 (33030)
et-0/0/16 Up 4425055301 (66057) 3240609598 (33028)
et-0/0/17 Up 4366098517 (33028) 5840310295 (99087)