RLC BO, BO response and DL Data handling. [Issue-ID: ODUHIGH-181]
[o-du/l2.git] / src / du_app / du_mgr_ex_ms.c
index d7b2107..76fabd6 100644 (file)
 #include "common_def.h"
 #include "lrg.h"
 #include "legtp.h"
+#include "lsctp.h"
+#include "legtp.h"
 #include "lkw.h"
+#include "kwu.h"
 #include "lrg.x"
 #include "lkw.x"
+#include "kwu.x"
+#include "du_app_mac_inf.h"
+#include "du_app_rlc_inf.h"
 #include "du_cfg.h"
+#include "du_mgr.h"
 #include "E2AP-PDU.h"
 #include "du_sctp.h"
+#include "F1AP-PDU.h"
 #include "du_f1ap_msg_hdl.h"
 #include "du_e2ap_msg_hdl.h"
-#include "lsctp.h"
-#include "legtp.h"
 #include "du_app_mac_inf.h"
 #include "du_ue_mgr.h"
-#include "kwu.x"
+#include "du_utils.h"
 
-extern S16 cmUnpkLkwCfgCfm(LkwCfgCfm func,Pst *pst, Buffer *mBuf);
-extern S16 cmUnpkLkwCntrlCfm(LkwCntrlCfm func,Pst *pst, Buffer *mBuf);
-extern S16 cmUnpkLrgCfgCfm(LrgCfgCfm func,Pst *pst, Buffer *mBuf);
-extern S16 cmUnpkKwuDatInd(KwuDatInd func,Pst *pst, Buffer *mBuf);
-extern S16 cmUnpkLrgSchCfgCfm(LrgSchCfgCfm func,Pst *pst,Buffer *mBuf);
+extern uint8_t unpackRlcConfigCfm(RlcConfigCfm func,Pst *pst, Buffer *mBuf);
+extern uint8_t cmUnpkLkwCntrlCfm(LkwCntrlCfm func,Pst *pst, Buffer *mBuf);
+extern uint8_t cmUnpkLrgCfgCfm(LrgCfgCfm func,Pst *pst, Buffer *mBuf);
+extern uint8_t cmUnpkKwuDatInd(KwuDatInd func,Pst *pst, Buffer *mBuf);
+extern uint8_t cmUnpkLrgSchCfgCfm(LrgSchCfgCfm func,Pst *pst,Buffer *mBuf);
 /**************************************************************************
  * @brief Task Initiation callback function. 
  *
@@ -59,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;
@@ -81,16 +87,17 @@ S16 duActvInit(Ent entity, Inst inst, Region region, Reason reason)
    duCb.f1Status     = FALSE;
    duCb.e2Status     = FALSE;
 
-   for(id = 0; id < DU_MAX_CELLS; id ++)
+   for(id = 0; id < MAX_NUM_CELL; id ++)
    {
       duCb.cfgCellLst[id] = NULL;
       duCb.actvCellLst[id] = NULL;
    }
    duCb.numUe = 0;
-   memset(duCb.ueCcchCtxt, 0, DU_MAX_UE * sizeof(UeCcchCtxt));
+   memset(duCb.ueCcchCtxt, 0, MAX_NUM_UE * sizeof(UeCcchCtxt));
    duCb.numCfgCells  = 0;
    duCb.numActvCells = 0;
-   SSetProcId(DU_PROC);
+
+   ODU_SET_PROC_ID(DU_PROC);
 
    return ROK;
 
@@ -116,9 +123,9 @@ 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)
    {
@@ -130,26 +137,26 @@ S16 duActvTsk(Pst *pst, Buffer *mBuf)
                  {
                     DU_LOG("\n****** Received initial configs at DU APP ******\n");
                     duProcCfgComplete();
-                    SPutMsg(mBuf);
+                    ODU_PUT_MSG_BUF(mBuf);
                     break;
                  }
               default:
                  {
                     DU_LOG("\nDU_APP : Invalid event received at duActvTsk from ENTDUAPP");
-                    SPutMsg(mBuf);
+                    ODU_PUT_MSG_BUF(mBuf);
                     ret = RFAILED;
                  }
            }
 
            break;
         }
-      case ENTKW:
+      case ENTRLC:
         {
            switch(pst->event)
            {
               case LKW_EVT_CFG_CFM:
                  {
-                    ret = cmUnpkLkwCfgCfm(duHdlRlcCfgComplete, pst, mBuf);
+                    ret = unpackRlcConfigCfm(DuHdlRlcCfgComplete, pst, mBuf);
                     break;
                  }
               case LKW_EVT_CNTRL_CFM:
@@ -161,29 +168,39 @@ S16 duActvTsk(Pst *pst, Buffer *mBuf)
                  {
                     break;
                  }
-              case KWU_EVT_DAT_IND:
+              case EVENT_RLC_UL_UE_CREATE_RSP:
                  {
-                    ret = cmUnpkKwuDatInd(duHdlRlcUlData, pst, mBuf);
+                    ret = unpackRlcUlUeCreateRsp(DuProcRlcUlUeCreateRsp, 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;
                  }
               default:
                  {
-                    DU_LOG("\nDU_APP : Invalid event %d received at duActvTsk from ENTKW", \
+                    DU_LOG("\nDU_APP : Invalid event %d received at duActvTsk from ENTRLC", \
                           pst->event);
-                    SPutMsg(mBuf);
+                    ODU_PUT_MSG_BUF(mBuf);
                     ret = RFAILED;
                  }
            }
            break;
         }
-      case ENTRG:
+      case ENTMAC:
         {
            switch(pst->event)
            {
               //Config complete
               case EVTCFG:
                  {
-                    SPutMsg(mBuf);
+                    ODU_PUT_MSG_BUF(mBuf);
                     break;
                  }
               case EVTLRGCFGCFM:
@@ -222,13 +239,14 @@ S16 duActvTsk(Pst *pst, Buffer *mBuf)
                  }
               case EVENT_MAC_UE_CREATE_RSP:
                  {
-                    ret = unpackDuMacUeCreateRsp(duHandleMacUeCreateRsp, pst, mBuf); 
+                    ret = unpackDuMacUeCreateRsp(DuHandleMacUeCreateRsp, pst, mBuf); 
+                    break;
                  }
 
               default:
                  {
-                    DU_LOG("\nDU_APP : Invalid event received at duActvTsk from ENTRG");
-                    SPutMsg(mBuf);
+                    DU_LOG("\nDU_APP : Invalid event received at duActvTsk from ENTMAC");
+                    ODU_PUT_MSG_BUF(mBuf);
                     ret = RFAILED;
                  }
            }
@@ -261,7 +279,7 @@ S16 duActvTsk(Pst *pst, Buffer *mBuf)
                  }
 
            }
-           SPutMsg(mBuf);
+           ODU_PUT_MSG_BUF(mBuf);
            break;
         }
       case ENTEGTP:
@@ -289,18 +307,18 @@ S16 duActvTsk(Pst *pst, Buffer *mBuf)
                     ret = RFAILED;
                  }
            }
-           SPutMsg(mBuf);
+           ODU_PUT_MSG_BUF(mBuf);
            break;
         }
       default:
         {
            DU_LOG("\nDU_APP : DU APP can not process message from Entity %d", pst->srcEnt);
-           SPutMsg(mBuf);
+           ODU_PUT_MSG_BUF(mBuf);
            ret = RFAILED;
         }
 
    }
-   SExitTsk();
+   ODU_EXIT_TASK();
    return ret;
 }