Hashing changed for AE bundle with link-speed mixed after upgrading to Junos 20.2R2-S3.5
The aggregate interface has multiple child links (10g ports and 1X100G port) with a mixed link speed enabled.
ae0 { description test_qfx5100-a-to-qfx5100-2; mtu 9000; aggregated-ether-options { link-speed mixed; lacp { active; } } unit 0 { family ethernet-switching { interface-mode trunk; vlan { members [ V100 V200 ]; } } } }
{master:0} root@c16-37> show lacp interfaces ae0 Aggregated interface: ae0 LACP state: Role Exp Def Dist Col Syn Aggr Timeout Activity xe-0/0/30 Actor No No Yes Yes Yes Yes Fast Active xe-0/0/30 Partner No No Yes Yes Yes Yes Fast Active xe-0/0/32 Actor No No Yes Yes Yes Yes Fast Active xe-0/0/32 Partner No No Yes Yes Yes Yes Fast Active xe-0/0/36 Actor No No Yes Yes Yes Yes Fast Active xe-0/0/36 Partner No No Yes Yes Yes Yes Fast Active xe-0/0/40 Actor No No Yes Yes Yes Yes Fast Active xe-0/0/40 Partner No No Yes Yes Yes Yes Fast Active xe-0/0/42 Actor No No Yes Yes Yes Yes Fast Active xe-0/0/42 Partner No No Yes Yes Yes Yes Fast Active xe-0/0/44 Actor No Yes No No No Yes Fast Active xe-0/0/44 Partner No Yes No No No Yes Fast Passive xe-0/0/45 Actor No No Yes Yes Yes Yes Fast Active xe-0/0/45 Partner No No Yes Yes Yes Yes Fast Active xe-0/0/46 Actor No No Yes Yes Yes Yes Fast Active xe-0/0/46 Partner No No Yes Yes Yes Yes Fast Active xe-0/0/47 Actor No No Yes Yes Yes Yes Fast Active xe-0/0/47 Partner No No Yes Yes Yes Yes Fast Active et-0/0/50 Actor No No Yes Yes Yes Yes Fast Active et-0/0/50 Partner No No Yes Yes Yes Yes Fast Active LACP protocol: Receive State Transmit State Mux State xe-0/0/30 Current Fast periodic Collecting distributing xe-0/0/32 Current Fast periodic Collecting distributing xe-0/0/36 Current Fast periodic Collecting distributing xe-0/0/40 Current Fast periodic Collecting distributing xe-0/0/42 Current Fast periodic Collecting distributing xe-0/0/45 Current Fast periodic Collecting distributing xe-0/0/46 Current Fast periodic Collecting distributing xe-0/0/47 Current Fast periodic Collecting distributing et-0/0/50 Current Fast periodic Collecting distributing
Before the upgrade to Junos 20.2R2-S3.5, the hashing for the aggregate interface was based on link speed where the 100G port was taking most of the traffic.
Example:
{master:0} root@c16-37> show version localre: -------------------------------------------------------------------------- Hostname: c16-37 Model: qfx5110-48s-4c Junos: 18.3R3-S2.5 JUNOS OS Kernel 64-bit [20200423.d6acdc5_builder_stable_11] JUNOS OS libs [20200423.d6acdc5_builder_stable_11] Interface Link Input packets (pps) Output packets (pps) gr-0/0/0 Up 0 (0) 0 (0) pfh-0/0/0 Up 0 0 sxe-0/0/0 Down 0 (0) 0 (0) sxe-0/0/1 Down 0 (0) 0 (0) xe-0/0/30 Up 243421 (200) 122624 (101) xe-0/0/32 Up 605763 (500) 122257 (101) xe-0/0/36 Up 122052 (100) 364065 (301) xe-0/0/40 Up 1262 (0) 243076 (201) xe-0/0/42 Up 1262 (0) 122280 (101) xe-0/0/44 Down 0 (0) 0 (0) xe-0/0/45 Up 363690 (300) 122391 (100) xe-0/0/46 Up 243288 (200) 1742 (1) xe-0/0/47 Up 1765 (0) 122657 (100) et-0/0/48 Up 2565359 (2101) 2539470 (2101) et-0/0/50 Up 967878 (801) 1330391 (1101) ae0 Up 2550381 (2101) 2551483 (2107)
After the upgrade, the hashing for the 100g port is the same as the 10g ports:
{master:0} root@c16-37> show version localre: -------------------------------------------------------------------------- Hostname: c16-37 Model: qfx5110-48s-4c Junos: 20.2R2-S3.5 JUNOS OS Kernel 64-bit [20201221.5316c2e_builder_stable_11] JUNOS OS libs [20201221.5316c2e_builder_stable_11] Interface Link Input packets (pps) Output packets (pps) gr-0/0/0 Up 0 (0) 0 (0) pfh-0/0/0 Up 0 0 sxe-0/0/0 Down 0 (0) 0 (0) sxe-0/0/1 Down 0 (0) 0 (0) xe-0/0/30 Up 84875 (401) 381 (0) xe-0/0/32 Up 21651 (101) 84647 (400) xe-0/0/36 Up 64043 (301) 63533 (300) xe-0/0/40 Up 64065 (301) 63419 (301) xe-0/0/42 Up 21454 (101) 21845 (100) xe-0/0/44 Down 0 (0) 0 (0) xe-0/0/45 Up 63704 (301) 21700 (100) xe-0/0/46 Up 21841 (101) 21851 (99) xe-0/0/47 Up 63717 (302) 84783 (400) et-0/0/48 Up 444968 (2098) 444852 (2098) et-0/0/50 Up 42321 (201) 84387 (400) ae0 Up 447671 (2110) 446546 (2100)
This change in hashing is an expected behavior as the newer codes do a per flow hashing whereas the previous codes do a per port basis.