--- a/src/lte/model/epc-x2-sap.h Fri Dec 07 11:56:53 2012 +0100
+++ b/src/lte/model/epc-x2-sap.h Fri Dec 14 13:22:47 2012 +0100
@@ -315,6 +315,20 @@
std::vector <CellMeasurementResultItem> cellMeasurementResultList;
};
+ /**
+ * \brief Parameters of the UE DATA primitive
+ *
+ * Forward UE data during the handover procedure from source eNB (sourceCellId)
+ * to target eNB (targetCellId) using a GTP-U tunnel (gtpTeid)
+ */
+ struct UeDataParams
+ {
+ uint16_t sourceCellId;
+ uint16_t targetCellId;
+ uint32_t gtpTeid;
+ Ptr<Packet> ueData;
+ };
+
};
@@ -344,6 +358,8 @@
virtual void SendLoadInformation (LoadInformationParams params) = 0;
virtual void SendResourceStatusUpdate (ResourceStatusUpdateParams params) = 0;
+
+ virtual void SendUeData (UeDataParams params) = 0;
};
@@ -373,6 +389,8 @@
virtual void RecvLoadInformation (LoadInformationParams params) = 0;
virtual void RecvResourceStatusUpdate (ResourceStatusUpdateParams params) = 0;
+
+ virtual void RecvUeData (UeDataParams params) = 0;
};
///////////////////////////////////////
@@ -401,6 +419,8 @@
virtual void SendResourceStatusUpdate (ResourceStatusUpdateParams params);
+ virtual void SendUeData (UeDataParams params);
+
private:
EpcX2SpecificEpcX2SapProvider ();
C* m_x2;
@@ -466,6 +486,13 @@
m_x2->DoSendResourceStatusUpdate (params);
}
+template <class C>
+void
+EpcX2SpecificEpcX2SapProvider<C>::SendUeData (UeDataParams params)
+{
+ m_x2->DoSendUeData (params);
+}
+
///////////////////////////////////////
template <class C>
@@ -492,6 +519,8 @@
virtual void RecvResourceStatusUpdate (ResourceStatusUpdateParams params);
+ virtual void RecvUeData (UeDataParams params);
+
private:
EpcX2SpecificEpcX2SapUser ();
C* m_rrc;
@@ -557,6 +586,13 @@
m_rrc->DoRecvResourceStatusUpdate (params);
}
+template <class C>
+void
+EpcX2SpecificEpcX2SapUser<C>::RecvUeData (UeDataParams params)
+{
+ m_rrc->DoRecvUeData (params);
+}
+
} // namespace ns3
#endif // EPC_X2_SAP_H