X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=src%2F5gnrrlc%2Fkw_uim.c;h=39eb209950908b7a47cdd910807cdd7bf189a1c8;hb=3330932565e15a749fd5dd5039cdea2862ca51cc;hp=22765324fc21cf27f74a4be1dcb77f6f2ef9bbac;hpb=be7e4e372cc1d6f12f7af9c6b6d09a7ecedca58c;p=o-du%2Fl2.git diff --git a/src/5gnrrlc/kw_uim.c b/src/5gnrrlc/kw_uim.c index 22765324f..39eb20995 100755 --- a/src/5gnrrlc/kw_uim.c +++ b/src/5gnrrlc/kw_uim.c @@ -18,50 +18,35 @@ /********************************************************************20** - Name: LTE-RLC Layer - Upper Interface Functions + Name: NR RLC Layer - Upper Interface Functions Type: C file Desc: Source code for RLC Upper Interface Module This file contains following functions - --KwUiCkwBndReq - --KwUiCkwUbndReq - --KwUiCkwCfgReq + --RlcUiCkwBndReq + --RlcUiCkwUbndReq + --RlcProcCfgReq - --KwUiKwuBndReq - --KwUiKwuUbndReq - --KwUiKwuDatReq - --KwUiKwuDiscSduReq + --RlcUiKwuBndReq + --RlcUiKwuUbndReq + --rlcProcDlData + --RlcUiKwuDiscSduReq File: kw_uim.c **********************************************************************/ -static const char* RLOG_MODULE_NAME="UIM"; -static int RLOG_MODULE_ID=2048; -static int RLOG_FILE_ID=205; - /** * @file kw_uim.c * @brief RLC Upper Interface Module */ -#define KW_MODULE KW_DBGMASK_INF +#define RLC_MODULE RLC_DBGMASK_INF /* header (.h) include files */ -#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 */ @@ -73,16 +58,6 @@ static int RLOG_FILE_ID=205; #include "kw_udx.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 */ @@ -118,42 +93,33 @@ static int RLOG_FILE_ID=205; * -# RFAILED * */ -#ifdef ANSI -PUBLIC S16 KwUiCkwBndReq +S16 RlcUiCkwBndReq ( Pst *pst, SuId suId, SpId spId ) -#else -PUBLIC S16 KwUiCkwBndReq (pst, suId, spId) -Pst *pst; -SuId suId; -SpId spId; -#endif { - KwCkwSapCb *ckwSap; - KwCb *tKwCb; - - TRC3(KwUiCkwBndReq); + RlcCkwSapCb *ckwSap; + RlcCb *tRlcCb; #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); - RLOG2(L_DEBUG, "spId(%d), suId(%d)", spId, suId); - ckwSap = &(tKwCb->u.ulCb->ckwSap); + DU_LOG("\nDEBUG --> RLC_UL : spId(%d), suId(%d)", spId, suId); + ckwSap = &(tRlcCb->u.ulCb->ckwSap); /* Take action based on the current state of the SAP */ switch(ckwSap->state) { /* SAP is configured but not bound */ - case KW_SAP_CFG: - case KW_SAP_UBND: + case RLC_SAP_CFG: + case RLC_SAP_UBND: { /* copy bind configuration parameters in SSAP sap */ ckwSap->suId = suId; @@ -162,12 +128,12 @@ SpId spId; ckwSap->pst.dstInst = pst->srcInst; /* Update the State */ - ckwSap->state = KW_SAP_BND; + ckwSap->state = RLC_SAP_BND; - RLOG1(L_DEBUG, "KwUiCkwBndReq: state (%d)", ckwSap->state); + DU_LOG("\nDEBUG --> RLC_UL : RlcUiCkwBndReq: state (%d)", ckwSap->state); break; } - case KW_SAP_BND: + case RLC_SAP_BND: { /* Sap is already bound check source, destination Entity and * Proc Id */ @@ -176,34 +142,34 @@ SpId spId; ckwSap->pst.dstInst != pst->srcInst || ckwSap->suId != suId) { - KW_SEND_SAPID_ALARM(tKwCb, + RLC_SEND_SAPID_ALARM(tRlcCb, spId, LKW_EVENT_CKW_BND_REQ, LCM_CAUSE_INV_PAR_VAL); - RLOG0(L_ERROR, "CKW SAP already Bound"); - KwUiCkwBndCfm(&(ckwSap->pst), ckwSap->suId, CM_BND_NOK); - RETVALUE(RFAILED); + DU_LOG("\nERROR --> RLC_UL : CKW SAP already Bound"); + RlcUiCkwBndCfm(&(ckwSap->pst), ckwSap->suId, CM_BND_NOK); + return (RFAILED); } break; } default: { #if (ERRCLASS & ERRCLS_INT_PAR) - RLOG0(L_ERROR, "Invalid CKW SAP State in Bind Req"); - KW_SEND_SAPID_ALARM(tKwCb, + DU_LOG("\nERROR --> RLC_UL : Invalid CKW SAP State in Bind Req"); + RLC_SEND_SAPID_ALARM(tRlcCb, spId, LKW_EVENT_CKW_BND_REQ, LCM_CAUSE_INV_STATE); #endif /* ERRCLASS & ERRCLS_INT_PAR */ - KwUiCkwBndCfm(&(ckwSap->pst), ckwSap->suId, CM_BND_NOK); - RETVALUE(RFAILED); + RlcUiCkwBndCfm(&(ckwSap->pst), ckwSap->suId, CM_BND_NOK); + return (RFAILED); break; } } - KwUiCkwBndCfm(&(ckwSap->pst), ckwSap->suId, CM_BND_OK); - RETVALUE(ROK); + RlcUiCkwBndCfm(&(ckwSap->pst), ckwSap->suId, CM_BND_OK); + return (ROK); } @@ -225,85 +191,41 @@ SpId spId; * -# ROK * -# RFAILED */ -#ifdef ANSI -PUBLIC S16 KwUiCkwUbndReq +S16 RlcUiCkwUbndReq ( Pst *pst, SpId spId, Reason reason ) -#else -PUBLIC S16 KwUiCkwUbndReq(pst, spId, reason) -Pst *pst; -SpId spId; -Reason reason; -#endif { - KwCb *tKwCb; - - TRC3(KwUiCkwUbndReq) + RlcCb *tRlcCb; #if (ERRCLASS & ERRCLS_INT_PAR) - if (pst->dstInst >= KW_MAX_RLC_INSTANCES) + if (pst->dstInst >= MAX_RLC_INSTANCES) { - RETVALUE(RFAILED); + return RFAILED; } #endif /* ERRCLASS & ERRCLS_INT_PAR */ - tKwCb = KW_GET_KWCB(pst->dstInst); + tRlcCb = RLC_GET_RLCCB(pst->dstInst); - RLOG2(L_DEBUG,"spId(%d), reason(%d)", + DU_LOG("\nDEBUG --> RLC_UL : spId(%d), reason(%d)", spId, reason); UNUSED(reason); #if (ERRCLASS & ERRCLS_INT_PAR) - KW_GET_AND_VALIDATE_CKWSAP(tKwCb, - (&(tKwCb->u.ulCb->ckwSap)), + RLC_GET_AND_VALIDATE_CKWSAP(tRlcCb, + (&(tRlcCb->u.ulCb->ckwSap)), EKW208, - "KwUiCkwUbndReq"); + "RlcUiCkwUbndReq"); #endif /* ERRCLASS & ERRCLS_INT_PAR */ /* disable upper sap (CKW) */ - tKwCb->u.ulCb->ckwSap.state = KW_SAP_CFG; - RETVALUE(ROK); + tRlcCb->u.ulCb->ckwSap.state = RLC_SAP_CFG; + return ROK; } -/******************************************************************* - * - * @brief Handler for UE create request - * - * @details - * - * Function : RlcDuappProcUeCreateReq - * - * Functionality: - * Handler for UE create request - * - * @params[in] pst - Post Structure - * cfg - Configuration information for one or more RLC entities - * @return ROK - success - * RFAILED - failure - * - * ****************************************************************/ -PUBLIC S16 RlcDuappProcUeCreateReq(Pst *pst, CkwCfgInfo *ueCfg) -{ - U8 idx; - S16 ret=ROK; - - ueCfg->transId = 1; - - for(idx = 0; idx < ueCfg->numEnt; idx++) - { - ueCfg->entCfg[idx].cfgType = CKW_CFG_ADD; - } - - ret = KwUiCkwCfgReq(pst, ueCfg); - return ret; - -} /* RlcDuappUeCreateReq */ - - /** * @brief * Handler for configuring RLC entities. @@ -320,65 +242,53 @@ PUBLIC S16 RlcDuappProcUeCreateReq(Pst *pst, CkwCfgInfo *ueCfg) * -# ROK * -# RFAILED */ -#ifdef ANSI -PUBLIC S16 KwUiCkwCfgReq +S16 RlcProcCfgReq ( Pst *pst, -//SpId spId, -CkwCfgInfo *cfg +RlcCfgInfo *cfg ) -#else -//PUBLIC S16 KwUiCkwCfgReq(pst, spId, cfg) -PUBLIC S16 KwUiCkwCfgReq(pst, cfg) -Pst *pst; -//SpId spId; -CkwCfgInfo *cfg; -#endif { - KwCb *tKwCb; - KwUlCfgTmpData *cfgTmpData; + RlcCb *tRlcCb; + RlcUlCfgTmpData *cfgTmpData; - static U32 transCount; + static uint32_t transCount; - - TRC3(KwUiCkwCfgReq) - #if (ERRCLASS & ERRCLS_INT_PAR) - if (pst->dstInst >= KW_MAX_RLC_INSTANCES) + if (pst->dstInst >= MAX_RLC_INSTANCES) { - KW_PST_FREE(pst->region, pst->pool, cfg, sizeof(CkwCfgInfo)); - RETVALUE(RFAILED); + RLC_PST_FREE(pst->region, pst->pool, cfg, sizeof(RlcCfgInfo)); + return RFAILED; } #endif - tKwCb = KW_GET_KWCB(pst->dstInst); + tRlcCb = RLC_GET_RLCCB(pst->dstInst); - KW_ALLOC(tKwCb, cfgTmpData, sizeof (KwUlCfgTmpData)); + RLC_ALLOC(tRlcCb, cfgTmpData, sizeof (RlcUlCfgTmpData)); if (cfgTmpData == NULLP) { - KW_PST_FREE(pst->region, pst->pool, cfg, sizeof(CkwCfgInfo)); - RETVALUE(RFAILED); + RLC_PST_FREE(pst->region, pst->pool, cfg, sizeof(RlcCfgInfo)); + return RFAILED; } - - + cfgTmpData->uprLyrTransId = cfg->transId; /*Save User TransId*/ cfgTmpData->transId = ++transCount; /*Generate new TransId*/ cfg->transId = cfgTmpData->transId; cfgTmpData->cfgInfo = cfg; + - if (kwDbmAddUlTransaction(tKwCb, cfgTmpData) != ROK) + tRlcCb->u.ulCb->rlcUlUdxEventType = pst->event; + if (rlcDbmAddUlTransaction(tRlcCb, cfgTmpData) != ROK) { - RLOG0(L_ERROR, "Addition to UL transId Lst Failed"); - KW_PST_FREE(pst->region, pst->pool, cfg, sizeof(CkwCfgInfo)); + DU_LOG("\nERROR --> RLC_UL : Addition to UL transId Lst Failed"); + RLC_PST_FREE(pst->region, pst->pool, cfg, sizeof(RlcCfgInfo)); - RETVALUE(RFAILED); + return RFAILED; } - kwHdlUiCkwUlCfgReq(tKwCb, cfgTmpData, cfg); - - KwUlUdxCfgReq(&(KW_GET_UDX_SAP(tKwCb)->pst),KW_GET_UDX_SAP(tKwCb)->spId,cfg); + rlcUlHdlCfgReq(tRlcCb, cfgTmpData, cfg); + rlcUlUdxCfgReq(&(RLC_GET_UDX_SAP(tRlcCb)->pst),RLC_GET_UDX_SAP(tRlcCb)->spId,cfg); - RETVALUE(ROK); + return ROK; } /** @@ -400,54 +310,40 @@ CkwCfgInfo *cfg; * -# ROK * -# RFAILED */ -#ifdef ANSI -PUBLIC S16 KwUiCkwUeIdChgReq +S16 RlcUiCkwUeIdChgReq ( Pst *pst, SpId spId, -U32 transId, +uint32_t transId, CkwUeInfo *ueInfo, CkwUeInfo *newUeInfo ) -#else -PUBLIC S16 KwUiCkwUeIdChgReq(pst, spId, transId, ueInfo, newUeInfo) -Pst *pst; -SpId spId; -U32 transId; -CkwUeInfo *ueInfo; -CkwUeInfo *newUeInfo; -#endif { S16 ret = ROK; - KwCb *tKwCb; - KwUlCfgTmpData *cfgTmpData = NULLP; - - TRC3(KwUiCkwUeIdChgReq) + RlcCb *tRlcCb; + RlcUlCfgTmpData *cfgTmpData = NULLP; do { #if (ERRCLASS & ERRCLS_INT_PAR) - if (pst->dstInst >= KW_MAX_RLC_INSTANCES) + if (pst->dstInst >= MAX_RLC_INSTANCES) { ret = RFAILED; break; } #endif - tKwCb = KW_GET_KWCB(pst->dstInst); + tRlcCb = RLC_GET_RLCCB(pst->dstInst); #ifndef ALIGN_64BIT - RLOG_ARG2(L_DEBUG,DBG_CELLID,newUeInfo->cellId, - "KwUiCkwUeIdChgReq(pst, spId(%d), transId(%ld))", + DU_LOG("\nDEBUG --> RLC_UL : RlcUiCkwUeIdChgReq(pst, spId(%d), transId(%ld))", spId, transId); #else - RLOG_ARG2(L_DEBUG,DBG_CELLID,newUeInfo->cellId, - "KwUiCkwUeIdChgReq(pst, spId(%d), transId(%d))\n", - spId, - transId); + DU_LOG("\nDEBUG --> RLC_UL : RlcUiCkwUeIdChgReq(pst, spId(%d), transId(%d))\n", + spId, transId); #endif - KW_ALLOC(tKwCb, cfgTmpData, sizeof (KwUlCfgTmpData)); + RLC_ALLOC(tRlcCb, cfgTmpData, sizeof (RlcUlCfgTmpData)); if (!cfgTmpData) { ret = RFAILED; @@ -458,9 +354,9 @@ CkwUeInfo *newUeInfo; cfgTmpData->ueInfo = ueInfo; cfgTmpData->newUeInfo = newUeInfo; - if (kwDbmAddUlTransaction(tKwCb, cfgTmpData)) + if (rlcDbmAddUlTransaction(tRlcCb, cfgTmpData)) { - RLOG0(L_ERROR, "Addition to UL transId Lst Failed"); + DU_LOG("\nERROR --> RLC_UL : Addition to UL transId Lst Failed"); ret = RFAILED; break; } @@ -472,29 +368,28 @@ CkwUeInfo *newUeInfo; * that was passed and could have been allocated in this function */ /* Freeing from proper region */ - KW_PST_FREE(pst->region, pst->pool, newUeInfo, sizeof(CkwUeInfo)); - KW_PST_FREE(pst->region, pst->pool, ueInfo, sizeof(CkwUeInfo)); + RLC_PST_FREE(pst->region, pst->pool, newUeInfo, sizeof(CkwUeInfo)); + RLC_PST_FREE(pst->region, pst->pool, ueInfo, sizeof(CkwUeInfo)); if(cfgTmpData) { - KW_FREE(tKwCb, cfgTmpData, sizeof (KwUlCfgTmpData)); + RLC_FREE(tRlcCb, cfgTmpData, sizeof (RlcUlCfgTmpData)); } - RETVALUE(RFAILED); + return RFAILED; } - if(ROK != kwCfgValidateUeIdChng(tKwCb,ueInfo,newUeInfo,cfgTmpData)) + if(ROK != rlcCfgValidateUeIdChng(tRlcCb,ueInfo,newUeInfo,cfgTmpData)) { - RLOG_ARG0(L_ERROR,DBG_CELLID,cfgTmpData->ueInfo->cellId, - "Validation Failure for UeId change"); + DU_LOG("\nERROR --> RLC_UL : Validation Failure for UeId change"); } - KwUlUdxUeIdChgReq(&(KW_GET_UDX_SAP(tKwCb)->pst), - KW_GET_UDX_SAP(tKwCb)->spId, + rlcUlUdxUeIdChgReq(&(RLC_GET_UDX_SAP(tRlcCb)->pst), + RLC_GET_UDX_SAP(tRlcCb)->spId, transId, ueInfo, newUeInfo); - RETVALUE(ROK); + return ROK; } @@ -510,23 +405,14 @@ CkwUeInfo *newUeInfo; * -# ROK * -# RFAILED */ -#ifdef ANSI -PUBLIC Void kwHdlUiCkwUlCfgReq +Void rlcUlHdlCfgReq ( -KwCb *gCb, -KwUlCfgTmpData *cfgTmpData, -CkwCfgInfo *cfg +RlcCb *gCb, +RlcUlCfgTmpData *cfgTmpData, +RlcCfgInfo *cfg ) -#else -PUBLIC Void kwHdlUiCkwUlCfgReq(gCb, cfgTmpData, cfg) -KwCb *gCb; -KwUlCfgTmpData *cfgTmpData; -CkwCfgInfo *cfg; -#endif { - U8 idx; - - TRC3(kwHdlUiCkwUlCfgReq) + uint8_t idx; cfgTmpData->ueId = cfg->ueId; cfgTmpData->cellId = cfg->cellId; @@ -542,29 +428,28 @@ CkwCfgInfo *cfg; case CKW_CFG_DELETE: { - if(cfg->entCfg[idx].dir & KW_DIR_UL) + if(cfg->entCfg[idx].dir & RLC_DIR_UL) { /* Configuration is for UL , thus validating */ - if(ROK != kwCfgValidateUlRb(gCb, + if(ROK != rlcCfgValidateUlRb(gCb, &cfg->entCfg[idx], &cfgTmpData->cfgEntData[idx], cfgTmpData)) { - RLOG_ARG2(L_ERROR,DBG_UEID, cfgTmpData->ueId, - "CELLID [%u]:Validation Failure for UL RB [%d]", + DU_LOG("\nERROR --> RLC_UL : CELLID [%u]:Validation Failure for UL RB [%d]", cfg->cellId,cfg->entCfg[idx].rbId); cfgTmpData->cfgEntData[idx].entUlCfgCfm.status.status = CKW_CFG_CFM_NOK; /*Validation is getting failed so no need to do configuration at DL. *Set dir as UL, so that no configuration is done at DL */ - cfg->entCfg[idx].dir = KW_DIR_UL; + cfg->entCfg[idx].dir = RLC_DIR_UL; } } - if(cfg->entCfg[idx].dir == KW_DIR_UL) + if(cfg->entCfg[idx].dir == RLC_DIR_UL) { /*If the configuration is for UL only then apply it */ if (cfgTmpData->cfgEntData[idx].entUlCfgCfm.status.status == CKW_CFG_CFM_OK) { - kwCfgApplyUlRb(gCb, + rlcCfgApplyUlRb(gCb, &cfg->entCfg[idx], &cfgTmpData->cfgEntData[idx], cfgTmpData); @@ -574,29 +459,28 @@ CkwCfgInfo *cfg; } case CKW_CFG_REESTABLISH: { - if(cfg->entCfg[idx].dir & KW_DIR_UL) + if(cfg->entCfg[idx].dir & RLC_DIR_UL) { - if(ROK != kwCfgValidateReEstRb(gCb, + if(ROK != rlcCfgValidateReEstRb(gCb, cfg->ueId, cfg->cellId, &cfg->entCfg[idx], &cfgTmpData->cfgEntData[idx])) { - RLOG_ARG2(L_ERROR,DBG_UEID,cfg->ueId, - "CellID [%u]:Validation Failure for Reest UL RB [%d]", + DU_LOG("\nERROR --> RLC_UL : CellID [%u]:Validation Failure for Reest UL RB [%d]", cfg->cellId,cfg->entCfg[idx].rbId); cfgTmpData->cfgEntData[idx].entUlCfgCfm.status.status = CKW_CFG_CFM_NOK; /* Setting dir as UL, so that no configuration is done at DL */ - cfg->entCfg[idx].dir = KW_DIR_UL; + cfg->entCfg[idx].dir = RLC_DIR_UL; break; } } - if(cfg->entCfg[idx].dir == KW_DIR_UL) + if(cfg->entCfg[idx].dir == RLC_DIR_UL) { /*If the configuration is for UL only then apply it */ if (cfgTmpData->cfgEntData[idx].entUlCfgCfm.status.status == CKW_CFG_CFM_OK) { - kwCfgApplyReEstUlRb(gCb, + rlcCfgApplyReEstUlRb(gCb, cfg->ueId, cfg->cellId, TRUE, @@ -607,39 +491,37 @@ CkwCfgInfo *cfg; } case CKW_CFG_DELETE_UE : { - if(ROK != kwCfgValidateDelUlUe(gCb, + if(ROK != rlcCfgValidateDelUlUe(gCb, &cfg->entCfg[idx], &cfgTmpData->cfgEntData[idx], cfgTmpData)) { - RLOG_ARG1(L_ERROR,DBG_CELLID,cfg->cellId, - "UL UEID [%d]:Validation Failure", + DU_LOG("\nERROR --> RLC_UL : UL UEID [%d]:Validation Failure", cfgTmpData->ueId); cfgTmpData->cfgEntData[idx].entUlCfgCfm.status.status = CKW_CFG_CFM_NOK; /* Setting dir as UL, so that no configuration is done at DL */ - cfg->entCfg[idx].dir = KW_DIR_UL; + cfg->entCfg[idx].dir = RLC_DIR_UL; } break; } case CKW_CFG_DELETE_CELL : { - if(ROK != kwCfgValidateDelUlCell(gCb, + if(ROK != rlcCfgValidateDelUlCell(gCb, cfg->cellId, &cfg->entCfg[idx], &cfgTmpData->cfgEntData[idx], cfgTmpData)) { - RLOG_ARG0(L_ERROR,DBG_CELLID,cfg->cellId, - "Del UL Cell Validation Failure"); + DU_LOG("\nERROR --> RLC_UL : Del UL Cell Validation Failure"); cfgTmpData->cfgEntData[idx].entUlCfgCfm.status.status = CKW_CFG_CFM_NOK; /* Setting dir as UL, so that no configuration is done at DL */ - cfg->entCfg[idx].dir = KW_DIR_UL; + cfg->entCfg[idx].dir = RLC_DIR_UL; } break; } }/* switch end */ }/* for end */ - RETVOID; + return; } @@ -666,84 +548,75 @@ CkwCfgInfo *cfg; * -# RFAILED * */ -#ifdef ANSI -PUBLIC S16 KwUiKwuBndReq +S16 RlcUiKwuBndReq ( Pst *pst, SuId suId, SpId spId ) -#else -PUBLIC S16 KwUiKwuBndReq (pst, suId, spId) -Pst *pst; -SuId suId; -SpId spId; -#endif { - KwKwuSapCb *kwuSap; /* SAP Config Block */ - KwCb *tKwCb; + RlcKwuSapCb *rlckwuSap; /* SAP Config Block */ + RlcCb *tRlcCb; - TRC3(KwUiKwuBndReq) - #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); - RLOG2(L_DEBUG, "KwUiKwuBndReq(pst, spId(%d), suId(%d))", spId, suId); + tRlcCb = RLC_GET_RLCCB(pst->dstInst); + DU_LOG("\nDEBUG --> RLC_UL : RlcUiKwuBndReq(pst, spId(%d), suId(%d))", spId, suId); /* Validation of input parameters */ #if (ERRCLASS & ERRCLS_INT_PAR) - if(!((spId < (S16) tKwCb->genCfg.maxKwuSaps) && (spId >=0))) + if(!((spId < (S16) tRlcCb->genCfg.maxKwuSaps) && (spId >=0))) { - RLOG0(L_ERROR,"Invalid spId"); - KW_SEND_SAPID_ALARM(tKwCb,spId, LKW_EVENT_KWU_BND_REQ, LCM_CAUSE_INV_SAP); - RETVALUE(RFAILED); + DU_LOG("\nERROR --> RLC_UL : Invalid spId"); + RLC_SEND_SAPID_ALARM(tRlcCb,spId, LKW_EVENT_KWU_BND_REQ, LCM_CAUSE_INV_SAP); + return RFAILED; } #endif /* Get Sap control block */ - kwuSap = (tKwCb->genCfg.rlcMode == LKW_RLC_MODE_DL) ? - (tKwCb->u.dlCb->kwuDlSap + spId): - (tKwCb->u.ulCb->kwuUlSap + spId); + rlckwuSap = (tRlcCb->genCfg.rlcMode == LKW_RLC_MODE_DL) ? + (tRlcCb->u.dlCb->rlcKwuDlSap + spId): + (tRlcCb->u.ulCb->rlcKwuUlSap + spId); /* Take action based on the current state of the SAP */ - switch(kwuSap->state) + switch(rlckwuSap->state) { /* SAP is configured but not bound */ - case KW_SAP_CFG: - case KW_SAP_UBND: + case RLC_SAP_CFG: + case RLC_SAP_UBND: { /* copy bind configuration parameters in sap */ - kwuSap->suId = suId; - kwuSap->pst.dstProcId = pst->srcProcId; - kwuSap->pst.dstEnt = pst->srcEnt; - kwuSap->pst.dstInst = pst->srcInst; + rlckwuSap->suId = suId; + rlckwuSap->pst.dstProcId = pst->srcProcId; + rlckwuSap->pst.dstEnt = pst->srcEnt; + rlckwuSap->pst.dstInst = pst->srcInst; /* Update the State */ - kwuSap->state = KW_SAP_BND; + rlckwuSap->state = RLC_SAP_BND; - RLOG1(L_DEBUG, "KwUiKwuBndReq: state (%d)", kwuSap->state); + DU_LOG("\nDEBUG --> RLC_UL : RlcUiKwuBndReq: state (%d)", rlckwuSap->state); break; } - case KW_SAP_BND: + case RLC_SAP_BND: { /* Sap is already bound check source, destination Entity and Proc Id */ - if (kwuSap->pst.dstProcId != pst->srcProcId || - kwuSap->pst.dstEnt != pst->srcEnt || - kwuSap->pst.dstInst != pst->srcInst || - kwuSap->suId != suId) + if (rlckwuSap->pst.dstProcId != pst->srcProcId || + rlckwuSap->pst.dstEnt != pst->srcEnt || + rlckwuSap->pst.dstInst != pst->srcInst || + rlckwuSap->suId != suId) { - KW_SEND_SAPID_ALARM(tKwCb, + RLC_SEND_SAPID_ALARM(tRlcCb, spId, LKW_EVENT_KWU_BND_REQ, LCM_CAUSE_INV_PAR_VAL); - RLOG1(L_ERROR,"RLC Mode [%d] : KWU SAP already Bound", - tKwCb->genCfg.rlcMode); - KwUiKwuBndCfm(&(kwuSap->pst), kwuSap->suId, CM_BND_NOK); - RETVALUE(RFAILED); + DU_LOG("\nERROR --> RLC_UL : RLC Mode [%d] : KWU SAP already Bound", + tRlcCb->genCfg.rlcMode); + RlcUiKwuBndCfm(&(rlckwuSap->pst), rlckwuSap->suId, CM_BND_NOK); + return (RFAILED); } break; } @@ -751,19 +624,19 @@ SpId spId; default: { #if (ERRCLASS & ERRCLS_INT_PAR) - RLOG1(L_ERROR,"RLC Mode [%d]:Invalid KWU SAP State in Bind Req", - tKwCb->genCfg.rlcMode); - KW_SEND_SAPID_ALARM(tKwCb, + DU_LOG("\nERROR --> RLC_UL : RLC Mode [%d]:Invalid KWU SAP State in Bind Req", + tRlcCb->genCfg.rlcMode); + RLC_SEND_SAPID_ALARM(tRlcCb, spId, LKW_EVENT_KWU_BND_REQ, LCM_CAUSE_INV_STATE); #endif /* ERRCLASS & ERRCLS_INT_PAR */ - KwUiKwuBndCfm(&(kwuSap->pst), kwuSap->suId, CM_BND_NOK); - RETVALUE(RFAILED); + RlcUiKwuBndCfm(&(rlckwuSap->pst), rlckwuSap->suId, CM_BND_NOK); + return (RFAILED); } } - KwUiKwuBndCfm(&(kwuSap->pst), kwuSap->suId, CM_BND_OK); - RETVALUE(ROK); + RlcUiKwuBndCfm(&(rlckwuSap->pst), rlckwuSap->suId, CM_BND_OK); + return (ROK); } @@ -785,48 +658,39 @@ SpId spId; * -# ROK * -# RFAILED */ -#ifdef ANSI -PUBLIC S16 KwUiKwuUbndReq +S16 RlcUiKwuUbndReq ( Pst *pst, SpId spId, Reason reason ) -#else -PUBLIC S16 KwUiKwuUbndReq(pst, spId, reason) -Pst *pst; -SpId spId; -Reason reason; -#endif { - KwKwuSapCb *kwuSap; /* KWU SAP control block */ - KwCb *tKwCb; - - TRC3(KwUiKwuUbndReq) + RlcKwuSapCb *rlckwuSap; /* KWU SAP control block */ + RlcCb *tRlcCb; #if (ERRCLASS & ERRCLS_INT_PAR) - if ((pst->dstInst >= KW_MAX_RLC_INSTANCES) || - (spId >= (S16) kwCb[pst->dstInst]->genCfg.maxKwuSaps) || + if ((pst->dstInst >= MAX_RLC_INSTANCES) || + (spId >= (S16) rlcCb[pst->dstInst]->genCfg.maxKwuSaps) || (spId < 0)) { - RETVALUE (RFAILED); + return (RFAILED); } #endif - tKwCb = KW_GET_KWCB(pst->dstInst); + tRlcCb = RLC_GET_RLCCB(pst->dstInst); - RLOG2(L_DEBUG, "spId(%d), reason(%d)", + DU_LOG("\nDEBUG --> RLC_UL : spId(%d), reason(%d)", spId, reason); /* Get Sap control block */ - kwuSap = (tKwCb->genCfg.rlcMode == LKW_RLC_MODE_DL) ? - (tKwCb->u.dlCb->kwuDlSap + spId): - (tKwCb->u.ulCb->kwuUlSap + spId); + rlckwuSap = (tRlcCb->genCfg.rlcMode == LKW_RLC_MODE_DL) ? + (tRlcCb->u.dlCb->rlcKwuDlSap + spId): + (tRlcCb->u.ulCb->rlcKwuUlSap + spId); - kwuSap->state = KW_SAP_CFG; + rlckwuSap->state = RLC_SAP_CFG; - RETVALUE(ROK); + return ROK; } /** @@ -841,90 +705,75 @@ Reason reason; * @param[in] datreq Data Request Information * @param[in] mBuf Data Buffer (SDU) * - * @return S16 + * @return uint8_t * -# ROK * -# RFAILED */ -#ifdef ANSI -PUBLIC S16 KwUiKwuDatReq -( -Pst *pst, -KwuDatReqInfo *datReq, -Buffer *mBuf -) -#else -PUBLIC S16 KwUiKwuDatReq(pst, datReq, mBuf) -Pst *pst; -KwuDatReqInfo *datReq; -Buffer *mBuf; -#endif +uint8_t rlcProcDlData(Pst *pst, RlcDatReqInfo *datReq, Buffer *mBuf) { - S16 ret = ROK; /* Return Value */ - KwDlRbCb *rbCb; /* RB Control Block */ - KwCb *tKwCb; + uint8_t ret = ROK; /* Return Value */ + RlcDlRbCb *rbCb; /* RB Control Block */ + RlcCb *tRlcCb; - TRC3(KwUiKwuDatReq) - - DU_LOG("\nRLC : Received DL Data"); + DU_LOG("\nDEBUG --> RLC_DL : Received DL Data"); #if (ERRCLASS & ERRCLS_INT_PAR) - if(pst->dstInst >= KW_MAX_RLC_INSTANCES) + if(pst->dstInst >= MAX_RLC_INSTANCES) { - SPutMsg(mBuf); - RETVALUE(RFAILED); + ODU_PUT_MSG_BUF(mBuf); + return RFAILED; } #endif - tKwCb = KW_GET_KWCB(pst->dstInst); + tRlcCb = RLC_GET_RLCCB(pst->dstInst); /* Fetch the RbCb */ - kwDbmFetchDlRbCbByRbId(tKwCb, &datReq->rlcId, &rbCb); + rlcDbmFetchDlRbCbByRbId(tRlcCb, &datReq->rlcId, &rbCb); if(!rbCb) { - RLOG_ARG2(L_WARNING, DBG_UEID,datReq->rlcId.ueId, "CellId[%u]:DL RbId [%d] not found", + DU_LOG("\nERROR --> RLC_DL : CellId[%u]:DL RbId [%d] not found", datReq->rlcId.cellId,datReq->rlcId.rbId); - KW_FREE_BUF(mBuf); + ODU_PUT_MSG_BUF(mBuf); - RETVALUE(RFAILED); + return RFAILED; } /* Dispatch according to mode of the rbCb */ switch (rbCb->mode) { - case CM_LTE_MODE_TM: + case RLC_MODE_TM: { /* Verify the user */ if (pst->srcEnt != ENTNH) { /* kw002.201 Freeing from proper region */ - KW_SHRABL_STATIC_BUF_FREE(pst->region, pst->pool, datReq, - sizeof(KwuDatReqInfo)); - KW_FREE_BUF(mBuf); + RLC_SHRABL_STATIC_BUF_FREE(pst->region, pst->pool, datReq, + sizeof(RlcDatReqInfo)); + ODU_PUT_MSG_BUF(mBuf); - RETVALUE(RFAILED); + return RFAILED; } - kwTmmQSdu(tKwCb,rbCb, datReq, mBuf); + rlcTmmQSdu(tRlcCb,rbCb, datReq, mBuf); break; } - case CM_LTE_MODE_UM: + case RLC_MODE_UM: { - kwUmmQSdu(tKwCb,rbCb, datReq, mBuf); - + rlcUmmQSdu(tRlcCb,rbCb, datReq, mBuf); break; } - case CM_LTE_MODE_AM: + case RLC_MODE_AM: { - kwAmmQSdu(tKwCb,rbCb, mBuf, datReq); + rlcAmmQSdu(tRlcCb,rbCb, mBuf, datReq); break; } default: { - RLOG0(L_ERROR, "Invalid RB Mode"); + DU_LOG("\nERROR --> RLC_DL : Invalid RB Mode"); break; } } - RETVALUE(ret); + return ret; } @@ -946,22 +795,15 @@ Buffer *mBuf; * -# ROK * -# RFAILED */ -#ifdef ANSI -PUBLIC S16 KwUiKwuDiscSduReq +S16 RlcUiKwuDiscSduReq ( Pst *pst, SpId spId, KwuDiscSduInfo *discSdu ) -#else -PUBLIC S16 KwUiKwuDiscSduReq(pst, spId, discSdu) -Pst *pst; -SpId spId; -KwuDiscSduInfo *discSdu; -#endif { - KW_SHRABL_STATIC_BUF_FREE(pst->region, pst->pool, discSdu, sizeof(KwuDiscSduInfo)); - RETVALUE(ROK); + RLC_SHRABL_STATIC_BUF_FREE(pst->region, pst->pool, discSdu, sizeof(KwuDiscSduInfo)); + return ROK; } /********************************************************************30**