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>
iterator in a Buffer instance
uint16_t ReadNtohU16(void)
void WriteHtonU64(uint64_t data)
uint64_t ReadNtohU64(void)
void WriteU8(uint8_t data)
void WriteHtonU16(uint16_t data)
void WriteHtonU32(uint32_t data)
uint32_t ReadNtohU32(void)
EpcX2HandoverPreparationFailureHeader.
virtual uint32_t GetSerializedSize(void) const
virtual void Serialize(Buffer::Iterator start) const
void SetCriticalityDiagnostics(uint16_t criticalityDiagnostics)
Set criticality diagnostics function.
void SetCause(uint16_t cause)
Set cause function.
uint16_t GetOldEnbUeX2apId() const
Get old ENB UE X2 AP ID function.
virtual ~EpcX2HandoverPreparationFailureHeader()
virtual TypeId GetInstanceTypeId(void) const
Get the most derived TypeId for this Object.
uint16_t GetCause() const
Get cause function.
static TypeId GetTypeId(void)
Get the type ID.
EpcX2HandoverPreparationFailureHeader()
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.
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.
virtual void Print(std::ostream &os) const
EpcX2HandoverRequestAckHeader.
virtual TypeId GetInstanceTypeId(void) const
Get the most derived TypeId for this Object.
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.
virtual void Serialize(Buffer::Iterator start) const
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
virtual void Print(std::ostream &os) const
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()
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.
static TypeId GetTypeId(void)
Get the type ID.
std::vector< EpcX2Sap::ErabNotAdmittedItem > m_erabsNotAdmittedList
ERABs not admitted list.
uint32_t GetNumberOfIes() const
Get number of IEs function.
virtual ~EpcX2HandoverRequestAckHeader()
void SetAdmittedBearers(std::vector< EpcX2Sap::ErabAdmittedItem > bearers)
Set admitted bearers function.
virtual uint32_t GetSerializedSize(void) const
EpcX2HandoverRequestHeader.
uint16_t GetCause() const
Get cause function.
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.
static TypeId GetTypeId(void)
Get the type ID.
void SetTargetCellId(uint16_t targetCellId)
Set target cell id function.
uint64_t m_ueAggregateMaxBitRateUplink
aggregate max bit rate uplink
EpcX2HandoverRequestHeader()
virtual void Print(std::ostream &os) const
uint32_t m_headerLength
header length
void SetUeAggregateMaxBitRateUplink(uint64_t bitRate)
Set UE Aggregrate Max Bit Rate Uplik function.
uint64_t GetUeAggregateMaxBitRateUplink() const
Get UE Aggregrate 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.
virtual ~EpcX2HandoverRequestHeader()
void SetUeAggregateMaxBitRateDownlink(uint64_t bitRate)
Set UE Aggregrate Max Bit Rate Downlink function.
uint32_t m_numberOfIes
number of IEs
virtual void Serialize(Buffer::Iterator start) const
virtual uint32_t GetSerializedSize(void) const
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.
uint64_t m_ueAggregateMaxBitRateDownlink
aggregate max bit rate downlink
virtual TypeId GetInstanceTypeId(void) const
Get the most derived TypeId for this Object.
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.