X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=src%2Fdu_app%2Fdu_mgr.h;h=a02ec5c0b0898646e1e322789afa4be2e2b481bd;hb=0a26c487f1b6bbb5217e47b15fa8273b2e749283;hp=6fb3cc95b04464cd9e04602b4ba220225a70306f;hpb=392607b7a8cbf1b7415b15517275dd1ef4e897a9;p=o-du%2Fl2.git diff --git a/src/du_app/du_mgr.h b/src/du_app/du_mgr.h index 6fb3cc95b..a02ec5c0b 100644 --- a/src/du_app/du_mgr.h +++ b/src/du_app/du_mgr.h @@ -21,30 +21,6 @@ #define __DU_MGR_H__ #define DU_PROC 0 -/* Memory related configs */ -#define DU_APP_MEM_REGION 0 -#define RLC_UL_MEM_REGION 1 -#define RLC_DL_MEM_REGION 4 -#define MAC_MEM_REGION 4 - -#define DU_POOL 1 -#define RLC_POOL 1 -#define RG_POOL 1 - -/* Events */ -#define EVTCFG 0 -#define EVTSCTPSTRT 1 -#define EVENT_CU_DATA 2 -#define EVENT_SCTP_NTFY 3 -#define EVTSRVOPENREQ 4 -#define EVTSRVOPENCFM 5 -#define EVTTNLMGMTREQ 6 -#define EVTTNLMGMTCFM 7 -#define EVTSLOTIND 8 -#define EVTSTARTPOLL 9 -#define EVENT_RIC_DATA 10 - - /* SAP IDs */ #define DU_MAC_SUID 0 #define DU_MAC_SPID 0 @@ -79,52 +55,7 @@ #define MAC_CONFIGURED (MAC_GEN_CFG | MAC_SAP_CFG) #define DU_SET_ZERO(_buf, _size) \ - cmMemset((U8 *)(_buf), 0, _size); - -/* allocate and zero out a static buffer */ -#define DU_ALLOC(_datPtr, _size) \ -{ \ - S16 _ret; \ - _ret = SGetSBuf(DU_APP_MEM_REGION, DU_POOL, \ - (Data **)&_datPtr, _size); \ - if(_ret == ROK) \ - cmMemset((U8*)_datPtr, 0, _size); \ - else \ - _datPtr = NULLP; \ -} - -/* free a static buffer */ -#define DU_FREE(_datPtr, _size) \ - if(_datPtr) \ - SPutSBuf(DU_APP_MEM_REGION, DU_POOL, \ - (Data *)_datPtr, _size); - -/* Allocate shared memory to be used for LWLC - * during inter-layer communication */ -#define DU_ALLOC_SHRABL_BUF(_buf, _size) \ -{ \ - if(SGetStaticBuffer(DU_APP_MEM_REGION, DU_POOL, \ - (Data **)&_buf, (Size) _size, 0) == ROK) \ - { \ - cmMemset((U8 *)(_buf), 0, _size); \ - } \ - else \ - { \ - (_buf) = NULLP; \ - } \ -} - -/* Free shared memory, received through LWLC */ -#define DU_FREE_SHRABL_BUF(_region, _pool,_buf, _size) \ -{ \ - if (_buf != NULLP) \ - { \ - (Void) SPutStaticBuffer(_region, _pool, \ - (Data *) _buf, (Size) _size, 0); \ - _buf = NULLP; \ - } \ -} - + memset((uint8_t *)(_buf), 0, _size); typedef enum { @@ -137,16 +68,16 @@ typedef enum typedef enum { UE_INACTIVE, - UE_ACTIVE + UE_ACTIVE }UeState; typedef struct cellCfgParams { NrEcgi nrEcgi; /* ECGI */ - U16 nrPci; /* PCI */ - U16 fiveGsTac; /* 5gSTac */ + uint16_t nrPci; /* PCI */ + uint16_t fiveGsTac; /* 5gSTac */ Plmn plmn[MAX_PLMN]; /* List of serving PLMN IDs */ - U32 maxUe; /* max UE per slot */ + uint32_t maxUe; /* max UE per slot */ }CellCfgParams; typedef struct duUeCb @@ -155,16 +86,17 @@ typedef struct duUeCb uint32_t gnbCuUeF1apId; /* GNB CU UE F1AP ID */ UeState ueState; MacUeCfg macUeCfg; + RlcUeCfg rlcUeCfg; }DuUeCb; typedef struct duCellCb { uint16_t cellId; /* Internal cell Id */ CellCfgParams cellInfo; /* Cell info */ - Bool firstSlotIndRcvd; + bool firstSlotIndRcvd; CellStatus cellStatus; /* Cell status */ uint32_t numActvUes; /* Total Active UEs */ - DuUeCb ueCb[DU_MAX_UE]; /* UE CONTEXT */ + DuUeCb ueCb[MAX_NUM_UE]; /* UE CONTEXT */ }DuCellCb; typedef struct duLSapCb @@ -175,8 +107,8 @@ typedef struct duLSapCb State sapState; Mem mem; CmTimer timer; - U8 bndRetryCnt; - U8 maxBndRetry; + uint8_t bndRetryCnt; + uint8_t maxBndRetry; TmrCfg bndTmr; }DuLSapCb; @@ -194,16 +126,16 @@ typedef struct duCb Mem mem; /* Memory configs */ TskInit init; /* DU Init */ //DuLSapCb **macSap; /* MAC SAP */ - Bool f1Status; /* Status of F1 connection */ - Bool e2Status; /* Status of E2 connection */ + bool f1Status; /* Status of F1 connection */ + bool e2Status; /* Status of E2 connection */ uint8_t numCfgCells; - DuCellCb* cfgCellLst[DU_MAX_CELLS]; /* List of cells at DU APP of type DuCellCb */ + DuCellCb* cfgCellLst[MAX_NUM_CELL]; /* List of cells at DU APP of type DuCellCb */ uint8_t numActvCells; - DuCellCb* actvCellLst[DU_MAX_CELLS]; /* List of cells activated/to be activated of type DuCellCb */ + DuCellCb* actvCellLst[MAX_NUM_CELL]; /* List of cells activated/to be activated of type DuCellCb */ /* pointer to store the address of macCellCfg params used to send du-app to MAC */ MacCellCfg *duMacCellCfg; /* pointer to store params while sending DU-APP to MAC */ uint32_t numUe; /* current number of UEs */ - UeCcchCtxt ueCcchCtxt[DU_MAX_UE]; /* mapping of gnbDuUeF1apId to CRNTI required for CCCH processing*/ + UeCcchCtxt ueCcchCtxt[MAX_NUM_UE]; /* mapping of gnbDuUeF1apId to CRNTI required for CCCH processing*/ }DuCb; @@ -220,7 +152,7 @@ typedef struct duLSapCfg Route dstRoute; Selector dstSel; Mem mem; - U8 maxBndRetry; + uint8_t maxBndRetry; TmrCfg bndTmr; TmrCfg connTmr; }DuLSapCfg; @@ -230,41 +162,40 @@ DuCb duCb; //DuCfgParams duCfgParam; /* DU Cell Functions */ -S16 duActvInit(Ent entity, Inst inst, Region region, Reason reason); -S16 duActvTsk(Pst *pst, Buffer *mBuf); -S16 duSendRlcUlCfg(); -S16 duSendRlcDlCfg(); -S16 duBuildRlcCfg(Inst inst); -S16 duBuildRlcLsapCfg(Ent ent, Inst inst, U8 lsapInst); -S16 duBuildRlcUsapCfg(U8 elemId, Ent ent, Inst inst); -S16 duHdlRlcCfgComplete(Pst *pst, KwMngmt *cfm); -S16 duHdlRlcCntrlCfgComplete(Pst *pst, KwMngmt *cfm); -S16 duProcRlcUlCfgComplete(Pst *pst, KwMngmt *cfm); -S16 duProcRlcDlCfgComplete(Pst *pst, KwMngmt *cfm); -S16 duSendMacCfg(); -S16 duBuildMacGenCfg(); -S16 duBuildMacUsapCfg(SpId sapId); -S16 duHdlMacCfgComplete(Pst *pst, RgMngmt *cfm); -S16 duBindUnbindRlcToMacSap(U8 inst, U8 action); -S16 duProcCfgComplete(); -S16 duSendSchCfg(); -S16 duSctpStartReq(); -S16 duSctpNtfyHdl(Buffer *mBuf, CmInetSctpNotification *ntfy); - -S16 duBuildEgtpCfgReq(); -S16 duHdlEgtpCfgComplete(CmStatus cfm); -S16 duSendEgtpSrvOpenReq(); -S16 duHdlEgtpSrvOpenComplete(CmStatus cfm); -S16 duSendEgtpTnlMgmtReq(U8 action, U32 lclTeid, U32 remTeid); -S16 duHdlEgtpTnlMgmtCfm(EgtpTnlEvt tnlEvtCfm); -S16 duSendEgtpTestData(); -S16 duSendEgtpDatInd(Buffer *mBuf); -S16 duHdlSchCfgComplete(Pst *pst, RgMngmt *cfm); -uint16_t duBuildAndSendMacCellStartReq(); -uint16_t duBuildAndSendMacCellStopReq(); - +uint8_t duActvInit(Ent entity, Inst inst, Region region, Reason reason); +uint8_t duActvTsk(Pst *pst, Buffer *mBuf); +uint8_t duSendRlcUlCfg(); +uint8_t duSendRlcDlCfg(); +uint8_t duBuildRlcCfg(Inst inst); +uint8_t duBuildRlcLsapCfg(Ent ent, Inst inst, uint8_t lsapInst); +uint8_t duBuildRlcUsapCfg(uint8_t elemId, Ent ent, Inst inst); +uint8_t DuHdlRlcCfgComplete(Pst *pst, RlcMngmt *cfm); +uint8_t duHdlRlcCntrlCfgComplete(Pst *pst, RlcMngmt *cfm); +uint8_t duProcRlcUlCfgComplete(Pst *pst, RlcMngmt *cfm); +uint8_t duProcRlcDlCfgComplete(Pst *pst, RlcMngmt *cfm); +uint8_t duSendMacCfg(); +uint8_t duBuildMacGenCfg(); +uint8_t duBuildMacUsapCfg(SpId sapId); +uint8_t duHdlMacCfgComplete(Pst *pst, RgMngmt *cfm); +uint8_t duBindUnbindRlcToMacSap(uint8_t inst, uint8_t action); +uint8_t duProcCfgComplete(); +uint8_t duSendSchCfg(); +uint8_t duSctpStartReq(); +uint8_t duSctpNtfyHdl(Buffer *mBuf, CmInetSctpNotification *ntfy); + +uint8_t duBuildEgtpCfgReq(); +uint8_t duHdlEgtpCfgComplete(CmStatus cfm); +uint8_t duSendEgtpSrvOpenReq(); +uint8_t duHdlEgtpSrvOpenComplete(CmStatus cfm); +uint8_t duSendEgtpTnlMgmtReq(uint8_t action, uint32_t lclTeid, uint32_t remTeid); +uint8_t duHdlEgtpTnlMgmtCfm(EgtpTnlEvt tnlEvtCfm); +uint8_t duSendEgtpTestData(); +uint8_t duSendEgtpDatInd(Buffer *mBuf); +uint8_t duHdlSchCfgComplete(Pst *pst, RgMngmt *cfm); +uint8_t duBuildAndSendMacCellStartReq(); +uint8_t duBuildAndSendMacCellStopReq(); #endif /********************************************************************** - End of file -**********************************************************************/ + End of file + **********************************************************************/