[ISSUE ID = ODUHIGH-321] Implementation of cell delete req and rsp
[o-du/l2.git] / src / du_app / du_mgr_ex_ms.c
index 42c173d..25c1842 100644 (file)
 #include "du_ue_mgr.h"
 #include "du_utils.h"
 
-extern S16 unpackRlcConfigCfm(RlcConfigCfm func,Pst *pst, Buffer *mBuf);
-extern S16 cmUnpkLkwCntrlCfm(LkwCntrlCfm func,Pst *pst, Buffer *mBuf);
-extern S16 cmUnpkLrgCfgCfm(LrgCfgCfm func,Pst *pst, Buffer *mBuf);
-extern uint8_t cmUnpkKwuDatInd(KwuDatInd func,Pst *pst, Buffer *mBuf);
-extern S16 cmUnpkLrgSchCfgCfm(LrgSchCfgCfm func,Pst *pst,Buffer *mBuf);
+uint8_t unpackRlcConfigCfm(RlcConfigCfm func,Pst *pst, Buffer *mBuf);
+uint8_t cmUnpkLkwCntrlCfm(LkwCntrlCfm func,Pst *pst, Buffer *mBuf);
+uint8_t cmUnpkLrgCfgCfm(LrgCfgCfm func,Pst *pst, Buffer *mBuf);
+uint8_t cmUnpkKwuDatInd(KwuDatInd func,Pst *pst, Buffer *mBuf);
+uint8_t cmUnpkLrgSchCfgCfm(LrgSchCfgCfm func,Pst *pst,Buffer *mBuf);
 /**************************************************************************
  * @brief Task Initiation callback function. 
  *
@@ -65,13 +65,13 @@ extern S16 cmUnpkLrgSchCfgCfm(LrgSchCfgCfm func,Pst *pst,Buffer *mBuf);
  * @return ROK     - success
  *         RFAILED - failure
  ***************************************************************************/
-S16 duActvInit(Ent entity, Inst inst, Region region, Reason reason)
+uint8_t duActvInit(Ent entity, Inst inst, Region region, Reason reason)
 {
    uint8_t id;
 
    memset(&duCb, 0, sizeof(DuCb));
 
-   duCb.init.procId  = SFndProcId();
+   duCb.init.procId  = ODU_GET_PROCID();
    duCb.init.ent     = entity;
    duCb.init.inst    = inst;
    duCb.init.region  = region;
@@ -97,7 +97,7 @@ S16 duActvInit(Ent entity, Inst inst, Region region, Reason reason)
    duCb.numCfgCells  = 0;
    duCb.numActvCells = 0;
 
-   SSetProcId(DU_PROC);
+   ODU_SET_PROC_ID(DU_PROC);
 
    return ROK;
 
@@ -123,197 +123,236 @@ S16 duActvInit(Ent entity, Inst inst, Region region, Reason reason)
  *         RFAILED - failure
  *
  ***************************************************************************/
-S16 duActvTsk(Pst *pst, Buffer *mBuf)
+uint8_t duActvTsk(Pst *pst, Buffer *mBuf)
 {
-   S16 ret = ROK;
+   uint8_t ret = ROK;
 
    switch(pst->srcEnt)
    {
       case ENTDUAPP:
-        {
-           switch(pst->event)
-           {
-              case EVTCFG:
-                 {
-                    DU_LOG("\n****** Received initial configs at DU APP ******\n");
-                    duProcCfgComplete();
-                    SPutMsg(mBuf);
-                    break;
-                 }
-              default:
-                 {
-                    DU_LOG("\nDU_APP : Invalid event received at duActvTsk from ENTDUAPP");
-                    SPutMsg(mBuf);
-                    ret = RFAILED;
-                 }
-           }
+         {
+            switch(pst->event)
+            {
+               case EVTCFG:
+                  {
+                     DU_LOG("\n****** Received initial configs at DU APP ******\n");
+                     duProcCfgComplete();
+                     ODU_PUT_MSG_BUF(mBuf);
+                     break;
+                  }
+               default:
+                  {
+                     DU_LOG("\nERROR  -->  DU_APP : Invalid event received at duActvTsk from ENTDUAPP");
+                     ODU_PUT_MSG_BUF(mBuf);
+                     ret = RFAILED;
+                  }
+            }
 
-           break;
-        }
-      case ENTKW:
-        {
-           switch(pst->event)
-           {
-              case LKW_EVT_CFG_CFM:
-                 {
-                    ret = unpackRlcConfigCfm(DuHdlRlcCfgComplete, pst, mBuf);
-                    break;
-                 }
-              case LKW_EVT_CNTRL_CFM:
-                 {
-                    ret = cmUnpkLkwCntrlCfm(duHdlRlcCntrlCfgComplete, pst, mBuf);
-                    break;
-                 }
-              case LKW_EVT_STA_IND:
-                 {
-                    break;
-                 }
-              case KWU_EVT_DAT_IND:
-                 {
-                    ret = cmUnpkKwuDatInd(duHdlRlcUlData, pst, mBuf);
-                    break;
-                 }
-              case EVENT_RLC_UL_UE_CREATE_RSP:
-                 {
-                    ret = unpackRlcUlUeCreateRsp(DuProcRlcUlUeCreateRsp, pst, mBuf);
-                    break;
-                 }
-              default:
-                 {
-                    DU_LOG("\nDU_APP : Invalid event %d received at duActvTsk from ENTKW", \
-                          pst->event);
-                    SPutMsg(mBuf);
-                    ret = RFAILED;
-                 }
-           }
-           break;
-        }
-      case ENTRG:
-        {
-           switch(pst->event)
-           {
-              //Config complete
-              case EVTCFG:
-                 {
-                    SPutMsg(mBuf);
-                    break;
-                 }
-              case EVTLRGCFGCFM:
-                 {
-                    ret = cmUnpkLrgCfgCfm(duHdlMacCfgComplete, pst, mBuf);
-                    break;
-                 }
-              case EVTLRGCNTRLCFM:
-                 {
-                    break;
-                 }
-              case EVTMACSCHGENCFGCFM:
-                 {
-                    ret = cmUnpkLrgSchCfgCfm(duHdlSchCfgComplete, pst, mBuf);
-                    break;
-                 }
-              case EVENT_MAC_CELL_CONFIG_CFM:
-                 {
-                    ret = unpackMacCellCfgCfm(duHandleMacCellCfgCfm, pst, mBuf);
-                    break;
-                 }
-              case EVENT_MAC_SLOT_IND:
-                 {
-                    ret = unpackMacSlotInd(duHandleSlotInd, pst, mBuf);
-                    break;
-                 }
-              case EVENT_MAC_STOP_IND:
-                 {
-                    ret = unpackMacStopInd(duHandleStopInd, pst, mBuf);
-                    break;
-                 }
-              case EVENT_MAC_UL_CCCH_IND:
-                 {
-                    ret = unpackMacUlCcchInd(duHandleUlCcchInd, pst, mBuf);
-                    break;
-                 }
-              case EVENT_MAC_UE_CREATE_RSP:
-                 {
-                    ret = unpackDuMacUeCreateRsp(DuHandleMacUeCreateRsp, pst, mBuf); 
-                    break;
-                 }
+            break;
+         }
+      case ENTRLC:
+         {
+            switch(pst->event)
+            {
+               case LKW_EVT_CFG_CFM:
+                  {
+                     ret = unpackRlcConfigCfm(DuHdlRlcCfgComplete, pst, mBuf);
+                     break;
+                  }
+               case LKW_EVT_CNTRL_CFM:
+                  {
+                     ret = cmUnpkLkwCntrlCfm(duHdlRlcCntrlCfgComplete, pst, mBuf);
+                     break;
+                  }
+               case LKW_EVT_STA_IND:
+                  {
+                     break;
+                  }
+               case EVENT_RLC_UE_CREATE_RSP:
+                  {
+                     ret = unpackRlcUeCfgRsp(DuProcRlcUeCfgRsp, pst, mBuf);
+                     break;
+                  }
+               case EVENT_RLC_UE_RECONFIG_RSP:
+                  {
+                     ret = unpackRlcUeCfgRsp(DuProcRlcUeCfgRsp, pst, mBuf);
+                     break;
+                  }
+               case EVENT_RLC_UE_DELETE_RSP:
+                  {
+                     ret = unpackRlcUeDeleteRsp(DuProcRlcUeDeleteRsp, pst, mBuf);
+                     break;
+                  }
+               case EVENT_UL_RRC_MSG_TRANS_TO_DU:
+                  {
+                     ret = unpackRlcUlRrcMsgToDu(DuProcRlcUlRrcMsgTrans, pst, mBuf);
+                     break;
+                  }
+               case EVENT_RRC_DELIVERY_MSG_TRANS_TO_DU:
+                  {
+                     ret = unpackRrcDeliveryReportToDu(DuProcRlcRrcDeliveryReport, pst, mBuf);
+                     break;
+                  }
+               case EVENT_DL_RRC_MSG_RSP_TO_DU:
+                  {
+                     ret = unpackRlcDlRrcMsgRspToDu(DuProcRlcDlRrcMsgRsp, pst, mBuf);
+                     break;
+                  }
+               case EVENT_UL_USER_DATA_TRANS_TO_DU:
+                  {
+                     ret = unpackRlcUlUserDataToDu(DuProcRlcUlUserDataTrans, pst, mBuf);
+                     break;
+                  }
+               default:
+                  {
+                     DU_LOG("\nERROR  -->  DU_APP : Invalid event %d received at duActvTsk from ENTRLC", \
+                           pst->event);
+                     ODU_PUT_MSG_BUF(mBuf);
+                     ret = RFAILED;
+                  }
+            }
+            break;
+         }
+      case ENTMAC:
+         {
+            switch(pst->event)
+            {
+               //Config complete
+               case EVTCFG:
+                  {
+                     ODU_PUT_MSG_BUF(mBuf);
+                     break;
+                  }
+               case EVTLRGCFGCFM:
+                  {
+                     ret = cmUnpkLrgCfgCfm(duHdlMacCfgComplete, pst, mBuf);
+                     break;
+                  }
+               case EVTLRGCNTRLCFM:
+                  {
+                     break;
+                  }
+               case EVTMACSCHGENCFGCFM:
+                  {
+                     ret = cmUnpkLrgSchCfgCfm(duHdlSchCfgComplete, pst, mBuf);
+                     break;
+                  }
+               case EVENT_MAC_CELL_CONFIG_CFM:
+                  {
+                     ret = unpackMacCellCfgCfm(duHandleMacCellCfgCfm, pst, mBuf);
+                     break;
+                  }
+               case EVENT_MAC_CELL_UP_IND:
+                  {
+                     ret = unpackMacCellUpInd(duHandleCellUpInd, pst, mBuf);
+                     break;
+                  }
+               case EVENT_MAC_STOP_IND:
+                  {
+                     ret = unpackMacStopInd(duHandleStopInd, pst, mBuf);
+                     break;
+                  }
+               case EVENT_MAC_UL_CCCH_IND:
+                  {
+                     ret = unpackMacUlCcchInd(duHandleUlCcchInd, pst, mBuf);
+                     break;
+                  }
+               case EVENT_MAC_UE_CREATE_RSP:
+                  {
+                     ret = unpackDuMacUeCfgRsp(DuProcMacUeCfgRsp, pst, mBuf); 
+                     break;
+                  }
+               case EVENT_MAC_UE_RECONFIG_RSP:
+                  {
+                     ret = unpackDuMacUeCfgRsp(DuProcMacUeCfgRsp, pst, mBuf); 
+                     break;
+                  }
+               case EVENT_MAC_UE_DELETE_RSP:
+                  {
+                     ret = unpackDuMacUeDeleteRsp(DuProcMacUeDeleteRsp, pst, mBuf);
+                     break;
+                  }
+               case EVENT_MAC_CELL_DELETE_RSP:
+                  {
+                     ret = unpackDuMacCellDeleteRsp(DuProcMacCellDeleteRsp, pst, mBuf);
+                     break;
+                  }
+               default:
+                  {
+                     DU_LOG("\nERROR  -->  DU_APP : Invalid event received at duActvTsk from ENTMAC");
+                     ODU_PUT_MSG_BUF(mBuf);
+                     ret = RFAILED;
+                  }
+            }
 
-              default:
-                 {
-                    DU_LOG("\nDU_APP : Invalid event received at duActvTsk from ENTRG");
-                    SPutMsg(mBuf);
-                    ret = RFAILED;
-                 }
-           }
-
-           break;
-        }
+            break;
+         }
       case ENTSCTP:
-        {
-           switch(pst->event)
-           {
-              case EVENT_CU_DATA:
-                 {
-                    F1APMsgHdlr(mBuf);
-                    break;
-                 }
-              case EVENT_SCTP_NTFY:
-                 {
-                    ret = cmUnpkSctpNtfy(duSctpNtfyHdl, pst, mBuf);
-                    break;
-                 }
-              case EVENT_RIC_DATA:
-                 {
-                    E2APMsgHdlr(mBuf);
-                    break;
-                 }
-              default:
-                 {
-                    DU_LOG("\nDU_APP : Invalid event received at duActvTsk from ENTSCTP");
-                    ret = RFAILED;
-                 }
+         {
+            switch(pst->event)
+            {
+               case EVENT_CU_DATA:
+                  {
+                     F1APMsgHdlr(mBuf);
+                     break;
+                  }
+               case EVENT_SCTP_NTFY:
+                  {
+                     ret = cmUnpkSctpNtfy(duSctpNtfyHdl, pst, mBuf);
+                     break;
+                  }
+               case EVENT_RIC_DATA:
+                  {
+                     E2APMsgHdlr(mBuf);
+                     break;
+                  }
+               default:
+                  {
+                     DU_LOG("\nERROR  -->  DU_APP : Invalid event received at duActvTsk from ENTSCTP");
+                     ret = RFAILED;
+                  }
 
-           }
-           SPutMsg(mBuf);
-           break;
-        }
+            }
+            ODU_PUT_MSG_BUF(mBuf);
+            break;
+         }
       case ENTEGTP:
-        {
-           switch(pst->event)
-           {
-              case EVTCFGCFM:
-                 {
-                    unpackEgtpCfgCfm(duHdlEgtpCfgComplete, mBuf);
-                    break;
-                 }
-              case EVTSRVOPENCFM:
-                 {
-                    unpackEgtpSrvOpenCfm(duHdlEgtpSrvOpenComplete, mBuf);
-                    break;
-                 }
-              case EVTTNLMGMTCFM:
-                 {
-                    unpackEgtpTnlMgmtCfm(duHdlEgtpTnlMgmtCfm, mBuf);
-                    break;
-                 }
-              default:
-                 {
-                    DU_LOG("\nDU_APP : Invalid event[%d] received at duActvTsk from ENTEGTP", pst->event);
-                    ret = RFAILED;
-                 }
-           }
-           SPutMsg(mBuf);
-           break;
-        }
+         {
+            switch(pst->event)
+            {
+               case EVTCFGCFM:
+                  {
+                     unpackEgtpCfgCfm(duHdlEgtpCfgComplete, mBuf);
+                     break;
+                  }
+               case EVTSRVOPENCFM:
+                  {
+                     unpackEgtpSrvOpenCfm(duHdlEgtpSrvOpenComplete, mBuf);
+                     break;
+                  }
+               case EVTTNLMGMTCFM:
+                  {
+                     unpackEgtpTnlMgmtCfm(duHdlEgtpTnlMgmtCfm, mBuf);
+                     break;
+                  }
+               default:
+                  {
+                     DU_LOG("\nERROR  -->  DU_APP : Invalid event[%d] received at duActvTsk from ENTEGTP", pst->event);
+                     ret = RFAILED;
+                  }
+            }
+            ODU_PUT_MSG_BUF(mBuf);
+            break;
+         }
       default:
-        {
-           DU_LOG("\nDU_APP : DU APP can not process message from Entity %d", pst->srcEnt);
-           SPutMsg(mBuf);
-           ret = RFAILED;
-        }
+         {
+            DU_LOG("\nERROR  -->  DU_APP : DU APP can not process message from Entity %d", pst->srcEnt);
+            ODU_PUT_MSG_BUF(mBuf);
+            ret = RFAILED;
+         }
 
    }
-   SExitTsk();
+   ODU_EXIT_TASK();
    return ret;
 }