X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=src%2F5gnrrlc%2Fkw_udx_ul.c;h=3113df8c390b50fa9d954f88d8f306e86f4785c9;hb=4d45b914f9e94203603d3b9fdbcb1aad361301dd;hp=c6e9cbc93aa41fef916e8ac414c5ced5e2ce06b7;hpb=5625a52ad68f6ad93684e68bbbdbaef0d462cf9a;p=o-du%2Fl2.git diff --git a/src/5gnrrlc/kw_udx_ul.c b/src/5gnrrlc/kw_udx_ul.c index c6e9cbc93..3113df8c3 100755 --- a/src/5gnrrlc/kw_udx_ul.c +++ b/src/5gnrrlc/kw_udx_ul.c @@ -36,18 +36,7 @@ static int RLOG_FILE_ID=204; */ /* header include files (.h) */ -#include "envopt.h" /* environment options */ -#include "envdep.h" /* environment dependent */ -#include "envind.h" /* environment independent */ - -#include "gen.h" /* general */ -#include "ssi.h" /* system services */ -#include "cm5.h" /* common timer defines */ -#include "cm_tkns.h" /* common tokens defines */ -#include "cm_mblk.h" /* common memory allocation library defines */ -#include "cm_llist.h" /* common link list defines */ -#include "cm_hash.h" /* common hash list defines */ -#include "cm_lte.h" /* common LTE defines */ +#include "common_def.h" #include "lkw.h" /* LKW defines */ #include "ckw.h" /* CKW defines */ #include "kwu.h" /* KWU defines */ @@ -61,16 +50,6 @@ static int RLOG_FILE_ID=204; #include "kw_dl.h" /* extern (.x) include files */ -#include "gen.x" /* general */ -#include "ssi.x" /* system services */ - -#include "cm5.x" /* common timer library */ -#include "cm_tkns.x" /* common tokens */ -#include "cm_mblk.x" /* common memory allocation */ -#include "cm_llist.x" /* common link list */ -#include "cm_hash.x" /* common hash list */ -#include "cm_lte.x" /* common LTE includes */ -#include "cm_lib.x" /* common memory allocation library */ #include "lkw.x" /* LKW */ #include "ckw.x" /* CKW */ #include "kwu.x" /* KWU */ @@ -81,6 +60,9 @@ static int RLOG_FILE_ID=204; #include "kw_dl.x" #include "kw_ul.x" +#include "rlc.h" +#include "du_app_rlc_inf.h" +#include "rlc_mgr.h" #define KW_MODULE KW_DBGMASK_UDX /* local defines */ @@ -90,8 +72,8 @@ static int RLOG_FILE_ID=204; /* forward references */ /* public variable declarations */ -EXTERN S16 kwHdlCkwUlCfgReq ARGS((KwCb *gCb,KwUlCfgTmpData *cfgTmpData, - CkwCfgCfmInfo *cfmInfo, CkwCfgCfmInfo *cfgCfm)); +EXTERN S16 kwHdlCrlcUlCfgReq ARGS((RlcCb *gCb,RlcUlCfgTmpData *cfgTmpData, + RlcCfgCfmInfo *cfmInfo, RlcCfgCfmInfo *cfgCfm)); /** * @brief @@ -115,14 +97,14 @@ EXTERN S16 kwHdlCkwUlCfgReq ARGS((KwCb *gCb,KwUlCfgTmpData *cfgTmpData, */ #ifdef ANSI -PUBLIC S16 KwUlUdxBndCfm +PUBLIC S16 rlcUlUdxBndCfm ( Pst *pst, SuId suId, U8 status ) #else -PUBLIC S16 KwUlUdxBndCfm (pst, suId, status) +PUBLIC S16 rlcUlUdxBndCfm (pst, suId, status) Pst *pst; SuId suId; U8 status; @@ -131,44 +113,44 @@ U8 status; U16 event; U16 cause; KwUdxUlSapCb *udxSap; /* RGU SAP Control Block */ - KwCb *tKwCb; + RlcCb *tRlcCb; - TRC3(KwUlUdxBndCfm) + TRC3(rlcUlUdxBndCfm) #if (ERRCLASS & ERRCLS_INT_PAR) - if (pst->dstInst >= KW_MAX_RLC_INSTANCES) + if (pst->dstInst >= MAX_RLC_INSTANCES) { - RETVALUE (RFAILED); + return (RFAILED); } #endif - tKwCb = KW_GET_KWCB(pst->dstInst); + tRlcCb = RLC_GET_RLCCB(pst->dstInst); - KWDBGP_BRIEF(tKwCb, "KwUlUdxBndCfm(post, suId(%d), status(%d)\n", + KWDBGP_BRIEF(tRlcCb, "rlcUlUdxBndCfm(post, suId(%d), status(%d)\n", suId, status); #if (ERRCLASS & ERRCLS_INT_PAR) - if (tKwCb->init.cfgDone != TRUE) + if (tRlcCb->init.cfgDone != TRUE) { RLOG0(L_FATAL, "General configuration not done"); - KW_SEND_SAPID_ALARM(tKwCb,suId, + KW_SEND_SAPID_ALARM(tRlcCb,suId, LKW_EVENT_LI_BND_CFM, LCM_CAUSE_INV_STATE); - RETVALUE(RFAILED); + return RFAILED; } if (suId < 0) { RLOG0(L_ERROR, "Invalid suId"); - KW_SEND_SAPID_ALARM(tKwCb,suId, + KW_SEND_SAPID_ALARM(tRlcCb,suId, LKW_EVENT_LI_BND_CFM, LCM_CAUSE_INV_SUID); - RETVALUE(RFAILED); + return RFAILED; } #endif /* ERRCLASS & ERRCLS_INT_PAR */ - udxSap = tKwCb->u.ulCb->udxUlSap + suId; + udxSap = tRlcCb->u.ulCb->udxUlSap + suId; - KWDBGP_DETAIL(tKwCb, "KwLiRguBndCfm: For RGU SAP state=%d\n", + KWDBGP_DETAIL(tRlcCb, "KwLiRguBndCfm: For RGU SAP state=%d\n", udxSap->state); /* Check rguSap state */ @@ -176,9 +158,9 @@ U8 status; { case KW_SAP_BINDING: { - if(TRUE == kwChkTmr(tKwCb,(PTR)udxSap,KW_EVT_WAIT_BNDCFM)) + if(TRUE == kwChkTmr(tRlcCb,(PTR)udxSap,KW_EVT_WAIT_BNDCFM)) { - kwStopTmr (tKwCb,(PTR)udxSap, KW_EVT_WAIT_BNDCFM); + kwStopTmr (tRlcCb,(PTR)udxSap, KW_EVT_WAIT_BNDCFM); } udxSap->retryCnt = 0; @@ -203,9 +185,9 @@ U8 status; break; } /* Send an alarm with proper event and cause */ - KW_SEND_SAPID_ALARM(tKwCb,suId, event, cause); + KW_SEND_SAPID_ALARM(tRlcCb,suId, event, cause); - RETVALUE(ROK); + return ROK; } /** @@ -224,98 +206,100 @@ U8 status; * -# RFAILED */ #ifdef ANSI -PUBLIC S16 KwUlUdxCfgCfm +PUBLIC S16 rlcUlUdxCfgCfm ( Pst *pst, SuId suId, -CkwCfgCfmInfo *cfmInfo +RlcCfgCfmInfo *cfmInfo ) #else -PUBLIC S16 KwUlUdxCfgCfm (pst, suId, cfmInfo) +PUBLIC S16 rlcUlUdxCfgCfm (pst, suId, cfmInfo) Pst *pst; SuId suId; -CkwCfgCfmInfo *cfmInfo; +RlcCfgCfmInfo *cfmInfo; #endif { - KwCb *tKwCb; - CkwCfgCfmInfo *cfgCfm; - KwUlCfgTmpData *cfgTmpData; + RlcCb *tRlcCb; + RlcCfgCfmInfo *cfgCfm; + RlcUlCfgTmpData *cfgTmpData; + Pst rspPst; + memset(&rspPst, 0, sizeof(Pst)); - TRC3(KwUlUdxCfgCfm) + TRC3(rlcUlUdxCfgCfm) #if (ERRCLASS & ERRCLS_INT_PAR) - if (pst->dstInst >= KW_MAX_RLC_INSTANCES) + if (pst->dstInst >= MAX_RLC_INSTANCES) { - KW_FREE_SHRABL_BUF(pst->region, + RLC_FREE_SHRABL_BUF(pst->region, pst->pool, cfmInfo, - sizeof(CkwCfgCfmInfo)); - RETVALUE (RFAILED); + sizeof(RlcCfgCfmInfo)); + return (RFAILED); } #endif - tKwCb = KW_GET_KWCB(pst->dstInst); - KWDBGP_BRIEF(tKwCb, " suId(%d)\n", suId); + tRlcCb = RLC_GET_RLCCB(pst->dstInst); + KWDBGP_BRIEF(tRlcCb, " suId(%d)\n", suId); #if (ERRCLASS & ERRCLS_INT_PAR) if (suId < 0) { RLOG0(L_ERROR, "Invalid suId"); - KW_SEND_SAPID_ALARM(tKwCb,suId, + KW_SEND_SAPID_ALARM(tRlcCb,suId, LKW_EVENT_LI_BND_CFM, LCM_CAUSE_INV_SUID); - KW_FREE_SHRABL_BUF(pst->region, + RLC_FREE_SHRABL_BUF(pst->region, pst->pool, cfmInfo, - sizeof(CkwCfgCfmInfo)); - RETVALUE(RFAILED); + sizeof(RlcCfgCfmInfo)); + return RFAILED; } #endif /* ERRCLASS & ERRCLS_INT_PAR */ - if(ROK != kwDbmFindUlTransaction(tKwCb,cfmInfo->transId, &cfgTmpData)) + if(ROK != kwDbmFindUlTransaction(tRlcCb,cfmInfo->transId, &cfgTmpData)) { RLOG0(L_ERROR, "Invalid transId"); - KW_FREE_SHRABL_BUF(pst->region, + RLC_FREE_SHRABL_BUF(pst->region, pst->pool, cfmInfo, - sizeof(CkwCfgCfmInfo)); - RETVALUE (RFAILED); + sizeof(RlcCfgCfmInfo)); + return (RFAILED); } - if(ROK != kwDbmDelUlTransaction(tKwCb, cfgTmpData)) + if(ROK != kwDbmDelUlTransaction(tRlcCb, cfgTmpData)) { - KW_FREE_SHRABL_BUF(pst->region, + RLC_FREE_SHRABL_BUF(pst->region, pst->pool, cfmInfo, - sizeof(CkwCfgCfmInfo)); - RETVALUE(RFAILED); + sizeof(RlcCfgCfmInfo)); + return RFAILED; } /* Allocate memory and memset to 0 for cfmInfo */ - KW_ALLOC(tKwCb,cfgCfm, sizeof(CkwCfgCfmInfo)); + RLC_ALLOC(tRlcCb,cfgCfm, sizeof(RlcCfgCfmInfo)); #if (ERRCLASS & ERRCLS_ADD_RES) if (cfgCfm == NULLP) { RLOG0(L_FATAL, "Memory Allocation failed."); - KW_FREE_SHRABL_BUF(pst->region, + RLC_FREE_SHRABL_BUF(pst->region, pst->pool, cfmInfo, - sizeof(CkwCfgCfmInfo)); - RETVALUE(RFAILED); + sizeof(RlcCfgCfmInfo)); + return RFAILED; } #endif /* ERRCLASS & ERRCLS_ADD_RES */ - kwHdlCkwUlCfgReq(tKwCb,cfgTmpData, cfmInfo, cfgCfm); - KwUiCkwCfgCfm(&(tKwCb->u.ulCb->ckwSap.pst), - tKwCb->u.ulCb->ckwSap.suId , cfgCfm); + kwHdlCrlcUlCfgReq(tRlcCb,cfgTmpData, cfmInfo, cfgCfm); + FILL_PST_RLC_TO_DUAPP(rspPst, tRlcCb->genCfg.lmPst.dstProcId, RLC_UL_INST, EVENT_RLC_UL_UE_CREATE_RSP); + SendRlcUlUeCreateRspToDu(&rspPst, cfgCfm); /* free the memory from DL */ - KW_FREE_SHRABL_BUF(pst->region, + RLC_FREE_SHRABL_BUF(pst->region, pst->pool, cfmInfo, - sizeof(CkwCfgCfmInfo)); + sizeof(RlcCfgCfmInfo)); /* free the cfgInfo that came from LM */ - KW_PST_FREE(pst->region, pst->pool, cfgTmpData->cfgInfo, sizeof(CkwCfgInfo)); - KW_FREE(tKwCb,cfgTmpData,sizeof(KwUlCfgTmpData)); + RLC_PST_FREE(pst->region, pst->pool, cfgTmpData->cfgInfo, sizeof(RlcCfgInfo)); + RLC_FREE(tRlcCb,cfgTmpData,sizeof(RlcUlCfgTmpData)); - RETVALUE(ROK); + return ROK; } /** @@ -335,7 +319,7 @@ CkwCfgCfmInfo *cfmInfo; */ #ifdef ANSI -PUBLIC S16 KwUlUdxUeIdChgCfm +PUBLIC S16 rlcUlUdxUeIdChgCfm ( Pst *pst, SuId suId, @@ -343,62 +327,62 @@ U32 transId, CmStatus status ) #else -PUBLIC S16 KwUlUdxUeIdChgCfm (pst, suId, cfmInfo) +PUBLIC S16 rlcUlUdxUeIdChgCfm (pst, suId, cfmInfo) Pst *pst; SuId suId; U32 transId; CmStatus status; #endif { - KwCb *tKwCb; - KwUlCfgTmpData *cfgTmpData; + RlcCb *tRlcCb; + RlcUlCfgTmpData *cfgTmpData; - TRC3(KwUlUdxUeIdChgCfm) + TRC3(rlcUlUdxUeIdChgCfm) #if (ERRCLASS & ERRCLS_INT_PAR) - if (pst->dstInst >= KW_MAX_RLC_INSTANCES) + if (pst->dstInst >= MAX_RLC_INSTANCES) { - RETVALUE (RFAILED); + return (RFAILED); } #endif - tKwCb = KW_GET_KWCB(pst->dstInst); + tRlcCb = RLC_GET_RLCCB(pst->dstInst); - KWDBGP_BRIEF(tKwCb, " suId(%d) \n", suId); + KWDBGP_BRIEF(tRlcCb, " suId(%d) \n", suId); #if (ERRCLASS & ERRCLS_INT_PAR) if (suId < 0) { RLOG0(L_ERROR, "Invalid suId"); - RETVALUE(RFAILED); + return RFAILED; } #endif /* ERRCLASS & ERRCLS_INT_PAR */ - if(ROK != kwDbmFindUlTransaction(tKwCb, transId, &cfgTmpData)) + if(ROK != kwDbmFindUlTransaction(tRlcCb, transId, &cfgTmpData)) { RLOG0(L_ERROR, "Invalid transId"); - RETVALUE (RFAILED); + return (RFAILED); } - if(ROK != kwDbmDelUlTransaction(tKwCb, cfgTmpData)) + if(ROK != kwDbmDelUlTransaction(tRlcCb, cfgTmpData)) { - RETVALUE(RFAILED); + return RFAILED; } if(status.status == CKW_CFG_CFM_OK) { if(cfgTmpData->ueCb != NULLP) { - kwCfgApplyUlUeIdChng(tKwCb, cfgTmpData->ueInfo, cfgTmpData->newUeInfo, cfgTmpData); + rlcCfgApplyUlUeIdChng(tRlcCb, cfgTmpData->ueInfo, cfgTmpData->newUeInfo, cfgTmpData); } } - KwUiCkwUeIdChgCfm(&(tKwCb->u.ulCb->ckwSap.pst), - tKwCb->u.ulCb->ckwSap.suId, + KwUiCkwUeIdChgCfm(&(tRlcCb->u.ulCb->ckwSap.pst), + tRlcCb->u.ulCb->ckwSap.suId, transId,cfgTmpData->ueInfo,status); /* only newUeInfo needs to be freed here, ueInfo would be freed at the interface or by he receipient in case of tight coupling */ - KW_PST_FREE(pst->region, pst->pool, cfgTmpData->newUeInfo, sizeof(CkwUeInfo)); - KW_FREE_WC(tKwCb, cfgTmpData, sizeof (KwUlCfgTmpData)); - RETVALUE(ROK); + RLC_PST_FREE(pst->region, pst->pool, cfgTmpData->newUeInfo, sizeof(CkwUeInfo)); + RLC_FREE_WC(tRlcCb, cfgTmpData, sizeof (RlcUlCfgTmpData)); + return ROK; } /** @@ -412,36 +396,36 @@ CmStatus status; * -# ROK * -# RFAILED */ -PUBLIC S16 KwUlUdxStaProhTmrStart +PUBLIC S16 rlcUlUdxStaProhTmrStart ( Pst* pst, SuId suId, CmLteRlcId *rlcId ) { - KwCb *tKwCb= NULLP; - KwUlRbCb *rbCb; + RlcCb *tRlcCb= NULLP; + RlcUlRbCb *rbCb; #if (ERRCLASS & ERRCLS_INT_PAR) - if (pst->dstInst >= KW_MAX_RLC_INSTANCES) + if (pst->dstInst >= MAX_RLC_INSTANCES) { - RETVALUE (RFAILED); + return (RFAILED); } #endif - tKwCb = KW_GET_KWCB(pst->dstInst); + tRlcCb = RLC_GET_RLCCB(pst->dstInst); - kwDbmFetchUlRbCbByRbId(tKwCb, rlcId, &rbCb); + kwDbmFetchUlRbCbByRbId(tRlcCb, rlcId, &rbCb); if (rbCb == NULLP) { RLOG_ARG2(L_ERROR, DBG_UEID,rlcId->ueId, "CellId [%u]:RbId[%d] not found", rlcId->cellId,rlcId->rbId); - RETVALUE(RFAILED); + return RFAILED; } /* Start staProhTmr */ - kwStartTmr(tKwCb,(PTR)rbCb, KW_EVT_AMUL_STA_PROH_TMR); + kwStartTmr(tRlcCb,(PTR)rbCb, KW_EVT_AMUL_STA_PROH_TMR); - RETVALUE (ROK); + return (ROK); } /** @@ -458,22 +442,22 @@ CmLteRlcId *rlcId * -# RFAILED */ #ifdef ANSI -PUBLIC S16 kwHdlCkwUlCfgReq +PUBLIC S16 kwHdlCrlcUlCfgReq ( -KwCb *gCb, -KwUlCfgTmpData *cfgTmpData, -CkwCfgCfmInfo *cfmInfo, -CkwCfgCfmInfo *cfgCfm +RlcCb *gCb, +RlcUlCfgTmpData *cfgTmpData, +RlcCfgCfmInfo *cfmInfo, +RlcCfgCfmInfo *cfgCfm ) #else -PUBLIC S16 kwHdlCkwUlCfgReq(gCb,cfgTmpData,cfmInfo,cfmInfo) -KwCb *gCb; -KwUlCfgTmpData *cfgTmpData; -CkwCfgCfmInfo *cfmInfo; -CkwCfgCfmInfo *cfgCfm; +PUBLIC S16 kwHdlCrlcUlCfgReq(gCb,cfgTmpData,cfmInfo,cfmInfo) +RlcCb *gCb; +RlcUlCfgTmpData *cfgTmpData; +RlcCfgCfmInfo *cfmInfo; +RlcCfgCfmInfo *cfgCfm; #endif { - CkwCfgInfo *cfg; + RlcCfgInfo *cfg; U32 idx; U32 maxEnt; @@ -482,9 +466,9 @@ CkwCfgCfmInfo *cfgCfm; for (idx = 0; idx < maxEnt; idx++) { - CkwEntCfgCfmInfo *entCfgCfm; - CkwEntCfgCfmInfo *entDlCfgCfm; - CkwEntCfgInfo *entCfg; + RlcEntCfgCfmInfo *entCfgCfm; + RlcEntCfgCfmInfo *entDlCfgCfm; + RlcEntCfgInfo *entCfg; entCfg = &(cfg->entCfg[idx]); entCfgCfm = &(cfgCfm->entCfgCfm[idx]); @@ -499,29 +483,29 @@ CkwCfgCfmInfo *cfgCfm; { KW_MEM_CPY(entCfgCfm, &cfgTmpData->cfgEntData[idx].entUlCfgCfm, - sizeof(CkwEntCfgCfmInfo)); + sizeof(RlcEntCfgCfmInfo)); } else if (entCfg->dir == KW_DIR_DL) { - KW_MEM_CPY(entCfgCfm, entDlCfgCfm, sizeof(CkwEntCfgCfmInfo)); + KW_MEM_CPY(entCfgCfm, entDlCfgCfm, sizeof(RlcEntCfgCfmInfo)); } else if(entCfg->dir == KW_DIR_BOTH) { if (entDlCfgCfm->status.status != CKW_CFG_CFM_OK) { - kwCfgRollBackUlRb(gCb, + rlcCfgRollBackUlRb(gCb, cfg->ueId, &cfg->entCfg[idx], &cfgTmpData->cfgEntData[idx]); } else { - kwCfgApplyUlRb(gCb, + rlcCfgApplyUlRb(gCb, &cfg->entCfg[idx], &cfgTmpData->cfgEntData[idx], cfgTmpData); } - KW_MEM_CPY(entCfgCfm, entDlCfgCfm, sizeof(CkwEntCfgCfmInfo)); + KW_MEM_CPY(entCfgCfm, entDlCfgCfm, sizeof(RlcEntCfgCfmInfo)); } else { @@ -539,11 +523,11 @@ CkwCfgCfmInfo *cfgCfm; { KW_MEM_CPY(entCfgCfm, &cfgTmpData->cfgEntData[idx].entUlCfgCfm, - sizeof(CkwEntCfgCfmInfo)); + sizeof(RlcEntCfgCfmInfo)); } else if (entCfg->dir == KW_DIR_DL) { - KW_MEM_CPY(entCfgCfm, entDlCfgCfm, sizeof(CkwEntCfgCfmInfo)); + KW_MEM_CPY(entCfgCfm, entDlCfgCfm, sizeof(RlcEntCfgCfmInfo)); } else { @@ -552,11 +536,11 @@ CkwCfgCfmInfo *cfgCfm; /* Reestablish indication is sent from UL Instance only*/ if (entDlCfgCfm->status.status == CKW_CFG_CFM_OK) { - kwCfgApplyReEstUlRb (gCb, cfg->ueId, + rlcCfgApplyReEstUlRb (gCb, cfg->ueId, cfg->cellId, TRUE, &cfgTmpData->cfgEntData[idx]); } - KW_MEM_CPY(entCfgCfm, entDlCfgCfm, sizeof(CkwEntCfgCfmInfo)); + KW_MEM_CPY(entCfgCfm, entDlCfgCfm, sizeof(RlcEntCfgCfmInfo)); } } break; @@ -565,15 +549,15 @@ CkwCfgCfmInfo *cfgCfm; { if (cfgTmpData->cfgEntData[idx].entUlCfgCfm.status.status == CKW_CFG_CFM_OK) { - kwCfgApplyDelUlUe(gCb, cfgTmpData); + rlcCfgApplyDelUlUe(gCb, cfgTmpData); KW_MEM_CPY(entCfgCfm, &cfgTmpData->cfgEntData[idx].entUlCfgCfm, - sizeof(CkwEntCfgCfmInfo)); + sizeof(RlcEntCfgCfmInfo)); } else { KW_MEM_CPY(entCfgCfm, entDlCfgCfm, - sizeof(CkwEntCfgCfmInfo)); + sizeof(RlcEntCfgCfmInfo)); } break; } @@ -581,15 +565,15 @@ CkwCfgCfmInfo *cfgCfm; { if (cfgTmpData->cfgEntData[idx].entUlCfgCfm.status.status == CKW_CFG_CFM_OK) { - kwCfgApplyDelUlCell(gCb, cfgTmpData); + rlcCfgApplyDelUlCell(gCb, cfgTmpData); KW_MEM_CPY(entCfgCfm, &cfgTmpData->cfgEntData[idx].entUlCfgCfm, - sizeof(CkwEntCfgCfmInfo)); + sizeof(RlcEntCfgCfmInfo)); } else { KW_MEM_CPY(entCfgCfm, entDlCfgCfm, - sizeof(CkwEntCfgCfmInfo)); + sizeof(RlcEntCfgCfmInfo)); } break; } @@ -609,7 +593,7 @@ CkwCfgCfmInfo *cfgCfm; cfgCfm->cellId = cfg->cellId; cfgCfm->numEnt = cfg->numEnt; - RETVALUE(ROK); + return ROK; } #ifdef __cplusplus }