A Discrete-Event Network Simulator
API
ns3::GtpcIes Class Reference

GTP-C Information Elemements. More...

#include "epc-gtpc-header.h"

+ Inheritance diagram for ns3::GtpcIes:
+ Collaboration diagram for ns3::GtpcIes:

Public Types

enum  Cause_t { RESERVED = 0 , REQUEST_ACCEPTED = 16 }
 Cause. More...
 

Public Member Functions

uint32_t DeserializeBearerContextHeader (Buffer::Iterator &i, uint16_t &length)
 Deserialize the Bearer Context Header. More...
 
uint32_t DeserializeBearerQos (Buffer::Iterator &i, EpsBearer &bearerQos)
 Deserialize the eps Bearer QoS. More...
 
uint32_t DeserializeBearerTft (Buffer::Iterator &i, Ptr< EpcTft > epcTft)
 Deserialize the Bearer TFT. More...
 
uint32_t DeserializeCause (Buffer::Iterator &i, Cause_t &cause)
 Deserialize the Cause. More...
 
uint32_t DeserializeEbi (Buffer::Iterator &i, uint8_t &epsBearerId)
 Deserialize the eps Bearer Id. More...
 
uint32_t DeserializeFteid (Buffer::Iterator &i, GtpcHeader::Fteid_t &fteid)
 Deserialize the Fteid. More...
 
uint32_t DeserializeImsi (Buffer::Iterator &i, uint64_t &imsi)
 Deserialize the IMSI. More...
 
uint32_t DeserializeUliEcgi (Buffer::Iterator &i, uint32_t &uliEcgi)
 Deserialize the UliEcgi. More...
 
uint32_t GetSerializedSizeBearerTft (std::list< EpcTft::PacketFilter > packetFilters) const
 
uint64_t ReadNtohU40 (Buffer::Iterator &i)
 
void SerializeBearerContextHeader (Buffer::Iterator &i, uint16_t length) const
 Serialize the Bearer Context Header. More...
 
void SerializeBearerQos (Buffer::Iterator &i, EpsBearer bearerQos) const
 Serialize the eps Bearer QoS. More...
 
void SerializeBearerTft (Buffer::Iterator &i, std::list< EpcTft::PacketFilter > packetFilters) const
 Serialize the Bearer TFT. More...
 
void SerializeCause (Buffer::Iterator &i, Cause_t cause) const
 Serialize the Cause. More...
 
void SerializeEbi (Buffer::Iterator &i, uint8_t epsBearerId) const
 Serialize the eps Bearer Id. More...
 
void SerializeFteid (Buffer::Iterator &i, GtpcHeader::Fteid_t fteid) const
 Serialize the Fteid_t. More...
 
void SerializeImsi (Buffer::Iterator &i, uint64_t imsi) const
 Serialize the IMSI. More...
 
void SerializeUliEcgi (Buffer::Iterator &i, uint32_t uliEcgi) const
 Serialize the UliEcgi. More...
 
void WriteHtonU40 (Buffer::Iterator &i, uint64_t data) const
 

Public Attributes

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

Detailed Description

GTP-C Information Elemements.

Definition at line 196 of file epc-gtpc-header.h.

Member Enumeration Documentation

◆ Cause_t

Cause.

Enumerator
RESERVED 
REQUEST_ACCEPTED 

Definition at line 202 of file epc-gtpc-header.h.

Member Function Documentation

◆ DeserializeBearerContextHeader()

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

Deserialize the Bearer Context Header.

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

Definition at line 468 of file epc-gtpc-header.cc.

References NS_ASSERT_MSG, ns3::Buffer::Iterator::ReadNtohU16(), ns3::Buffer::Iterator::ReadU8(), and serializedSizeBearerContextHeader.

Referenced by ns3::GtpcCreateSessionRequestMessage::Deserialize(), ns3::GtpcCreateSessionResponseMessage::Deserialize(), ns3::GtpcModifyBearerRequestMessage::Deserialize(), and ns3::GtpcDeleteBearerCommandMessage::Deserialize().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ DeserializeBearerQos()

uint32_t ns3::GtpcIes::DeserializeBearerQos ( Buffer::Iterator i,
EpsBearer bearerQos 
)

Deserialize the eps Bearer QoS.

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

Definition at line 312 of file epc-gtpc-header.cc.

References ns3::GbrQosInformation::gbrDl, ns3::EpsBearer::gbrQosInfo, ns3::GbrQosInformation::gbrUl, ns3::GbrQosInformation::mbrDl, ns3::GbrQosInformation::mbrUl, NS_ASSERT_MSG, ns3::EpsBearer::qci, ns3::Buffer::Iterator::ReadNtohU16(), ReadNtohU40(), ns3::Buffer::Iterator::ReadU8(), and serializedSizeBearerQos.

Referenced by ns3::GtpcCreateSessionRequestMessage::Deserialize(), and ns3::GtpcCreateSessionResponseMessage::Deserialize().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ DeserializeBearerTft()

◆ DeserializeCause()

uint32_t ns3::GtpcIes::DeserializeCause ( Buffer::Iterator i,
Cause_t cause 
)

Deserialize the Cause.

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

Definition at line 234 of file epc-gtpc-header.cc.

References NS_ASSERT_MSG, ns3::Buffer::Iterator::ReadNtohU16(), ns3::Buffer::Iterator::ReadU8(), and serializedSizeCause.

Referenced by ns3::GtpcCreateSessionResponseMessage::Deserialize(), ns3::GtpcModifyBearerResponseMessage::Deserialize(), and ns3::GtpcDeleteBearerResponseMessage::Deserialize().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ DeserializeEbi()

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

Deserialize the eps Bearer Id.

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

Definition at line 258 of file epc-gtpc-header.cc.

References NS_ASSERT_MSG, ns3::Buffer::Iterator::ReadNtohU16(), ns3::Buffer::Iterator::ReadU8(), and serializedSizeEbi.

Referenced by ns3::GtpcCreateSessionRequestMessage::Deserialize(), ns3::GtpcCreateSessionResponseMessage::Deserialize(), ns3::GtpcModifyBearerRequestMessage::Deserialize(), ns3::GtpcDeleteBearerCommandMessage::Deserialize(), ns3::GtpcDeleteBearerRequestMessage::Deserialize(), and ns3::GtpcDeleteBearerResponseMessage::Deserialize().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ DeserializeFteid()

uint32_t ns3::GtpcIes::DeserializeFteid ( Buffer::Iterator i,
GtpcHeader::Fteid_t fteid 
)

◆ DeserializeImsi()

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

Deserialize the IMSI.

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

Definition at line 210 of file epc-gtpc-header.cc.

References NS_ASSERT_MSG, ns3::Buffer::Iterator::ReadNtohU16(), ns3::Buffer::Iterator::ReadNtohU64(), ns3::Buffer::Iterator::ReadU8(), and serializedSizeImsi.

Referenced by ns3::GtpcCreateSessionRequestMessage::Deserialize(), and ns3::GtpcModifyBearerRequestMessage::Deserialize().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ DeserializeUliEcgi()

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

Deserialize the UliEcgi.

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

Definition at line 417 of file epc-gtpc-header.cc.

References ns3::Buffer::Iterator::Next(), NS_ASSERT_MSG, ns3::Buffer::Iterator::ReadNtohU16(), ns3::Buffer::Iterator::ReadNtohU32(), ns3::Buffer::Iterator::ReadU8(), and serializedSizeUliEcgi.

Referenced by ns3::GtpcCreateSessionRequestMessage::Deserialize(), and ns3::GtpcModifyBearerRequestMessage::Deserialize().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ GetSerializedSizeBearerTft()

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

Definition at line 398 of file epc-gtpc-header.cc.

References serializedSizePacketFilter.

Referenced by DeserializeBearerTft(), ns3::GtpcCreateSessionRequestMessage::GetMessageSize(), ns3::GtpcCreateSessionResponseMessage::GetMessageSize(), ns3::GtpcCreateSessionRequestMessage::Serialize(), and ns3::GtpcCreateSessionResponseMessage::Serialize().

+ Here is the caller graph for this function:

◆ ReadNtohU40()

uint64_t ns3::GtpcIes::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 282 of file epc-gtpc-header.cc.

References ns3::Buffer::Iterator::ReadU8().

Referenced by DeserializeBearerQos().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ SerializeBearerContextHeader()

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

Serialize the Bearer Context Header.

Parameters
iBuffer iterator
lengthThe length

Definition at line 460 of file epc-gtpc-header.cc.

References ns3::Buffer::Iterator::WriteU16(), and ns3::Buffer::Iterator::WriteU8().

Referenced by ns3::GtpcCreateSessionRequestMessage::Serialize(), ns3::GtpcCreateSessionResponseMessage::Serialize(), ns3::GtpcModifyBearerRequestMessage::Serialize(), and ns3::GtpcDeleteBearerCommandMessage::Serialize().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ SerializeBearerQos()

void ns3::GtpcIes::SerializeBearerQos ( Buffer::Iterator i,
EpsBearer  bearerQos 
) const

Serialize the eps Bearer QoS.

Parameters
iBuffer iterator
bearerQosThe Bearer QoS

Definition at line 298 of file epc-gtpc-header.cc.

References ns3::GbrQosInformation::gbrDl, ns3::EpsBearer::gbrQosInfo, ns3::GbrQosInformation::gbrUl, ns3::GbrQosInformation::mbrDl, ns3::GbrQosInformation::mbrUl, ns3::EpsBearer::qci, ns3::Buffer::Iterator::WriteHtonU16(), WriteHtonU40(), and ns3::Buffer::Iterator::WriteU8().

Referenced by ns3::GtpcCreateSessionRequestMessage::Serialize(), and ns3::GtpcCreateSessionResponseMessage::Serialize().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ SerializeBearerTft()

void ns3::GtpcIes::SerializeBearerTft ( Buffer::Iterator i,
std::list< EpcTft::PacketFilter packetFilters 
) const

Serialize the Bearer TFT.

Parameters
iBuffer iterator
packetFiltersThe Packet filters

Definition at line 330 of file epc-gtpc-header.cc.

References serializedSizePacketFilter, ns3::Buffer::Iterator::WriteHtonU16(), ns3::Buffer::Iterator::WriteHtonU32(), and ns3::Buffer::Iterator::WriteU8().

Referenced by ns3::GtpcCreateSessionRequestMessage::Serialize(), and ns3::GtpcCreateSessionResponseMessage::Serialize().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ SerializeCause()

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

Serialize the Cause.

Parameters
iBuffer iterator
causeThe Cause

Definition at line 224 of file epc-gtpc-header.cc.

References ns3::Buffer::Iterator::WriteHtonU16(), and ns3::Buffer::Iterator::WriteU8().

Referenced by ns3::GtpcCreateSessionResponseMessage::Serialize(), ns3::GtpcModifyBearerResponseMessage::Serialize(), and ns3::GtpcDeleteBearerResponseMessage::Serialize().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ SerializeEbi()

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

◆ SerializeFteid()

void ns3::GtpcIes::SerializeFteid ( Buffer::Iterator i,
GtpcHeader::Fteid_t  fteid 
) const

◆ SerializeImsi()

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

Serialize the IMSI.

Parameters
iBuffer iterator
imsiThe IMSI

Definition at line 201 of file epc-gtpc-header.cc.

References ns3::Buffer::Iterator::WriteHtonU16(), ns3::Buffer::Iterator::WriteHtonU64(), and ns3::Buffer::Iterator::WriteU8().

Referenced by ns3::GtpcCreateSessionRequestMessage::Serialize(), and ns3::GtpcModifyBearerRequestMessage::Serialize().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ SerializeUliEcgi()

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

Serialize the UliEcgi.

Parameters
iBuffer iterator
uliEcgiThe UliEcgi

Definition at line 404 of file epc-gtpc-header.cc.

References ns3::Buffer::Iterator::WriteHtonU16(), ns3::Buffer::Iterator::WriteHtonU32(), and ns3::Buffer::Iterator::WriteU8().

Referenced by ns3::GtpcCreateSessionRequestMessage::Serialize(), and ns3::GtpcModifyBearerRequestMessage::Serialize().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ WriteHtonU40()

void ns3::GtpcIes::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 272 of file epc-gtpc-header.cc.

References data, and ns3::Buffer::Iterator::WriteU8().

Referenced by SerializeBearerQos().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

Member Data Documentation

◆ serializedSizeBearerContextHeader

◆ serializedSizeBearerQos

◆ serializedSizeCause

◆ serializedSizeEbi

◆ serializedSizeFteid

◆ serializedSizeImsi

const uint32_t ns3::GtpcIes::serializedSizeImsi = 12

◆ serializedSizePacketFilter

const uint32_t ns3::GtpcIes::serializedSizePacketFilter = 3 + 9 + 9 + 5 + 5 + 3

Packet filter serialized size.

Definition at line 212 of file epc-gtpc-header.h.

Referenced by GetSerializedSizeBearerTft(), and SerializeBearerTft().

◆ serializedSizeUliEcgi

const uint32_t ns3::GtpcIes::serializedSizeUliEcgi = 12

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