merge
This commit is contained in:
@@ -1928,6 +1928,7 @@ Some implementation choices have been made in the RRC regarding the setup of rad
|
||||
|
||||
- three Logical Channel Groups (out of four available) are configured
|
||||
for uplink buffer status report purposes, according to the following policy:
|
||||
|
||||
+ LCG 0 is for signaling radio bearers
|
||||
+ LCG 1 is for GBR data radio bearers
|
||||
+ LCG 2 is for Non-GBR data radio bearers
|
||||
|
||||
@@ -120,9 +120,6 @@ LteHelper::DoStart (void)
|
||||
m_phyTxStats = CreateObject<PhyTxStatsCalculator> ();
|
||||
m_phyRxStats = CreateObject<PhyRxStatsCalculator> ();
|
||||
m_macStats = CreateObject<MacStatsCalculator> ();
|
||||
m_rlcStats = CreateObject<RadioBearerStatsCalculator> ("RLC");
|
||||
m_pdcpStats = CreateObject<RadioBearerStatsCalculator> ("PDCP");
|
||||
|
||||
Object::DoStart ();
|
||||
|
||||
}
|
||||
@@ -831,6 +828,8 @@ LteHelper::EnableTraces (void)
|
||||
void
|
||||
LteHelper::EnableRlcTraces (void)
|
||||
{
|
||||
NS_ASSERT_MSG (m_rlcStats == 0, "please make sure that LteHelper::EnableRlcTraces is called at most once");
|
||||
m_rlcStats = CreateObject<RadioBearerStatsCalculator> ("RLC");
|
||||
m_radioBearerStatsConnector.EnableRlcStats (m_rlcStats);
|
||||
}
|
||||
|
||||
@@ -1339,6 +1338,8 @@ LteHelper::GetRlcStats (void)
|
||||
void
|
||||
LteHelper::EnablePdcpTraces (void)
|
||||
{
|
||||
NS_ASSERT_MSG (m_pdcpStats == 0, "please make sure that LteHelper::EnablePdcpTraces is called at most once");
|
||||
m_pdcpStats = CreateObject<RadioBearerStatsCalculator> ("PDCP");
|
||||
m_radioBearerStatsConnector.EnablePdcpStats (m_pdcpStats);
|
||||
}
|
||||
|
||||
|
||||
@@ -43,13 +43,22 @@ typedef std::map<ImsiLcidPair_t, double> DoubleMap;
|
||||
typedef std::map<ImsiLcidPair_t, LteFlowId_t> FlowIdMap;
|
||||
|
||||
/**
|
||||
* Calculation of statistics from the RLC layer for uplink and downlink, the data is dumped into a file periodically. Metrics considered are:
|
||||
* This class is an ns-3 trace sink that performs the calculation of
|
||||
* PDU statistics for uplink and downlink. Statistics are generated
|
||||
* on a per radio bearer basis. This class can be used for
|
||||
* RLC PDU stats or PDCP PDU stats by connecting to the appropriate
|
||||
* trace sources at the RLC or PDCP layer.
|
||||
*
|
||||
* The statistics are calculated at consecutive time windows and
|
||||
* periodically written to a file. The calculated statistics are:
|
||||
*
|
||||
* - Number of transmitted PDUs
|
||||
* - Number of received PDUs
|
||||
* - Number of transmitted bytes
|
||||
* - Number of received bytes
|
||||
* - Average, min, max and standard deviation of RLC to RLC delay
|
||||
* - Average, min, max and standard deviation of RLC PDU size
|
||||
* - Average, min, max and standard deviation of PDU delay (delay is
|
||||
* calculated from the generation of the PDU to its reception)
|
||||
* - Average, min, max and standard deviation of PDU size
|
||||
*/
|
||||
class RadioBearerStatsCalculator : public LteStatsCalculator
|
||||
{
|
||||
|
||||
@@ -382,7 +382,7 @@ UeManager::SetupDataRadioBearer (EpsBearer bearer, uint8_t bearerId, uint32_t gt
|
||||
lcinfo.gbrDl = bearer.gbrQosInfo.gbrDl;
|
||||
m_rrc->m_cmacSapProvider->AddLc (lcinfo, rlc->GetLteMacSapUser ());
|
||||
|
||||
if (drbInfo->m_rlc->GetTypeId () == LteRlcAm::GetTypeId ())
|
||||
if (rlcTypeId == LteRlcAm::GetTypeId ())
|
||||
{
|
||||
drbInfo->m_rlcConfig.choice = LteRrcSap::RlcConfig::AM;
|
||||
}
|
||||
@@ -518,6 +518,10 @@ UeManager::PrepareHandover (uint16_t cellId)
|
||||
params.bearers = GetErabList ();
|
||||
|
||||
LteRrcSap::HandoverPreparationInfo hpi;
|
||||
hpi.asConfig.sourceMeasConfig.haveQuantityConfig = false;
|
||||
hpi.asConfig.sourceMeasConfig.haveMeasGapConfig = false;
|
||||
hpi.asConfig.sourceMeasConfig.haveSmeasure = false;
|
||||
hpi.asConfig.sourceMeasConfig.haveSpeedStatePars = false;
|
||||
hpi.asConfig.sourceUeIdentity = m_rnti;
|
||||
hpi.asConfig.sourceDlCarrierFreq = m_rrc->m_dlEarfcn;
|
||||
hpi.asConfig.sourceRadioResourceConfig = GetRadioResourceConfigForHandoverPreparationInfo ();
|
||||
@@ -527,6 +531,12 @@ UeManager::PrepareHandover (uint16_t cellId)
|
||||
hpi.asConfig.sourceSystemInformationBlockType1.cellAccessRelatedInfo.cellIdentity = m_rrc->m_cellId;
|
||||
hpi.asConfig.sourceSystemInformationBlockType1.cellAccessRelatedInfo.csgIndication = 0;
|
||||
hpi.asConfig.sourceSystemInformationBlockType1.cellAccessRelatedInfo.csgIdentity = 0;
|
||||
LteEnbCmacSapProvider::RachConfig rc = m_rrc->m_cmacSapProvider->GetRachConfig ();
|
||||
hpi.asConfig.sourceSystemInformationBlockType2.radioResourceConfigCommon.rachConfigCommon.preambleInfo.numberOfRaPreambles = rc.numberOfRaPreambles;
|
||||
hpi.asConfig.sourceSystemInformationBlockType2.radioResourceConfigCommon.rachConfigCommon.raSupervisionInfo.preambleTransMax = rc.preambleTransMax;
|
||||
hpi.asConfig.sourceSystemInformationBlockType2.radioResourceConfigCommon.rachConfigCommon.raSupervisionInfo.raResponseWindowSize = rc.raResponseWindowSize;
|
||||
hpi.asConfig.sourceSystemInformationBlockType2.freqInfo.ulCarrierFreq = m_rrc->m_ulEarfcn;
|
||||
hpi.asConfig.sourceSystemInformationBlockType2.freqInfo.ulBandwidth = m_rrc->m_ulBandwidth;
|
||||
params.rrcContext = m_rrc->m_rrcSapUser->EncodeHandoverPreparationInformation (hpi);
|
||||
|
||||
NS_LOG_LOGIC ("oldEnbUeX2apId = " << params.oldEnbUeX2apId);
|
||||
@@ -1543,6 +1553,12 @@ LteEnbRrc::DoRecvHandoverRequest (EpcX2SapUser::HandoverRequestParams req)
|
||||
handoverCommand.mobilityControlInfo.haveRachConfigDedicated = true;
|
||||
handoverCommand.mobilityControlInfo.rachConfigDedicated.raPreambleIndex = anrcrv.raPreambleId;
|
||||
handoverCommand.mobilityControlInfo.rachConfigDedicated.raPrachMaskIndex = anrcrv.raPrachMaskIndex;
|
||||
|
||||
LteEnbCmacSapProvider::RachConfig rc = m_cmacSapProvider->GetRachConfig ();
|
||||
handoverCommand.mobilityControlInfo.radioResourceConfigCommon.rachConfigCommon.preambleInfo.numberOfRaPreambles = rc.numberOfRaPreambles;
|
||||
handoverCommand.mobilityControlInfo.radioResourceConfigCommon.rachConfigCommon.raSupervisionInfo.preambleTransMax = rc.preambleTransMax;
|
||||
handoverCommand.mobilityControlInfo.radioResourceConfigCommon.rachConfigCommon.raSupervisionInfo.raResponseWindowSize = rc.raResponseWindowSize;
|
||||
|
||||
Ptr<Packet> encodedHandoverCommand = m_rrcSapUser->EncodeHandoverCommand (handoverCommand);
|
||||
|
||||
ackParams.rrcContext = encodedHandoverCommand;
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -61,7 +61,10 @@ protected:
|
||||
void SerializeMeasResults (LteRrcSap::MeasResults measResults) const;
|
||||
void SerializePlmnIdentity (uint32_t plmnId) const;
|
||||
void SerializeRachConfigCommon (LteRrcSap::RachConfigCommon rachConfigCommon) const;
|
||||
|
||||
void SerializeMeasConfig (LteRrcSap::MeasConfig measConfig) const;
|
||||
void SerializeQoffsetRange (int8_t qOffsetRange) const;
|
||||
void SerializeThresholdEutra (LteRrcSap::ThresholdEutra thresholdEutra) const;
|
||||
|
||||
// Deserialization functions
|
||||
Buffer::Iterator DeserializeDrbToAddModList (std::list<LteRrcSap::DrbToAddMod> *drbToAddModLis, Buffer::Iterator bIterator);
|
||||
Buffer::Iterator DeserializeSrbToAddModList (std::list<LteRrcSap::SrbToAddMod> *srbToAddModList, Buffer::Iterator bIterator);
|
||||
@@ -75,6 +78,9 @@ protected:
|
||||
Buffer::Iterator DeserializeMeasResults (LteRrcSap::MeasResults *measResults, Buffer::Iterator bIterator);
|
||||
Buffer::Iterator DeserializePlmnIdentity (uint32_t *plmnId, Buffer::Iterator bIterator);
|
||||
Buffer::Iterator DeserializeRachConfigCommon (LteRrcSap::RachConfigCommon * rachConfigCommon, Buffer::Iterator bIterator);
|
||||
Buffer::Iterator DeserializeMeasConfig (LteRrcSap::MeasConfig * measConfig, Buffer::Iterator bIterator);
|
||||
Buffer::Iterator DeserializeQoffsetRange (int8_t * qOffsetRange, Buffer::Iterator bIterator);
|
||||
Buffer::Iterator DeserializeThresholdEutra (LteRrcSap::ThresholdEutra * thresholdEutra, Buffer::Iterator bIterator);
|
||||
|
||||
/**
|
||||
* This function prints RadioResourceConfigDedicated IE, for debugging purposes.
|
||||
|
||||
@@ -306,8 +306,8 @@ LteUeRrcProtocolReal::DoReceivePdcpPdu (Ptr<Packet> p)
|
||||
break;
|
||||
case 2:
|
||||
// RrcConnectionReject
|
||||
p->RemoveHeader (rrcConnectionReestablishmentRejectHeader);
|
||||
rrcConnectionReestablishmentRejectMsg = rrcConnectionReestablishmentRejectHeader.GetMessage ();
|
||||
p->RemoveHeader (rrcConnectionRejectHeader);
|
||||
rrcConnectionRejectMsg = rrcConnectionRejectHeader.GetMessage ();
|
||||
m_ueRrcSapProvider->RecvRrcConnectionReject (rrcConnectionRejectMsg);
|
||||
break;
|
||||
case 3:
|
||||
@@ -468,17 +468,24 @@ LteEnbRrcProtocolReal::DoSetupUe (uint16_t rnti, LteEnbRrcSapUser::SetupUeParame
|
||||
// Store SetupUeParameters
|
||||
m_setupUeParametersMap[rnti] = params;
|
||||
|
||||
// Create LteRlcSapUser, LtePdcpSapUser
|
||||
LteRlcSapUser* srb0SapUser = new RealProtocolRlcSapUser (this,rnti);
|
||||
LtePdcpSapUser* srb1SapUser = new LtePdcpSpecificLtePdcpSapUser<LteEnbRrcProtocolReal> (this);
|
||||
LteEnbRrcSapProvider::CompleteSetupUeParameters completeSetupUeParameters;
|
||||
completeSetupUeParameters.srb0SapUser = srb0SapUser;
|
||||
completeSetupUeParameters.srb1SapUser = srb1SapUser;
|
||||
|
||||
// Store LteRlcSapUser, LtePdcpSapUser
|
||||
m_completeSetupUeParametersMap[rnti] = completeSetupUeParameters;
|
||||
|
||||
m_enbRrcSapProvider->CompleteSetupUe (rnti,completeSetupUeParameters);
|
||||
std::map<uint16_t, LteEnbRrcSapProvider::CompleteSetupUeParameters>::iterator
|
||||
csupIt = m_completeSetupUeParametersMap.find (rnti);
|
||||
if (csupIt == m_completeSetupUeParametersMap.end ())
|
||||
{
|
||||
// Create LteRlcSapUser, LtePdcpSapUser
|
||||
LteRlcSapUser* srb0SapUser = new RealProtocolRlcSapUser (this,rnti);
|
||||
LtePdcpSapUser* srb1SapUser = new LtePdcpSpecificLtePdcpSapUser<LteEnbRrcProtocolReal> (this);
|
||||
completeSetupUeParameters.srb0SapUser = srb0SapUser;
|
||||
completeSetupUeParameters.srb1SapUser = srb1SapUser;
|
||||
// Store LteRlcSapUser, LtePdcpSapUser
|
||||
m_completeSetupUeParametersMap[rnti] = completeSetupUeParameters;
|
||||
}
|
||||
else
|
||||
{
|
||||
completeSetupUeParameters = csupIt->second;
|
||||
}
|
||||
m_enbRrcSapProvider->CompleteSetupUe (rnti, completeSetupUeParameters);
|
||||
}
|
||||
|
||||
void
|
||||
|
||||
@@ -218,12 +218,13 @@ public:
|
||||
|
||||
struct ThresholdEutra
|
||||
{
|
||||
uint8_t thresholdRsrp;
|
||||
uint8_t thresholdRsrq;
|
||||
enum {thresholdRsrp, thresholdRsrq} choice;
|
||||
uint8_t range;
|
||||
};
|
||||
|
||||
struct ReportConfigEutra
|
||||
{
|
||||
enum {event,periodical} triggerType;
|
||||
enum {eventA1,eventA2,eventA3,eventA4,eventA5} eventId;
|
||||
ThresholdEutra threshold1; // used for A1, A2, A4, A5
|
||||
ThresholdEutra threshold2; // used for A5
|
||||
|
||||
@@ -46,7 +46,7 @@ public:
|
||||
pkt->CopyData (buffer, psize);
|
||||
for (uint32_t i = 0; i < psize; i++)
|
||||
{
|
||||
sprintf (&sbuffer[i*3],"%02x ",buffer[i]);
|
||||
sprintf (&sbuffer[i * 3],"%02x ",buffer[i]);
|
||||
}
|
||||
return std::string (sbuffer);
|
||||
}
|
||||
@@ -95,12 +95,12 @@ public:
|
||||
virtual void DoRun (void) = 0;
|
||||
LteRrcSap::RadioResourceConfigDedicated CreateRadioResourceConfigDedicated ();
|
||||
void AssertEqualRadioResourceConfigDedicated (LteRrcSap::RadioResourceConfigDedicated rrcd1, LteRrcSap::RadioResourceConfigDedicated rrcd2);
|
||||
|
||||
|
||||
protected:
|
||||
Ptr<Packet> packet;
|
||||
};
|
||||
|
||||
RrcHeaderTestCase :: RrcHeaderTestCase(std::string s) : TestCase(s)
|
||||
RrcHeaderTestCase :: RrcHeaderTestCase (std::string s) : TestCase (s)
|
||||
{
|
||||
}
|
||||
|
||||
@@ -254,7 +254,7 @@ RrcConnectionRequestTestCase::RrcConnectionRequestTestCase () : RrcHeaderTestCas
|
||||
void
|
||||
RrcConnectionRequestTestCase::DoRun (void)
|
||||
{
|
||||
packet = Create<Packet>();
|
||||
packet = Create<Packet> ();
|
||||
NS_LOG_DEBUG ("============= RrcConnectionRequestTestCase ===========");
|
||||
|
||||
LteRrcSap::RrcConnectionRequest msg;
|
||||
@@ -282,7 +282,7 @@ RrcConnectionRequestTestCase::DoRun (void)
|
||||
// Check that the destination and source headers contain the same values
|
||||
NS_TEST_ASSERT_MSG_EQ (source.GetMmec (),destination.GetMmec (), "Different m_mmec!");
|
||||
NS_TEST_ASSERT_MSG_EQ (source.GetMtmsi (),destination.GetMtmsi (), "Different m_mTmsi!");
|
||||
|
||||
|
||||
packet = 0;
|
||||
}
|
||||
|
||||
@@ -301,7 +301,7 @@ RrcConnectionSetupTestCase::RrcConnectionSetupTestCase () : RrcHeaderTestCase ("
|
||||
void
|
||||
RrcConnectionSetupTestCase::DoRun (void)
|
||||
{
|
||||
packet = Create<Packet>();
|
||||
packet = Create<Packet> ();
|
||||
NS_LOG_DEBUG ("============= RrcConnectionSetupTestCase ===========");
|
||||
|
||||
LteRrcSap::RrcConnectionSetup msg;
|
||||
@@ -331,7 +331,7 @@ RrcConnectionSetupTestCase::DoRun (void)
|
||||
NS_TEST_ASSERT_MSG_EQ (source.GetRrcTransactionIdentifier (),destination.GetRrcTransactionIdentifier (), "RrcTransactionIdentifier");
|
||||
|
||||
AssertEqualRadioResourceConfigDedicated (source.GetRadioResourceConfigDedicated (),destination.GetRadioResourceConfigDedicated ());
|
||||
|
||||
|
||||
packet = 0;
|
||||
}
|
||||
|
||||
@@ -350,7 +350,7 @@ RrcConnectionSetupCompleteTestCase::RrcConnectionSetupCompleteTestCase () : RrcH
|
||||
void
|
||||
RrcConnectionSetupCompleteTestCase::DoRun (void)
|
||||
{
|
||||
packet = Create<Packet>();
|
||||
packet = Create<Packet> ();
|
||||
NS_LOG_DEBUG ("============= RrcConnectionSetupCompleteTestCase ===========");
|
||||
|
||||
LteRrcSap::RrcConnectionSetupCompleted msg;
|
||||
@@ -377,7 +377,7 @@ RrcConnectionSetupCompleteTestCase::DoRun (void)
|
||||
|
||||
// Check that the destination and source headers contain the same values
|
||||
NS_TEST_ASSERT_MSG_EQ (source.GetRrcTransactionIdentifier (),destination.GetRrcTransactionIdentifier (), "RrcTransactionIdentifier");
|
||||
|
||||
|
||||
packet = 0;
|
||||
}
|
||||
|
||||
@@ -397,7 +397,7 @@ RrcConnectionReconfigurationCompleteTestCase::RrcConnectionReconfigurationComple
|
||||
void
|
||||
RrcConnectionReconfigurationCompleteTestCase::DoRun (void)
|
||||
{
|
||||
packet = Create<Packet>();
|
||||
packet = Create<Packet> ();
|
||||
NS_LOG_DEBUG ("============= RrcConnectionReconfigurationCompleteTestCase ===========");
|
||||
|
||||
LteRrcSap::RrcConnectionReconfigurationCompleted msg;
|
||||
@@ -424,7 +424,7 @@ RrcConnectionReconfigurationCompleteTestCase::DoRun (void)
|
||||
|
||||
// Check that the destination and source headers contain the same values
|
||||
NS_TEST_ASSERT_MSG_EQ (source.GetRrcTransactionIdentifier (),destination.GetRrcTransactionIdentifier (), "RrcTransactionIdentifier");
|
||||
|
||||
|
||||
packet = 0;
|
||||
}
|
||||
|
||||
@@ -444,13 +444,49 @@ RrcConnectionReconfigurationTestCase::RrcConnectionReconfigurationTestCase ()
|
||||
void
|
||||
RrcConnectionReconfigurationTestCase::DoRun (void)
|
||||
{
|
||||
packet = Create<Packet>();
|
||||
packet = Create<Packet> ();
|
||||
NS_LOG_DEBUG ("============= RrcConnectionReconfigurationTestCase ===========");
|
||||
|
||||
LteRrcSap::RrcConnectionReconfiguration msg;
|
||||
msg.rrcTransactionIdentifier = 2;
|
||||
|
||||
msg.haveMeasConfig = false;
|
||||
msg.haveMeasConfig = true;
|
||||
|
||||
msg.measConfig.haveQuantityConfig = true;
|
||||
msg.measConfig.quantityConfig.filterCoefficientRSRP = 8;
|
||||
msg.measConfig.quantityConfig.filterCoefficientRSRQ = 7;
|
||||
|
||||
msg.measConfig.haveMeasGapConfig = true;
|
||||
msg.measConfig.measGapConfig.type = LteRrcSap::MeasGapConfig::SETUP;
|
||||
msg.measConfig.measGapConfig.gapOffsetChoice = LteRrcSap::MeasGapConfig::gp0;
|
||||
msg.measConfig.measGapConfig.gapOffsetValue = 21;
|
||||
|
||||
msg.measConfig.haveSmeasure = true;
|
||||
msg.measConfig.sMeasure = 57;
|
||||
|
||||
msg.measConfig.haveSpeedStatePars = true;
|
||||
msg.measConfig.speedStatePars.type = LteRrcSap::SpeedStatePars::SETUP;
|
||||
msg.measConfig.speedStatePars.mobilityStateParameters.tEvaluation = 240;
|
||||
msg.measConfig.speedStatePars.mobilityStateParameters.tHystNormal = 60;
|
||||
msg.measConfig.speedStatePars.mobilityStateParameters.nCellChangeMedium = 5;
|
||||
msg.measConfig.speedStatePars.mobilityStateParameters.nCellChangeHigh = 13;
|
||||
msg.measConfig.speedStatePars.timeToTriggerSf.sfMedium = 25;
|
||||
msg.measConfig.speedStatePars.timeToTriggerSf.sfHigh = 75;
|
||||
|
||||
msg.measConfig.measObjectToRemoveList.push_back (23);
|
||||
msg.measConfig.measObjectToRemoveList.push_back (13);
|
||||
|
||||
msg.measConfig.reportConfigToRemoveList.push_back (7);
|
||||
msg.measConfig.reportConfigToRemoveList.push_back (16);
|
||||
|
||||
msg.measConfig.measIdToRemoveList.push_back (4);
|
||||
msg.measConfig.measIdToRemoveList.push_back (18);
|
||||
|
||||
// TODO: Test the following:
|
||||
// std::list<MeasObjectToAddMod> measObjectToAddModList;
|
||||
// std::list<ReportConfigToAddMod> reportConfigToAddModList;
|
||||
// std::list<MeasIdToAddMod> measIdToAddModList;
|
||||
|
||||
msg.haveMobilityControlInfo = true;
|
||||
msg.mobilityControlInfo.targetPhysCellId = 4;
|
||||
msg.mobilityControlInfo.haveCarrierFreq = true;
|
||||
@@ -539,7 +575,7 @@ RrcConnectionReconfigurationTestCase::DoRun (void)
|
||||
{
|
||||
AssertEqualRadioResourceConfigDedicated (source.GetRadioResourceConfigDedicated (), destination.GetRadioResourceConfigDedicated ());
|
||||
}
|
||||
|
||||
|
||||
packet = 0;
|
||||
}
|
||||
|
||||
@@ -558,7 +594,7 @@ HandoverPreparationInfoTestCase::HandoverPreparationInfoTestCase () : RrcHeaderT
|
||||
void
|
||||
HandoverPreparationInfoTestCase::DoRun (void)
|
||||
{
|
||||
packet = Create<Packet>();
|
||||
packet = Create<Packet> ();
|
||||
NS_LOG_DEBUG ("============= HandoverPreparationInfoTestCase ===========");
|
||||
|
||||
LteRrcSap::HandoverPreparationInfo msg;
|
||||
@@ -573,12 +609,17 @@ HandoverPreparationInfoTestCase::DoRun (void)
|
||||
msg.asConfig.sourceSystemInformationBlockType1.cellAccessRelatedInfo.csgIdentity = 4;
|
||||
msg.asConfig.sourceSystemInformationBlockType1.cellAccessRelatedInfo.plmnIdentityInfo.plmnIdentity = 123;
|
||||
|
||||
msg.asConfig.sourceSystemInformationBlockType2.freqInfo.ulBandwidth=100;
|
||||
msg.asConfig.sourceSystemInformationBlockType2.freqInfo.ulCarrierFreq=10;
|
||||
msg.asConfig.sourceSystemInformationBlockType2.freqInfo.ulBandwidth = 100;
|
||||
msg.asConfig.sourceSystemInformationBlockType2.freqInfo.ulCarrierFreq = 10;
|
||||
msg.asConfig.sourceSystemInformationBlockType2.radioResourceConfigCommon.rachConfigCommon.preambleInfo.numberOfRaPreambles = 4;
|
||||
msg.asConfig.sourceSystemInformationBlockType2.radioResourceConfigCommon.rachConfigCommon.raSupervisionInfo.preambleTransMax = 3;
|
||||
msg.asConfig.sourceSystemInformationBlockType2.radioResourceConfigCommon.rachConfigCommon.raSupervisionInfo.raResponseWindowSize = 6;
|
||||
|
||||
|
||||
msg.asConfig.sourceMeasConfig.haveQuantityConfig = false;
|
||||
msg.asConfig.sourceMeasConfig.haveMeasGapConfig = false;
|
||||
msg.asConfig.sourceMeasConfig.haveSmeasure = false;
|
||||
msg.asConfig.sourceMeasConfig.haveSpeedStatePars = false;
|
||||
|
||||
HandoverPreparationInfoHeader source;
|
||||
source.SetMessage (msg);
|
||||
|
||||
@@ -608,8 +649,8 @@ HandoverPreparationInfoTestCase::DoRun (void)
|
||||
NS_TEST_ASSERT_MSG_EQ (source.GetAsConfig ().sourceSystemInformationBlockType1.cellAccessRelatedInfo.cellIdentity, destination.GetAsConfig ().sourceSystemInformationBlockType1.cellAccessRelatedInfo.cellIdentity, "cellIdentity");
|
||||
NS_TEST_ASSERT_MSG_EQ (source.GetAsConfig ().sourceSystemInformationBlockType1.cellAccessRelatedInfo.csgIdentity, destination.GetAsConfig ().sourceSystemInformationBlockType1.cellAccessRelatedInfo.csgIdentity, "csgIdentity");
|
||||
NS_TEST_ASSERT_MSG_EQ (source.GetAsConfig ().sourceDlCarrierFreq, destination.GetAsConfig ().sourceDlCarrierFreq, "sourceDlCarrierFreq");
|
||||
|
||||
packet = 0;
|
||||
|
||||
packet = 0;
|
||||
}
|
||||
|
||||
// --------------------------- CLASS RrcConnectionReestablishmentRequestTestCase -----------------------------
|
||||
@@ -627,7 +668,7 @@ RrcConnectionReestablishmentRequestTestCase::RrcConnectionReestablishmentRequest
|
||||
void
|
||||
RrcConnectionReestablishmentRequestTestCase::DoRun (void)
|
||||
{
|
||||
packet = Create<Packet>();
|
||||
packet = Create<Packet> ();
|
||||
NS_LOG_DEBUG ("============= RrcConnectionReestablishmentRequestTestCase ===========");
|
||||
|
||||
LteRrcSap::RrcConnectionReestablishmentRequest msg;
|
||||
@@ -658,7 +699,7 @@ RrcConnectionReestablishmentRequestTestCase::DoRun (void)
|
||||
NS_TEST_ASSERT_MSG_EQ (source.GetUeIdentity ().cRnti, destination.GetUeIdentity ().cRnti, "cRnti");
|
||||
NS_TEST_ASSERT_MSG_EQ (source.GetUeIdentity ().physCellId, destination.GetUeIdentity ().physCellId, "physCellId");
|
||||
NS_TEST_ASSERT_MSG_EQ (source.GetReestablishmentCause (),destination.GetReestablishmentCause (), "ReestablishmentCause");
|
||||
|
||||
|
||||
packet = 0;
|
||||
}
|
||||
|
||||
@@ -677,7 +718,7 @@ RrcConnectionReestablishmentTestCase::RrcConnectionReestablishmentTestCase () :
|
||||
void
|
||||
RrcConnectionReestablishmentTestCase::DoRun (void)
|
||||
{
|
||||
packet = Create<Packet>();
|
||||
packet = Create<Packet> ();
|
||||
NS_LOG_DEBUG ("============= RrcConnectionReestablishmentTestCase ===========");
|
||||
|
||||
LteRrcSap::RrcConnectionReestablishment msg;
|
||||
@@ -706,7 +747,7 @@ RrcConnectionReestablishmentTestCase::DoRun (void)
|
||||
// Check that the destination and source headers contain the same values
|
||||
NS_TEST_ASSERT_MSG_EQ (source.GetRrcTransactionIdentifier (), destination.GetRrcTransactionIdentifier (), "rrcTransactionIdentifier");
|
||||
AssertEqualRadioResourceConfigDedicated (source.GetRadioResourceConfigDedicated (),destination.GetRadioResourceConfigDedicated ());
|
||||
|
||||
|
||||
packet = 0;
|
||||
}
|
||||
|
||||
@@ -725,7 +766,7 @@ RrcConnectionReestablishmentCompleteTestCase::RrcConnectionReestablishmentComple
|
||||
void
|
||||
RrcConnectionReestablishmentCompleteTestCase::DoRun (void)
|
||||
{
|
||||
packet = Create<Packet>();
|
||||
packet = Create<Packet> ();
|
||||
NS_LOG_DEBUG ("============= RrcConnectionReestablishmentCompleteTestCase ===========");
|
||||
|
||||
LteRrcSap::RrcConnectionReestablishmentComplete msg;
|
||||
@@ -752,7 +793,7 @@ RrcConnectionReestablishmentCompleteTestCase::DoRun (void)
|
||||
|
||||
// Check that the destination and source headers contain the same values
|
||||
NS_TEST_ASSERT_MSG_EQ (source.GetRrcTransactionIdentifier (), destination.GetRrcTransactionIdentifier (), "rrcTransactionIdentifier");
|
||||
|
||||
|
||||
packet = 0;
|
||||
}
|
||||
|
||||
@@ -771,7 +812,7 @@ RrcConnectionRejectTestCase::RrcConnectionRejectTestCase () : RrcHeaderTestCase
|
||||
void
|
||||
RrcConnectionRejectTestCase::DoRun (void)
|
||||
{
|
||||
packet = Create<Packet>();
|
||||
packet = Create<Packet> ();
|
||||
NS_LOG_DEBUG ("============= RrcConnectionRejectTestCase ===========");
|
||||
|
||||
LteRrcSap::RrcConnectionReject msg;
|
||||
@@ -798,7 +839,7 @@ RrcConnectionRejectTestCase::DoRun (void)
|
||||
|
||||
// Check that the destination and source headers contain the same values
|
||||
NS_TEST_ASSERT_MSG_EQ (source.GetMessage ().waitTime, destination.GetMessage ().waitTime, "Different waitTime!");
|
||||
|
||||
|
||||
packet = 0;
|
||||
}
|
||||
|
||||
@@ -817,7 +858,7 @@ MeasurementReportTestCase::MeasurementReportTestCase () : RrcHeaderTestCase ("Te
|
||||
void
|
||||
MeasurementReportTestCase::DoRun (void)
|
||||
{
|
||||
packet = Create<Packet>();
|
||||
packet = Create<Packet> ();
|
||||
NS_LOG_DEBUG ("============= MeasurementReportTestCase ===========");
|
||||
|
||||
LteRrcSap::MeasurementReport msg;
|
||||
@@ -909,7 +950,7 @@ MeasurementReportTestCase::DoRun (void)
|
||||
}
|
||||
}
|
||||
|
||||
packet = 0;
|
||||
packet = 0;
|
||||
}
|
||||
|
||||
// --------------------------- CLASS Asn1EncodingSuite -----------------------------
|
||||
@@ -923,17 +964,17 @@ Asn1EncodingSuite::Asn1EncodingSuite ()
|
||||
: TestSuite ("test-asn1-encoding", UNIT)
|
||||
{
|
||||
NS_LOG_FUNCTION (this);
|
||||
AddTestCase (new RrcConnectionRequestTestCase());
|
||||
AddTestCase (new RrcConnectionSetupTestCase());
|
||||
AddTestCase (new RrcConnectionSetupCompleteTestCase());
|
||||
AddTestCase (new RrcConnectionReconfigurationCompleteTestCase());
|
||||
AddTestCase (new RrcConnectionReconfigurationTestCase());
|
||||
AddTestCase (new HandoverPreparationInfoTestCase());
|
||||
AddTestCase (new RrcConnectionReestablishmentRequestTestCase());
|
||||
AddTestCase (new RrcConnectionReestablishmentTestCase());
|
||||
AddTestCase (new RrcConnectionReestablishmentCompleteTestCase());
|
||||
AddTestCase (new RrcConnectionRejectTestCase());
|
||||
AddTestCase (new MeasurementReportTestCase());
|
||||
AddTestCase (new RrcConnectionRequestTestCase ());
|
||||
AddTestCase (new RrcConnectionSetupTestCase ());
|
||||
AddTestCase (new RrcConnectionSetupCompleteTestCase ());
|
||||
AddTestCase (new RrcConnectionReconfigurationCompleteTestCase ());
|
||||
AddTestCase (new RrcConnectionReconfigurationTestCase ());
|
||||
AddTestCase (new HandoverPreparationInfoTestCase ());
|
||||
AddTestCase (new RrcConnectionReestablishmentRequestTestCase ());
|
||||
AddTestCase (new RrcConnectionReestablishmentTestCase ());
|
||||
AddTestCase (new RrcConnectionReestablishmentCompleteTestCase ());
|
||||
AddTestCase (new RrcConnectionRejectTestCase ());
|
||||
AddTestCase (new MeasurementReportTestCase ());
|
||||
}
|
||||
|
||||
Asn1EncodingSuite asn1EncodingSuite;
|
||||
|
||||
Reference in New Issue
Block a user