X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=src%2Fdu_app%2Fdu_msg_hdl.c;h=5a09fe3fac806e3838b79c5a65b805ae55a1498c;hb=b92944068f8a7b643b333515e424517db4192b61;hp=3887cc8a3b1e0becbb4a75c0e05943745bbb63d8;hpb=aa4e78164447b8cad6f38791047377640fd0c6f2;p=o-du%2Fl2.git diff --git a/src/du_app/du_msg_hdl.c b/src/du_app/du_msg_hdl.c index 3887cc8a3..5a09fe3fa 100644 --- a/src/du_app/du_msg_hdl.c +++ b/src/du_app/du_msg_hdl.c @@ -42,7 +42,6 @@ #ifdef O1_ENABLE -#include "GlobalDefs.h" #include "AlarmInterface.h" #endif @@ -1136,9 +1135,6 @@ uint8_t duHdlEgtpSrvOpenComplete(CmStatus cfm) if(cfm.status == LCM_PRIM_OK) { DU_LOG("\nDEBUG --> DU_APP : EGTP server opened successfully"); -#ifdef EGTP_TEST - duSendEgtpTnlMgmtReq(EGTP_TNL_MGMT_ADD, EGTP_LCL_TEID, EGTP_REM_TEID); -#endif } else { @@ -1168,19 +1164,28 @@ uint8_t duHdlEgtpSrvOpenComplete(CmStatus cfm) * * ****************************************************************/ -uint8_t duSendEgtpTnlMgmtReq(uint8_t action, uint32_t lclTeid, uint32_t remTeid) +uint8_t duSendEgtpTnlMgmtReq(uint8_t action, uint32_t teIdTobeMod, GtpTnlCfg *ueCbTnlCfg) { + uint8_t ret =ROK; Pst pst; EgtpTnlEvt tnlEvt; - tnlEvt.action = action; - tnlEvt.lclTeid = lclTeid; - tnlEvt.remTeid = remTeid; + DU_LOG("\nDEBUG --> DU_APP : Sending EGTP tunnel management request for teId [%d]", ueCbTnlCfg->teId); - DU_LOG("\nDEBUG --> DU_APP : Sending EGTP tunnel management request"); + /* ADD/MOD/DEL per tunnel */ + tnlEvt.action = action; + tnlEvt.remTeid = ueCbTnlCfg->teId; + if(action != EGTP_TNL_MGMT_ADD) + { + tnlEvt.lclTeid = teIdTobeMod; + } + else + { + tnlEvt.lclTeid = ueCbTnlCfg->teId; + } duFillEgtpPst(&pst, EVTTNLMGMTREQ); - egtpTnlMgmtReq(&pst, tnlEvt); - return ROK; + ret = egtpTnlMgmtReq(&pst, tnlEvt); + return ret; } /******************************************************************* @@ -1736,16 +1741,9 @@ uint8_t DuProcRlcRrcDeliveryReport(Pst *pst, RrcDeliveryReport *rrcDeliveryRepor uint8_t DuProcRlcUlUserDataTrans(Pst *pst, RlcUlUserDatInfo *ulUserData) { uint8_t rbIdx; - DuCellCb *cellCb; - DuUeCb ueCb; EgtpMsg egtpMsg; Buffer *mBuf; - if(duGetCellCb(ulUserData->cellId, &cellCb) != ROK) - return RFAILED; - - ueCb = cellCb->ueCb[ulUserData->ueIdx -1]; - DU_LOG("\nDEBUG --> DU APP : Received UL user data"); /* Fill EGTP header */ @@ -1756,18 +1754,17 @@ uint8_t DuProcRlcUlUserDataTrans(Pst *pst, RlcUlUserDatInfo *ulUserData) egtpMsg.msgHdr.extHdr.pdcpNmb.pres = FALSE; /* Fetch EGTP tunnel info */ - /* TODO : keep the "#if 0" code block and test once DL User data changes are submitted */ -#if 0 - for(rbIdx = 0; rbIdx < MAX_NUM_DRB; rbIdx++) + for(rbIdx = 0; rbIdx < duCb.numDrb; rbIdx++) { - if(ueCb.ulTnlCfg[rbIx]->drbId == ulUserData->rbId) + if((duCb.upTnlCfg[rbIdx] != NULLP) && (duCb.upTnlCfg[rbIdx]->drbId == ulUserData->rbId)) { - egtpMsg.msgHdr.teId = ueCb.ulTnlCfg[rbIx]->tnlCfg.teId; + if(duCb.upTnlCfg[rbIdx]->tnlCfg1) + { + egtpMsg.msgHdr.teId = duCb.upTnlCfg[rbIdx]->tnlCfg1->teId; /*As we are supporting only 1 tunnel per DRB*/ + break; + } } } -#else - egtpMsg.msgHdr.teId = 1; -#endif if (ODU_GET_MSG_BUF(DU_APP_MEM_REGION, DU_POOL, &mBuf) != ROK) {