22 #include "ns3/epc-x2-header.h"
32 : m_messageType (0xfa),
33 m_procedureCode (0xfa),
151 : m_numberOfIes (1 + 1 + 1 + 1),
152 m_headerLength (6 + 5 + 12 + (3 + 4 + 8 + 8 + 4)),
153 m_oldEnbUeX2apId (0xfffa),
155 m_targetCellId (0xfffa),
156 m_mmeUeS1apId (0xfffffffa)
175 static TypeId tid =
TypeId (
"ns3::EpcX2HandoverRequestHeader")
225 for (
int j = 0; j < (int) sz; j++)
282 for (
int j = 0; j < sz; j++)
324 for (
int j = 0; j < (int) sz; j++)
327 if (j < (
int) sz - 1)
386 std::vector <EpcX2Sap::ErabToBeSetupItem>
440 : m_numberOfIes (1 + 1 + 1 + 1),
441 m_headerLength (2 + 2 + 4 + 4),
442 m_oldEnbUeX2apId (0xfffa),
443 m_newEnbUeX2apId (0xfffa)
460 static TypeId tid =
TypeId (
"ns3::EpcX2HandoverRequestAckHeader")
490 for (
int j = 0; j < (int) sz; j++)
499 for (
int j = 0; j < (int) sz2; j++)
523 for (
int j = 0; j < sz; j++)
539 for (
int j = 0; j < sz; j++)
565 for (
int j = 0; j < (int) sz; j++)
568 if (j < (
int) sz - 1)
584 for (
int j = 0; j < (int) sz2; j++)
587 if (j < (
int) sz2 - 1)
623 std::vector <EpcX2Sap::ErabAdmittedItem>
636 std::vector <EpcX2Sap::ErabNotAdmittedItem>
666 : m_numberOfIes (1 + 1 + 1),
667 m_headerLength (2 + 2 + 2),
668 m_oldEnbUeX2apId (0xfffa),
670 m_criticalityDiagnostics (0xfffa)
686 static TypeId tid =
TypeId (
"ns3::EpcX2HandoverPreparationFailureHeader")
794 m_oldEnbUeX2apId (0xfffa),
795 m_newEnbUeX2apId (0xfffa)
812 static TypeId tid =
TypeId (
"ns3::EpcX2SnStatusTransferHeader")
843 for (
int j = 0; j < (int) sz; j++)
850 for (
int k = 0; k < bitsetSize; k++)
852 uint64_t statusValue = 0;
853 for (
int m = 0; m < 64; m++)
879 for (
int j = 0; j < sz; j++)
885 for (
int k = 0; k < bitsetSize; k++)
888 for (
int m = 0; m < 64; m++)
917 for (
int j = 0; j < (int) sz; j++)
920 if (j < (
int) sz - 1)
955 std::vector <EpcX2Sap::ErabsSubjectToStatusTransferItem>
985 : m_numberOfIes (1 + 1),
986 m_headerLength (2 + 2),
987 m_oldEnbUeX2apId (0xfffa),
988 m_newEnbUeX2apId (0xfffa)
1003 static TypeId tid =
TypeId (
"ns3::EpcX2UeContextReleaseHeader")
1005 .SetGroupName(
"Lte")
1093 : m_numberOfIes (1),
1109 static TypeId tid =
TypeId (
"ns3::EpcX2LoadInformationHeader")
1111 .SetGroupName(
"Lte")
1141 for (
int j = 0; j < (int) sz; j++)
1145 std::vector <EpcX2Sap::UlInterferenceOverloadIndicationItem>::size_type sz2;
1149 for (
int k = 0; k < (int) sz2; k++)
1154 std::vector <EpcX2Sap::UlHighInterferenceInformationItem>::size_type sz3;
1158 for (
int k = 0; k < (int) sz3; k++)
1162 std::vector <bool>::size_type sz4;
1163 sz4 =
m_cellInformationList [j].ulHighInterferenceInformationList [k].ulHighInterferenceIndicationList.size ();
1166 for (
int m = 0; m < (int) sz4; m++)
1172 std::vector <bool>::size_type sz5;
1176 for (
int k = 0; k < (int) sz5; k++)
1203 for (
int j = 0; j < sz; j++)
1211 for (
int k = 0; k < sz2; k++)
1220 for (
int k = 0; k < sz3; k++)
1228 for (
int m = 0; m < sz4; m++)
1239 for (
int k = 0; k < sz5; k++)
1263 std::vector <EpcX2Sap::CellInformationItem>
1276 for (
int j = 0; j < (int) sz; j++)
1280 std::vector <EpcX2Sap::UlInterferenceOverloadIndicationItem>::size_type sz2;
1284 std::vector <EpcX2Sap::UlHighInterferenceInformationItem>::size_type sz3;
1288 for (
int k = 0; k < (int) sz3; k++)
1290 std::vector <bool>::size_type sz4;
1291 sz4 =
m_cellInformationList [j].ulHighInterferenceInformationList [k].ulHighInterferenceIndicationList.size ();
1295 std::vector <bool>::size_type sz5;
1318 : m_numberOfIes (3),
1320 m_enb1MeasurementId (0xfffa),
1321 m_enb2MeasurementId (0xfffa)
1338 static TypeId tid =
TypeId (
"ns3::EpcX2ResourceStatusUpdateHeader")
1340 .SetGroupName(
"Lte")
1369 for (
int j = 0; j < (int) sz; j++)
1402 for (
int j = 0; j < sz; j++)
1465 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()
#define NS_OBJECT_ENSURE_REGISTERED(type)
Register an Object subclass with the TypeId system.
std::vector< EpcX2Sap::ErabNotAdmittedItem > GetNotAdmittedBearers() const
virtual ~EpcX2HandoverPreparationFailureHeader()
uint32_t GetLengthOfIes() const
void SetCause(uint16_t cause)
uint64_t ReadNtohU64(void)
uint16_t cellCapacityClassValue
#define NS_LOG_COMPONENT_DEFINE(name)
Define a Log component with a specific name.
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
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
Introspection did not find any typical Config paths.
virtual TypeId GetInstanceTypeId(void) const
Get the most derived TypeId for this Object.
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
Get the most derived TypeId for this Object.
void WriteHtonU16(uint16_t data)
uint16_t m_newEnbUeX2apId
uint16_t m_oldEnbUeX2apId
void SetOldEnbUeX2apId(uint16_t x2apId)
uint32_t GetNumberOfIes() const
Introspection did not find any typical Config paths.
uint32_t GetNumberOfIes() const
void SetUeAggregateMaxBitRateDownlink(uint64_t bitRate)
bool preemptionVulnerability
virtual TypeId GetInstanceTypeId(void) const
Get the most derived TypeId for this Object.
std::bitset< m_maxPdcpSn > receiveStatusOfUlPdcpSdus
E-RABs to be setup item as it is used in the HANDOVER REQUEST message.
EpcX2HandoverRequestHeader()
Every class exported by the ns3 library is enclosed in the ns3 namespace.
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)