RLC DL UMD PDU changes [Issue-ID: ODUHIGH-271]
[o-du/l2.git] / src / du_app / du_ue_mgr.c
index e17890a..878b130 100644 (file)
@@ -104,28 +104,42 @@ uint8_t duHdlEgtpDlData(EgtpMsg  *egtpMsg)
    DU_LOG("\nDEBUG   -->  DU_APP : Processing DL data");
 #ifdef EGTP_TEST
    Pst pst;
-   KwuDatReqInfo datReqInfo;
-
-   datReqInfo.rlcId.rbId = RB_ID;
-   datReqInfo.rlcId.rbType = CM_LTE_DRB;
-   datReqInfo.rlcId.ueId = UE_ID;
-   datReqInfo.rlcId.cellId = NR_CELL_ID;
-
-   datReqInfo.sduId = ++sduId;
-   datReqInfo.lcType = CM_LTE_LCH_DTCH;
-
-   /* Filling pst and Sending to RLC DL */
-   pst.selector  = ODU_SELECTOR_LWLC;
-   pst.srcEnt    = ENTDUAPP;
-   pst.dstEnt    = ENTRLC;
-   pst.dstInst   = RLC_DL_INST;
-   pst.dstProcId = DU_PROC;
-   pst.srcProcId = DU_PROC;
-   pst.region    = duCb.init.region;
-
-   //cmPkKwuDatReq(&pst, &datReqInfo, egtpMsg->msg);
-#else
-   //duBuildAndSendDlRrcMsgToRlc();
+   uint8_t ret;
+   MsgLen copyLen;
+   RlcDlRrcMsgInfo  *dlRrcMsgInfo = NULLP;
+
+   DU_ALLOC_SHRABL_BUF(dlRrcMsgInfo, sizeof(RlcDlRrcMsgInfo));
+   if(!dlRrcMsgInfo)
+   {
+      DU_LOG("\nDU APP : Memory allocation failed for dlRrcMsgInfo in \
+         duBuildAndSendDlRrcMsgToRlc");
+      ODU_PUT_MSG_BUF(egtpMsg->msg);
+      return RFAILED;
+   }
+
+   /* Filling up the RRC msg info */
+   dlRrcMsgInfo->cellId = NR_CELL_ID;
+   dlRrcMsgInfo->ueIdx = UE_ID;
+   dlRrcMsgInfo->rbType = CM_LTE_DRB;
+   dlRrcMsgInfo->rbId   = RB_ID;
+   dlRrcMsgInfo->lcType = CM_LTE_LCH_DTCH;
+   dlRrcMsgInfo->lcId   = 4;
+   dlRrcMsgInfo->execDup = false;
+   dlRrcMsgInfo->deliveryStaRpt = false;
+   ODU_GET_MSG_LEN(egtpMsg->msg, &dlRrcMsgInfo->msgLen);
+   DU_ALLOC_SHRABL_BUF(dlRrcMsgInfo->rrcMsg, dlRrcMsgInfo->msgLen);
+   ODU_COPY_MSG_TO_FIX_BUF(egtpMsg->msg, 0, dlRrcMsgInfo->msgLen, dlRrcMsgInfo->rrcMsg, (MsgLen *)&copyLen);
+   ODU_PUT_MSG_BUF(egtpMsg->msg);
+
+   /* Filling post structure and sending msg */
+   FILL_PST_DUAPP_TO_RLC(pst, RLC_DL_INST, EVENT_DL_RRC_MSG_TRANS_TO_RLC);
+   DU_LOG("\nDU_APP: Sending Dl User Msg to RLC \n");
+   ret = (*duSendDlRrcMsgToRlcOpts[pst.selector])(&pst, dlRrcMsgInfo);
+   if(ret != ROK)
+   {
+      DU_FREE_SHRABL_BUF(DU_APP_MEM_REGION, DU_POOL, dlRrcMsgInfo, sizeof(RlcDlRrcMsgInfo));
+      return RFAILED;
+   }
 #endif
    return ROK;
 }