# GTP Deployment

GPRS Tunneling Protocol (GTP) is a suite of IP-based communication protocols defined by 3GPP, facilitating General Packet Radio Service (GPRS) across GSM, UMTS, LTE, and 5G networks.&#x20;

The GTP deployment includes the following capabilities:

* **GTP Parsing:** Supports both standard GTP packets and GTP packets with a extension header.
* **Rule Matching:** Enables filtering based on inner headers, including IP addresses, Layer 4 ports, and TEID.
* **Symmetric Load Balancing:** Supports load balancing on both inner and outer IP headers (IPv4/IPv6).

The following image shows a visual representation of the GTP deployment:

<figure><img src="https://content.gitbook.com/content/Uy210FjW8Gkz8ykjDZrg/blobs/LJujXMQZEvFgGtNqQDTV/Screenshot%202022-09-30%20at%2012.08.43%20PM.png" alt=""><figcaption><p>GTP</p></figcaption></figure>

#### **GTP Extension Header Support**

**Overview**

Traditionally, GTP packets contain a standard header that encapsulates user payload or signaling data. However, advanced use cases require GTP extension headers to include additional metadata beyond the standard GTP header.

With this enhancement, the system now supports GTP packets with extension headers (specifically **type 0x85**) alongside standard GTP packets, ensuring compatibility with evolving network requirements.

#### **Key Details**

* **Supported Extension Header Type:** The system currently supports **GTP extension header Type 0x85**, which is used to add custom metadata for enhanced network functions.
* **Supported Hardware:** Available only on **NVIDIA Spectrum-2** and later platforms.

{% hint style="warning" %}
TEID-based filtering is **not yet supported** for GTP packets with extension headers
{% endhint %}



### Configuration

&#x20;_1. Configure Network/Tool port(s)_

```
//Network ports
configure terminal
interface ethernet Ethernet12/1
forward-error-correction rs
type network
exit
```

```
//Tool ports
configure terminal
interface ethernet Ethernet16/1
forward-error-correction rs
type tool
exit
```

&#x20;_2. Enable GTP filtering_

```
configure terminal
gtp
exit
```

3\. Configure flow with rules to filter GTP traffic

```
configure terminal
flow flow01
network-ports Ethernet12/1
tool-ports Ethernet16/1
rule 1 permit src-ip 1.1.1.1/32 dest-ip 2.2.2.2/32 gtp "inner-sip 10.0.0.1/24 inner-dip 20.0.0.1/24" counters enable
!
```

4\. Verify the interfaces

```
pbnoscli# show interface status 
================================================================================================
Port              Name                            Oper    Admin   Vlan    Speed   MTU     AutoNeg 
================================================================================================
Ethernet1/1       etp1                            up      up              100000  9100    on      
Ethernet2/1       etp2                            up      up              100000  9100    on      
<..>
Ethernet63/1     etp63                           up      up              100000  9100    on      
Ethernet64/1     etp64                           up      up              100000  9100    on      
pbnoscli#          
```

5\. Verify the flow

```
pbnoscli# show flow summary 
Flow-Name       Rule-Id        Status      Counter-Value
=========================================================
flow01          1             Active          103511710               
pbnoscli# 
```

