Hash Key Type 30: IP Fragment Tuple

Napatech Link™ Software Features

product_line_custom
Intel® PAC
Napatech SmartNIC
category
Feature Description

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)

The hash key data is not sorted for hash key type 30. 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.

Note: Hash key type 30 cannot be selected using NTPL. It is only used for unmatched fragments of IP fragmented datagrams.

Illustration for IPv4 packets

This figure illustrates hash key type 30 for IPv4 packets.

IP fragment tuple hash key for IPv4

Illustration for IPv6 packets

This figure illustrates hash key type 30 for IPv6 packets.

IP fragment tuple hash key for IPv6

Validity

Hash key type 30 is valid for frames containing an IPv4 or IPv6 packet that is part of a fragmented datagram.