GtpUserMsg

Namespace: simu5g

class GtpUserMsg

A GTP-U header (TS 29.281 5.1): the 8 mandatory octets, and when a PDU Session Container is present, the 4 optional octets that announce the extension header and the 4-octet PDU Session Container itself (TS 38.415): 16 octets then.

Usage diagram

Inheritance diagram

Extends

Name

Type

Description

FieldsChunk ↗

class

(no description)

Fields

Name

Type

Description

id

int

mutable

bool

complete

bool

correct

bool

properlyRepresented

bool

chunkLength

b

rawBin

string[]

rawHex

string[]

regionTags

SharingRegionTagSet::TagBaseRegionTag[]

messageType

uint8_t

GTPU_G_PDU or GTPU_END_MARKER (TS 29.281 6.1)

lengthField

uint16_t

The octets after the mandatory header: optional fields, extension headers and the T-PDU

teid

Teid

Allocated by the receiving end of the tunnel; TEID_NONE on relays between core network nodes, which carry no session’s traffic

pduSessionContainer

PduSessionContainerType

qfi

Qfi

The QoS flow; on the wire only inside the PDU Session Container

chunkLength

Properties

Name

Value

Description

beforeChange

handleChange()

descriptor

readonly

existingClass

packetData

Source code

//
// A GTP-U header (TS 29.281 5.1): the 8 mandatory octets, and when a PDU Session
// Container is present, the 4 optional octets that announce the extension header and
// the 4-octet PDU Session Container itself (TS 38.415): 16 octets then.
//
class GtpUserMsg extends inet::FieldsChunk {
    uint8_t messageType = 255;   // GTPU_G_PDU or GTPU_END_MARKER (TS 29.281 6.1)
    uint16_t lengthField;        // The octets after the mandatory header: optional fields, extension headers and the T-PDU
    Teid teid;                   // Allocated by the receiving end of the tunnel; TEID_NONE on relays between core network nodes, which carry no session's traffic
    PduSessionContainerType pduSessionContainer = PDU_SESSION_CONTAINER_NONE;
    Qfi qfi;                     // The QoS flow; on the wire only inside the PDU Session Container
    chunkLength = inet::B(8);
}

File: src/simu5g/corenetwork/gtp/GtpUserMsg.msg