# 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
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)
{
}
}
- /* Workaround : Freeing the dummy pointer */
- MAC_FREE_SHRABL_BUF(MAC_MEM_REGION, MAC_POOL, dummyPtr, sizeof(uint8_t));
return ret;
}
*
******************************************************************/
-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;
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");
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;
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;
{
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",
ranFuncDb->numPendingSubsRsp++;
-#ifdef KPI_CALCULATION
/* Send statistics request to other DU entities */
BuildAndSendStatsReq(ricSubscriptionInfo);
-#endif
}
else
{
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;
* ****************************************************************/
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;
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;
* ****************************************************************/
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");
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 */
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;
* RFAILED - failure
*
* ****************************************************************/
-uint8_t BuildAndSendResetResponse(uint8_t transId)
+uint8_t BuildAndSendResetResponse(uint16_t transId)
{
uint8_t ieIdx = 0, elementCnt = 0;
uint8_t ret = RFAILED;
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");
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 */
* ****************************************************************/
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;
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;
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;
* ****************************************************************/
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;
*
* ****************************************************************/
-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;
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;
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;
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,\
*
* ****************************************************************/
-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;
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;
*
* ****************************************************************/
-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;
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;
* 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;
*
******************************************************************/
-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;
*
******************************************************************/
-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;
*
******************************************************************/
-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;
* ****************************************************************/
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;
* ****************************************************************/
void deleteRicSubscriptionNode(CmLList *subscriptionNode)
{
- uint8_t actionIdx=0;
RicSubscription *ricSubscriptionInfo = NULLP;
ricSubscriptionInfo = (RicSubscription*)subscriptionNode->node;
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;
******************************************************************/
void FreeRicSubscriptionDeleteRequest(E2AP_PDU_t *e2apMsg)
{
- uint8_t ieIdx = 0, arrIdx = 0;
+ uint8_t ieIdx = 0;
RICsubscriptionDeleteRequest_t *ricSubsDelReq = NULLP;
if(e2apMsg)
*
* ****************************************************************/
-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;
* ****************************************************************/
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)
}
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;
}
}
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));
}
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;
}
}
{
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");
{
uint8_t actionId=0;
uint8_t elementIdx = 0;
- ActionInfo *action=NULLP;
- CmLList *actionNode =NULLP;
RICaction_ModifiedForModification_ItemIEs_t *modifiedActionItemIe =NULLP;
if(actionModifiedList->list.array)
{
uint8_t actionId=0;
uint8_t elementIdx = 0;
- ActionInfo *action=NULLP;
- CmLList *actionNode =NULLP;
RICaction_AddedForModification_ItemIEs_t *addedActionItemIe =NULLP;
if(actionAddedList->list.array)
#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
{
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");