X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=src%2Fcu_stub%2Fcu_stub.h;h=f0b851cfbdc3e3ef6b7f94fa3bd8b1a1441f92b8;hb=87c35884595a3166121854c3ae6e6e856f004ff4;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..f0b851cfb 100644 --- a/src/cu_stub/cu_stub.h +++ b/src/cu_stub/cu_stub.h @@ -20,7 +20,7 @@ #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" @@ -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 @@ -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;