X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=src%2Fcu_stub%2Fcu_stub.h;h=4c51a82f891f52e750e057a2e28feea7da54b24d;hb=7bbfb856ac535a1d45ebdf9d37bb3ffc5e7a83dc;hp=34cef6f77477a9440dc62c0b56d153df025ded6f;hpb=84bdaa05da864fda46bbbdd184963787a827d0ab;p=o-du%2Fl2.git diff --git a/src/cu_stub/cu_stub.h b/src/cu_stub/cu_stub.h index 34cef6f77..4c51a82f8 100644 --- a/src/cu_stub/cu_stub.h +++ b/src/cu_stub/cu_stub.h @@ -20,23 +20,23 @@ #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 39001 -#define CU_EGTP_PORT 39002 +#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 @@ -95,6 +95,12 @@ }\ } +#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, @@ -122,7 +128,7 @@ typedef struct cuCfgParams char cuName[CU_DU_NAME_LEN_MAX]; CuSctpParams sctpParams; Plmn plmn; - EgtpParams egtpParams; + CuEgtpParams egtpParams; RrcVersion rrcVersion; }CuCfgParams; @@ -252,18 +258,62 @@ 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; 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;