From: svaidhya Date: Thu, 26 Oct 2023 10:01:00 +0000 (+0530) Subject: <[Epic-ID: ODUHIGH-518] : WG8 Alignment | Removed UEID in MAC-SCH UeCreate/UeReconfig... X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=commitdiff_plain;h=refs%2Fchanges%2F72%2F11972%2F2;p=o-du%2Fl2.git <[Epic-ID: ODUHIGH-518] : WG8 Alignment | Removed UEID in MAC-SCH UeCreate/UeReconfig procedure | OAM-Agent-MAC CarrierCfg table arfcn in place of Freq> Change-Id: Ief92aa794da2bd9caea8a1eace8b2f63d048eeca Signed-off-by: svaidhya --- diff --git a/src/5gnrmac/lwr_mac_fsm.c b/src/5gnrmac/lwr_mac_fsm.c index bbc67cc13..440f30fc3 100644 --- a/src/5gnrmac/lwr_mac_fsm.c +++ b/src/5gnrmac/lwr_mac_fsm.c @@ -2006,6 +2006,7 @@ uint8_t lwr_mac_procConfigReqEvt(void *msg) uint16_t cellIdx =0; uint32_t msgLen = 0; uint32_t mib = 0; + uint32_t dlFreq = 0, ulFreq = 0; MacCellCfg macCfgParams; fapi_vendor_msg_t *vendorMsg; fapi_config_req_t *configReq; @@ -2079,8 +2080,9 @@ uint8_t lwr_mac_procConfigReqEvt(void *msg) fillTlvs(&configReq->tlvs[index++], FAPI_DL_BANDWIDTH_TAG, \ sizeof(uint32_t), macCfgParams.carrCfg.dlBw, &msgLen); + dlFreq = convertArfcnToFreqKhz(macCfgParams.carrCfg.arfcnDL); fillTlvs(&configReq->tlvs[index++], FAPI_DL_FREQUENCY_TAG, \ - sizeof(uint32_t), macCfgParams.carrCfg.dlFreq, &msgLen); + sizeof(uint32_t), dlFreq, &msgLen); /* Due to bug in Intel FT code, commenting TLVs that are are not * needed to avoid error. Must be uncommented when FT bug is fixed */ //fillTlvs(&configReq->tlvs[index++], FAPI_DL_K0_TAG, \ @@ -2091,8 +2093,9 @@ uint8_t lwr_mac_procConfigReqEvt(void *msg) sizeof(uint16_t), macCfgParams.carrCfg.numTxAnt, &msgLen); fillTlvs(&configReq->tlvs[index++], FAPI_UPLINK_BANDWIDTH_TAG, \ sizeof(uint32_t), macCfgParams.carrCfg.ulBw, &msgLen); + ulFreq = convertArfcnToFreqKhz(macCfgParams.carrCfg.arfcnUL); fillTlvs(&configReq->tlvs[index++], FAPI_UPLINK_FREQUENCY_TAG, \ - sizeof(uint32_t), macCfgParams.carrCfg.ulFreq, &msgLen); + sizeof(uint32_t), ulFreq, &msgLen); //fillTlvs(&configReq->tlvs[index++], FAPI_UL_K0_TAG, \ sizeof(uint16_t), macCfgParams.ulCarrCfg.k0[0], &msgLen); //fillTlvs(&configReq->tlvs[index++], FAPI_UL_GRID_SIZE_TAG, \ diff --git a/src/5gnrmac/mac_ue_mgr.c b/src/5gnrmac/mac_ue_mgr.c index cea930536..e38ef9491 100644 --- a/src/5gnrmac/mac_ue_mgr.c +++ b/src/5gnrmac/mac_ue_mgr.c @@ -1841,7 +1841,6 @@ uint8_t fillSchUeCfg(SchUeCfgReq *schUeCfg, MacUeCreateReq *ueCfg) uint8_t ret = ROK; schUeCfg->cellId = ueCfg->cellId; - schUeCfg->ueId = ueCfg->ueId; schUeCfg->crnti = ueCfg->crnti; /* Copy MAC cell group config */ if(ueCfg->macCellGrpCfgPres == true) @@ -1932,7 +1931,6 @@ uint8_t fillSchUeRecfg(SchUeRecfgReq *schUeRecfg, MacUeRecfg *ueRecfg) uint8_t ret = ROK; schUeRecfg->cellId = ueRecfg->cellId; - schUeRecfg->ueId = ueRecfg->ueId; schUeRecfg->crnti = ueRecfg->crnti; schUeRecfg->dataTransmissionInfo = ueRecfg->transmissionAction; /* Copy MAC cell group config */ @@ -2838,7 +2836,7 @@ uint8_t MacSendUeCreateRsp(MacRsp result, SchUeCfgRsp *schCfgRsp) /* Filling UE Config response */ memset(cfgRsp, 0, sizeof(MacUeCreateRsp)); cfgRsp->cellId = schCfgRsp->cellId; - cfgRsp->ueId = schCfgRsp->ueId; + GET_UE_ID(schCfgRsp->crnti, cfgRsp->ueId); cfgRsp->result = result; /* Fill Post structure and send UE Create response*/ @@ -2878,7 +2876,7 @@ uint8_t MacSendUeReconfigRsp(MacRsp result, SchUeRecfgRsp *schCfgRsp) /* Filling UE Config response */ memset(recfgRsp, 0, sizeof(MacUeRecfgRsp)); recfgRsp->cellId = schCfgRsp->cellId; - recfgRsp->ueId = schCfgRsp->ueId; + GET_UE_ID(schCfgRsp->crnti, recfgRsp->ueId); recfgRsp->result = result; /* Fill Post structure and send UE Create response*/ @@ -2973,7 +2971,7 @@ uint8_t MacProcSchUeCfgRsp(Pst *pst, SchUeCfgRsp *schCfgRsp) { uint8_t result = MAC_DU_APP_RSP_NOK; uint8_t ret = ROK; - uint16_t cellIdx; + uint16_t cellIdx = 0, ueId = 0; MacUeCreateReq *ueCfg = NULLP; #ifdef CALL_FLOW_DEBUG_LOG @@ -2992,7 +2990,8 @@ uint8_t MacProcSchUeCfgRsp(Pst *pst, SchUeCfgRsp *schCfgRsp) #endif GET_CELL_IDX(schCfgRsp->cellId, cellIdx); - ueCfg = getMacUeCfg(cellIdx, schCfgRsp->ueId); + GET_UE_ID(schCfgRsp->crnti, ueId); + ueCfg = getMacUeCfg(cellIdx, ueId); if(ueCfg == NULLP) { DU_LOG("\nERROR --> MAC : Failed to find the Mac Ue Cfg for event [%d] in MacProcSchUeCfgRsp()", pst->event); @@ -3043,7 +3042,7 @@ uint8_t MacProcSchUeRecfgRsp(Pst *pst, SchUeRecfgRsp *schRecfgRsp) { uint8_t result = MAC_DU_APP_RSP_NOK; uint8_t ret = ROK; - uint16_t cellIdx; + uint16_t cellIdx = 0, ueId = 0; MacUeRecfg *ueRecfg = NULLP; #ifdef CALL_FLOW_DEBUG_LOG @@ -3059,7 +3058,8 @@ uint8_t MacProcSchUeRecfgRsp(Pst *pst, SchUeRecfgRsp *schRecfgRsp) #endif GET_CELL_IDX(schRecfgRsp->cellId, cellIdx); - ueRecfg = getMacUeRecfg(cellIdx, schRecfgRsp->ueId); + GET_UE_ID(schRecfgRsp->crnti, ueId); + ueRecfg = getMacUeRecfg(cellIdx, ueId); if(ueRecfg == NULLP) { DU_LOG("\nERROR --> MAC : Failed to find the Mac Ue Cfg for event [%d] in MacProcSchUeCfgRsp()", pst->event); diff --git a/src/5gnrsch/sch_ue_mgr.c b/src/5gnrsch/sch_ue_mgr.c index d416a0749..67c05a8e2 100644 --- a/src/5gnrsch/sch_ue_mgr.c +++ b/src/5gnrsch/sch_ue_mgr.c @@ -54,7 +54,6 @@ void SchSendUeCfgRspToMac(SchUeCfgReq *ueCfg, Inst inst,\ Pst rspPst; cfgRsp->cellId = ueCfg->cellId; - cfgRsp->ueId = ueCfg->ueId; cfgRsp->crnti = ueCfg->crnti; cfgRsp->rsp = result; @@ -87,7 +86,6 @@ void SchSendUeRecfgRspToMac(SchUeRecfgReq *ueRecfgReq, Inst inst,\ Pst rspPst; reCfgRsp->cellId = ueRecfgReq->cellId; - reCfgRsp->ueId = ueRecfgReq->ueId; reCfgRsp->crnti = ueRecfgReq->crnti; reCfgRsp->rsp = result; @@ -296,7 +294,7 @@ uint8_t fillSchUeCbFrmCfgReq(Inst inst, SchUeCb *ueCb, SchUeCfgReq *ueCfg) bool isLcIdValid = FALSE; ueCb->ueCfg.cellId = ueCfg->cellId; - ueCb->ueCfg.ueId = ueCfg->ueId; + ueCb->ueCfg.ueId = ueCb->ueId; ueCb->ueCfg.crnti = ueCfg->crnti; if(ueCfg->macCellGrpCfgPres == true) { @@ -462,8 +460,8 @@ uint8_t fillSchUeCbFrmRecfgReq(Inst inst, SchUeCb *ueCb, SchUeRecfgReq *ueRecfg) ueCb->ueCfg.cellId = ueRecfg->cellId; - ueCb->ueCfg.ueId = ueRecfg->ueId; ueCb->ueCfg.crnti = ueRecfg->crnti; + GET_UE_ID(ueRecfg->crnti, ueCb->ueCfg.ueId); ueCb->ueCfg.dataTransmissionAction = ueRecfg->dataTransmissionInfo; if(ueRecfg->macCellGrpRecfgPres == true) { @@ -746,6 +744,7 @@ SchCellCb *getSchCellCb(uint16_t srcEvent, Inst inst, uint16_t cellId) uint8_t SchAddUeConfigReq(Pst *pst, SchUeCfgReq *ueCfg) { uint8_t lcIdx = 0, ret = ROK, idx = 0; + uint16_t ueId = 0; SchCellCb *cellCb = NULLP; SchUeCb *ueCb = NULLP; SchUeCfgRsp cfgRsp; @@ -766,7 +765,8 @@ uint8_t SchAddUeConfigReq(Pst *pst, SchUeCfgReq *ueCfg) return RFAILED; } /* Search if UE already configured */ - ueCb = &cellCb->ueCb[ueCfg->ueId - 1]; + GET_UE_ID(ueCfg->crnti, ueId); + ueCb = &cellCb->ueCb[ueId - 1]; if((ueCb->crnti == ueCfg->crnti) && (ueCb->state == SCH_UE_STATE_ACTIVE)) { @@ -778,11 +778,11 @@ uint8_t SchAddUeConfigReq(Pst *pst, SchUeCfgReq *ueCfg) /* Fill received Ue Configuration in UeCb */ memset(ueCb, 0, sizeof(SchUeCb)); - ueCb->ueId = ueCfg->ueId; ueCb->crnti = ueCfg->crnti; + GET_UE_ID(ueCb->crnti, ueCb->ueId); ueCb->cellCb = cellCb; - schUlHqEntInit(cellCb, &cellCb->ueCb[ueCfg->ueId-1]); - schDlHqEntInit(cellCb, &cellCb->ueCb[ueCfg->ueId-1]); + schUlHqEntInit(cellCb, &cellCb->ueCb[ueCb->ueId-1]); + schDlHqEntInit(cellCb, &cellCb->ueCb[ueCb->ueId-1]); SCH_ALLOC(ueCb->hqDlmap, sizeof(SchHqDlMap*)*(ueCb->cellCb->numSlots)); SCH_ALLOC(ueCb->hqUlmap, sizeof(SchHqUlMap*)*(ueCb->cellCb->numSlots)); diff --git a/src/cm/du_app_mac_inf.h b/src/cm/du_app_mac_inf.h index 9e5ee54cd..351471460 100644 --- a/src/cm/du_app_mac_inf.h +++ b/src/cm/du_app_mac_inf.h @@ -607,9 +607,9 @@ typedef struct failureCause typedef struct carrierCfg { uint32_t dlBw; /* DL bandwidth */ - uint32_t dlFreq; /* Absolute frequency of DL point A in KHz */ + uint32_t arfcnDL; /* Absolute frequency Number of DL */ uint32_t ulBw; /* UL bandwidth */ - uint32_t ulFreq; /* Absolute frequency of UL point A in KHz */ + uint32_t arfcnUL; /* Absolute frequency Number of UL */ uint16_t numTxAnt; /* Number of Tx antennas */ uint16_t numRxAnt; /* Number of Rx antennas */ }CarrierCfg; diff --git a/src/cm/mac_sch_interface.h b/src/cm/mac_sch_interface.h index ae772ad74..adb77f026 100644 --- a/src/cm/mac_sch_interface.h +++ b/src/cm/mac_sch_interface.h @@ -1972,7 +1972,6 @@ typedef struct schModulationInfo typedef struct schUeCfgReq { uint16_t cellId; - uint8_t ueId; uint8_t beamIdx; uint16_t crnti; bool macCellGrpCfgPres; @@ -1992,7 +1991,6 @@ typedef struct schUeCfgReq typedef struct schUeRecfgReq { uint16_t cellId; - uint8_t ueId; uint8_t beamIdx; uint16_t crnti; bool macCellGrpRecfgPres; @@ -2021,7 +2019,6 @@ typedef struct schUeCfgRsp { uint16_t cellId; uint8_t beamIdx; - uint16_t ueId; uint16_t crnti; SchMacRsp rsp; CauseOfResult cause; diff --git a/src/du_app/du_cfg.c b/src/du_app/du_cfg.c index 766c032ad..72af42156 100644 --- a/src/du_app/du_cfg.c +++ b/src/du_app/du_cfg.c @@ -106,20 +106,20 @@ uint8_t readMacCfg() #ifdef O1_ENABLE duCfgParam.macCellCfg.cellId = cellParams.cellLocalId; duCfgParam.macCellCfg.carrCfg.dlBw = cellParams.bSChannelBwDL; - duCfgParam.macCellCfg.carrCfg.dlFreq = convertArfcnToFreqKhz(cellParams.arfcnDL); + duCfgParam.macCellCfg.carrCfg.arfcnDL = cellParams.arfcnDL; #else duCfgParam.macCellCfg.cellId = NR_CELL_ID; duCfgParam.macCellCfg.carrCfg.dlBw = NR_BANDWIDTH; - duCfgParam.macCellCfg.carrCfg.dlFreq = convertArfcnToFreqKhz(NR_DL_ARFCN); + duCfgParam.macCellCfg.carrCfg.arfcnDL = NR_DL_ARFCN; #endif duCfgParam.macCellCfg.carrCfg.numTxAnt = NUM_TX_ANT; /* UL Carrier configuration */ #ifdef O1_ENABLE duCfgParam.macCellCfg.carrCfg.ulBw = cellParams.bSChannelBwUL; - duCfgParam.macCellCfg.carrCfg.ulFreq = convertArfcnToFreqKhz(cellParams.arfcnUL); + duCfgParam.macCellCfg.carrCfg.arfcnUL = cellParams.arfcnUL; #else duCfgParam.macCellCfg.carrCfg.ulBw = NR_BANDWIDTH; - duCfgParam.macCellCfg.carrCfg.ulFreq = convertArfcnToFreqKhz(NR_UL_ARFCN); + duCfgParam.macCellCfg.carrCfg.arfcnUL = NR_UL_ARFCN; #endif duCfgParam.macCellCfg.carrCfg.numRxAnt = NUM_RX_ANT;