Hash key data
Hash key type 9 is a 5-tuple where the hash key data is the contents of these packet header fields:
- 32-bit IPv4 / 128-bit IPv6 source address
- 32-bit IPv4 / 128-bit IPv6 destination address
- 16-bit UDP, TCP or SCTP source port number
- 16-bit UDP, TCP or SCTP destination port number
- 8-bit IPv4/IPv6 protocol number / next header
For hash key type 9, the source and destination IP addresses are XORed together, and the XORed value is stored in hash key data word 0 / 0 – 3 whereas 4 / 4 – 7 are zeroed. The source and destination port numbers are also XORed together, and the XORed value is stored in the upper 16 bits of hash key data word 8 whereas the lower 16 bits of hash key data word 8 are zeroed. This means that frames sent from IP address A to IP address B will generate the same hash value as frames sent from IP address B to IP address A.
The IPv4/IPv6 protocol number / next header is placed in a separate 8-bit word.
For IPv4 packets, hash key data words 1 – 3, 5 – 7 and 9 are all zeros for hash key type 9. For IPv6 packets, hash key data word 9 is all zeros for hash key type 9.
Validity
Hash key type 9 is valid for frames containing an IPv4 packet or an IPv6 packet with a UDP, a TCP or an SCTP packet as payload.