#define __CU_MGR_MAIN_H__
#define CU_ID 1
-#define CU_NAME "ORAN_OAM_CU"
+#define CU_NAME "ORAN OAM CU"
#define DU_IP_V6_ADDR "0000:0000:0000:0000:0000:0000:0000:0001"
#define CU_IP_V6_ADDR "0000:0000:0000:0000:0000:0000:0000:0011"
#ifndef O1_ENABLE
-#define DU_IP_V4_ADDR (char*[]){"192.168.130.81", "192.168.130.83"}
-#define DU_SCTP_PORT (int[]){38472, 38473}
+#define LOCAL_IP_CU "192.168.130.82"
-#define CU_IP_V4_ADDR "192.168.130.82"
-#define CU_SCTP_PORT_TO_DU (int[]){38472, 38473}
+#define F1_SCTP_PORT 38472 /* As per the spec 38.472, the registered port number for F1AP is 38472 */
+#define NUM_F1_ASSOC 1
+#define REMOTE_IP_DU (char*[]){"192.168.130.81", "192.168.130.83"}
#endif
-#define DU_EGTP_PORT (int[]){39001, 39002}
-#define CU_EGTP_PORT (int[]){39003, 39004}
+#define F1_EGTP_PORT 2152 /* As per the spec 29.281, the registered port number for GTP-U is 2152 */
#define RRC_VER 0
#define EXT_RRC_VER 5
+
#define PLMN_MCC0 3
#define PLMN_MCC1 1
#define PLMN_MCC2 1
}\
}
+#ifdef NR_DRX
+/* Set this parameter true of false as per the need to enable or disable drx of
+ * a particular UE */
+#define DRX_TO_BE_RELEASE true
+#endif
+
typedef enum
{
CELL_INACTIVE,
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;
uint32_t crnti;
uint8_t gnbDuUeF1apId;
uint8_t gnbCuUeF1apId;
+ uint16_t pdcpSn;
uint8_t numSrb;
SrbInfo srbList[MAX_NUM_SRB];
uint8_t numDrb;
DrbInfo drbList[MAX_NUM_DRB];
F1apMsgDb f1apMsgDb;
UeState state;
+#ifdef NR_DRX
+ bool drxCfgPresent;
+ DrxCfg drxCfg;
+#endif
HandoverInfo hoInfo;
}CuUeCb;