X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=src%2Fdu_app%2Fdu_cfg.c;h=849f5ec864b3e4474a31ab5a6a57c9b976de751b;hb=47dcc6df526aaec243361a0296966cde738129cb;hp=5c3059cf4978d01c60398e5f3ebed653f872ab5e;hpb=95d4c229dc30cec27c98ee66b5b689779a48dcc9;p=o-du%2Fl2.git diff --git a/src/du_app/du_cfg.c b/src/du_app/du_cfg.c index 5c3059cf4..849f5ec86 100644 --- a/src/du_app/du_cfg.c +++ b/src/du_app/du_cfg.c @@ -130,7 +130,7 @@ uint8_t readMacCfg() duCfgParam.macCellCfg.cellCfg.cellState = cellParams.cellState; duCfgParam.macCellCfg.cellCfg.phyCellId = cellParams.nRPCI; duCfgParam.macCellCfg.cellCfg.tac = cellParams.nRTAC; - duCfgParam.macCellCfg.cellCfg.ssbFreq = convertArfcnToFreqKhz(cellParams.ssbFrequency); + duCfgParam.macCellCfg.cellCfg.ssbFreq = cellParams.ssbFrequency; #else duCfgParam.macCellCfg.cellCfg.opState = OP_DISABLED; duCfgParam.macCellCfg.cellCfg.adminState = ADMIN_UNLOCKED; @@ -595,21 +595,28 @@ uint8_t fillServCellCfgCommSib(SrvCellCfgCommSib *srvCellCfgComm) uint8_t readCfg() { - uint8_t srvdCellIdx, bandIdx, sliceIdx, plmnIdx; + CmLList *node; + uint8_t srvdCellIdx, bandIdx, sliceIdx, plmnIdx, ranFuncIdx, eventTriggerStyleIdx, reportStyleIdx, tnlAssocIdx; uint8_t brdcstPlmnIdx, freqBandIdx, srvdPlmnIdx; uint32_t ipv4_du, ipv4_cu, ipv4_ric; MibParams mib; Sib1Params sib1; F1TaiSliceSuppLst *taiSliceSuppLst; - - duCb.e2apDb.e2TransInfo.transIdCounter = 0; - memset(duCb.e2apDb.e2TransInfo.onGoingTransaction, 0, MAX_NUM_TRANSACTION * sizeof(E2TransInfo)); + uint8_t measurementInfoIdx =0, measurementInfoLen=0; + char shortName[] = SHORT_NAME; + char serviceModelOID[]= SERVICE_MODEL_OID; + char description[] = DESCRIPTION; + char event_trigger_style_name[]= EVENT_TRIGGER_STYLE_NAME; + char ric_report_style_name[]= REPORT_STYLE_NAME; #ifndef O1_ENABLE /* Note: Added these below variable for local testing*/ Snssai snssai[NUM_OF_SUPPORTED_SLICE] = {{1,{2,3,4}},{5,{6,7,8}}}; #endif + /* Gnb Id */ + duCb.gnbId = GNB_ID; + #ifdef O1_ENABLE if( getStartupConfig(&g_cfg) != ROK ) { @@ -631,7 +638,7 @@ uint8_t readCfg() #endif fillDuPort(duCfgParam.sctpParams.duPort); - + /* F1 DU IP Address and Port*/ duCfgParam.sctpParams.duIpAddr.ipV4Addr = ipv4_du; @@ -652,7 +659,7 @@ uint8_t readCfg() duCfgParam.egtpParams.maxTunnelId = MAX_TEID; duCfgParam.maxUe = 32; //TODO: Check - + /* DU Info */ duCfgParam.duId = DU_ID; DU_ALLOC(duCfgParam.duName, sizeof(DU_NAME)); @@ -663,6 +670,75 @@ uint8_t readCfg() } strcpy((char*)duCfgParam.duName,DU_NAME); + memset(&duCb.e2apDb, 0, sizeof(E2apDb)); + duCb.e2apDb.e2NodeId = DU_ID; + duCb.e2apDb.e2TransInfo.transIdCounter = 0; + + duCb.e2apDb.numOfTNLAssoc = 1; + for(tnlAssocIdx =0; tnlAssocIdxmeasurementTypeId = measurementInfoIdx+1; + memcpy(measurementInfoForAction->measurementTypeName, MEASUREMENT_TYPE_NAME[measurementInfoIdx], measurementInfoLen+1); + } + DU_ALLOC(node, sizeof(CmLList)); + if(node) + { + node->node = (PTR) measurementInfoForAction; + cmLListAdd2Tail(&duCb.e2apDb.ranFunction[ranFuncIdx].reportStyleList[reportStyleIdx].measurementInfoList, node); + } + else + { + + DU_FREE(measurementInfoForAction, sizeof(MeasurementInfoForAction)); + } + } + } + + duCb.e2apDb.ranFunction[ranFuncIdx].ricIndicationHeaderFormat = RIC_INDICATION_HEADER_FORMAT; + duCb.e2apDb.ranFunction[ranFuncIdx].ricIndicationMessageFormat = RIC_INDICATION_MESSAGE_FORMAT; + } + memset(duCb.e2apDb.e2TransInfo.e2InitTransaction, 0, MAX_NUM_TRANSACTION * sizeof(E2TransInfo)); + memset(duCb.e2apDb.e2TransInfo.ricInitTransaction, 0, MAX_NUM_TRANSACTION * sizeof(E2TransInfo)); + /* Mib Params */ mib.sysFrmNum = SYS_FRAME_NUM; #ifdef NR_TDD @@ -808,7 +884,7 @@ uint8_t readCfg() #ifdef O1_ENABLE duCfgParam.srvdCellLst[srvdCellIdx].duCellInfo.f1Mode.mode.tdd.nrFreqInfo.nrArfcn = cellParams.arfcnUL; duCfgParam.srvdCellLst[srvdCellIdx].duCellInfo.f1Mode.mode.tdd.nrFreqInfo.sulInfo.sulArfcn = cellParams.arfcnSUL; - duCfgParam.srvdCellLst[srvdCellIdx].duCellInfo.f1Mode.mode.tdd.nrFreqInfo.sulInfo.sulTxBw.nrScs = cellParams.ssbSubCarrierSpacing; + duCfgParam.srvdCellLst[srvdCellIdx].duCellInfo.f1Mode.mode.tdd.nrFreqInfo.sulInfo.sulTxBw.nrScs = convertScsValToScsEnum(cellParams.ssbSubCarrierSpacing); #else duCfgParam.srvdCellLst[srvdCellIdx].duCellInfo.f1Mode.mode.tdd.nrFreqInfo.nrArfcn = NR_UL_ARFCN; duCfgParam.srvdCellLst[srvdCellIdx].duCellInfo.f1Mode.mode.tdd.nrFreqInfo.sulInfo.sulArfcn = SUL_ARFCN; @@ -831,12 +907,12 @@ uint8_t readCfg() #ifdef O1_ENABLE duCfgParam.srvdCellLst[srvdCellIdx].duCellInfo.f1Mode.mode.fdd.ulNrFreqInfo.nrArfcn = cellParams.arfcnUL; duCfgParam.srvdCellLst[srvdCellIdx].duCellInfo.f1Mode.mode.fdd.ulNrFreqInfo.sulInfo.sulArfcn = cellParams.arfcnSUL; - duCfgParam.srvdCellLst[srvdCellIdx].duCellInfo.f1Mode.mode.fdd.ulTxBw.nrScs = cellParams.ssbSubCarrierSpacing; - duCfgParam.srvdCellLst[srvdCellIdx].duCellInfo.f1Mode.mode.fdd.ulNrFreqInfo.sulInfo.sulTxBw.nrScs = cellParams.ssbSubCarrierSpacing; + duCfgParam.srvdCellLst[srvdCellIdx].duCellInfo.f1Mode.mode.fdd.ulTxBw.nrScs = convertScsValToScsEnum(cellParams.ssbSubCarrierSpacing); + duCfgParam.srvdCellLst[srvdCellIdx].duCellInfo.f1Mode.mode.fdd.ulNrFreqInfo.sulInfo.sulTxBw.nrScs = convertScsValToScsEnum(cellParams.ssbSubCarrierSpacing); duCfgParam.srvdCellLst[srvdCellIdx].duCellInfo.f1Mode.mode.fdd.dlNrFreqInfo.nrArfcn = cellParams.arfcnDL; duCfgParam.srvdCellLst[srvdCellIdx].duCellInfo.f1Mode.mode.fdd.dlNrFreqInfo.sulInfo.sulArfcn = cellParams.arfcnSUL; - duCfgParam.srvdCellLst[srvdCellIdx].duCellInfo.f1Mode.mode.fdd.dlNrFreqInfo.sulInfo.sulTxBw.nrScs = cellParams.ssbSubCarrierSpacing; - duCfgParam.srvdCellLst[srvdCellIdx].duCellInfo.f1Mode.mode.fdd.dlTxBw.nrScs = cellParams.ssbSubCarrierSpacing; + duCfgParam.srvdCellLst[srvdCellIdx].duCellInfo.f1Mode.mode.fdd.dlNrFreqInfo.sulInfo.sulTxBw.nrScs = convertScsValToScsEnum(cellParams.ssbSubCarrierSpacing); + duCfgParam.srvdCellLst[srvdCellIdx].duCellInfo.f1Mode.mode.fdd.dlTxBw.nrScs = convertScsValToScsEnum(cellParams.ssbSubCarrierSpacing); #else duCfgParam.srvdCellLst[srvdCellIdx].duCellInfo.f1Mode.mode.fdd.ulNrFreqInfo.nrArfcn = NR_UL_ARFCN; duCfgParam.srvdCellLst[srvdCellIdx].duCellInfo.f1Mode.mode.fdd.ulNrFreqInfo.sulInfo.sulArfcn = SUL_ARFCN; @@ -1089,7 +1165,8 @@ uint8_t duReadCfg() pst.pool= DU_POOL; /* Initialize the timer blocks */ - cmInitTimers(&(duCb.e2apDb.e2Timers.e2SetupTimer), 1); + cmInitTimers(&(duCb.e2apDb.e2TimersInfo.e2Timers.e2SetupTimer), 1); + cmInitTimers(&(duCb.e2apDb.e2TimersInfo.e2Timers.ricServiceUpdateTimer.timer), 1); /* Initialzie the timer queue */ memset(&(duCb.duTimersInfo.tmrTq), 0, sizeof(CmTqType) * DU_TQ_SIZE);