return ROK;
}
-/*******************************************************************
- *
- * @brief Builds NRCell ID
- *
- * @details
- *
- * Function : BuildNrCellId
- *
- * Functionality: Building the NR Cell ID
- *
- * @params[in] BIT_STRING_t *nrcell
- * @return ROK - success
- * RFAILED - failure
- *
- * ****************************************************************/
-
-S16 BuildNrCellId(BIT_STRING_t *nrcell)
-{
- memset(nrcell->buf, 0, nrcell->size);
- nrcell->buf[4] = duCfgParam.sib1Params.cellIdentity;
- nrcell->bits_unused = 4;
- return ROK;
-}
-
/*******************************************************************
*
* @brief Builds Nrcgi
{
return RFAILED;
}
- BuildNrCellId(&nrcgi->nRCellIdentity);
+ fillBitString(&nrcgi->nRCellIdentity, ODU_VALUE_FOUR, ODU_VALUE_FIVE, duCfgParam.sib1Params.cellIdentity);
return ROK;
}
* RFAILED - failure
*
* ****************************************************************/
-uint8_t BuildAndSendULRRCMessageTransfer(DuUeCb ueCb, uint8_t lcId, \
+uint8_t BuildAndSendULRRCMessageTransfer(DuUeCb *ueCb, uint8_t lcId, \
uint16_t msgLen, uint8_t *rrcMsg)
{
- uint8_t elementCnt =0;
- uint8_t idx1 =0;
- uint8_t idx =0;
- F1AP_PDU_t *f1apMsg = NULLP;
- ULRRCMessageTransfer_t *ulRRCMsg = NULLP;
- asn_enc_rval_t encRetVal; /* Encoder return value */
- uint8_t ret =RFAILED;
+ uint8_t elementCnt=0, idx1=0, idx=0;
+ uint8_t ret = RFAILED;
+ F1AP_PDU_t *f1apMsg = NULLP;
+ ULRRCMessageTransfer_t *ulRRCMsg = NULLP;
+ asn_enc_rval_t encRetVal; /* Encoder return value */
memset(&encRetVal, 0, sizeof(asn_enc_rval_t));
ulRRCMsg->protocolIEs.list.array[idx1]->criticality = Criticality_reject;
ulRRCMsg->protocolIEs.list.array[idx1]->value.present = \
ULRRCMessageTransferIEs__value_PR_GNB_CU_UE_F1AP_ID;
- ulRRCMsg->protocolIEs.list.array[idx1]->value.choice.GNB_CU_UE_F1AP_ID = ueCb.gnbCuUeF1apId;
+ ulRRCMsg->protocolIEs.list.array[idx1]->value.choice.GNB_CU_UE_F1AP_ID = ueCb->gnbCuUeF1apId;
/*GNB DU UE F1AP ID*/
idx1++;
ulRRCMsg->protocolIEs.list.array[idx1]->criticality = Criticality_reject;
ulRRCMsg->protocolIEs.list.array[idx1]->value.present = \
ULRRCMessageTransferIEs__value_PR_GNB_DU_UE_F1AP_ID;
- ulRRCMsg->protocolIEs.list.array[idx1]->value.choice.GNB_DU_UE_F1AP_ID = ueCb.gnbDuUeF1apId;
+ ulRRCMsg->protocolIEs.list.array[idx1]->value.choice.GNB_DU_UE_F1AP_ID = ueCb->gnbDuUeF1apId;
/*SRBID*/
idx1++;
macLcConfig = rlcBearerList->list.array[idx]->mac_LogicalChannelConfig;
if(rlcConfig)
{
- if(rlcConfig->choice.am)
+ switch(rlcConfig->present)
{
- DU_FREE(rlcConfig->choice.am->ul_AM_RLC.sn_FieldLength, sizeof(SN_FieldLengthAM_t));
- DU_FREE(rlcConfig->choice.am->dl_AM_RLC.sn_FieldLength, sizeof(SN_FieldLengthAM_t));
- DU_FREE(rlcConfig->choice.am, sizeof(struct RLC_Config__am));
+ case RLC_Config_PR_am:
+ {
+ if(rlcConfig->choice.am)
+ {
+ DU_FREE(rlcConfig->choice.am->ul_AM_RLC.sn_FieldLength, sizeof(SN_FieldLengthAM_t));
+ DU_FREE(rlcConfig->choice.am->dl_AM_RLC.sn_FieldLength, sizeof(SN_FieldLengthAM_t));
+ DU_FREE(rlcConfig->choice.am, sizeof(struct RLC_Config__am));
+ }
+ break;
+ }
+ case RLC_Config_PR_um_Bi_Directional:
+ {
+ if(rlcConfig->choice.um_Bi_Directional)
+ {
+ DU_FREE(rlcConfig->choice.um_Bi_Directional->dl_UM_RLC.sn_FieldLength, sizeof(SN_FieldLengthUM_t));
+ DU_FREE(rlcConfig->choice.um_Bi_Directional->ul_UM_RLC.sn_FieldLength, sizeof(SN_FieldLengthUM_t));
+ DU_FREE(rlcConfig->choice.um_Bi_Directional, sizeof(struct RLC_Config__um_Bi_Directional));
+ }
+ break;
+ }
+ case RLC_Config_PR_um_Uni_Directional_UL:
+ {
+ if(rlcConfig->choice.um_Uni_Directional_UL)
+ {
+ DU_FREE(rlcConfig->choice.um_Uni_Directional_UL->ul_UM_RLC.sn_FieldLength, sizeof(SN_FieldLengthUM_t));
+ DU_FREE(rlcConfig->choice.um_Uni_Directional_UL , sizeof(struct RLC_Config__um_Uni_Directional_UL));
+ }
+ break;
+ }
+ case RLC_Config_PR_um_Uni_Directional_DL:
+ {
+ if(rlcConfig->choice.um_Uni_Directional_DL )
+ {
+ DU_FREE(rlcConfig->choice.um_Uni_Directional_DL->dl_UM_RLC.sn_FieldLength, sizeof(SN_FieldLengthUM_t));
+ DU_FREE(rlcConfig->choice.um_Uni_Directional_DL , sizeof(struct RLC_Config__um_Uni_Directional_DL));
+ }
+ break;
+ }
}
DU_FREE(rlcConfig, sizeof(struct RLC_Config));
}
}
if(macCellGrpCfg->bsr_Config)
{
+ DU_FREE(macCellGrpCfg->bsr_Config->logicalChannelSR_DelayTimer, sizeof(long));
DU_FREE(macCellGrpCfg->bsr_Config, sizeof(struct BSR_Config));
}
tagConfig = macCellGrpCfg->tag_Config;
int8_t ueIdx = -1;
uint8_t ret=0, ieIdx=0, ieExtIdx = 0, servCellIdx = 0;
bool ueCbFound = false, hoInProgress = false;
- uint16_t nrCellId = 0, cellIdx=0;
+ uint16_t cellIdx=0;
+ uint64_t nrCellId = 0;
uint32_t gnbCuUeF1apId=0, gnbDuUeF1apId=0, bitRateSize=0;
DuUeCb *duUeCb = NULL;
UEContextSetupRequest_t *ueSetReq = NULL;
case ProtocolIE_ID_id_RRCDeliveryStatusRequest:
{
- if(duUeCb->f1UeDb->dlRrcMsg->rrcMsgPdu)
- {
- duUeCb->f1UeDb->dlRrcMsg->deliveryStatRpt = true;
- }
- else
+ if(duUeCb->f1UeDb->dlRrcMsg)
{
- DU_LOG("\nERROR --> Ignoring delivery report, since rrcContainer is not present");
+ if(duUeCb->f1UeDb->dlRrcMsg->rrcMsgPdu)
+ {
+ duUeCb->f1UeDb->dlRrcMsg->deliveryStatRpt = true;
+ }
+ else
+ {
+ DU_LOG("\nERROR --> Ignoring delivery report, since rrcContainer is not present");
+ }
}
break;
}
uint8_t extractCellsToBeActivated(Cells_to_be_Activated_List_t cellsToActivate)
{
uint8_t ret = ROK;
- uint16_t idx, nci, pci = 0;
+ uint16_t idx, pci = 0;
+ uint64_t nci;
Cells_to_be_Activated_List_Item_t cell;
for(idx=0; idx<cellsToActivate.list.count; idx++)
if(cell.nRPCI)
{
- pci = *cell.nRPCI;
+ pci = *cell.nRPCI;
}
ret = duProcCellsToBeActivated(cell.nRCGI.pLMN_Identity.buf, nci, pci);
}
{
uint8_t ieIdx=0, arrIdx=0,ret=ROK;
uint8_t ueId =0 , ueIdx =0, totalActiveUe = 0;
- uint16_t cellId =0, cellIdx =0, crnti=0;
+ uint16_t cellIdx =0, crnti=0;
+ uint64_t cellId =0;
CmLList *f1apPduNode = NULLP;
ReservedF1apPduInfo *f1apPduInfo =NULLP;
F1AP_PDU_t *f1apMsgPdu = NULLP;
uint8_t procPagingMsg(F1AP_PDU_t *f1apMsg)
{
uint8_t ieIdx = 0, cellListIdx = 0;
- uint16_t cellId = 0;
+ uint64_t cellId = 0;
Paging_t *paging = NULLP;
PagingCell_list_t *pagingCelllist = NULLP;
PagingCell_ItemIEs_t *pagingCellItemIes = NULLP;