A Discrete-Event Network Simulator
API
epc-gtpc-header.h
Go to the documentation of this file.
1 /* -*- Mode: C++; c-file-style: "gnu"; indent-tabs-mode:nil; -*- */
2 /*
3  * Copyright (c) 2018 Centre Tecnologic de Telecomunicacions de Catalunya (CTTC)
4  *
5  * This program is free software; you can redistribute it and/or modify
6  * it under the terms of the GNU General Public License version 2 as
7  * published by the Free Software Foundation;
8  *
9  * This program is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12  * GNU General Public License for more details.
13  *
14  * You should have received a copy of the GNU General Public License
15  * along with this program; if not, write to the Free Software
16  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
17  *
18  * Author: Manuel Requena <manuel.requena@cttc.es>
19  */
20 
21 #ifndef EPC_GTPC_HEADER_H
22 #define EPC_GTPC_HEADER_H
23 
24 #include "ns3/header.h"
25 #include "ns3/epc-tft.h"
26 #include "ns3/eps-bearer.h"
27 
28 namespace ns3 {
29 
38 class GtpcHeader : public Header
39 {
40 public:
41  GtpcHeader ();
42  virtual ~GtpcHeader ();
47  static TypeId GetTypeId (void);
48  virtual TypeId GetInstanceTypeId (void) const;
49  virtual uint32_t GetSerializedSize (void) const;
50  virtual void Serialize (Buffer::Iterator start) const;
51  virtual uint32_t Deserialize (Buffer::Iterator start);
52  virtual void Print (std::ostream &os) const;
53 
54  virtual uint32_t GetMessageSize (void) const;
55 
60  uint8_t GetMessageType () const;
65  uint16_t GetMessageLength () const;
70  uint32_t GetTeid () const;
75  uint32_t GetSequenceNumber () const;
76 
81  void SetMessageType (uint8_t messageType);
86  void SetMessageLength (uint16_t messageLength);
91  void SetTeid (uint32_t teid);
96  void SetSequenceNumber (uint32_t sequenceNumber);
101  void SetIesLength (uint16_t iesLength);
102 
103  void ComputeMessageLength (void);
104 
107  {
114  };
115 
117  struct Fteid_t
118  {
121  uint32_t teid;
122  };
123 
126  {
127  Reserved = 0,
137  };
138 
139 
140 private:
150  uint8_t m_messageType;
156  uint16_t m_messageLength;
160  uint32_t m_teid;
165 
166 
167 protected:
172  void PreSerialize (Buffer::Iterator &i) const;
177  uint32_t PreDeserialize (Buffer::Iterator &i);
178 
179 };
180 
181 
182 class GtpcIes
183 {
184 public:
185  enum Cause_t
186  {
187  RESERVED = 0,
189  };
190 
191  const uint32_t serializedSizeImsi = 12;
192  const uint32_t serializedSizeCause = 6;
193  const uint32_t serializedSizeEbi = 5;
194  const uint32_t serializedSizeBearerQos = 26;
195  const uint32_t serializedSizePacketFilter = 3 + 9 + 9 + 5 + 5 + 3;
196  uint32_t GetSerializedSizeBearerTft (std::list<EpcTft::PacketFilter> packetFilters) const;
197  const uint32_t serializedSizeUliEcgi = 12;
198  const uint32_t serializedSizeFteid = 13;
200 
201 
202  void SerializeImsi (Buffer::Iterator &i, uint64_t imsi) const;
203  uint32_t DeserializeImsi (Buffer::Iterator &i, uint64_t &imsi);
204 
205  void SerializeCause (Buffer::Iterator &i, Cause_t cause) const;
206  uint32_t DeserializeCause (Buffer::Iterator &i, Cause_t &cause);
207 
208  void SerializeEbi (Buffer::Iterator &i, uint8_t epsBearerId) const;
209  uint32_t DeserializeEbi (Buffer::Iterator &i, uint8_t &epsBearerId);
210 
211  void WriteHtonU40 (Buffer::Iterator &i, uint64_t data) const;
212  uint64_t ReadNtohU40 (Buffer::Iterator &i);
213 
214  void SerializeBearerQos (Buffer::Iterator &i, EpsBearer bearerQos) const;
215  uint32_t DeserializeBearerQos (Buffer::Iterator &i, EpsBearer &bearerQos);
216 
217  void SerializeBearerTft (Buffer::Iterator &i, std::list<EpcTft::PacketFilter> packetFilters) const;
218  uint32_t DeserializeBearerTft (Buffer::Iterator &i, Ptr<EpcTft> epcTft);
219 
220  void SerializeUliEcgi (Buffer::Iterator &i, uint32_t uliEcgi) const;
221  uint32_t DeserializeUliEcgi (Buffer::Iterator &i, uint32_t &uliEcgi);
222 
223  void SerializeFteid (Buffer::Iterator &i, GtpcHeader::Fteid_t fteid) const;
225 
226  void SerializeBearerContextHeader (Buffer::Iterator &i, uint16_t length) const;
227  uint32_t DeserializeBearerContextHeader (Buffer::Iterator &i, uint16_t &length);
228 };
229 
230 
232 {
233 public:
240  static TypeId GetTypeId (void);
241  virtual TypeId GetInstanceTypeId (void) const;
242  virtual uint32_t GetSerializedSize (void) const;
243  virtual void Serialize (Buffer::Iterator start) const;
244  virtual uint32_t Deserialize (Buffer::Iterator start);
245  virtual void Print (std::ostream &os) const;
246  virtual uint32_t GetMessageSize (void) const;
247 
248  uint64_t GetImsi () const;
249  void SetImsi (uint64_t imsi);
250 
251  uint32_t GetUliEcgi () const;
252  void SetUliEcgi (uint32_t uliEcgi);
253 
256 
258  {
260  uint8_t epsBearerId;
263  };
264 
265  std::list<BearerContextToBeCreated> GetBearerContextsToBeCreated () const;
266  void SetBearerContextsToBeCreated (std::list<BearerContextToBeCreated> bearerContexts);
267 
268 private:
269  uint64_t m_imsi;
270  uint32_t m_uliEcgi;
272 
273  std::list<BearerContextToBeCreated> m_bearerContextsToBeCreated;
274 };
275 
276 
278 {
279 public:
286  static TypeId GetTypeId (void);
287  virtual TypeId GetInstanceTypeId (void) const;
288  virtual uint32_t GetSerializedSize (void) const;
289  virtual void Serialize (Buffer::Iterator start) const;
290  virtual uint32_t Deserialize (Buffer::Iterator start);
291  virtual void Print (std::ostream &os) const;
292  virtual uint32_t GetMessageSize (void) const;
293 
294  Cause_t GetCause () const;
295  void SetCause (Cause_t cause);
296 
299 
301  {
302  uint8_t epsBearerId;
303  uint8_t cause;
307  };
308 
309  std::list<BearerContextCreated> GetBearerContextsCreated () const;
310  void SetBearerContextsCreated (std::list<BearerContextCreated> bearerContexts);
311 
312 private:
315 
316  std::list<BearerContextCreated> m_bearerContextsCreated;
317 };
318 
319 
321 {
322 public:
329  static TypeId GetTypeId (void);
330  virtual TypeId GetInstanceTypeId (void) const;
331  virtual uint32_t GetSerializedSize (void) const;
332  virtual void Serialize (Buffer::Iterator start) const;
333  virtual uint32_t Deserialize (Buffer::Iterator start);
334  virtual void Print (std::ostream &os) const;
335  virtual uint32_t GetMessageSize (void) const;
336 
337  uint64_t GetImsi () const;
338  void SetImsi (uint64_t imsi);
339 
340  uint32_t GetUliEcgi () const;
341  void SetUliEcgi (uint32_t uliEcgi);
342 
344  {
345  uint8_t epsBearerId;
347  };
348 
349  std::list<BearerContextToBeModified> GetBearerContextsToBeModified () const;
350  void SetBearerContextsToBeModified (std::list<BearerContextToBeModified> bearerContexts);
351 
352 private:
353  uint64_t m_imsi;
354  uint32_t m_uliEcgi;
355 
356  std::list<BearerContextToBeModified> m_bearerContextsToBeModified;
357 };
358 
359 
361 {
362 public:
369  static TypeId GetTypeId (void);
370  virtual TypeId GetInstanceTypeId (void) const;
371  virtual uint32_t GetSerializedSize (void) const;
372  virtual void Serialize (Buffer::Iterator start) const;
373  virtual uint32_t Deserialize (Buffer::Iterator start);
374  virtual void Print (std::ostream &os) const;
375  virtual uint32_t GetMessageSize (void) const;
376 
377  Cause_t GetCause () const;
378  void SetCause (Cause_t cause);
379 
380 private:
382 };
383 
384 
386 {
387 public:
394  static TypeId GetTypeId (void);
395  virtual TypeId GetInstanceTypeId (void) const;
396  virtual uint32_t GetSerializedSize (void) const;
397  virtual void Serialize (Buffer::Iterator start) const;
398  virtual uint32_t Deserialize (Buffer::Iterator start);
399  virtual void Print (std::ostream &os) const;
400  virtual uint32_t GetMessageSize (void) const;
401 
403  {
404  uint8_t m_epsBearerId;
405  };
406 
407  std::list<BearerContext> GetBearerContexts () const;
408  void SetBearerContexts (std::list<BearerContext> bearerContexts);
409 
410 private:
411  std::list<BearerContext> m_bearerContexts;
412 };
413 
414 
416 {
417 public:
424  static TypeId GetTypeId (void);
425  virtual TypeId GetInstanceTypeId (void) const;
426  virtual uint32_t GetSerializedSize (void) const;
427  virtual void Serialize (Buffer::Iterator start) const;
428  virtual uint32_t Deserialize (Buffer::Iterator start);
429  virtual void Print (std::ostream &os) const;
430  virtual uint32_t GetMessageSize (void) const;
431 
432  std::list<uint8_t> GetEpsBearerIds () const;
433  void SetEpsBearerIds (std::list<uint8_t> epsBearerIds);
434 
435 private:
436  std::list<uint8_t> m_epsBearerIds;
437 };
438 
439 
441 {
442 public:
449  static TypeId GetTypeId (void);
450  virtual TypeId GetInstanceTypeId (void) const;
451  virtual uint32_t GetSerializedSize (void) const;
452  virtual void Serialize (Buffer::Iterator start) const;
453  virtual uint32_t Deserialize (Buffer::Iterator start);
454  virtual void Print (std::ostream &os) const;
455  virtual uint32_t GetMessageSize (void) const;
456 
457  Cause_t GetCause () const;
458  void SetCause (Cause_t cause);
459 
460  std::list<uint8_t> GetEpsBearerIds () const;
461  void SetEpsBearerIds (std::list<uint8_t> epsBearerIds);
462 
463 private:
465  std::list<uint8_t> m_epsBearerIds;
466 };
467 
468 } // namespace ns3
469 
470 #endif // EPC_GTPC_HEADER_H
ns3::TypeId
a unique identifier for an interface.
Definition: type-id.h:59
ns3::GtpcDeleteBearerCommandMessage
Definition: epc-gtpc-header.h:386
ns3::GtpcModifyBearerResponseMessage::GetCause
Cause_t GetCause() const
Definition: epc-gtpc-header.cc:981
ns3::GtpcDeleteBearerResponseMessage::m_cause
Cause_t m_cause
Definition: epc-gtpc-header.h:464
ns3::GtpcHeader::Fteid_t
FTEID structure.
Definition: epc-gtpc-header.h:118
ns3::GtpcCreateSessionRequestMessage::GetTypeId
static TypeId GetTypeId(void)
Get the type ID.
Definition: epc-gtpc-header.cc:482
ns3::GtpcHeader::S11_MME_GTPC
@ S11_MME_GTPC
Definition: epc-gtpc-header.h:113
ns3::GtpcCreateSessionRequestMessage::SetSenderCpFteid
void SetSenderCpFteid(GtpcHeader::Fteid_t fteid)
Definition: epc-gtpc-header.cc:621
ns3::GtpcDeleteBearerResponseMessage::GetMessageSize
virtual uint32_t GetMessageSize(void) const
Definition: epc-gtpc-header.cc:1211
ns3::GtpcModifyBearerResponseMessage::GetInstanceTypeId
virtual TypeId GetInstanceTypeId(void) const
Get the most derived TypeId for this Object.
Definition: epc-gtpc-header.cc:937
ns3::GtpcModifyBearerResponseMessage
Definition: epc-gtpc-header.h:361
ns3::GtpcHeader::S5_SGW_GTPC
@ S5_SGW_GTPC
Definition: epc-gtpc-header.h:111
ns3::GtpcHeader::~GtpcHeader
virtual ~GtpcHeader()
Definition: epc-gtpc-header.cc:52
ns3::GtpcHeader::GtpcHeader
GtpcHeader()
Definition: epc-gtpc-header.cc:43
ns3::GtpcModifyBearerRequestMessage::GetMessageSize
virtual uint32_t GetMessageSize(void) const
Definition: epc-gtpc-header.cc:813
ns3::GtpcHeader::Fteid_t::addr
Ipv4Address addr
Definition: epc-gtpc-header.h:120
ns3::GtpcDeleteBearerCommandMessage::GetSerializedSize
virtual uint32_t GetSerializedSize(void) const
Definition: epc-gtpc-header.cc:1029
ns3::GtpcDeleteBearerCommandMessage::BearerContext
Definition: epc-gtpc-header.h:403
ns3::GtpcCreateSessionRequestMessage::BearerContextToBeCreated::sgwS5uFteid
GtpcHeader::Fteid_t sgwS5uFteid
FTEID.
Definition: epc-gtpc-header.h:259
ns3::GtpcDeleteBearerCommandMessage::m_bearerContexts
std::list< BearerContext > m_bearerContexts
Definition: epc-gtpc-header.h:411
ns3::GtpcHeader::SetIesLength
void SetIesLength(uint16_t iesLength)
Set IEs length.
Definition: epc-gtpc-header.cc:187
ns3::GtpcDeleteBearerRequestMessage::m_epsBearerIds
std::list< uint8_t > m_epsBearerIds
Definition: epc-gtpc-header.h:436
ns3::GtpcHeader::PreDeserialize
uint32_t PreDeserialize(Buffer::Iterator &i)
Deserialize the GTP-C header in the GTP-C messages.
Definition: epc-gtpc-header.cc:94
ns3::GtpcModifyBearerRequestMessage::GetImsi
uint64_t GetImsi() const
Definition: epc-gtpc-header.cc:878
ns3::GtpcModifyBearerResponseMessage::GtpcModifyBearerResponseMessage
GtpcModifyBearerResponseMessage()
Definition: epc-gtpc-header.cc:925
ns3::GtpcCreateSessionRequestMessage::Print
virtual void Print(std::ostream &os) const
Definition: epc-gtpc-header.cc:585
ns3
Every class exported by the ns3 library is enclosed in the ns3 namespace.
ns3::GtpcCreateSessionResponseMessage::Serialize
virtual void Serialize(Buffer::Iterator start) const
Definition: epc-gtpc-header.cc:688
ns3::GtpcCreateSessionRequestMessage::GetBearerContextsToBeCreated
std::list< BearerContextToBeCreated > GetBearerContextsToBeCreated() const
Definition: epc-gtpc-header.cc:627
ns3::GtpcModifyBearerResponseMessage::GetTypeId
static TypeId GetTypeId(void)
Get the type ID.
Definition: epc-gtpc-header.cc:916
ns3::GtpcCreateSessionResponseMessage::GtpcCreateSessionResponseMessage
GtpcCreateSessionResponseMessage()
Definition: epc-gtpc-header.cc:650
ns3::GtpcHeader::GetTypeId
static TypeId GetTypeId(void)
Get the type ID.
Definition: epc-gtpc-header.cc:34
ns3::GtpcDeleteBearerResponseMessage::Print
virtual void Print(std::ostream &os) const
Definition: epc-gtpc-header.cc:1256
ns3::GtpcDeleteBearerRequestMessage::Serialize
virtual void Serialize(Buffer::Iterator start) const
Definition: epc-gtpc-header.cc:1132
ns3::GtpcCreateSessionRequestMessage::~GtpcCreateSessionRequestMessage
virtual ~GtpcCreateSessionRequestMessage()
Definition: epc-gtpc-header.cc:499
ns3::GtpcIes::SerializeImsi
void SerializeImsi(Buffer::Iterator &i, uint64_t imsi) const
Definition: epc-gtpc-header.cc:201
ns3::GtpcCreateSessionRequestMessage::GtpcCreateSessionRequestMessage
GtpcCreateSessionRequestMessage()
Definition: epc-gtpc-header.cc:491
ns3::GtpcDeleteBearerResponseMessage::Serialize
virtual void Serialize(Buffer::Iterator start) const
Definition: epc-gtpc-header.cc:1224
ns3::GtpcDeleteBearerResponseMessage
Definition: epc-gtpc-header.h:441
ns3::GtpcHeader::CreateSessionRequest
@ CreateSessionRequest
Definition: epc-gtpc-header.h:128
ns3::GtpcModifyBearerRequestMessage::SetBearerContextsToBeModified
void SetBearerContextsToBeModified(std::list< BearerContextToBeModified > bearerContexts)
Definition: epc-gtpc-header.cc:908
ns3::GtpcDeleteBearerRequestMessage::GetSerializedSize
virtual uint32_t GetSerializedSize(void) const
Definition: epc-gtpc-header.cc:1126
ns3::GtpcCreateSessionRequestMessage::SetImsi
void SetImsi(uint64_t imsi)
Definition: epc-gtpc-header.cc:597
ns3::GtpcCreateSessionRequestMessage::GetMessageSize
virtual uint32_t GetMessageSize(void) const
Definition: epc-gtpc-header.cc:510
ns3::GtpcIes::WriteHtonU40
void WriteHtonU40(Buffer::Iterator &i, uint64_t data) const
Definition: epc-gtpc-header.cc:272
ns3::GtpcHeader::GetTeid
uint32_t GetTeid() const
Get TEID.
Definition: epc-gtpc-header.cc:149
ns3::GtpcModifyBearerRequestMessage::GtpcModifyBearerRequestMessage
GtpcModifyBearerRequestMessage()
Definition: epc-gtpc-header.cc:794
ns3::GtpcCreateSessionRequestMessage::SetBearerContextsToBeCreated
void SetBearerContextsToBeCreated(std::list< BearerContextToBeCreated > bearerContexts)
Definition: epc-gtpc-header.cc:633
ns3::GtpcCreateSessionResponseMessage::BearerContextCreated::bearerLevelQos
EpsBearer bearerLevelQos
Bearer QOS level.
Definition: epc-gtpc-header.h:306
ns3::GtpcModifyBearerRequestMessage::GetUliEcgi
uint32_t GetUliEcgi() const
Definition: epc-gtpc-header.cc:890
ns3::GtpcHeader::SetTeid
void SetTeid(uint32_t teid)
Set TEID.
Definition: epc-gtpc-header.cc:173
ns3::GtpcHeader::Fteid_t::teid
uint32_t teid
Definition: epc-gtpc-header.h:121
ns3::GtpcDeleteBearerResponseMessage::SetEpsBearerIds
void SetEpsBearerIds(std::list< uint8_t > epsBearerIds)
Definition: epc-gtpc-header.cc:1285
ns3::Ipv4Address
Ipv4 addresses are stored in host order in this class.
Definition: ipv4-address.h:41
ns3::GtpcDeleteBearerRequestMessage::GetEpsBearerIds
std::list< uint8_t > GetEpsBearerIds() const
Definition: epc-gtpc-header.cc:1171
ns3::GtpcDeleteBearerRequestMessage::Print
virtual void Print(std::ostream &os) const
Definition: epc-gtpc-header.cc:1160
ns3::GtpcIes::serializedSizeBearerContextHeader
const uint32_t serializedSizeBearerContextHeader
Definition: epc-gtpc-header.h:199
ns3::GtpcModifyBearerRequestMessage::GetTypeId
static TypeId GetTypeId(void)
Get the type ID.
Definition: epc-gtpc-header.cc:785
ns3::GtpcDeleteBearerRequestMessage::SetEpsBearerIds
void SetEpsBearerIds(std::list< uint8_t > epsBearerIds)
Definition: epc-gtpc-header.cc:1177
ns3::GtpcIes::DeserializeImsi
uint32_t DeserializeImsi(Buffer::Iterator &i, uint64_t &imsi)
Definition: epc-gtpc-header.cc:210
ns3::GtpcHeader::DeleteSessionResponse
@ DeleteSessionResponse
Definition: epc-gtpc-header.h:133
ns3::GtpcIes::serializedSizeImsi
const uint32_t serializedSizeImsi
Definition: epc-gtpc-header.h:191
ns3::GtpcIes::DeserializeBearerTft
uint32_t DeserializeBearerTft(Buffer::Iterator &i, Ptr< EpcTft > epcTft)
Definition: epc-gtpc-header.cc:362
ns3::GtpcIes::serializedSizeCause
const uint32_t serializedSizeCause
Definition: epc-gtpc-header.h:192
ns3::GtpcIes::SerializeUliEcgi
void SerializeUliEcgi(Buffer::Iterator &i, uint32_t uliEcgi) const
Definition: epc-gtpc-header.cc:404
ns3::GtpcDeleteBearerResponseMessage::GetTypeId
static TypeId GetTypeId(void)
Get the type ID.
Definition: epc-gtpc-header.cc:1185
ns3::GtpcModifyBearerRequestMessage::BearerContextToBeModified::epsBearerId
uint8_t epsBearerId
EPS bearer ID.
Definition: epc-gtpc-header.h:345
ns3::GtpcModifyBearerRequestMessage::SetImsi
void SetImsi(uint64_t imsi)
Definition: epc-gtpc-header.cc:884
ns3::GtpcCreateSessionRequestMessage::GetSenderCpFteid
GtpcHeader::Fteid_t GetSenderCpFteid() const
Definition: epc-gtpc-header.cc:615
ns3::GtpcCreateSessionRequestMessage::BearerContextToBeCreated::epsBearerId
uint8_t epsBearerId
EPS bearer ID.
Definition: epc-gtpc-header.h:260
ns3::GtpcDeleteBearerResponseMessage::GetSerializedSize
virtual uint32_t GetSerializedSize(void) const
Definition: epc-gtpc-header.cc:1218
ns3::GtpcDeleteBearerRequestMessage::GetMessageSize
virtual uint32_t GetMessageSize(void) const
Definition: epc-gtpc-header.cc:1119
ns3::GtpcDeleteBearerResponseMessage::~GtpcDeleteBearerResponseMessage
virtual ~GtpcDeleteBearerResponseMessage()
Definition: epc-gtpc-header.cc:1200
ns3::GtpcIes::SerializeBearerTft
void SerializeBearerTft(Buffer::Iterator &i, std::list< EpcTft::PacketFilter > packetFilters) const
Definition: epc-gtpc-header.cc:330
ns3::GtpcHeader::DeleteBearerRequest
@ DeleteBearerRequest
Definition: epc-gtpc-header.h:135
ns3::GtpcModifyBearerRequestMessage
Definition: epc-gtpc-header.h:321
ns3::GtpcCreateSessionResponseMessage::BearerContextCreated::tft
Ptr< EpcTft > tft
Bearer traffic flow template.
Definition: epc-gtpc-header.h:304
ns3::Ptr
Smart pointer class similar to boost::intrusive_ptr.
Definition: ptr.h:74
ns3::GtpcCreateSessionResponseMessage::SetSenderCpFteid
void SetSenderCpFteid(GtpcHeader::Fteid_t fteid)
Definition: epc-gtpc-header.cc:765
ns3::GtpcCreateSessionResponseMessage::~GtpcCreateSessionResponseMessage
virtual ~GtpcCreateSessionResponseMessage()
Definition: epc-gtpc-header.cc:657
ns3::GtpcHeader::Print
virtual void Print(std::ostream &os) const
Definition: epc-gtpc-header.cc:124
visualizer.core.start
def start()
Definition: core.py:1855
ns3::GtpcHeader::S5_SGW_GTPU
@ S5_SGW_GTPU
Definition: epc-gtpc-header.h:109
ns3::GtpcDeleteBearerCommandMessage::GetTypeId
static TypeId GetTypeId(void)
Get the type ID.
Definition: epc-gtpc-header.cc:995
ns3::GtpcHeader::m_teid
uint32_t m_teid
Tunnel Endpoint Identifier (TEID) field.
Definition: epc-gtpc-header.h:160
ns3::GtpcCreateSessionRequestMessage::m_imsi
uint64_t m_imsi
Definition: epc-gtpc-header.h:269
ns3::GtpcCreateSessionResponseMessage::GetBearerContextsCreated
std::list< BearerContextCreated > GetBearerContextsCreated() const
Definition: epc-gtpc-header.cc:771
ns3::GtpcDeleteBearerRequestMessage::~GtpcDeleteBearerRequestMessage
virtual ~GtpcDeleteBearerRequestMessage()
Definition: epc-gtpc-header.cc:1108
ns3::GtpcCreateSessionRequestMessage::GetSerializedSize
virtual uint32_t GetSerializedSize(void) const
Definition: epc-gtpc-header.cc:524
ns3::GtpcModifyBearerRequestMessage::Print
virtual void Print(std::ostream &os) const
Definition: epc-gtpc-header.cc:872
ns3::GtpcCreateSessionRequestMessage::m_bearerContextsToBeCreated
std::list< BearerContextToBeCreated > m_bearerContextsToBeCreated
Definition: epc-gtpc-header.h:273
ns3::GtpcModifyBearerRequestMessage::GetSerializedSize
virtual uint32_t GetSerializedSize(void) const
Definition: epc-gtpc-header.cc:823
ns3::GtpcHeader::S5_PGW_GTPU
@ S5_PGW_GTPU
Definition: epc-gtpc-header.h:110
ns3::GtpcDeleteBearerCommandMessage::GetInstanceTypeId
virtual TypeId GetInstanceTypeId(void) const
Get the most derived TypeId for this Object.
Definition: epc-gtpc-header.cc:1015
ns3::GtpcModifyBearerResponseMessage::Serialize
virtual void Serialize(Buffer::Iterator start) const
Definition: epc-gtpc-header.cc:955
ns3::GtpcDeleteBearerCommandMessage::~GtpcDeleteBearerCommandMessage
virtual ~GtpcDeleteBearerCommandMessage()
Definition: epc-gtpc-header.cc:1010
ns3::GtpcCreateSessionRequestMessage::m_senderCpFteid
GtpcHeader::Fteid_t m_senderCpFteid
Definition: epc-gtpc-header.h:271
ns3::GtpcModifyBearerRequestMessage::Serialize
virtual void Serialize(Buffer::Iterator start) const
Definition: epc-gtpc-header.cc:829
ns3::GtpcHeader::ComputeMessageLength
void ComputeMessageLength(void)
Definition: epc-gtpc-header.cc:194
ns3::GtpcDeleteBearerResponseMessage::GetCause
Cause_t GetCause() const
Definition: epc-gtpc-header.cc:1267
data
uint8_t data[writeSize]
Definition: socket-bound-tcp-static-routing.cc:53
ns3::GtpcCreateSessionRequestMessage
Definition: epc-gtpc-header.h:232
ns3::GtpcHeader::SetMessageLength
void SetMessageLength(uint16_t messageLength)
Set message length.
Definition: epc-gtpc-header.cc:167
ns3::GtpcIes::serializedSizeBearerQos
const uint32_t serializedSizeBearerQos
Definition: epc-gtpc-header.h:194
ns3::GtpcCreateSessionRequestMessage::Serialize
virtual void Serialize(Buffer::Iterator start) const
Definition: epc-gtpc-header.cc:530
ns3::GtpcIes::SerializeFteid
void SerializeFteid(Buffer::Iterator &i, GtpcHeader::Fteid_t fteid) const
Definition: epc-gtpc-header.cc:432
ns3::GtpcDeleteBearerResponseMessage::SetCause
void SetCause(Cause_t cause)
Definition: epc-gtpc-header.cc:1273
ns3::GtpcHeader::S5_PGW_GTPC
@ S5_PGW_GTPC
Definition: epc-gtpc-header.h:112
ns3::GtpcIes::GetSerializedSizeBearerTft
uint32_t GetSerializedSizeBearerTft(std::list< EpcTft::PacketFilter > packetFilters) const
Definition: epc-gtpc-header.cc:398
ns3::GtpcHeader::GetInstanceTypeId
virtual TypeId GetInstanceTypeId(void) const
Get the most derived TypeId for this Object.
Definition: epc-gtpc-header.cc:57
ns3::GtpcCreateSessionRequestMessage::SetUliEcgi
void SetUliEcgi(uint32_t uliEcgi)
Definition: epc-gtpc-header.cc:609
ns3::GtpcDeleteBearerCommandMessage::Print
virtual void Print(std::ostream &os) const
Definition: epc-gtpc-header.cc:1068
ns3::GtpcIes::SerializeEbi
void SerializeEbi(Buffer::Iterator &i, uint8_t epsBearerId) const
Definition: epc-gtpc-header.cc:249
ns3::GtpcCreateSessionResponseMessage::SetCause
void SetCause(Cause_t cause)
Definition: epc-gtpc-header.cc:753
ns3::Header
Protocol header serialization and deserialization.
Definition: header.h:43
ns3::GtpcHeader::GetSerializedSize
virtual uint32_t GetSerializedSize(void) const
Definition: epc-gtpc-header.cc:63
ns3::GtpcDeleteBearerResponseMessage::GetEpsBearerIds
std::list< uint8_t > GetEpsBearerIds() const
Definition: epc-gtpc-header.cc:1279
ns3::GtpcIes::RESERVED
@ RESERVED
Definition: epc-gtpc-header.h:187
ns3::GtpcCreateSessionResponseMessage::Print
virtual void Print(std::ostream &os) const
Definition: epc-gtpc-header.cc:741
ns3::GtpcCreateSessionResponseMessage::SetBearerContextsCreated
void SetBearerContextsCreated(std::list< BearerContextCreated > bearerContexts)
Definition: epc-gtpc-header.cc:777
ns3::GtpcCreateSessionRequestMessage::GetUliEcgi
uint32_t GetUliEcgi() const
Definition: epc-gtpc-header.cc:603
ns3::GtpcHeader::Reserved
@ Reserved
Definition: epc-gtpc-header.h:127
ns3::GtpcHeader::GetMessageLength
uint16_t GetMessageLength() const
Get message length.
Definition: epc-gtpc-header.cc:143
ns3::GtpcDeleteBearerRequestMessage
Definition: epc-gtpc-header.h:416
ns3::GtpcHeader::GetSequenceNumber
uint32_t GetSequenceNumber() const
Get sequence number.
Definition: epc-gtpc-header.cc:155
ns3::GtpcCreateSessionRequestMessage::BearerContextToBeCreated
Definition: epc-gtpc-header.h:258
ns3::GtpcModifyBearerRequestMessage::GetInstanceTypeId
virtual TypeId GetInstanceTypeId(void) const
Get the most derived TypeId for this Object.
Definition: epc-gtpc-header.cc:807
ns3::GtpcCreateSessionResponseMessage::GetSenderCpFteid
GtpcHeader::Fteid_t GetSenderCpFteid() const
Definition: epc-gtpc-header.cc:759
ns3::GtpcHeader::MessageType_t
MessageType_t
Message Type enumeration.
Definition: epc-gtpc-header.h:126
ns3::Header::Deserialize
virtual uint32_t Deserialize(Buffer::Iterator start)=0
Deserialize the object from a buffer iterator.
ns3::GtpcCreateSessionResponseMessage::m_bearerContextsCreated
std::list< BearerContextCreated > m_bearerContextsCreated
Definition: epc-gtpc-header.h:316
ns3::GtpcHeader::ModifyBearerResponse
@ ModifyBearerResponse
Definition: epc-gtpc-header.h:131
ns3::GtpcModifyBearerRequestMessage::BearerContextToBeModified::fteid
GtpcHeader::Fteid_t fteid
FTEID.
Definition: epc-gtpc-header.h:346
ns3::GtpcHeader::DeleteBearerCommand
@ DeleteBearerCommand
Definition: epc-gtpc-header.h:134
ns3::GtpcCreateSessionRequestMessage::BearerContextToBeCreated::bearerLevelQos
EpsBearer bearerLevelQos
bearer QOS level
Definition: epc-gtpc-header.h:262
ns3::GtpcModifyBearerResponseMessage::m_cause
Cause_t m_cause
Definition: epc-gtpc-header.h:381
ns3::GtpcCreateSessionRequestMessage::m_uliEcgi
uint32_t m_uliEcgi
Definition: epc-gtpc-header.h:270
ns3::Buffer::Iterator
iterator in a Buffer instance
Definition: buffer.h:99
ns3::GtpcModifyBearerResponseMessage::GetSerializedSize
virtual uint32_t GetSerializedSize(void) const
Definition: epc-gtpc-header.cc:949
ns3::GtpcDeleteBearerCommandMessage::Serialize
virtual void Serialize(Buffer::Iterator start) const
Definition: epc-gtpc-header.cc:1035
ns3::GtpcModifyBearerRequestMessage::GetBearerContextsToBeModified
std::list< BearerContextToBeModified > GetBearerContextsToBeModified() const
Definition: epc-gtpc-header.cc:902
ns3::GtpcHeader::DeleteSessionRequest
@ DeleteSessionRequest
Definition: epc-gtpc-header.h:132
ns3::GtpcDeleteBearerCommandMessage::GetBearerContexts
std::list< BearerContext > GetBearerContexts() const
Definition: epc-gtpc-header.cc:1079
ns3::GtpcCreateSessionRequestMessage::GetImsi
uint64_t GetImsi() const
Definition: epc-gtpc-header.cc:591
ns3::GtpcHeader::m_sequenceNumber
uint32_t m_sequenceNumber
GTP Sequence number field.
Definition: epc-gtpc-header.h:164
ns3::GtpcHeader::GetMessageType
uint8_t GetMessageType() const
Get message type.
Definition: epc-gtpc-header.cc:137
ns3::GtpcHeader::InterfaceType_t
InterfaceType_t
Interface Type enumeration.
Definition: epc-gtpc-header.h:107
ns3::GtpcDeleteBearerResponseMessage::GtpcDeleteBearerResponseMessage
GtpcDeleteBearerResponseMessage()
Definition: epc-gtpc-header.cc:1194
ns3::EpsBearer
This class contains the specification of EPS Bearers.
Definition: eps-bearer.h:92
ns3::GtpcCreateSessionResponseMessage::BearerContextCreated
Definition: epc-gtpc-header.h:301
ns3::GtpcIes::SerializeBearerQos
void SerializeBearerQos(Buffer::Iterator &i, EpsBearer bearerQos) const
Definition: epc-gtpc-header.cc:298
ns3::GtpcIes::DeserializeFteid
uint32_t DeserializeFteid(Buffer::Iterator &i, GtpcHeader::Fteid_t &fteid)
Definition: epc-gtpc-header.cc:443
ns3::GtpcModifyBearerResponseMessage::SetCause
void SetCause(Cause_t cause)
Definition: epc-gtpc-header.cc:987
ns3::GtpcHeader::ModifyBearerRequest
@ ModifyBearerRequest
Definition: epc-gtpc-header.h:130
ns3::GtpcIes::REQUEST_ACCEPTED
@ REQUEST_ACCEPTED
Definition: epc-gtpc-header.h:188
ns3::GtpcHeader::SetMessageType
void SetMessageType(uint8_t messageType)
Set message type.
Definition: epc-gtpc-header.cc:161
ns3::GtpcHeader::m_teidFlag
bool m_teidFlag
TEID flag.
Definition: epc-gtpc-header.h:145
ns3::GtpcCreateSessionResponseMessage::GetTypeId
static TypeId GetTypeId(void)
Get the type ID.
Definition: epc-gtpc-header.cc:641
ns3::GtpcModifyBearerRequestMessage::m_imsi
uint64_t m_imsi
Definition: epc-gtpc-header.h:353
ns3::GtpcHeader::DeleteBearerResponse
@ DeleteBearerResponse
Definition: epc-gtpc-header.h:136
ns3::GtpcIes::ReadNtohU40
uint64_t ReadNtohU40(Buffer::Iterator &i)
Definition: epc-gtpc-header.cc:282
ns3::GtpcModifyBearerResponseMessage::~GtpcModifyBearerResponseMessage
virtual ~GtpcModifyBearerResponseMessage()
Definition: epc-gtpc-header.cc:932
ns3::GtpcHeader::GetMessageSize
virtual uint32_t GetMessageSize(void) const
Definition: epc-gtpc-header.cc:131
ns3::GtpcHeader::PreSerialize
void PreSerialize(Buffer::Iterator &i) const
Serialize the GTP-C header in the GTP-C messages.
Definition: epc-gtpc-header.cc:75
ns3::GtpcIes::DeserializeEbi
uint32_t DeserializeEbi(Buffer::Iterator &i, uint8_t &epsBearerId)
Definition: epc-gtpc-header.cc:258
ns3::GtpcModifyBearerResponseMessage::GetMessageSize
virtual uint32_t GetMessageSize(void) const
Definition: epc-gtpc-header.cc:943
ns3::GtpcCreateSessionResponseMessage::GetInstanceTypeId
virtual TypeId GetInstanceTypeId(void) const
Get the most derived TypeId for this Object.
Definition: epc-gtpc-header.cc:662
ns3::GtpcCreateSessionRequestMessage::BearerContextToBeCreated::tft
Ptr< EpcTft > tft
traffic flow template
Definition: epc-gtpc-header.h:261
ns3::GtpcCreateSessionResponseMessage::GetCause
Cause_t GetCause() const
Definition: epc-gtpc-header.cc:747
ns3::GtpcModifyBearerRequestMessage::BearerContextToBeModified
Definition: epc-gtpc-header.h:344
ns3::GtpcModifyBearerRequestMessage::m_uliEcgi
uint32_t m_uliEcgi
Definition: epc-gtpc-header.h:354
ns3::GtpcIes::serializedSizePacketFilter
const uint32_t serializedSizePacketFilter
Definition: epc-gtpc-header.h:195
ns3::GtpcModifyBearerResponseMessage::Print
virtual void Print(std::ostream &os) const
Definition: epc-gtpc-header.cc:975
ns3::GtpcCreateSessionResponseMessage::BearerContextCreated::epsBearerId
uint8_t epsBearerId
EPS bearer ID.
Definition: epc-gtpc-header.h:302
ns3::GtpcIes::DeserializeUliEcgi
uint32_t DeserializeUliEcgi(Buffer::Iterator &i, uint32_t &uliEcgi)
Definition: epc-gtpc-header.cc:417
ns3::GtpcCreateSessionRequestMessage::GetInstanceTypeId
virtual TypeId GetInstanceTypeId(void) const
Get the most derived TypeId for this Object.
Definition: epc-gtpc-header.cc:504
ns3::GtpcDeleteBearerRequestMessage::GtpcDeleteBearerRequestMessage
GtpcDeleteBearerRequestMessage()
Definition: epc-gtpc-header.cc:1102
ns3::GtpcIes::SerializeCause
void SerializeCause(Buffer::Iterator &i, Cause_t cause) const
Definition: epc-gtpc-header.cc:224
ns3::GtpcIes
Definition: epc-gtpc-header.h:183
ns3::GtpcCreateSessionResponseMessage::m_cause
Cause_t m_cause
Definition: epc-gtpc-header.h:313
ns3::GtpcHeader::S1U_ENB_GTPU
@ S1U_ENB_GTPU
Definition: epc-gtpc-header.h:108
ns3::GtpcModifyBearerRequestMessage::m_bearerContextsToBeModified
std::list< BearerContextToBeModified > m_bearerContextsToBeModified
Definition: epc-gtpc-header.h:356
ns3::GtpcCreateSessionResponseMessage::m_senderCpFteid
GtpcHeader::Fteid_t m_senderCpFteid
Definition: epc-gtpc-header.h:314
ns3::GtpcHeader::Serialize
virtual void Serialize(Buffer::Iterator start) const
Definition: epc-gtpc-header.cc:69
ns3::GtpcDeleteBearerCommandMessage::GetMessageSize
virtual uint32_t GetMessageSize(void) const
Definition: epc-gtpc-header.cc:1021
ns3::GtpcIes::DeserializeCause
uint32_t DeserializeCause(Buffer::Iterator &i, Cause_t &cause)
Definition: epc-gtpc-header.cc:234
ns3::GtpcCreateSessionResponseMessage::BearerContextCreated::fteid
GtpcHeader::Fteid_t fteid
FTEID.
Definition: epc-gtpc-header.h:305
ns3::GtpcDeleteBearerCommandMessage::GtpcDeleteBearerCommandMessage
GtpcDeleteBearerCommandMessage()
Definition: epc-gtpc-header.cc:1004
ns3::GtpcIes::DeserializeBearerQos
uint32_t DeserializeBearerQos(Buffer::Iterator &i, EpsBearer &bearerQos)
Definition: epc-gtpc-header.cc:312
ns3::GtpcCreateSessionResponseMessage::GetMessageSize
virtual uint32_t GetMessageSize(void) const
Definition: epc-gtpc-header.cc:668
ns3::GtpcHeader::SetSequenceNumber
void SetSequenceNumber(uint32_t sequenceNumber)
Set sequence number.
Definition: epc-gtpc-header.cc:181
ns3::GtpcIes::serializedSizeUliEcgi
const uint32_t serializedSizeUliEcgi
Definition: epc-gtpc-header.h:197
ns3::GtpcModifyBearerRequestMessage::SetUliEcgi
void SetUliEcgi(uint32_t uliEcgi)
Definition: epc-gtpc-header.cc:896
ns3::GtpcDeleteBearerResponseMessage::GetInstanceTypeId
virtual TypeId GetInstanceTypeId(void) const
Get the most derived TypeId for this Object.
Definition: epc-gtpc-header.cc:1205
ns3::GtpcCreateSessionResponseMessage::GetSerializedSize
virtual uint32_t GetSerializedSize(void) const
Definition: epc-gtpc-header.cc:682
ns3::GtpcIes::DeserializeBearerContextHeader
uint32_t DeserializeBearerContextHeader(Buffer::Iterator &i, uint16_t &length)
Definition: epc-gtpc-header.cc:468
ns3::GtpcHeader::m_messageLength
uint16_t m_messageLength
Message length field.
Definition: epc-gtpc-header.h:156
ns3::GtpcDeleteBearerRequestMessage::GetTypeId
static TypeId GetTypeId(void)
Get the type ID.
Definition: epc-gtpc-header.cc:1093
ns3::GtpcIes::serializedSizeEbi
const uint32_t serializedSizeEbi
Definition: epc-gtpc-header.h:193
ns3::GtpcHeader::m_messageType
uint8_t m_messageType
Message type field.
Definition: epc-gtpc-header.h:150
ns3::GtpcIes::serializedSizeFteid
const uint32_t serializedSizeFteid
Definition: epc-gtpc-header.h:198
ns3::GtpcHeader::Fteid_t::interfaceType
InterfaceType_t interfaceType
Definition: epc-gtpc-header.h:119
ns3::GtpcIes::SerializeBearerContextHeader
void SerializeBearerContextHeader(Buffer::Iterator &i, uint16_t length) const
Definition: epc-gtpc-header.cc:460
ns3::GtpcModifyBearerRequestMessage::~GtpcModifyBearerRequestMessage
virtual ~GtpcModifyBearerRequestMessage()
Definition: epc-gtpc-header.cc:802
ns3::GtpcCreateSessionResponseMessage
Definition: epc-gtpc-header.h:278
ns3::GtpcDeleteBearerRequestMessage::GetInstanceTypeId
virtual TypeId GetInstanceTypeId(void) const
Get the most derived TypeId for this Object.
Definition: epc-gtpc-header.cc:1113
ns3::GtpcHeader
Header of the GTPv2-C protocol.
Definition: epc-gtpc-header.h:39
ns3::GtpcHeader::CreateSessionResponse
@ CreateSessionResponse
Definition: epc-gtpc-header.h:129
ns3::GtpcDeleteBearerResponseMessage::m_epsBearerIds
std::list< uint8_t > m_epsBearerIds
Definition: epc-gtpc-header.h:465
ns3::GtpcDeleteBearerCommandMessage::BearerContext::m_epsBearerId
uint8_t m_epsBearerId
EPS bearer ID.
Definition: epc-gtpc-header.h:404
ns3::GtpcCreateSessionResponseMessage::BearerContextCreated::cause
uint8_t cause
Cause.
Definition: epc-gtpc-header.h:303
ns3::GtpcDeleteBearerCommandMessage::SetBearerContexts
void SetBearerContexts(std::list< BearerContext > bearerContexts)
Definition: epc-gtpc-header.cc:1085
ns3::GtpcIes::Cause_t
Cause_t
Definition: epc-gtpc-header.h:186