[JIRA ID- ODUHIGH-462] [ISSUE ID ODUHIGH-477] Adding support for drx configuration...
[o-du/l2.git] / src / cu_stub / cu_stub.h
index 34cef6f..fed791c 100644 (file)
@@ -33,8 +33,8 @@
 #define CU_SCTP_PORT_TO_DU (int[]){38472, 38473}
 #endif
 
-#define DU_EGTP_PORT 39001
-#define CU_EGTP_PORT 39002
+#define DU_EGTP_PORT  (int[]){39001, 39002}
+#define CU_EGTP_PORT (int[]){39003, 39004}
 #define RRC_VER 0
 #define EXT_RRC_VER 5
 #define PLMN_MCC0 3
@@ -122,7 +122,7 @@ typedef struct cuCfgParams
    char             cuName[CU_DU_NAME_LEN_MAX];
    CuSctpParams     sctpParams;
    Plmn             plmn;
-   EgtpParams       egtpParams;
+   CuEgtpParams     egtpParams;
    RrcVersion       rrcVersion;
 }CuCfgParams;
 
@@ -252,6 +252,45 @@ typedef struct drbInfo
 
 typedef struct cuCellCb CuCellCb;
 
+#ifdef NR_DRX
+/* The following list of structures is taken from the DRX-Config section of specification 33.331. */
+typedef struct drxOnDurationTimer
+{
+   bool  onDurationTimerValInMs;
+   union
+   {
+      uint8_t  subMilliSeconds;
+      uint16_t milliSeconds;
+   }onDurationtimerValue;
+}DrxOnDurationTimer;
+
+typedef struct drxLongCycleStartOffset
+{
+   uint16_t drxLongCycleStartOffsetChoice;
+   uint16_t drxLongCycleStartOffsetVal;
+}DrxLongCycleStartOffset;
+
+typedef struct shortDrx
+{
+   uint16_t   drxShortCycle;
+   uint8_t    drxShortCycleTimer;
+}ShortDrx;
+
+typedef struct drxCfg
+{
+   DrxOnDurationTimer       drxOnDurationTimer;
+   uint16_t                 drxInactivityTimer;
+   uint8_t                  drxHarqRttTimerDl;
+   uint8_t                  drxHarqRttTimerUl;
+   uint16_t                 drxRetransmissionTimerDl;
+   uint16_t                 drxRetransmissionTimerUl;
+   DrxLongCycleStartOffset  drxLongCycleStartOffset;
+   bool                     shortDrxPres;
+   ShortDrx                 shortDrx;
+   uint8_t                  drxSlotOffset;
+}DrxCfg;
+#endif
+
 typedef struct cuUeCb
 {
    CuCellCb  *cellCb;
@@ -264,6 +303,9 @@ typedef struct cuUeCb
    DrbInfo   drbList[MAX_NUM_DRB];
    F1apMsgDb f1apMsgDb;
    UeState   state;
+#ifdef NR_DRX
+   DrxCfg    drxCfg;
+#endif
    HandoverInfo hoInfo;
 }CuUeCb;