Add CellId info to X2 SAP
authorManuel Requena <manuel.requena@cttc.es>
Wed, 27 Jun 2012 17:02:45 +0200
changeset 9327 6f8d10f0fb94
parent 9326 1cc7eb255f08
child 9328 26884ced581e
Add CellId info to X2 SAP
src/lte/model/epc-x2-sap.h
src/lte/model/lte-enb-rrc.cc
src/lte/model/lte-ue-net-device.cc
--- 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"