Tunnel Type Classification

Feature Set N-ANL11

product_line_custom
Intel® PAC
Napatech SmartNIC
category
Feature Description

Tunnel types

Tunnel types are classified in the basic classes shown in this table.

Class Classification Conditions Length of Header (in bytes)
GTPv0-U The frame decoder recognizes a GTP version 0 tunnel type if all of these conditions are met:
  • The previous header was a UDP or a TCP header.
  • The TCP/UDP Destination Port field is 0xD3A.
  • The GTP Version field is 0.
  • The GTP Protocol Type field is 1.

If the Message Type field is 0xFF (G-PDU), the following header is assumed to be IPv4 or IPv6 inside the tunnel (see Inner Layer 3 Classification).

20
GTPv1-C The frame decoder recognizes a GTP version 1 control port if all of these conditions are met:
  • The previous header was a UDP header.
  • The UDP Destination Port field is 0x84B.
  • The GTP Version field is 1.
  • The GTP Protocol Type field is 1.
Note: The GTP E flag is supported with up to 3 extension headers at a length of up to 60 bytes each.
12 if the GTP S or PN flag is 1; 12, 16, 20 or 24 bytes if the GTP E flag is 1; otherwise 8
GTPv2-C The frame decoder recognizes a GTP version 2 control port if all of these conditions are met:
  • The previous header was a UDP header.
  • The UDP Destination Port field is 0x84B.
  • The GTP Version field is 2.
12 if the GTP T flag is 1; otherwise 8
GTPv1-U The frame decoder recognizes a GTP version 1 user plane signaling header if all of these conditions are met:
  • The previous header was a UDP header.
  • The UDP Destination Port field is 0x868.
  • The GTP Version field is 1.
  • The GTP Protocol Type field is 1.
Note: The GTP E flag is supported with up to 3 extension headers at a length of up to 60 bytes each.

If the Message Type field is 0xFF (G-PDU), the following header is assumed to be IPv4 or IPv6 inside the tunnel (see Inner Layer 3 Classification).

12 if the GTP S or PN flag is 1; 12, 16, 20 or 24 if the GTP E flag is 1; otherwise 8
GRE_v0 The frame decoder recognizes a GREv0 packet if one of these conditions is met:
  • All of these conditions are met:
    • The packet has been classified as an IPv4 packet and the Protocol field of the IPv4 header is 0x2F.
    • The GRE Version Number field is 0.
    • The GRE Routing Present bit is 0.
  • All of these conditions are met:
    • The packet has been classified as an IPv6 packet and the NextHeader field of the IPv6 standard header or of the last extension header is 0x2F.
    • The GRE Version Number field is 0.
    • The GRE Routing Present bit is 0.
Note: Decoding of the packet continues after the GREv0 header, and an IPv4 or IPv6 packet (see Inner Layer 3 Classification), or layer 2 MAC addresses are expected, depending on whether the value of the Protocol Type field is 0x0800, 0x86DD or 0x6558 (NVGRE), respectively.
4, 8, 12 or 16 depending on how many of the Checksum Present, Key Present and Sequence Number Present flags are 1.
GRE_v1 The frame decoder recognizes a GREv1 packet if all of these conditions is met:
  • The Protocol field of the IP header is 0x2F.
  • The GRE Version Number field is 1.
  • The GRE Checksum Present bit is 0.
  • The GRE Routing Present bit is 0.
  • The GRE Key Present bit is 1.
8, 12 or 16 depending on how many of the Sequence Number Present and Acknowledgment Sequence Number Present flags are 1.
IPinIP The frame decoder recognizes an IP-in-IP tunnel type if one of these conditions are met:
  • The outer packet is an IPv4 packet and the Protocol field of the IPv4 header is 0x04 (inner packet is an IPv4 packet).
  • The outer packet is an IPv4 packet and the Protocol field of the IPv4 header is 0x29 (inner packet is an IPv6 packet).
  • The outer packet is an IPv6 packet and the NextHeader field of the IPv6 standard header or of the last extension header is 0x04 (inner packet is an IPv4 packet).
  • The outer packet is an IPv6 packet and the NextHeader field of the IPv6 standard header or of the last extension header is 0x29 (inner packet is an IPv6 packet).
Note: Decoding of the packet continues after the outer IP header, and an IPv4 or IPv6 packet is expected (see Inner Layer 3 Classification).
0
EtherIP The frame decoder recognizes an EtherIP tunnel type if all of these conditions are met:
  • The Protocol field of the IP header is 0x61.
  • The Version field is 3.
  • The Reserved field is 0.
Note: Decoding of the packet continues after the EtherIP header, and layer 2 MAC addresses are expected.
2
VXLAN The frame decoder recognizes a VXLAN tunnel type if both of these conditions are met:
  • The previous header was a UDP header.
  • The UDP Destination Port field is 4789 or equal to one of two user-defined VXLAN UDP destination ports determined by the VXLANAltDestinationPorts parameter in the ntservice.ini file (see DN-0449).
Note: Decoding of the packet continues after the VXLAN header, and layer 2 MAC addresses are expected.
8
TunnelType_Other The frame decoder recognizes a TunnelType_Other port if none of the above applies. 0
Note: When a protocol filter is defined using NTPL, these additional legacy classes can be specified:
  • GTPv1v2-C: Is treated as a combination of GTPv1-C and GTPv2-C.
  • GTPv1-U-GPDU: Is treated as GTPv1-U with Message Type equal to 0xFF.
  • GTPv1-U-Signal: Is treated as GTPv1-U with Message Type not equal to 0xFF.