7#ifndef NR_EPC_X2_HEADER_H
8#define NR_EPC_X2_HEADER_H
10#include "nr-epc-x2-sap.h"
12#include "ns3/header.h"
29 TypeId GetInstanceTypeId()
const override;
30 uint32_t GetSerializedSize()
const override;
31 void Serialize(Buffer::Iterator start)
const override;
32 uint32_t Deserialize(Buffer::Iterator start)
override;
33 void Print(std::ostream& os)
const override;
71 HandoverPreparation = 0,
76 ResourceStatusReporting = 10
82 InitiatingMessage = 0,
83 SuccessfulOutcome = 1,
84 UnsuccessfulOutcome = 2
88 uint8_t m_messageType;
89 uint8_t m_procedureCode;
91 uint32_t m_lengthOfIes;
92 uint32_t m_numberOfIes;
109 TypeId GetInstanceTypeId()
const override;
110 uint32_t GetSerializedSize()
const override;
111 void Serialize(Buffer::Iterator start)
const override;
112 uint32_t Deserialize(Buffer::Iterator start)
override;
113 void Print(std::ostream& os)
const override;
163 std::vector<NrEpcX2Sap::ErabToBeSetupItem>
GetBearers()
const;
168 void SetBearers(std::vector<NrEpcX2Sap::ErabToBeSetupItem> bearers);
204 uint32_t m_numberOfIes;
205 uint32_t m_headerLength;
207 uint16_t m_oldGnbUeX2apId;
209 uint16_t m_targetCellId;
210 uint32_t m_mmeUeS1apId;
211 uint64_t m_ueAggregateMaxBitRateDownlink;
212 uint64_t m_ueAggregateMaxBitRateUplink;
213 std::vector<NrEpcX2Sap::ErabToBeSetupItem> m_erabsToBeSetupList;
230 TypeId GetInstanceTypeId()
const override;
231 uint32_t GetSerializedSize()
const override;
232 void Serialize(Buffer::Iterator start)
const override;
233 uint32_t Deserialize(Buffer::Iterator start)
override;
234 void Print(std::ostream& os)
const override;
292 uint32_t m_numberOfIes;
293 uint32_t m_headerLength;
295 uint16_t m_oldGnbUeX2apId;
296 uint16_t m_newGnbUeX2apId;
297 std::vector<NrEpcX2Sap::ErabAdmittedItem> m_erabsAdmittedList;
298 std::vector<NrEpcX2Sap::ErabNotAdmittedItem>
299 m_erabsNotAdmittedList;
316 TypeId GetInstanceTypeId()
const override;
317 uint32_t GetSerializedSize()
const override;
318 void Serialize(Buffer::Iterator start)
const override;
319 uint32_t Deserialize(Buffer::Iterator start)
override;
320 void Print(std::ostream& os)
const override;
367 uint32_t m_numberOfIes;
368 uint32_t m_headerLength;
370 uint16_t m_oldGnbUeX2apId;
372 uint16_t m_criticalityDiagnostics;
389 TypeId GetInstanceTypeId()
const override;
390 uint32_t GetSerializedSize()
const override;
391 void Serialize(Buffer::Iterator start)
const override;
392 uint32_t Deserialize(Buffer::Iterator start)
override;
393 void Print(std::ostream& os)
const override;
428 std::vector<NrEpcX2Sap::ErabsSubjectToStatusTransferItem> erabs);
442 uint32_t m_numberOfIes;
443 uint32_t m_headerLength;
445 uint16_t m_oldGnbUeX2apId;
446 uint16_t m_newGnbUeX2apId;
447 std::vector<NrEpcX2Sap::ErabsSubjectToStatusTransferItem>
448 m_erabsSubjectToStatusTransferList;
465 TypeId GetInstanceTypeId()
const override;
466 uint32_t GetSerializedSize()
const override;
467 void Serialize(Buffer::Iterator start)
const override;
468 uint32_t Deserialize(Buffer::Iterator start)
override;
469 void Print(std::ostream& os)
const override;
505 uint32_t m_numberOfIes;
506 uint32_t m_headerLength;
508 uint16_t m_oldGnbUeX2apId;
509 uint16_t m_newGnbUeX2apId;
526 TypeId GetInstanceTypeId()
const override;
527 uint32_t GetSerializedSize()
const override;
528 void Serialize(Buffer::Iterator start)
const override;
529 uint32_t Deserialize(Buffer::Iterator start)
override;
530 void Print(std::ostream& os)
const override;
555 uint32_t m_numberOfIes;
556 uint32_t m_headerLength;
558 std::vector<NrEpcX2Sap::CellInformationItem> m_cellInformationList;
575 TypeId GetInstanceTypeId()
const override;
576 uint32_t GetSerializedSize()
const override;
577 void Serialize(Buffer::Iterator start)
const override;
578 uint32_t Deserialize(Buffer::Iterator start)
override;
579 void Print(std::ostream& os)
const override;
613 std::vector<NrEpcX2Sap::CellMeasurementResultItem> cellMeasurementResultList);
627 uint32_t m_numberOfIes;
628 uint32_t m_headerLength;
630 uint16_t m_gnb1MeasurementId;
631 uint16_t m_gnb2MeasurementId;
632 std::vector<NrEpcX2Sap::CellMeasurementResultItem>
633 m_cellMeasurementResultList;
650 TypeId GetInstanceTypeId()
const override;
651 uint32_t GetSerializedSize()
const override;
652 void Serialize(Buffer::Iterator start)
const override;
653 uint32_t Deserialize(Buffer::Iterator start)
override;
654 void Print(std::ostream& os)
const override;
701 uint32_t m_numberOfIes;
702 uint32_t m_headerLength;
704 uint16_t m_oldGnbUeX2apId;
705 uint16_t m_newGnbUeX2apId;
uint32_t GetLengthOfIes() const
Get length of IEs function.
void SetNewGnbUeX2apId(uint16_t x2apId)
Set new gNB UE X2 AP ID function.
uint32_t GetNumberOfIes() const
Get number of IEs function.
void SetOldGnbUeX2apId(uint16_t x2apId)
Set old gNB UE X2 AP ID function.
uint16_t GetNewGnbUeX2apId() const
Get new gNB UE X2 AP ID function.
static TypeId GetTypeId()
Get the type ID.
void SetCause(uint16_t cause)
Set cause function.
uint16_t GetCause() const
Get cause function.
uint16_t GetOldGnbUeX2apId() const
Get old gNB UE X2 AP ID function.
uint32_t GetNumberOfIes() const
static TypeId GetTypeId()
Get the type ID.
uint32_t GetLengthOfIes() const
uint16_t GetCriticalityDiagnostics() const
uint16_t GetOldGnbUeX2apId() const
void SetCriticalityDiagnostics(uint16_t criticalityDiagnostics)
void SetOldGnbUeX2apId(uint16_t x2apId)
uint16_t GetCause() const
void SetCause(uint16_t cause)
std::vector< NrEpcX2Sap::ErabAdmittedItem > GetAdmittedBearers() const
uint16_t GetOldGnbUeX2apId() const
uint32_t GetLengthOfIes() const
void SetNotAdmittedBearers(std::vector< NrEpcX2Sap::ErabNotAdmittedItem > bearers)
void SetAdmittedBearers(std::vector< NrEpcX2Sap::ErabAdmittedItem > bearers)
std::vector< NrEpcX2Sap::ErabNotAdmittedItem > GetNotAdmittedBearers() const
void SetNewGnbUeX2apId(uint16_t x2apId)
void SetOldGnbUeX2apId(uint16_t x2apId)
uint32_t GetNumberOfIes() const
uint16_t GetNewGnbUeX2apId() const
static TypeId GetTypeId()
Get the type ID.
uint32_t GetNumberOfIes() const
void SetTargetCellId(uint16_t targetCellId)
uint16_t GetOldGnbUeX2apId() const
void SetUeAggregateMaxBitRateDownlink(uint64_t bitRate)
void SetOldGnbUeX2apId(uint16_t x2apId)
void SetMmeUeS1apId(uint32_t mmeUeS1apId)
uint64_t GetUeAggregateMaxBitRateUplink() const
void SetBearers(std::vector< NrEpcX2Sap::ErabToBeSetupItem > bearers)
uint32_t GetLengthOfIes() const
void SetUeAggregateMaxBitRateUplink(uint64_t bitRate)
void SetCause(uint16_t cause)
uint16_t GetTargetCellId() const
static TypeId GetTypeId()
Get the type ID.
uint16_t GetCause() const
uint64_t GetUeAggregateMaxBitRateDownlink() const
std::vector< NrEpcX2Sap::ErabToBeSetupItem > GetBearers() const
uint32_t GetMmeUeS1apId() const