X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=src%2Fdu_app%2Fdu_mgr_ex_ms.c;h=25c1842913f280940529fa765d1400013b45e94d;hb=5007af25423493fbc002e30d847aa05d44bc180e;hp=d2240b37cc67d48e0f8548e85a3f07e77c2d5b59;hpb=18fbca81feebe0cf45f205c1c580c574741292b0;p=o-du%2Fl2.git diff --git a/src/du_app/du_mgr_ex_ms.c b/src/du_app/du_mgr_ex_ms.c index d2240b37c..25c184291 100644 --- a/src/du_app/du_mgr_ex_ms.c +++ b/src/du_app/du_mgr_ex_ms.c @@ -14,20 +14,37 @@ # See the License for the specific language governing permissions and # # limitations under the License. # ################################################################################ -*******************************************************************************/ + *******************************************************************************/ /* This file contains message handling functionality for DU APP */ - -#include "du_sctp.h" -#include "du_f1ap_msg_hdl.h" +#include "common_def.h" +#include "lrg.h" +#include "legtp.h" #include "lsctp.h" #include "legtp.h" -#include "du_mgr_mac_inf.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); +#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 "du_app_mac_inf.h" +#include "du_ue_mgr.h" +#include "du_utils.h" +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. * @@ -48,9 +65,13 @@ extern S16 cmUnpkLrgCfgCfm(LrgCfgCfm 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) { - duCb.init.procId = SFndProcId(); + uint8_t id; + + memset(&duCb, 0, sizeof(DuCb)); + + duCb.init.procId = ODU_GET_PROCID(); duCb.init.ent = entity; duCb.init.inst = inst; duCb.init.region = region; @@ -64,30 +85,19 @@ S16 duActvInit(Ent entity, Inst inst, Region region, Reason reason) duCb.mem.pool = DU_POOL; duCb.f1Status = FALSE; + duCb.e2Status = FALSE; - if(ROK != cmHashListInit(&(duCb.cellLst), - (U16) DU_MAX_CELLS, - (U16) 0, - (Bool) FALSE, - (U16) CM_HASH_KEYTYPE_CONID, - 0, - 0)) - { - DU_LOG("\nDU_APP : cellLst Initialization Failed"); - } - - if(ROK != cmHashListInit(&(duCb.actvCellLst), - (U16) DU_MAX_CELLS, - (U16) 0, - (Bool) FALSE, - (U16) CM_HASH_KEYTYPE_CONID, - 0, - 0)) + for(id = 0; id < MAX_NUM_CELL; id ++) { - DU_LOG("\nDU_APP : ActvCellLst Initialization Failed"); + duCb.cfgCellLst[id] = NULL; + duCb.actvCellLst[id] = NULL; } + duCb.numUe = 0; + 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; @@ -113,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) { @@ -127,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); + DU_LOG("\nERROR --> DU_APP : Invalid event received at duActvTsk from ENTDUAPP"); + 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: @@ -158,24 +168,59 @@ S16 duActvTsk(Pst *pst, Buffer *mBuf) { 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("\nDU_APP : Invalid event %d received at duActvTsk from ENTKW", \ + DU_LOG("\nERROR --> DU_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: @@ -197,10 +242,45 @@ S16 duActvTsk(Pst *pst, Buffer *mBuf) 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("\nDU_APP : Invalid event received at duActvTsk from ENTRG"); - SPutMsg(mBuf); + DU_LOG("\nERROR --> DU_APP : Invalid event received at duActvTsk from ENTMAC"); + ODU_PUT_MSG_BUF(mBuf); ret = RFAILED; } } @@ -211,24 +291,29 @@ S16 duActvTsk(Pst *pst, Buffer *mBuf) { switch(pst->event) { - case EVTSCTPDATA: - { - F1APMsgHdlr(mBuf); - break; - } - case EVTSCTPNTFY: - { - ret = cmUnpkSctpNtfy(duSctpNtfyHdl, pst, mBuf); - break; - } + 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; - } + { + DU_LOG("\nERROR --> DU_APP : Invalid event received at duActvTsk from ENTSCTP"); + ret = RFAILED; + } } - SPutMsg(mBuf); + ODU_PUT_MSG_BUF(mBuf); break; } case ENTEGTP: @@ -236,41 +321,41 @@ S16 duActvTsk(Pst *pst, Buffer *mBuf) switch(pst->event) { case EVTCFGCFM: - { - cmUnpkEgtpCfgCfm(duHdlEgtpCfgComplete, mBuf); - break; - } + { + unpackEgtpCfgCfm(duHdlEgtpCfgComplete, mBuf); + break; + } case EVTSRVOPENCFM: - { - cmUnpkEgtpSrvOpenCfm(duHdlEgtpSrvOpenComplete, mBuf); - break; - } + { + unpackEgtpSrvOpenCfm(duHdlEgtpSrvOpenComplete, mBuf); + break; + } case EVTTNLMGMTCFM: - { - cmUnpkEgtpTnlMgmtCfm(duHdlEgtpTnlMgmtCfm, mBuf); - break; - } + { + unpackEgtpTnlMgmtCfm(duHdlEgtpTnlMgmtCfm, mBuf); + break; + } default: - { - DU_LOG("\nDU_APP : Invalid event[%d] received at duActvTsk from ENTEGTP", pst->event); - ret = RFAILED; - } + { + DU_LOG("\nERROR --> DU_APP : Invalid event[%d] received at duActvTsk from ENTEGTP", pst->event); + 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); + 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; } /********************************************************************** - End of file -**********************************************************************/ + End of file + **********************************************************************/