[Epic-ID: ODUHIGH-516][Task-ID: ODUHIGH-553] Transid fixes in E2AP procedures 19/12319/5
authorlal.harshita <Harshita.Lal@radisys.com>
Fri, 15 Dec 2023 11:20:17 +0000 (16:50 +0530)
committerpborla <pborla@radisys.com>
Fri, 22 Dec 2023 09:27:21 +0000 (14:57 +0530)
Change-Id: Ie84adb8015bd9d34e0247f3959ad681d6b8d2a73
Signed-off-by: pborla <pborla@radisys.com>
build/odu/makefile
src/5gnrmac/mac_cfg_hdl.c
src/du_app/du_e2ap_msg_hdl.c
src/ric_stub/ric_e2ap_msg_hdl.c
src/ric_stub/ric_e2ap_msg_hdl.h
src/ric_stub/ric_stub_sctp.c

index 1ab9d25..871e650 100644 (file)
@@ -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
index 6b09b9a..dac40ba 100644 (file)
@@ -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;
 }
 
index 4f04aca..bfd29e8 100644 (file)
@@ -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 <ranFuncAcceptedList->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 <ranFuncRejectedList->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;
index 3633552..c5ede0b 100644 (file)
@@ -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)
index 0d7ec72..0a6111c 100644 (file)
@@ -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
 #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
index 6c76ecb..9ae5983 100644 (file)
@@ -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");