A Discrete-Event Network Simulator
API
Loading...
Searching...
No Matches
epc-x2-header.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2012 Centre Tecnologic de Telecomunicacions de Catalunya (CTTC)
3 *
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License version 2 as
6 * published by the Free Software Foundation;
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program; if not, write to the Free Software
15 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
16 *
17 * Author: Manuel Requena <manuel.requena@cttc.es>
18 */
19
20#ifndef EPC_X2_HEADER_H
21#define EPC_X2_HEADER_H
22
23#include "epc-x2-sap.h"
24
25#include "ns3/header.h"
26
27#include <vector>
28
29namespace ns3
30{
31
32class EpcX2Header : public Header
33{
34 public:
36 ~EpcX2Header() override;
37
42 static TypeId GetTypeId();
43 TypeId GetInstanceTypeId() const override;
44 uint32_t GetSerializedSize() const override;
45 void Serialize(Buffer::Iterator start) const override;
47 void Print(std::ostream& os) const override;
48
53 uint8_t GetMessageType() const;
58 void SetMessageType(uint8_t messageType);
59
64 uint8_t GetProcedureCode() const;
69 void SetProcedureCode(uint8_t procedureCode);
70
75 void SetLengthOfIes(uint32_t lengthOfIes);
80 void SetNumberOfIes(uint32_t numberOfIes);
81
84 {
91 };
92
95 {
99 };
100
101 private:
104
107};
108
113{
114 public:
117
122 static TypeId GetTypeId();
123 TypeId GetInstanceTypeId() const override;
124 uint32_t GetSerializedSize() const override;
125 void Serialize(Buffer::Iterator start) const override;
126 uint32_t Deserialize(Buffer::Iterator start) override;
127 void Print(std::ostream& os) const override;
128
133 uint16_t GetOldEnbUeX2apId() const;
138 void SetOldEnbUeX2apId(uint16_t x2apId);
139
144 uint16_t GetCause() const;
149 void SetCause(uint16_t cause);
150
155 uint16_t GetTargetCellId() const;
160 void SetTargetCellId(uint16_t targetCellId);
161
166 uint32_t GetMmeUeS1apId() const;
171 void SetMmeUeS1apId(uint32_t mmeUeS1apId);
172
177 std::vector<EpcX2Sap::ErabToBeSetupItem> GetBearers() const;
182 void SetBearers(std::vector<EpcX2Sap::ErabToBeSetupItem> bearers);
183
188 uint64_t GetUeAggregateMaxBitRateDownlink() const;
193 void SetUeAggregateMaxBitRateDownlink(uint64_t bitRate);
194
199 uint64_t GetUeAggregateMaxBitRateUplink() const;
204 void SetUeAggregateMaxBitRateUplink(uint64_t bitRate);
205
210 uint32_t GetLengthOfIes() const;
215 uint32_t GetNumberOfIes() const;
216
217 private:
220
222 uint16_t m_cause;
223 uint16_t m_targetCellId;
227 std::vector<EpcX2Sap::ErabToBeSetupItem> m_erabsToBeSetupList;
228};
229
234{
235 public:
238
243 static TypeId GetTypeId();
244 TypeId GetInstanceTypeId() const override;
245 uint32_t GetSerializedSize() const override;
246 void Serialize(Buffer::Iterator start) const override;
247 uint32_t Deserialize(Buffer::Iterator start) override;
248 void Print(std::ostream& os) const override;
249
254 uint16_t GetOldEnbUeX2apId() const;
259 void SetOldEnbUeX2apId(uint16_t x2apId);
260
265 uint16_t GetNewEnbUeX2apId() const;
270 void SetNewEnbUeX2apId(uint16_t x2apId);
271
276 std::vector<EpcX2Sap::ErabAdmittedItem> GetAdmittedBearers() const;
281 void SetAdmittedBearers(std::vector<EpcX2Sap::ErabAdmittedItem> bearers);
282
287 std::vector<EpcX2Sap::ErabNotAdmittedItem> GetNotAdmittedBearers() const;
292 void SetNotAdmittedBearers(std::vector<EpcX2Sap::ErabNotAdmittedItem> bearers);
293
298 uint32_t GetLengthOfIes() const;
303 uint32_t GetNumberOfIes() const;
304
305 private:
308
311 std::vector<EpcX2Sap::ErabAdmittedItem> m_erabsAdmittedList;
312 std::vector<EpcX2Sap::ErabNotAdmittedItem> m_erabsNotAdmittedList;
313};
314
319{
320 public:
323
328 static TypeId GetTypeId();
329 TypeId GetInstanceTypeId() const override;
330 uint32_t GetSerializedSize() const override;
331 void Serialize(Buffer::Iterator start) const override;
332 uint32_t Deserialize(Buffer::Iterator start) override;
333 void Print(std::ostream& os) const override;
334
339 uint16_t GetOldEnbUeX2apId() const;
344 void SetOldEnbUeX2apId(uint16_t x2apId);
345
350 uint16_t GetCause() const;
355 void SetCause(uint16_t cause);
356
361 uint16_t GetCriticalityDiagnostics() const;
366 void SetCriticalityDiagnostics(uint16_t criticalityDiagnostics);
367
372 uint32_t GetLengthOfIes() const;
377 uint32_t GetNumberOfIes() const;
378
379 private:
382
384 uint16_t m_cause;
386};
387
392{
393 public:
396
401 static TypeId GetTypeId();
402 TypeId GetInstanceTypeId() const override;
403 uint32_t GetSerializedSize() const override;
404 void Serialize(Buffer::Iterator start) const override;
405 uint32_t Deserialize(Buffer::Iterator start) override;
406 void Print(std::ostream& os) const override;
407
412 uint16_t GetOldEnbUeX2apId() const;
417 void SetOldEnbUeX2apId(uint16_t x2apId);
418
423 uint16_t GetNewEnbUeX2apId() const;
428 void SetNewEnbUeX2apId(uint16_t x2apId);
429
434 std::vector<EpcX2Sap::ErabsSubjectToStatusTransferItem> GetErabsSubjectToStatusTransferList()
435 const;
441 std::vector<EpcX2Sap::ErabsSubjectToStatusTransferItem> erabs);
442
447 uint32_t GetLengthOfIes() const;
452 uint32_t GetNumberOfIes() const;
453
454 private:
457
460 std::vector<EpcX2Sap::ErabsSubjectToStatusTransferItem>
462};
463
468{
469 public:
472
477 static TypeId GetTypeId();
478 TypeId GetInstanceTypeId() const override;
479 uint32_t GetSerializedSize() const override;
480 void Serialize(Buffer::Iterator start) const override;
481 uint32_t Deserialize(Buffer::Iterator start) override;
482 void Print(std::ostream& os) const override;
483
488 uint16_t GetOldEnbUeX2apId() const;
493 void SetOldEnbUeX2apId(uint16_t x2apId);
494
499 uint16_t GetNewEnbUeX2apId() const;
504 void SetNewEnbUeX2apId(uint16_t x2apId);
505
510 uint32_t GetLengthOfIes() const;
515 uint32_t GetNumberOfIes() const;
516
517 private:
520
523};
524
529{
530 public:
533
538 static TypeId GetTypeId();
539 TypeId GetInstanceTypeId() const override;
540 uint32_t GetSerializedSize() const override;
541 void Serialize(Buffer::Iterator start) const override;
542 uint32_t Deserialize(Buffer::Iterator start) override;
543 void Print(std::ostream& os) const override;
544
549 std::vector<EpcX2Sap::CellInformationItem> GetCellInformationList() const;
554 void SetCellInformationList(std::vector<EpcX2Sap::CellInformationItem> cellInformationList);
555
560 uint32_t GetLengthOfIes() const;
565 uint32_t GetNumberOfIes() const;
566
567 private:
570
571 std::vector<EpcX2Sap::CellInformationItem> m_cellInformationList;
572};
573
578{
579 public:
582
587 static TypeId GetTypeId();
588 TypeId GetInstanceTypeId() const override;
589 uint32_t GetSerializedSize() const override;
590 void Serialize(Buffer::Iterator start) const override;
591 uint32_t Deserialize(Buffer::Iterator start) override;
592 void Print(std::ostream& os) const override;
593
598 uint16_t GetEnb1MeasurementId() const;
603 void SetEnb1MeasurementId(uint16_t enb1MeasurementId);
604
609 uint16_t GetEnb2MeasurementId() const;
614 void SetEnb2MeasurementId(uint16_t enb2MeasurementId);
615
620 std::vector<EpcX2Sap::CellMeasurementResultItem> GetCellMeasurementResultList() const;
626 std::vector<EpcX2Sap::CellMeasurementResultItem> cellMeasurementResultList);
627
632 uint32_t GetLengthOfIes() const;
637 uint32_t GetNumberOfIes() const;
638
639 private:
642
645 std::vector<EpcX2Sap::CellMeasurementResultItem>
647};
648
653{
654 public:
657
662 static TypeId GetTypeId();
663 TypeId GetInstanceTypeId() const override;
664 uint32_t GetSerializedSize() const override;
665 void Serialize(Buffer::Iterator start) const override;
666 uint32_t Deserialize(Buffer::Iterator start) override;
667 void Print(std::ostream& os) const override;
668
673 uint16_t GetOldEnbUeX2apId() const;
678 void SetOldEnbUeX2apId(uint16_t x2apId);
679
684 uint16_t GetNewEnbUeX2apId() const;
689 void SetNewEnbUeX2apId(uint16_t x2apId);
690
695 uint16_t GetCause() const;
700 void SetCause(uint16_t cause);
701
706 uint32_t GetLengthOfIes() const;
711 uint32_t GetNumberOfIes() const;
712
713 private:
716
719 uint16_t m_cause;
720};
721
722} // namespace ns3
723
724#endif // EPC_X2_HEADER_H
iterator in a Buffer instance
Definition: buffer.h:100
EpcX2HandoverCancelHeader.
uint16_t m_oldEnbUeX2apId
old ENB UE X2 AP ID
uint16_t GetNewEnbUeX2apId() const
Get new ENB UE X2 AP ID function.
void SetOldEnbUeX2apId(uint16_t x2apId)
Set old ENB UE X2 AP ID function.
uint32_t GetLengthOfIes() const
Get length of IEs function.
uint16_t m_newEnbUeX2apId
new ENB UE X2 AP ID
uint16_t GetOldEnbUeX2apId() const
Get old ENB UE X2 AP ID function.
uint32_t Deserialize(Buffer::Iterator start) override
uint32_t m_headerLength
header length
void SetCause(uint16_t cause)
Set cause function.
void Serialize(Buffer::Iterator start) const override
uint16_t GetCause() const
Get cause function.
uint32_t GetNumberOfIes() const
Get number of IEs function.
void Print(std::ostream &os) const override
uint32_t GetSerializedSize() const override
uint32_t m_numberOfIes
number of IEs
static TypeId GetTypeId()
Get the type ID.
void SetNewEnbUeX2apId(uint16_t x2apId)
Set new ENB UE X2 AP ID function.
TypeId GetInstanceTypeId() const override
Get the most derived TypeId for this Object.
EpcX2HandoverPreparationFailureHeader.
void SetCriticalityDiagnostics(uint16_t criticalityDiagnostics)
Set criticality diagnostics function.
uint32_t Deserialize(Buffer::Iterator start) override
void SetCause(uint16_t cause)
Set cause function.
uint16_t GetOldEnbUeX2apId() const
Get old ENB UE X2 AP ID function.
void Serialize(Buffer::Iterator start) const override
static TypeId GetTypeId()
Get the type ID.
uint16_t GetCause() const
Get cause function.
uint16_t m_criticalityDiagnostics
criticality diagnostics
uint32_t GetLengthOfIes() const
Get length of IEs function.
uint16_t GetCriticalityDiagnostics() const
Get criticality diagnostics function.
void Print(std::ostream &os) const override
uint32_t GetSerializedSize() const override
uint16_t m_oldEnbUeX2apId
old ENB UE X2 AP ID
void SetOldEnbUeX2apId(uint16_t x2apId)
Set old ENB UE X2 AP ID function.
uint32_t GetNumberOfIes() const
Get number of IEs function.
TypeId GetInstanceTypeId() const override
Get the most derived TypeId for this Object.
EpcX2HandoverRequestAckHeader.
uint16_t GetNewEnbUeX2apId() const
Get new ENB UE X2 AP ID function.
uint32_t m_headerLength
header length
uint32_t GetLengthOfIes() const
Get length of IEs function.
std::vector< EpcX2Sap::ErabNotAdmittedItem > GetNotAdmittedBearers() const
Get not admitted bearers function.
uint32_t Deserialize(Buffer::Iterator start) override
uint16_t m_oldEnbUeX2apId
old ENB UE X2 AP ID
uint16_t m_newEnbUeX2apId
new ENB UE X2 AP ID
uint32_t m_numberOfIes
number of IEs
static TypeId GetTypeId()
Get the type ID.
uint16_t GetOldEnbUeX2apId() const
Get old ENB UE X2 AP ID function.
std::vector< EpcX2Sap::ErabAdmittedItem > GetAdmittedBearers() const
Get admittied bearers function.
void SetNotAdmittedBearers(std::vector< EpcX2Sap::ErabNotAdmittedItem > bearers)
Set not admitted bearers function.
uint32_t GetSerializedSize() const override
void SetNewEnbUeX2apId(uint16_t x2apId)
Set new ENB UE X2 AP ID function.
std::vector< EpcX2Sap::ErabAdmittedItem > m_erabsAdmittedList
ERABs admitted list.
void SetOldEnbUeX2apId(uint16_t x2apId)
Set old ENB UE X2 AP ID function.
std::vector< EpcX2Sap::ErabNotAdmittedItem > m_erabsNotAdmittedList
ERABs not admitted list.
uint32_t GetNumberOfIes() const
Get number of IEs function.
void SetAdmittedBearers(std::vector< EpcX2Sap::ErabAdmittedItem > bearers)
Set admitted bearers function.
void Print(std::ostream &os) const override
TypeId GetInstanceTypeId() const override
Get the most derived TypeId for this Object.
void Serialize(Buffer::Iterator start) const override
EpcX2HandoverRequestHeader.
uint16_t GetCause() const
Get cause function.
TypeId GetInstanceTypeId() const override
Get the most derived TypeId for this Object.
void SetCause(uint16_t cause)
Set cause function.
uint32_t m_mmeUeS1apId
MME UE S1 AP ID.
std::vector< EpcX2Sap::ErabToBeSetupItem > m_erabsToBeSetupList
ERAB to be setup list.
void SetMmeUeS1apId(uint32_t mmeUeS1apId)
Set MME UE S1 AP ID function.
uint32_t GetMmeUeS1apId() const
Get MME UE S1 AP ID function.
void Serialize(Buffer::Iterator start) const override
void SetTargetCellId(uint16_t targetCellId)
Set target cell id function.
void Print(std::ostream &os) const override
uint64_t m_ueAggregateMaxBitRateUplink
aggregate max bit rate uplink
uint32_t m_headerLength
header length
void SetUeAggregateMaxBitRateUplink(uint64_t bitRate)
Set UE Aggregate Max Bit Rate Uplik function.
uint64_t GetUeAggregateMaxBitRateUplink() const
Get UE Aggregate Max Bit Rate Uplik function.
uint16_t GetTargetCellId() const
Get target cell id function.
void SetBearers(std::vector< EpcX2Sap::ErabToBeSetupItem > bearers)
Set bearers function.
uint64_t GetUeAggregateMaxBitRateDownlink() const
Get UE Aggregate Max Bit Rate Downlink function.
void SetUeAggregateMaxBitRateDownlink(uint64_t bitRate)
Set UE Aggregate Max Bit Rate Downlink function.
uint32_t m_numberOfIes
number of IEs
static TypeId GetTypeId()
Get the type ID.
uint16_t m_targetCellId
target cell ID
void SetOldEnbUeX2apId(uint16_t x2apId)
Set old ENB X2 AP ID function.
uint32_t GetNumberOfIes() const
Get number of IEs.
uint16_t m_oldEnbUeX2apId
old ENB UE X1 AP ID
uint16_t GetOldEnbUeX2apId() const
Get old ENB X2 AP ID function.
uint32_t GetLengthOfIes() const
Get length of IEs.
std::vector< EpcX2Sap::ErabToBeSetupItem > GetBearers() const
Get bearers function.
uint32_t GetSerializedSize() const override
uint64_t m_ueAggregateMaxBitRateDownlink
aggregate max bit rate downlink
uint32_t Deserialize(Buffer::Iterator start) override
Introspection did not find any typical Config paths.
Definition: epc-x2-header.h:33
TypeOfMessage_t
Type of message enumeration.
Definition: epc-x2-header.h:95
static TypeId GetTypeId()
Get the type ID.
void SetLengthOfIes(uint32_t lengthOfIes)
Set length of IEs function.
void Print(std::ostream &os) const override
uint8_t m_messageType
message type
uint32_t Deserialize(Buffer::Iterator start) override
void SetProcedureCode(uint8_t procedureCode)
Set procedure code function.
uint8_t GetProcedureCode() const
Get procedure code function.
uint32_t GetSerializedSize() const override
void Serialize(Buffer::Iterator start) const override
uint32_t m_numberOfIes
number of IEs
uint8_t m_procedureCode
procedure code
TypeId GetInstanceTypeId() const override
Get the most derived TypeId for this Object.
void SetNumberOfIes(uint32_t numberOfIes)
Set number of IEs function.
uint32_t m_lengthOfIes
length of IEs
uint8_t GetMessageType() const
Get message type function.
~EpcX2Header() override
void SetMessageType(uint8_t messageType)
Set message type function.
ProcedureCode_t
Procedure code enumeration 9.3.7.
Definition: epc-x2-header.h:84
EpcX2LoadInformationHeader.
uint32_t m_headerLength
length of IEs
void Print(std::ostream &os) const override
std::vector< EpcX2Sap::CellInformationItem > GetCellInformationList() const
Get cell information list function.
TypeId GetInstanceTypeId() const override
Get the most derived TypeId for this Object.
void Serialize(Buffer::Iterator start) const override
uint32_t GetNumberOfIes() const
Get number of IEs function.
void SetCellInformationList(std::vector< EpcX2Sap::CellInformationItem > cellInformationList)
Set cell information list function.
std::vector< EpcX2Sap::CellInformationItem > m_cellInformationList
cell information list
uint32_t GetLengthOfIes() const
Get length of IEs function.
uint32_t GetSerializedSize() const override
uint32_t Deserialize(Buffer::Iterator start) override
uint32_t m_numberOfIes
number of IEs
static TypeId GetTypeId()
Get the type ID.
EpcX2ResourceStatusUpdateHeader.
uint16_t m_enb1MeasurementId
ENB1 measurement.
uint32_t Deserialize(Buffer::Iterator start) override
uint16_t m_enb2MeasurementId
ENB2 measurement.
uint32_t m_headerLength
header length
void SetEnb2MeasurementId(uint16_t enb2MeasurementId)
Set ENB2 measurement ID function.
void SetEnb1MeasurementId(uint16_t enb1MeasurementId)
Set ENB1 measurement ID function.
uint32_t GetLengthOfIes() const
Get length of IEs function.
TypeId GetInstanceTypeId() const override
Get the most derived TypeId for this Object.
uint32_t GetNumberOfIes() const
Get number of IEs function.
void Print(std::ostream &os) const override
uint16_t GetEnb2MeasurementId() const
Get ENB2 measurement ID function.
std::vector< EpcX2Sap::CellMeasurementResultItem > GetCellMeasurementResultList() const
Get cell measurement results list function.
static TypeId GetTypeId()
Get the type ID.
std::vector< EpcX2Sap::CellMeasurementResultItem > m_cellMeasurementResultList
cell measurement result list
void SetCellMeasurementResultList(std::vector< EpcX2Sap::CellMeasurementResultItem > cellMeasurementResultList)
Set cell measurement results list function.
uint16_t GetEnb1MeasurementId() const
Get ENB1 measurement ID function.
uint32_t m_numberOfIes
number of IEs
void Serialize(Buffer::Iterator start) const override
uint32_t GetSerializedSize() const override
EpcX2SnStatusTransferHeader.
uint16_t GetOldEnbUeX2apId() const
Get old ENB UE X2 AP ID function.
uint16_t GetNewEnbUeX2apId() const
Get new ENB UE X2 AP ID function.
static TypeId GetTypeId()
Get the type ID.
uint32_t Deserialize(Buffer::Iterator start) override
uint32_t GetNumberOfIes() const
Get number of IEs function.
void SetErabsSubjectToStatusTransferList(std::vector< EpcX2Sap::ErabsSubjectToStatusTransferItem > erabs)
Set ERABs subject to status transfer list function.
std::vector< EpcX2Sap::ErabsSubjectToStatusTransferItem > GetErabsSubjectToStatusTransferList() const
Get ERABs subject to status transfer list function.
void Serialize(Buffer::Iterator start) const override
TypeId GetInstanceTypeId() const override
Get the most derived TypeId for this Object.
uint16_t m_oldEnbUeX2apId
old ENB UE X2 AP ID
void SetNewEnbUeX2apId(uint16_t x2apId)
Set new ENB UE X2 AP ID function.
std::vector< EpcX2Sap::ErabsSubjectToStatusTransferItem > m_erabsSubjectToStatusTransferList
ERABs subject to status transfer list.
uint32_t m_headerLength
header length
void SetOldEnbUeX2apId(uint16_t x2apId)
Set old ENB UE X2 AP ID function.
uint32_t GetSerializedSize() const override
uint16_t m_newEnbUeX2apId
new ENB UE X2 AP ID
uint32_t GetLengthOfIes() const
Get length of IEs function.
uint32_t m_numberOfIes
number of IEs
void Print(std::ostream &os) const override
EpcX2UeContextReleaseHeader.
uint16_t m_newEnbUeX2apId
new ENB UE X2 AP ID
uint32_t Deserialize(Buffer::Iterator start) override
static TypeId GetTypeId()
Get the type ID.
uint32_t m_headerLength
header length
void SetNewEnbUeX2apId(uint16_t x2apId)
Set new ENB UE X2 AP ID function.
void Serialize(Buffer::Iterator start) const override
TypeId GetInstanceTypeId() const override
Get the most derived TypeId for this Object.
uint16_t GetNewEnbUeX2apId() const
Get new ENB UE X2 AP ID function.
uint32_t GetSerializedSize() const override
void SetOldEnbUeX2apId(uint16_t x2apId)
Set old ENB UE X2 AP ID function.
uint32_t GetLengthOfIes() const
Get length of IEs function.
uint16_t GetOldEnbUeX2apId() const
Get old ENB UE X2 AP ID function.
uint32_t GetNumberOfIes() const
Set length of IEs function.
void Print(std::ostream &os) const override
uint32_t m_numberOfIes
number of IEs
uint16_t m_oldEnbUeX2apId
old ENB UE X2 AP ID
Protocol header serialization and deserialization.
Definition: header.h:44
a unique identifier for an interface.
Definition: type-id.h:59
Every class exported by the ns3 library is enclosed in the ns3 namespace.