22 #include "ns3/epc-x2-header.h"
34 : m_messageType (0xfa),
35 m_procedureCode (0xfa),
54 .AddConstructor<EpcX2Header> ()
153 : m_numberOfIes (1 + 1 + 1 + 1),
154 m_headerLength (6 + 5 + 12 + (3 + 4 + 8 + 8 + 4)),
155 m_oldEnbUeX2apId (0xfffa),
157 m_targetCellId (0xfffa),
158 m_mmeUeS1apId (0xfffffffa)
177 static TypeId tid =
TypeId (
"ns3::EpcX2HandoverRequestHeader")
179 .AddConstructor<EpcX2HandoverRequestHeader> ()
226 for (
int j = 0; j < (int) sz; j++)
283 for (
int j = 0; j < sz; j++)
325 for (
int j = 0; j < (int) sz; j++)
328 if (j < (
int) sz - 1)
387 std::vector <EpcX2Sap::ErabToBeSetupItem>
442 : m_numberOfIes (1 + 1 + 1 + 1),
443 m_headerLength (2 + 2 + 4 + 4),
444 m_oldEnbUeX2apId (0xfffa),
445 m_newEnbUeX2apId (0xfffa)
462 static TypeId tid =
TypeId (
"ns3::EpcX2HandoverRequestAckHeader")
464 .AddConstructor<EpcX2HandoverRequestAckHeader> ()
491 for (
int j = 0; j < (int) sz; j++)
500 for (
int j = 0; j < (int) sz2; j++)
524 for (
int j = 0; j < sz; j++)
540 for (
int j = 0; j < sz; j++)
566 for (
int j = 0; j < (int) sz; j++)
569 if (j < (
int) sz - 1)
585 for (
int j = 0; j < (int) sz2; j++)
588 if (j < (
int) sz2 - 1)
624 std::vector <EpcX2Sap::ErabAdmittedItem>
637 std::vector <EpcX2Sap::ErabNotAdmittedItem>
668 : m_numberOfIes (1 + 1 + 1),
669 m_headerLength (2 + 2 + 2),
670 m_oldEnbUeX2apId (0xfffa),
672 m_criticalityDiagnostics (0xfffa)
688 static TypeId tid =
TypeId (
"ns3::EpcX2HandoverPreparationFailureHeader")
690 .AddConstructor<EpcX2HandoverPreparationFailureHeader> ()
796 m_oldEnbUeX2apId (0xfffa),
797 m_newEnbUeX2apId (0xfffa)
814 static TypeId tid =
TypeId (
"ns3::EpcX2SnStatusTransferHeader")
816 .AddConstructor<EpcX2SnStatusTransferHeader> ()
844 for (
int j = 0; j < (int) sz; j++)
851 for (
int k = 0; k < bitsetSize; k++)
853 uint64_t statusValue = 0;
854 for (
int m = 0; m < 64; m++)
880 for (
int j = 0; j < sz; j++)
886 for (
int k = 0; k < bitsetSize; k++)
889 for (
int m = 0; m < 64; m++)
918 for (
int j = 0; j < (int) sz; j++)
921 if (j < (
int) sz - 1)
956 std::vector <EpcX2Sap::ErabsSubjectToStatusTransferItem>
987 : m_numberOfIes (1 + 1),
988 m_headerLength (2 + 2),
989 m_oldEnbUeX2apId (0xfffa),
990 m_newEnbUeX2apId (0xfffa)
1005 static TypeId tid =
TypeId (
"ns3::EpcX2UeContextReleaseHeader")
1007 .AddConstructor<EpcX2UeContextReleaseHeader> ()
1095 : m_numberOfIes (1),
1111 static TypeId tid =
TypeId (
"ns3::EpcX2LoadInformationHeader")
1113 .AddConstructor<EpcX2LoadInformationHeader> ()
1142 for (
int j = 0; j < (int) sz; j++)
1146 std::vector <EpcX2Sap::UlInterferenceOverloadIndicationItem>::size_type sz2;
1150 for (
int k = 0; k < (int) sz2; k++)
1155 std::vector <EpcX2Sap::UlHighInterferenceInformationItem>::size_type sz3;
1159 for (
int k = 0; k < (int) sz3; k++)
1163 std::vector <bool>::size_type sz4;
1164 sz4 =
m_cellInformationList [j].ulHighInterferenceInformationList [k].ulHighInterferenceIndicationList.size ();
1167 for (
int m = 0; m < (int) sz4; m++)
1173 std::vector <bool>::size_type sz5;
1177 for (
int k = 0; k < (int) sz5; k++)
1204 for (
int j = 0; j < sz; j++)
1212 for (
int k = 0; k < sz2; k++)
1221 for (
int k = 0; k < sz3; k++)
1229 for (
int m = 0; m < sz4; m++)
1240 for (
int k = 0; k < sz5; k++)
1264 std::vector <EpcX2Sap::CellInformationItem>
1277 for (
int j = 0; j < (int) sz; j++)
1281 std::vector <EpcX2Sap::UlInterferenceOverloadIndicationItem>::size_type sz2;
1285 std::vector <EpcX2Sap::UlHighInterferenceInformationItem>::size_type sz3;
1289 for (
int k = 0; k < (int) sz3; k++)
1291 std::vector <bool>::size_type sz4;
1292 sz4 =
m_cellInformationList [j].ulHighInterferenceInformationList [k].ulHighInterferenceIndicationList.size ();
1296 std::vector <bool>::size_type sz5;
1320 : m_numberOfIes (3),
1322 m_enb1MeasurementId (0xfffa),
1323 m_enb2MeasurementId (0xfffa)
1340 static TypeId tid =
TypeId (
"ns3::EpcX2ResourceStatusUpdateHeader")
1342 .AddConstructor<EpcX2ResourceStatusUpdateHeader> ()
1370 for (
int j = 0; j < (int) sz; j++)
1403 for (
int j = 0; j < sz; j++)
1466 std::vector <EpcX2Sap::CellMeasurementResultItem>
void WriteHtonU64(uint64_t data)
static TypeId GetTypeId(void)
E-RABs admitted item as it is used in the HANDOVER REQUEST ACKNOWLEDGE message.
virtual void Serialize(Buffer::Iterator start) const
uint16_t GetOldEnbUeX2apId() const
uint32_t GetLengthOfIes() const
EpcX2HandoverPreparationFailureHeader()
std::vector< EpcX2Sap::ErabNotAdmittedItem > GetNotAdmittedBearers() const
virtual ~EpcX2HandoverPreparationFailureHeader()
uint32_t GetLengthOfIes() const
void SetCause(uint16_t cause)
uint64_t ReadNtohU64(void)
uint16_t cellCapacityClassValue
NS_OBJECT_ENSURE_REGISTERED(NullMessageSimulatorImpl)
virtual void Print(std::ostream &os) const
uint16_t m_oldEnbUeX2apId
virtual void Serialize(Buffer::Iterator start) const
Ipv4Address transportLayerAddress
LoadIndicator dlHardwareLoadIndicator
virtual ~EpcX2HandoverRequestHeader()
uint16_t GetNewEnbUeX2apId() const
uint32_t GetMmeUeS1apId() const
uint32_t ReadNtohU32(void)
uint16_t pdcchInterferenceImpact
CompositeAvailCapacity dlCompositeAvailableCapacity
Doxygen introspection did not find any typical Config paths.
iterator in a Buffer instance
uint16_t GetCriticalityDiagnostics() const
uint64_t GetUeAggregateMaxBitRateUplink() const
LoadIndicator ulS1TnlLoadIndicator
uint16_t GetTargetCellId() const
std::vector< EpcX2Sap::ErabToBeSetupItem > GetBearers() const
virtual void Serialize(Buffer::Iterator start) const
uint16_t GetOldEnbUeX2apId() const
Doxygen introspection did not find any typical Config paths.
virtual TypeId GetInstanceTypeId(void) const
This class contains the specification of EPS Bearers.
virtual uint32_t GetSerializedSize(void) const
void SetTargetCellId(uint16_t targetCellId)
UlInterferenceOverloadIndicationItem
UL Interference OverloadIndication as it is used in the LOAD INFORMATION message. ...
uint16_t m_oldEnbUeX2apId
void SetUeAggregateMaxBitRateUplink(uint64_t bitRate)
LoadIndicator ulHardwareLoadIndicator
static const uint16_t m_maxPdcpSn
E-RABs subject to status transfer item as it is used in the SN STATUS TRANSFER message.
GbrQosInformation gbrQosInfo
uint32_t GetNumberOfIes() const
virtual TypeId GetInstanceTypeId(void) const
void WriteHtonU16(uint16_t data)
uint16_t m_newEnbUeX2apId
uint16_t m_oldEnbUeX2apId
void SetOldEnbUeX2apId(uint16_t x2apId)
uint32_t GetNumberOfIes() const
Doxygen introspection did not find any typical Config paths.
uint32_t GetNumberOfIes() const
void SetUeAggregateMaxBitRateDownlink(uint64_t bitRate)
bool preemptionVulnerability
virtual TypeId GetInstanceTypeId(void) const
std::bitset< m_maxPdcpSn > receiveStatusOfUlPdcpSdus
E-RABs to be setup item as it is used in the HANDOVER REQUEST message.
EpcX2HandoverRequestHeader()
virtual uint32_t Deserialize(Buffer::Iterator start)
void SetNotAdmittedBearers(std::vector< EpcX2Sap::ErabNotAdmittedItem > bearers)
virtual ~EpcX2HandoverRequestAckHeader()
EpsBearer erabLevelQosParameters
E-RABs not admitted item as it is used in the HANDOVER REQUEST ACKNOWLEDGE message.
uint16_t m_criticalityDiagnostics
void WriteHtonU32(uint32_t data)
bool preemptionCapability
std::vector< bool > rntpPerPrbList
LoadIndicator dlS1TnlLoadIndicator
uint64_t m_ueAggregateMaxBitRateUplink
uint16_t GetCause() const
Ipv4 addresses are stored in host order in this class.
uint32_t GetLengthOfIes() const
virtual void Print(std::ostream &os) const
static TypeId GetTypeId(void)
uint16_t dlNonGbrPrbUsage
void WriteU8(uint8_t data)
virtual uint32_t GetSerializedSize(void) const
EpcX2HandoverRequestAckHeader()
LoadIndicator
Load Indicator as it is used in the RESOURCE STATUS UPDATE message.
std::vector< EpcX2Sap::ErabNotAdmittedItem > m_erabsNotAdmittedList
static TypeId GetTypeId(void)
Cell Measurement Result Item as it is used in the RESOURCE STATUS UPDATE message. ...
void SetNewEnbUeX2apId(uint16_t x2apId)
std::vector< EpcX2Sap::ErabAdmittedItem > m_erabsAdmittedList
uint16_t GetOldEnbUeX2apId() const
void SetAdmittedBearers(std::vector< EpcX2Sap::ErabAdmittedItem > bearers)
uint16_t GetCause() const
void SetBearers(std::vector< EpcX2Sap::ErabToBeSetupItem > bearers)
std::vector< EpcX2Sap::ErabAdmittedItem > GetAdmittedBearers() const
uint64_t GetUeAggregateMaxBitRateDownlink() const
void SetOldEnbUeX2apId(uint16_t x2apId)
void SetOldEnbUeX2apId(uint16_t x2apId)
uint16_t ReadNtohU16(void)
std::vector< EpcX2Sap::ErabToBeSetupItem > m_erabsToBeSetupList
void SetCause(uint16_t cause)
virtual uint32_t GetSerializedSize(void) const
uint64_t m_ueAggregateMaxBitRateDownlink
a unique identifier for an interface.
void SetCriticalityDiagnostics(uint16_t criticalityDiagnostics)
uint16_t ulNonGbrPrbUsage
TypeId SetParent(TypeId tid)
virtual uint32_t Deserialize(Buffer::Iterator start)
AllocationRetentionPriority arp
virtual uint32_t Deserialize(Buffer::Iterator start)
CompositeAvailCapacity ulCompositeAvailableCapacity
virtual void Print(std::ostream &os) const
void SetMmeUeS1apId(uint32_t mmeUeS1apId)