22 #include "ns3/epc-x2-header.h"
33 : m_messageType (0xfa),
34 m_procedureCode (0xfa),
53 .AddConstructor<EpcX2Header> ()
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")
177 .AddConstructor<EpcX2HandoverRequestHeader> ()
224 for (
int j = 0; j < (int) sz; j++)
281 for (
int j = 0; j < sz; j++)
323 for (
int j = 0; j < (int) sz; j++)
326 if (j < (
int) sz - 1)
385 std::vector <EpcX2Sap::ErabToBeSetupItem>
439 : m_numberOfIes (1 + 1 + 1 + 1),
440 m_headerLength (2 + 2 + 4 + 4),
441 m_oldEnbUeX2apId (0xfffa),
442 m_newEnbUeX2apId (0xfffa)
459 static TypeId tid =
TypeId (
"ns3::EpcX2HandoverRequestAckHeader")
461 .AddConstructor<EpcX2HandoverRequestAckHeader> ()
488 for (
int j = 0; j < (int) sz; j++)
497 for (
int j = 0; j < (int) sz2; j++)
521 for (
int j = 0; j < sz; j++)
537 for (
int j = 0; j < sz; j++)
563 for (
int j = 0; j < (int) sz; j++)
566 if (j < (
int) sz - 1)
582 for (
int j = 0; j < (int) sz2; j++)
585 if (j < (
int) sz2 - 1)
621 std::vector <EpcX2Sap::ErabAdmittedItem>
634 std::vector <EpcX2Sap::ErabNotAdmittedItem>
664 : m_numberOfIes (1 + 1 + 1),
665 m_headerLength (2 + 2 + 2),
666 m_oldEnbUeX2apId (0xfffa),
668 m_criticalityDiagnostics (0xfffa)
684 static TypeId tid =
TypeId (
"ns3::EpcX2HandoverPreparationFailureHeader")
686 .AddConstructor<EpcX2HandoverPreparationFailureHeader> ()
791 m_oldEnbUeX2apId (0xfffa),
792 m_newEnbUeX2apId (0xfffa)
809 static TypeId tid =
TypeId (
"ns3::EpcX2SnStatusTransferHeader")
811 .AddConstructor<EpcX2SnStatusTransferHeader> ()
839 for (
int j = 0; j < (int) sz; j++)
846 for (
int k = 0; k < bitsetSize; k++)
848 uint64_t statusValue = 0;
849 for (
int m = 0; m < 64; m++)
875 for (
int j = 0; j < sz; j++)
881 for (
int k = 0; k < bitsetSize; k++)
884 for (
int m = 0; m < 64; m++)
913 for (
int j = 0; j < (int) sz; j++)
916 if (j < (
int) sz - 1)
951 std::vector <EpcX2Sap::ErabsSubjectToStatusTransferItem>
981 : m_numberOfIes (1 + 1),
982 m_headerLength (2 + 2),
983 m_oldEnbUeX2apId (0xfffa),
984 m_newEnbUeX2apId (0xfffa)
999 static TypeId tid =
TypeId (
"ns3::EpcX2UeContextReleaseHeader")
1001 .AddConstructor<EpcX2UeContextReleaseHeader> ()
1088 : m_numberOfIes (1),
1104 static TypeId tid =
TypeId (
"ns3::EpcX2LoadInformationHeader")
1106 .AddConstructor<EpcX2LoadInformationHeader> ()
1135 for (
int j = 0; j < (int) sz; j++)
1139 std::vector <EpcX2Sap::UlInterferenceOverloadIndicationItem>::size_type sz2;
1143 for (
int k = 0; k < (int) sz2; k++)
1148 std::vector <EpcX2Sap::UlHighInterferenceInformationItem>::size_type sz3;
1152 for (
int k = 0; k < (int) sz3; k++)
1156 std::vector <bool>::size_type sz4;
1157 sz4 =
m_cellInformationList [j].ulHighInterferenceInformationList [k].ulHighInterferenceIndicationList.size ();
1160 for (
int m = 0; m < (int) sz4; m++)
1166 std::vector <bool>::size_type sz5;
1170 for (
int k = 0; k < (int) sz5; k++)
1197 for (
int j = 0; j < sz; j++)
1205 for (
int k = 0; k < sz2; k++)
1214 for (
int k = 0; k < sz3; k++)
1222 for (
int m = 0; m < sz4; m++)
1233 for (
int k = 0; k < sz5; k++)
1257 std::vector <EpcX2Sap::CellInformationItem>
1270 for (
int j = 0; j < (int) sz; j++)
1274 std::vector <EpcX2Sap::UlInterferenceOverloadIndicationItem>::size_type sz2;
1278 std::vector <EpcX2Sap::UlHighInterferenceInformationItem>::size_type sz3;
1282 for (
int k = 0; k < (int) sz3; k++)
1284 std::vector <bool>::size_type sz4;
1285 sz4 =
m_cellInformationList [j].ulHighInterferenceInformationList [k].ulHighInterferenceIndicationList.size ();
1289 std::vector <bool>::size_type sz5;
1312 : m_numberOfIes (3),
1314 m_enb1MeasurementId (0xfffa),
1315 m_enb2MeasurementId (0xfffa)
1332 static TypeId tid =
TypeId (
"ns3::EpcX2ResourceStatusUpdateHeader")
1334 .AddConstructor<EpcX2ResourceStatusUpdateHeader> ()
1362 for (
int j = 0; j < (int) sz; j++)
1395 for (
int j = 0; j < sz; j++)
1458 std::vector <EpcX2Sap::CellMeasurementResultItem>