GTP-C Create Session Response Message. More...
#include "epc-gtpc-header.h"
Classes | |
struct | BearerContextCreated |
Bearer Context structure. More... | |
Public Member Functions | |
GtpcCreateSessionResponseMessage () | |
~GtpcCreateSessionResponseMessage () override | |
uint32_t | Deserialize (Buffer::Iterator start) override |
std::list< BearerContextCreated > | GetBearerContextsCreated () const |
Get the Container of Bearer Contexts. | |
Cause_t | GetCause () const |
Get the Cause. | |
TypeId | GetInstanceTypeId () const override |
Get the most derived TypeId for this Object. | |
uint32_t | GetMessageSize () const override |
Get the message size. | |
GtpcHeader::Fteid_t | GetSenderCpFteid () const |
Get the Sender CpFteid. | |
uint32_t | GetSerializedSize () const override |
void | Print (std::ostream &os) const override |
void | Serialize (Buffer::Iterator start) const override |
void | SetBearerContextsCreated (std::list< BearerContextCreated > bearerContexts) |
Set the Bearer Contexts. | |
void | SetCause (Cause_t cause) |
Set the Cause. | |
void | SetSenderCpFteid (GtpcHeader::Fteid_t fteid) |
Set the Sender CpFteid. | |
Public Member Functions inherited from ns3::GtpcHeader | |
GtpcHeader () | |
~GtpcHeader () override | |
void | ComputeMessageLength () |
Compute the message length according to the message type. | |
uint32_t | Deserialize (Buffer::Iterator start) override |
TypeId | GetInstanceTypeId () const override |
Get the most derived TypeId for this Object. | |
uint16_t | GetMessageLength () const |
Get message length. | |
virtual uint32_t | GetMessageSize () const |
Get the message size. | |
uint8_t | GetMessageType () const |
Get message type. | |
uint32_t | GetSequenceNumber () const |
Get sequence number. | |
uint32_t | GetSerializedSize () const override |
uint32_t | GetTeid () const |
Get TEID. | |
void | Print (std::ostream &os) const override |
void | Serialize (Buffer::Iterator start) const override |
void | SetIesLength (uint16_t iesLength) |
Set IEs length. | |
void | SetMessageLength (uint16_t messageLength) |
Set message length. | |
void | SetMessageType (uint8_t messageType) |
Set message type. | |
void | SetSequenceNumber (uint32_t sequenceNumber) |
Set sequence number. | |
void | SetTeid (uint32_t teid) |
Set TEID. | |
Public Member Functions inherited from ns3::Header | |
~Header () override | |
uint32_t | Deserialize (Buffer::Iterator start) override=0 |
virtual uint32_t | Deserialize (Buffer::Iterator start)=0 |
Deserialize the object from a buffer iterator. | |
virtual uint32_t | Deserialize (Buffer::Iterator start, Buffer::Iterator end) |
Deserialize the object from a buffer iterator. | |
virtual uint32_t | GetSerializedSize () const =0 |
void | Print (std::ostream &os) const override=0 |
virtual void | Serialize (Buffer::Iterator start) const =0 |
virtual uint32_t | Deserialize (Buffer::Iterator start)=0 |
Deserialize the object from a buffer iterator. | |
virtual uint32_t | Deserialize (Buffer::Iterator start, Buffer::Iterator end) |
Deserialize the object from a buffer iterator. | |
virtual void | Print (std::ostream &os) const =0 |
Print the object contents. | |
Public Member Functions inherited from ns3::ObjectBase | |
virtual | ~ObjectBase () |
Virtual destructor. | |
void | GetAttribute (std::string name, AttributeValue &value) const |
Get the value of an attribute, raising fatal errors if unsuccessful. | |
bool | GetAttributeFailSafe (std::string name, AttributeValue &value) const |
Get the value of an attribute without raising errors. | |
virtual TypeId | GetInstanceTypeId () const =0 |
Get the most derived TypeId for this Object. | |
void | SetAttribute (std::string name, const AttributeValue &value) |
Set a single attribute, raising fatal errors if unsuccessful. | |
bool | SetAttributeFailSafe (std::string name, const AttributeValue &value) |
Set a single attribute without raising errors. | |
bool | TraceConnect (std::string name, std::string context, const CallbackBase &cb) |
Connect a TraceSource to a Callback with a context. | |
bool | TraceConnectWithoutContext (std::string name, const CallbackBase &cb) |
Connect a TraceSource to a Callback without a context. | |
bool | TraceDisconnect (std::string name, std::string context, const CallbackBase &cb) |
Disconnect from a TraceSource a Callback previously connected with a context. | |
bool | TraceDisconnectWithoutContext (std::string name, const CallbackBase &cb) |
Disconnect from a TraceSource a Callback previously connected without a context. | |
Public Member Functions inherited from ns3::GtpcIes | |
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 |
Static Public Member Functions | |
static TypeId | GetTypeId () |
Get the type ID. | |
Static Public Member Functions inherited from ns3::GtpcHeader | |
static TypeId | GetTypeId () |
Get the type ID. | |
Static Public Member Functions inherited from ns3::Header | |
static TypeId | GetTypeId () |
Get the type ID. | |
Static Public Member Functions inherited from ns3::Chunk | |
static TypeId | GetTypeId () |
Get the type ID. | |
Static Public Member Functions inherited from ns3::ObjectBase | |
static TypeId | GetTypeId () |
Get the type ID. | |
Private Attributes | |
std::list< BearerContextCreated > | m_bearerContextsCreated |
Container of Bearer Contexts. | |
Cause_t | m_cause |
Cause. | |
GtpcHeader::Fteid_t | m_senderCpFteid |
Sender CpFteid. | |
Additional Inherited Members | |
Public Types inherited from ns3::GtpcHeader | |
enum | InterfaceType_t { S1U_ENB_GTPU = 0 , S5_SGW_GTPU = 4 , S5_PGW_GTPU = 5 , S5_SGW_GTPC = 6 , S5_PGW_GTPC = 7 , S11_MME_GTPC = 10 } |
Interface Type enumeration. More... | |
enum | MessageType_t { Reserved = 0 , CreateSessionRequest = 32 , CreateSessionResponse = 33 , ModifyBearerRequest = 34 , ModifyBearerResponse = 35 , DeleteSessionRequest = 36 , DeleteSessionResponse = 37 , DeleteBearerCommand = 66 , DeleteBearerRequest = 99 , DeleteBearerResponse = 100 } |
Message Type enumeration. More... | |
Public Types inherited from ns3::GtpcIes | |
enum | Cause_t { RESERVED = 0 , REQUEST_ACCEPTED = 16 } |
Cause. More... | |
Public Attributes inherited from ns3::GtpcIes | |
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. | |
Protected Member Functions inherited from ns3::GtpcHeader | |
uint32_t | PreDeserialize (Buffer::Iterator &i) |
Deserialize the GTP-C header in the GTP-C messages. | |
void | PreSerialize (Buffer::Iterator &i) const |
Serialize the GTP-C header in the GTP-C messages. | |
Protected Member Functions inherited from ns3::ObjectBase | |
void | ConstructSelf (const AttributeConstructionList &attributes) |
Complete construction of ObjectBase; invoked by derived classes. | |
virtual void | NotifyConstructionCompleted () |
Notifier called once the ObjectBase is fully constructed. | |
Related Functions inherited from ns3::ObjectBase | |
static TypeId | GetObjectIid () |
Ensure the TypeId for ObjectBase gets fully configured to anchor the inheritance tree properly. | |
GTP-C Create Session Response Message.
Definition at line 443 of file epc-gtpc-header.h.
ns3::GtpcCreateSessionResponseMessage::GtpcCreateSessionResponseMessage | ( | ) |
Definition at line 656 of file epc-gtpc-header.cc.
References ns3::GtpcHeader::CreateSessionResponse, m_cause, ns3::GtpcIes::RESERVED, ns3::GtpcHeader::SetMessageType(), and ns3::GtpcHeader::SetSequenceNumber().
|
override |
Definition at line 663 of file epc-gtpc-header.cc.
|
overridevirtual |
start | an iterator which points to where the header should read from. |
This method is used by Packet::RemoveHeader to re-create a header from the byte buffer of a packet. The data read is expected to match bit-for-bit the representation of this header in real networks.
Note that data is not actually removed from the buffer to which the iterator points. Both Packet::RemoveHeader() and Packet::PeekHeader() call Deserialize(), but only the RemoveHeader() has additional statements to remove the header bytes from the underlying buffer and associated metadata.
Reimplemented from ns3::GtpcHeader.
Definition at line 718 of file epc-gtpc-header.cc.
References ns3::GtpcCreateSessionResponseMessage::BearerContextCreated::bearerLevelQos, ns3::GtpcIes::DeserializeBearerContextHeader(), ns3::GtpcIes::DeserializeBearerQos(), ns3::GtpcIes::DeserializeBearerTft(), ns3::GtpcIes::DeserializeCause(), ns3::GtpcIes::DeserializeEbi(), ns3::GtpcIes::DeserializeFteid(), ns3::GtpcCreateSessionResponseMessage::BearerContextCreated::epsBearerId, ns3::GtpcCreateSessionResponseMessage::BearerContextCreated::fteid, ns3::Buffer::Iterator::GetRemainingSize(), GetSerializedSize(), m_bearerContextsCreated, m_cause, m_senderCpFteid, ns3::GtpcHeader::PreDeserialize(), and ns3::GtpcCreateSessionResponseMessage::BearerContextCreated::tft.
std::list< GtpcCreateSessionResponseMessage::BearerContextCreated > ns3::GtpcCreateSessionResponseMessage::GetBearerContextsCreated | ( | ) | const |
Get the Container of Bearer Contexts.
Definition at line 779 of file epc-gtpc-header.cc.
References m_bearerContextsCreated.
Referenced by ns3::EpcMmeApplication::DoRecvCreateSessionResponse(), and ns3::EpcSgwApplication::DoRecvCreateSessionResponse().
GtpcCreateSessionResponseMessage::Cause_t ns3::GtpcCreateSessionResponseMessage::GetCause | ( | ) | const |
Get the Cause.
Definition at line 755 of file epc-gtpc-header.cc.
References m_cause.
|
overridevirtual |
Get the most derived TypeId for this Object.
This method is typically implemented by ns3::Object::GetInstanceTypeId but some classes which derive from ns3::ObjectBase directly have to implement it themselves.
Reimplemented from ns3::GtpcHeader.
Definition at line 668 of file epc-gtpc-header.cc.
References GetTypeId().
|
overridevirtual |
Get the message size.
Subclasses are supposed to have a message size greater than zero.
Reimplemented from ns3::GtpcHeader.
Definition at line 674 of file epc-gtpc-header.cc.
References ns3::GtpcIes::GetSerializedSizeBearerTft(), m_bearerContextsCreated, ns3::GtpcIes::serializedSizeBearerContextHeader, ns3::GtpcIes::serializedSizeBearerQos, ns3::GtpcIes::serializedSizeCause, ns3::GtpcIes::serializedSizeEbi, and ns3::GtpcIes::serializedSizeFteid.
Referenced by GetSerializedSize().
GtpcHeader::Fteid_t ns3::GtpcCreateSessionResponseMessage::GetSenderCpFteid | ( | ) | const |
Get the Sender CpFteid.
Definition at line 767 of file epc-gtpc-header.cc.
References m_senderCpFteid.
Referenced by ns3::EpcSgwApplication::DoRecvCreateSessionResponse().
|
overridevirtual |
This method is used by Packet::AddHeader to store a header into the byte buffer of a packet. This method should return the number of bytes which are needed to store the full header data by Serialize.
Reimplemented from ns3::GtpcHeader.
Definition at line 688 of file epc-gtpc-header.cc.
References GetMessageSize(), and ns3::GtpcHeader::GetSerializedSize().
Referenced by Deserialize().
|
static |
Get the type ID.
Definition at line 647 of file epc-gtpc-header.cc.
References ns3::TypeId::SetParent().
Referenced by GetInstanceTypeId().
|
overridevirtual |
os | output stream This method is used by Packet::Print to print the content of a header as ascii data to a c++ output stream. Although the header is free to format its output as it wishes, it is recommended to follow a few rules to integrate with the packet pretty printer: start with flags, small field values located between a pair of parens. Values should be separated by whitespace. Follow the parens with the important fields, separated by whitespace. i.e.: (field1 val1 field2 val2 field3 val3) field4 val4 field5 val5 |
Reimplemented from ns3::GtpcHeader.
Definition at line 749 of file epc-gtpc-header.cc.
References ns3::GtpcHeader::Fteid_t::addr, m_cause, m_senderCpFteid, and ns3::GtpcHeader::Fteid_t::teid.
|
overridevirtual |
start | an iterator which points to where the header should be written. |
This method is used by Packet::AddHeader to store a header into the byte buffer of a packet. The data written is expected to match bit-for-bit the representation of this header in a real network.
Reimplemented from ns3::GtpcHeader.
Definition at line 694 of file epc-gtpc-header.cc.
References ns3::GtpcIes::GetSerializedSizeBearerTft(), m_bearerContextsCreated, m_cause, m_senderCpFteid, ns3::GtpcHeader::PreSerialize(), ns3::GtpcIes::SerializeBearerContextHeader(), ns3::GtpcIes::SerializeBearerQos(), ns3::GtpcIes::SerializeBearerTft(), ns3::GtpcIes::SerializeCause(), ns3::GtpcIes::serializedSizeBearerQos, ns3::GtpcIes::serializedSizeEbi, ns3::GtpcIes::serializedSizeFteid, ns3::GtpcIes::SerializeEbi(), and ns3::GtpcIes::SerializeFteid().
void ns3::GtpcCreateSessionResponseMessage::SetBearerContextsCreated | ( | std::list< BearerContextCreated > | bearerContexts | ) |
Set the Bearer Contexts.
bearerContexts | a list of Bearer Contexts |
Definition at line 785 of file epc-gtpc-header.cc.
References m_bearerContextsCreated.
Referenced by ns3::EpcPgwApplication::DoRecvCreateSessionRequest(), and ns3::EpcSgwApplication::DoRecvCreateSessionResponse().
void ns3::GtpcCreateSessionResponseMessage::SetCause | ( | GtpcCreateSessionResponseMessage::Cause_t | cause | ) |
Set the Cause.
cause | The cause |
Definition at line 761 of file epc-gtpc-header.cc.
References m_cause.
Referenced by ns3::EpcPgwApplication::DoRecvCreateSessionRequest(), and ns3::EpcSgwApplication::DoRecvCreateSessionResponse().
void ns3::GtpcCreateSessionResponseMessage::SetSenderCpFteid | ( | GtpcHeader::Fteid_t | fteid | ) |
Set the Sender CpFteid.
fteid | the Sender CpFteid |
Definition at line 773 of file epc-gtpc-header.cc.
References m_senderCpFteid.
Referenced by ns3::EpcPgwApplication::DoRecvCreateSessionRequest().
|
private |
Container of Bearer Contexts.
Definition at line 509 of file epc-gtpc-header.h.
Referenced by Deserialize(), GetBearerContextsCreated(), GetMessageSize(), Serialize(), and SetBearerContextsCreated().
|
private |
Cause.
Definition at line 506 of file epc-gtpc-header.h.
Referenced by GtpcCreateSessionResponseMessage(), Deserialize(), GetCause(), Print(), Serialize(), and SetCause().
|
private |
Sender CpFteid.
Definition at line 507 of file epc-gtpc-header.h.
Referenced by Deserialize(), GetSenderCpFteid(), Print(), Serialize(), and SetSenderCpFteid().