X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=src%2Fdu_app%2Fdu_mgr_main.c;h=ba89f0be06b84cc714f3094515518251040942df;hb=refs%2Fchanges%2F15%2F9315%2F5;hp=3b1e36b26643ad723e9d0a6e86a3c7283926ad98;hpb=af8f9c8f6f7cd5e0a89e5dfa7a566fa5811e110c;p=o-du%2Fl2.git diff --git a/src/du_app/du_mgr_main.c b/src/du_app/du_mgr_main.c index 3b1e36b26..ba89f0be0 100644 --- a/src/du_app/du_mgr_main.c +++ b/src/du_app/du_mgr_main.c @@ -33,8 +33,7 @@ #ifdef O1_ENABLE #include "O1Interface.h" -#include "ConfigInterface.h" - +#include "CmInterface.h" #endif uint8_t rlcUlActvTsk (Pst *, Buffer *); @@ -53,6 +52,10 @@ uint8_t phyStubActvInit(Ent, Inst, Region, Reason); /* Global variable */ DuCfgParams duCfgParam; +#ifdef O1_ENABLE +extern NRCellDU cellParams; +#endif + /******************************************************************* * * @brief Initializes DU APP @@ -97,7 +100,7 @@ uint8_t duAppInit(SSTskId sysTskId) * * @details * - * Function : updateRrmPolicy + * Function : setRrmPolicy * * Functionality: * - update Rrm Policy at DU and process the slice cfg request @@ -107,12 +110,48 @@ uint8_t duAppInit(SSTskId sysTskId) * false - failure * * ****************************************************************/ -uint8_t updateRrmPolicy(RrmPolicy rrmPolicy[], uint8_t policyNum, \ - uint8_t memberList) + +uint8_t setRrmPolicy(RrmPolicyList rrmPolicy[], uint8_t policyNum) { - DuCellCb *cellCb = NULLP; + DU_LOG("\nINFO --> DU_APP : DU APP RRM number of policy %d,", \ + policyNum); + for(uint8_t i=0; i DU_APP : DU APP id = %s",rrmPolicy[i].id); + DU_LOG("\nINFO --> DU_APP : DU APP resourceType = %d", \ + rrmPolicy[i].resourceType); + DU_LOG("\nINFO --> DU_APP : DU APP rRMPolicyMaxRatio = %d", \ + rrmPolicy[i].rRMPolicyMaxRatio); + DU_LOG("\nINFO --> DU_APP : DU APP rRMPolicyMinRatio = %d", \ + rrmPolicy[i].rRMPolicyMinRatio); + DU_LOG("\nINFO --> DU_APP : DU APP rRMPolicyDedicatedRatio = %d", \ + rrmPolicy[i].rRMPolicyDedicatedRatio); + DU_LOG("\nINFO --> DU_APP : DU APP rRMMemberNum = %d", \ + rrmPolicy[i].rRMMemberNum); + for(uint8_t j=0; j DU_APP : DU APP mcc = %d%d%d", \ + rrmPolicy[i].rRMPolicyMemberList[j].mcc[0], \ + rrmPolicy[i].rRMPolicyMemberList[j].mcc[1], \ + rrmPolicy[i].rRMPolicyMemberList[j].mcc[2]); + DU_LOG("\nINFO --> DU_APP : DU APP mnc = %d%d%d", \ + rrmPolicy[i].rRMPolicyMemberList[j].mnc[0], \ + rrmPolicy[i].rRMPolicyMemberList[j].mnc[1], \ + rrmPolicy[i].rRMPolicyMemberList[j].mnc[2]); + + DU_LOG("\nINFO --> DU_APP : DU APP sd = %d%d%d", \ + rrmPolicy[i].rRMPolicyMemberList[j].sd[0], \ + rrmPolicy[i].rRMPolicyMemberList[j].sd[1], \ + rrmPolicy[i].rRMPolicyMemberList[j].sd[2]); + + DU_LOG("\nINFO --> DU_APP : DU APP sst = %d\n", \ + rrmPolicy[i].rRMPolicyMemberList[j].sst); + } + + } + DuCellCb *cellCb = NULLP; - cpyRrmPolicyInDuCfgParams(rrmPolicy, policyNum, memberList, &duCfgParam.tempSliceCfg); + cpyRrmPolicyInDuCfgParams(rrmPolicy, policyNum, &duCfgParam.tempSliceCfg); cellCb = duCb.actvCellLst[0]; if(cellCb) @@ -131,6 +170,7 @@ uint8_t updateRrmPolicy(RrmPolicy rrmPolicy[], uint8_t policyNum, \ } } } + return ROK; } /******************************************************************* @@ -157,6 +197,76 @@ bool bringCellUp(uint16_t cellId) return true; } +/******************************************************************* + * + * @brief configure cell parameters + * + * @details + * + * Function : configurecell + * + * Functionality: + * - configure cell parameters + * + * @params[in] Cell Id + * @return true - success + * false - failure + * + * ****************************************************************/ + +uint8_t setCellParam() +{ + //Read all the configs from smo edit-config into cellParams + DU_LOG("\nO1 configurecell du_app enterd"); + DU_LOG("\nDU_APP configurecell cellLocalId value:%d",cellParams.cellLocalId); + DU_LOG("\nDU_APP configurecell operationalState value:%d", \ + cellParams.operationalState); + DU_LOG("\nDU_APP configurecell administrativeState value:%d", \ + cellParams.administrativeState); + DU_LOG("\nDU_APP configurecell cellState value:%d",cellParams.cellState); + DU_LOG("\nDU_APP configurecell nRPCI value:%d",cellParams.nRPCI); + DU_LOG("\nDU_APP configurecell nRTAC value:%d",cellParams.nRTAC); + DU_LOG("\nDU_APP configurecell arfcnDL value:%d",cellParams.arfcnDL); + DU_LOG("\nDU_APP configurecell arfcnUL value:%d",cellParams.arfcnUL); + DU_LOG("\nDU_APP configurecell arfcnSUL value:%d",cellParams.arfcnSUL); + DU_LOG("\nDU_APP configurecell ssbFrequency value:%d",cellParams.ssbFrequency); + DU_LOG("\nDU_APP configurecell ssbPeriodicity value:%d", \ + cellParams.ssbPeriodicity); + DU_LOG("\nDU_APP configurecell ssbSubCarrierSpacing value:%d", \ + cellParams.ssbSubCarrierSpacing); + DU_LOG("\nDU_APP configurecell ssbOffset value:%d",cellParams.ssbOffset); + DU_LOG("\nDU_APP configurecell ssbDuration value:%d",cellParams.ssbDuration); + DU_LOG("\nDU_APP configurecell bSChannelBwUL value:%d", \ + cellParams.bSChannelBwUL); + DU_LOG("\nDU_APP configurecell bSChannelBwDL value:%d", \ + cellParams.bSChannelBwDL); + DU_LOG("\nDU_APP configurecell bSChannelBwSUL value:%d", \ + cellParams.bSChannelBwSUL); + for (int i=0 ; i DU_APP : DU APP mcellParams.plmnList[%d].mcc = %d%d%d", i,\ + cellParams.plmnList[i].mcc[0], \ + cellParams.plmnList[i].mcc[1], \ + cellParams.plmnList[i].mcc[2]); + DU_LOG("\nINFO --> DU_APP : DU APP cellParams.plmnList[%d].mnc = %d%d%d", i,\ + cellParams.plmnList[i].mnc[0], \ + cellParams.plmnList[i].mnc[1], \ + cellParams.plmnList[i].mnc[2]); + + DU_LOG("\nINFO --> DU_APP : DU APP cellParams.plmnList[%d].sd = %d%d%d", i,\ + cellParams.plmnList[i].sd[0], \ + cellParams.plmnList[i].sd[1], \ + cellParams.plmnList[i].sd[2]); + + DU_LOG("\nINFO --> DU_APP : DU APP cellParams.plmnList[%d].sst = %d\n", i,\ + cellParams.plmnList[i].sst); + + } + + duReadCfg(); + return ROK; +} /******************************************************************* * * @brief Bring the cell Down @@ -438,7 +548,7 @@ uint8_t commonInit() DU_LOG("\nERROR --> DU_APP : System Task creation for DU APP failed"); return RFAILED; } - //ODU_SET_THREAD_AFFINITY(&du_app_stsk, SS_AFFINITY_MODE_EXCL, 16, 0); + ODU_SET_THREAD_AFFINITY(&du_app_stsk, SS_AFFINITY_MODE_EXCL, 16, 0); /* system task for EGTP */ if(ODU_CREATE_TASK(PRIOR0, &egtp_stsk) != ROK) @@ -446,7 +556,7 @@ uint8_t commonInit() DU_LOG("\nERROR --> DU_APP : System Task creation for EGTP failed"); return RFAILED; } - //ODU_SET_THREAD_AFFINITY(&egtp_stsk, SS_AFFINITY_MODE_EXCL, 17, 0); + ODU_SET_THREAD_AFFINITY(&egtp_stsk, SS_AFFINITY_MODE_EXCL, 27, 0); /* system task for RLC_DL and MAC */ if(ODU_CREATE_TASK(PRIOR0, &rlc_mac_cl_stsk) != ROK) @@ -456,7 +566,7 @@ uint8_t commonInit() } pthread_attr_init(&attr); pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_DETACHED); - //ODU_SET_THREAD_AFFINITY(&rlc_mac_cl_stsk, SS_AFFINITY_MODE_EXCL, 18, 0); + ODU_SET_THREAD_AFFINITY(&rlc_mac_cl_stsk, SS_AFFINITY_MODE_EXCL, 18, 0); /* system task for RLC UL */ if(ODU_CREATE_TASK(PRIOR1, &rlc_ul_stsk) != ROK) @@ -464,7 +574,7 @@ uint8_t commonInit() DU_LOG("\nERROR --> DU_APP : System Task creation for RLC UL failed"); return RFAILED; } - //ODU_SET_THREAD_AFFINITY(&rlc_ul_stsk, SS_AFFINITY_MODE_EXCL, 19, 0); + ODU_SET_THREAD_AFFINITY(&rlc_ul_stsk, SS_AFFINITY_MODE_EXCL, 22, 0); /* system task for SCTP receiver thread */ if(ODU_CREATE_TASK(PRIOR0, &sctp_stsk) != ROK) @@ -472,7 +582,7 @@ uint8_t commonInit() DU_LOG("\nERROR --> DU_APP : System Task creation for SCTP failed"); return RFAILED; } - //ODU_SET_THREAD_AFFINITY(&sctp_stsk, SS_AFFINITY_MODE_EXCL, 20, 0); + ODU_SET_THREAD_AFFINITY(&sctp_stsk, SS_AFFINITY_MODE_EXCL, 25, 0); /* system task for lower-mac receiver thread */ if(ODU_CREATE_TASK(PRIOR0, &lwr_mac_stsk) != ROK) @@ -480,7 +590,7 @@ uint8_t commonInit() DU_LOG("\nERROR --> DU_APP : System Task creation for Lower MAC failed"); return RFAILED; } - //ODU_SET_THREAD_AFFINITY(&lwr_mac_stsk, SS_AFFINITY_MODE_EXCL, 21, 0); + ODU_SET_THREAD_AFFINITY(&lwr_mac_stsk, SS_AFFINITY_MODE_EXCL, 21, 0); #ifndef INTEL_WLS_MEM /* system task for phy stub's slot indication generator thread */ @@ -537,6 +647,7 @@ uint8_t commonInit() } #endif + return ROK; } @@ -592,7 +703,6 @@ void init_log() uint8_t tst(void) { init_log(); - #ifdef O1_ENABLE if(start_O1_module() != ROK) return RFAILED; @@ -604,7 +714,9 @@ uint8_t tst(void) } //Read all the configs from du_utils.c into duCfgParams +#ifndef O1_ENABLE duReadCfg(); +#endif #ifdef O1_ENABLE //Send VES PNF registration message to SMO