X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=src%2Fdu_app%2Fdu_cell_mgr.c;h=961ea31ef81dd5c0cbd42ef738bb7fcb2c0f8d1e;hb=bb8df345963bb5ef2e035ead7731c1171e4cbbe0;hp=fb7479831d54e27f88689e55d3385ff66e0a838f;hpb=8660dd47a5ef27b62300fabf6b027852f1d5d026;p=o-du%2Fl2.git diff --git a/src/du_app/du_cell_mgr.c b/src/du_app/du_cell_mgr.c index fb7479831..961ea31ef 100644 --- a/src/du_app/du_cell_mgr.c +++ b/src/du_app/du_cell_mgr.c @@ -18,9 +18,6 @@ /* This file contains message handling functionality for DU APP */ #include "du_cell_mgr.h" -#include "du_cfg.h" -#include "PLMN-Identity.h" -#include "RICeventTriggerDefinition.h" extern DuCfgParams duCfgParam; @@ -52,7 +49,7 @@ S16 procCellsToBeActivated(Cells_to_be_Activated_List_t cellsToActivate) for(idx=0; idx DU_MAX_CELLS) { - pci = *cell.nRPCI; + DU_LOG("\nDU APP : Invalid NCI %d", nci); + return RFAILED; } - if(ROK != (cmHashListFind(&(duCb.cellLst), (U8*) &nci, sizeof(nci), - 0, (PTR*)cellCb))) + + if(cell.nRPCI) { - return RFAILED; + pci = *cell.nRPCI; } + + cellCb = duCb.cfgCellLst[nci-1]; + if(!cellCb) { - DU_LOG("\nDU_APP : HashList Find failed for nci [%d]", nci); + DU_LOG("\nDU APP : No Cell found for NCI %d", nci); return RFAILED; } cellCb->cellStatus = ACTIVATION_IN_PROGRESS; cellCb->cellInfo.nrPci = pci; /* Now remove this cell from configured list and move to active list */ - ret = cmHashListDelete(&(duCb.actvCellLst), (PTR)(cellCb)); - if(ret != ROK) - { - DU_LOG("\nDU_APP : HashListInsert into ActvCellLst failed for [%d]", nci); - } - ret = cmHashListInsert(&(duCb.actvCellLst), (PTR)(cellCb), - (U8 *)&(nci), (U16) sizeof(nci)); - - if(ret != ROK) - { - DU_LOG("\nDU_APP : HashListInsert into ActvCellLst failed for [%d]", nci); - break; - } - else - { - DU_LOG("\nDU_APP : HashListInsert into ActvCellLst successful for [%d]", nci); - } + duCb.cfgCellLst[nci-1] = NULLP; + duCb.actvCellLst[nci-1] = cellCb; } /* Start sending scheduler config */ @@ -106,145 +92,6 @@ S16 procCellsToBeActivated(Cells_to_be_Activated_List_t cellsToActivate) return ROK; } -/****************************************************************** -* -* @brief Processes E2 Setup Response sent by RIC -* -* @details -* -* Function : procE2SetupRsp -* -* Functionality: Processes E2 Setup Response sent by RIC -* -* @params[in] E2AP_PDU_t ASN decoded E2AP message -* @return ROK - success -* RFAILED - failure -* -* ****************************************************************/ -S16 procE2SetupRsp(E2AP_PDU_t *e2apMsg) -{ - E2setupResponse_t *e2SetRspMsg; - E2apMsgDb e2SetupRspDb; - U8 idx; - - DU_LOG("\nE2AP : E2 Setup Response received"); - duCb.e2Status = TRUE; //Set E2 status as true - e2SetRspMsg = &e2apMsg->choice.successfulOutcome->value.choice.E2setupResponse; - - for(idx=0; idxprotocolIEs.list.count; idx++) - { - switch(e2SetRspMsg->protocolIEs.list.array[idx]->id) - { - case ProtocolIE_IDE2_id_GlobalRIC_ID: - { - /* To store the Ric Id Params */ - U32 recvBufLen; - memset(&e2SetupRspDb.plmn, 0, sizeof(PLMN_IdentityE2_t)); - - recvBufLen = sizeof(e2SetRspMsg->protocolIEs.list.array[idx]->value.choice.GlobalRIC_ID.pLMN_Identity); - - bitStringToInt(&e2SetRspMsg->protocolIEs.list.array[idx]->value.choice.GlobalRIC_ID.ric_ID, &e2SetupRspDb.ricId); - - aper_decode(0, &asn_DEF_PLMN_IdentityE2, (void **)&e2SetupRspDb.plmn, &e2SetRspMsg->protocolIEs.list.array[idx]->value.choice.GlobalRIC_ID.pLMN_Identity, recvBufLen, 0, 0); - //xer_fprint(stdout, &asn_DEF_PLMN_IdentityE2, &e2SetupRspDb.plmn); - - break; - } - default: - DU_LOG("\nE2AP : Invalid IE received in E2SetupRsp:%ld", - e2SetRspMsg->protocolIEs.list.array[idx]->id); - break; - } - } - RETVALUE(ROK); -} - -/****************************************************************** -* -* @brief Processes RIC Subscription Req sent by RIC -* -* @details -* -* Function : procRicSubsReq -* -* Functionality: Processes E2 Setup Response sent by CU -* -* @params[in] E2AP_PDU_t ASN decoded E2AP message -* @return ROK - success -* RFAILED - failure -* -* ****************************************************************/ - -S16 procRicSubsReq(E2AP_PDU_t *e2apMsg) -{ - S16 ret = ROK; - U8 idx; - U8 ied; - RICsubscriptionRequest_t *ricSubsReq; - RICaction_ToBeSetup_ItemIEs_t *actionItem; - E2apMsgDb ricReqDb; - - DU_LOG("\nE2AP : Ric Subscription request received"); - ricSubsReq = &e2apMsg->choice.initiatingMessage->value.choice.RICsubscriptionRequest; - - for(idx=0; idxprotocolIEs.list.count; idx++) - { - switch(ricSubsReq->protocolIEs.list.array[idx]->id) - { - case ProtocolIE_IDE2_id_RICrequestID: - { - ricReqDb.ricReqId = ricSubsReq->protocolIEs.list.array[idx]->value.choice.RICrequestID.ricRequestorID; - ricReqDb.ricInstanceId = ricSubsReq->protocolIEs.list.array[idx]->value.choice.RICrequestID.ricInstanceID; - break; - } - case ProtocolIE_IDE2_id_RANfunctionID: - { - ricReqDb.ranFuncId = ricSubsReq->protocolIEs.list.array[idx]->value.choice.RANfunctionID; - break; - } - case ProtocolIE_IDE2_id_RICsubscriptionDetails: - { - U32 recvBufLen; - memset(&ricReqDb.ricEventTrigger, 0, sizeof(RICeventTriggerDefinition_t)); - - recvBufLen = sizeof(ricSubsReq->protocolIEs.list.array[idx]->value.choice.RICsubscriptionDetails.ricEventTriggerDefinition); - - aper_decode(0, &asn_DEF_RICeventTriggerDefinition, (void **)&ricReqDb.ricEventTrigger, &(ricSubsReq->protocolIEs.list.array[idx]->value.choice.RICsubscriptionDetails.ricEventTriggerDefinition), recvBufLen, 0, 0); - //xer_fprint(stdout, &asn_DEF_RICeventTriggerDefinition, &ricReqDb.ricEventTrigger); - - actionItem = *ricSubsReq->protocolIEs.list.array[idx]->value.choice.RICsubscriptionDetails.ricAction_ToBeSetup_List.list.array; - - for(ied = 0; ied < ricSubsReq->protocolIEs.list.array[idx]->value.choice.\ - RICsubscriptionDetails.ricAction_ToBeSetup_List.list.count; ied++) - { - switch(actionItem->id) - { - case ProtocolIE_IDE2_id_RICaction_ToBeSetup_Item: - { - ricReqDb.ricActionId = actionItem->value.choice.RICaction_ToBeSetup_Item.ricActionID; - ricReqDb.ricActionType = actionItem->value.choice.RICaction_ToBeSetup_Item.ricActionType; - break; - } - default: - DU_LOG("\nE2AP : Invalid IE received in RicSetupLst:%ld",actionItem->id); - break; - } - } - - break; - } - - default: - DU_LOG("\nE2AP : Invalid IE received in Ric SubsReq:%ld", - ricSubsReq->protocolIEs.list.array[idx]->id); - break; - } - } - ret = BuildAndSendRicSubscriptionRsp(); - - RETVALUE(ret); -} - /****************************************************************** * * @brief Processes F1 Setup Response sent by CU