User Scenarios

Opening Multiple Network Streams as One

product_line_custom
Intel® PAC
Napatech SmartNIC
category
Application Note

Both user data and control data

A good example of a user scenario where this feature can be utilized is where there is both user data and control data, where it is not possible to correlate the control data with the user data in the SmartNIC as it typically requires state information.

In this user scenario, the applications often prefer to get a share of the user data and all the control data, and then each application selects the appropriate control data.

This solution is very useful when working with data such as:

  • GTP-tunneled traffic (GTP-U and GTP-C)
  • Mobile data traffic (CDR and NDR)
  • VoIP (SIP and RTP)

Example

This example shows how to configure the GTP-tunneled traffic user scenario.

All GTP-C data is sent to stream 0, and all GTP-U data is split to streams 1 to 31.

HashMode = HashInner5Tuple
Assign[StreamId=0] = TunnelType == GTPv1v2-C
Assign[StreamId=(1..31)] = TunnelType == GTPv1-U-GPDU

Each application thread opens StreamId 0 and one of the GTP-U streams StreamId 1 to 31 using the NT_NetRxOpenMulti API function. The pseudo code for thread 17 is shown below:

Struct NtNetStreamRx_s *hStream;
Uint32_t ArrStreamId[2];
Int Result;

ArrStreamId[0] = 0;
ArrStreamId[1] = 17;

Result = NT_NetRxOpenMulti(&hStream, "Test"
         NT_NET_INTERFACE_PACKET, ArrStreamId, 2, 0);

Style Conventions

Bold typeface is used for names of, for instance, user interface elements and software components.

Italic typeface is used for replaceable text.

Monospaced typeface is used for code, commands and file names.

Abbreviations

3GD

Third-Generation Driver (Napatech Software Suite)

API

Application Programming Interface

App

APPlication

CDR

Call Data Record

CPU

Central Processing Unit

DN

Document Number

GPDU

GSM Protocol Data Unit

GPRS

General Packet Radio Service

GTP

GPRS Tunneling Protocol

GTPv1-U

GPRS Tunneling Protocol Version 1 – User data tunneling

GTPv1v2

GPRS Tunneling Protocol Version 1 or Version 2

Id

IDentifier

IP

Internet Protocol

NDR

Network Data Record

NT

NapaTech

NTPL

NapaTech Programming Language

PCI

Peripheral Component Interconnect

Rev.

REVision

RTP

Real-time Transport Protocol

Rx

Receive

SIP

Session Initiation Protocol

UDR

User Data Rate

v

Version

VoIP

Voice Over IP

References