Skip to content

Commit

Permalink
Merge "[Bug-ID: ODUHIGH-625]: Adding trigger for BuildAndSendRlcMaxRe…
Browse files Browse the repository at this point in the history
…transIndToDu and handling RlcMaxRetransInd at DU"
  • Loading branch information
pborla authored and Gerrit Code Review committed Aug 20, 2024
2 parents a58b6d2 + 639a585 commit 9868a8a
Show file tree
Hide file tree
Showing 3 changed files with 18 additions and 2 deletions.
6 changes: 6 additions & 0 deletions src/5gnrrlc/rlc_amm_dl.c
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,7 @@
#include "rlc_utils.h" /* RLC defines */
#include "rlc_dl_ul_inf.h"
#include "rlc_dl.h"
#include "rlc_mgr.h"

//UDAY
#ifdef L2_OPTMZ
Expand Down Expand Up @@ -2230,6 +2231,11 @@ static Void rlcAmmDlMarkPduForReTx(RlcCb *gCb,RlcDlRbCb *rbCb,RlcRetx *retx)
rlcUtlSendDedLcBoStatus(gCb, rbCb, 0,0,0,0);
rlcAmmSndStaInd(gCb, rbCb, retx);
gRlcStats.amRlcStats.numDLMaxRetx++;

/* As per 38.322, RLC on reaching maxRetxThreshold in AM mode following needs to be done: */
/* if RETX_COUNT = maxRetxThreshold: */
/* - indicate to upper layers that max retransmission has been reached. "*/
BuildAndSendRlcMaxRetransIndToDu(rbCb->rlcId.cellId, rbCb->rlcId.ueId, rbCb->lch.lChId, rbCb->lch.lChType);
}

rlcRemRetxPdu(gCb,rbCb, retx);
Expand Down
1 change: 1 addition & 0 deletions src/5gnrrlc/rlc_mgr.h
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ uint8_t SendRlcUeCreateRspToDu(Pst *pst, RlcCfgCfmInfo *cfgRsp);
uint8_t SendRlcUeReconfigRspToDu(Pst *pst, RlcCfgCfmInfo *cfgRsp);
uint8_t sendRlcUeDeleteRspToDu(uint16_t cellId, uint8_t ueId, CauseOfResult status);
uint8_t sendRlcUeReestablishRspToDu(uint16_t cellId,uint8_t ueId, CauseOfResult status);
uint8_t BuildAndSendRlcMaxRetransIndToDu(uint16_t cellId,uint8_t ueId, uint8_t lcId, uint8_t lcType);
/**********************************************************************
End of file
**********************************************************************/
13 changes: 11 additions & 2 deletions src/du_app/du_ue_mgr.c
Original file line number Diff line number Diff line change
Expand Up @@ -166,8 +166,17 @@ uint8_t DuProcRlcMaxRetransInd(Pst *pst, RlcMaxRetransInfo *maxRetransInfo)
GET_CRNTI(crnti, ueId);
if(duCb.actvCellLst[cellIdx]->ueCb[ueId-1].crnti == crnti)
{
/*TODO: complete the processing of max retransmission */
ret = ROK;

/* As the spec 38.322 in Sec5.3.2(ARQ Procedures) doesn't mention exactly what upper layer needs to do as next steps:*/
/* if RETX_COUNT = maxRetxThreshold:- indicate to upper layers that max retransmission has been reached.*/
/*Thus as per our implementation scope, DU-Initiated UE release is triggered */

if(BuildAndSendUeContextReleaseReq(maxRetransInfo->cellId, maxRetransInfo->ueId) != ROK)
{
DU_LOG("\nERROR --> DU APP : Failed to build and send ue context release request");
}
else
ret = ROK;
}
else
DU_LOG("\nERROR --> DU APP : DuProcRlcMaxRetransInd(): CRNTI [%d] not found", crnti);
Expand Down

0 comments on commit 9868a8a

Please sign in to comment.