21 : m_messageType(0xfa),
22 m_procedureCode(0xfa),
138 : m_numberOfIes(1 + 1 + 1 + 1),
139 m_headerLength(6 + 5 + 12 + (3 + 4 + 8 + 8 + 4)),
140 m_oldEnbUeX2apId(0xfffa),
142 m_targetCellId(0xfffa),
143 m_mmeUeS1apId(0xfffffffa)
162 static TypeId tid =
TypeId(
"ns3::EpcX2HandoverRequestHeader")
211 for (
int j = 0; j < (int)sz; j++)
267 for (
int j = 0; j < sz; j++)
309 for (
int j = 0; j < (int)sz; j++)
371std::vector<EpcX2Sap::ErabToBeSetupItem>
425 : m_numberOfIes(1 + 1 + 1 + 1),
426 m_headerLength(2 + 2 + 4 + 4),
427 m_oldEnbUeX2apId(0xfffa),
428 m_newEnbUeX2apId(0xfffa)
445 static TypeId tid =
TypeId(
"ns3::EpcX2HandoverRequestAckHeader")
474 for (
int j = 0; j < (int)sz; j++)
483 for (
int j = 0; j < (int)sz2; j++)
507 for (
int j = 0; j < sz; j++)
523 for (
int j = 0; j < sz; j++)
549 for (
int j = 0; j < (int)sz; j++)
568 for (
int j = 0; j < (int)sz2; j++)
571 if (j < (
int)sz2 - 1)
606std::vector<EpcX2Sap::ErabAdmittedItem>
619std::vector<EpcX2Sap::ErabNotAdmittedItem>
627 std::vector<EpcX2Sap::ErabNotAdmittedItem> bearers)
650 : m_numberOfIes(1 + 1 + 1),
651 m_headerLength(2 + 2 + 2),
652 m_oldEnbUeX2apId(0xfffa),
654 m_criticalityDiagnostics(0xfffa)
670 static TypeId tid =
TypeId(
"ns3::EpcX2HandoverPreparationFailureHeader")
777 m_oldEnbUeX2apId(0xfffa),
778 m_newEnbUeX2apId(0xfffa)
795 static TypeId tid =
TypeId(
"ns3::EpcX2SnStatusTransferHeader")
822 std::vector<EpcX2Sap::ErabsSubjectToStatusTransferItem>::size_type sz =
826 for (
int j = 0; j < (int)sz; j++)
833 for (
int k = 0; k < bitsetSize; k++)
835 uint64_t statusValue = 0;
836 for (
int m = 0; m < 64; m++)
862 for (
int j = 0; j < sz; j++)
868 for (
int k = 0; k < bitsetSize; k++)
871 for (
int m = 0; m < 64; m++)
895 std::vector<EpcX2Sap::ErabsSubjectToStatusTransferItem>::size_type sz =
901 for (
int j = 0; j < (int)sz; j++)
939std::vector<EpcX2Sap::ErabsSubjectToStatusTransferItem>
947 std::vector<EpcX2Sap::ErabsSubjectToStatusTransferItem> erabs)
970 : m_numberOfIes(1 + 1),
971 m_headerLength(2 + 2),
972 m_oldEnbUeX2apId(0xfffa),
973 m_newEnbUeX2apId(0xfffa)
988 static TypeId tid =
TypeId(
"ns3::EpcX2UeContextReleaseHeader")
1093 static TypeId tid =
TypeId(
"ns3::EpcX2LoadInformationHeader")
1095 .SetGroupName(
"Lte")
1124 for (
int j = 0; j < (int)sz; j++)
1128 std::vector<EpcX2Sap::UlInterferenceOverloadIndicationItem>::size_type sz2;
1132 for (
int k = 0; k < (int)sz2; k++)
1137 std::vector<EpcX2Sap::UlHighInterferenceInformationItem>::size_type sz3;
1141 for (
int k = 0; k < (int)sz3; k++)
1146 std::vector<bool>::size_type sz4;
1148 .ulHighInterferenceInformationList[k]
1149 .ulHighInterferenceIndicationList.size();
1152 for (
int m = 0; m < (int)sz4; m++)
1155 .ulHighInterferenceInformationList[k]
1156 .ulHighInterferenceIndicationList[m]);
1160 std::vector<bool>::size_type sz5;
1164 for (
int k = 0; k < (int)sz5; k++)
1191 for (
int j = 0; j < sz; j++)
1199 for (
int k = 0; k < sz2; k++)
1208 for (
int k = 0; k < sz3; k++)
1216 for (
int m = 0; m < sz4; m++)
1227 for (
int k = 0; k < sz5; k++)
1251std::vector<EpcX2Sap::CellInformationItem>
1259 std::vector<EpcX2Sap::CellInformationItem> cellInformationList)
1265 for (
int j = 0; j < (int)sz; j++)
1269 std::vector<EpcX2Sap::UlInterferenceOverloadIndicationItem>::size_type sz2;
1273 std::vector<EpcX2Sap::UlHighInterferenceInformationItem>::size_type sz3;
1277 for (
int k = 0; k < (int)sz3; k++)
1279 std::vector<bool>::size_type sz4;
1281 .ulHighInterferenceInformationList[k]
1282 .ulHighInterferenceIndicationList.size();
1286 std::vector<bool>::size_type sz5;
1311 m_enb1MeasurementId(0xfffa),
1312 m_enb2MeasurementId(0xfffa)
1329 static TypeId tid =
TypeId(
"ns3::EpcX2ResourceStatusUpdateHeader")
1331 .SetGroupName(
"Lte")
1356 std::vector<EpcX2Sap::CellMeasurementResultItem>::size_type sz =
1360 for (
int j = 0; j < (int)sz; j++)
1393 for (
int j = 0; j < sz; j++)
1456std::vector<EpcX2Sap::CellMeasurementResultItem>
1464 std::vector<EpcX2Sap::CellMeasurementResultItem> cellMeasurementResultList)
1468 std::vector<EpcX2Sap::CellMeasurementResultItem>::size_type sz =
1492 m_oldEnbUeX2apId(0xfffa),
1493 m_newEnbUeX2apId(0xfffa),
1510 static TypeId tid =
TypeId(
"ns3::EpcX2HandoverCancelHeader")
1512 .SetGroupName(
"Lte")
iterator in a Buffer instance
void WriteHtonU64(uint64_t data)
void WriteU8(uint8_t data)
void WriteHtonU16(uint16_t data)
void WriteHtonU32(uint32_t data)
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
~EpcX2HandoverCancelHeader() override
EpcX2HandoverCancelHeader()
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.
EpcX2HandoverPreparationFailureHeader()
~EpcX2HandoverPreparationFailureHeader() override
uint16_t m_criticalityDiagnostics
criticality diagnostics
uint32_t m_headerLength
header length
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
uint32_t m_numberOfIes
number of IEs
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.
~EpcX2HandoverRequestAckHeader() override
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.
EpcX2HandoverRequestAckHeader()
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
EpcX2HandoverRequestHeader()
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
~EpcX2HandoverRequestHeader() override
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
static const uint16_t m_maxPdcpSn
E-RABs subject to status transfer item as it is used in the SN STATUS TRANSFER message.
UlInterferenceOverloadIndicationItem
UL Interference OverloadIndication as it is used in the LOAD INFORMATION message.
LoadIndicator
Load Indicator as it is used in the RESOURCE STATUS UPDATE message.
This class contains the specification of EPS Bearers.
AllocationRetentionPriority arp
allocation retention priority
GbrQosInformation gbrQosInfo
GBR QOS information.
Ipv4 addresses are stored in host order in this class.
a unique identifier for an interface.
TypeId SetParent(TypeId tid)
Set the parent TypeId.
#define NS_LOG_COMPONENT_DEFINE(name)
Define a Log component with a specific name.
#define NS_OBJECT_ENSURE_REGISTERED(type)
Register an Object subclass with the TypeId system.
Every class exported by the ns3 library is enclosed in the ns3 namespace.
bool preemptionVulnerability
true if bearer can be preempted by others
bool preemptionCapability
true if bearer can preempt others
uint8_t priorityLevel
1-15; 1 = highest
Cell Measurement Result Item as it is used in the RESOURCE STATUS UPDATE message.
uint16_t ulTotalPrbUsage
UL Total PRB usage.
LoadIndicator ulHardwareLoadIndicator
UL hardware load indicator.
LoadIndicator dlHardwareLoadIndicator
DL hardware load indicator.
uint16_t sourceCellId
source cell id
uint16_t ulGbrPrbUsage
UL GBR PRB usage.
uint16_t dlTotalPrbUsage
DL Total PRB usage.
LoadIndicator dlS1TnlLoadIndicator
DL S1 TNL load indicator.
uint16_t ulNonGbrPrbUsage
UL Non GBR PRB usage.
CompositeAvailCapacity dlCompositeAvailableCapacity
DL composite available capacity.
CompositeAvailCapacity ulCompositeAvailableCapacity
UL composite available capacity.
uint16_t dlGbrPrbUsage
DL GBR PRB usage.
LoadIndicator ulS1TnlLoadIndicator
UL S1 TNL load indicator.
uint16_t dlNonGbrPrbUsage
DL Non GBR PRB usage.
uint16_t cellCapacityClassValue
cell capacity class value
uint16_t capacityValue
capacity value
E-RABs admitted item as it is used in the HANDOVER REQUEST ACKNOWLEDGE message.
uint32_t dlGtpTeid
downlink GTP TEID
uint32_t ulGtpTeid
uplink GTP TEID
E-RABs not admitted item as it is used in the HANDOVER REQUEST ACKNOWLEDGE message.
E-RABs to be setup item as it is used in the HANDOVER REQUEST message.
bool dlForwarding
DL forwarding.
Ipv4Address transportLayerAddress
transport layer address
EpsBearer erabLevelQosParameters
E-RAB level QOS parameters.
ErabsSubjectToStatusTransferItem structure.
std::bitset< m_maxPdcpSn > receiveStatusOfUlPdcpSdus
receive status of UL PDCP SDUs
uint16_t ulPdcpSn
UL PDCP SN.
uint16_t dlPdcpSn
DL PDCP SN.
int16_t rntpThreshold
RNTP threshold.
uint16_t antennaPorts
antenna ports
std::vector< bool > rntpPerPrbList
RNTP per prb list.
uint16_t pdcchInterferenceImpact
PDC channel interference list.