GTP-C Information Elemements. 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) |
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... | |
GTP-C Information Elemements.
Definition at line 196 of file epc-gtpc-header.h.
uint32_t ns3::GtpcIes::DeserializeBearerContextHeader | ( | Buffer::Iterator & | i, |
uint16_t & | length | ||
) |
Deserialize the Bearer Context Header.
i | Buffer iterator | |
[out] | length | length |
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().
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 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().
uint32_t ns3::GtpcIes::DeserializeBearerTft | ( | Buffer::Iterator & | i, |
Ptr< EpcTft > | epcTft | ||
) |
Deserialize the Bearer TFT.
i | Buffer iterator | |
[out] | epcTft | The Bearer TFT |
Definition at line 362 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 | ||
) |
Deserialize the Cause.
i | Buffer iterator | |
[out] | cause | The cause |
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().
uint32_t ns3::GtpcIes::DeserializeEbi | ( | Buffer::Iterator & | i, |
uint8_t & | epsBearerId | ||
) |
Deserialize the eps Bearer Id.
i | Buffer iterator | |
[out] | epsBearerId | The eps Bearer Id |
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().
uint32_t ns3::GtpcIes::DeserializeFteid | ( | Buffer::Iterator & | i, |
GtpcHeader::Fteid_t & | fteid | ||
) |
Deserialize the Fteid.
i | Buffer iterator | |
[out] | fteid | Fteid |
Definition at line 443 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 | ||
) |
Deserialize the IMSI.
i | Buffer iterator | |
[out] | imsi | The IMSI |
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().
uint32_t ns3::GtpcIes::DeserializeUliEcgi | ( | Buffer::Iterator & | i, |
uint32_t & | uliEcgi | ||
) |
Deserialize the UliEcgi.
i | Buffer iterator | |
[out] | uliEcgi | UliEcgi |
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().
uint32_t ns3::GtpcIes::GetSerializedSizeBearerTft | ( | std::list< EpcTft::PacketFilter > | packetFilters | ) | const |
packetFilters | The 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().
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 282 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 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().
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 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().
void ns3::GtpcIes::SerializeBearerTft | ( | Buffer::Iterator & | i, |
std::list< EpcTft::PacketFilter > | packetFilters | ||
) | const |
Serialize the Bearer TFT.
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().
void ns3::GtpcIes::SerializeCause | ( | Buffer::Iterator & | i, |
Cause_t | cause | ||
) | const |
Serialize the Cause.
i | Buffer iterator |
cause | The 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().
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 249 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 432 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 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().
void ns3::GtpcIes::SerializeUliEcgi | ( | Buffer::Iterator & | i, |
uint32_t | uliEcgi | ||
) | const |
Serialize the UliEcgi.
i | Buffer iterator |
uliEcgi | The 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().
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 272 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 220 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 211 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 209 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 210 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 219 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 208 of file epc-gtpc-header.h.
Referenced by DeserializeImsi(), ns3::GtpcCreateSessionRequestMessage::GetMessageSize(), and ns3::GtpcModifyBearerRequestMessage::GetMessageSize().
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().
const uint32_t ns3::GtpcIes::serializedSizeUliEcgi = 12 |
UliEcgi serialized size.
Definition at line 218 of file epc-gtpc-header.h.
Referenced by DeserializeUliEcgi(), ns3::GtpcCreateSessionRequestMessage::GetMessageSize(), and ns3::GtpcModifyBearerRequestMessage::GetMessageSize().