X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=src%2Fdu_app%2Fdu_f1ap_msg_hdl.c;h=42134711bae985e8a173818418c9721fafe11cb7;hb=13d69430713cd381772de495739acff114be7e2a;hp=ec001ea91e22825d08e93e2fe57dc66a5203f525;hpb=ba2574ac618b40905509604da8d3a2b1b9e39664;p=o-du%2Fl2.git diff --git a/src/du_app/du_f1ap_msg_hdl.c b/src/du_app/du_f1ap_msg_hdl.c index ec001ea91..42134711b 100644 --- a/src/du_app/du_f1ap_msg_hdl.c +++ b/src/du_app/du_f1ap_msg_hdl.c @@ -96,9 +96,503 @@ #include "du_mgr.h" #include "du_cell_mgr.h" #include "du_f1ap_msg_hdl.h" +#include "DRBs-Setup-Item.h" +#include "DLUPTNLInformation-ToBeSetup-List.h" +#include "DLUPTNLInformation-ToBeSetup-Item.h" +#include "UPTransportLayerInformation.h" +#include "GTPTunnel.h" DuCfgParams duCfgParam; +/************************************************************************ + * + * @brief Converts enum values into actual value of Poll retransmit timer + * + * @details + * + * Function : getPollPdu + * + * Functionality: Converts enum values into actual value of poll + * retransmit timer + * + * @params[in] Enum value of pollPdu + * @return Actual value of pollPdu + * + * **********************************************************************/ + +uint16_t getPollRetxTmr(uint8_t pollRetxTmrCfg) +{ + uint16_t pollRetxTmr; + + /* All values of poll retx timer are at interval of 5ms. + * This is valid upto 250ms + * Hence converting the enum value to actual value by multiplying it to 5 + */ + if(pollRetxTmrCfg <= T_PollRetransmit_ms250) + pollRetxTmr = (pollRetxTmrCfg + 1) * 5; + else + { + switch(pollRetxTmrCfg) + { + case T_PollRetransmit_ms300: + pollRetxTmr = 300; + break; + case T_PollRetransmit_ms350: + pollRetxTmr = 350; + break; + case T_PollRetransmit_ms400: + pollRetxTmr = 400; + break; + case T_PollRetransmit_ms450: + pollRetxTmr = 450; + break; + case T_PollRetransmit_ms500: + pollRetxTmr = 500; + break; + case T_PollRetransmit_ms800: + pollRetxTmr = 800; + break; + default: + DU_LOG("\nERROR --> F1AP: Invalid value of Poll Retransmit timer"); + pollRetxTmr = 0; + } + } + return pollRetxTmr; +} + +/******************************************************************* + * + * @brief Converts enum values into actual value of PollPdu + * + * @details + * + * Function : getPollPdu + * + * Functionality: Converts enum values into actual value of PollPdu + * + * @params[in] Enum value of pollPdu + * @return Actual value of pollPdu + * + * ****************************************************************/ +int16_t getPollPdu(uint8_t pollPduCfg) +{ + int16_t pollPdu; + switch(pollPduCfg) + { + case PollPDU_p4: + pollPdu = 4; + break; + case PollPDU_p8: + pollPdu = 8; + break; + case PollPDU_p16: + pollPdu = 16; + break; + case PollPDU_p32: + pollPdu = 32; + break; + case PollPDU_p64: + pollPdu = 64; + break; + case PollPDU_p128: + pollPdu = 128; + break; + case PollPDU_p256: + pollPdu = 256; + break; + case PollPDU_p512: + pollPdu = 512; + break; + case PollPDU_p1024: + pollPdu = 1024; + break; + case PollPDU_p2048: + pollPdu = 2048; + break; + case PollPDU_p4096: + pollPdu = 4096; + break; + case PollPDU_p6144: + pollPdu = 6144; + break; + case PollPDU_p8192: + pollPdu = 8192; + break; + case PollPDU_p12288: + pollPdu = 12288; + break; + case PollPDU_p16384: + pollPdu = 16384; + break; + case PollPDU_p20480: + pollPdu = 20480; + break; + case PollPDU_p24576: + pollPdu = 24576; + break; + case PollPDU_p28672: + pollPdu = 28672; + break; + case PollPDU_p32768: + pollPdu = 32768; + break; + case PollPDU_p40960: + pollPdu = 40960; + break; + case PollPDU_p49152: + pollPdu = 49152; + break; + case PollPDU_p57344: + pollPdu = 57344; + break; + case PollPDU_p65536: + pollPdu = 65536; + break; + case PollPDU_infinity: + pollPdu = -1; + break; + default: + DU_LOG("\nERROR --> F1AP: Invalid value of poll pdu"); + pollPdu = 0; + break; + } + return pollPdu; +} + +/******************************************************************* + * + * @brief Converts enum values into actual value of poll bytes + * + * @details + * + * Function : getPollByte + * + * Functionality: Converts enum values into actual value of pollBytes + * + * @params[in] Enum value + * @return Actual value + * + * ****************************************************************/ +int32_t getPollByte(uint16_t pollBytesCfg) +{ + int32_t pollBytes; + switch(pollBytesCfg) + { + case PollByte_kB1: + pollBytes = 1000; + break; + case PollByte_kB2: + pollBytes = 2000; + break; + case PollByte_kB5: + pollBytes = 5000; + break; + case PollByte_kB8: + pollBytes = 8000; + break; + case PollByte_kB10: + pollBytes = 10000; + break; + case PollByte_kB15: + pollBytes = 15000; + break; + case PollByte_kB25: + pollBytes = 25000; + break; + case PollByte_kB50: + pollBytes = 50000; + break; + case PollByte_kB75: + pollBytes = 75000; + break; + case PollByte_kB100: + pollBytes = 100000; + break; + case PollByte_kB125: + pollBytes = 125000; + break; + case PollByte_kB250: + pollBytes = 250000; + break; + case PollByte_kB375: + pollBytes = 375000; + break; + case PollByte_kB500: + pollBytes = 500000; + break; + case PollByte_kB750: + pollBytes = 750000; + break; + case PollByte_kB1000: + pollBytes = 1000000; + break; + case PollByte_kB1250: + pollBytes = 1250000; + break; + case PollByte_kB1500: + pollBytes = 1500000; + break; + case PollByte_kB2000: + pollBytes = 2000000; + break; + case PollByte_kB3000: + pollBytes = 3000000; + break; + case PollByte_kB4000: + pollBytes = 4000000; + break; + case PollByte_kB4500: + pollBytes = 4500000; + break; + case PollByte_kB5000: + pollBytes = 5000000; + break; + case PollByte_kB5500: + pollBytes = 5500000; + break; + case PollByte_kB6000: + pollBytes = 6000000; + break; + case PollByte_kB6500: + pollBytes = 6500000; + break; + case PollByte_kB7000: + pollBytes = 7000000; + break; + case PollByte_kB7500: + pollBytes = 7500000; + break; + case PollByte_mB8: + pollBytes = 8000000; + break; + case PollByte_mB9: + pollBytes = 9000000; + break; + case PollByte_mB10: + pollBytes = 10000000; + break; + case PollByte_mB11: + pollBytes = 11000000; + break; + case PollByte_mB12: + pollBytes = 12000000; + break; + case PollByte_mB13: + pollBytes = 13000000; + break; + case PollByte_mB14: + pollBytes = 14000000; + break; + case PollByte_mB15: + pollBytes = 15000000; + break; + case PollByte_mB16: + pollBytes = 16000000; + break; + case PollByte_mB17: + pollBytes = 17000000; + break; + case PollByte_mB18: + pollBytes = 18000000; + break; + case PollByte_mB20: + pollBytes = 20000000; + break; + case PollByte_mB25: + pollBytes = 25000000; + break; + case PollByte_mB30: + pollBytes = 30000000; + break; + case PollByte_mB40: + pollBytes = 40000000; + break; + case PollByte_infinity: + pollBytes = -1; + break; + default: + DU_LOG("\nERROR --> F1AP: Invalid value of poll bytes"); + pollBytes = 0; + } + return pollBytes; +} + +/******************************************************************* + * + * @brief Converts enum values into actual value of maxRetx + * + * @details + * + * Function : getMaxRetx + * + * Functionality: Converts enum values into actual value of maxRetx + * + * @params[in] Enum value + * @return Actual value + * + * ****************************************************************/ +uint8_t getMaxRetx(uint8_t maxRetxCfg) +{ + uint8_t maxRetx; + switch(maxRetxCfg) + { + case UL_AM_RLC__maxRetxThreshold_t1: + maxRetx = 1; + break; + case UL_AM_RLC__maxRetxThreshold_t2: + maxRetx = 2; + break; + case UL_AM_RLC__maxRetxThreshold_t3: + maxRetx = 3; + break; + case UL_AM_RLC__maxRetxThreshold_t4: + maxRetx = 4; + break; + case UL_AM_RLC__maxRetxThreshold_t6: + maxRetx = 6; + break; + case UL_AM_RLC__maxRetxThreshold_t8: + maxRetx = 8; + break; + case UL_AM_RLC__maxRetxThreshold_t16: + maxRetx = 16; + break; + case UL_AM_RLC__maxRetxThreshold_t32: + maxRetx = 32; + break; + default: + DU_LOG("\nERROR --> F1AP: Invalid configuration for Max retransmission threshold"); + maxRetx = 0; + } + return maxRetx; +} + +/******************************************************************* + * @brief Converts enum values into actual value of reassembly timer + * + * @details + * + * Function : getReAsmblTmr + * + * Functionality: Converts enum values into actual value of reassembly + * timer + * + * @params[in] Enum value of reassembly timer + * @return Actual value of reassembly timer + * + * **********************************************************************/ + +int8_t getReAsmblTmr(uint8_t reAsmblTmrCfg) +{ + int8_t reAsmblTmr = 0; + + if(reAsmblTmrCfg == T_Reassembly_ms0) + { + reAsmblTmr = 0; + } + else if(reAsmblTmrCfg >= T_Reassembly_ms5 || reAsmblTmrCfg <= T_Reassembly_ms100) + { + /* All values of re assembly timer are at interval of 5ms. + * This is valid upto 100ms + * Hence converting the enum value to actual value by multiplying it to 5 + */ + reAsmblTmr = reAsmblTmrCfg * 5; + } + else if(reAsmblTmrCfg >= T_Reassembly_ms110 || reAsmblTmrCfg <= T_Reassembly_ms200) + { + /* All values of re assembly timer are at interval of 10ms. + * This is valid upto 200ms + * since enum value starts from 20 for 100ms, subtracting 10 and + * converting the enum value to actual value by multiplying it to 10 + */ + reAsmblTmr = ((reAsmblTmrCfg-10) * 10); + } + else + { + DU_LOG("\nERROR --> F1AP : Invalid value of Re Assembly timer %d", reAsmblTmrCfg); + reAsmblTmr = -1; + } + return reAsmblTmr; +} + +/************************************************************************ + * + * @brief Converts enum values into actual value of status prohibit timer + * + * @details + * + * Function : getStatProhTmr + * + * Functionality: Converts enum values into actual value of status prohibit + * timer + * + * @params[in] Enum value of status prohibit timer + * @return Actual value of status prohibit timer + * + * **********************************************************************/ + +int16_t getStatProhTmr(uint8_t statProhTmrCfg) +{ + int16_t statProhTmr =0; + + if(statProhTmrCfg == T_StatusProhibit_ms0) + { + statProhTmr = 0; + } + else if(statProhTmrCfg >= T_StatusProhibit_ms5 || statProhTmrCfg <= T_StatusProhibit_ms250) + { + /* All values of re assembly timer are at interval of 5ms. + * This is valid upto 250ms + * Hence converting the enum value to actual value by multiplying it to 5 + */ + statProhTmr = statProhTmrCfg * 5; + } + else + { + switch(statProhTmrCfg) + { + case T_StatusProhibit_ms300: + statProhTmr = 300; + break; + case T_StatusProhibit_ms350: + statProhTmr = 350; + break; + case T_StatusProhibit_ms400: + statProhTmr = 400; + break; + case T_StatusProhibit_ms450: + statProhTmr = 450; + break; + case T_StatusProhibit_ms500: + statProhTmr = 500; + break; + case T_StatusProhibit_ms800: + statProhTmr = 800; + break; + case T_StatusProhibit_ms1000: + statProhTmr = 1000; + break; + case T_StatusProhibit_ms1200: + statProhTmr = 1200; + break; + case T_StatusProhibit_ms1600: + statProhTmr = 1600; + break; + case T_StatusProhibit_ms2000: + statProhTmr = 2000; + break; + case T_StatusProhibit_ms2400: + statProhTmr = 2400; + break; + default: + DU_LOG("\nInvalid value of Status Prohibit timer %d", statProhTmrCfg); + statProhTmr = -1; + break; + } + } + return statProhTmr; +} + /******************************************************************* * * @brief Builds Uplink Info for NR @@ -725,14 +1219,14 @@ uint8_t SendF1APMsg(Region region, Pool pool) if(sctpSend(mBuf, F1_INTERFACE) != ROK) { - DU_LOG("\nF1AP : SCTP Send failed"); + DU_LOG("\nERROR --> F1AP : SCTP Send failed"); ODU_PUT_MSG_BUF(mBuf); return RFAILED; } } else { - DU_LOG("\nF1AP : ODU_ADD_POST_MSG_MULT failed"); + DU_LOG("\nERROR --> F1AP : ODU_ADD_POST_MSG_MULT failed"); ODU_PUT_MSG_BUF(mBuf); return RFAILED; } @@ -740,7 +1234,7 @@ uint8_t SendF1APMsg(Region region, Pool pool) } else { - DU_LOG("\nF1AP : Failed to allocate memory"); + DU_LOG("\nERROR --> F1AP : Failed to allocate memory"); return RFAILED; } return ROK; @@ -1011,7 +1505,7 @@ void FreeF1SetupReq(F1AP_PDU_t *f1apMsg) FreeRrcVer(&f1SetupReq->protocolIEs.list.array[ieIdx]->value.choice.RRC_Version); break; default: - DU_LOG("\nInvalid Event Type %ld", f1SetupReq->protocolIEs.list.array[ieIdx]->id); + DU_LOG("\nERROR --> Invalid Event Type %ld", f1SetupReq->protocolIEs.list.array[ieIdx]->id); break; } } @@ -1053,7 +1547,7 @@ uint8_t BuildAndSendF1SetupReq() asn_enc_rval_t encRetVal; /* Encoder return value */ ret= RFAILED; - DU_LOG("\nF1AP : Building F1 Setup Request\n"); + DU_LOG("\nINFO --> F1AP : Building F1 Setup Request\n"); do { DU_ALLOC(f1apMsg, sizeof(F1AP_PDU_t)); @@ -1182,13 +1676,13 @@ uint8_t BuildAndSendF1SetupReq() /* Encode results */ if(encRetVal.encoded == ENCODE_FAIL) { - DU_LOG("\nF1AP : Could not encode F1SetupRequest structure (at %s)\n",\ + DU_LOG("\nERROR --> F1AP : Could not encode F1SetupRequest structure (at %s)\n",\ encRetVal.failed_type ? encRetVal.failed_type->name : "unknown"); break; } else { - DU_LOG("\nF1AP : Created APER encoded buffer for F1SetupRequest\n"); + DU_LOG("\nDEBUG --> F1AP : Created APER encoded buffer for F1SetupRequest\n"); for(ieIdx=0; ieIdx< encBufSize; ieIdx++) { printf("%x",encBuf[ieIdx]); @@ -1198,7 +1692,7 @@ uint8_t BuildAndSendF1SetupReq() /* Sending msg */ if(SendF1APMsg(DU_APP_MEM_REGION, DU_POOL) != ROK) { - DU_LOG("\nF1AP : Sending F1 Setup request failed"); + DU_LOG("\nERROR --> F1AP : Sending F1 Setup request failed"); break; } @@ -1896,12 +2390,12 @@ uint8_t BuildAndSendDUConfigUpdate() while(true) { - DU_LOG("\nF1AP : Building DU config update\n"); + DU_LOG("\nINFO --> F1AP : Building DU config update\n"); /* Allocate the memory for F1DuCfg */ DU_ALLOC(f1apDuCfg, sizeof(F1AP_PDU_t)); if(f1apDuCfg == NULLP) { - DU_LOG("\nF1AP : Memory allocation for F1AP-PDU failed"); + DU_LOG("\nERROR --> F1AP : Memory allocation for F1AP-PDU failed"); break; } @@ -1909,7 +2403,7 @@ uint8_t BuildAndSendDUConfigUpdate() DU_ALLOC(f1apDuCfg->choice.initiatingMessage,sizeof(InitiatingMessage_t)); if(f1apDuCfg->choice.initiatingMessage == NULLP) { - DU_LOG("\nF1AP : Memory allocation for F1AP-PDU failed"); + DU_LOG("\nERROR --> F1AP : Memory allocation for F1AP-PDU failed"); break; } @@ -1929,7 +2423,7 @@ uint8_t BuildAndSendDUConfigUpdate() DU_ALLOC(duCfgUpdate->protocolIEs.list.array,duCfgUpdate->protocolIEs.list.size); if(duCfgUpdate->protocolIEs.list.array == NULLP) { - DU_LOG("F1AP : Memory allocation for F1RequestIEs failed"); + DU_LOG("ERROR --> F1AP : Memory allocation for F1RequestIEs failed"); break; } for(ieIdx=0; ieIdxname : "unknown"); + DU_LOG("ERROR --> F1AP : Could not encode DUConfigUpdate structure (at %s)\n",\ + encRetVal.failed_type ? encRetVal.failed_type->name : "unknown"); break; } else { - DU_LOG("\nF1AP : Created APER encoded buffer for DUConfigUpdate\n"); + DU_LOG("\nDEBUG --> F1AP : Created APER encoded buffer for DUConfigUpdate\n"); for(ieIdx =0; ieIdx < encBufSize; ieIdx++) { printf("%x",encBuf[ieIdx]); @@ -2000,7 +2495,7 @@ uint8_t BuildAndSendDUConfigUpdate() /* Sending msg */ if(SendF1APMsg(DU_APP_MEM_REGION, DU_POOL) != ROK) { - DU_LOG("\nF1AP : Sending GND-DU Config Update failed"); + DU_LOG("\nERROR --> F1AP : Sending GNB-DU Config Update failed"); break; } @@ -2093,19 +2588,19 @@ uint8_t BuildAndSendULRRCMessageTransfer(DuUeCb ueCb, uint8_t lcId, \ while(true) { - DU_LOG("\n F1AP : Building UL RRC Message Transfer Message\n"); + DU_LOG("\n INFO --> F1AP : Building UL RRC Message Transfer Message\n"); DU_ALLOC(f1apMsg, sizeof(F1AP_PDU_t)); if(f1apMsg == NULLP) { - DU_LOG(" F1AP : Memory allocation for F1AP-PDU failed"); + DU_LOG(" ERROR --> F1AP : Memory allocation for F1AP-PDU failed"); break; } f1apMsg->present = F1AP_PDU_PR_initiatingMessage; DU_ALLOC(f1apMsg->choice.initiatingMessage,sizeof(InitiatingMessage_t)); if(f1apMsg->choice.initiatingMessage == NULLP) { - DU_LOG(" F1AP : Memory allocation for F1AP-PDU failed"); + DU_LOG(" ERROR --> F1AP : Memory allocation for F1AP-PDU failed"); break; } f1apMsg->choice.initiatingMessage->procedureCode = ProcedureCode_id_ULRRCMessageTransfer; @@ -2123,7 +2618,7 @@ uint8_t BuildAndSendULRRCMessageTransfer(DuUeCb ueCb, uint8_t lcId, \ DU_ALLOC(ulRRCMsg->protocolIEs.list.array, ulRRCMsg->protocolIEs.list.size); if(ulRRCMsg->protocolIEs.list.array == NULLP) { - DU_LOG(" F1AP : Memory allocation for UL RRC MessageTransferIEs failed"); + DU_LOG(" ERROR --> F1AP : Memory allocation for UL RRC MessageTransferIEs failed"); break; } for(idx=0; idxprotocolIEs.list.array[idx1]->value.choice.RRCContainer.size) if(!ulRRCMsg->protocolIEs.list.array[idx1]->value.choice.RRCContainer.buf) { - DU_LOG(" F1AP : Memory allocation for BuildAndSendULRRCMessageTransfer failed"); + DU_LOG(" ERROR --> F1AP : Memory allocation for BuildAndSendULRRCMessageTransfer failed"); break; } memset(ulRRCMsg->protocolIEs.list.array[idx1]->value.choice.RRCContainer.buf, 0, msgLen); @@ -2188,13 +2683,13 @@ uint8_t BuildAndSendULRRCMessageTransfer(DuUeCb ueCb, uint8_t lcId, \ /* Encode results */ if(encRetVal.encoded == ENCODE_FAIL) { - DU_LOG( "\n F1AP : Could not encode ULRRCMessageTransfer structure (at %s)\n",\ + DU_LOG( "\nERROR --> F1AP : Could not encode ULRRCMessageTransfer structure (at %s)\n",\ encRetVal.failed_type ? encRetVal.failed_type->name : "unknown"); break; } else { - DU_LOG("\n F1AP : Created APER encoded buffer for ULRRCMessageTransfer\n"); + DU_LOG("\nDEBUG --> F1AP : Created APER encoded buffer for ULRRCMessageTransfer\n"); for(int i=0; i< encBufSize; i++) { printf("%x",encBuf[i]); @@ -2204,7 +2699,7 @@ uint8_t BuildAndSendULRRCMessageTransfer(DuUeCb ueCb, uint8_t lcId, \ /* Sending msg */ if(SendF1APMsg(DU_APP_MEM_REGION,DU_POOL) != ROK) { - DU_LOG("\n F1AP : Sending UL RRC Message Transfer Failed"); + DU_LOG("\nERROR --> F1AP : Sending UL RRC Message Transfer Failed"); break; } ret = ROK; @@ -2241,7 +2736,7 @@ uint8_t BuildTagConfig(struct TAG_Config *tagConfig) DU_ALLOC(tagConfig->tag_ToAddModList, sizeof(struct TAG_Config__tag_ToAddModList)); if(!tagConfig->tag_ToAddModList) { - DU_LOG("\nF1AP : Memory allocation failure in BuildTagConfig"); + DU_LOG("\nERROR --> F1AP : Memory allocation failure in BuildTagConfig"); return RFAILED; } @@ -2254,7 +2749,7 @@ uint8_t BuildTagConfig(struct TAG_Config *tagConfig) DU_ALLOC(tagList->list.array, tagList->list.size); if(!tagList->list.array) { - DU_LOG("\nF1AP : Memory allocation failure in BuildTagConfig"); + DU_LOG("\nERROR --> F1AP : Memory allocation failure in BuildTagConfig"); return RFAILED; } @@ -2264,7 +2759,7 @@ uint8_t BuildTagConfig(struct TAG_Config *tagConfig) DU_ALLOC(tagList->list.array[idx], sizeof(struct TAG)); if(!tagList->list.array[idx]) { - DU_LOG("\nF1AP : Memory allocation failure in BuildTagConfig"); + DU_LOG("\nERROR --> F1AP : Memory allocation failure in BuildTagConfig"); return RFAILED; } } @@ -2300,7 +2795,7 @@ uint8_t BuildPhrConfig(struct MAC_CellGroupConfig__phr_Config *phrConfig) DU_ALLOC(phrConfig->choice.setup, sizeof(struct PHR_Config)); if(!phrConfig->choice.setup) { - DU_LOG("\nF1AP : Memory allocation failure in BuildPhrConfig"); + DU_LOG("\nERROR --> F1AP : Memory allocation failure in BuildPhrConfig"); return RFAILED; } @@ -2366,7 +2861,7 @@ uint8_t BuildSchedulingReqConfig(struct SchedulingRequestConfig *schedulingReque sizeof(struct SchedulingRequestConfig__schedulingRequestToAddModList)); if(!schedulingRequestConfig->schedulingRequestToAddModList) { - DU_LOG("\nF1AP : Memory allocation failure in BuildSchedulingReqConfig"); + DU_LOG("\nERROR --> F1AP : Memory allocation failure in BuildSchedulingReqConfig"); return RFAILED; } @@ -2379,7 +2874,7 @@ uint8_t BuildSchedulingReqConfig(struct SchedulingRequestConfig *schedulingReque DU_ALLOC(schReqList->list.array, schReqList->list.size); if(!schReqList->list.array) { - DU_LOG("\nF1AP : Memory allocation failure in BuildSchedulingReqConfig"); + DU_LOG("\nERROR --> F1AP : Memory allocation failure in BuildSchedulingReqConfig"); return RFAILED; } @@ -2389,7 +2884,7 @@ uint8_t BuildSchedulingReqConfig(struct SchedulingRequestConfig *schedulingReque DU_ALLOC(schReqList->list.array[idx], sizeof(struct SchedulingRequestToAddMod)); if(!schReqList->list.array[idx]) { - DU_LOG("\nF1AP : Memory allocation failure in BuildSchedulingReqConfig"); + DU_LOG("\nERROR --> F1AP : Memory allocation failure in BuildSchedulingReqConfig"); return RFAILED; } } @@ -2401,7 +2896,7 @@ uint8_t BuildSchedulingReqConfig(struct SchedulingRequestConfig *schedulingReque DU_ALLOC(schReqList->list.array[idx]->sr_ProhibitTimer, sizeof(long)); if(!schReqList->list.array[idx]->sr_ProhibitTimer) { - DU_LOG("\nF1AP : Memory allocation failure in BuildSchedulingReqConfig"); + DU_LOG("\nERROR --> F1AP : Memory allocation failure in BuildSchedulingReqConfig"); return RFAILED; } *(schReqList->list.array[idx]->sr_ProhibitTimer) = SR_PROHIBIT_TMR; @@ -2436,7 +2931,7 @@ uint8_t BuildRlcConfig(struct RLC_Config *rlcConfig) DU_ALLOC(rlcConfig->choice.am, sizeof(struct RLC_Config__am)); if(!rlcConfig->choice.am) { - DU_LOG("\nF1AP : Memory allocation failure in BuildRlcConfig"); + DU_LOG("\nERROR --> F1AP : Memory allocation failure in BuildRlcConfig"); return RFAILED; } @@ -2445,7 +2940,7 @@ uint8_t BuildRlcConfig(struct RLC_Config *rlcConfig) DU_ALLOC(rlcConfig->choice.am->ul_AM_RLC.sn_FieldLength, sizeof(SN_FieldLengthAM_t)); if(!rlcConfig->choice.am->ul_AM_RLC.sn_FieldLength) { - DU_LOG("\nF1AP : Memory allocation failure in BuildRlcConfig"); + DU_LOG("\nERROR --> F1AP : Memory allocation failure in BuildRlcConfig"); return RFAILED; } *(rlcConfig->choice.am->ul_AM_RLC.sn_FieldLength) = SN_FIELD_LEN; @@ -2459,7 +2954,7 @@ uint8_t BuildRlcConfig(struct RLC_Config *rlcConfig) DU_ALLOC(rlcConfig->choice.am->dl_AM_RLC.sn_FieldLength, sizeof(SN_FieldLengthAM_t)); if(!rlcConfig->choice.am->dl_AM_RLC.sn_FieldLength) { - DU_LOG("\nF1AP : Memory allocation failure in BuildRlcConfig"); + DU_LOG("\nERROR --> F1AP : Memory allocation failure in BuildRlcConfig"); return RFAILED; } *(rlcConfig->choice.am->dl_AM_RLC.sn_FieldLength) = SN_FIELD_LEN; @@ -2492,7 +2987,7 @@ uint8_t BuildMacLCConfig(struct LogicalChannelConfig *macLcConfig) DU_ALLOC(macLcConfig->ul_SpecificParameters, sizeof(struct LogicalChannelConfig__ul_SpecificParameters)); if(!macLcConfig->ul_SpecificParameters) { - DU_LOG("\nF1AP : Memory allocation failure in BuildMacLCConfig"); + DU_LOG("\nERROR --> F1AP : Memory allocation failure in BuildMacLCConfig"); return RFAILED; } @@ -2508,7 +3003,7 @@ uint8_t BuildMacLCConfig(struct LogicalChannelConfig *macLcConfig) DU_ALLOC(macLcConfig->ul_SpecificParameters->logicalChannelGroup, sizeof(long)); if(!macLcConfig->ul_SpecificParameters->logicalChannelGroup) { - DU_LOG("\nF1AP : Memory allocation failure in BuildMacLCConfig"); + DU_LOG("\nERROR --> F1AP : Memory allocation failure in BuildMacLCConfig"); return RFAILED; } *(macLcConfig->ul_SpecificParameters->logicalChannelGroup) = LC_GRP; @@ -2517,7 +3012,7 @@ uint8_t BuildMacLCConfig(struct LogicalChannelConfig *macLcConfig) DU_ALLOC(macLcConfig->ul_SpecificParameters->schedulingRequestID, sizeof(SchedulingRequestId_t)); if(!macLcConfig->ul_SpecificParameters->schedulingRequestID) { - DU_LOG("\nF1AP : Memory allocation failure in BuildMacLCConfig"); + DU_LOG("\nERROR --> F1AP : Memory allocation failure in BuildMacLCConfig"); return RFAILED; } *(macLcConfig->ul_SpecificParameters->schedulingRequestID) = SCH_REQ_ID; @@ -2557,7 +3052,7 @@ uint8_t BuildRlcBearerToAddModList(struct CellGroupConfigRrc__rlc_BearerToAddMod DU_ALLOC(rlcBearerList->list.array, rlcBearerList->list.size); if(!rlcBearerList->list.array) { - DU_LOG("\nF1AP : Memory allocation failure in BuildRlcBearerToAddModList"); + DU_LOG("\nERROR --> F1AP : Memory allocation failure in BuildRlcBearerToAddModList"); return RFAILED; } @@ -2567,7 +3062,7 @@ uint8_t BuildRlcBearerToAddModList(struct CellGroupConfigRrc__rlc_BearerToAddMod DU_ALLOC(rlcBearerList->list.array[idx], sizeof(struct RLC_BearerConfig)); if(!rlcBearerList->list.array[idx]) { - DU_LOG("\nF1AP : Memory allocation failure in BuildRlcBearerToAddModList"); + DU_LOG("\nERROR --> F1AP : Memory allocation failure in BuildRlcBearerToAddModList"); return RFAILED; } } @@ -2579,7 +3074,7 @@ uint8_t BuildRlcBearerToAddModList(struct CellGroupConfigRrc__rlc_BearerToAddMod sizeof(struct RLC_BearerConfig__servedRadioBearer)); if(!rlcBearerList->list.array[idx]->servedRadioBearer) { - DU_LOG("\nF1AP : Memory allocation failure in BuildRlcBearerToAddModList"); + DU_LOG("\nERROR --> F1AP : Memory allocation failure in BuildRlcBearerToAddModList"); return RFAILED; } @@ -2593,13 +3088,13 @@ uint8_t BuildRlcBearerToAddModList(struct CellGroupConfigRrc__rlc_BearerToAddMod DU_ALLOC(rlcBearerList->list.array[idx]->rlc_Config, sizeof(struct RLC_Config)); if(!rlcBearerList->list.array[idx]->rlc_Config) { - DU_LOG("\nF1AP : Memory allocation failure in BuildRlcBearerToAddModList"); + DU_LOG("\nERROR --> F1AP : Memory allocation failure in BuildRlcBearerToAddModList"); return RFAILED; } if(BuildRlcConfig(rlcBearerList->list.array[idx]->rlc_Config) != ROK) { - DU_LOG("\nF1AP : BuildRlcConfig failed"); + DU_LOG("\nERROR --> F1AP : BuildRlcConfig failed"); return RFAILED; } @@ -2608,13 +3103,13 @@ uint8_t BuildRlcBearerToAddModList(struct CellGroupConfigRrc__rlc_BearerToAddMod sizeof(struct LogicalChannelConfig)); if(!rlcBearerList->list.array[idx]->mac_LogicalChannelConfig) { - DU_LOG("\nF1AP : Memory allocation failure in BuildRlcBearerToAddModList"); + DU_LOG("\nERROR --> F1AP : Memory allocation failure in BuildRlcBearerToAddModList"); return RFAILED; } if(BuildMacLCConfig(rlcBearerList->list.array[idx]->mac_LogicalChannelConfig) != ROK) { - DU_LOG("\nF1AP : BuildMacLCConfig failed"); + DU_LOG("\nERROR --> F1AP : BuildMacLCConfig failed"); return RFAILED; } @@ -2660,7 +3155,7 @@ uint8_t BuildRlcBearerToAddModList(struct CellGroupConfigRrc__rlc_BearerToAddMod DU_ALLOC(controlRSetList->list.array, controlRSetList->list.size); if(!controlRSetList->list.array) { - DU_LOG("\nF1AP : Memory allocation failed in BuildControlRSetToAddModList"); + DU_LOG("\nERROR --> F1AP : Memory allocation failed in BuildControlRSetToAddModList"); return RFAILED; } @@ -2670,7 +3165,7 @@ uint8_t BuildRlcBearerToAddModList(struct CellGroupConfigRrc__rlc_BearerToAddMod DU_ALLOC(controlRSetList->list.array[idx], sizeof(struct ControlResourceSet)); if(!controlRSetList->list.array[idx]) { - DU_LOG("\nF1AP : Memory allocation failed in BuildControlRSetToAddModList"); + DU_LOG("\nERROR --> F1AP : Memory allocation failed in BuildControlRSetToAddModList"); return RFAILED; } } @@ -2693,7 +3188,7 @@ uint8_t BuildRlcBearerToAddModList(struct CellGroupConfigRrc__rlc_BearerToAddMod controlRSet->frequencyDomainResources.size); if(!controlRSet->frequencyDomainResources.buf) { - DU_LOG("\nF1AP : Memory allocation failed in BuildControlRSetToAddModList"); + DU_LOG("\nERROR --> F1AP : Memory allocation failed in BuildControlRSetToAddModList"); return RFAILED; } @@ -2721,7 +3216,7 @@ uint8_t BuildRlcBearerToAddModList(struct CellGroupConfigRrc__rlc_BearerToAddMod sizeof(struct ControlResourceSet__tci_StatesPDCCH_ToAddList)); if(!controlRset->tci_StatesPDCCH_ToAddList) { - DU_LOG("\nF1AP : Memory allocation failed in BuildControlRSetToAddModList"); + DU_LOG("\nERROR --> F1AP : Memory allocation failed in BuildControlRSetToAddModList"); return RFAILED; } @@ -2732,7 +3227,7 @@ uint8_t BuildRlcBearerToAddModList(struct CellGroupConfigRrc__rlc_BearerToAddMod controlRset->tci_StatesPDCCH_ToAddList->list.size) if(!controlRset->tci_StatesPDCCH_ToAddList->list.array) { - DU_LOG("\nF1AP : Memory allocation failed in BuildControlRSetToAddModList"); + DU_LOG("\nERROR --> F1AP : Memory allocation failed in BuildControlRSetToAddModList"); return RFAILED; } @@ -2741,7 +3236,7 @@ uint8_t BuildRlcBearerToAddModList(struct CellGroupConfigRrc__rlc_BearerToAddMod DU_ALLOC(controlRset->tci_StatesPDCCH_ToAddList->list.array[tciStateIdx], sizeof(TCI_StateId_t)); if(!controlRset->tci_StatesPDCCH_ToAddList->list.array[tciStateIdx]) { - DU_LOG("\nF1AP : Memory allocation failed in BuildControlRSetToAddModList"); + DU_LOG("\nERROR --> F1AP : Memory allocation failed in BuildControlRSetToAddModList"); return RFAILED; } } @@ -2753,7 +3248,7 @@ uint8_t BuildRlcBearerToAddModList(struct CellGroupConfigRrc__rlc_BearerToAddMod DU_ALLOC(controlRset->tci_PresentInDCI, sizeof(long)); if(!controlRset->tci_PresentInDCI) { - DU_LOG("\nF1AP : Memory allocation failed in BuildControlRSetToAddModList"); + DU_LOG("\nERROR --> F1AP : Memory allocation failed in BuildControlRSetToAddModList"); return RFAILED; } /* TODO */ @@ -2764,7 +3259,7 @@ uint8_t BuildRlcBearerToAddModList(struct CellGroupConfigRrc__rlc_BearerToAddMod DU_ALLOC(controlRSet->pdcch_DMRS_ScramblingID, sizeof(long)); if(!controlRSet->pdcch_DMRS_ScramblingID) { - DU_LOG("\nF1AP : Memory allocation failed in BuildControlRSetToAddModList"); + DU_LOG("\nERROR --> F1AP : Memory allocation failed in BuildControlRSetToAddModList"); return RFAILED; } *(controlRSet->pdcch_DMRS_ScramblingID) = SCRAMBLING_ID; @@ -2807,7 +3302,7 @@ uint8_t BuildRlcBearerToAddModList(struct CellGroupConfigRrc__rlc_BearerToAddMod DU_ALLOC(searchSpcList->list.array, searchSpcList->list.size); if(!searchSpcList->list.array) { - DU_LOG("\nF1AP : Memory allocation failed in BuildSearchSpcToAddModList"); + DU_LOG("\nERROR --> F1AP : Memory allocation failed in BuildSearchSpcToAddModList"); return RFAILED; } @@ -2817,7 +3312,7 @@ uint8_t BuildRlcBearerToAddModList(struct CellGroupConfigRrc__rlc_BearerToAddMod DU_ALLOC(searchSpcList->list.array[idx], sizeof(struct SearchSpace)); if(!searchSpcList->list.array[idx]) { - DU_LOG("\nF1AP : Memory allocation failed in BuildSearchSpcToAddModList"); + DU_LOG("\nERROR --> F1AP : Memory allocation failed in BuildSearchSpcToAddModList"); return RFAILED; } } @@ -2831,7 +3326,7 @@ uint8_t BuildRlcBearerToAddModList(struct CellGroupConfigRrc__rlc_BearerToAddMod DU_ALLOC(searchSpc->controlResourceSetId, sizeof(ControlResourceSetId_t)); if(!searchSpc->controlResourceSetId) { - DU_LOG("\nF1AP : Memory allocation failed in BuildSearchSpcToAddModList"); + DU_LOG("\nERROR --> F1AP : Memory allocation failed in BuildSearchSpcToAddModList"); return RFAILED; } *(searchSpc->controlResourceSetId) = PDCCH_CTRL_RSRC_SET_ONE_ID; @@ -2841,7 +3336,7 @@ uint8_t BuildRlcBearerToAddModList(struct CellGroupConfigRrc__rlc_BearerToAddMod sizeof(struct SearchSpace__monitoringSlotPeriodicityAndOffset)); if(!searchSpc->monitoringSlotPeriodicityAndOffset) { - DU_LOG("\nF1AP : Memory allocation failed in BuildSearchSpcToAddModList"); + DU_LOG("\nERROR --> F1AP : Memory allocation failed in BuildSearchSpcToAddModList"); return RFAILED; } searchSpc->monitoringSlotPeriodicityAndOffset->present = \ @@ -2852,7 +3347,7 @@ uint8_t BuildRlcBearerToAddModList(struct CellGroupConfigRrc__rlc_BearerToAddMod DU_ALLOC(searchSpc->monitoringSymbolsWithinSlot, sizeof(BIT_STRING_t)); if(!searchSpc->monitoringSymbolsWithinSlot) { - DU_LOG("\nF1AP : Memory allocation failed in BuildSearchSpcToAddModList"); + DU_LOG("\nERROR --> F1AP : Memory allocation failed in BuildSearchSpcToAddModList"); return RFAILED; } @@ -2870,7 +3365,7 @@ uint8_t BuildRlcBearerToAddModList(struct CellGroupConfigRrc__rlc_BearerToAddMod searchSpc->monitoringSymbolsWithinSlot->size); if(!searchSpc->monitoringSymbolsWithinSlot->buf) { - DU_LOG("\nF1AP : Memory allocation failed in BuildSearchSpcToAddModList"); + DU_LOG("\nERROR --> F1AP : Memory allocation failed in BuildSearchSpcToAddModList"); return RFAILED; } @@ -2884,7 +3379,7 @@ uint8_t BuildRlcBearerToAddModList(struct CellGroupConfigRrc__rlc_BearerToAddMod DU_ALLOC(searchSpc->nrofCandidates, sizeof(struct SearchSpace__nrofCandidates)); if(!searchSpc->nrofCandidates) { - DU_LOG("\nF1AP : Memory allocation failed in BuildSearchSpcToAddModList"); + DU_LOG("\nERROR --> F1AP : Memory allocation failed in BuildSearchSpcToAddModList"); return RFAILED; } @@ -2903,7 +3398,7 @@ uint8_t BuildRlcBearerToAddModList(struct CellGroupConfigRrc__rlc_BearerToAddMod DU_ALLOC(searchSpc->searchSpaceType, sizeof(struct SearchSpace__searchSpaceType)); if(!searchSpc->searchSpaceType) { - DU_LOG("\nF1AP : Memory allocation failed in BuildSearchSpcToAddModList"); + DU_LOG("\nERROR --> F1AP : Memory allocation failed in BuildSearchSpcToAddModList"); return RFAILED; } @@ -2914,7 +3409,7 @@ uint8_t BuildRlcBearerToAddModList(struct CellGroupConfigRrc__rlc_BearerToAddMod sizeof(struct SearchSpace__searchSpaceType__ue_Specific)); if(!searchSpc->searchSpaceType->choice.ue_Specific) { - DU_LOG("\nF1AP : Memory allocation failed in BuildSearchSpcToAddModList"); + DU_LOG("\nERROR --> F1AP : Memory allocation failed in BuildSearchSpcToAddModList"); return RFAILED; } searchSpc->searchSpaceType->choice.ue_Specific->dci_Formats = \ @@ -2946,7 +3441,7 @@ uint8_t BuildBWPDlDedPdcchCfg(struct PDCCH_Config *pdcchCfg) sizeof(struct PDCCH_Config__controlResourceSetToAddModList)); if(!pdcchCfg->controlResourceSetToAddModList) { - DU_LOG("\nF1AP : Memory allocation failed in BuildBWPDlDedPdcchCfg"); + DU_LOG("\nERROR --> F1AP : Memory allocation failed in BuildBWPDlDedPdcchCfg"); return RFAILED; } @@ -2962,7 +3457,7 @@ uint8_t BuildBWPDlDedPdcchCfg(struct PDCCH_Config *pdcchCfg) sizeof(struct PDCCH_Config__searchSpacesToAddModList)); if(!pdcchCfg->searchSpacesToAddModList) { - DU_LOG("\nF1AP : Memory allocation failed in BuildBWPDlDedPdcchCfg"); + DU_LOG("\nERROR --> F1AP : Memory allocation failed in BuildBWPDlDedPdcchCfg"); return RFAILED; } @@ -3006,7 +3501,7 @@ uint8_t BuildBWPDlDedPdcchCfg(struct PDCCH_Config *pdcchCfg) DU_ALLOC(dmrsDlCfg->choice.setup, sizeof(struct DMRS_DownlinkConfig)); if(!dmrsDlCfg->choice.setup) { - DU_LOG("\nF1AP : Memory allocation failed in BuildBWPDlDedPdschCfg"); + DU_LOG("\nERROR --> F1AP : Memory allocation failed in BuildBWPDlDedPdschCfg"); return RFAILED; } @@ -3015,7 +3510,7 @@ uint8_t BuildBWPDlDedPdcchCfg(struct PDCCH_Config *pdcchCfg) DU_ALLOC(dmrsDlCfg->choice.setup->dmrs_AdditionalPosition, sizeof(long)); if(!dmrsDlCfg->choice.setup->dmrs_AdditionalPosition) { - DU_LOG("\nF1AP : Memory allocation failed in BuildDMRSDLPdschMapTypeA"); + DU_LOG("\nERROR --> F1AP : Memory allocation failed in BuildDMRSDLPdschMapTypeA"); return RFAILED; } *(dmrsDlCfg->choice.setup->dmrs_AdditionalPosition) = DMRS_ADDITIONAL_POS; @@ -3084,7 +3579,7 @@ uint8_t BuildTCIStatesToAddModList(struct PDSCH_Config__tci_StatesToAddModList * sizeof(struct PDSCH_TimeDomainResourceAllocationList)); if(!timeDomAllocList->choice.setup) { - DU_LOG("\nF1AP : Memory allocation failed in BuildPdschTimeDomAllocList"); + DU_LOG("\nERROR --> F1AP : Memory allocation failed in BuildPdschTimeDomAllocList"); return RFAILED; } @@ -3098,7 +3593,7 @@ uint8_t BuildTCIStatesToAddModList(struct PDSCH_Config__tci_StatesToAddModList * timeDomAllocList->choice.setup->list.size); if(!timeDomAllocList->choice.setup->list.array) { - DU_LOG("\nF1AP : Memory allocation failed in BuildPdschTimeDomAllocList"); + DU_LOG("\nERROR --> F1AP : Memory allocation failed in BuildPdschTimeDomAllocList"); return RFAILED; } @@ -3109,7 +3604,7 @@ uint8_t BuildTCIStatesToAddModList(struct PDSCH_Config__tci_StatesToAddModList * sizeof(struct PDSCH_TimeDomainResourceAllocation)); if(!timeDomAllocList->choice.setup->list.array[idx]) { - DU_LOG("\nF1AP : Memory allocation failed in BuildPdschTimeDomAllocList"); + DU_LOG("\nERROR --> F1AP : Memory allocation failed in BuildPdschTimeDomAllocList"); return RFAILED; } } @@ -3154,7 +3649,7 @@ uint8_t BuildTCIStatesToAddModList(struct PDSCH_Config__tci_StatesToAddModList * sizeof(struct PDSCH_Config__prb_BundlingType__staticBundling)); if(!prbBndlType->choice.staticBundling) { - DU_LOG("\nF1AP : Memory allocation failed in BuildPdschPrbBundlingType"); + DU_LOG("\nERROR --> F1AP : Memory allocation failed in BuildPdschPrbBundlingType"); return RFAILED; } prbBndlType->choice.staticBundling->bundleSize = NULLP; @@ -3187,7 +3682,7 @@ uint8_t BuildBWPDlDedPdschCfg(struct PDSCH_Config *pdschCfg) sizeof(struct PDSCH_Config__dmrs_DownlinkForPDSCH_MappingTypeA)); if(!pdschCfg->dmrs_DownlinkForPDSCH_MappingTypeA) { - DU_LOG("\nF1AP : Memory allocation failed in BuildBWPDlDedPdschCfg"); + DU_LOG("\nERROR --> F1AP : Memory allocation failed in BuildBWPDlDedPdschCfg"); return RFAILED; } @@ -3204,7 +3699,7 @@ uint8_t BuildBWPDlDedPdschCfg(struct PDSCH_Config *pdschCfg) DU_ALLOC(pdschCfg->tci_StatesToAddModList, sizeof(struct PDSCH_Config__tci_StatesToAddModList)); if(!pdschCfg->tci_StatesToAddModList) { - DU_LOG("\nF1AP : Memory allocation failed in BuildBWPDlDedPdschCfg"); + DU_LOG("\nERROR --> F1AP : Memory allocation failed in BuildBWPDlDedPdschCfg"); return RFAILED; } if(BuildTCIStatesToAddModList(pdschCfg->tci_StatesToAddModList) != ROK) @@ -3220,7 +3715,7 @@ uint8_t BuildBWPDlDedPdschCfg(struct PDSCH_Config *pdschCfg) sizeof(struct PDSCH_Config__pdsch_TimeDomainAllocationList)); if(!pdschCfg->pdsch_TimeDomainAllocationList) { - DU_LOG("\nF1AP : Memory allocation failed in BuildBWPDlDedPdschCfg"); + DU_LOG("\nERROR --> F1AP : Memory allocation failed in BuildBWPDlDedPdschCfg"); return RFAILED; } @@ -3241,7 +3736,7 @@ uint8_t BuildBWPDlDedPdschCfg(struct PDSCH_Config *pdschCfg) DU_ALLOC(pdschCfg->maxNrofCodeWordsScheduledByDCI, sizeof(long)); if(!pdschCfg->maxNrofCodeWordsScheduledByDCI) { - DU_LOG("\nF1AP : Memory allocation failed in BuildBWPDlDedPdschCfg"); + DU_LOG("\nERROR --> F1AP : Memory allocation failed in BuildBWPDlDedPdschCfg"); return RFAILED; } *(pdschCfg->maxNrofCodeWordsScheduledByDCI) = PDSCH_MAX_CODEWORD_SCH_BY_DCI; @@ -3283,7 +3778,7 @@ uint8_t BuildInitialDlBWP(BWP_DownlinkDedicated_t *dlBwp) DU_ALLOC(dlBwp->pdcch_Config, sizeof(struct BWP_DownlinkDedicated__pdcch_Config)); if(!dlBwp->pdcch_Config) { - DU_LOG("\nF1AP : Memory Allocation failure in BuildInitialDlBWP"); + DU_LOG("\nERROR --> F1AP : Memory Allocation failure in BuildInitialDlBWP"); return RFAILED; } dlBwp->pdcch_Config->present = BWP_DownlinkDedicated__pdcch_Config_PR_setup; @@ -3292,7 +3787,7 @@ uint8_t BuildInitialDlBWP(BWP_DownlinkDedicated_t *dlBwp) DU_ALLOC(dlBwp->pdcch_Config->choice.setup, sizeof(struct PDCCH_Config)); if(!dlBwp->pdcch_Config->choice.setup) { - DU_LOG("\nF1AP : Memory Allocation failure in BuildInitialDlBWP"); + DU_LOG("\nERROR --> F1AP : Memory Allocation failure in BuildInitialDlBWP"); return RFAILED; } if(BuildBWPDlDedPdcchCfg(dlBwp->pdcch_Config->choice.setup) != ROK) @@ -3304,7 +3799,7 @@ uint8_t BuildInitialDlBWP(BWP_DownlinkDedicated_t *dlBwp) DU_ALLOC(dlBwp->pdsch_Config, sizeof(struct BWP_DownlinkDedicated__pdsch_Config)); if(!dlBwp->pdsch_Config) { - DU_LOG("\nF1AP : Memory Allocation failure in BuildInitialDlBWP"); + DU_LOG("\nERROR --> F1AP : Memory Allocation failure in BuildInitialDlBWP"); return RFAILED; } dlBwp->pdsch_Config->present = BWP_DownlinkDedicated__pdsch_Config_PR_setup; @@ -3313,7 +3808,7 @@ uint8_t BuildInitialDlBWP(BWP_DownlinkDedicated_t *dlBwp) DU_ALLOC(dlBwp->pdsch_Config->choice.setup, sizeof(struct PDSCH_Config)); if(!dlBwp->pdsch_Config->choice.setup) { - DU_LOG("\nF1AP : Memory Allocation failure in BuildInitialDlBWP"); + DU_LOG("\nERROR --> F1AP : Memory Allocation failure in BuildInitialDlBWP"); return RFAILED; } @@ -3353,7 +3848,7 @@ uint8_t BuildInitialDlBWP(BWP_DownlinkDedicated_t *dlBwp) DU_ALLOC(dmrsUlCfg->choice.setup, sizeof(DMRS_UplinkConfig_t)); if(!dmrsUlCfg->choice.setup) { - DU_LOG("\nF1AP : Memory allocation failed in BuildDMRSULPuschMapTypeA"); + DU_LOG("\nERROR --> F1AP : Memory allocation failed in BuildDMRSULPuschMapTypeA"); return RFAILED; } @@ -3362,7 +3857,7 @@ uint8_t BuildInitialDlBWP(BWP_DownlinkDedicated_t *dlBwp) DU_ALLOC(dmrsUlCfg->choice.setup->dmrs_AdditionalPosition, sizeof(long)); if(!dmrsUlCfg->choice.setup->dmrs_AdditionalPosition) { - DU_LOG("\nF1AP : Memory allocation failed in BuildDMRSULPuschMapTypeA"); + DU_LOG("\nERROR --> F1AP : Memory allocation failed in BuildDMRSULPuschMapTypeA"); return RFAILED; } *(dmrsUlCfg->choice.setup->dmrs_AdditionalPosition) = DMRS_ADDITIONAL_POS; @@ -3374,7 +3869,7 @@ uint8_t BuildInitialDlBWP(BWP_DownlinkDedicated_t *dlBwp) sizeof(struct DMRS_UplinkConfig__transformPrecodingDisabled)); if(!dmrsUlCfg->choice.setup->transformPrecodingDisabled) { - DU_LOG("\nF1AP : Memory allocation failed in BuildDMRSULPuschMapTypeA"); + DU_LOG("\nERROR --> F1AP : Memory allocation failed in BuildDMRSULPuschMapTypeA"); return RFAILED; } @@ -3383,7 +3878,7 @@ uint8_t BuildInitialDlBWP(BWP_DownlinkDedicated_t *dlBwp) sizeof(long)); if(!dmrsUlCfg->choice.setup->transformPrecodingDisabled->scramblingID0) { - DU_LOG("\nF1AP : Memory allocation failed in BuildDMRSULPuschMapTypeA"); + DU_LOG("\nERROR --> F1AP : Memory allocation failed in BuildDMRSULPuschMapTypeA"); return RFAILED; } *(dmrsUlCfg->choice.setup->transformPrecodingDisabled->scramblingID0) = SCRAMBLING_ID; @@ -3425,7 +3920,7 @@ uint8_t BuildInitialDlBWP(BWP_DownlinkDedicated_t *dlBwp) sizeof(struct PUSCH_TimeDomainResourceAllocationList)); if(!timeDomAllocList->choice.setup) { - DU_LOG("\nF1AP : Memory allocation failed in BuildPuschTimeDomAllocList"); + DU_LOG("\nERROR --> F1AP : Memory allocation failed in BuildPuschTimeDomAllocList"); return RFAILED; } @@ -3438,7 +3933,7 @@ uint8_t BuildInitialDlBWP(BWP_DownlinkDedicated_t *dlBwp) timeDomAllocList->choice.setup->list.size); if(!timeDomAllocList->choice.setup->list.array) { - DU_LOG("\nF1AP : Memory allocation failed in BuildPuschTimeDomAllocList"); + DU_LOG("\nERROR --> F1AP : Memory allocation failed in BuildPuschTimeDomAllocList"); return RFAILED; } @@ -3449,7 +3944,7 @@ uint8_t BuildInitialDlBWP(BWP_DownlinkDedicated_t *dlBwp) sizeof(PUSCH_TimeDomainResourceAllocation_t)); if(!timeDomAllocList->choice.setup->list.array[idx]) { - DU_LOG("\nF1AP : Memory allocation failed in BuildPuschTimeDomAllocList"); + DU_LOG("\nERROR --> F1AP : Memory allocation failed in BuildPuschTimeDomAllocList"); return RFAILED; } } @@ -3459,7 +3954,7 @@ uint8_t BuildInitialDlBWP(BWP_DownlinkDedicated_t *dlBwp) DU_ALLOC(timeDomAlloc->k2, sizeof(long)); if(!timeDomAlloc->k2) { - DU_LOG("\nF1AP : Memory allocation failed in BuildPuschTimeDomAllocList"); + DU_LOG("\nERROR --> F1AP : Memory allocation failed in BuildPuschTimeDomAllocList"); return RFAILED; } *(timeDomAlloc->k2) = PUSCH_K2; @@ -3491,7 +3986,7 @@ uint8_t BuildBWPUlDedPuschCfg(PUSCH_Config_t *puschCfg) DU_ALLOC(puschCfg->dataScramblingIdentityPUSCH, sizeof(long)); if(!puschCfg->dataScramblingIdentityPUSCH) { - DU_LOG("\nF1AP: Memory allocation failed in BuildBWPUlDedPuschCfg"); + DU_LOG("\nERROR --> F1AP : Memory allocation failed in BuildBWPUlDedPuschCfg"); return RFAILED; } *(puschCfg->dataScramblingIdentityPUSCH) = SCRAMBLING_ID; @@ -3502,7 +3997,7 @@ uint8_t BuildBWPUlDedPuschCfg(PUSCH_Config_t *puschCfg) sizeof(struct PUSCH_Config__dmrs_UplinkForPUSCH_MappingTypeA)); if(!puschCfg->dmrs_UplinkForPUSCH_MappingTypeA) { - DU_LOG("\nF1AP: Memory allocation failed in BuildBWPUlDedPuschCfg"); + DU_LOG("\nERROR --> F1AP : Memory allocation failed in BuildBWPUlDedPuschCfg"); return RFAILED; } @@ -3522,7 +4017,7 @@ uint8_t BuildBWPUlDedPuschCfg(PUSCH_Config_t *puschCfg) sizeof(struct PUSCH_Config__pusch_TimeDomainAllocationList)); if(!puschCfg->pusch_TimeDomainAllocationList) { - DU_LOG("\nF1AP: Memory allocation failed in BuildBWPUlDedPuschCfg"); + DU_LOG("\nERROR --> F1AP : Memory allocation failed in BuildBWPUlDedPuschCfg"); return RFAILED; } @@ -3538,7 +4033,7 @@ uint8_t BuildBWPUlDedPuschCfg(PUSCH_Config_t *puschCfg) DU_ALLOC(puschCfg->transformPrecoder, sizeof(long)); if(!puschCfg->transformPrecoder) { - DU_LOG("\nF1AP: Memory allocation failed in BuildBWPUlDedPuschCfg"); + DU_LOG("\nERROR --> F1AP : Memory allocation failed in BuildBWPUlDedPuschCfg"); return RFAILED; } *(puschCfg->transformPrecoder) = PUSCH_TRANSFORM_PRECODER; @@ -3579,7 +4074,7 @@ uint8_t BuildSrsRsrcAddModList(struct SRS_Config__srs_ResourceToAddModList *reso DU_ALLOC(resourceList->list.array, resourceList->list.size); if(!resourceList->list.array) { - DU_LOG("\nF1AP: Memory allocation failed in BuildSrsRsrcAddModList"); + DU_LOG("\nERROR --> F1AP : Memory allocation failed in BuildSrsRsrcAddModList"); return RFAILED; } @@ -3588,7 +4083,7 @@ uint8_t BuildSrsRsrcAddModList(struct SRS_Config__srs_ResourceToAddModList *reso DU_ALLOC(resourceList->list.array[rsrcIdx], sizeof(SRS_Resource_t)); if(!resourceList->list.array[rsrcIdx]) { - DU_LOG("\nF1AP: Memory allocation failed in BuildSrsRsrcAddModList"); + DU_LOG("\nERROR --> F1AP : Memory allocation failed in BuildSrsRsrcAddModList"); return RFAILED; } } @@ -3603,7 +4098,7 @@ uint8_t BuildSrsRsrcAddModList(struct SRS_Config__srs_ResourceToAddModList *reso sizeof(struct SRS_Resource__transmissionComb__n2)); if(!resourceList->list.array[rsrcIdx]->transmissionComb.choice.n2) { - DU_LOG("\nF1AP: Memory allocation failed in BuildSrsRsrcAddModList"); + DU_LOG("\nERROR --> F1AP : Memory allocation failed in BuildSrsRsrcAddModList"); return RFAILED; } resourceList->list.array[rsrcIdx]->transmissionComb.choice.n2->combOffset_n2\ @@ -3634,7 +4129,7 @@ uint8_t BuildSrsRsrcAddModList(struct SRS_Config__srs_ResourceToAddModList *reso sizeof(struct SRS_Resource__resourceType__aperiodic)); if(!resourceList->list.array[rsrcIdx]->resourceType.choice.aperiodic) { - DU_LOG("\nF1AP: Memory allocation failed in BuildSrsRsrcAddModList"); + DU_LOG("\nERROR --> F1AP : Memory allocation failed in BuildSrsRsrcAddModList"); return RFAILED; } resourceList->list.array[rsrcIdx]->sequenceId = SRS_SEQ_ID; @@ -3674,7 +4169,7 @@ uint8_t BuildSrsRsrcAddModList(struct SRS_Config__srs_ResourceToAddModList *reso DU_ALLOC(rsrcSetList->list.array, rsrcSetList->list.size); if(!rsrcSetList->list.array) { - DU_LOG("\nF1AP: Memory allocation failed in BuildSrsRsrcSetAddModList"); + DU_LOG("\nERROR --> F1AP : Memory allocation failed in BuildSrsRsrcSetAddModList"); return RFAILED; } @@ -3683,7 +4178,7 @@ uint8_t BuildSrsRsrcAddModList(struct SRS_Config__srs_ResourceToAddModList *reso DU_ALLOC(rsrcSetList->list.array[rSetIdx], sizeof(SRS_ResourceSet_t)); if(!rsrcSetList->list.array[rSetIdx]) { - DU_LOG("\nF1AP: Memory allocation failed in BuildSrsRsrcSetAddModList"); + DU_LOG("\nERROR --> F1AP : Memory allocation failed in BuildSrsRsrcSetAddModList"); return RFAILED; } } @@ -3697,7 +4192,7 @@ uint8_t BuildSrsRsrcAddModList(struct SRS_Config__srs_ResourceToAddModList *reso sizeof(struct SRS_ResourceSet__srs_ResourceIdList)); if(!rsrcSetList->list.array[rSetIdx]->srs_ResourceIdList) { - DU_LOG("\nF1AP: Memory allocation failed in BuildSrsRsrcSetAddModList"); + DU_LOG("\nERROR --> F1AP : Memory allocation failed in BuildSrsRsrcSetAddModList"); return RFAILED; } @@ -3709,7 +4204,7 @@ uint8_t BuildSrsRsrcAddModList(struct SRS_Config__srs_ResourceToAddModList *reso DU_ALLOC(rsrcIdList->list.array, rsrcIdList->list.size); if(!rsrcIdList->list.array) { - DU_LOG("\nF1AP: Memory allocation failed in BuildSrsRsrcSetAddModList"); + DU_LOG("\nERROR --> F1AP : Memory allocation failed in BuildSrsRsrcSetAddModList"); return RFAILED; } @@ -3718,7 +4213,7 @@ uint8_t BuildSrsRsrcAddModList(struct SRS_Config__srs_ResourceToAddModList *reso DU_ALLOC(rsrcIdList->list.array[rsrcIdx], sizeof(SRS_ResourceId_t)); if(!rsrcIdList->list.array[rsrcIdx]) { - DU_LOG("\nF1AP: Memory allocation failed in BuildSrsRsrcSetAddModList"); + DU_LOG("\nERROR --> F1AP : Memory allocation failed in BuildSrsRsrcSetAddModList"); return RFAILED; } } @@ -3735,7 +4230,7 @@ uint8_t BuildSrsRsrcAddModList(struct SRS_Config__srs_ResourceToAddModList *reso sizeof(struct SRS_ResourceSet__resourceType__aperiodic)); if(!rsrcSetList->list.array[rSetIdx]->resourceType.choice.aperiodic) { - DU_LOG("\nF1AP: Memory allocation failed in BuildSrsRsrcSetAddModList"); + DU_LOG("\nERROR --> F1AP : Memory allocation failed in BuildSrsRsrcSetAddModList"); return RFAILED; } rsrcSetList->list.array[rSetIdx]->resourceType.choice.aperiodic->aperiodicSRS_ResourceTrigger \ @@ -3778,7 +4273,7 @@ uint8_t BuildBWPUlDedSrsCfg(SRS_Config_t *srsCfg) sizeof(struct SRS_Config__srs_ResourceSetToAddModList)); if(!srsCfg->srs_ResourceSetToAddModList) { - DU_LOG("\nF1AP: Memory allocation failed in BuildBWPUlDedSrsCfg"); + DU_LOG("\nERROR --> F1AP : Memory allocation failed in BuildBWPUlDedSrsCfg"); return RFAILED; } if(BuildSrsRsrcSetAddModList(srsCfg->srs_ResourceSetToAddModList) != ROK) @@ -3794,7 +4289,7 @@ uint8_t BuildBWPUlDedSrsCfg(SRS_Config_t *srsCfg) sizeof(struct SRS_Config__srs_ResourceToAddModList)); if(!srsCfg->srs_ResourceToAddModList) { - DU_LOG("\nF1AP: Memory allocation failed in BuildBWPUlDedSrsCfg"); + DU_LOG("\nERROR --> F1AP : Memory allocation failed in BuildBWPUlDedSrsCfg"); return RFAILED; } @@ -3833,7 +4328,7 @@ uint8_t BuildPuschSrvCellCfg(struct UplinkConfig__pusch_ServingCellConfig *pusch DU_ALLOC(puschCfg->choice.setup, sizeof(struct PUSCH_ServingCellConfig)); if(!puschCfg->choice.setup) { - DU_LOG("\nF1AP : Memory allocation failed in BuildPuschSrvCellCfg"); + DU_LOG("\nERROR --> F1AP : Memory allocation failed in BuildPuschSrvCellCfg"); return RFAILED; } @@ -3844,7 +4339,7 @@ uint8_t BuildPuschSrvCellCfg(struct UplinkConfig__pusch_ServingCellConfig *pusch DU_ALLOC(puschCfg->choice.setup->ext1, sizeof(struct PUSCH_ServingCellConfig__ext1)); if(!puschCfg->choice.setup->ext1) { - DU_LOG("\nF1AP : Memory allocation failed in BuildPuschSrvCellCfg"); + DU_LOG("\nERROR --> F1AP : Memory allocation failed in BuildPuschSrvCellCfg"); return RFAILED; } @@ -3852,7 +4347,7 @@ uint8_t BuildPuschSrvCellCfg(struct UplinkConfig__pusch_ServingCellConfig *pusch DU_ALLOC(puschCfg->choice.setup->ext1->maxMIMO_Layers, sizeof(long)); if(!puschCfg->choice.setup->ext1->maxMIMO_Layers) { - DU_LOG("\nF1AP : Memory allocation failed in BuildPuschSrvCellCfg"); + DU_LOG("\nERROR --> F1AP : Memory allocation failed in BuildPuschSrvCellCfg"); return RFAILED; } *(puschCfg->choice.setup->ext1->maxMIMO_Layers) = PUSCH_MAX_MIMO_LAYERS; @@ -3861,7 +4356,7 @@ uint8_t BuildPuschSrvCellCfg(struct UplinkConfig__pusch_ServingCellConfig *pusch DU_ALLOC(puschCfg->choice.setup->ext1->processingType2Enabled,sizeof(BOOLEAN_t)); if(!puschCfg->choice.setup->ext1->processingType2Enabled) { - DU_LOG("\nF1AP : Memory allocation failed in BuildPuschSrvCellCfg"); + DU_LOG("\nERROR --> F1AP : Memory allocation failed in BuildPuschSrvCellCfg"); return RFAILED; } *(puschCfg->choice.setup->ext1->processingType2Enabled) = PUSCH_PROCESS_TYPE2_ENABLED; @@ -3892,7 +4387,7 @@ uint8_t BuildInitialUlBWP(BWP_UplinkDedicated_t *ulBwp) DU_ALLOC(ulBwp->pusch_Config, sizeof(struct BWP_UplinkDedicated__pusch_Config)); if(!ulBwp->pusch_Config) { - DU_LOG("\nF1AP : Memory allocation failed in BuildInitialUlBWP"); + DU_LOG("\nERROR --> F1AP : Memory allocation failed in BuildInitialUlBWP"); return RFAILED; } @@ -3901,7 +4396,7 @@ uint8_t BuildInitialUlBWP(BWP_UplinkDedicated_t *ulBwp) DU_ALLOC(ulBwp->pusch_Config->choice.setup, sizeof(PUSCH_Config_t)); if(!ulBwp->pusch_Config->choice.setup) { - DU_LOG("\nF1AP : Memory allocation failed in BuildInitialUlBWP"); + DU_LOG("\nERROR --> F1AP : Memory allocation failed in BuildInitialUlBWP"); return RFAILED; } @@ -3917,7 +4412,7 @@ uint8_t BuildInitialUlBWP(BWP_UplinkDedicated_t *ulBwp) DU_ALLOC(ulBwp->srs_Config, sizeof(struct BWP_UplinkDedicated__srs_Config)); if(!ulBwp->srs_Config) { - DU_LOG("\nF1AP : Memory allocation failed in BuildInitialUlBWP"); + DU_LOG("\nERROR --> F1AP : Memory allocation failed in BuildInitialUlBWP"); return RFAILED; } @@ -3926,7 +4421,7 @@ uint8_t BuildInitialUlBWP(BWP_UplinkDedicated_t *ulBwp) DU_ALLOC(ulBwp->srs_Config->choice.setup, sizeof(SRS_Config_t)); if(!ulBwp->srs_Config->choice.setup) { - DU_LOG("\nF1AP : Memory allocation failed in BuildInitialUlBWP"); + DU_LOG("\nERROR --> F1AP : Memory allocation failed in BuildInitialUlBWP"); return RFAILED; } @@ -3961,7 +4456,7 @@ uint8_t BuildUlCfg(UplinkConfig_t *ulCfg) DU_ALLOC(ulCfg->initialUplinkBWP, sizeof(BWP_UplinkDedicated_t)); if(!ulCfg->initialUplinkBWP) { - DU_LOG("\nF1AP : Memory Allocation failed in BuildUlCfg"); + DU_LOG("\nERROR --> F1AP : Memory Allocation failed in BuildUlCfg"); return RFAILED; } @@ -3976,7 +4471,7 @@ uint8_t BuildUlCfg(UplinkConfig_t *ulCfg) DU_ALLOC(ulCfg->firstActiveUplinkBWP_Id, sizeof(BWP_Id_t)); if(!ulCfg->firstActiveUplinkBWP_Id) { - DU_LOG("\nF1AP : Memory Allocation failed in BuildUlCfg"); + DU_LOG("\nERROR --> F1AP : Memory Allocation failed in BuildUlCfg"); return RFAILED; } *(ulCfg->firstActiveUplinkBWP_Id) = ACTIVE_UL_BWP_ID; @@ -3986,7 +4481,7 @@ uint8_t BuildUlCfg(UplinkConfig_t *ulCfg) sizeof(struct UplinkConfig__pusch_ServingCellConfig)); if(!ulCfg->pusch_ServingCellConfig) { - DU_LOG("\nF1AP : Memory Allocation failed in BuildUlCfg"); + DU_LOG("\nERROR --> F1AP : Memory Allocation failed in BuildUlCfg"); return RFAILED; } @@ -4022,7 +4517,7 @@ uint8_t BuildPdschSrvCellCfg(struct ServingCellConfig__pdsch_ServingCellConfig * DU_ALLOC(pdschCfg->choice.setup, sizeof( struct PDSCH_ServingCellConfig)); if(!pdschCfg->choice.setup) { - DU_LOG("\nF1AP : Memory allocation failed in BuildPdschSrvCellCfg"); + DU_LOG("\nERROR --> F1AP : Memory allocation failed in BuildPdschSrvCellCfg"); return RFAILED; } @@ -4032,7 +4527,7 @@ uint8_t BuildPdschSrvCellCfg(struct ServingCellConfig__pdsch_ServingCellConfig * DU_ALLOC(pdschCfg->choice.setup->nrofHARQ_ProcessesForPDSCH, sizeof(long)); if(!pdschCfg->choice.setup->nrofHARQ_ProcessesForPDSCH) { - DU_LOG("\nF1AP : Memory allocation failed in BuildPdschSrvCellCfg"); + DU_LOG("\nERROR --> F1AP : Memory allocation failed in BuildPdschSrvCellCfg"); return RFAILED; } *(pdschCfg->choice.setup->nrofHARQ_ProcessesForPDSCH)= PDSCH_NUM_HARQ_PROC; @@ -4084,7 +4579,7 @@ uint8_t BuildSpCellCfgDed(ServingCellConfig_t *srvCellCfg) DU_ALLOC(srvCellCfg->tdd_UL_DL_ConfigurationDedicated, sizeof(TDD_UL_DL_ConfigDedicated_t)); if(!srvCellCfg->tdd_UL_DL_ConfigurationDedicated) { - DU_LOG("\nF1AP : Memory allocation failure in BuildSpCellCfgDed"); + DU_LOG("\nERROR --> F1AP : Memory allocation failure in BuildSpCellCfgDed"); return RFAILED; } @@ -4092,13 +4587,13 @@ uint8_t BuildSpCellCfgDed(ServingCellConfig_t *srvCellCfg) DU_ALLOC(srvCellCfg->initialDownlinkBWP, sizeof(BWP_DownlinkDedicated_t)); if(!srvCellCfg->initialDownlinkBWP) { - DU_LOG("\nF1AP : Memory allocation failure in BuildSpCellCfgDed"); + DU_LOG("\nERROR --> F1AP : Memory allocation failure in BuildSpCellCfgDed"); return RFAILED; } if(BuildInitialDlBWP(srvCellCfg->initialDownlinkBWP) != ROK) { - DU_LOG("\nF1AP : BuildInitialDlBWP failed"); + DU_LOG("\nERROR --> F1AP : BuildInitialDlBWP failed"); return RFAILED; } srvCellCfg->downlinkBWP_ToReleaseList = NULLP; @@ -4108,7 +4603,7 @@ uint8_t BuildSpCellCfgDed(ServingCellConfig_t *srvCellCfg) DU_ALLOC(srvCellCfg->firstActiveDownlinkBWP_Id, sizeof(long)); if(!srvCellCfg->firstActiveDownlinkBWP_Id) { - DU_LOG("\nF1AP : Memory allocation failure in BuildSpCellCfgDed"); + DU_LOG("\nERROR --> F1AP : Memory allocation failure in BuildSpCellCfgDed"); return RFAILED; } *(srvCellCfg->firstActiveDownlinkBWP_Id) = ACTIVE_DL_BWP_ID; @@ -4119,7 +4614,7 @@ uint8_t BuildSpCellCfgDed(ServingCellConfig_t *srvCellCfg) DU_ALLOC(srvCellCfg->defaultDownlinkBWP_Id, sizeof(long)); if(!srvCellCfg->defaultDownlinkBWP_Id) { - DU_LOG("\nF1AP : Memory allocation failure in BuildSpCellCfgDed"); + DU_LOG("\nERROR --> F1AP : Memory allocation failure in BuildSpCellCfgDed"); return RFAILED; } *(srvCellCfg->defaultDownlinkBWP_Id) = ACTIVE_DL_BWP_ID; @@ -4128,13 +4623,13 @@ uint8_t BuildSpCellCfgDed(ServingCellConfig_t *srvCellCfg) DU_ALLOC(srvCellCfg->uplinkConfig, sizeof(UplinkConfig_t)); if(!srvCellCfg->uplinkConfig) { - DU_LOG("\nF1AP : Memory allocation failure in BuildSpCellCfgDed"); + DU_LOG("\nERROR --> F1AP : Memory allocation failure in BuildSpCellCfgDed"); return RFAILED; } if(BuildUlCfg(srvCellCfg->uplinkConfig) != ROK) { - DU_LOG("\nF1AP : BuildUlCfg failed"); + DU_LOG("\nERROR --> F1AP : BuildUlCfg failed"); return RFAILED; } srvCellCfg->supplementaryUplink = NULLP; @@ -4144,13 +4639,13 @@ uint8_t BuildSpCellCfgDed(ServingCellConfig_t *srvCellCfg) DU_ALLOC(srvCellCfg->pdsch_ServingCellConfig, sizeof(struct ServingCellConfig__pdsch_ServingCellConfig)); if(!srvCellCfg->pdsch_ServingCellConfig) { - DU_LOG("\nF1AP : Memory allocation failure in BuildSpCellCfgDed"); + DU_LOG("\nERROR --> F1AP : Memory allocation failure in BuildSpCellCfgDed"); return RFAILED; } if(BuildPdschSrvCellCfg(srvCellCfg->pdsch_ServingCellConfig) != ROK) { - DU_LOG("\nF1AP : BuildPdschSrvCellCfg failed"); + DU_LOG("\nERROR --> F1AP : BuildPdschSrvCellCfg failed"); return RFAILED; } @@ -4159,7 +4654,7 @@ uint8_t BuildSpCellCfgDed(ServingCellConfig_t *srvCellCfg) DU_ALLOC(srvCellCfg->csi_MeasConfig, sizeof(struct ServingCellConfig__csi_MeasConfig)) if(!srvCellCfg->csi_MeasConfig) { - DU_LOG("\nF1AP : Memory allocation failure in BuildSpCellCfgDed"); + DU_LOG("\nERROR --> F1AP : Memory allocation failure in BuildSpCellCfgDed"); return RFAILED; } @@ -4202,7 +4697,7 @@ uint8_t BuildSpCellCfg(SpCellConfig_t *spCellCfg) DU_ALLOC(spCellCfg->servCellIndex, sizeof(long)); if(!spCellCfg->servCellIndex) { - DU_LOG("\nF1AP : Memory allocation failure in BuildSpCellCfg"); + DU_LOG("\nERROR --> F1AP : Memory allocation failure in BuildSpCellCfg"); return RFAILED; } *(spCellCfg->servCellIndex) = SERV_CELL_IDX; @@ -4213,7 +4708,7 @@ uint8_t BuildSpCellCfg(SpCellConfig_t *spCellCfg) DU_ALLOC(spCellCfg->rlmInSyncOutOfSyncThreshold, sizeof(long)); if(!spCellCfg->rlmInSyncOutOfSyncThreshold) { - DU_LOG("\nF1AP : Memory allocation failure in BuildSpCellCfg"); + DU_LOG("\nERROR --> F1AP : Memory allocation failure in BuildSpCellCfg"); return RFAILED; } *(spCellCfg->rlmInSyncOutOfSyncThreshold) = RLM_SYNC_OUT_SYNC_THRESHOLD; @@ -4222,12 +4717,12 @@ uint8_t BuildSpCellCfg(SpCellConfig_t *spCellCfg) DU_ALLOC(spCellCfg->spCellConfigDedicated, sizeof(ServingCellConfig_t)); if(!spCellCfg->spCellConfigDedicated) { - DU_LOG("\nF1AP : Memory allocation failure in BuildSpCellCfg"); + DU_LOG("\nERROR --> F1AP : Memory allocation failure in BuildSpCellCfg"); return RFAILED; } if(BuildSpCellCfgDed(spCellCfg->spCellConfigDedicated) != ROK) { - DU_LOG("\nF1AP : BuildSpCellCfgDed failed"); + DU_LOG("\nERROR --> F1AP : BuildSpCellCfgDed failed"); return RFAILED; } return ROK; @@ -4257,7 +4752,7 @@ uint8_t BuildPhyCellGrpCfg(PhysicalCellGroupConfig_t *phyCellGrpCfg) DU_ALLOC(phyCellGrpCfg->p_NR_FR1, sizeof(long)); if(!phyCellGrpCfg->p_NR_FR1) { - DU_LOG("\nF1AP : Memory allocation failure in BuildPhyCellGrpCfg"); + DU_LOG("\nERROR --> F1AP : Memory allocation failure in BuildPhyCellGrpCfg"); return RFAILED; } *(phyCellGrpCfg->p_NR_FR1) = P_NR_FR1; @@ -4295,13 +4790,13 @@ uint8_t BuildMacCellGrpCfg(MAC_CellGroupConfig_t *macCellGrpCfg) DU_ALLOC(macCellGrpCfg->schedulingRequestConfig, sizeof(struct SchedulingRequestConfig)); if(!macCellGrpCfg->schedulingRequestConfig) { - DU_LOG("\nF1AP : Memory allocation failure in BuildMacCellGrpCfg"); + DU_LOG("\nERROR --> F1AP : Memory allocation failure in BuildMacCellGrpCfg"); return RFAILED; } if(BuildSchedulingReqConfig(macCellGrpCfg->schedulingRequestConfig) != ROK) { - DU_LOG("\nF1AP : BuildSchedulingReqConfig failed"); + DU_LOG("\nERROR --> F1AP : BuildSchedulingReqConfig failed"); return RFAILED; } @@ -4309,13 +4804,13 @@ uint8_t BuildMacCellGrpCfg(MAC_CellGroupConfig_t *macCellGrpCfg) DU_ALLOC(macCellGrpCfg->bsr_Config, sizeof(struct BSR_Config)); if(!macCellGrpCfg->bsr_Config) { - DU_LOG("\nF1AP : Memory allocation failure in BuildMacCellGrpCfg"); + DU_LOG("\nERROR --> F1AP : Memory allocation failure in BuildMacCellGrpCfg"); return RFAILED; } if(BuildBsrConfig(macCellGrpCfg->bsr_Config) != ROK) { - DU_LOG("\nF1AP : BuildBsrConfig failed"); + DU_LOG("\nERROR --> F1AP : BuildBsrConfig failed"); return RFAILED; } @@ -4323,13 +4818,13 @@ uint8_t BuildMacCellGrpCfg(MAC_CellGroupConfig_t *macCellGrpCfg) DU_ALLOC(macCellGrpCfg->tag_Config, sizeof(struct TAG_Config)); if(!macCellGrpCfg->tag_Config) { - DU_LOG("\nF1AP : Memory allocation failure in BuildMacCellGrpCfg"); + DU_LOG("\nERROR --> F1AP : Memory allocation failure in BuildMacCellGrpCfg"); return RFAILED; } if(BuildTagConfig(macCellGrpCfg->tag_Config) != ROK) { - DU_LOG("\nF1AP : BuildTagConfig failed"); + DU_LOG("\nERROR --> F1AP : BuildTagConfig failed"); return RFAILED; } @@ -4337,13 +4832,13 @@ uint8_t BuildMacCellGrpCfg(MAC_CellGroupConfig_t *macCellGrpCfg) DU_ALLOC(macCellGrpCfg->phr_Config, sizeof(struct MAC_CellGroupConfig__phr_Config)); if(!macCellGrpCfg->phr_Config) { - DU_LOG("\nF1AP : Memory allocation failure in BuildMacCellGrpCfg"); + DU_LOG("\nERROR --> F1AP : Memory allocation failure in BuildMacCellGrpCfg"); return RFAILED; } if(BuildPhrConfig(macCellGrpCfg->phr_Config) != ROK) { - DU_LOG("\nF1AP : BuildPhrConfig failed"); + DU_LOG("\nERROR --> F1AP : BuildPhrConfig failed"); return RFAILED; } @@ -5040,13 +5535,13 @@ uint8_t BuildDuToCuRrcContainer(DUtoCURRCContainer_t *duToCuRrcContainer) DU_ALLOC(cellGrpCfg.rlc_BearerToAddModList, sizeof(struct CellGroupConfigRrc__rlc_BearerToAddModList)); if(!cellGrpCfg.rlc_BearerToAddModList) { - DU_LOG("\nF1AP : Memory allocation failure in BuildDuToCuRrcContainer"); + DU_LOG("\nERROR --> F1AP : Memory allocation failure in BuildDuToCuRrcContainer"); ret = RFAILED; break; } if(BuildRlcBearerToAddModList(cellGrpCfg.rlc_BearerToAddModList) != ROK) { - DU_LOG("\nF1AP : BuildRlcBearerToAddModList failed"); + DU_LOG("\nERROR --> F1AP : BuildRlcBearerToAddModList failed"); ret = RFAILED; break; } @@ -5056,13 +5551,13 @@ uint8_t BuildDuToCuRrcContainer(DUtoCURRCContainer_t *duToCuRrcContainer) DU_ALLOC(cellGrpCfg.mac_CellGroupConfig, sizeof(MAC_CellGroupConfig_t)); if(!cellGrpCfg.mac_CellGroupConfig) { - DU_LOG("\nF1AP : Memory allocation failure in BuildDuToCuRrcContainer"); + DU_LOG("\nERROR --> F1AP : Memory allocation failure in BuildDuToCuRrcContainer"); ret = RFAILED; break; } if(BuildMacCellGrpCfg(cellGrpCfg.mac_CellGroupConfig) != ROK) { - DU_LOG("\nF1AP : BuildMacCellGrpCfg failed"); + DU_LOG("\nERROR --> F1AP : BuildMacCellGrpCfg failed"); ret = RFAILED; break; } @@ -5071,13 +5566,13 @@ uint8_t BuildDuToCuRrcContainer(DUtoCURRCContainer_t *duToCuRrcContainer) DU_ALLOC(cellGrpCfg.physicalCellGroupConfig, sizeof(PhysicalCellGroupConfig_t)); if(!cellGrpCfg.physicalCellGroupConfig) { - DU_LOG("\nF1AP : Memory allocation failure in BuildDuToCuRrcContainer"); + DU_LOG("\nERROR --> F1AP : Memory allocation failure in BuildDuToCuRrcContainer"); ret = RFAILED; break; } if(BuildPhyCellGrpCfg(cellGrpCfg.physicalCellGroupConfig) != ROK) { - DU_LOG("\nF1AP : BuildPhyCellGrpCfg failed"); + DU_LOG("\nERROR --> F1AP : BuildPhyCellGrpCfg failed"); ret = RFAILED; break; } @@ -5086,13 +5581,13 @@ uint8_t BuildDuToCuRrcContainer(DUtoCURRCContainer_t *duToCuRrcContainer) DU_ALLOC(cellGrpCfg.spCellConfig, sizeof(SpCellConfig_t)); if(!cellGrpCfg.spCellConfig) { - DU_LOG("\nF1AP : Memory allocation failure in BuildDuToCuRrcContainer"); + DU_LOG("\nERROR --> F1AP : Memory allocation failure in BuildDuToCuRrcContainer"); ret = RFAILED; break; } if(BuildSpCellCfg(cellGrpCfg.spCellConfig) != ROK) { - DU_LOG("\nF1AP : BuildSpCellCfg failed"); + DU_LOG("\nERROR --> F1AP : BuildSpCellCfg failed"); ret = RFAILED; break; } @@ -5109,14 +5604,14 @@ uint8_t BuildDuToCuRrcContainer(DUtoCURRCContainer_t *duToCuRrcContainer) /* Encode results */ if(encRetVal.encoded == ENCODE_FAIL) { - DU_LOG( "\n F1AP : Could not encode DuToCuRrcContainer (at %s)\n",\ + DU_LOG( "\nERROR --> F1AP : Could not encode DuToCuRrcContainer (at %s)\n",\ encRetVal.failed_type ? encRetVal.failed_type->name : "unknown"); ret = RFAILED; break; } else { - DU_LOG("\n F1AP : Created APER encoded buffer for DuToCuRrcContainer\n"); + DU_LOG("\nDEBUG --> F1AP : Created APER encoded buffer for DuToCuRrcContainer\n"); for(int i=0; i< encBufSize; i++) { printf("%x",encBuf[i]); @@ -5127,7 +5622,7 @@ uint8_t BuildDuToCuRrcContainer(DUtoCURRCContainer_t *duToCuRrcContainer) DU_ALLOC(duToCuRrcContainer->buf, duToCuRrcContainer->size); if(!duToCuRrcContainer->buf) { - DU_LOG("\nF1AP : Memory allocation failed in BuildDuToCuRrcContainer"); + DU_LOG("\nERROR --> F1AP : Memory allocation failed in BuildDuToCuRrcContainer"); ret = RFAILED; break; } @@ -5227,7 +5722,7 @@ uint8_t freeInitUlRrcMsgTransfer(F1AP_PDU_t *f1apMsg) } else { - DU_LOG("\nDU_APP : Recevied F1ap Pdu is null at freeInitUlRrcMsgTransfer()"); + DU_LOG("\nERROR --> DU_APP : Recevied F1ap Pdu is null at freeInitUlRrcMsgTransfer()"); return RFAILED; } return ROK; @@ -5263,18 +5758,18 @@ uint8_t BuildAndSendInitialRrcMsgTransfer(uint32_t gnbDuUeF1apId, uint16_t crnti while(true) { - DU_LOG("\n F1AP : Building RRC Setup Request\n"); + DU_LOG("\n INFO --> F1AP : Building RRC Setup Request\n"); DU_ALLOC(f1apMsg, sizeof(F1AP_PDU_t)); if(f1apMsg == NULLP) { - DU_LOG(" F1AP : Memory allocation for F1AP-PDU failed"); + DU_LOG(" ERROR --> F1AP : Memory allocation for F1AP-PDU failed"); break; } f1apMsg->present = F1AP_PDU_PR_initiatingMessage; DU_ALLOC(f1apMsg->choice.initiatingMessage,sizeof(InitiatingMessage_t)); if(f1apMsg->choice.initiatingMessage == NULLP) { - DU_LOG(" F1AP : Memory allocation for F1AP-PDU failed"); + DU_LOG(" ERROR --> F1AP : Memory allocation for F1AP-PDU failed"); break; } f1apMsg->choice.initiatingMessage->procedureCode =\ @@ -5292,7 +5787,7 @@ uint8_t BuildAndSendInitialRrcMsgTransfer(uint32_t gnbDuUeF1apId, uint16_t crnti DU_ALLOC(initULRRCMsg->protocolIEs.list.array,initULRRCMsg->protocolIEs.list.size); if(initULRRCMsg->protocolIEs.list.array == NULLP) { - DU_LOG(" F1AP : Memory allocation for\ + DU_LOG(" ERROR --> F1AP : Memory allocation for\ RRCSetupRequestMessageTransferIEs failed"); break; } @@ -5352,7 +5847,7 @@ uint8_t BuildAndSendInitialRrcMsgTransfer(uint32_t gnbDuUeF1apId, uint16_t crnti initULRRCMsg->protocolIEs.list.array[ieIdx]->value.choice.RRCContainer.size) if(!initULRRCMsg->protocolIEs.list.array[ieIdx]->value.choice.RRCContainer.buf) { - DU_LOG(" F1AP : Memory allocation for RRCSetupRequestMessageTransferIEs failed"); + DU_LOG(" ERROR --> F1AP : Memory allocation for RRCSetupRequestMessageTransferIEs failed"); break; } @@ -5382,7 +5877,7 @@ uint8_t BuildAndSendInitialRrcMsgTransfer(uint32_t gnbDuUeF1apId, uint16_t crnti /* Encode results */ if(encRetVal.encoded == ENCODE_FAIL) { - DU_LOG( "\n F1AP : Could not encode Initial UL RRC Message Transfer\ + DU_LOG( "\nERROR --> F1AP : Could not encode Initial UL RRC Message Transfer\ structure (at %s)\n",encRetVal.failed_type ? \ encRetVal.failed_type->name : "unknown"); ret = RFAILED; @@ -5391,7 +5886,7 @@ uint8_t BuildAndSendInitialRrcMsgTransfer(uint32_t gnbDuUeF1apId, uint16_t crnti else { - DU_LOG("\n F1AP : Created APER encoded buffer for Initial UL RRC\ + DU_LOG("\nDEBUG --> F1AP : Created APER encoded buffer for Initial UL RRC\ Message transfer\n"); for(int i=0; i< encBufSize; i++) { @@ -5401,7 +5896,7 @@ uint8_t BuildAndSendInitialRrcMsgTransfer(uint32_t gnbDuUeF1apId, uint16_t crnti /* Sending msg */ if(SendF1APMsg(DU_APP_MEM_REGION,DU_POOL) != ROK) { - DU_LOG("\n F1AP : Sending Initial UL RRC Message Transfer Failed"); + DU_LOG("\nERROR --> F1AP : Sending Initial UL RRC Message Transfer Failed"); ret = RFAILED; break; } @@ -5494,7 +5989,7 @@ void freeRlcLcCfg(RlcBearerCfg *lcCfg) break; } default: - DU_LOG("\nDU_APP: Invalid Rlc Mode %d at freeRlcLcCfg()", lcCfg->rlcMode); + DU_LOG("\nERROR --> DU_APP: Invalid Rlc Mode %d at freeRlcLcCfg()", lcCfg->rlcMode); break; } memset(lcCfg, 0, sizeof(LcCfg)); @@ -6266,6 +6761,11 @@ void freeDuUeCfg(DuUeCfg *ueCfg) { freeMacLcCfg(&ueCfg->macLcCfg[lcIdx]); } + for(lcIdx = 0; lcIdx < ueCfg->numDrb; lcIdx++) + { + DU_FREE(ueCfg->upTnlInfo[lcIdx].tnlCfg1, sizeof(GtpTnlCfg)); + memset(&ueCfg->upTnlInfo[lcIdx], 0, sizeof(UpTnlCfg)); + } } /******************************************************************* @@ -6325,7 +6825,8 @@ void extractRlcAmCfg(AmBearerCfg *amCfgToSet, struct RLC_Config__am *rlcAmCfg) if(rlcAmCfg->dl_AM_RLC.sn_FieldLength) { amCfgToSet->ulAmCfg.snLenUl = *(rlcAmCfg->dl_AM_RLC.sn_FieldLength); - amCfgToSet->ulAmCfg.reAssemTmr = rlcAmCfg->dl_AM_RLC.t_Reassembly; + /*TODO: Check the timer value when sent by real CU */ + amCfgToSet->ulAmCfg.reAssemTmr = rlcAmCfg->dl_AM_RLC.t_Reassembly; amCfgToSet->ulAmCfg.statProhTmr = rlcAmCfg->dl_AM_RLC.t_StatusProhibit; } @@ -6492,7 +6993,7 @@ void extractRlcModeCfg(uint8_t rlcMode, RlcBearerCfg *rlcDbCfg, RLC_Config_t *lc break; } default: - DU_LOG("\nDUAPP: Invalid rlcMode %d at extractRlcCfgToAddMod()", rlcMode); + DU_LOG("\nERROR --> DUAPP: Invalid rlcMode %d at extractRlcCfgToAddMod()", rlcMode); break; } } @@ -6642,10 +7143,81 @@ void extractQosInfo(DrbQosInfo *qosToAdd, QoSFlowLevelQoSParameters_t *qosFlowCf qosToAdd->ulPduSessAggMaxBitRate = 0; } -uint8_t extractDrbCfg(DRBs_ToBeSetup_Item_t *drbItem, LcCfg *macLcToAdd) +/******************************************************************* + * + * @brief Function to extract GTP Tunnel Info from CU + * + * @details + * + * Function : extractUpTnlInfo + * + * Functionality: Function to extract GTP Tunnel Info from CU + * + * @params[in] F1AP message + * @return ROK/RFAILED + * + * ****************************************************************/ + +uint8_t extractUpTnlInfo(uint8_t drbId, uint8_t configType,\ + ULUPTNLInformation_ToBeSetup_List_t *tnlInfo, UpTnlCfg *upTnlInfo) +{ + uint8_t tnlIdx; + uint32_t ipv4_du = 0; + GTPTunnel_t *gtpTunnel = NULLP; + + upTnlInfo->drbId = drbId; + upTnlInfo->configType = configType; + cmInetAddr((char *)DU_IP_V4_ADDR, &ipv4_du); + + for(tnlIdx=0; tnlIdx < tnlInfo->list.count; tnlIdx++) + { + if(tnlInfo->list.array[tnlIdx]->uLUPTNLInformation.present == UPTransportLayerInformation_PR_gTPTunnel) + { + if(tnlInfo->list.array[tnlIdx]->uLUPTNLInformation.choice.gTPTunnel) + { + gtpTunnel = tnlInfo->list.array[tnlIdx]->uLUPTNLInformation.choice.gTPTunnel; + DU_ALLOC(upTnlInfo->tnlCfg1, sizeof(GtpTnlCfg)); + if(upTnlInfo->tnlCfg1 == NULLP) + { + DU_LOG("\nERROR --> F1AP : extractUpTnlInfo: Failed to allocate mmeory for tunnel cfg 1"); + return RFAILED; + } + bitStringToInt(>pTunnel->transportLayerAddress, &upTnlInfo->tnlCfg1->ulTnlAddress); + upTnlInfo->tnlCfg1->dlTnlAddress = ipv4_du; + if(gtpTunnel->gTP_TEID.size > 0) + { + teIdStringToInt(gtpTunnel->gTP_TEID.buf, &upTnlInfo->tnlCfg1->teId); + } + } + break; + } + } + return ROK; +} + +/******************************************************************* + * + * @brief Function to extract DRB info received from CU + * + * @details + * + * Function : extractDrbCfg + * + * Functionality: Function to extract DRB info received from CU + * + * @params[in] F1AP message + * @return void + * + * ****************************************************************/ +uint8_t extractDrbCfg(DRBs_ToBeSetup_Item_t *drbItem, LcCfg *macLcToAdd, UpTnlCfg *upTnlInfo) { DRB_Information_t *drbInfo = NULLP; + if(extractUpTnlInfo(drbItem->dRBID, CONFIG_ADD, &drbItem->uLUPTNLInformation_ToBeSetup_List, upTnlInfo) != ROK) + { + DU_LOG("\nERROR --> DUAPP : Failed to extract tunnel Cfg at extractDrbCfg()"); + return RFAILED; + } if(drbItem->qoSInformation.present == QoSInformation_PR_choice_extension) { if(drbItem->qoSInformation.choice.choice_extension->value.present == @@ -6658,7 +7230,7 @@ uint8_t extractDrbCfg(DRBs_ToBeSetup_Item_t *drbItem, LcCfg *macLcToAdd) DU_ALLOC_SHRABL_BUF(macLcToAdd->drbQos, sizeof(DrbQosInfo)); if(macLcToAdd->drbQos == NULLP) { - DU_LOG("\n DUAPP:Memory failed at allocating DrbQos at extractDrbCfg()"); + DU_LOG("\nERROR --> DUAPP:Memory failed at allocating DrbQos at extractDrbCfg()"); return RFAILED; } @@ -6673,7 +7245,7 @@ uint8_t extractDrbCfg(DRBs_ToBeSetup_Item_t *drbItem, LcCfg *macLcToAdd) DU_ALLOC_SHRABL_BUF(macLcToAdd->snssai, sizeof(Snssai)); if(macLcToAdd->snssai == NULLP) { - DU_LOG("\n DUAPP:Memory failed at allocating SNSSAI at extractDrbCfg()"); + DU_LOG("\nERROR --> DUAPP : Memory failed at allocating SNSSAI at extractDrbCfg()"); return RFAILED; } } @@ -6689,17 +7261,21 @@ uint8_t extractDrbCfg(DRBs_ToBeSetup_Item_t *drbItem, LcCfg *macLcToAdd) return ROK; } -uint8_t extractMacRbCfg(uint8_t lcId, DRBs_ToBeSetup_Item_t *drbCfg, LogicalChannelConfig_t *ulLcCfg, LcCfg *lcCfg) +uint8_t extractMacRbCfg(uint8_t lcId, DRBs_ToBeSetup_Item_t *drbCfg, LogicalChannelConfig_t *ulLcCfg, LcCfg *lcCfg,\ + UpTnlCfg *upTnlInfo) { uint8_t ret = ROK; if(drbCfg) { - ret = extractDrbCfg(drbCfg, lcCfg); - if(ret == RFAILED) + if(drbCfg != NULLP) { - DU_LOG("F1AP: Failed to build Drb Qos at extractMacRbCfg()"); - return ret; + ret = extractDrbCfg(drbCfg, lcCfg, upTnlInfo); + if(ret == RFAILED) + { + DU_LOG("ERROR --> F1AP : Failed to build Drb Qos at extractMacRbCfg()"); + return ret; + } } } else @@ -6722,7 +7298,7 @@ uint8_t extractMacRbCfg(uint8_t lcId, DRBs_ToBeSetup_Item_t *drbCfg, LogicalChan } uint8_t procMacLcCfg(uint8_t lcId, uint8_t rbType, uint8_t configType,\ - DRBs_ToBeSetup_Item_t *drbItem, LogicalChannelConfig_t *ulLcCfg, LcCfg *lcCfg) + DRBs_ToBeSetup_Item_t *drbItem, LogicalChannelConfig_t *ulLcCfg, LcCfg *lcCfg, UpTnlCfg *upTnlInfo) { uint8_t ret = ROK; @@ -6730,11 +7306,11 @@ uint8_t procMacLcCfg(uint8_t lcId, uint8_t rbType, uint8_t configType,\ lcCfg->configType = configType; if(rbType == RB_TYPE_SRB) { - ret = extractMacRbCfg(lcId, NULL, ulLcCfg, lcCfg); + ret = extractMacRbCfg(lcId, NULL, ulLcCfg, lcCfg, NULL); } else if(rbType == RB_TYPE_DRB) { - ret = extractMacRbCfg(lcId, drbItem, ulLcCfg, lcCfg); + ret = extractMacRbCfg(lcId, drbItem, ulLcCfg, lcCfg, upTnlInfo); } return ret; } @@ -6782,7 +7358,7 @@ uint8_t extractRlcCfgToAddMod(struct CellGroupConfigRrc__rlc_BearerToAddModList } else { - DU_LOG("\n No components present in Bearer config to ADD/MOD"); + DU_LOG("\nERROR --> No components present in Bearer config to ADD/MOD"); return RFAILED; } /* MAC UL LC Config */ @@ -6793,7 +7369,7 @@ uint8_t extractRlcCfgToAddMod(struct CellGroupConfigRrc__rlc_BearerToAddModList } else { - DU_LOG("\nDUAPP: Received RadioBearer config is NULL"); + DU_LOG("\nERROR --> DUAPP: Received RadioBearer config is NULL"); return RFAILED; } /* RLC Mode Config */ @@ -6807,10 +7383,10 @@ uint8_t extractRlcCfgToAddMod(struct CellGroupConfigRrc__rlc_BearerToAddModList memset(&ueCfgDb->macLcCfg[idx], 0, sizeof(LcCfg)); memset(&ueCfgDb->rlcLcCfg[idx], 0, sizeof(RlcBearerCfg)); procRlcLcCfg(rbId, lcId, rbType, rlcMode, CONFIG_UNKNOWN, f1RlcCfg, &(ueCfgDb->rlcLcCfg[idx])); - ret = procMacLcCfg(lcId, rbType, CONFIG_UNKNOWN, NULL, macUlLcCfg, &ueCfgDb->macLcCfg[idx]); + ret = procMacLcCfg(lcId, rbType, CONFIG_UNKNOWN, NULL, macUlLcCfg, &ueCfgDb->macLcCfg[idx], NULL); if(ret == RFAILED) { - DU_LOG("\nDUAPP: Failed while filling MAC LC config at extractRlcCfgToAddMod()"); + DU_LOG("\nERROR --> DU APP : Failed while filling MAC LC config at extractRlcCfgToAddMod()"); return ret; } (ueCfgDb->numRlcLcs)++; @@ -7260,7 +7836,7 @@ uint8_t extractPdschServingCellCfg(PDSCH_ServingCellConfig_t *cuPdschSrvCellCfg, } else { - DU_LOG("\nDUAPP: Memory allocation failed for maxCodeBlkGrpPerTb at extractPdschServingCellCfg()"); + DU_LOG("\nERROR --> DU APP : Memory allocation failed for maxCodeBlkGrpPerTb at extractPdschServingCellCfg()"); return RFAILED; } } @@ -7279,7 +7855,7 @@ uint8_t extractPdschServingCellCfg(PDSCH_ServingCellConfig_t *cuPdschSrvCellCfg, } else { - DU_LOG("\nDUAPP: Memory allocation failed for codeBlkGrpFlushInd at extractPdschServingCellCfg()"); + DU_LOG("\nERROR --> DU APP : Memory allocation failed for codeBlkGrpFlushInd at extractPdschServingCellCfg()"); return RFAILED; } } @@ -7306,7 +7882,7 @@ uint8_t extractPdschServingCellCfg(PDSCH_ServingCellConfig_t *cuPdschSrvCellCfg, } else { - DU_LOG("\nDUAPP: Memory allocation failed for maxMimoLayers at extractPdschServingCellCfg()"); + DU_LOG("\nERROR --> DU APP : Memory allocation failed for maxMimoLayers at extractPdschServingCellCfg()"); return RFAILED; } } @@ -7327,7 +7903,7 @@ uint8_t extractPdschServingCellCfg(PDSCH_ServingCellConfig_t *cuPdschSrvCellCfg, } else { - DU_LOG("\nDUAPP: Memory allocation failed for xOverhead at extractPdschServingCellCfg()"); + DU_LOG("\nERROR --> DU APP : Memory allocation failed for xOverhead at extractPdschServingCellCfg()"); return RFAILED; } } @@ -7750,7 +8326,7 @@ void fillPucchSchedReqPeriodAndOffset(uint8_t macPeriodicty, uint16_t macOffset break; } default : - DU_LOG("\nERROR --> F1AP : Invalid periodicity %d", macPeriodicty); + DU_LOG("\nERROR --> F1AP : Invalid periodicity %d", macPeriodicty); } } @@ -8279,7 +8855,7 @@ void freeAperDecodeCuToDuInfo(CUtoDURRCInformation_t *rrcMsg) } break; default: - DU_LOG("\nF1AP:Invalid Event type %ld at FreeCuToDuInfo()", \ + DU_LOG("\nERROR --> F1AP : Invalid Event type %ld at FreeCuToDuInfo()", \ rrcMsg->iE_Extensions->list.array[ieIdx]->id); break; } @@ -8589,7 +9165,7 @@ uint8_t procUeReCfgCellInfo(MacUeCfg *macUeCfg, void *cellInfo) cellGrp = (CellGroupConfigRrc_t *)cellInfo; ret = extractUeReCfgCellInfo(cellGrp, macUeCfg); if(ret == RFAILED) - DU_LOG("\nF1AP: Failed at procUeReCfgCellInfo()"); + DU_LOG("\nERROR --> F1AP : Failed at procUeReCfgCellInfo()"); } if(ret == RFAILED) { @@ -8653,7 +9229,7 @@ void duFillModulationDetails(MacUeCfg *ueCfg, MacUeCfg *oldUeCfg, void *ueCap) } default: { - DU_LOG("\nDU APP: Incorrect downlink modulation order received. Reatining old modulation configuration"); + DU_LOG("\nERROR --> DU APP: Incorrect downlink modulation order received. Reatining old modulation configuration"); memcpy(&ueCfg->dlModInfo, &oldUeCfg->dlModInfo, sizeof(ModulationInfo)); break; } @@ -8695,7 +9271,7 @@ void duFillModulationDetails(MacUeCfg *ueCfg, MacUeCfg *oldUeCfg, void *ueCap) } default: { - DU_LOG("\nDU APP: Incorrect uplink modulation order received. Reatining old modulation configuration"); + DU_LOG("\nERROR --> DU APP: Incorrect uplink modulation order received. Reatining old modulation configuration"); memcpy(&ueCfg->ulModInfo, &oldUeCfg->ulModInfo, sizeof(ModulationInfo)); break; } @@ -8755,7 +9331,7 @@ CellGroupConfigRrc_t *extractCellGrpInfo(ProtocolExtensionContainer_4624P16_t *p extIeInfo->extensionValue.choice.CellGroupConfig.buf, recvBufLen, 0, 0); if(rval.code == RC_FAIL || rval.code == RC_WMORE) { - DU_LOG("\nF1AP : ASN decode failed at decodeCellGrpCfg()"); + DU_LOG("\nERROR --> F1AP : ASN decode failed at decodeCellGrpCfg()"); return NULLP; } xer_fprint(stdout, &asn_DEF_CellGroupConfigRrc, cellGrpCfg); @@ -8765,7 +9341,7 @@ CellGroupConfigRrc_t *extractCellGrpInfo(ProtocolExtensionContainer_4624P16_t *p break; } default: - DU_LOG("\nF1AP : Invalid IE received CUtoDURRCInformation:%d at decodeCellGrpCfg()", id); + DU_LOG("\nERROR --> F1AP : Invalid IE received CUtoDURRCInformation:%d at decodeCellGrpCfg()", id); break; } } @@ -8797,10 +9373,10 @@ uint8_t procSrbListToSetup(SRBs_ToBeSetup_Item_t * srbItem, LcCfg *macLcToAdd, R procRlcLcCfg(srbItem->sRBID, srbItem->sRBID, RB_TYPE_SRB, RLC_AM, CONFIG_ADD, NULL, rlcLcToAdd); /* Filling MAC INFO */ - ret = procMacLcCfg(srbItem->sRBID, RB_TYPE_SRB, CONFIG_ADD, NULL, NULL, macLcToAdd); + ret = procMacLcCfg(srbItem->sRBID, RB_TYPE_SRB, CONFIG_ADD, NULL, NULL, macLcToAdd, NULL); if(ret == RFAILED) { - DU_LOG("\nF1AP:Failed at MAC LC Cfg in procSrbListToSetup()"); + DU_LOG("\nERROR --> F1AP : Failed at MAC LC Cfg in procSrbListToSetup()"); return ret; } return ret; @@ -8837,13 +9413,13 @@ uint8_t extractSrbListToSetup(SRBs_ToBeSetup_List_t *srbCfg, DuUeCfg *ueCfgDb) srbItem = &srbCfg->list.array[srbIdx]->value.choice.SRBs_ToBeSetup_Item; if(ueCfgDb->numMacLcs > MAX_NUM_LC) { - DU_LOG("\nF1AP: MAX LC Reached in MAC"); + DU_LOG("\nERROR --> F1AP: MAX LC Reached in MAC"); ret = RFAILED; break; } if(ueCfgDb->numRlcLcs > MAX_NUM_LC) { - DU_LOG("\nF1AP: MAX LC Reached in RLC"); + DU_LOG("\nERROR --> F1AP: MAX LC Reached in RLC"); ret = RFAILED; break; } @@ -8855,7 +9431,7 @@ uint8_t extractSrbListToSetup(SRBs_ToBeSetup_List_t *srbCfg, DuUeCfg *ueCfgDb) ueCfgDb->numMacLcs++; if(ret == RFAILED) { - DU_LOG("\nF1AP: Failed at extractSrbListToSetup()"); + DU_LOG("\nERROR --> F1AP: Failed at extractSrbListToSetup()"); break; } } @@ -8884,7 +9460,8 @@ uint8_t extractSrbListToSetup(SRBs_ToBeSetup_List_t *srbCfg, DuUeCfg *ueCfgDb) * * ****************************************************************/ -uint8_t procDrbListToSetup(uint8_t lcId, DRBs_ToBeSetup_Item_t *drbItem, LcCfg *macLcToAdd, RlcBearerCfg *rlcLcToAdd) +uint8_t procDrbListToSetup(uint8_t lcId, DRBs_ToBeSetup_Item_t *drbItem,\ + LcCfg *macLcToAdd, RlcBearerCfg *rlcLcToAdd, UpTnlCfg *upTnlInfo) { uint8_t ret = ROK; @@ -8892,10 +9469,10 @@ uint8_t procDrbListToSetup(uint8_t lcId, DRBs_ToBeSetup_Item_t *drbItem, LcCfg * procRlcLcCfg(drbItem->dRBID, lcId, RB_TYPE_DRB, drbItem->rLCMode, CONFIG_ADD, NULL, rlcLcToAdd); /* Filling MAC INFO */ - ret = procMacLcCfg(lcId, RB_TYPE_DRB, CONFIG_ADD, drbItem, NULL, macLcToAdd); + ret = procMacLcCfg(lcId, RB_TYPE_DRB, CONFIG_ADD, drbItem, NULL, macLcToAdd, upTnlInfo); if(ret == RFAILED) { - DU_LOG("\nF1AP:Failed at RLC LC Cfg in extractDrbListToSetup()"); + DU_LOG("\nERROR --> F1AP : Failed at RLC LC Cfg in procDrbListToSetup()"); return ret; } @@ -8932,25 +9509,27 @@ uint8_t extractDrbListToSetup(uint8_t lcId, DRBs_ToBeSetup_List_t *drbCfg, DuUeC drbItem = &drbCfg->list.array[drbIdx]->value.choice.DRBs_ToBeSetup_Item; if(ueCfgDb->numMacLcs > MAX_NUM_LC) { - DU_LOG("\nF1AP: MAX LC Reached in MAC "); + DU_LOG("\nERROR --> F1AP : MAX LC Reached in MAC at extractDrbListToSetup()"); ret = RFAILED; break; } if(ueCfgDb->numRlcLcs > MAX_NUM_LC) { - DU_LOG("\nF1AP: MAX LC Reached in RLC"); + DU_LOG("\nERROR --> F1AP : MAX LC Reached in RLC at extractDrbListToSetup()"); ret = RFAILED; break; } memset(&ueCfgDb->macLcCfg[ueCfgDb->numMacLcs], 0, sizeof(LcCfg)); memset(&ueCfgDb->rlcLcCfg[ueCfgDb->numRlcLcs], 0, sizeof(RlcBearerCfg)); ret = procDrbListToSetup(lcId, drbItem, &ueCfgDb->macLcCfg[ueCfgDb->numMacLcs],\ - &ueCfgDb->rlcLcCfg[ueCfgDb->numRlcLcs]); + &ueCfgDb->rlcLcCfg[ueCfgDb->numRlcLcs], &ueCfgDb->upTnlInfo[ueCfgDb->numDrb]); + ueCfgDb->numRlcLcs++; ueCfgDb->numMacLcs++; + ueCfgDb->numDrb++; if(ret == RFAILED) { - DU_LOG("\nF1AP: Failed at extractDrbListToSetup()"); + DU_LOG("\nERROR --> F1AP : Failed at extractDrbListToSetup()"); break; } } @@ -8987,7 +9566,7 @@ uint8_t extractDlRrcMsg(uint32_t gnbDuUeF1apId, uint32_t gnbCuUeF1apId, \ DU_ALLOC_SHRABL_BUF(dlRrcMsg->rrcMsgPdu, dlRrcMsg->rrcMsgSize); if(!dlRrcMsg->rrcMsgPdu) { - DU_LOG("\nDU APP : Memory allocation failed for RRC Msg in procUeCtxtSetupReq"); + DU_LOG("\nERROR --> DU APP : Memory allocation failed for RRC Msg in extractDlRrcMsg()"); ret = RFAILED; } else @@ -9029,7 +9608,7 @@ UE_NR_Capability_t *extractUeCapability(UE_CapabilityRAT_ContainerList_t *ueCapa DU_ALLOC(ueCapRatContList, sizeof(UE_CapabilityRAT_ContainerListRRC_t)); if(!ueCapRatContList) { - DU_LOG("\nF1AP : Memory allocation failed in extractUeCapability"); + DU_LOG("\nERROR --> F1AP : Memory allocation failed in extractUeCapability"); return NULLP; } memset(ueCapRatContList, 0, sizeof(UE_CapabilityRAT_ContainerListRRC_t)); @@ -9038,7 +9617,7 @@ UE_NR_Capability_t *extractUeCapability(UE_CapabilityRAT_ContainerList_t *ueCapa ueCapablityListBuf->buf, recvBufLen, 0, 0); if(rval.code == RC_FAIL || rval.code == RC_WMORE) { - DU_LOG("\nF1AP : ASN decode failed at decodeCellGrpCfg()"); + DU_LOG("\nERROR --> F1AP : ASN decode failed at decodeCellGrpCfg()"); return NULLP; } xer_fprint(stdout, &asn_DEF_UE_CapabilityRAT_ContainerListRRC, ueCapRatContList); @@ -9054,7 +9633,7 @@ UE_NR_Capability_t *extractUeCapability(UE_CapabilityRAT_ContainerList_t *ueCapa DU_ALLOC(ueNrCap, sizeof(UE_NR_Capability_t)); if(!ueNrCap) { - DU_LOG("\nF1AP : Memory allocation failed in extractUeCapability"); + DU_LOG("\nERROR --> F1AP : Memory allocation failed in extractUeCapability"); DU_FREE(ueCapRatContList, sizeof(UE_CapabilityRAT_ContainerListRRC_t)); return NULLP; } @@ -9064,7 +9643,7 @@ UE_NR_Capability_t *extractUeCapability(UE_CapabilityRAT_ContainerList_t *ueCapa ueCapRatContList->list.array[idx]->ue_CapabilityRAT_Container.buf, recvBufLen, 0, 0); if(rval.code == RC_FAIL || rval.code == RC_WMORE) { - DU_LOG("\nF1AP : ASN decode failed at decodeCellGrpCfg()"); + DU_LOG("\nERROR --> F1AP : ASN decode failed at decodeCellGrpCfg()"); return NULLP; } xer_fprint(stdout, &asn_DEF_UE_NR_Capability, ueNrCap); @@ -9156,7 +9735,7 @@ void freeAperDecodeF1UeContextSetupReq(UEContextSetupRequest_t *ueSetReq) break; } default: - printf("\nF1AP: Invalid event type %ld",ueSetReq->protocolIEs.list.array[ieIdx]->id); + DU_LOG("\nERROR --> F1AP: Invalid event type %ld " ,ueSetReq->protocolIEs.list.array[ieIdx]->id); } free(ueSetReq->protocolIEs.list.array[ieIdx]); } @@ -9223,7 +9802,7 @@ uint8_t procF1UeContextSetupReq(F1AP_PDU_t *f1apMsg) } else { - DU_LOG("\nF1AP: Memory Alloc Failed at procF1UeContextSetupReq()"); + DU_LOG("\nERROR --> F1AP: Memory Alloc Failed at procF1UeContextSetupReq()"); ret = RFAILED; } } @@ -9233,7 +9812,7 @@ uint8_t procF1UeContextSetupReq(F1AP_PDU_t *f1apMsg) } if(!ueCbFound) { - DU_LOG("\nF1AP: DuUeCb is not found at procF1UeContextSetupReq()"); + DU_LOG("\nERROR --> F1AP: DuUeCb is not found at procF1UeContextSetupReq()"); ret = RFAILED; } break; @@ -9256,7 +9835,7 @@ uint8_t procF1UeContextSetupReq(F1AP_PDU_t *f1apMsg) value.choice.CUtoDURRCInformation.iE_Extensions, &duUeCb->f1UeDb->duUeCfg); if(!duUeCb->f1UeDb->duUeCfg.cellGrpCfg) { - DU_LOG("\n F1AP: Failed to extract cell Grp Info"); + DU_LOG("\nERROR --> F1AP: Failed to extract cell Grp Info"); //TODO: Update the failure cause in ue context Setup Response ret = RFAILED; } @@ -9265,8 +9844,7 @@ uint8_t procF1UeContextSetupReq(F1AP_PDU_t *f1apMsg) } case ProtocolIE_ID_id_SCell_ToBeSetup_List: { - DU_LOG("\nDU_APP: Received SCell to be added"); - DU_LOG("\nDU_APP: Not processing the SCell_ToBeSetup_List"); + DU_LOG("\nINFO --> DU_APP: Received SCell_ToBeSetup_List but Not processing the list"); break; } case ProtocolIE_ID_id_SRBs_ToBeSetup_List: @@ -9274,7 +9852,7 @@ uint8_t procF1UeContextSetupReq(F1AP_PDU_t *f1apMsg) if(extractSrbListToSetup(&ueSetReq->protocolIEs.list.array[ieIdx]->value.choice.SRBs_ToBeSetup_List,\ &duUeCb->f1UeDb->duUeCfg)) { - DU_LOG("\nDU_APP: Failed at extractSrbListToSetup()"); + DU_LOG("\nERROR --> DU APP : Failed at extractSrbListToSetup()"); //TODO: Update the failure cause in ue context Setup Response ret = RFAILED; } @@ -9288,7 +9866,7 @@ uint8_t procF1UeContextSetupReq(F1AP_PDU_t *f1apMsg) if(extractDrbListToSetup(lcId, &ueSetReq->protocolIEs.list.array[ieIdx]->value.choice.DRBs_ToBeSetup_List,\ &duUeCb->f1UeDb->duUeCfg)) { - DU_LOG("\nDU_APP: Failed at extractDrbListToSetup()"); + DU_LOG("\nERROR --> DU APP : Failed at extractDrbListToSetup()"); //TODO: Update the failure cause in ue context Setup Response ret = RFAILED; } @@ -9303,7 +9881,7 @@ uint8_t procF1UeContextSetupReq(F1AP_PDU_t *f1apMsg) DU_ALLOC_SHRABL_BUF(duUeCb->f1UeDb->dlRrcMsg, sizeof(F1DlRrcMsg)); if(!duUeCb->f1UeDb->dlRrcMsg) { - DU_LOG("\nDU APP : Memory allocation failed for DL RRC Msg in procUeCtxtSetupReq()"); + DU_LOG("\nERROR --> DU APP : Memory allocation failed for DL RRC Msg in procUeCtxtSetupReq()"); ret = RFAILED; } else @@ -9322,7 +9900,7 @@ uint8_t procF1UeContextSetupReq(F1AP_PDU_t *f1apMsg) } else { - DU_LOG("\nIgnoring delivery report, since rrcContainer is not present"); + DU_LOG("\nERROR --> Ignoring delivery report, since rrcContainer is not present"); } break; } @@ -9335,7 +9913,7 @@ uint8_t procF1UeContextSetupReq(F1AP_PDU_t *f1apMsg) DU_ALLOC_SHRABL_BUF(duUeCb->f1UeDb->duUeCfg.ambrCfg, bitRateSize); if(!duUeCb->f1UeDb->duUeCfg.ambrCfg) { - DU_LOG("\nDU APP : Memory allocation failed for bitRate in procUeCtxtSetupReq"); + DU_LOG("\nERROR --> DU APP : Memory allocation failed for bitRate in procUeCtxtSetupReq"); ret = RFAILED; } else @@ -9343,7 +9921,6 @@ uint8_t procF1UeContextSetupReq(F1AP_PDU_t *f1apMsg) memset(duUeCb->f1UeDb->duUeCfg.ambrCfg, 0, sizeof(AmbrCfg)); memcpy(&duUeCb->f1UeDb->duUeCfg.ambrCfg->ulBr, ueSetReq->protocolIEs.list.array[ieIdx]->value.choice.BitRate.buf, bitRateSize); - duUeCb->f1UeDb->duUeCfg.ambrCfg->dlBr = 0; } } else @@ -9360,7 +9937,7 @@ uint8_t procF1UeContextSetupReq(F1AP_PDU_t *f1apMsg) { /*TODO : Negative case*/ // BuildAndSendUeContextSetupRsp(ueIdx, cellId); - DU_LOG("F1AP: Failed to process UE CNTXT SETUP REQ at procF1UeContextSetupReq()"); + DU_LOG("\nERROR --> F1AP: Failed to process UE CNTXT SETUP REQ at procF1UeContextSetupReq()"); } else ret = duProcUeContextSetupRequest(duUeCb); @@ -9370,6 +9947,57 @@ uint8_t procF1UeContextSetupReq(F1AP_PDU_t *f1apMsg) } +/******************************************************************* + * @brief Free the memory allocated for Dl Tunnel Info + * + * @details + * + * Function : freeDlTnlInfo + * + * Functionality: + * Free the memory allocated for Dl Tunnel Info + * + * @params[in] DLUPTNLInformation_ToBeSetup_List_t * + * @return void + * + * ****************************************************************/ + +void freeDlTnlInfo(DLUPTNLInformation_ToBeSetup_List_t *tnlInfo) +{ + uint8_t arrIdx = 0; + + for(arrIdx=0; arrIdx < tnlInfo->list.count; arrIdx++) + { + DU_FREE(tnlInfo->list.array[arrIdx]->dLUPTNLInformation.choice.gTPTunnel, sizeof(GTPTunnel_t)); + } +} + +/******************************************************************* + * @brief Free the memory allocated for DRB setup List + * + * @details + * + * Function : freeDrbSetupList + * + * Functionality: + * Free the memory allocated for DRB setup list + * + * @params[in] DRBs_Setup_List_t * + * @return void + * + * ****************************************************************/ +void freeDrbSetupList(DRBs_Setup_List_t *drbSetupList) +{ + uint8_t arrIdx = 0; + DRBs_Setup_ItemIEs_t *drbItemIe = NULLP; + + for(arrIdx = 0; arrIdx < drbSetupList->list.count; arrIdx++) + { + drbItemIe = ((DRBs_Setup_ItemIEs_t *)drbSetupList->list.array[arrIdx]); + freeDlTnlInfo(&drbItemIe->value.choice.DRBs_Setup_Item.dLUPTNLInformation_ToBeSetup_List); + } +} + /******************************************************************* * @brief Free the memory allocated for UE Setup response * @@ -9420,8 +10048,14 @@ void FreeUeContextSetupRsp(F1AP_PDU_t *f1apMsg) } break; } + case ProtocolIE_ID_id_DRBs_Setup_List: + { + freeDrbSetupList(&ueSetRsp->protocolIEs.list.array[idx]->value.choice.DRBs_Setup_List); + break; + } default: - DU_LOG("\nDUAPP: Invalid Id %ld at FreeUeContextSetupRsp()", ueSetRsp->protocolIEs.list.array[idx]->id); + DU_LOG("\nERROR --> DUAPP: Invalid Id %ld at FreeUeContextSetupRsp()",\ + ueSetRsp->protocolIEs.list.array[idx]->id); break; } DU_FREE(ueSetRsp->protocolIEs.list.array[idx],\ @@ -9465,13 +10099,13 @@ uint8_t EncodeUeCntxtDuToCuInfo(CellGroupConfig_t *duToCuCellGrp, CellGroupConfi /* Encode results */ if(encRetVal.encoded == ENCODE_FAIL) { - DU_LOG( "\n F1AP : Could not encode UeCntxtDuToCuInfo (at %s)\n",\ + DU_LOG( "\nERROR --> F1AP : Could not encode UeCntxtDuToCuInfo (at %s)\n",\ encRetVal.failed_type ? encRetVal.failed_type->name : "unknown"); return RFAILED; } else { - DU_LOG("\n F1AP : Created APER encoded buffer for UeCntxtDuToCuInfo\n"); + DU_LOG("\nDEBUG --> F1AP : Created APER encoded buffer for UeCntxtDuToCuInfo\n"); for(int i=0; i< encBufSize; i++) { printf("%x",encBuf[i]); @@ -9481,12 +10115,164 @@ uint8_t EncodeUeCntxtDuToCuInfo(CellGroupConfig_t *duToCuCellGrp, CellGroupConfi DU_ALLOC(duToCuCellGrp->buf, duToCuCellGrp->size); if(!duToCuCellGrp->buf) { - DU_LOG("\nF1AP : Memory allocation failed in UeCntxtDuToCuInfo"); + DU_LOG("\nERROR --> F1AP : Memory allocation failed in UeCntxtDuToCuInfo"); } memcpy(duToCuCellGrp->buf, encBuf, duToCuCellGrp->size); return ROK; } +/******************************************************************* + * + * @brief Fills Dl Gtp tunnel Info + * + * @details + * + * Function : fillGtpTunnelforDl + * + * Functionality: Fills Dl Gtp tunnel Info + * + * @params[in] + * + * @return ROK - success + * RFAILED - failure + * + * ****************************************************************/ + +uint8_t fillGtpTunnelforDl(GTPTunnel_t *gtpDl, GtpTnlCfg *gtpUeCfg) +{ + uint8_t bufSize = 0; + + gtpDl->transportLayerAddress.size = 4*sizeof(uint8_t); + DU_ALLOC(gtpDl->transportLayerAddress.buf, gtpDl->transportLayerAddress.size); + if(gtpDl->transportLayerAddress.buf == NULLP) + { + return RFAILED; + } + memcpy(gtpDl->transportLayerAddress.buf, >pUeCfg->dlTnlAddress, gtpDl->transportLayerAddress.size); + + /*GTP TEID*/ + gtpDl->gTP_TEID.size = 4 * sizeof(uint8_t); + DU_ALLOC(gtpDl->gTP_TEID.buf, gtpDl->gTP_TEID.size); + if(gtpDl->gTP_TEID.buf == NULLP) + { + return RFAILED; + } + bufSize = 3; /*forming an Octect String*/ + fillTeIdString(bufSize, gtpUeCfg->teId, gtpDl->gTP_TEID.buf); + + return ROK; +} + +/******************************************************************* + * + * @brief Fills DL Tunnel Setup List + * + * @details + * + * Function : fillDlTnlSetupList + * + * Functionality: Fills the DL Tunnel Setup List + * + * @params[in] + * + * @return ROK - success + * RFAILED - failure + * + * ****************************************************************/ + +uint8_t fillDlTnlSetupList(DLUPTNLInformation_ToBeSetup_List_t *dlTnlInfo, UpTnlCfg *tnlCfg) +{ + uint8_t ret = ROK, arrIdx = 0, eleCount = 0; + + eleCount = 1; + dlTnlInfo->list.count = eleCount; + dlTnlInfo->list.size = (eleCount * sizeof(DLUPTNLInformation_ToBeSetup_Item_t *)); + + /* Initialize the DL Tnl Setup List Members */ + DU_ALLOC(dlTnlInfo->list.array, dlTnlInfo->list.size); + if(dlTnlInfo->list.array == NULLP) + { + DU_LOG(" ERROR --> F1AP : Memory allocation for DL Tnl Setup List in fillDlTnlSetupList()"); + ret = RFAILED; + } + for(arrIdx=0; arrIdx < eleCount; arrIdx++) + { + DU_ALLOC(dlTnlInfo->list.array[arrIdx], sizeof(DLUPTNLInformation_ToBeSetup_Item_t)); + if(dlTnlInfo->list.array[arrIdx] == NULLP) + { + DU_LOG(" ERROR --> F1AP : Memory allocation for arrIdx [%d] failed in fillDlTnlSetupList()", arrIdx); + return RFAILED; + } + dlTnlInfo->list.array[arrIdx]->dLUPTNLInformation.present = UPTransportLayerInformation_PR_gTPTunnel; + DU_ALLOC(dlTnlInfo->list.array[arrIdx]->dLUPTNLInformation.choice.gTPTunnel, sizeof(GTPTunnel_t)); + if(dlTnlInfo->list.array[arrIdx]->dLUPTNLInformation.choice.gTPTunnel == NULLP) + { + DU_LOG(" ERROR --> F1AP : Memory allocation for DL tunnel info in fillDlTnlSetupList()"); + return RFAILED; + } + ret = fillGtpTunnelforDl(dlTnlInfo->list.array[arrIdx]->dLUPTNLInformation.choice.gTPTunnel,\ + tnlCfg->tnlCfg1); + if(ret != ROK) + break; + } + return ret; +} + +/******************************************************************* + * + * @brief Fills the Drb Setup List for Ue Context Setup Response + * + * @details + * + * Function : fillDrbSetupList + * + * Functionality: Fills the Drb Setup List for Ue Context Setup Response + * + * @params[in] + * + * @return ROK - success + * RFAILED - failure + * + * ****************************************************************/ +uint8_t fillDrbSetupList(DRBs_Setup_List_t *drbSetupList, DuUeCfg *ueCfg) +{ + uint8_t ret = ROK, arrIdx = 0, eleCount = 0; + DRBs_Setup_ItemIEs_t *drbItemIe = NULLP; + + eleCount = ueCfg->numDrb; + drbSetupList->list.count = eleCount; + drbSetupList->list.size = \ + (eleCount * sizeof(DRBs_Setup_Item_t *)); + + /* Initialize the Drb Setup List Members */ + DU_ALLOC(drbSetupList->list.array, drbSetupList->list.size); + if(drbSetupList->list.array == NULLP) + { + DU_LOG(" ERROR --> F1AP : Memory allocation for DRB Setup List in fillDrbSetupList()"); + ret = RFAILED; + } + + for(arrIdx=0; arrIdx < eleCount; arrIdx++) + { + DU_ALLOC(drbSetupList->list.array[arrIdx], sizeof(DRBs_Setup_Item_t)); + if(drbSetupList->list.array[arrIdx] == NULLP) + { + DU_LOG(" ERROR --> F1AP : Memory allocation for arrIdx [%d] failed in fillDrbSetupList()", arrIdx); + return RFAILED; + } + drbItemIe = ((DRBs_Setup_ItemIEs_t *)drbSetupList->list.array[arrIdx]); + drbItemIe->id = ProtocolIE_ID_id_DRBs_Setup_Item; + drbItemIe->criticality = Criticality_reject; + drbItemIe->value.present = DRBs_Setup_ItemIEs__value_PR_DRBs_Setup_Item; + drbItemIe->value.choice.DRBs_Setup_Item.dRBID = ueCfg->upTnlInfo[arrIdx].drbId; + ret = fillDlTnlSetupList(&drbItemIe->value.choice.DRBs_Setup_Item.dLUPTNLInformation_ToBeSetup_List,\ + &ueCfg->upTnlInfo[arrIdx]); + if(ret != ROK) + break; + } + return ret; +} + /******************************************************************* * * @brief Builds and sends the UE Setup Response @@ -9515,14 +10301,14 @@ uint8_t BuildAndSendUeContextSetupRsp(uint8_t ueIdx, uint8_t cellId) CellGroupConfigRrc_t *cellGrpCfg = NULLP; DuUeCb *ueCb = NULLP; - DU_LOG("\n F1AP : Building UE Context Setup Response for cellId %d, ueIdx %d\n", cellId, ueIdx); + DU_LOG("\n INFO --> F1AP : Building UE Context Setup Response for cellId %d, ueIdx %d\n", cellId, ueIdx); while(true) { DU_ALLOC(f1apMsg, sizeof(F1AP_PDU_t)); if(f1apMsg == NULLP) { - DU_LOG(" F1AP : Memory allocation for F1AP-PDU failed"); + DU_LOG(" ERROR --> F1AP : Memory allocation for F1AP-PDU failed"); ret = RFAILED; break; } @@ -9532,7 +10318,7 @@ uint8_t BuildAndSendUeContextSetupRsp(uint8_t ueIdx, uint8_t cellId) sizeof(SuccessfulOutcome_t)); if(f1apMsg->choice.successfulOutcome == NULLP) { - DU_LOG(" F1AP : Memory allocation for F1AP-PDU failed"); + DU_LOG(" ERROR --> F1AP : Memory allocation for F1AP-PDU failed"); ret = RFAILED; break; } @@ -9545,7 +10331,7 @@ uint8_t BuildAndSendUeContextSetupRsp(uint8_t ueIdx, uint8_t cellId) ueSetRsp = &f1apMsg->choice.successfulOutcome->value.choice.UEContextSetupResponse; - elementCnt = 3; + elementCnt = 4; ueSetRsp->protocolIEs.list.count = elementCnt; ueSetRsp->protocolIEs.list.size = \ elementCnt * sizeof(UEContextSetupResponse_t *); @@ -9555,7 +10341,7 @@ uint8_t BuildAndSendUeContextSetupRsp(uint8_t ueIdx, uint8_t cellId) ueSetRsp->protocolIEs.list.size); if(ueSetRsp->protocolIEs.list.array == NULLP) { - DU_LOG(" F1AP : Memory allocation for UE Setup Response failed"); + DU_LOG(" ERROR --> F1AP : Memory allocation for UE Setup Response failed"); ret = RFAILED; break; } @@ -9566,7 +10352,7 @@ uint8_t BuildAndSendUeContextSetupRsp(uint8_t ueIdx, uint8_t cellId) sizeof(UEContextSetupResponseIEs_t)); if(ueSetRsp->protocolIEs.list.array[idx] == NULLP) { - DU_LOG(" F1AP : Memory allocation for UE Setup Response failed"); + DU_LOG(" ERROR --> F1AP : Memory allocation for UE Setup Response failed"); ret = RFAILED; break; } @@ -9610,18 +10396,42 @@ uint8_t BuildAndSendUeContextSetupRsp(uint8_t ueIdx, uint8_t cellId) cellGrpCfg = (CellGroupConfigRrc_t*)ueCb->f1UeDb->duUeCfg.cellGrpCfg; ret = EncodeUeCntxtDuToCuInfo(&ueSetRsp->protocolIEs.list.array[idx]->value.\ choice.DUtoCURRCInformation.cellGroupConfig, cellGrpCfg); - /* Free UeContext Db created during Ue context Req */ - freeF1UeDb(ueCb->f1UeDb); - ueCb->f1UeDb = NULLP; + if(ret == RFAILED) + { + DU_LOG("\nERROR --> F1AP : Failed to EncodeUeCntxtDuToCuInfo in BuildAndSendUeContextSetupRsp()"); + freeF1UeDb(ueCb->f1UeDb); + ueCb->f1UeDb = NULLP; + break; + } } } else { - DU_LOG("\nF1AP: Failed to form DUtoCU RRCInfo at BuildAndSendUeContextSetupRsp()"); + DU_LOG("\nERROR --> F1AP : Failed to form DUtoCU RRCInfo at BuildAndSendUeContextSetupRsp()"); ret = RFAILED; + break; } + + /* Drb Setup List */ + idx++; + ueSetRsp->protocolIEs.list.array[idx]->id = \ + ProtocolIE_ID_id_DRBs_Setup_List; + ueSetRsp->protocolIEs.list.array[idx]->criticality = Criticality_reject; + ueSetRsp->protocolIEs.list.array[idx]->value.present =\ + UEContextSetupResponseIEs__value_PR_DRBs_Setup_List; + ret = fillDrbSetupList(&ueSetRsp->protocolIEs.list.array[idx]->value.choice.DRBs_Setup_List,\ + &ueCb->f1UeDb->duUeCfg); if(ret == RFAILED) + { + DU_LOG("\nERROR --> F1AP : Failed to fillDrbSetupList in BuildAndSendUeContextSetupRsp()"); + freeF1UeDb(ueCb->f1UeDb); + ueCb->f1UeDb = NULLP; break; + } + + /* Free UeContext Db created during Ue context Req */ + freeF1UeDb(ueCb->f1UeDb); + ueCb->f1UeDb = NULLP; xer_fprint(stdout, &asn_DEF_F1AP_PDU, f1apMsg); @@ -9633,14 +10443,14 @@ uint8_t BuildAndSendUeContextSetupRsp(uint8_t ueIdx, uint8_t cellId) /* Encode results */ if(encRetVal.encoded == ENCODE_FAIL) { - DU_LOG( "\n F1AP : Could not encode UE Context Setup Request structure (at %s)\n",\ + DU_LOG( "\nERROR --> F1AP : Could not encode UE Context Setup Response structure (at %s)\n",\ encRetVal.failed_type ? encRetVal.failed_type->name : "unknown"); ret = RFAILED; break; } else { - DU_LOG("\n F1AP : Created APER encoded buffer for UE Context Setup Request\n"); + DU_LOG("\nDEBUG --> F1AP : Created APER encoded buffer for UE Context Setup Response\n"); for(int i=0; i< encBufSize; i++) { printf("%x",encBuf[i]); @@ -9650,7 +10460,7 @@ uint8_t BuildAndSendUeContextSetupRsp(uint8_t ueIdx, uint8_t cellId) /* Sending msg */ if(SendF1APMsg(DU_APP_MEM_REGION,DU_POOL) != ROK) { - DU_LOG("\n F1AP : Sending UE Context Setup Request Failed"); + DU_LOG("\nERROR --> F1AP : Sending UE Context Setup Response failed"); ret = RFAILED; break; } @@ -9690,7 +10500,7 @@ uint8_t BuildAndSendUeCtxtRsp(uint8_t ueIdx, uint8_t cellId) //TODO: Build Ue context Modification Rsp break; default: - DU_LOG("F1AP: Invalid Action Type %d at BuildAndSendUeCtxtRsp()", actionType); + DU_LOG("ERROR --> F1AP: Invalid Action Type %d at BuildAndSendUeCtxtRsp()", actionType); break; } @@ -9764,7 +10574,7 @@ uint8_t BuildAndSendF1ResetReq() Reset_t *f1ResetMsg = NULLP; F1AP_PDU_t *f1apMsg = NULLP; asn_enc_rval_t encRetVal; - DU_LOG("\nF1AP : Building F1 Reset request \n"); + DU_LOG("\nINFO --> F1AP : Building F1 Reset request \n"); do { DU_ALLOC(f1apMsg, sizeof(F1AP_PDU_t)); @@ -9837,13 +10647,13 @@ uint8_t BuildAndSendF1ResetReq() /* Encode results */ if(encRetVal.encoded == ENCODE_FAIL) { - DU_LOG("\nF1AP : Could not encode F1Reset structure (at %s)\n",\ + DU_LOG("\nERROR --> F1AP : Could not encode F1Reset structure (at %s)\n",\ encRetVal.failed_type ? encRetVal.failed_type->name : "unknown"); break; } else { - DU_LOG("\nF1AP : Created APER encoded buffer for F1Reset\n"); + DU_LOG("\nDEBUG --> F1AP : Created APER encoded buffer for F1Reset\n"); for(idx=0; idx< encBufSize; idx++) { printf("%x",encBuf[idx]); @@ -9852,7 +10662,7 @@ uint8_t BuildAndSendF1ResetReq() if(SendF1APMsg(DU_APP_MEM_REGION, DU_POOL) != ROK) { - DU_LOG("\nF1AP : Sending F1 Reset request failed"); + DU_LOG("\nERROR --> F1AP : Sending F1 Reset request failed"); break; } @@ -9930,14 +10740,14 @@ uint8_t BuildAndSendF1ResetAck() F1AP_PDU_t *f1apMsg = NULL; ResetAcknowledge_t *f1ResetAck = NULLP; asn_enc_rval_t encRetVal; - DU_LOG("\nF1AP : Building F1 Reset Acknowledgment \n"); + DU_LOG("\nINFO --> F1AP : Building F1 Reset Acknowledgment \n"); do{ /* Allocate the memory for F1ResetRequest_t */ DU_ALLOC(f1apMsg, sizeof(F1AP_PDU_t)); if(f1apMsg == NULLP) { - DU_LOG("\nF1AP : Memory allocation for F1AP-PDU failed"); + DU_LOG("\nERROR --> F1AP : Memory allocation for F1AP-PDU failed"); break; } @@ -9946,7 +10756,7 @@ uint8_t BuildAndSendF1ResetAck() DU_ALLOC(f1apMsg->choice.successfulOutcome, sizeof(SuccessfulOutcome_t)); if(f1apMsg->choice.successfulOutcome == NULLP) { - DU_LOG("\nF1AP : Memory allocation for F1AP-PDU failed"); + DU_LOG("\nERROR --> F1AP : Memory allocation for F1AP-PDU failed"); break; } f1apMsg->choice.successfulOutcome->criticality = Criticality_reject; @@ -9961,7 +10771,7 @@ uint8_t BuildAndSendF1ResetAck() DU_ALLOC(f1ResetAck->protocolIEs.list.array, f1ResetAck->protocolIEs.list.size ); if(f1ResetAck->protocolIEs.list.array == NULLP) { - DU_LOG("\nF1AP : Memory allocation for F1ResetAckIEs failed"); + DU_LOG("\nERROR --> F1AP : Memory allocation for F1ResetAckIEs failed"); break; } @@ -9990,13 +10800,13 @@ uint8_t BuildAndSendF1ResetAck() /* Check encode results */ if(encRetVal.encoded == ENCODE_FAIL) { - DU_LOG("\nF1AP : Could not encode F1ResetAck structure (at %s)\n",\ + DU_LOG("\nERROR --> F1AP : Could not encode F1ResetAck structure (at %s)\n",\ encRetVal.failed_type ? encRetVal.failed_type->name : "unknown"); break; } else { - DU_LOG("\nF1AP : Created APER encoded buffer for F1ResetAck\n"); + DU_LOG("\nDUBUG --> F1AP : Created APER encoded buffer for F1ResetAck\n"); for(int i=0; i< encBufSize; i++) { printf("%x",encBuf[i]); @@ -10005,7 +10815,7 @@ uint8_t BuildAndSendF1ResetAck() /* Sending msg */ if(SendF1APMsg(DU_APP_MEM_REGION, DU_POOL) != ROK) { - DU_LOG("\nF1AP : Sending F1 Reset Acknowledgement failed"); + DU_LOG("\nERROR --> F1AP : Sending F1 Reset Acknowledgement failed"); break; } @@ -10069,7 +10879,7 @@ uint8_t procF1ResetReq(F1AP_PDU_t *f1apMsg) uint8_t ret = ROK; Reset_t *f1ResetMsg = NULLP; - DU_LOG("\nProcessing F1 reset request"); + DU_LOG("\nINFO --> Processing F1 reset request"); f1ResetMsg = &f1apMsg->choice.initiatingMessage->value.choice.Reset; for(ieIdx=0; ieIdxprotocolIEs.list.count; ieIdx++) @@ -10084,7 +10894,6 @@ uint8_t procF1ResetReq(F1AP_PDU_t *f1apMsg) case ProtocolIE_ID_id_ResetType: { - DU_LOG("\nReceived F1 Reset request"); break; } @@ -10093,7 +10902,7 @@ uint8_t procF1ResetReq(F1AP_PDU_t *f1apMsg) } } ret = BuildAndSendF1ResetAck(); - DU_LOG("\nUE release is not supported for now"); + DU_LOG("\nINFO --> UE release is not supported for now"); freeAperDecodeF1ResetMsg(f1ResetMsg); @@ -10175,18 +10984,18 @@ uint8_t BuildAndSendRrcDeliveryReport(uint32_t gnbCuUeF1apId, \ do{ - DU_LOG("\nF1AP : Building RRC delivery Message Transfer Message\n"); + DU_LOG("\nINFO --> F1AP : Building RRC delivery Message Transfer Message\n"); DU_ALLOC(f1apMsg, sizeof(F1AP_PDU_t)); if(f1apMsg == NULLP) { - DU_LOG(" F1AP : Memory allocation for F1AP-PDU failed"); + DU_LOG(" ERROR --> F1AP : Memory allocation for F1AP-PDU failed"); break; } f1apMsg->present = F1AP_PDU_PR_initiatingMessage; DU_ALLOC(f1apMsg->choice.initiatingMessage,sizeof(InitiatingMessage_t)); if(f1apMsg->choice.initiatingMessage == NULLP) { - DU_LOG(" F1AP : Memory allocation for F1AP-PDU failed"); + DU_LOG(" ERROR --> F1AP : Memory allocation for F1AP-PDU failed"); break; } f1apMsg->choice.initiatingMessage->procedureCode = ProcedureCode_id_RRCDeliveryReport; @@ -10202,7 +11011,7 @@ uint8_t BuildAndSendRrcDeliveryReport(uint32_t gnbCuUeF1apId, \ DU_ALLOC(rrcDeliveryReport->protocolIEs.list.array, rrcDeliveryReport->protocolIEs.list.size); if(rrcDeliveryReport->protocolIEs.list.array == NULLP) { - DU_LOG(" F1AP : Memory allocation for RRC Delivery failed"); + DU_LOG(" ERROR --> F1AP : Memory allocation for RRC Delivery failed"); break; } for(idx =0 ;idx F1AP : Could not encode RRC Delivery Msg structure (at %s)\n",\ encRetVal.failed_type ? encRetVal.failed_type->name : "unknown"); break; } else { - DU_LOG("\nF1AP : Created APER encoded buffer for RRC Delivery Msg \n"); + DU_LOG("\nDEBUG --> F1AP : Created APER encoded buffer for RRC Delivery Msg \n"); for(idx=0; idx< encBufSize; idx++) { printf("%x",encBuf[idx]); @@ -10273,7 +11082,7 @@ uint8_t BuildAndSendRrcDeliveryReport(uint32_t gnbCuUeF1apId, \ /* Sending msg */ if(SendF1APMsg(DU_APP_MEM_REGION, DU_POOL) != ROK) { - DU_LOG("\nF1AP : Sending RRC delivery msg request failed"); + DU_LOG("\nERROR --> F1AP : Sending RRC delivery msg request failed"); break; } ret = ROK; @@ -10422,7 +11231,7 @@ void freeAperDecodeF1SetupRsp(F1SetupResponse_t *f1SetRspMsg) } default: { - DU_LOG("\nDU_APP : Invalid IE received in F1SetupRsp:%ld", + DU_LOG("\nERROR --> DU_APP : Invalid IE received in F1SetupRsp:%ld", f1SetRspMsg->protocolIEs.list.array[ieIdx]->id); } } @@ -10458,7 +11267,7 @@ uint8_t procF1SetupRsp(F1AP_PDU_t *f1apMsg) memset(&f1SetRspDb, 0, sizeof(F1SetupRsp)); - DU_LOG("\nF1AP : F1 Setup Response received"); + DU_LOG("\nINFO --> F1AP : F1 Setup Response received"); f1SetRspMsg = &f1apMsg->choice.successfulOutcome->value.choice.F1SetupResponse; for(idx=0; idxprotocolIEs.list.count; idx++) @@ -10492,7 +11301,7 @@ uint8_t procF1SetupRsp(F1AP_PDU_t *f1apMsg) break; } default: - DU_LOG("\nDU_APP : Invalid IE received in F1SetupRsp:%ld", + DU_LOG("\nERROR --> DU_APP : Invalid IE received in F1SetupRsp:%ld", f1SetRspMsg->protocolIEs.list.array[idx]->id); } duProcF1SetupRsp(); @@ -10550,9 +11359,10 @@ void freeAperDecodeGnbDuAck(GNBDUConfigurationUpdateAcknowledge_t *gnbDuAck) * ****************************************************************/ uint8_t procF1GNBDUCfgUpdAck(F1AP_PDU_t *f1apMsg) { - uint8_t ieIdx, transId; + uint8_t ieIdx; GNBDUConfigurationUpdateAcknowledge_t *gnbDuAck = NULLP; - + + DU_LOG("\nINFO --> F1AP : GNB-DU config update acknowledgment"); gnbDuAck = &f1apMsg->choice.successfulOutcome->value.choice.GNBDUConfigurationUpdateAcknowledge; for(ieIdx=0; ieIdx < gnbDuAck->protocolIEs.list.count; ieIdx++) @@ -10560,14 +11370,11 @@ uint8_t procF1GNBDUCfgUpdAck(F1AP_PDU_t *f1apMsg) switch(gnbDuAck->protocolIEs.list.array[ieIdx]->id) { case ProtocolIE_ID_id_TransactionID: - transId = gnbDuAck->protocolIEs.list.array[ieIdx]->\ - value.choice.TransactionID; - DU_LOG("\nF1AP : GNB-DU config update acknowledgment received for transId %d", transId); break; case ProtocolIE_ID_id_Cells_to_be_Activated_List: break; default : - DU_LOG("\nF1AP: Invalid IE Received: %ld, at procF1GNBDUCfgUpdAck()", \ + DU_LOG("\nERROR --> F1AP: Invalid IE Received: %ld, at procF1GNBDUCfgUpdAck()", \ gnbDuAck->protocolIEs.list.array[ieIdx]->id); break; } @@ -10657,7 +11464,7 @@ uint8_t procF1DlRrcMsgTrans(F1AP_PDU_t *f1apMsg) F1DlRrcMsg dlMsg; memset(&dlMsg, 0, sizeof(F1DlRrcMsg)); - DU_LOG("\nDU_APP : DL RRC message transfer Recevied"); + DU_LOG("\nINFO --> DU_APP : DL RRC message transfer Recevied"); f1DlRrcMsg = &f1apMsg->choice.initiatingMessage->value.choice.DLRRCMessageTransfer; ret = ROK; @@ -10698,13 +11505,13 @@ uint8_t procF1DlRrcMsgTrans(F1AP_PDU_t *f1apMsg) } else { - DU_LOG("\nDU_APP : Memory alloc Failed at RRC Container at procF1DlRrcMsgTrans()"); + DU_LOG("\nERROR --> DU APP : Memory alloc Failed at RRC Container at procF1DlRrcMsgTrans()"); return RFAILED; } } else { - DU_LOG("\nDU_APP : RRC Container Size is invalid:%ld",\ + DU_LOG("\nERROR --> DU_APP : RRC Container Size is invalid:%ld",\ f1DlRrcMsg->protocolIEs.list.array[idx]->value.choice.RRCContainer.size); return RFAILED; } @@ -10716,7 +11523,7 @@ uint8_t procF1DlRrcMsgTrans(F1AP_PDU_t *f1apMsg) break; } default: - DU_LOG("\nDU_APP : Invalid IE received in DL RRC Msg Transfer:%ld", + DU_LOG("\nERROR --> DU_APP : Invalid IE received in DL RRC Msg Transfer:%ld", f1DlRrcMsg->protocolIEs.list.array[idx]->id); } } @@ -10753,7 +11560,7 @@ void F1APMsgHdlr(Buffer *mBuf) F1AP_PDU_t *f1apMsg =NULLP; asn_dec_rval_t rval; /* Decoder return value */ F1AP_PDU_t f1apasnmsg ; - DU_LOG("\nF1AP : Received F1AP message buffer"); + DU_LOG("\nINFO --> F1AP : Received F1AP message buffer"); ODU_PRINT_MSG(mBuf, 0,0); /* Copy mBuf into char array to decode it */ @@ -10762,16 +11569,16 @@ void F1APMsgHdlr(Buffer *mBuf) if(recvBuf == NULLP) { - DU_LOG("\nF1AP : Memory allocation failed"); + DU_LOG("\nERROR --> F1AP : Memory allocation failed"); return; } if(ODU_COPY_MSG_TO_FIX_BUF(mBuf, 0, recvBufLen, (Data *)recvBuf, ©Cnt) != ROK) { - DU_LOG("\nF1AP : Failed while copying %d", copyCnt); + DU_LOG("\nERROR --> F1AP : Failed while copying %d", copyCnt); return; } - printf("\nF1AP : Received flat buffer to be decoded : "); + printf("\nDEBUG --> F1AP : Received flat buffer to be decoded : "); for(i=0; i< recvBufLen; i++) { printf("%x",recvBuf[i]); @@ -10786,7 +11593,7 @@ void F1APMsgHdlr(Buffer *mBuf) if(rval.code == RC_FAIL || rval.code == RC_WMORE) { - DU_LOG("\nF1AP : ASN decode failed"); + DU_LOG("\nERROR --> F1AP : ASN decode failed"); return; } printf("\n"); @@ -10800,7 +11607,7 @@ void F1APMsgHdlr(Buffer *mBuf) { case SuccessfulOutcome__value_PR_ResetAcknowledge: { - DU_LOG("\nF1AP : F1ResetAcknowledge is received successfully "); + DU_LOG("\nINFO --> F1AP : F1ResetAcknowledge is received successfully "); break; } case SuccessfulOutcome__value_PR_F1SetupResponse: @@ -10819,7 +11626,8 @@ void F1APMsgHdlr(Buffer *mBuf) default: { - DU_LOG("\nF1AP : Invalid type of successful outcome [%d]", f1apMsg->choice.successfulOutcome->value.present); + DU_LOG("\nERROR --> F1AP : Invalid type of SuccessfulOutcome__value_PR_ResetAcknowledge [%d]",\ + f1apMsg->choice.successfulOutcome->value.present); return; } }/* End of switch(successfulOutcome) */ @@ -10832,7 +11640,6 @@ void F1APMsgHdlr(Buffer *mBuf) { case InitiatingMessage__value_PR_Reset: { - DU_LOG("\nF1AP : F1 reset request received"); procF1ResetReq(f1apMsg); break; } @@ -10846,10 +11653,9 @@ void F1APMsgHdlr(Buffer *mBuf) procF1UeContextSetupReq(f1apMsg); break; } - default: { - DU_LOG("\nF1AP : Invalid type of initiating message[%d]", + DU_LOG("\nERROR --> F1AP : Invalid type of F1AP_PDU_PR_initiatingMessage [%d]", f1apMsg->choice.initiatingMessage->value.present); return; } @@ -10860,7 +11666,7 @@ void F1APMsgHdlr(Buffer *mBuf) default: { - DU_LOG("\nF1AP : Invalid type of f1apMsg->present [%d]",f1apMsg->present); + DU_LOG("\nERROR --> F1AP : Invalid type of f1apMsg->present [%d]",f1apMsg->present); return; } free(f1apMsg);