--- a/src/lte/model/epc-x2-sap.h Wed Jun 27 16:58:33 2012 +0200
+++ b/src/lte/model/epc-x2-sap.h Wed Jun 27 17:02:45 2012 +0200
@@ -41,19 +41,18 @@
struct HandoverRequestParams
{
- Ptr<Node> ueNode;
- Ptr<Node> sourceEnbNode;
- Ptr<Node> targetEnbNode;
-
- uint32_t targetCellId;
+ uint16_t cause;
+ uint16_t sourceCellId;
+ uint16_t targetCellId;
std::list<uint32_t> bearers;
Ptr<Packet> rrcContext;
};
struct HandoverRequestAckParams
{
- Ptr<Node> ueNode;
-
+ uint16_t cause;
+ uint16_t sourceCellId;
+ uint16_t targetCellId;
std::list<uint32_t> bearers;
Ptr<Packet> rrcContext;
};
@@ -84,13 +83,18 @@
struct HandoverRequestParams
{
- uint32_t targetCellId;
+ uint16_t cause;
+ uint16_t sourceCellId;
+ uint16_t targetCellId;
std::list<uint32_t> bearers;
Ptr<Packet> rrcContext;
};
struct HandoverRequestAckParams
{
+ uint16_t cause;
+ uint16_t sourceCellId;
+ uint16_t targetCellId;
std::list<uint32_t> bearers;
Ptr<Packet> rrcContext;
};
--- a/src/lte/model/lte-enb-rrc.cc Wed Jun 27 16:58:33 2012 +0200
+++ b/src/lte/model/lte-enb-rrc.cc Wed Jun 27 17:02:45 2012 +0200
@@ -28,6 +28,7 @@
#include "ns3/object-factory.h"
#include "ns3/lte-enb-rrc.h"
+#include "ns3/lte-enb-net-device.h"
#include "ns3/lte-rlc.h"
#include "ns3/lte-pdcp.h"
#include "ns3/lte-pdcp-sap.h"
@@ -47,9 +48,6 @@
namespace ns3 {
-
-
-
// ///////////////////////////
// CMAC SAP forwarder
// ///////////////////////////
@@ -459,30 +457,37 @@
LteEnbRrc::SendHandoverRequest (Ptr<Node> ueNode, Ptr<Node> sourceEnbNode, Ptr<Node> targetEnbNode)
{
NS_LOG_FUNCTION (this << ueNode << sourceEnbNode << targetEnbNode);
- NS_LOG_INFO ("Request to send HANDOVER REQUEST");
+ NS_LOG_LOGIC ("Request to send HANDOVER REQUEST");
EpcX2SapProvider::HandoverRequestParams params;
- params.ueNode = ueNode;
- params.sourceEnbNode = sourceEnbNode;
- params.targetEnbNode = targetEnbNode;
+ params.sourceCellId = sourceEnbNode->GetDevice (0)->GetObject<LteEnbNetDevice> ()->GetCellId ();
+ params.targetCellId = targetEnbNode->GetDevice (0)->GetObject<LteEnbNetDevice> ()->GetCellId ();
+
+ NS_LOG_LOGIC ("sourceCellId = " << params.sourceCellId);
+ NS_LOG_LOGIC ("targetCellId = " << params.targetCellId);
m_x2SapProvider->SendHandoverRequest (params);
}
//
-// X2-User SAP
+// X2 User SAP
//
void
LteEnbRrc::DoRecvHandoverRequest (EpcX2SapUser::HandoverRequestParams params)
{
NS_LOG_FUNCTION (this);
- NS_LOG_INFO ("Recv X2 message: HANDOVER REQUEST");
+ NS_LOG_LOGIC ("Recv X2 message: HANDOVER REQUEST");
- NS_LOG_INFO ("Send X2 message: HANDOVER REQUEST ACK");
+ NS_LOG_LOGIC ("sourceCellId = " << params.sourceCellId);
+ NS_LOG_LOGIC ("targetCellId = " << params.targetCellId);
+
+ NS_LOG_LOGIC ("Send X2 message: HANDOVER REQUEST ACK");
EpcX2SapProvider::HandoverRequestAckParams ackParams;
+ ackParams.sourceCellId = params.sourceCellId;
+ ackParams.targetCellId = params.targetCellId;
m_x2SapProvider->SendHandoverRequestAck (ackParams);
}
@@ -492,7 +497,10 @@
{
NS_LOG_FUNCTION (this);
- NS_LOG_INFO ("Recv X2 message: HANDOVER REQUEST ACK");
+ NS_LOG_LOGIC ("Recv X2 message: HANDOVER REQUEST ACK");
+
+ NS_LOG_LOGIC ("sourceCellId = " << params.sourceCellId);
+ NS_LOG_LOGIC ("targetCellId = " << params.targetCellId);
}
--- a/src/lte/model/lte-ue-net-device.cc Wed Jun 27 16:58:33 2012 +0200
+++ b/src/lte/model/lte-ue-net-device.cc Wed Jun 27 17:02:45 2012 +0200
@@ -31,7 +31,7 @@
#include "ns3/trace-source-accessor.h"
#include "ns3/pointer.h"
#include "ns3/enum.h"
-#include "lte-enb-net-device.h"
+#include "ns3/lte-enb-net-device.h"
#include "lte-ue-net-device.h"
#include "lte-ue-mac.h"
#include "lte-ue-rrc.h"