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 194 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 471 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().
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 314 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 365 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 236 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().
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 260 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().
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 446 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 212 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 420 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 401 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 284 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 463 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().
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 300 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 332 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 226 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().
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 251 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::GtpcModifyBearerRequestMessage::Serialize(), ns3::GtpcDeleteBearerCommandMessage::Serialize(), ns3::GtpcDeleteBearerRequestMessage::Serialize(), and ns3::GtpcDeleteBearerResponseMessage::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 435 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 203 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 407 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 274 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 219 of file epc-gtpc-header.h.
Referenced by DeserializeBearerContextHeader(), ns3::GtpcCreateSessionRequestMessage::GetMessageSize(), ns3::GtpcCreateSessionResponseMessage::GetMessageSize(), ns3::GtpcModifyBearerRequestMessage::GetMessageSize(), and ns3::GtpcDeleteBearerCommandMessage::GetMessageSize().
const uint32_t ns3::GtpcIes::serializedSizeBearerQos = 26 |
Bearer QoS serialized size.
Definition at line 209 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 207 of file epc-gtpc-header.h.
Referenced by DeserializeCause(), ns3::GtpcCreateSessionResponseMessage::GetMessageSize(), ns3::GtpcModifyBearerResponseMessage::GetMessageSize(), and ns3::GtpcDeleteBearerResponseMessage::GetMessageSize().
const uint32_t ns3::GtpcIes::serializedSizeEbi = 5 |
EBI serialized size.
Definition at line 208 of file epc-gtpc-header.h.
Referenced by DeserializeEbi(), ns3::GtpcCreateSessionRequestMessage::GetMessageSize(), ns3::GtpcCreateSessionResponseMessage::GetMessageSize(), ns3::GtpcModifyBearerRequestMessage::GetMessageSize(), ns3::GtpcDeleteBearerCommandMessage::GetMessageSize(), ns3::GtpcDeleteBearerRequestMessage::GetMessageSize(), ns3::GtpcDeleteBearerResponseMessage::GetMessageSize(), ns3::GtpcCreateSessionRequestMessage::Serialize(), ns3::GtpcCreateSessionResponseMessage::Serialize(), ns3::GtpcModifyBearerRequestMessage::Serialize(), and ns3::GtpcDeleteBearerCommandMessage::Serialize().
const uint32_t ns3::GtpcIes::serializedSizeFteid = 13 |
Fteid serialized size.
Definition at line 218 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 206 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 210 of file epc-gtpc-header.h.
Referenced by GetSerializedSizeBearerTft(), and SerializeBearerTft().
const uint32_t ns3::GtpcIes::serializedSizeUliEcgi = 12 |
UliEcgi serialized size.
Definition at line 217 of file epc-gtpc-header.h.
Referenced by DeserializeUliEcgi(), ns3::GtpcCreateSessionRequestMessage::GetMessageSize(), and ns3::GtpcModifyBearerRequestMessage::GetMessageSize().