Add some IEs to the X2 message headers
This commit is contained in:
@@ -21,10 +21,15 @@
|
||||
#ifndef EPC_X2_HEADER_H
|
||||
#define EPC_X2_HEADER_H
|
||||
|
||||
#include "ns3/epc-x2-sap.h"
|
||||
#include "ns3/header.h"
|
||||
|
||||
#include <vector>
|
||||
|
||||
|
||||
namespace ns3 {
|
||||
|
||||
|
||||
class EpcX2Header : public Header
|
||||
{
|
||||
public:
|
||||
@@ -45,20 +50,28 @@ public:
|
||||
uint8_t GetProcedureCode () const;
|
||||
void SetProcedureCode (uint8_t procedureCode);
|
||||
|
||||
void SetLengthOfIes (uint32_t lengthOfIes);
|
||||
void SetNumberOfIes (uint32_t numberOfIes);
|
||||
|
||||
|
||||
enum ProcedureCode_t {
|
||||
HANDOVER_PREPARATION_TYPE = 0
|
||||
HandoverPreparation = 0
|
||||
};
|
||||
|
||||
enum TypeOfMessage_t {
|
||||
INITIATING_MESSAGE = 0,
|
||||
SUCCESSFUL_OUTCOME = 1,
|
||||
UNSUCCESSFUL_OUTCOME = 2
|
||||
InitiatingMessage = 0,
|
||||
SuccessfulOutcome = 1,
|
||||
UnsuccessfulOutcome = 2
|
||||
};
|
||||
|
||||
private:
|
||||
uint32_t m_headerLength;
|
||||
|
||||
uint8_t m_messageType;
|
||||
uint8_t m_procedureCode;
|
||||
|
||||
uint32_t m_lengthOfIes;
|
||||
uint32_t m_numberOfIes;
|
||||
};
|
||||
|
||||
|
||||
@@ -74,7 +87,10 @@ public:
|
||||
virtual void Serialize (Buffer::Iterator start) const;
|
||||
virtual uint32_t Deserialize (Buffer::Iterator start);
|
||||
virtual void Print (std::ostream &os) const;
|
||||
|
||||
|
||||
|
||||
uint16_t GetOldEnbUeX2apId () const;
|
||||
void SetOldEnbUeX2apId (uint16_t x2apId);
|
||||
|
||||
uint16_t GetCause () const;
|
||||
void SetCause (uint16_t cause);
|
||||
@@ -82,11 +98,28 @@ public:
|
||||
uint16_t GetTargetCellId () const;
|
||||
void SetTargetCellId (uint16_t targetCellId);
|
||||
|
||||
std::vector <EpcX2Sap::ErabToBeSetupItem> GetBearers () const;
|
||||
void SetBearers (std::vector <EpcX2Sap::ErabToBeSetupItem> bearers);
|
||||
|
||||
uint64_t GetUeAggregateMaxBitRateDownlink () const;
|
||||
void SetUeAggregateMaxBitRateDownlink (uint64_t bitRate);
|
||||
|
||||
uint64_t GetUeAggregateMaxBitRateUplink () const;
|
||||
void SetUeAggregateMaxBitRateUplink (uint64_t bitRate);
|
||||
|
||||
uint32_t GetLengthOfIes () const;
|
||||
uint32_t GetNumberOfIes () const;
|
||||
|
||||
private:
|
||||
uint16_t m_oldEnbUeX2apId; // TODO MRE When and why this is used?
|
||||
uint32_t m_numberOfIes;
|
||||
uint32_t m_headerLength;
|
||||
|
||||
uint16_t m_oldEnbUeX2apId;
|
||||
uint16_t m_cause;
|
||||
uint16_t m_targetCellId;
|
||||
std::list<uint16_t> m_erabsList;
|
||||
uint64_t m_ueAggregateMaxBitRateDownlink;
|
||||
uint64_t m_ueAggregateMaxBitRateUplink;
|
||||
std::vector <EpcX2Sap::ErabToBeSetupItem> m_erabsToBeSetupList;
|
||||
};
|
||||
|
||||
|
||||
@@ -104,17 +137,23 @@ public:
|
||||
virtual void Print (std::ostream &os) const;
|
||||
|
||||
|
||||
uint16_t GetCause () const;
|
||||
void SetCause (uint16_t cause);
|
||||
uint16_t GetOldEnbUeX2apId () const;
|
||||
void SetOldEnbUeX2apId (uint16_t x2apId);
|
||||
|
||||
uint16_t GetTargetCellId () const;
|
||||
void SetTargetCellId (uint16_t targetCellId);
|
||||
uint16_t GetNewEnbUeX2apId () const;
|
||||
void SetNewEnbUeX2apId (uint16_t x2apId);
|
||||
|
||||
std::vector <EpcX2Sap::ErabAdmittedItem> GetAdmittedBearers () const;
|
||||
void SetAdmittedBearers (std::vector <EpcX2Sap::ErabAdmittedItem> bearers);
|
||||
|
||||
std::vector <EpcX2Sap::ErabNotAdmittedItem> GetNotAdmittedBearers () const;
|
||||
void SetNotAdmittedBearers (std::vector <EpcX2Sap::ErabNotAdmittedItem> bearers);
|
||||
|
||||
private:
|
||||
uint16_t m_oldEnbUeX2apId; // TODO MRE When and why this is used?
|
||||
uint16_t m_cause;
|
||||
uint16_t m_targetCellId;
|
||||
std::list<uint16_t> m_erabsList;
|
||||
uint16_t m_oldEnbUeX2apId;
|
||||
uint16_t m_newEnbUeX2apId;
|
||||
std::vector <EpcX2Sap::ErabAdmittedItem> m_erabsAdmittedList;
|
||||
std::vector <EpcX2Sap::ErabNotAdmittedItem> m_erabsNotAdmittedList;
|
||||
};
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user