X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=src%2Fdu_app%2Fdu_cfg.c;h=b5c3173ae6c9e6237d9fdd0fbd7f9eb8eae42c6d;hb=7b318056f6a0eee9b13ea888ac62134dbefecb66;hp=8c08491423ad27e14efb44595cc405b5534635f4;hpb=97a2285207414a7948f5e1dfcb5318fa9507c123;p=o-du%2Fl2.git diff --git a/src/du_app/du_cfg.c b/src/du_app/du_cfg.c index 8c0849142..b5c3173ae 100644 --- a/src/du_app/du_cfg.c +++ b/src/du_app/du_cfg.c @@ -418,27 +418,6 @@ uint8_t readMacCfg() #endif -#ifdef NR_DRX - /* Storing the DRX configuration */ - memset(&duCfgParam.macCellCfg.drxInfo, 0, sizeof(DrxInfo)); - duCfgParam.macCellCfg.drxInfo.drxOnDurationTimer.onDurationTimerValInMs = DRX_ONDURATION_TIMER_VALUE_PRESENT_IN_MS; - if(!duCfgParam.macCellCfg.drxInfo.drxOnDurationTimer.onDurationTimerValInMs) - duCfgParam.macCellCfg.drxInfo.drxOnDurationTimer.onDurationtimerValue.subMilliSeconds = \ - DRX_ONDURATION_TIMER_VALUE_IN_SUBMS; - else - duCfgParam.macCellCfg.drxInfo.drxOnDurationTimer.onDurationtimerValue.milliSeconds = \ - DRX_ONDURATION_TIMER_VALUE_IN_MS; - duCfgParam.macCellCfg.drxInfo.drxInactivityTimer = DRX_INACTIVITY_TIMER; - duCfgParam.macCellCfg.drxInfo.drxHarqRttTimerDl = DRX_HARQ_RTT_TIMER_DL; - duCfgParam.macCellCfg.drxInfo.drxHarqRttTimerUl = DRX_HARQ_RTT_TIMER_UL; - duCfgParam.macCellCfg.drxInfo.drxRetransmissionTimerDl = DRX_RETRANSMISSION_TIMER_DL; - duCfgParam.macCellCfg.drxInfo.drxRetransmissionTimerUl = DRX_RETRANSMISSION_TIMER_UL; - duCfgParam.macCellCfg.drxInfo.drxLongCycleStartOffset.drxLongCycleStartOffsetChoice = DRX_LONG_CYCLE_START_OFFSET_CHOICE; - duCfgParam.macCellCfg.drxInfo.drxLongCycleStartOffset.drxLongCycleStartOffsetVal = DRX_LONG_CYCLE_START_OFFSET_VAL; - duCfgParam.macCellCfg.drxInfo.shortDrx.drxShortCycle = DRX_SHORT_CYCLE; - duCfgParam.macCellCfg.drxInfo.shortDrx.drxShortCycleTimer = DRX_SHORT_CYCLE_TIMER; - duCfgParam.macCellCfg.drxInfo.drxSlotOffset = DRX_SLOT_OFFSET; -#endif return ROK; } @@ -465,8 +444,8 @@ uint8_t fillDuPort(uint16_t *duPort) duPort[F1_INTERFACE] = g_cfg.DU_Port; duPort[E2_INTERFACE] = g_cfg.RIC_Port; #else - duPort[F1_INTERFACE] = DU_PORT; /* DU Port idx 0 38472 */ - duPort[E2_INTERFACE] = RIC_PORT; /* RIC Port idx 1 38482 */ + duPort[F1_INTERFACE] = F1_SCTP_PORT; /* DU Port idx 0 38472 */ + duPort[E2_INTERFACE] = E2_SCTP_PORT; /* RIC Port idx 1 36421 */ #endif return ROK; } @@ -720,8 +699,8 @@ uint8_t readCfg() cmInetAddr((S8*)CU_IP_V4_ADDR, &ipv4_cu); cmInetAddr((S8*)RIC_IP_V4_ADDR, &ipv4_ric); - duCfgParam.sctpParams.cuPort = CU_PORT; - duCfgParam.sctpParams.ricPort = RIC_PORT; + duCfgParam.sctpParams.cuPort = F1_SCTP_PORT; + duCfgParam.sctpParams.ricPort = E2_SCTP_PORT; #endif fillDuPort(duCfgParam.sctpParams.duPort); @@ -738,10 +717,10 @@ uint8_t readCfg() /* EGTP Parameters */ duCfgParam.egtpParams.localIp.ipV4Pres = TRUE; duCfgParam.egtpParams.localIp.ipV4Addr = ipv4_du; - duCfgParam.egtpParams.localPort = DU_EGTP_PORT; + duCfgParam.egtpParams.localPort = F1_EGTP_PORT; duCfgParam.egtpParams.destIp.ipV4Pres = TRUE; duCfgParam.egtpParams.destIp.ipV4Addr = ipv4_cu; - duCfgParam.egtpParams.destPort = CU_EGTP_PORT; + duCfgParam.egtpParams.destPort = F1_EGTP_PORT; duCfgParam.egtpParams.minTunnelId = MIN_TEID; duCfgParam.egtpParams.maxTunnelId = MAX_TEID; @@ -1067,65 +1046,71 @@ uint8_t readCfg() * RFAILED - failure * * ****************************************************************/ -uint8_t cpyRrmPolicyInDuCfgParams(RrmPolicyList rrmPolicy[], uint8_t policyNum, CopyOfRecvdSliceCfg *tempSliceCfg) +uint8_t cpyRrmPolicyInDuCfgParams(RrmPolicyList rrmPolicy[], uint8_t policyNum, MacSliceCfgReq *tempSliceCfg) { - uint8_t policyIdx = 0, memberListIdx = 0, count = 0; - + uint8_t policyIdx = 0, memberListIdx = 0; if(policyNum) { - tempSliceCfg->totalRrmPolicy = policyNum; - DU_ALLOC(tempSliceCfg->rrmPolicy, tempSliceCfg->totalRrmPolicy * sizeof(RrmPolicy*)); - if(tempSliceCfg->rrmPolicy == NULLP) + tempSliceCfg->numOfRrmPolicy = policyNum; + DU_ALLOC_SHRABL_BUF(tempSliceCfg->listOfRrmPolicy, tempSliceCfg->numOfRrmPolicy * sizeof(MacSliceRrmPolicy*)); + if(!tempSliceCfg->listOfRrmPolicy) { DU_LOG("\nERROR --> DU APP : Memory allocation failed in cpyRrmPolicyInDuCfgParams"); return RFAILED; } - for(policyIdx = 0; policyIdxtotalRrmPolicy; policyIdx++) + for(policyIdx = 0; policyIdxnumOfRrmPolicy; policyIdx++) { - DU_ALLOC(tempSliceCfg->rrmPolicy[policyIdx], sizeof(RrmPolicy)); - if(tempSliceCfg->rrmPolicy[policyIdx] == NULLP) + DU_ALLOC_SHRABL_BUF(tempSliceCfg->listOfRrmPolicy[policyIdx], sizeof(MacSliceRrmPolicy)); + if(!tempSliceCfg->listOfRrmPolicy[policyIdx]) { DU_LOG("\nERROR --> DU APP : Memory allocation failed in cpyRrmPolicyInDuCfgParams"); return RFAILED; } - - if(rrmPolicy[policyIdx].rRMMemberNum) + + tempSliceCfg->listOfRrmPolicy[policyIdx]->resourceType = rrmPolicy[policyIdx].resourceType; + + tempSliceCfg->listOfRrmPolicy[policyIdx]->numOfRrmPolicyMem = rrmPolicy[policyIdx].rRMMemberNum; + + if(tempSliceCfg->listOfRrmPolicy[policyIdx]->numOfRrmPolicyMem) { - tempSliceCfg->rrmPolicy[policyIdx]->numMemberList = rrmPolicy[policyIdx].rRMMemberNum; - DU_ALLOC(tempSliceCfg->rrmPolicy[policyIdx]->memberList, tempSliceCfg->rrmPolicy[policyIdx]->numMemberList * sizeof(PolicyMemberList*)) - if(tempSliceCfg->rrmPolicy[policyIdx]->memberList == NULLP) + DU_ALLOC_SHRABL_BUF(tempSliceCfg->listOfRrmPolicy[policyIdx]->rRMPolicyMemberList,\ + tempSliceCfg->listOfRrmPolicy[policyIdx]->numOfRrmPolicyMem * sizeof(RrmPolicyMemberList*)); + + if(!tempSliceCfg->listOfRrmPolicy[policyIdx]->rRMPolicyMemberList) { DU_LOG("\nERROR --> DU APP : Memory allocation failed in cpyRrmPolicyInDuCfgParams"); return RFAILED; } - for(memberListIdx = 0; memberListIdxrrmPolicy[policyIdx]->numMemberList; memberListIdx++) + + for(memberListIdx = 0; memberListIdxlistOfRrmPolicy[policyIdx]->numOfRrmPolicyMem; memberListIdx++) { - DU_ALLOC(tempSliceCfg->rrmPolicy[policyIdx]->memberList[memberListIdx], sizeof(PolicyMemberList)) - if(tempSliceCfg->rrmPolicy[policyIdx]->memberList[memberListIdx] == NULLP) + DU_ALLOC_SHRABL_BUF(tempSliceCfg->listOfRrmPolicy[policyIdx]->rRMPolicyMemberList[memberListIdx], sizeof(RrmPolicyMemberList)); + if(!tempSliceCfg->listOfRrmPolicy[policyIdx]->rRMPolicyMemberList[memberListIdx]) { DU_LOG("\nERROR --> DU APP : Memory allocation failed in cpyRrmPolicyInDuCfgParams"); return RFAILED; } - memcpy(&tempSliceCfg->rrmPolicy[policyIdx]->memberList[memberListIdx]->snssai.sd, &rrmPolicy[policyIdx].rRMPolicyMemberList[memberListIdx].sd, 3 * sizeof(uint8_t)); - memcpy(&tempSliceCfg->rrmPolicy[policyIdx]->memberList[memberListIdx]->snssai.sst, &rrmPolicy[policyIdx].rRMPolicyMemberList[memberListIdx].sst, sizeof(uint8_t)); - memcpy(&tempSliceCfg->rrmPolicy[policyIdx]->memberList[memberListIdx]->plmn.mcc, &rrmPolicy[policyIdx].rRMPolicyMemberList[memberListIdx].mcc, 3 * sizeof(uint8_t)); - memcpy(&tempSliceCfg->rrmPolicy[policyIdx]->memberList[memberListIdx]->plmn.mnc, &rrmPolicy[policyIdx].rRMPolicyMemberList[memberListIdx].mnc, 3 * sizeof(uint8_t)); - count++; + memcpy(&tempSliceCfg->listOfRrmPolicy[policyIdx]->rRMPolicyMemberList[memberListIdx]->snssai.sd,\ + &rrmPolicy[policyIdx].rRMPolicyMemberList[memberListIdx].sd, 3 * sizeof(uint8_t)); + memcpy(&tempSliceCfg->listOfRrmPolicy[policyIdx]->rRMPolicyMemberList[memberListIdx]->snssai.sst,\ + &rrmPolicy[policyIdx].rRMPolicyMemberList[memberListIdx].sst, sizeof(uint8_t)); + memcpy(&tempSliceCfg->listOfRrmPolicy[policyIdx]->rRMPolicyMemberList[memberListIdx]->plmn.mcc,\ + &rrmPolicy[policyIdx].rRMPolicyMemberList[memberListIdx].mcc, 3 * sizeof(uint8_t)); + memcpy(&tempSliceCfg->listOfRrmPolicy[policyIdx]->rRMPolicyMemberList[memberListIdx]->plmn.mnc,\ + &rrmPolicy[policyIdx].rRMPolicyMemberList[memberListIdx].mnc, 3 * sizeof(uint8_t)); } + tempSliceCfg->listOfRrmPolicy[policyIdx]->policyRatio.maxRatio = rrmPolicy[policyIdx].rRMPolicyMaxRatio; + tempSliceCfg->listOfRrmPolicy[policyIdx]->policyRatio.minRatio = rrmPolicy[policyIdx].rRMPolicyMinRatio; + tempSliceCfg->listOfRrmPolicy[policyIdx]->policyRatio.dedicatedRatio = rrmPolicy[policyIdx].rRMPolicyDedicatedRatio; } - - tempSliceCfg->rrmPolicy[policyIdx]->rsrcType = rrmPolicy[policyIdx].resourceType; - tempSliceCfg->rrmPolicy[policyIdx]->policyMaxRatio = rrmPolicy[policyIdx].rRMPolicyMaxRatio; - tempSliceCfg->rrmPolicy[policyIdx]->policyMinRatio = rrmPolicy[policyIdx].rRMPolicyMinRatio; - tempSliceCfg->rrmPolicy[policyIdx]->policyDedicatedRatio = rrmPolicy[policyIdx].rRMPolicyDedicatedRatio; - } - tempSliceCfg->totalSliceCount = count; } + return ROK; } + /******************************************************************* * * @brief Reads config and posts message to du_app on completion