Add Additional Metadata to LACP SRC IP+DST IP Hash Algorithm
The SRC IP XOR DST IP hash algorithm used with LACP LAGs creates a lot of hash collisions that interfere with load balancing of small, statically addressed subnets. For example, consider the following source and destination IP addresses:
- SRC 192.168.1.1 DST 192.168.1.2
- SRC 192.168.2.1 DST 192.168.2.2
- SRC 192.168.3.1 DST 192.168.3.2
Ideally, these 3 conversations would be treated as unique data flows across an LACP LAG. However, the simple SRC IP XOR DST IP operation results in identical hashes for all 3 individual conversations and they all get transmitted over the same LAG member interface. This problem could be alleviated by combining the IP header information with some layer 2 information (MAC addresses, vlan IDs, etc).
While it is true that this can be partially alleviated by switching to a different hash algorithm, that solution is less ideal because it limits the switch's ability to identify other unique data flows.
Thank you for your time.
-Newb
