Extended NT descriptor Tunneling macros

Reference Documentation

Platform
Intel® PAC
Napatech SmartNIC
Content Type
Reference Information
Napatech Software Suite: Extended NT descriptor Tunneling macros

Detailed Description

The following are used to help accessing GTPv1 and IP-in-IP tunneled data. With theses macros it is possible to determine the tunnel type, retrieve the frame types and get direct offsets to the layers 3, 4 and 5 inside the tunnel. Only the first tunnel is decoded, hence a tunnel inside a tunnel is not decoded. The following macros are only available if "PacketDescriptor" in the ntservice.ini file has been set to "Ext9" or if "Ext9" is configured as the descriptor type in the NTPL "assign" statement matching the received packet.

Macros

#define NT_NET_GET_PKT_INNER_L3_OFFSET_EXT9(_hNetBuf_)
 Returns the offset in bytes (0x00 - 0x1FF) from the start of the frame to the start of inner layer 3. The value 0x00 indicates an invalid offset. More...
 
#define NT_NET_GET_PKT_INNER_L4_OFFSET_EXT9(_hNetBuf_)
 Returns the offset in bytes (0x00 - 0x1FF) from the start of the frame to the start of inner layer 4. The value 0x00 indicates an invalid offset. More...
 
#define NT_NET_GET_PKT_INNER_L5_OFFSET_EXT9(_hNetBuf_)
 Returns the offset in bytes (0x00 - 0x1FF) from the start of the frame to the start of inner layer 5. The value 0x00 indicates an invalid offset. More...
 
#define NT_NET_GET_PKT_INNER_L3_FRAME_TYPE_EXT9(_hNetBuf_)
 Get the inner tunnel layer 3 frame type. More...
 
#define NT_NET_GET_PKT_INNER_L4_FRAME_TYPE_EXT9(_hNetBuf_)
 Get the inner tunnel layer 4 frame type. More...
 
#define NT_NET_GET_PKT_INNER_L3_FRAGMENT_TYPE_EXT9(_hNetBuf_)
 Get inner layer 3 fragment type. More...
 
#define NT_NET_GET_PKT_TUNNEL_TYPE_EXT9(_hNetBuf_)
 Get the tunnel type. More...
 
#define NT_NET_GET_PKT_TUNNEL_HDR_LENGTH_EXT9(_hNetBuf_)
 Get the tunnel header length. More...
 
#define NT_NET_GET_PKT_INNER_DECODE_ERROR_EXT9(_hNetBuf_)
 Indicates if a inner tunnel frame decoding error is present. More...
 
#define NT_NET_GET_PKT_DEDUPLICATION_CRC_EXT9(_hNetBuf_)
 The packet deduplication CRC value. Only available on extended descriptor 9. More...
 

Macro Definition Documentation

#define NT_NET_GET_PKT_INNER_L3_OFFSET_EXT9 (   _hNetBuf_)

Returns the offset in bytes (0x00 - 0x1FF) from the start of the frame to the start of inner layer 3. The value 0x00 indicates an invalid offset.

Parameters
[in]_hNetBuf_Packet container reference
Returns
Returns inner layer 3 offset as an integer value

Definition at line 1031 of file pktdescr.h.

#define NT_NET_GET_PKT_INNER_L4_OFFSET_EXT9 (   _hNetBuf_)

Returns the offset in bytes (0x00 - 0x1FF) from the start of the frame to the start of inner layer 4. The value 0x00 indicates an invalid offset.

Parameters
[in]_hNetBuf_Packet container reference
Returns
Returns inner layer 4 offset as an integer value

Definition at line 1041 of file pktdescr.h.

#define NT_NET_GET_PKT_INNER_L5_OFFSET_EXT9 (   _hNetBuf_)

Returns the offset in bytes (0x00 - 0x1FF) from the start of the frame to the start of inner layer 5. The value 0x00 indicates an invalid offset.

Parameters
[in]_hNetBuf_Packet container reference
Returns
Returns inner layer 5 offset as an integer value

Definition at line 1051 of file pktdescr.h.

#define NT_NET_GET_PKT_INNER_L3_FRAME_TYPE_EXT9 (   _hNetBuf_)

Get the inner tunnel layer 3 frame type.

Parameters
[in]_hNetBuf_Packet container reference
Returns
Returns the inner tunnel layer 3 frame type - see NtL3FrameType_e for values

Definition at line 1059 of file pktdescr.h.

#define NT_NET_GET_PKT_INNER_L4_FRAME_TYPE_EXT9 (   _hNetBuf_)

Get the inner tunnel layer 4 frame type.

Parameters
[in]_hNetBuf_Packet container reference
Returns
Returns the inner tunnel layer 4 frame type - see NtL4FrameType_e for values

Definition at line 1067 of file pktdescr.h.

#define NT_NET_GET_PKT_INNER_L3_FRAGMENT_TYPE_EXT9 (   _hNetBuf_)

Get inner layer 3 fragment type.

Parameters
[in]_hNetBuf_Packet container reference
Returns
Returns inner layer 3 fragment type - see NtL3FragmentType_e for values

Definition at line 1075 of file pktdescr.h.

#define NT_NET_GET_PKT_TUNNEL_TYPE_EXT9 (   _hNetBuf_)

Get the tunnel type.

Parameters
[in]_hNetBuf_Packet container reference
Returns
Returns the tunnel type - see NtTunnelType_e for values

Definition at line 1083 of file pktdescr.h.

#define NT_NET_GET_PKT_TUNNEL_HDR_LENGTH_EXT9 (   _hNetBuf_)

Get the tunnel header length.

Parameters
[in]_hNetBuf_Packet container reference
Returns
Returns the tunnel header length in units of 32 bits

Definition at line 1091 of file pktdescr.h.

#define NT_NET_GET_PKT_INNER_DECODE_ERROR_EXT9 (   _hNetBuf_)

Indicates if a inner tunnel frame decoding error is present.

Parameters
[in]_hNetBuf_Packet container reference
Returns
Returns 1 if the inner tunnel frame could not be decoded correctly - Returns 0 otherwise

Definition at line 1099 of file pktdescr.h.

#define NT_NET_GET_PKT_DEDUPLICATION_CRC_EXT9 (   _hNetBuf_)

The packet deduplication CRC value. Only available on extended descriptor 9.

Parameters
[in]_hNetBuf_Packet container reference
Returns
Returns the 24bit packet deduplication CRC value.

Definition at line 1107 of file pktdescr.h.