I'm testing bandwidth between two switches and I noticed link aggregation behaves inconsistently between test runs. I'm testing with a single instance of iperf with 2 streams. Sometimes the load is split evenly between each half of the port channel, and other times it goes over just one link. Overall throughput is much better when it goes over one link. This appears to be random each time I re-run the same iperf command. Sample command: iperf -c 10.49.54.40 -P2 -t 3600
.
The two switches are connected using a 200Gb LACP port channel made of 100Gb links. Each host has a single 100Gb link.
┌─────────┐ ┌─────────────┐ ┌──────────────┐ ┌─────────┐
│ │ │ │ Et17 │ │ │ │
│ Host A │ │ Mellanox ├───────────┤ Arista │ │ Host B │
│ ├─────────┤ SN2700 ├───────────┤ 7050X ├──────────┤ │
│ │ │ │ Et19 │ │ Et22 │ │
└─────────┘ └─────────────┘ └──────────────┘ └─────────┘
Both hosts are running iperf 2.0.13 on CentOS. Below is the switch bandwidth showing from 2 different test runs.
#show interfaces counters rates | grep -E 'Po5002|Et17|Et19|Et22|Name'
Port Name Intvl In Mbps % In Kpps Out Mbps % Out Kpps
Et17/1 HOST::LR06. 0:05 1.1 0.0% 0 25602.8 25.7% 356
Et19/1 HOST::LR06. 0:05 22.7 0.0% 38 28257.6 28.3% 393
Et22/1 HOST::LR06. 0:05 53854.3 54.0% 749 22.3 0.0% 38
Po5002 HOST::LR06. 0:05 22.7 0.0% 38 53548.9 26.8% 745
#show interfaces counters rates | grep -E 'Po5002|Et17|Et19|Et22|Name'
Port Name Intvl In Mbps % In Kpps Out Mbps % Out Kpps
Et17/1 HOST::LR06. 0:05 1.1 0.0% 0 49.0 0.0% 0
Et19/1 HOST::LR06. 0:05 27.1 0.0% 47 67252.8 67.4% 936
Et22/1 HOST::LR06. 0:05 67295.0 67.4% 936 28.0 0.0% 47
Po5002 HOST::LR06. 0:05 27.6 0.0% 46 66798.6 33.5% 930
Here is the port channel hashing config for IPv4 on Arista side:
Hash seed is 0
Hash function is CRC32HI
Source MAC address hashing for IP packets is OFF
Destination MAC address hashing for IP packets is OFF
IP protocol field hashing is ON
Ingress interface for IP hashing is ON
IP source address hashing is ON
IP destination address hashing is ON
IP TCP/UDP/SCTP source port hashing is ON
IP TCP/UDP/SCTP destination port hashing is ON
IP TTL hashing is OFF
IP symmetric hashing is OFF
System MAC address hashing is ON