Hash key data
For IPv4 packets, hash key type 30 is a 4-tuple, and for IPv6 packets a 3-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 IPv4 / 32-bit IPv6 identification
- 8-bit IPv4 protocol number (not included for IPv6)
For IPv4 packets, hash key data word 1 is always the IPv4 source address, and hash key data word 6 is always the IPv4 destination address. For IPv6 packets, hash key data words 0 – 3 are always the IPv6 source address, and hash key data words 4 – 7 are always the IPv6 destination address. This means that frames sent from IP address A to IP address B will generate a hash value different from frames sent from IP address B to IP address A (if address A and B are different).
For IPv4 packets, the IP identification is always placed in the upper 16 bits of hash key data word 8, and the IPv4 protocol number is always placed in the lower 8 bits. The rest of this word is all zeros.
For IPv6 packets, hash key data word 0 is always the IP identification.
For IPv4 packets, hash key data words 1, 3 – 6, 8 and 9 are all zeros for hash key type 30. For IPv6 packets, hash key data word 9 is all zeros for hash key type 30.
Illustration for IPv4 packets
This figure illustrates hash key type 30 for IPv4 packets.
Illustration for IPv6 packets
This figure illustrates hash key type 30 for IPv6 packets.
Validity
Hash key type 30 is valid for frames containing an IPv4 or IPv6 packet that is part of a fragmented datagram.