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 |
|---|---|---|
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 |
Allocated by the receiving end of the tunnel; TEID_NONE on relays between core network nodes, which carry no session’s traffic |
|
pduSessionContainer |
||
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);
}