Index: src/lte/helper/point-to-point-epc-helper.cc |
=================================================================== |
--- a/src/lte/helper/point-to-point-epc-helper.cc |
+++ b/src/lte/helper/point-to-point-epc-helper.cc |
@@ -160,9 +160,9 @@ |
void |
-PointToPointEpcHelper::AddEnb (Ptr<Node> enb, Ptr<NetDevice> lteEnbNetDevice, uint16_t cellId) |
+PointToPointEpcHelper::AddEnb (Ptr<Node> enb, Ptr<NetDevice> lteEnbNetDevice, std::vector<uint16_t> cellIds) |
{ |
- NS_LOG_FUNCTION (this << enb << lteEnbNetDevice << cellId); |
+ NS_LOG_FUNCTION (this << enb << lteEnbNetDevice << cellIds.at (0)); |
NS_ASSERT (enb == lteEnbNetDevice->GetNode ()); |
@@ -217,7 +217,7 @@ |
NS_LOG_INFO ("create EpcEnbApplication"); |
- Ptr<EpcEnbApplication> enbApp = CreateObject<EpcEnbApplication> (enbLteSocket, enbS1uSocket, enbAddress, sgwAddress, cellId); |
+ Ptr<EpcEnbApplication> enbApp = CreateObject<EpcEnbApplication> (enbLteSocket, enbS1uSocket, enbAddress, sgwAddress, cellIds.at (0)); |
enb->AddApplication (enbApp); |
NS_ASSERT (enb->GetNApplications () == 1); |
NS_ASSERT_MSG (enb->GetApplication (0)->GetObject<EpcEnbApplication> () != 0, "cannot retrieve EpcEnbApplication"); |
@@ -229,8 +229,8 @@ |
enb->AggregateObject (x2); |
NS_LOG_INFO ("connect S1-AP interface"); |
- m_mme->AddEnb (cellId, enbAddress, enbApp->GetS1apSapEnb ()); |
- m_sgwPgwApp->AddEnb (cellId, enbAddress, sgwAddress); |
+ m_mme->AddEnb (cellIds, enbAddress, enbApp->GetS1apSapEnb ()); |
+ m_sgwPgwApp->AddEnb (cellIds, enbAddress, sgwAddress); |
enbApp->SetS1apSapMme (m_mme->GetS1apSapMme ()); |
} |
@@ -266,16 +266,16 @@ |
// Add X2 interface to both eNBs' X2 entities |
Ptr<EpcX2> enb1X2 = enb1->GetObject<EpcX2> (); |
Ptr<LteEnbNetDevice> enb1LteDev = enb1->GetDevice (0)->GetObject<LteEnbNetDevice> (); |
- uint16_t enb1CellId = enb1LteDev->GetCellId (); |
- NS_LOG_LOGIC ("LteEnbNetDevice #1 = " << enb1LteDev << " - CellId = " << enb1CellId); |
+ std::vector<uint16_t> enb1CellIds = enb1LteDev->GetCellIds (); |
+ NS_LOG_LOGIC ("LteEnbNetDevice #1 = " << enb1LteDev << " - CellId = " << enb1CellIds.at (0)); |
Ptr<EpcX2> enb2X2 = enb2->GetObject<EpcX2> (); |
Ptr<LteEnbNetDevice> enb2LteDev = enb2->GetDevice (0)->GetObject<LteEnbNetDevice> (); |
- uint16_t enb2CellId = enb2LteDev->GetCellId (); |
- NS_LOG_LOGIC ("LteEnbNetDevice #2 = " << enb2LteDev << " - CellId = " << enb2CellId); |
+ std::vector<uint16_t> enb2CellIds = enb2LteDev->GetCellIds (); |
+ NS_LOG_LOGIC ("LteEnbNetDevice #2 = " << enb2LteDev << " - CellId = " << enb2CellIds.at (0)); |
- enb1X2->AddX2Interface (enb1CellId, enb1X2Address, enb2CellId, enb2X2Address); |
- enb2X2->AddX2Interface (enb2CellId, enb2X2Address, enb1CellId, enb1X2Address); |
+ enb1X2->AddX2Interface (enb1CellIds.at (0), enb1X2Address, enb2CellIds, enb2X2Address); |
+ enb2X2->AddX2Interface (enb2CellIds.at (0), enb2X2Address, enb1CellIds, enb1X2Address); |
enb1LteDev->GetRrc ()->AddX2Neighbour (enb2LteDev->GetCellId ()); |
enb2LteDev->GetRrc ()->AddX2Neighbour (enb1LteDev->GetCellId ()); |