X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=src%2Fcu_stub%2Fcu_stub.h;h=f6cb5c70e3a8b16643ee6d0e8fe881105ccb9808;hb=c449cf0b0cc8794c2e2d28dcc4c9bd8b9534e697;hp=826038a4a581405c7c7b3832c71c3dfc2a1438db;hpb=00e0d895ef14b68eb6e8e50198484626c94f67b3;p=o-du%2Fl2.git diff --git a/src/cu_stub/cu_stub.h b/src/cu_stub/cu_stub.h index 826038a4a..f6cb5c70e 100644 --- a/src/cu_stub/cu_stub.h +++ b/src/cu_stub/cu_stub.h @@ -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,18 @@ }\ } +#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, + CELL_ACTIVE, + CELL_DELETION_IN_PROGRESS +}CellStatusInfo; typedef enum { @@ -116,7 +128,7 @@ typedef struct cuCfgParams char cuName[CU_DU_NAME_LEN_MAX]; CuSctpParams sctpParams; Plmn plmn; - EgtpParams egtpParams; + CuEgtpParams egtpParams; RrcVersion rrcVersion; }CuCfgParams; @@ -246,6 +258,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; @@ -258,6 +309,10 @@ typedef struct cuUeCb DrbInfo drbList[MAX_NUM_DRB]; F1apMsgDb f1apMsgDb; UeState state; +#ifdef NR_DRX + bool drxCfgPresent; + DrxCfg drxCfg; +#endif HandoverInfo hoInfo; }CuUeCb; @@ -266,6 +321,7 @@ struct cuCellCb uint32_t nrCellId; uint8_t numUe; CuUeCb *ueCb[MAX_NUM_UE]; + CellStatusInfo cellStatus; }; typedef struct duDb