GTP-C Information Elements. More...
#include "epc-gtpc-header.h"
Public Types | |
enum | Cause_t { RESERVED = 0 , REQUEST_ACCEPTED = 16 } |
Cause. More... | |
Public Member Functions | |
uint32_t | DeserializeBearerContextHeader (Buffer::Iterator &i, uint16_t &length) const |
Deserialize the Bearer Context Header. | |
uint32_t | DeserializeBearerQos (Buffer::Iterator &i, EpsBearer &bearerQos) |
Deserialize the eps Bearer QoS. | |
uint32_t | DeserializeBearerTft (Buffer::Iterator &i, Ptr< EpcTft > epcTft) const |
Deserialize the Bearer TFT. | |
uint32_t | DeserializeCause (Buffer::Iterator &i, Cause_t &cause) const |
Deserialize the Cause. | |
uint32_t | DeserializeEbi (Buffer::Iterator &i, uint8_t &epsBearerId) const |
Deserialize the eps Bearer Id. | |
uint32_t | DeserializeFteid (Buffer::Iterator &i, GtpcHeader::Fteid_t &fteid) const |
Deserialize the Fteid. | |
uint32_t | DeserializeImsi (Buffer::Iterator &i, uint64_t &imsi) const |
Deserialize the IMSI. | |
uint32_t | DeserializeUliEcgi (Buffer::Iterator &i, uint32_t &uliEcgi) const |
Deserialize the UliEcgi. | |
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. | |
void | SerializeBearerQos (Buffer::Iterator &i, EpsBearer bearerQos) const |
Serialize the eps Bearer QoS. | |
void | SerializeBearerTft (Buffer::Iterator &i, std::list< EpcTft::PacketFilter > packetFilters) const |
Serialize the Bearer TFT. | |
void | SerializeCause (Buffer::Iterator &i, Cause_t cause) const |
Serialize the Cause. | |
void | SerializeEbi (Buffer::Iterator &i, uint8_t epsBearerId) const |
Serialize the eps Bearer Id. | |
void | SerializeFteid (Buffer::Iterator &i, GtpcHeader::Fteid_t fteid) const |
Serialize the Fteid_t. | |
void | SerializeImsi (Buffer::Iterator &i, uint64_t imsi) const |
Serialize the IMSI. | |
void | SerializeUliEcgi (Buffer::Iterator &i, uint32_t uliEcgi) const |
Serialize the UliEcgi. | |
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. | |
GTP-C Information Elements.
Definition at line 183 of file epc-gtpc-header.h.
uint32_t ns3::GtpcIes::DeserializeBearerContextHeader | ( | Buffer::Iterator & | i, |
uint16_t & | length ) const |
Deserialize the Bearer Context Header.
i | Buffer iterator | |
[out] | length | length |
Definition at line 460 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::GtpcDeleteBearerCommandMessage::Deserialize(), and ns3::GtpcModifyBearerRequestMessage::Deserialize().
uint32_t ns3::GtpcIes::DeserializeBearerQos | ( | Buffer::Iterator & | i, |
EpsBearer & | bearerQos ) |
Deserialize the eps Bearer QoS.
i | Buffer iterator | |
[out] | bearerQos | The Bearer QoS |
Definition at line 303 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().
uint32_t ns3::GtpcIes::DeserializeBearerTft | ( | Buffer::Iterator & | i, |
Ptr< EpcTft > | epcTft ) const |
Deserialize the Bearer TFT.
i | Buffer iterator | |
[out] | epcTft | The Bearer TFT |
Definition at line 354 of file epc-gtpc-header.cc.
References ns3::EpcTft::PacketFilter::direction, GetSerializedSizeBearerTft(), ns3::EpcTft::PacketFilter::localAddress, ns3::EpcTft::PacketFilter::localMask, ns3::EpcTft::PacketFilter::localPortEnd, ns3::EpcTft::PacketFilter::localPortStart, NS_ASSERT_MSG, ns3::EpcTft::PacketFilter::precedence, ns3::Buffer::Iterator::ReadNtohU16(), ns3::Buffer::Iterator::ReadNtohU32(), ns3::Buffer::Iterator::ReadU8(), ns3::EpcTft::PacketFilter::remoteAddress, ns3::EpcTft::PacketFilter::remoteMask, ns3::EpcTft::PacketFilter::remotePortEnd, ns3::EpcTft::PacketFilter::remotePortStart, ns3::EpcTft::PacketFilter::typeOfService, and ns3::EpcTft::PacketFilter::typeOfServiceMask.
Referenced by ns3::GtpcCreateSessionRequestMessage::Deserialize(), and ns3::GtpcCreateSessionResponseMessage::Deserialize().
uint32_t ns3::GtpcIes::DeserializeCause | ( | Buffer::Iterator & | i, |
Cause_t & | cause ) const |
Deserialize the Cause.
i | Buffer iterator | |
[out] | cause | The cause |
Definition at line 225 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::GtpcDeleteBearerResponseMessage::Deserialize(), and ns3::GtpcModifyBearerResponseMessage::Deserialize().
uint32_t ns3::GtpcIes::DeserializeEbi | ( | Buffer::Iterator & | i, |
uint8_t & | epsBearerId ) const |
Deserialize the eps Bearer Id.
i | Buffer iterator | |
[out] | epsBearerId | The eps Bearer Id |
Definition at line 249 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::GtpcDeleteBearerCommandMessage::Deserialize(), ns3::GtpcDeleteBearerRequestMessage::Deserialize(), ns3::GtpcDeleteBearerResponseMessage::Deserialize(), and ns3::GtpcModifyBearerRequestMessage::Deserialize().
uint32_t ns3::GtpcIes::DeserializeFteid | ( | Buffer::Iterator & | i, |
GtpcHeader::Fteid_t & | fteid ) const |
Deserialize the Fteid.
i | Buffer iterator | |
[out] | fteid | Fteid |
Definition at line 435 of file epc-gtpc-header.cc.
References ns3::GtpcHeader::Fteid_t::addr, ns3::GtpcHeader::Fteid_t::interfaceType, NS_ASSERT_MSG, ns3::Buffer::Iterator::ReadNtohU16(), ns3::Buffer::Iterator::ReadNtohU32(), ns3::Buffer::Iterator::ReadU8(), serializedSizeFteid, ns3::Ipv4Address::Set(), and ns3::GtpcHeader::Fteid_t::teid.
Referenced by ns3::GtpcCreateSessionRequestMessage::Deserialize(), ns3::GtpcCreateSessionResponseMessage::Deserialize(), and ns3::GtpcModifyBearerRequestMessage::Deserialize().
uint32_t ns3::GtpcIes::DeserializeImsi | ( | Buffer::Iterator & | i, |
uint64_t & | imsi ) const |
Deserialize the IMSI.
i | Buffer iterator | |
[out] | imsi | The IMSI |
Definition at line 201 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().
uint32_t ns3::GtpcIes::DeserializeUliEcgi | ( | Buffer::Iterator & | i, |
uint32_t & | uliEcgi ) const |
Deserialize the UliEcgi.
i | Buffer iterator | |
[out] | uliEcgi | UliEcgi |
Definition at line 409 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().
uint32_t ns3::GtpcIes::GetSerializedSizeBearerTft | ( | std::list< EpcTft::PacketFilter > | packetFilters | ) | const |
packetFilters | The packet filter |
Definition at line 390 of file epc-gtpc-header.cc.
References serializedSizePacketFilter.
Referenced by DeserializeBearerTft(), ns3::GtpcCreateSessionRequestMessage::GetMessageSize(), ns3::GtpcCreateSessionResponseMessage::GetMessageSize(), ns3::GtpcCreateSessionRequestMessage::Serialize(), and ns3::GtpcCreateSessionResponseMessage::Serialize().
uint64_t ns3::GtpcIes::ReadNtohU40 | ( | Buffer::Iterator & | i | ) |
i | Buffer iterator |
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 273 of file epc-gtpc-header.cc.
References ns3::Buffer::Iterator::ReadU8().
Referenced by DeserializeBearerQos().
void ns3::GtpcIes::SerializeBearerContextHeader | ( | Buffer::Iterator & | i, |
uint16_t | length ) const |
Serialize the Bearer Context Header.
i | Buffer iterator |
length | The length |
Definition at line 452 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::GtpcDeleteBearerCommandMessage::Serialize(), and ns3::GtpcModifyBearerRequestMessage::Serialize().
void ns3::GtpcIes::SerializeBearerQos | ( | Buffer::Iterator & | i, |
EpsBearer | bearerQos ) const |
Serialize the eps Bearer QoS.
i | Buffer iterator |
bearerQos | The Bearer QoS |
Definition at line 289 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().
void ns3::GtpcIes::SerializeBearerTft | ( | Buffer::Iterator & | i, |
std::list< EpcTft::PacketFilter > | packetFilters ) const |
Serialize the Bearer TFT.
Definition at line 321 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().
void ns3::GtpcIes::SerializeCause | ( | Buffer::Iterator & | i, |
Cause_t | cause ) const |
Serialize the Cause.
i | Buffer iterator |
cause | The Cause |
Definition at line 215 of file epc-gtpc-header.cc.
References ns3::Buffer::Iterator::WriteHtonU16(), and ns3::Buffer::Iterator::WriteU8().
Referenced by ns3::GtpcCreateSessionResponseMessage::Serialize(), ns3::GtpcDeleteBearerResponseMessage::Serialize(), and ns3::GtpcModifyBearerResponseMessage::Serialize().
void ns3::GtpcIes::SerializeEbi | ( | Buffer::Iterator & | i, |
uint8_t | epsBearerId ) const |
Serialize the eps Bearer Id.
i | Buffer iterator |
epsBearerId | The eps Bearer Id |
Definition at line 240 of file epc-gtpc-header.cc.
References ns3::Buffer::Iterator::WriteHtonU16(), and ns3::Buffer::Iterator::WriteU8().
Referenced by ns3::GtpcCreateSessionRequestMessage::Serialize(), ns3::GtpcCreateSessionResponseMessage::Serialize(), ns3::GtpcDeleteBearerCommandMessage::Serialize(), ns3::GtpcDeleteBearerRequestMessage::Serialize(), ns3::GtpcDeleteBearerResponseMessage::Serialize(), and ns3::GtpcModifyBearerRequestMessage::Serialize().
void ns3::GtpcIes::SerializeFteid | ( | Buffer::Iterator & | i, |
GtpcHeader::Fteid_t | fteid ) const |
Serialize the Fteid_t.
i | Buffer iterator |
fteid | The Fteid_t |
Definition at line 424 of file epc-gtpc-header.cc.
References ns3::GtpcHeader::Fteid_t::addr, ns3::Ipv4Address::Get(), ns3::GtpcHeader::Fteid_t::interfaceType, ns3::GtpcHeader::Fteid_t::teid, ns3::Buffer::Iterator::WriteHtonU16(), ns3::Buffer::Iterator::WriteHtonU32(), and ns3::Buffer::Iterator::WriteU8().
Referenced by ns3::GtpcCreateSessionRequestMessage::Serialize(), ns3::GtpcCreateSessionResponseMessage::Serialize(), and ns3::GtpcModifyBearerRequestMessage::Serialize().
void ns3::GtpcIes::SerializeImsi | ( | Buffer::Iterator & | i, |
uint64_t | imsi ) const |
Serialize the IMSI.
i | Buffer iterator |
imsi | The IMSI |
Definition at line 192 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().
void ns3::GtpcIes::SerializeUliEcgi | ( | Buffer::Iterator & | i, |
uint32_t | uliEcgi ) const |
Serialize the UliEcgi.
i | Buffer iterator |
uliEcgi | The UliEcgi |
Definition at line 396 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().
void ns3::GtpcIes::WriteHtonU40 | ( | Buffer::Iterator & | i, |
uint64_t | data ) const |
i | Buffer iterator |
data | data 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 263 of file epc-gtpc-header.cc.
References data, and ns3::Buffer::Iterator::WriteU8().
Referenced by SerializeBearerQos().
const uint32_t ns3::GtpcIes::serializedSizeBearerContextHeader = 4 |
Fteid serialized size.
Definition at line 208 of file epc-gtpc-header.h.
Referenced by DeserializeBearerContextHeader(), ns3::GtpcCreateSessionRequestMessage::GetMessageSize(), ns3::GtpcCreateSessionResponseMessage::GetMessageSize(), ns3::GtpcDeleteBearerCommandMessage::GetMessageSize(), and ns3::GtpcModifyBearerRequestMessage::GetMessageSize().
const uint32_t ns3::GtpcIes::serializedSizeBearerQos = 26 |
Bearer QoS serialized size.
Definition at line 198 of file epc-gtpc-header.h.
Referenced by DeserializeBearerQos(), ns3::GtpcCreateSessionRequestMessage::GetMessageSize(), ns3::GtpcCreateSessionResponseMessage::GetMessageSize(), ns3::GtpcCreateSessionRequestMessage::Serialize(), and ns3::GtpcCreateSessionResponseMessage::Serialize().
const uint32_t ns3::GtpcIes::serializedSizeCause = 6 |
Cause serialized size.
Definition at line 196 of file epc-gtpc-header.h.
Referenced by DeserializeCause(), ns3::GtpcCreateSessionResponseMessage::GetMessageSize(), ns3::GtpcDeleteBearerResponseMessage::GetMessageSize(), and ns3::GtpcModifyBearerResponseMessage::GetMessageSize().
const uint32_t ns3::GtpcIes::serializedSizeEbi = 5 |
EBI serialized size.
Definition at line 197 of file epc-gtpc-header.h.
Referenced by DeserializeEbi(), ns3::GtpcCreateSessionRequestMessage::GetMessageSize(), ns3::GtpcCreateSessionResponseMessage::GetMessageSize(), ns3::GtpcDeleteBearerCommandMessage::GetMessageSize(), ns3::GtpcDeleteBearerRequestMessage::GetMessageSize(), ns3::GtpcDeleteBearerResponseMessage::GetMessageSize(), ns3::GtpcModifyBearerRequestMessage::GetMessageSize(), ns3::GtpcCreateSessionRequestMessage::Serialize(), ns3::GtpcCreateSessionResponseMessage::Serialize(), ns3::GtpcDeleteBearerCommandMessage::Serialize(), and ns3::GtpcModifyBearerRequestMessage::Serialize().
const uint32_t ns3::GtpcIes::serializedSizeFteid = 13 |
Fteid serialized size.
Definition at line 207 of file epc-gtpc-header.h.
Referenced by DeserializeFteid(), ns3::GtpcCreateSessionRequestMessage::GetMessageSize(), ns3::GtpcCreateSessionResponseMessage::GetMessageSize(), ns3::GtpcModifyBearerRequestMessage::GetMessageSize(), ns3::GtpcCreateSessionRequestMessage::Serialize(), ns3::GtpcCreateSessionResponseMessage::Serialize(), and ns3::GtpcModifyBearerRequestMessage::Serialize().
const uint32_t ns3::GtpcIes::serializedSizeImsi = 12 |
IMSI serialized size.
Definition at line 195 of file epc-gtpc-header.h.
Referenced by DeserializeImsi(), ns3::GtpcCreateSessionRequestMessage::GetMessageSize(), and ns3::GtpcModifyBearerRequestMessage::GetMessageSize().
const uint32_t ns3::GtpcIes::serializedSizePacketFilter |
Packet filter serialized size.
Definition at line 199 of file epc-gtpc-header.h.
Referenced by GetSerializedSizeBearerTft(), and SerializeBearerTft().
const uint32_t ns3::GtpcIes::serializedSizeUliEcgi = 12 |
UliEcgi serialized size.
Definition at line 206 of file epc-gtpc-header.h.
Referenced by DeserializeUliEcgi(), ns3::GtpcCreateSessionRequestMessage::GetMessageSize(), and ns3::GtpcModifyBearerRequestMessage::GetMessageSize().