From: lal.harshita Date: Fri, 15 Dec 2023 11:20:17 +0000 (+0530) Subject: [Epic-ID: ODUHIGH-516][Task-ID: ODUHIGH-553] Transid fixes in E2AP procedures X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=commitdiff_plain;h=df97420828852456256f46cfb7b921c12bd9285e;p=o-du%2Fl2.git [Epic-ID: ODUHIGH-516][Task-ID: ODUHIGH-553] Transid fixes in E2AP procedures Change-Id: Ie84adb8015bd9d34e0247f3959ad681d6b8d2a73 Signed-off-by: pborla --- diff --git a/build/odu/makefile b/build/odu/makefile index 1ab9d25a8..871e65087 100644 --- a/build/odu/makefile +++ b/build/odu/makefile @@ -74,7 +74,7 @@ endif # macro for output file name and makefile name # -PLTFRM_FLAGS= -UMSPD -DODU -DINTEL_FAPI -UODU_MEMORY_DEBUG_LOG -DDEBUG_ASN_PRINT -UDEBUG_PRINT -DERROR_PRINT -USTART_DL_UL_DATA -UNR_DRX -UCALL_FLOW_DEBUG_LOG -UODU_SLOT_IND_DEBUG_LOG -UKPI_CALCULATION +PLTFRM_FLAGS= -UMSPD -DODU -DINTEL_FAPI -UODU_MEMORY_DEBUG_LOG -DDEBUG_ASN_PRINT -UDEBUG_PRINT -DERROR_PRINT -USTART_DL_UL_DATA -UNR_DRX -UCALL_FLOW_DEBUG_LOG -UODU_SLOT_IND_DEBUG_LOG ifeq ($(MODE),TDD) PLTFRM_FLAGS += -DNR_TDD diff --git a/src/5gnrmac/mac_cfg_hdl.c b/src/5gnrmac/mac_cfg_hdl.c index 6b09b9a4a..dac40baef 100644 --- a/src/5gnrmac/mac_cfg_hdl.c +++ b/src/5gnrmac/mac_cfg_hdl.c @@ -1058,11 +1058,6 @@ uint8_t MacSendStatsRspToDuApp(MacStatsRsp *statsRsp) DU_LOG("\nINFO --> MAC : MacSendStatsRspToDuApp: Sending Statistics Response to DU APP"); - /* Workaround : To skip corrupted memory, allocating a pointer that will - * remain unused */ - uint8_t *dummyPtr = NULLP; - MAC_ALLOC_SHRABL_BUF(dummyPtr, sizeof(uint8_t)); - MAC_ALLOC_SHRABL_BUF(macStatsRsp, sizeof(MacStatsRsp)); if(macStatsRsp == NULLP) { @@ -1084,8 +1079,6 @@ uint8_t MacSendStatsRspToDuApp(MacStatsRsp *statsRsp) } } - /* Workaround : Freeing the dummy pointer */ - MAC_FREE_SHRABL_BUF(MAC_MEM_REGION, MAC_POOL, dummyPtr, sizeof(uint8_t)); return ret; } diff --git a/src/du_app/du_e2ap_msg_hdl.c b/src/du_app/du_e2ap_msg_hdl.c index 4f04acab1..bfd29e8dd 100644 --- a/src/du_app/du_e2ap_msg_hdl.c +++ b/src/du_app/du_e2ap_msg_hdl.c @@ -646,7 +646,7 @@ void FreeErrorIndication(E2AP_PDU_t *e2apMsg) * ******************************************************************/ -uint8_t BuildAndSendErrorIndication(int8_t transId, RicRequestId requestId, uint16_t ranFuncId, E2FailureCause failureCause) +uint8_t BuildAndSendErrorIndication(uint16_t transId, RicRequestId requestId, uint16_t ranFuncId, E2FailureCause failureCause) { uint8_t elementCnt =0, arrIdx=0, ret = RFAILED; E2AP_PDU_t *e2apMsg = NULLP; @@ -835,7 +835,8 @@ void freeAperDecodingOfE2NodeConfigUpdateFailure(E2nodeConfigurationUpdateFailur void procE2NodeConfigUpdateFailure(E2AP_PDU_t *e2apMsg) { - uint8_t arrIdx =0, transId =0, timerValue=0; + uint8_t arrIdx =0, timerValue=0; + uint16_t transId =0; E2nodeConfigurationUpdateFailure_t *e2NodeCfgUpdFail=NULL; DU_LOG("\nINFO --> E2AP : E2 Node Config Update failure received"); @@ -1993,8 +1994,8 @@ void FreeE2SetupReq(E2AP_PDU_t *e2apMsg) uint8_t BuildAndSendE2SetupReq() { - uint8_t arrIdx = 0, elementCnt=0; - uint8_t transId = 0, ret = RFAILED; + uint16_t transId = 0; + uint8_t arrIdx = 0, elementCnt=0, ret =RFAILED; bool memAllocFailed = false; E2AP_PDU_t *e2apMsg = NULLP; E2setupRequest_t *e2SetupReq = NULLP; @@ -2704,9 +2705,14 @@ void handleE2NodeConfigUpdateAckIes(PTR e2NodeCfg, uint8_t procedureCode) void procE2SetupRsp(E2AP_PDU_t *e2apMsg) { bool invalidTransId = false; - uint8_t arrIdx =0, transId=0, idx=0; + uint8_t arrIdx =0, idx=0; + uint16_t transId=0; uint32_t recvBufLen; E2setupResponse_t *e2SetRspMsg=NULL; + RANfunctionsID_List_t *ranFuncAcceptedList=NULL; + RANfunctionID_ItemIEs_t *ranFuncAcceptedItemIe=NULL; + RANfunctionsIDcause_List_t *ranFuncRejectedList=NULL; + RANfunctionIDcause_ItemIEs_t *ranFuncRejectedItemIe=NULL; E2nodeComponentConfigAdditionAck_List_t *e2NodeCfgAckList=NULL; E2nodeComponentConfigAdditionAck_ItemIEs_t *e2NodeAddAckItem=NULL; @@ -2753,11 +2759,31 @@ void procE2SetupRsp(E2AP_PDU_t *e2apMsg) { e2NodeAddAckItem = (E2nodeComponentConfigAdditionAck_ItemIEs_t*) e2NodeCfgAckList->list.array[idx]; handleE2NodeConfigUpdateAckIes((PTR)&e2NodeAddAckItem->value.choice.E2nodeComponentConfigAdditionAck_Item,\ - ProtocolIE_IDE2_id_E2nodeComponentConfigAdditionAck); + ProtocolIE_IDE2_id_E2nodeComponentConfigAdditionAck); + } + break; + } + case ProtocolIE_IDE2_id_RANfunctionsAccepted: + { + ranFuncAcceptedList = &e2SetRspMsg->protocolIEs.list.array[arrIdx]->value.choice.RANfunctionsID_List; + for(idx =0; idx list.count; idx++) + { + ranFuncAcceptedItemIe = (RANfunctionID_ItemIEs_t*)ranFuncAcceptedList->list.array[idx]; + DU_LOG("\nINFO --> E2AP : Ran function id [%ld] accepted",ranFuncAcceptedItemIe->value.choice.RANfunctionID_Item.ranFunctionID); } break; } + case ProtocolIE_IDE2_id_RANfunctionsRejected: + { + ranFuncRejectedList = &e2SetRspMsg->protocolIEs.list.array[arrIdx]->value.choice.RANfunctionsIDcause_List; + for(idx =0; idx list.count; idx++) + { + ranFuncRejectedItemIe = (RANfunctionIDcause_ItemIEs_t*)ranFuncRejectedList->list.array[idx]; + DU_LOG("\nINFO --> E2AP : Ran function id [%ld] rejected",ranFuncRejectedItemIe->value.choice.RANfunctionIDcause_Item.ranFunctionID); + } + break; + } default: { DU_LOG("\nERROR --> E2AP : Invalid IE received in E2SetupRsp:%ld", @@ -3566,10 +3592,8 @@ uint8_t procRicSubscriptionRequest(E2AP_PDU_t *e2apMsg) ranFuncDb->numPendingSubsRsp++; -#ifdef KPI_CALCULATION /* Send statistics request to other DU entities */ BuildAndSendStatsReq(ricSubscriptionInfo); -#endif } else { @@ -4873,7 +4897,8 @@ void FreeE2NodeConfigUpdate(E2AP_PDU_t *e2apMsg) uint8_t BuildAndSendE2NodeConfigUpdate(E2NodeConfigList *e2NodeList) { uint8_t ret = RFAILED; - uint8_t arrIdx = 0,elementCnt = 0, transId=0; + uint8_t arrIdx = 0,elementCnt = 0; + uint16_t transId=0; E2AP_PDU_t *e2apMsg = NULLP; asn_enc_rval_t encRetVal; /* Encoder return value */ E2nodeConfigurationUpdate_t *e2NodeConfigUpdate = NULLP; @@ -5081,7 +5106,8 @@ void FreeE2ResetRequest(E2AP_PDU_t *e2apMsg) * ****************************************************************/ uint8_t BuildAndSendE2ResetRequest(E2FailureCause resetCause) { - uint8_t ieIdx = 0, elementCnt = 0, transId = 0; + uint8_t ieIdx = 0, elementCnt = 0; + uint16_t transId = 0; uint8_t ret = RFAILED; E2AP_PDU_t *e2apMsg = NULLP; ResetRequestE2_t *resetReq = NULLP; @@ -5254,7 +5280,8 @@ void freeAperDecodingOfE2ResetRsp(ResetResponseE2_t *resetResponse) void procResetResponse(E2AP_PDU_t *e2apMsg) { bool invalidTransId=false; - uint8_t ieIdx =0, transId =0; + uint8_t ieIdx =0; + uint16_t transId =0; uint16_t ranFuncIdx=0; ResetResponseE2_t *resetResponse =NULLP; @@ -5360,7 +5387,8 @@ void freeAperDecodingOfE2SetupFailure(E2setupFailure_t *e2SetupFailure) * ****************************************************************/ void procE2SetupFailure(E2AP_PDU_t *e2apMsg) { - uint8_t arrIdx =0, transId =0, timerValue=0; + uint16_t transId =0; + uint8_t arrIdx =0, timerValue=0; E2setupFailure_t *e2SetupFailure; DU_LOG("\nINFO --> E2AP : E2 Setup failure received"); @@ -5622,9 +5650,9 @@ void FreeRicServiceUpdate(E2AP_PDU_t *e2apMsg) uint8_t BuildAndSendRicServiceUpdate(RicServiceUpdate serviceUpdate) { - uint8_t arrIdx = 0, elementCnt=0; - uint8_t transId = 0, ret = RFAILED; + uint16_t transId = 0; bool memAllocFailed =false; + uint8_t arrIdx = 0, elementCnt=0,ret = RFAILED; E2AP_PDU_t *e2apMsg = NULLP; RICserviceUpdate_t *ricServiceUpdate = NULLP; asn_enc_rval_t encRetVal; /* Encoder return value */ @@ -5970,7 +5998,8 @@ void freeAperDecodingOfRicServiceUpdateAck(RICserviceUpdateAcknowledge_t *ricSer void procRicServiceUpdateAck(E2AP_PDU_t *e2apMsg) { - uint8_t arrIdx =0, transId =0; + uint8_t arrIdx =0; + uint16_t transId =0; uint16_t id =0, tmpIdx=0, ranFuncIdx=0; RicServiceUpdate serviceUpdate; RANfunctionsIDcause_List_t *rejectedList=NULL; @@ -7017,7 +7046,7 @@ void FreeE2ResetResponse(E2AP_PDU_t *e2apMsg) * RFAILED - failure * * ****************************************************************/ -uint8_t BuildAndSendResetResponse(uint8_t transId) +uint8_t BuildAndSendResetResponse(uint16_t transId) { uint8_t ieIdx = 0, elementCnt = 0; uint8_t ret = RFAILED; @@ -7163,8 +7192,9 @@ void freeAperDecodingOfE2ResetReq(ResetRequestE2_t *resetReq) void procE2ResetRequest(E2AP_PDU_t *e2apMsg) { + uint8_t arrIdx =0; + uint16_t transId =0; uint16_t ranFuncIdx=0; - uint8_t arrIdx =0, transId =0; ResetRequestE2_t *resetReq; DU_LOG("\nINFO --> E2AP : E2 Reset request received"); @@ -8373,8 +8403,9 @@ void FreeRemovalRequest(E2AP_PDU_t *e2apMsg) uint8_t BuildAndSendRemovalRequest() { - uint8_t ieIdx = 0, elementCnt = 0, transId = 0; + uint16_t transId = 0; uint8_t ret = RFAILED; + uint8_t ieIdx = 0, elementCnt = 0; E2AP_PDU_t *e2apMsg = NULLP; E2RemovalRequest_t *removalReq = NULLP; asn_enc_rval_t encRetVal; /* Encoder return value */ @@ -8531,7 +8562,8 @@ void freeAperDecodingOfE2RemovalFailure(E2RemovalFailure_t *removalFailure) * ****************************************************************/ void ProcE2RemovalFailure(E2AP_PDU_t *e2apMsg) { - uint8_t ieIdx = 0, transId=0; + uint8_t ieIdx = 0; + uint16_t transId=0; CauseE2_t *cause = NULLP; E2RemovalFailure_t *e2RemovalFailure=NULLP; @@ -8634,7 +8666,8 @@ void ProcE2RemovalFailure(E2AP_PDU_t *e2apMsg) void ProcE2RemovalResponse(E2AP_PDU_t *e2apMsg) { - uint8_t ieIdx = 0, transId=0; + uint8_t ieIdx = 0; + uint16_t transId=0; E2RemovalResponse_t *removalRsp = NULLP; removalRsp = &e2apMsg->choice.successfulOutcome->value.choice.E2RemovalResponse; @@ -9457,7 +9490,8 @@ void handleE2ConnectionRemoval(E2connectionUpdateRemove_List_t *connectionRemova void procE2ConnectionUpdate(E2AP_PDU_t *e2apMsg) { - uint8_t arrIdx =0, transId =0; + uint8_t arrIdx =0; + uint16_t transId =0; bool invalidTransId = false, connectionFailedToUpdate=false; E2FailureCause failureCause; E2ConnectionList connectionInfoList; diff --git a/src/ric_stub/ric_e2ap_msg_hdl.c b/src/ric_stub/ric_e2ap_msg_hdl.c index 36335528a..c5ede0bcb 100644 --- a/src/ric_stub/ric_e2ap_msg_hdl.c +++ b/src/ric_stub/ric_e2ap_msg_hdl.c @@ -333,7 +333,8 @@ void FreeRemovalRequest(E2AP_PDU_t *e2apMsg) * ****************************************************************/ uint8_t BuildAndSendRemovalRequest(DuDb *duDb) { - uint8_t ieIdx = 0, elementCnt = 0, transId = 0; + uint8_t ieIdx = 0, elementCnt = 0; + uint16_t transId = 0; uint8_t ret = RFAILED; E2AP_PDU_t *e2apMsg = NULLP; E2RemovalRequest_t *removalReq = NULLP; @@ -829,7 +830,7 @@ void FreeE2ConfigUpdateFail(E2AP_PDU_t *e2apMsg) * * ****************************************************************/ -uint8_t BuildAndSendE2NodeConfigUpdateFailure(uint32_t duId, uint8_t transId, uint8_t causeInfo, uint8_t causeReason) +uint8_t BuildAndSendE2NodeConfigUpdateFailure(uint32_t duId, uint16_t transId, uint8_t causeInfo, uint8_t causeReason) { E2AP_PDU_t *e2apMsg = NULL; asn_enc_rval_t encRetVal; @@ -965,7 +966,8 @@ void ProcE2NodeConfigUpdate(uint32_t duId, E2nodeConfigurationUpdate_t *e2NodeCo DuDb *duDb = NULLP; E2NodeConfigList tmpE2NodeList; uint16_t arrIdx=0; - uint8_t ieIdx = 0, duIdx = 0, elementCnt=0, transId = 0; + uint8_t ieIdx = 0, duIdx = 0, elementCnt=0; + uint16_t transId = 0; E2nodeComponentConfigAddition_List_t *e2NodeAddList=NULL; E2nodeComponentConfigAddition_ItemIEs_t *e2NodeAddItemIe=NULL; E2nodeComponentConfigAddition_Item_t *e2NodeAddItem=NULL; @@ -1360,10 +1362,7 @@ uint8_t fillE2NodeConfigAck(PTR e2NodeCfg, uint8_t procedureCode, E2NodeComponen uint8_t BuildE2nodeComponentConfigAdditionAck(E2nodeComponentConfigAdditionAck_List_t *e2NodeConfigAdditionAckList, \ uint16_t addedE2NodeCount, E2NodeConfigItem *addedE2Node) { - E2NodeComponent *e2NodeComponentInfo=NULLP; - CmLList *node=NULLP; uint16_t arrIdx = 0; - E2nodeComponentConfigAdditionAck_Item_t *e2NodeAddAckItem=NULLP; E2nodeComponentConfigAdditionAck_ItemIEs_t *e2NodeAddAckItemIe=NULLP; e2NodeConfigAdditionAckList->list.count = addedE2NodeCount; @@ -1388,7 +1387,6 @@ uint16_t addedE2NodeCount, E2NodeConfigItem *addedE2Node) e2NodeAddAckItemIe->id = ProtocolIE_IDE2_id_E2nodeComponentConfigAdditionAck_Item; e2NodeAddAckItemIe->criticality = CriticalityE2_reject; e2NodeAddAckItemIe->value.present = E2nodeComponentConfigAdditionAck_ItemIEs__value_PR_E2nodeComponentConfigAdditionAck_Item; - e2NodeAddAckItem = &e2NodeAddAckItemIe->value.choice.E2nodeComponentConfigAdditionAck_Item; /* Filling the e2 node config addition ack item */ fillE2NodeConfigAck((PTR)&e2NodeAddAckItemIe->value.choice.E2nodeComponentConfigAdditionAck_Item, ProtocolIE_IDE2_id_E2nodeComponentConfigAdditionAck,\ @@ -1496,7 +1494,7 @@ uint8_t BuildRanFunctionAcceptedList(DuDb *duDb, uint8_t count, RanFunction *ran * * ****************************************************************/ -uint8_t BuildAndSendE2SetupRsp(DuDb *duDb, uint8_t transId, E2NodeConfigList e2NodeList) +uint8_t BuildAndSendE2SetupRsp(DuDb *duDb, uint16_t transId, E2NodeConfigList e2NodeList) { E2AP_PDU_t *e2apMsg = NULL; E2setupResponse_t *e2SetupRsp; @@ -2194,7 +2192,6 @@ uint8_t BuildAndSendRicSubscriptionReq(DuDb *duDb) uint8_t ret = RFAILED; uint8_t elementCnt = 0; uint8_t idx = 0; - uint8_t actionIdx = 0; asn_enc_rval_t encRetVal; /* Encoder return value */ E2AP_PDU_t *e2apRicMsg = NULL; RICsubscriptionRequest_t *ricSubscriptionReq; @@ -2505,7 +2502,7 @@ void FreeE2SetupFailure(E2AP_PDU_t *e2apMsg) * * ****************************************************************/ -uint8_t BuildAndSendE2SetupFailure(uint32_t duId, uint8_t transId) +uint8_t BuildAndSendE2SetupFailure(uint32_t duId, uint16_t transId) { uint8_t ret = RFAILED; E2AP_PDU_t *e2apMsg = NULL; @@ -2636,11 +2633,11 @@ uint8_t BuildAndSendE2SetupFailure(uint32_t duId, uint8_t transId) void ProcE2SetupReq(uint32_t *duId, E2setupRequest_t *e2SetupReq) { - uint8_t arrIdx = 0, duIdx = 0, transId =0; + uint8_t arrIdx = 0, duIdx = 0; + uint16_t transId =0; uint16_t ranFuncIdx=0, e2NodeAddListIdx =0; E2NodeConfigList tmpE2NodeList; DuDb *duDb = NULLP; - bool ieProcessingFailed = false; E2nodeComponentConfigAddition_List_t *e2NodeAddList=NULLP; E2nodeComponentConfigAddition_ItemIEs_t *e2NodeAddItem=NULLP; RANfunction_ItemIEs_t *ranFuncItemIe=NULLP; @@ -2799,7 +2796,7 @@ void FreeE2ResetResponse(E2AP_PDU_t *e2apMsg) * RFAILED - failure * * ****************************************************************/ -uint8_t BuildAndSendResetResponse(uint32_t duId, uint8_t transId) +uint8_t BuildAndSendResetResponse(uint32_t duId, uint16_t transId) { uint8_t ieIdx = 0, elementCnt = 0; uint8_t ret = RFAILED; @@ -3143,7 +3140,7 @@ void FreeRicServiceUpdateFailure(E2AP_PDU_t *e2apMsg) * ******************************************************************/ -uint8_t BuildAndSendRicServiceUpdateFailure(uint32_t duId, int8_t transId, CauseE2_PR causePresent, uint8_t reason) +uint8_t BuildAndSendRicServiceUpdateFailure(uint32_t duId, uint16_t transId, CauseE2_PR causePresent, uint8_t reason) { E2AP_PDU_t *e2apMsg = NULL; @@ -3396,7 +3393,7 @@ uint8_t BuildRanFunctionRejectedList(uint8_t count, RanFunction *ranFunRejectedL * ******************************************************************/ -uint8_t BuildAndSendRicServiceUpdateAcknowledge(DuDb *duDb, int8_t transId, RicTmpRanFunList ricRanFuncList) +uint8_t BuildAndSendRicServiceUpdateAcknowledge(DuDb *duDb, uint16_t transId, RicTmpRanFunList ricRanFuncList) { E2AP_PDU_t *e2apMsg = NULL; asn_enc_rval_t encRetVal; @@ -4715,7 +4712,7 @@ void FreeErrorIndication(E2AP_PDU_t *e2apMsg) * ******************************************************************/ -uint8_t BuildAndSendErrorIndication(uint32_t duId, int8_t transId, RicRequestId requestId, uint16_t ranFuncId, uint8_t reason) +uint8_t BuildAndSendErrorIndication(uint32_t duId, uint16_t transId, RicRequestId requestId, uint16_t ranFuncId, uint8_t reason) { uint8_t elementCnt =0, arrIdx=0, ret = RFAILED; E2AP_PDU_t *e2apMsg = NULLP; @@ -4908,7 +4905,8 @@ void FreeResetRequest(E2AP_PDU_t *e2apMsg) * ****************************************************************/ uint8_t BuildAndSendResetRequest(DuDb *duDb, CauseE2_PR causePresent, uint8_t reason) { - uint8_t ieIdx = 0, elementCnt = 0, transId = 0; + uint8_t ieIdx = 0, elementCnt = 0; + uint16_t transId = 0; uint8_t ret = RFAILED; E2AP_PDU_t *e2apMsg = NULLP; ResetRequestE2_t *resetReq = NULLP; @@ -5091,7 +5089,6 @@ void deleteActionSequenceList(CmLListCp *actionList) * ****************************************************************/ void deleteRicSubscriptionNode(CmLList *subscriptionNode) { - uint8_t actionIdx=0; RicSubscription *ricSubscriptionInfo = NULLP; ricSubscriptionInfo = (RicSubscription*)subscriptionNode->node; @@ -5221,7 +5218,8 @@ void ProcResetResponse(uint32_t duId, ResetResponseE2_t *resetRsp) void ProcResetRequest(uint32_t duId, ResetRequestE2_t *resetReq) { - uint8_t ieIdx = 0, duIdx =0, transId=0; + uint8_t ieIdx = 0, duIdx =0; + uint16_t transId=0; DuDb *duDb = NULLP; RanFunction *ranFuncDb = NULLP; uint16_t ranFuncIdx = 0; @@ -5294,7 +5292,7 @@ void ProcResetRequest(uint32_t duId, ResetRequestE2_t *resetReq) ******************************************************************/ void FreeRicSubscriptionDeleteRequest(E2AP_PDU_t *e2apMsg) { - uint8_t ieIdx = 0, arrIdx = 0; + uint8_t ieIdx = 0; RICsubscriptionDeleteRequest_t *ricSubsDelReq = NULLP; if(e2apMsg) @@ -5883,7 +5881,7 @@ uint16_t updatedE2NodeCount, E2NodeConfigItem *updatedE2Node) * * ****************************************************************/ -uint8_t BuildAndSendE2NodeConfigUpdateAck(DuDb *duDb, uint8_t transId, E2NodeConfigList *e2NodeList) +uint8_t BuildAndSendE2NodeConfigUpdateAck(DuDb *duDb, uint16_t transId, E2NodeConfigList *e2NodeList) { uint8_t ret = RFAILED; uint8_t arrIdx = 0,elementCnt = 0; @@ -6047,7 +6045,8 @@ uint8_t BuildAndSendE2NodeConfigUpdateAck(DuDb *duDb, uint8_t transId, E2NodeCo * ****************************************************************/ void ProcE2RemovalFailure(E2RemovalFailure_t *e2RemovalFailure) { - uint8_t ieIdx = 0, transId=0; + uint8_t ieIdx = 0; + uint16_t transId=0; CauseE2_t *cause = NULLP; if(!e2RemovalFailure) @@ -6082,7 +6081,7 @@ void ProcE2RemovalFailure(E2RemovalFailure_t *e2RemovalFailure) } default: { - DU_LOG("\nERROR --> E2AP : Received Invalid Ie [%d]", e2RemovalFailure->protocolIEs.list.array[ieIdx]->id); + DU_LOG("\nERROR --> E2AP : Received Invalid Ie [%ld]", e2RemovalFailure->protocolIEs.list.array[ieIdx]->id); break; } } @@ -6455,7 +6454,7 @@ uint8_t BuildAndSendRemovalResponse(uint32_t duId, uint16_t transId) if(duDb == NULLP) { DU_LOG("\nERROR --> E2AP : duDb is not present for duId %d",duId); - return; + return RFAILED; } RIC_ALLOC(e2apMsg, sizeof(E2AP_PDU_t)); @@ -7055,7 +7054,7 @@ void ProcE2connectionUpdateFailure(E2connectionUpdateFailure_t *updateFailure) } default: { - DU_LOG("\nERROR --> E2AP : Received Invalid Ie [%d]", updateFailure->protocolIEs.list.array[ieIdx]->id); + DU_LOG("\nERROR --> E2AP : Received Invalid Ie [%ld]", updateFailure->protocolIEs.list.array[ieIdx]->id); break; } } @@ -7781,12 +7780,10 @@ uint8_t BuildAndSendRicSubscriptionModReq(DuDb *duDb, RicSubscription **ricSubsI { uint8_t ret = RFAILED; uint8_t elementCnt = 0; - uint8_t idx = 0, cfgIdx=0; + uint8_t idx = 0; asn_enc_rval_t encRetVal; /* Encoder return value */ E2AP_PDU_t *e2apRicMsg = NULL; RICsubscriptionModificationRequest_t *ricSubscriptionModReq; - RanFunction *ranFuncDb = &duDb->ranFunction[0]; - CmLList *subscriptionNode = NULLP; DU_LOG("\nINFO --> E2AP : Building RIC Subscription Request\n"); @@ -8025,8 +8022,6 @@ void ProcessingRicSubsActionModified(RICactions_ModifiedForModification_List_t * { uint8_t actionId=0; uint8_t elementIdx = 0; - ActionInfo *action=NULLP; - CmLList *actionNode =NULLP; RICaction_ModifiedForModification_ItemIEs_t *modifiedActionItemIe =NULLP; if(actionModifiedList->list.array) @@ -8063,8 +8058,6 @@ void ProcessingRicSubsActionAdded(RICactions_AddedForModification_List_t *action { uint8_t actionId=0; uint8_t elementIdx = 0; - ActionInfo *action=NULLP; - CmLList *actionNode =NULLP; RICaction_AddedForModification_ItemIEs_t *addedActionItemIe =NULLP; if(actionAddedList->list.array) diff --git a/src/ric_stub/ric_e2ap_msg_hdl.h b/src/ric_stub/ric_e2ap_msg_hdl.h index 0d7ec7216..0a6111c69 100644 --- a/src/ric_stub/ric_e2ap_msg_hdl.h +++ b/src/ric_stub/ric_e2ap_msg_hdl.h @@ -21,7 +21,6 @@ #define ENCODE_FAIL -1 #define TRANS_ID 1 #define RRC_SIZE 1 -#define ENC_BUF_MAX_LEN 100 #define SUL_BAND_COUNT 0 #define UL_SRBID 1 #define DL_SRBID 0 @@ -39,41 +38,24 @@ #define RIC_ACTION_GRANULARITY_PERIOD(_configType, _actionId) \ ((_configType == CONFIG_ADD) ? (100 + 100 * _actionId ) : ( 100 + 50 *( _actionId +1))) -/* allocate and zero out a static buffer */ -#define RIC_ALLOC(_datPtr, _size) \ -{ \ - uint8_t _ret; \ - _ret = SGetSBuf(RIC_APP_MEM_REG, RIC_POOL, \ - (Data **)&_datPtr, _size); \ - if(_ret == ROK) \ - memset(_datPtr, 0, _size); \ - else \ - _datPtr = NULLP; \ -} - -/* free a static buffer */ -#define RIC_FREE(_datPtr, _size) \ - if(_datPtr) \ - SPutSBuf(RIC_APP_MEM_REG, RIC_POOL, \ - (Data *)_datPtr, _size); - - - void E2APMsgHdlr(uint32_t *duId, Buffer *mBuf); -uint8_t BuildAndSendE2SetupRsp(DuDb *duDb, uint8_t transId, E2NodeConfigList e2NodeList); +uint8_t BuildAndSendE2SetupRsp(DuDb *duDb, uint16_t transId, E2NodeConfigList e2NodeList); uint8_t BuildAndSendRicSubscriptionReq(DuDb *duDb); uint8_t SendE2APMsg(Region region, Pool pool, uint32_t duId); uint8_t BuildAndSendRicServiceQuery(DuDb *duDb); -uint8_t BuildAndSendE2NodeConfigUpdateFailure(uint32_t duId, uint8_t transId, uint8_t causeInfo, uint8_t causeReason); +uint8_t BuildAndSendE2NodeConfigUpdateFailure(uint32_t duId, uint16_t transId, uint8_t causeInfo, uint8_t causeReason); uint8_t fillE2NodeConfigAck(PTR e2NodeCfg, uint8_t procedureCode, E2NodeComponent *componentInfo, bool isSuccessful); E2NodeComponent *fetchE2NodeComponentInfo(DuDb *duDb, InterfaceType interfaceType,CmLList **e2ComponentNode); uint8_t handleE2NodeComponentAction(DuDb *duDb, PTR e2NodeCfg, uint8_t protocolId, E2NodeConfigItem *storeCfg); -uint8_t BuildAndSendE2NodeConfigUpdateAck(DuDb *duDb, uint8_t transId, E2NodeConfigList *e2NodeList); +uint8_t BuildAndSendE2NodeConfigUpdateAck(DuDb *duDb, uint16_t transId, E2NodeConfigList *e2NodeList); uint8_t BuildAndSendConnectionUpdate(uint32_t duId); uint8_t BuildAndSendE2ConnectionUpdate(uint32_t duId, E2Connection connectionInfo); uint8_t BuildAndSendRicSubscriptionDeleteRequest(uint32_t duId, RicSubscription *ricSubsDb); void BuildRicSubsModificationReq(DuDb *duDb, RicSubscription *ricSubsInfo); +void deleteActionSequence(CmLList *actionNode); +void deleteRicSubscriptionNode(CmLList *subscriptionNode); +void deleteE2NodeInfo(DuDb *duDb); /********************************************************************** End of file diff --git a/src/ric_stub/ric_stub_sctp.c b/src/ric_stub/ric_stub_sctp.c index 6c76ecb60..9ae598397 100644 --- a/src/ric_stub/ric_stub_sctp.c +++ b/src/ric_stub/ric_stub_sctp.c @@ -146,7 +146,7 @@ uint8_t sctpStartReq() { DU_LOG("\nERROR --> SCTP: Binding failed at RIC"); } - else if(ret = cmInetListen(&sctpCb.e2LstnSockFd, 1) != ROK) + else if((ret = cmInetListen(&sctpCb.e2LstnSockFd, 1)) != ROK) { DU_LOG("\nERROR --> SCTP: Unable to accept the connection at CU"); DU_LOG("\nERROR --> SCTP : Listening on socket failed");