5G-LENA nr-v4.0
The 5G/NR module for the ns-3 simulator
Loading...
Searching...
No Matches
ns3::NrGtpcIes Class Reference

#include "nr-epc-gtpc-header.h"

+ Inheritance diagram for ns3::NrGtpcIes:

Public Types

enum  Cause_t { RESERVED = 0 , REQUEST_ACCEPTED = 16 }
 

Public Member Functions

uint32_t DeserializeBearerContextHeader (Buffer::Iterator &i, uint16_t &length) const
 
uint32_t DeserializeBearerQos (Buffer::Iterator &i, NrEpsBearer &bearerQos)
 
uint32_t DeserializeBearerTft (Buffer::Iterator &i, Ptr< NrEpcTft > epcTft) const
 
uint32_t DeserializeCause (Buffer::Iterator &i, Cause_t &cause) const
 
uint32_t DeserializeEbi (Buffer::Iterator &i, uint8_t &epsBearerId) const
 
uint32_t DeserializeFteid (Buffer::Iterator &i, NrGtpcHeader::Fteid_t &fteid) const
 
uint32_t DeserializeImsi (Buffer::Iterator &i, uint64_t &imsi) const
 
uint32_t DeserializeUliEcgi (Buffer::Iterator &i, uint32_t &uliEcgi) const
 
uint32_t GetSerializedSizeBearerTft (std::list< NrEpcTft::PacketFilter > packetFilters) const
 
uint64_t ReadNtohU40 (Buffer::Iterator &i)
 
void SerializeBearerContextHeader (Buffer::Iterator &i, uint16_t length) const
 
void SerializeBearerQos (Buffer::Iterator &i, NrEpsBearer bearerQos) const
 
void SerializeBearerTft (Buffer::Iterator &i, std::list< NrEpcTft::PacketFilter > packetFilters) const
 
void SerializeCause (Buffer::Iterator &i, Cause_t cause) const
 
void SerializeEbi (Buffer::Iterator &i, uint8_t epsBearerId) const
 
void SerializeFteid (Buffer::Iterator &i, NrGtpcHeader::Fteid_t fteid) const
 
void SerializeImsi (Buffer::Iterator &i, uint64_t imsi) const
 
void SerializeUliEcgi (Buffer::Iterator &i, uint32_t uliEcgi) const
 
void WriteHtonU40 (Buffer::Iterator &i, uint64_t data) const
 

Public Attributes

const uint32_t serializedSizeBearerContextHeader = 4
 Fteid serialized size.
 
const uint32_t serializedSizeBearerQos = 26
 Bearer QoS serialized size.
 
const uint32_t serializedSizeCause = 6
 Cause serialized size.
 
const uint32_t serializedSizeEbi = 5
 EBI serialized size.
 
const uint32_t serializedSizeFteid = 13
 Fteid serialized size.
 
const uint32_t serializedSizeImsi = 12
 IMSI serialized size.
 
const uint32_t serializedSizePacketFilter
 Packet filter serialized size.
 
const uint32_t serializedSizeUliEcgi = 12
 UliEcgi serialized size.
 

Detailed Description

GTP-C Information Elements

Definition at line 181 of file nr-epc-gtpc-header.h.

Member Enumeration Documentation

◆ Cause_t

Cause

Definition at line 187 of file nr-epc-gtpc-header.h.

Member Function Documentation

◆ DeserializeBearerContextHeader()

uint32_t ns3::NrGtpcIes::DeserializeBearerContextHeader ( Buffer::Iterator &  i,
uint16_t &  length 
) const

Deserialize the Bearer Context Header

Parameters
iBuffer iterator
[out]lengthlength
Returns
the number of deserialized bytes

Definition at line 458 of file nr-epc-gtpc-header.cc.

References serializedSizeBearerContextHeader.

◆ DeserializeBearerQos()

uint32_t ns3::NrGtpcIes::DeserializeBearerQos ( Buffer::Iterator &  i,
NrEpsBearer bearerQos 
)

Deserialize the eps Bearer QoS

Parameters
iBuffer iterator
[out]bearerQosThe Bearer QoS
Returns
the number of deserialized bytes

Definition at line 301 of file nr-epc-gtpc-header.cc.

References ns3::NrGbrQosInformation::gbrDl, ns3::NrEpsBearer::gbrQosInfo, ns3::NrGbrQosInformation::gbrUl, ns3::NrGbrQosInformation::mbrDl, ns3::NrGbrQosInformation::mbrUl, ns3::NrEpsBearer::qci, ReadNtohU40(), and serializedSizeBearerQos.

+ Here is the call graph for this function:

◆ DeserializeBearerTft()

◆ DeserializeCause()

uint32_t ns3::NrGtpcIes::DeserializeCause ( Buffer::Iterator &  i,
Cause_t cause 
) const

Deserialize the Cause

Parameters
iBuffer iterator
[out]causeThe cause
Returns
the number of deserialized bytes

Definition at line 223 of file nr-epc-gtpc-header.cc.

References serializedSizeCause.

◆ DeserializeEbi()

uint32_t ns3::NrGtpcIes::DeserializeEbi ( Buffer::Iterator &  i,
uint8_t &  epsBearerId 
) const

Deserialize the eps Bearer Id

Parameters
iBuffer iterator
[out]epsBearerIdThe eps Bearer Id
Returns
the number of deserialized bytes

Definition at line 247 of file nr-epc-gtpc-header.cc.

References serializedSizeEbi.

◆ DeserializeFteid()

uint32_t ns3::NrGtpcIes::DeserializeFteid ( Buffer::Iterator &  i,
NrGtpcHeader::Fteid_t fteid 
) const

Deserialize the Fteid

Parameters
iBuffer iterator
[out]fteidFteid
Returns
the number of deserialized bytes

Definition at line 433 of file nr-epc-gtpc-header.cc.

References ns3::NrGtpcHeader::Fteid_t::addr, ns3::NrGtpcHeader::Fteid_t::interfaceType, serializedSizeFteid, and ns3::NrGtpcHeader::Fteid_t::teid.

◆ DeserializeImsi()

uint32_t ns3::NrGtpcIes::DeserializeImsi ( Buffer::Iterator &  i,
uint64_t &  imsi 
) const

Deserialize the IMSI

Parameters
iBuffer iterator
[out]imsiThe IMSI
Returns
the number of deserialized bytes

Definition at line 199 of file nr-epc-gtpc-header.cc.

References serializedSizeImsi.

◆ DeserializeUliEcgi()

uint32_t ns3::NrGtpcIes::DeserializeUliEcgi ( Buffer::Iterator &  i,
uint32_t &  uliEcgi 
) const

Deserialize the UliEcgi

Parameters
iBuffer iterator
[out]uliEcgiUliEcgi
Returns
the number of deserialized bytes

Definition at line 407 of file nr-epc-gtpc-header.cc.

References serializedSizeUliEcgi.

◆ GetSerializedSizeBearerTft()

uint32_t ns3::NrGtpcIes::GetSerializedSizeBearerTft ( std::list< NrEpcTft::PacketFilter packetFilters) const
Returns
the BearerTft serialized size
Parameters
packetFiltersThe packet filter

Definition at line 388 of file nr-epc-gtpc-header.cc.

References serializedSizePacketFilter.

Referenced by DeserializeBearerTft(), ns3::NrGtpcCreateSessionRequestMessage::GetMessageSize(), and ns3::NrGtpcCreateSessionResponseMessage::GetMessageSize().

+ Here is the caller graph for this function:

◆ ReadNtohU40()

uint64_t ns3::NrGtpcIes::ReadNtohU40 ( Buffer::Iterator &  i)
Parameters
iBuffer iterator
Returns
the five bytes read in the buffer.

Read data and advance the Iterator by the number of bytes read. The data is read in network format and returned in host format.

Definition at line 271 of file nr-epc-gtpc-header.cc.

Referenced by DeserializeBearerQos().

+ Here is the caller graph for this function:

◆ SerializeBearerContextHeader()

void ns3::NrGtpcIes::SerializeBearerContextHeader ( Buffer::Iterator &  i,
uint16_t  length 
) const

Serialize the Bearer Context Header

Parameters
iBuffer iterator
lengthThe length

Definition at line 450 of file nr-epc-gtpc-header.cc.

◆ SerializeBearerQos()

void ns3::NrGtpcIes::SerializeBearerQos ( Buffer::Iterator &  i,
NrEpsBearer  bearerQos 
) const

Serialize the eps Bearer QoS

Parameters
iBuffer iterator
bearerQosThe Bearer QoS

Definition at line 287 of file nr-epc-gtpc-header.cc.

References ns3::NrGbrQosInformation::gbrDl, ns3::NrEpsBearer::gbrQosInfo, ns3::NrGbrQosInformation::gbrUl, ns3::NrGbrQosInformation::mbrDl, ns3::NrGbrQosInformation::mbrUl, ns3::NrEpsBearer::qci, and WriteHtonU40().

+ Here is the call graph for this function:

◆ SerializeBearerTft()

void ns3::NrGtpcIes::SerializeBearerTft ( Buffer::Iterator &  i,
std::list< NrEpcTft::PacketFilter packetFilters 
) const

Serialize the Bearer TFT

Parameters
iBuffer iterator
packetFiltersThe Packet filters

Definition at line 319 of file nr-epc-gtpc-header.cc.

References serializedSizePacketFilter.

◆ SerializeCause()

void ns3::NrGtpcIes::SerializeCause ( Buffer::Iterator &  i,
Cause_t  cause 
) const

Serialize the Cause

Parameters
iBuffer iterator
causeThe Cause

Definition at line 213 of file nr-epc-gtpc-header.cc.

◆ SerializeEbi()

void ns3::NrGtpcIes::SerializeEbi ( Buffer::Iterator &  i,
uint8_t  epsBearerId 
) const

Serialize the eps Bearer Id

Parameters
iBuffer iterator
epsBearerIdThe eps Bearer Id

Definition at line 238 of file nr-epc-gtpc-header.cc.

◆ SerializeFteid()

void ns3::NrGtpcIes::SerializeFteid ( Buffer::Iterator &  i,
NrGtpcHeader::Fteid_t  fteid 
) const

Serialize the Fteid_t

Parameters
iBuffer iterator
fteidThe Fteid_t

Definition at line 422 of file nr-epc-gtpc-header.cc.

References ns3::NrGtpcHeader::Fteid_t::addr, ns3::NrGtpcHeader::Fteid_t::interfaceType, and ns3::NrGtpcHeader::Fteid_t::teid.

◆ SerializeImsi()

void ns3::NrGtpcIes::SerializeImsi ( Buffer::Iterator &  i,
uint64_t  imsi 
) const

Serialize the IMSI

Parameters
iBuffer iterator
imsiThe IMSI

Definition at line 190 of file nr-epc-gtpc-header.cc.

◆ SerializeUliEcgi()

void ns3::NrGtpcIes::SerializeUliEcgi ( Buffer::Iterator &  i,
uint32_t  uliEcgi 
) const

Serialize the UliEcgi

Parameters
iBuffer iterator
uliEcgiThe UliEcgi

Definition at line 394 of file nr-epc-gtpc-header.cc.

◆ WriteHtonU40()

void ns3::NrGtpcIes::WriteHtonU40 ( Buffer::Iterator &  i,
uint64_t  data 
) const
Parameters
iBuffer iterator
datadata to write in buffer

Write the data in buffer and advance the iterator position by five bytes. The data is written in network order and the input data is expected to be in host order.

Definition at line 261 of file nr-epc-gtpc-header.cc.

Referenced by SerializeBearerQos().

+ Here is the caller graph for this function:

Member Data Documentation

◆ serializedSizeBearerContextHeader

◆ serializedSizeBearerQos

const uint32_t ns3::NrGtpcIes::serializedSizeBearerQos = 26

◆ serializedSizeCause

◆ serializedSizeEbi

◆ serializedSizeFteid

◆ serializedSizeImsi

const uint32_t ns3::NrGtpcIes::serializedSizeImsi = 12

◆ serializedSizePacketFilter

const uint32_t ns3::NrGtpcIes::serializedSizePacketFilter
Initial value:
=
3 + 9 + 9 + 5 + 5 + 3

Packet filter serialized size.

Definition at line 197 of file nr-epc-gtpc-header.h.

Referenced by GetSerializedSizeBearerTft(), and SerializeBearerTft().

◆ serializedSizeUliEcgi

const uint32_t ns3::NrGtpcIes::serializedSizeUliEcgi = 12

The documentation for this class was generated from the following files: