Hash Key Type 30: IP Fragment Tuple

Napatech Link-Capture™ Software Features

Platform
Intel® PAC
Napatech SmartNIC
Content Type
Feature Description
Capture Software Version
Link™ Capture Software 12.10

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.

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 IPv 4 packet header Ver . & IHL T o S Total l ength Identification F Fragment offset TTL Prot . Header checksum Source address Destination address Options 0 4 8 12 16 20 32 - bit IPv 4 source address 32 - bit IPv 4 destination address 16 - bit identification 0 1 Hash key data word 2 0 0 0 0 0 0 3 4 5 6 7 8 8 - bit protocol 0

Illustration for IPv6 packets

This figure illustrates hash key type 30 for IPv6 packets.

IP fragment tuple hash key IPv 6 fragment header 0 4 32 - bit identification Next header Reser - ved Identification 0 IPv 6 packet header Ver . & Pri . Flow label Length Next header Hop limit Source address Destination address 0 4 8 12 16 20 24 28 32 36 40 128 - bit IPv 6 source address 128 - bit IPv 6 destination address 1 , 2 3 , & 4 Hash key data word 5 , 6 , 7 & 8 Fragment offset R e s M

Validity

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