GTP-C Create Session Request Message. More...
#include "epc-gtpc-header.h"
 Inheritance diagram for ns3::GtpcCreateSessionRequestMessage:
 Inheritance diagram for ns3::GtpcCreateSessionRequestMessage: Collaboration diagram for ns3::GtpcCreateSessionRequestMessage:
 Collaboration diagram for ns3::GtpcCreateSessionRequestMessage:| Classes | |
| struct | BearerContextToBeCreated | 
| Bearer Context structure.  More... | |
| Public Member Functions | |
| GtpcCreateSessionRequestMessage () | |
| ~GtpcCreateSessionRequestMessage () override | |
| uint32_t | Deserialize (Buffer::Iterator start) override | 
| std::list< BearerContextToBeCreated > | GetBearerContextsToBeCreated () const | 
| Get the Bearer Contexts. | |
| uint64_t | GetImsi () const | 
| Get the IMSI. | |
| 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 | 
| uint32_t | GetUliEcgi () const | 
| Get the UliEcgi. | |
| void | Print (std::ostream &os) const override | 
| void | Serialize (Buffer::Iterator start) const override | 
| void | SetBearerContextsToBeCreated (std::list< BearerContextToBeCreated > bearerContexts) | 
| Set the Bearer Contexts. | |
| void | SetImsi (uint64_t imsi) | 
| Set the IMSI. | |
| void | SetSenderCpFteid (GtpcHeader::Fteid_t fteid) | 
| Set the Sender CpFteid. | |
| void | SetUliEcgi (uint32_t uliEcgi) | 
| Set the UliEcgi. | |
|  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. | |
| 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 | |
| virtual uint32_t | Deserialize (Buffer::Iterator start, Buffer::Iterator end) | 
| Deserialize the object from a buffer iterator. | |
|  Public Member Functions inherited from ns3::ObjectBase | |
| virtual | ~ObjectBase () | 
| Virtual destructor. | |
| void | GetAttribute (std::string name, AttributeValue &value, bool permissive=false) 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. | |
| 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< BearerContextToBeCreated > | m_bearerContextsToBeCreated | 
| Bearer Context list. | |
| uint64_t | m_imsi | 
| IMSI. | |
| GtpcHeader::Fteid_t | m_senderCpFteid | 
| Sender CpFteid. | |
| uint32_t | m_uliEcgi | 
| UliEcgi. | |
| 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 Symbols 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 Request Message.
Definition at line 347 of file epc-gtpc-header.h.
| ns3::GtpcCreateSessionRequestMessage::GtpcCreateSessionRequestMessage | ( | ) | 
Definition at line 483 of file epc-gtpc-header.cc.
References ns3::GtpcHeader::CreateSessionRequest, m_imsi, m_senderCpFteid, m_uliEcgi, ns3::GtpcHeader::SetMessageType(), and ns3::GtpcHeader::SetSequenceNumber().
 Here is the call graph for this function:
 Here is the call graph for this function:| 
 | override | 
Definition at line 492 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.
Implements ns3::Header.
Definition at line 548 of file epc-gtpc-header.cc.
References ns3::GtpcCreateSessionRequestMessage::BearerContextToBeCreated::bearerLevelQos, ns3::Create(), ns3::GtpcIes::DeserializeBearerContextHeader(), ns3::GtpcIes::DeserializeBearerQos(), ns3::GtpcIes::DeserializeBearerTft(), ns3::GtpcIes::DeserializeEbi(), ns3::GtpcIes::DeserializeFteid(), ns3::GtpcIes::DeserializeImsi(), ns3::GtpcIes::DeserializeUliEcgi(), ns3::GtpcCreateSessionRequestMessage::BearerContextToBeCreated::epsBearerId, ns3::Buffer::Iterator::GetRemainingSize(), GetSerializedSize(), m_bearerContextsToBeCreated, m_imsi, m_senderCpFteid, m_uliEcgi, ns3::GtpcHeader::PreDeserialize(), ns3::GtpcCreateSessionRequestMessage::BearerContextToBeCreated::sgwS5uFteid, and ns3::GtpcCreateSessionRequestMessage::BearerContextToBeCreated::tft.
 Here is the call graph for this function:
 Here is the call graph for this function:| std::list< GtpcCreateSessionRequestMessage::BearerContextToBeCreated > ns3::GtpcCreateSessionRequestMessage::GetBearerContextsToBeCreated | ( | ) | const | 
Get the Bearer Contexts.
Definition at line 622 of file epc-gtpc-header.cc.
References m_bearerContextsToBeCreated.
Referenced by ns3::EpcPgwApplication::DoRecvCreateSessionRequest(), and ns3::EpcSgwApplication::DoRecvCreateSessionRequest().
 Here is the caller graph for this function:
 Here is the caller graph for this function:| uint64_t ns3::GtpcCreateSessionRequestMessage::GetImsi | ( | ) | const | 
Get the IMSI.
Definition at line 586 of file epc-gtpc-header.cc.
References m_imsi.
Referenced by ns3::EpcPgwApplication::DoRecvCreateSessionRequest(), and ns3::EpcSgwApplication::DoRecvCreateSessionRequest().
 Here is the caller graph for this function:
 Here is the caller graph for this function:| 
 | overridevirtual | 
Get the most derived TypeId for this Object.
This method is provided by ns3::Object::GetInstanceTypeId but classes which derive from ns3::ObjectBase directly have to implement it themselves. Typically, this method should simply return the output of GetTypeId().
Implements ns3::ObjectBase.
Definition at line 497 of file epc-gtpc-header.cc.
References GetTypeId().
 Here is the call graph for this function:
 Here is the call graph for this function:| 
 | overridevirtual | 
Get the message size.
Subclasses are supposed to have a message size greater than zero.
Reimplemented from ns3::GtpcHeader.
Definition at line 503 of file epc-gtpc-header.cc.
References ns3::GtpcIes::GetSerializedSizeBearerTft(), m_bearerContextsToBeCreated, ns3::GtpcIes::serializedSizeBearerContextHeader, ns3::GtpcIes::serializedSizeBearerQos, ns3::GtpcIes::serializedSizeEbi, ns3::GtpcIes::serializedSizeFteid, ns3::GtpcIes::serializedSizeImsi, and ns3::GtpcIes::serializedSizeUliEcgi.
Referenced by GetSerializedSize().
 Here is the call graph for this function:
 Here is the call graph for this function: Here is the caller graph for this function:
 Here is the caller graph for this function:| GtpcHeader::Fteid_t ns3::GtpcCreateSessionRequestMessage::GetSenderCpFteid | ( | ) | const | 
Get the Sender CpFteid.
Definition at line 610 of file epc-gtpc-header.cc.
References m_senderCpFteid.
Referenced by ns3::EpcPgwApplication::DoRecvCreateSessionRequest(), and ns3::EpcSgwApplication::DoRecvCreateSessionRequest().
 Here is the caller graph for this function:
 Here is the caller graph for this function:| 
 | 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.
Implements ns3::Header.
Definition at line 517 of file epc-gtpc-header.cc.
References GetMessageSize(), and ns3::GtpcHeader::GetSerializedSize().
Referenced by Deserialize().
 Here is the call graph for this function:
 Here is the call graph for this function: Here is the caller graph for this function:
 Here is the caller graph for this function:| 
 | static | 
Get the type ID.
Definition at line 474 of file epc-gtpc-header.cc.
References ns3::TypeId::SetParent().
Referenced by GetInstanceTypeId().
 Here is the call graph for this function:
 Here is the call graph for this function: Here is the caller graph for this function:
 Here is the caller graph for this function:| uint32_t ns3::GtpcCreateSessionRequestMessage::GetUliEcgi | ( | ) | const | 
Get the UliEcgi.
Definition at line 598 of file epc-gtpc-header.cc.
References m_uliEcgi.
Referenced by ns3::EpcPgwApplication::DoRecvCreateSessionRequest(), and ns3::EpcSgwApplication::DoRecvCreateSessionRequest().
 Here is the caller graph for this function:
 Here is the caller graph for this function:| 
 | 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 | 
Implements ns3::Header.
Definition at line 580 of file epc-gtpc-header.cc.
| 
 | 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.
Implements ns3::Header.
Definition at line 523 of file epc-gtpc-header.cc.
References ns3::GtpcIes::GetSerializedSizeBearerTft(), m_bearerContextsToBeCreated, m_imsi, m_senderCpFteid, m_uliEcgi, ns3::GtpcHeader::PreSerialize(), ns3::GtpcIes::SerializeBearerContextHeader(), ns3::GtpcIes::SerializeBearerQos(), ns3::GtpcIes::SerializeBearerTft(), ns3::GtpcIes::serializedSizeBearerQos, ns3::GtpcIes::serializedSizeEbi, ns3::GtpcIes::serializedSizeFteid, ns3::GtpcIes::SerializeEbi(), ns3::GtpcIes::SerializeFteid(), ns3::GtpcIes::SerializeImsi(), and ns3::GtpcIes::SerializeUliEcgi().
 Here is the call graph for this function:
 Here is the call graph for this function:| void ns3::GtpcCreateSessionRequestMessage::SetBearerContextsToBeCreated | ( | std::list< BearerContextToBeCreated > | bearerContexts | ) | 
Set the Bearer Contexts.
| bearerContexts | the Bearer Context list | 
Definition at line 628 of file epc-gtpc-header.cc.
References m_bearerContextsToBeCreated.
Referenced by ns3::EpcMmeApplication::DoInitialUeMessage(), and ns3::EpcSgwApplication::DoRecvCreateSessionRequest().
 Here is the caller graph for this function:
 Here is the caller graph for this function:| void ns3::GtpcCreateSessionRequestMessage::SetImsi | ( | uint64_t | imsi | ) | 
Set the IMSI.
| imsi | IMSI | 
Definition at line 592 of file epc-gtpc-header.cc.
References m_imsi.
Referenced by ns3::EpcMmeApplication::DoInitialUeMessage(), and ns3::EpcSgwApplication::DoRecvCreateSessionRequest().
 Here is the caller graph for this function:
 Here is the caller graph for this function:| void ns3::GtpcCreateSessionRequestMessage::SetSenderCpFteid | ( | GtpcHeader::Fteid_t | fteid | ) | 
Set the Sender CpFteid.
| fteid | Sender CpFteid | 
Definition at line 616 of file epc-gtpc-header.cc.
References m_senderCpFteid.
Referenced by ns3::EpcMmeApplication::DoInitialUeMessage(), and ns3::EpcSgwApplication::DoRecvCreateSessionRequest().
 Here is the caller graph for this function:
 Here is the caller graph for this function:| void ns3::GtpcCreateSessionRequestMessage::SetUliEcgi | ( | uint32_t | uliEcgi | ) | 
Set the UliEcgi.
| uliEcgi | UliEcgi | 
Definition at line 604 of file epc-gtpc-header.cc.
References m_uliEcgi.
Referenced by ns3::EpcMmeApplication::DoInitialUeMessage(), and ns3::EpcSgwApplication::DoRecvCreateSessionRequest().
 Here is the caller graph for this function:
 Here is the caller graph for this function:| 
 | private | 
Bearer Context list.
Definition at line 425 of file epc-gtpc-header.h.
Referenced by Deserialize(), GetBearerContextsToBeCreated(), GetMessageSize(), Serialize(), and SetBearerContextsToBeCreated().
| 
 | private | 
IMSI.
Definition at line 420 of file epc-gtpc-header.h.
Referenced by GtpcCreateSessionRequestMessage(), Deserialize(), GetImsi(), Print(), Serialize(), and SetImsi().
| 
 | private | 
Sender CpFteid.
Definition at line 422 of file epc-gtpc-header.h.
Referenced by GtpcCreateSessionRequestMessage(), Deserialize(), GetSenderCpFteid(), Serialize(), and SetSenderCpFteid().
| 
 | private | 
UliEcgi.
Definition at line 421 of file epc-gtpc-header.h.
Referenced by GtpcCreateSessionRequestMessage(), Deserialize(), GetUliEcgi(), Print(), Serialize(), and SetUliEcgi().