X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=src%2F5gnrrlc%2Fkw_tmm_ul.c;h=6777cdf933196728f4411aa332ac376fba7e2eb9;hb=0a26c487f1b6bbb5217e47b15fa8273b2e749283;hp=4e3b48738b63a41a57baed1e3703c47e353d6fff;hpb=829bbd114f1c3dc00c1da47bca0a8207c049df3f;p=o-du%2Fl2.git diff --git a/src/5gnrrlc/kw_tmm_ul.c b/src/5gnrrlc/kw_tmm_ul.c index 4e3b48738..6777cdf93 100755 --- a/src/5gnrrlc/kw_tmm_ul.c +++ b/src/5gnrrlc/kw_tmm_ul.c @@ -25,9 +25,9 @@ Desc: Source code for RLC Transparent mode assembly and reassembly.This file contains following functions - --kwTmmQSdu - --kwTmmSndToLi - --kwTmmRcvFrmLi + --rlcTmmQSdu + --rlcTmmSndToLi + --rlcTmmRcvFrmLi --kwTmmReEstablish File: kw_tmm_ul.c @@ -42,18 +42,7 @@ static int RLOG_FILE_ID=201; */ /* 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 */ @@ -65,16 +54,6 @@ static int RLOG_FILE_ID=201; #include "kw_ul.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 */ @@ -82,6 +61,9 @@ static int RLOG_FILE_ID=201; #include "kw.x" #include "kw_ul.x" +#include "du_app_rlc_inf.h" +#include "rlc_utils.h" +#include "rlc_upr_inf_api.h" #if defined(PRE_DEF_UE_CTX) || defined(PRE_DEF_UE_CTX_HO) #ifdef EG_GEN_LOAD_5GTF @@ -90,13 +72,13 @@ extern U32 loadStart; EXTERN S16 PjUiPjuDatInd(Pst* pst,SuId suId,CmLtePdcpId * pdcpId,Buffer *mBuf); #ifdef ANSI -PUBLIC Void AddUeContext +Void AddUeContext ( CmLteRnti crnti, U8 rrcMsgType ) #else -PUBLIC Void AddUeContext(crnti,rrcMsgType) +Void AddUeContext(crnti,rrcMsgType) CmLteRnti crnti, U8 rrcMsgType #endif @@ -127,7 +109,7 @@ U8 rrcUeCapabilityInfo[] = #ifdef PJ Pst ulPst2 ={100,100,217,0,216,0,PRIOR0,0,68,0,1,0,0}; #endif - TRC2(kwTmmRcvFrmLi) + TRC2(rlcTmmRcvFrmLi) if(1 == rrcMsgType) { @@ -147,7 +129,7 @@ U8 rrcUeCapabilityInfo[] = RLOG1(L_INFO,"Profiling Framework Sending RRC Connection Req to RRC for UE :%d\n",crnti); printf("Profiling Framework Sending RRC Connection Req to RRC for UE :%d\n",crnti); - KwUiKwuDatInd(&ulPst1, 1, datIndInfo, pdu); + RlcUiKwuDatInd(&ulPst1, datIndInfo, pdu); } else if(2 == rrcMsgType) { @@ -241,7 +223,7 @@ U8 rrcUeCapabilityInfo[] = /** @addtogroup tmmode */ /*@{*/ -#define KW_MODULE (KW_DBGMASK_TM | KW_DBGMASK_UL) +#define RLC_MODULE (RLC_DBGMASK_TM | RLC_DBGMASK_UL) /** * @brief @@ -264,75 +246,83 @@ U8 rrcUeCapabilityInfo[] = */ #ifdef CCPU_OPT #ifdef ANSI -PUBLIC Void kwTmmRcvFrmLi +Void rlcTmmRcvFrmLi ( -KwCb *gCb, -KwUlRbCb *rbCb, +RlcCb *gCb, +RlcUlRbCb *rbCb, CmLteRnti tCrnti, Buffer *pdu ) #else -PUBLIC Void kwTmmRcvFrmLi(gCb,rbCb, tCrnti, pdu) -KwCb *gCb; -KwUlRbCb *rbCb; +Void rlcTmmRcvFrmLi(gCb,rbCb, tCrnti, pdu) +RlcCb *gCb; +RlcUlRbCb *rbCb; CmLteRnti tCrnti; Buffer *pdu; #endif #else #ifdef ANSI -PUBLIC Void kwTmmRcvFrmLi +Void rlcTmmRcvFrmLi ( -KwCb *gCb, -KwUlRbCb *rbCb, +RlcCb *gCb, +RlcUlRbCb *rbCb, Buffer *pdu ) #else -PUBLIC Void kwTmmRcvFrmLi(gCb,rbCb, pdu) -KwCb *gCb; -KwUlRbCb *rbCb; +Void rlcTmmRcvFrmLi(gCb,rbCb, pdu) +RlcCb *gCb; +RlcUlRbCb *rbCb; Buffer *pdu; #endif #endif { - KwuDatIndInfo *datIndInfo; /* Data Indication Information */ - MsgLen msgLen; + RlcUlRrcMsgInfo *ulRrcMsgInfo; + uint16_t msgLen; + uint16_t copyLen; /* Number of bytes copied */ + Pst pst; - TRC2(kwTmmRcvFrmLi) + TRC2(rlcTmmRcvFrmLi) - /* Creating static memory for KwuDatIndInfo. #else will be - * removed once the sanity testing is performed for all platforms */ - KwuDatIndInfo datIndInfoTmp; - datIndInfo = &datIndInfoTmp; -#if (ERRCLASS & ERRCLS_ADD_RES) - if ( datIndInfo == NULLP ) - { - RLOG_ARG2(L_FATAL,DBG_RBID,rbCb->rlcId.rbId, - "Memory Allocation failed UEID:%d CELLID:%d", - rbCb->rlcId.ueId, - rbCb->rlcId.cellId); - RETVOID; - } -#endif /* ERRCLASS & ERRCLS_ADD_RES */ - KW_MEM_CPY(&(datIndInfo->rlcId),&(rbCb->rlcId),sizeof(CmLteRlcId)); -#ifdef CCPU_OPT - if ( rbCb->lch.lChType == CM_LTE_LCH_CCCH ) - { - datIndInfo->tCrnti = tCrnti; - } -#endif gCb->genSts.pdusRecv++; - SFndLenMsg(pdu, &msgLen); + SFndLenMsg(pdu, (MsgLen *)&msgLen); gCb->genSts.bytesRecv += msgLen; /* If trace flag is enabled send the trace indication */ if(gCb->init.trc == TRUE) { /* Populate the trace params */ - kwLmmSendTrc(gCb,KWU_EVT_DAT_IND, pdu); + rlcLmmSendTrc(gCb, EVENT_UL_RRC_MSG_TRANS_TO_DU, pdu); } - KwUiKwuDatInd( &gCb->u.ulCb->kwuUlSap->pst, - gCb->u.ulCb->kwuUlSap->suId, - datIndInfo, pdu); - + + /* Filling UL RRC Message Info */ + RLC_ALLOC_SHRABL_BUF(RLC_MEM_REGION_UL, RLC_POOL, + ulRrcMsgInfo, sizeof(RlcUlRrcMsgInfo)); + if (ulRrcMsgInfo) + { + ulRrcMsgInfo->cellId = rbCb->rlcId.cellId; + ulRrcMsgInfo->ueIdx = rbCb->rlcId.ueId; + ulRrcMsgInfo->lcId = rbCb->lch.lChId; + RLC_ALLOC_SHRABL_BUF(RLC_MEM_REGION_UL, RLC_POOL, + ulRrcMsgInfo->rrcMsg, msgLen); + if (ulRrcMsgInfo->rrcMsg) + { + SCpyMsgFix(pdu, 0, msgLen, ulRrcMsgInfo->rrcMsg, (MsgLen *)©Len); + ulRrcMsgInfo->msgLen = msgLen; + + /* Sending UL RRC Message transfeer to DU APP */ + memset(&pst, 0, sizeof(Pst)); + FILL_PST_RLC_TO_DUAPP(pst, SFndProcId(), RLC_UL_INST, EVENT_UL_RRC_MSG_TRANS_TO_DU); + rlcSendUlRrcMsgToDu(&pst, ulRrcMsgInfo); + } + else + { + DU_LOG("\nRLC : Memory allocation failed"); + } + } + else + { + DU_LOG("\nRLC : Memory allocation failed"); + } + RETVOID; } @@ -350,18 +340,18 @@ Buffer *pdu; * **/ #ifdef ANSI -PUBLIC Void kwTmmUlReEstablish +Void rlcTmmUlReEstablish ( -KwCb *gCb, -KwUlRbCb *rbCb +RlcCb *gCb, +RlcUlRbCb *rbCb ) #else -PUBLIC Void kwTmmUlReEstablish(rbCb) -KwCb *gCb; -KwRbCb *rbCb; +Void rlcTmmUlReEstablish(rbCb) +RlcCb *gCb; +RlcUlRbCb *rbCb; #endif { - TRC2(kwUlTmmReEstablish) + TRC2(rlcUlTmmReEstablish) RLOG_ARG0(L_DEBUG,DBG_RBID,rbCb->rlcId.rbId,"do nothing for TMM for ReEstablish"); RETVOID;