struct macCellCb
{
- uint16_t cellId;
- uint16_t numOfSlots;
- MacCellStatus state;
- uint16_t crntiMap;
- MacRaCbInfo macRaCb[MAX_NUM_UE];
- MacDlSlot dlSlot[MAX_SLOTS];
- MacUlSlot ulSlot[MAX_SLOTS];
- uint16_t numActvUe;
- MacUeCfg *ueCfgTmpData[MAX_NUM_UE];
- MacUeRecfg *ueRecfgTmpData[MAX_NUM_UE];
- MacUeCb ueCb[MAX_NUM_UE];
- MacCellCfg macCellCfg;
- SlotTimingInfo currTime;
+ uint16_t cellId;
+ uint16_t numOfSlots;
+ MacCellStatus state;
+ uint16_t crntiMap;
+ MacRaCbInfo macRaCb[MAX_NUM_UE];
+ MacDlSlot dlSlot[MAX_SLOTS];
+ MacUlSlot ulSlot[MAX_SLOTS];
+ uint16_t numActvUe;
+ MacUeCreateReq *ueCfgTmpData[MAX_NUM_UE];
+ MacUeRecfg *ueRecfgTmpData[MAX_NUM_UE];
+ MacUeCb ueCb[MAX_NUM_UE];
+ MacCellCfg macCellCfg;
+ SlotTimingInfo currTime;
};
typedef struct macCb
#include "mac.h"
#include "mac_utils.h"
-MacDuUeCfgRspFunc macDuUeCfgRspOpts[] =
+MacDuUeCreateRspFunc macDuUeCreateRspOpts[] =
{
- packDuMacUeCfgRsp, /* packing for loosely coupled */
- DuProcMacUeCfgRsp, /* packing for tightly coupled */
- packDuMacUeCfgRsp /* packing for light weight loosly coupled */
+ packDuMacUeCreateRsp, /* packing for loosely coupled */
+ DuProcMacUeCreateRsp, /* packing for tightly coupled */
+ packDuMacUeCreateRsp /* packing for light weight loosly coupled */
};
MacDuUeRecfgRspFunc macDuUeRecfgRspOpts[] =
*
* ****************************************************************/
-uint8_t fillSchLcCfgList(SchUeCfgReq *schUeCfg, MacUeCfg *ueCfg)
+uint8_t fillSchLcCfgList(SchUeCfgReq *schUeCfg, MacUeCreateReq *ueCfg)
{
uint8_t lcIdx;
* RFAILED - failure
*
* ****************************************************************/
-uint8_t fillSchUeCfg(SchUeCfgReq *schUeCfg, MacUeCfg *ueCfg)
+uint8_t fillSchUeCfg(SchUeCfgReq *schUeCfg, MacUeCreateReq *ueCfg)
{
uint8_t ret = ROK;
*
* ****************************************************************/
-uint8_t fillMacLcCfgList(MacUeCb *ueCb, MacUeCfg *ueCfg)
+uint8_t fillMacLcCfgList(MacUeCb *ueCb, MacUeCreateReq *ueCfg)
{
uint8_t lcIdx = 0;
*
* ****************************************************************/
-uint8_t fillMacUeCb(MacUeCb *ueCb, MacUeCfg *ueCfg, uint8_t cellIdx)
+uint8_t fillMacUeCb(MacUeCb *ueCb, MacUeCreateReq *ueCfg, uint8_t cellIdx)
{
uint8_t ret = ROK;
* RFAILED - failure
*
* ****************************************************************/
-uint8_t createUeCb(uint8_t cellIdx, MacUeCb *ueCb, MacUeCfg *ueCfg)
+uint8_t createUeCb(uint8_t cellIdx, MacUeCb *ueCb, MacUeCreateReq *ueCfg)
{
uint8_t ret = ROK;
uint8_t hqProcIdx = 0;
*
* ****************************************************************/
-uint8_t procMacUeCfgData(Pst *pst, MacUeCfg *ueCfg, MacUeRecfg *ueRecfg)
+uint8_t procMacUeCfgData(Pst *pst, MacUeCreateReq *ueCfg, MacUeRecfg *ueRecfg)
{
uint8_t ret = ROK, ueId = 0;
uint16_t cellIdx, cellId;
*
* Functionality: Function to store the UeCfg Data
*
- * @params[in] MacUeCfg pointer
+ * @params[in] MacUeCreateReq pointer
* @return ROK - success
* RFAILED - failure
*
* ****************************************************************/
-uint8_t copyToTmpData(MacUeCfg *ueCfg, MacUeRecfg *ueRecfg)
+uint8_t copyToTmpData(MacUeCreateReq *ueCfg, MacUeRecfg *ueRecfg)
{
uint8_t cellIdx;
if(ueCfg != NULLP)
{
- MacUeCfg *tmpData = NULLP;
+ MacUeCreateReq *tmpData = NULLP;
- MAC_ALLOC(tmpData, sizeof(MacUeCfg));
+ MAC_ALLOC(tmpData, sizeof(MacUeCreateReq));
if(!tmpData)
{
DU_LOG("\nERROR --> MAC: Memory Alloc Failed at copyToTmpData()");
return RFAILED;
}
- memcpy(tmpData, ueCfg, sizeof(MacUeCfg));
+ memcpy(tmpData, ueCfg, sizeof(MacUeCreateReq));
GET_CELL_IDX(ueCfg->cellId, cellIdx);
macCb.macCell[cellIdx]->ueCfgTmpData[ueCfg->ueId-1] = tmpData;
}
* RFAILED - failure
*
* ****************************************************************/
-uint8_t MacProcUeCreateReq(Pst *pst, MacUeCfg *ueCfg)
+uint8_t MacProcUeCreateReq(Pst *pst, MacUeCreateReq *ueCfg)
{
uint8_t ret = ROK;
SchUeCfgReq schUeCfg;
ret = RFAILED;
}
/* FREE shared memory */
- MAC_FREE_SHRABL_BUF(pst->region, pst->pool, ueCfg, sizeof(MacUeCfg));
+ MAC_FREE_SHRABL_BUF(pst->region, pst->pool, ueCfg, sizeof(MacUeCreateReq));
return ret;
}
* ****************************************************************/
uint8_t MacSendUeCreateRsp(MacRsp result, SchUeCfgRsp *schCfgRsp)
{
- MacUeCfgRsp *cfgRsp;
+ MacUeCreateRsp *cfgRsp;
Pst rspPst;
- MAC_ALLOC_SHRABL_BUF(cfgRsp, sizeof(MacUeCfgRsp));
+ MAC_ALLOC_SHRABL_BUF(cfgRsp, sizeof(MacUeCreateRsp));
if(!cfgRsp)
{
DU_LOG("\nERROR --> MAC: Memory allocation for UE config response failed");
}
/* Filling UE Config response */
- memset(cfgRsp, 0, sizeof(MacUeCfgRsp));
+ memset(cfgRsp, 0, sizeof(MacUeCreateRsp));
cfgRsp->cellId = schCfgRsp->cellId;
cfgRsp->ueId = schCfgRsp->ueId;
cfgRsp->result = result;
/* Fill Post structure and send UE Create response*/
memset(&rspPst, 0, sizeof(Pst));
FILL_PST_MAC_TO_DUAPP(rspPst, EVENT_MAC_UE_CREATE_RSP);
- return (*macDuUeCfgRspOpts[rspPst.selector])(&rspPst, cfgRsp);
+ return (*macDuUeCreateRspOpts[rspPst.selector])(&rspPst, cfgRsp);
}
/*******************************************************************
*
* @params[in] cellIdx, ueId
*
- * @return MacUeCfg pointer - success
+ * @return MacUeCreateReq pointer - success
* NULLP - failure
*
* ****************************************************************/
-MacUeCfg *getMacUeCfg(uint16_t cellIdx, uint8_t ueId)
+MacUeCreateReq *getMacUeCfg(uint16_t cellIdx, uint8_t ueId)
{
- MacUeCfg *ueCfg = NULLP;
+ MacUeCreateReq *ueCfg = NULLP;
if(macCb.macCell[cellIdx])
{
ueCfg = macCb.macCell[cellIdx]->ueCfgTmpData[ueId-1];
uint8_t result = MAC_DU_APP_RSP_NOK;
uint8_t ret = ROK;
uint16_t cellIdx;
- MacUeCfg *ueCfg = NULLP;
+ MacUeCreateReq *ueCfg = NULLP;
#ifdef CALL_FLOW_DEBUG_LOG
switch(pst->event)
DU_LOG("\nERROR --> MAC: SCH UeConfigRsp for CRNTI[%d] is failed in MacProcSchUeCfgRsp()", schCfgRsp->crnti);
}
ret = MacSendUeCreateRsp(result, schCfgRsp);
- MAC_FREE(ueCfg, sizeof(MacUeCfg));
+ MAC_FREE(ueCfg, sizeof(MacUeCreateReq));
ueCfg = NULLP;
return ret;
}
if(tRlcCb->u.ulCb->rlcUlUdxEventType == EVENT_RLC_UE_CREATE_REQ)
{
FILL_PST_RLC_TO_DUAPP(rspPst, RLC_UL_INST, EVENT_RLC_UE_CREATE_RSP);
- SendRlcUeCfgRspToDu(&rspPst, cfgCfm);
+ SendRlcUeCreateRspToDu(&rspPst, cfgCfm);
}
else if(tRlcCb->u.ulCb->rlcUlUdxEventType == EVENT_RLC_UE_RECONFIG_REQ)
{
FILL_PST_RLC_TO_DUAPP(rspPst, RLC_UL_INST, EVENT_RLC_UE_RECONFIG_RSP);
- SendRlcUeCfgRspToDu(&rspPst, cfgCfm);
+ SendRlcUeReconfigRspToDu(&rspPst, cfgCfm);
}
else if (tRlcCb->u.ulCb->rlcUlUdxEventType == EVENT_RLC_UE_DELETE_REQ)
{
#include "du_app_rlc_inf.h"
#include "rlc_mgr.h"
-RlcDuUeCfgRsp rlcUeCfgRspOpts[] =
+RlcDuUeCreateRsp rlcUeCreateRspOpts[] =
{
- packRlcDuUeCfgRsp, /* 0 - loosely coupled */
- DuProcRlcUeCfgRsp, /* 1 - tightly coupled */
- packRlcDuUeCfgRsp /* 2 - LWLC loosely coupled */
+ packRlcDuUeCreateRsp, /* 0 - loosely coupled */
+ DuProcRlcUeCreateRsp, /* 1 - tightly coupled */
+ packRlcDuUeCreateRsp /* 2 - LWLC loosely coupled */
};
+RlcDuUeReconfigRsp rlcUeReconfigRspOpts[] =
+{
+ packRlcDuUeReconfigRsp, /* 0 - loosely coupled */
+ DuProcRlcUeReconfigRsp, /* 1 - tightly coupled */
+ packRlcDuUeReconfigRsp /* 2 - LWLC loosely coupled */
+};
/***********************************************************
*
* -# RFAILED
*
*************************************************************/
-uint8_t SendRlcUeCfgRspToDu(Pst *pst, RlcCfgCfmInfo *cfgRsp)
+uint8_t SendRlcUeCreateRspToDu(Pst *pst, RlcCfgCfmInfo *cfgRsp)
{
/* jump to specific primitive depending on configured selector */
uint8_t ret = ROK;
RlcCb *gCb;
- RlcUeCfgRsp *ueRsp = NULLP;
+ RlcUeCreateRsp *ueRsp = NULLP;
gCb = RLC_GET_RLCCB(pst->srcInst);
- RLC_ALLOC_SHRABL_BUF(pst->region, pst->pool, ueRsp, sizeof(RlcUeCfgRsp));
+ RLC_ALLOC_SHRABL_BUF(pst->region, pst->pool, ueRsp, sizeof(RlcUeCreateRsp));
if(!ueRsp)
{
DU_LOG("\nERROR --> RLC: Memory allocation failed for ueRsp at SendRlcUeCreateRspToDu()");
else
{
/* Mapping Old api to New Api */
- ret = fillRlcUeCfgRsp(ueRsp, cfgRsp);
+ ret = fillRlcUeCreateRsp(ueRsp, cfgRsp);
+ if(!ret)
+ {
+ ret = (*rlcUeCreateRspOpts[pst->selector])(pst, ueRsp);
+ if(ret)
+ {
+ DU_LOG("\nERROR --> RLC: Failed at SendRlcUeCreateRspToDu()");
+ RLC_FREE_SHRABL_BUF(pst->region, pst->pool, ueRsp, sizeof(RlcUeCreateRsp));
+ }
+ }
+ else
+ {
+ DU_LOG("\nERROR --> RLC: Failed at fillRlcUeCreateRsp() for event %d", pst->event);
+ RLC_FREE_SHRABL_BUF(pst->region, pst->pool, ueRsp, sizeof(RlcUeCreateRsp));
+ }
+ }
+ RLC_FREE(gCb, cfgRsp, sizeof(RlcCfgCfmInfo));
+ return ret;
+} /* end of SendRlcUeCreateRspToDu */
+
+/***********************************************************
+ *
+ * @brief
+ *
+ * Handler for the ue Reconfig response to DUAPP
+ *
+ * @b Description:
+ *
+ * This function reports ue Reconfig response to DUAPP
+ *
+ * @param[in] post Post structure
+ * @param[in] cfgRsp ue reconfig Config Response
+ *
+ * @return uint16_t
+ * -# ROK
+ * -# RFAILED
+ *
+ *************************************************************/
+uint8_t SendRlcUeReconfigRspToDu(Pst *pst, RlcCfgCfmInfo *cfgRsp)
+{
+ /* jump to specific primitive depending on configured selector */
+ uint8_t ret = ROK;
+ RlcCb *gCb;
+ RlcUeReconfigRsp *ueRsp = NULLP;
+
+ gCb = RLC_GET_RLCCB(pst->srcInst);
+ RLC_ALLOC_SHRABL_BUF(pst->region, pst->pool, ueRsp, sizeof(RlcUeReconfigRsp));
+ if(!ueRsp)
+ {
+ DU_LOG("\nERROR --> RLC: Memory allocation failed for ueRsp at SendRlcUeReconfigRspToDu()");
+ ret = RFAILED;
+ }
+ else
+ {
+ /* Mapping Old api to New Api */
+ ret = fillRlcUeCreateRsp(ueRsp, cfgRsp);
if(!ret)
{
- ret = (*rlcUeCfgRspOpts[pst->selector])(pst, ueRsp);
+ ret = (*rlcUeReconfigRspOpts[pst->selector])(pst, ueRsp);
if(ret)
{
- DU_LOG("\nERROR --> RLC: Failed at SendRlcUeCfgRspToDu()");
- RLC_FREE_SHRABL_BUF(pst->region, pst->pool, ueRsp, sizeof(RlcUeCfgRsp));
+ DU_LOG("\nERROR --> RLC: Failed at SendRlcUeReconfigRspToDu()");
+ RLC_FREE_SHRABL_BUF(pst->region, pst->pool, ueRsp, sizeof(RlcUeReconfigRsp));
}
}
else
{
- DU_LOG("\nERROR --> RLC: Failed at fillRlcUeCfgRsp() for event %d", pst->event);
- RLC_FREE_SHRABL_BUF(pst->region, pst->pool, ueRsp, sizeof(RlcUeCfgRsp));
+ DU_LOG("\nERROR --> RLC: Failed at fillRlcUeCreateRsp() for event %d", pst->event);
+ RLC_FREE_SHRABL_BUF(pst->region, pst->pool, ueRsp, sizeof(RlcUeReconfigRsp));
}
}
RLC_FREE(gCb, cfgRsp, sizeof(RlcCfgCfmInfo));
return ret;
-} /* end of SendRlcUeCfgRspToDu */
+} /* end of SendRlcUeReconfigRspToDu */
/**********************************************************************
End of file
*******************************************************************************/
/* This file stores defines used at RLC interface */
-uint8_t fillRlcUeCfgRsp(RlcUeCfgRsp *rlcCfgRsp, RlcCfgCfmInfo *rlcCRsp);
-uint8_t SendRlcUeCfgRspToDu(Pst *pst, RlcCfgCfmInfo *cfgRsp);
+uint8_t fillRlcUeCreateRsp(RlcUeCreateRsp *rlcCfgRsp, RlcCfgCfmInfo *rlcCRsp);
+uint8_t SendRlcUeCreateRspToDu(Pst *pst, RlcCfgCfmInfo *cfgRsp);
+uint8_t SendRlcUeReconfigRspToDu(Pst *pst, RlcCfgCfmInfo *cfgRsp);
uint8_t sendRlcUeDeleteRspToDu(uint16_t cellId, uint8_t ueId, CauseOfResult status);
uint8_t sendRlcUeReestablishRspToDu(uint16_t cellId,uint8_t ueId, CauseOfResult status);
/**********************************************************************
*
* @details
*
- * Function : fillRlcUeCfgRsp
+ * Function : fillRlcUeCreateRsp
*
* Functionality:
* Fills RLC UL UE Cfg Rsp from RlcCRsp
*
* @params[in] Pointer to RlcCfgCfm
- * Pointer to RlcUeCfgRsp
+ * Pointer to RlcUeCreateRsp
*
* @return ROK/RFAILED
*
*****************************************************************/
-uint8_t fillRlcUeCfgRsp(RlcUeCfgRsp *rlcCfgRsp, RlcCfgCfmInfo *rlcCRsp)
+uint8_t fillRlcUeCreateRsp(RlcUeCreateRsp *rlcCfgRsp, RlcCfgCfmInfo *rlcCRsp)
{
uint8_t idx;
uint8_t ret = ROK;
*
******************************************************************/
-uint8_t fillRlcCfg(RlcCb *gCb, RlcCfgInfo *rlcUeCfg, RlcUeCfg *ueCfg)
+uint8_t fillRlcCfg(RlcCb *gCb, RlcCfgInfo *rlcUeCfg, RlcUeCreate *ueCfg)
{
uint8_t lcIdx;
* Functionality:
* Fill RlcCfgCfmInfo structure for sending failure response to DU
*
- * @params[in] RlcCfgCfmInfo *cfgRsp, RlcUeCfg *ueCfg
+ * @params[in] RlcCfgCfmInfo *cfgRsp, RlcUeCreate *ueCfg
*
* @return void
*
* ****************************************************************/
-void fillRlcCfgFailureRsp(RlcCfgCfmInfo *cfgRsp, RlcUeCfg *ueCfg)
+void fillRlcCfgFailureRsp(RlcCfgCfmInfo *cfgRsp, RlcUeCreate *ueCfg)
{
uint8_t cfgIdx =0;
* Functionality:
* Fill RlcCfgCfmInfo structure for sending failure response to DU
*
- * @params[in] RlcCfgCfmInfo *cfgRsp, RlcUeCfg *ueCfg
+ * @params[in] RlcCfgCfmInfo *cfgRsp, RlcUeCreate *ueCfg
*
* @return void
*
* Handles Ue create Request from DU APP
*
* @params[in] Post structure pointer
- * RlcUeCfg pointer
+ * RlcUeCreate pointer
* @return ROK - success
* RFAILED - failure
*
* ****************************************************************/
-uint8_t RlcProcUeCreateReq(Pst *pst, RlcUeCfg *ueCfg)
+uint8_t RlcProcUeCreateReq(Pst *pst, RlcUeCreate *ueCfg)
{
uint8_t ret = ROK;
RlcCb *gCb;
DU_LOG("\nERROR --> RLC: Failed to fill configuration at RlcProcUeCreateReq()");
FILL_PST_RLC_TO_DUAPP(rspPst, RLC_UL_INST, EVENT_RLC_UE_CREATE_RSP);
fillRlcCfgFailureRsp(&cfgRsp, ueCfg);
- SendRlcUeCfgRspToDu(&rspPst, &cfgRsp);
+ SendRlcUeCreateRspToDu(&rspPst, &cfgRsp);
}
else
DU_LOG("\nERROR --> RLC: Failed to configure Add/Mod/Del entities at RlcProcUeCreateReq()");
}
}
- RLC_FREE_SHRABL_BUF(pst->region, pst->pool, ueCfg, sizeof(RlcUeCfg));
+ RLC_FREE_SHRABL_BUF(pst->region, pst->pool, ueCfg, sizeof(RlcUeCreate));
return ret;
}
DU_LOG("\nERROR --> RLC: Failed to fill configuration at RlcProcUeReconfigReq()");
FILL_PST_RLC_TO_DUAPP(rspPst, RLC_UL_INST, EVENT_RLC_UE_RECONFIG_RSP);
fillRlcRecfgFailureRsp(&cfgRsp, ueRecfg);
- SendRlcUeCfgRspToDu(&rspPst, &cfgRsp);
+ SendRlcUeReconfigRspToDu(&rspPst, &cfgRsp);
}
else
{
uint8_t indexTable = 0;
uint32_t freq = 0;
- for(indexTable = 0; indexTable < 4; indexTable++)
+ for(indexTable = 0; indexTable < 3; indexTable++)
{
if(arfcn <= arfcnFreqTable[indexTable][4])
{
- freq = arfcnFreqTable[indexTable][2] + (arfcnFreqTable[indexTable][1] * (arfcn - arfcnFreqTable[indexTable][3]));
- return (freq*1000);
+ freq = (arfcnFreqTable[indexTable][2] * 1000) + (arfcnFreqTable[indexTable][1] * (arfcn - arfcnFreqTable[indexTable][3]));
+ return (freq);
}
}
DU_LOG("ERROR --> DUAPP: ARFCN vaid range is between 0 and 3279165");
- return (freq*1000);
+ return (freq);
}
* 3GPP TS 38.104, Table 5.4.2.1-1
* Formula: NREF = NREF-Offs + (FREF – FREF-Offs) / ΔFGlobal
*
-* @params[in] uint32_t Freq(MHZ)
+* @params[in] uint32_t Freq(kHZ)
*
* @return [out] uint32_t ARFCN(number)
*
uint8_t indexTable = 0;
uint32_t arfcn = 0;
- for(indexTable = 0; indexTable < 4; indexTable++)
+ for(indexTable = 0; indexTable < 3; indexTable++)
{
if(freq < arfcnFreqTable[indexTable][0])
{
- arfcn = arfcnFreqTable[indexTable][3] + ((freq - arfcnFreqTable[indexTable][2]) / (arfcnFreqTable[indexTable][1]));
+ arfcn = arfcnFreqTable[indexTable][3] + ((freq - (arfcnFreqTable[indexTable][2] * 1000)) / (arfcnFreqTable[indexTable][1]));
return (arfcn);
}
}
*
*
* @params[in] Post structure pointer
- * MacUeCfg pointer
+ * MacUeCreateReq pointer
* @return ROK - success
* RFAILED - failure
*
* ****************************************************************/
-uint8_t packDuMacUeCreateReq(Pst *pst, MacUeCfg *ueCfg)
+uint8_t packDuMacUeCreateReq(Pst *pst, MacUeCreateReq *ueCfg)
{
Buffer *mBuf = NULLP;
{
if(pst->selector == ODU_SELECTOR_LWLC)
{
- MacUeCfg *ueCfg;
+ MacUeCreateReq *ueCfg;
/* unpack the address of the structure */
CMCHKUNPK(oduUnpackPointer, (PTR *)&ueCfg, mBuf);
/*******************************************************************
*
- * @brief Pack and send UE config response from MAC to DU APP
+ * @brief Pack and send UE create response from MAC to DU APP
*
* @details
*
- * Function : packDuMacUeCfgRsp
+ * Function : packDuMacUeCreateRsp
*
* Functionality:
- * Pack and send UE config response from MAC to DU APP
+ * Pack and send UE create response from MAC to DU APP
*
* @params[in]
* @return ROK - success
* RFAILED - failure
*
* ****************************************************************/
-uint8_t packDuMacUeCfgRsp(Pst *pst, MacUeCfgRsp *cfgRsp)
+uint8_t packDuMacUeCreateRsp(Pst *pst, MacUeCreateRsp *cfgRsp)
{
Buffer *mBuf = NULLP;
{
if (ODU_GET_MSG_BUF(pst->region, pst->pool, &mBuf) != ROK)
{
- DU_LOG("\nERROR --> MAC : Memory allocation failed at packDuMacUeCfgRsp");
+ DU_LOG("\nERROR --> MAC : Memory allocation failed at packDuMacUeCreateRsp");
return RFAILED;
}
/* pack the address of the structure */
}
else
{
- DU_LOG("\nERROR --> MAC: Only LWLC supported for packDuMacUeCfgRsp");
+ DU_LOG("\nERROR --> MAC: Only LWLC supported for packDuMacUeCreateRsp");
return RFAILED;
}
}
/*******************************************************************
*
- * @brief Unpack UE Config Response from MAC to DU APP
+ * @brief Unpack UE Create Response from MAC to DU APP
*
* @details
*
- * Function :unpackDuMacUeCfgRsp
+ * Function :unpackDuMacUeCreateRsp
*
- * Functionality: Unpack UE Config Response from MAC to DU APP
+ * Functionality: Unpack UE Create Response from MAC to DU APP
*
* @params[in]
* @return ROK - success
* RFAILED - failure
*
* ****************************************************************/
-uint8_t unpackDuMacUeCfgRsp(MacDuUeCfgRspFunc func, Pst *pst, Buffer *mBuf)
+uint8_t unpackDuMacUeCreateRsp(MacDuUeCreateRspFunc func, Pst *pst, Buffer *mBuf)
{
if(pst->selector == ODU_SELECTOR_LWLC)
{
- MacUeCfgRsp *cfgRsp = NULLP;
+ MacUeCreateRsp *cfgRsp = NULLP;
/* unpack the address of the structure */
CMCHKUNPK(oduUnpackPointer, (PTR *)&cfgRsp, mBuf);
*
*
* @params[in] Post structure pointer
- * MacUeCfg pointer
+ * MacUeRecfg pointer
* @return ROK - success
* RFAILED - failure
*
McsTable mcsTable; /* MCS table */
}ModulationInfo;
-typedef struct macUeCfg
+typedef struct macUeCreateReq
{
uint16_t cellId;
uint8_t ueId;
ModulationInfo ulModInfo; /* UL modulation info */
uint8_t numLcs;
LcCfg lcCfgList[MAX_NUM_LC];
-}MacUeCfg;
+}MacUeCreateReq;
/* UE Re-configuration */
typedef struct macUeRecfg
FailureCause cause;
}SCellFailInfo;
-typedef struct ueCfgRsp
+typedef struct macUeCreateRsp
{
uint16_t cellId;
uint16_t ueId;
SCellFailInfo *failedSCellList;
uint8_t numDRBModFailed; /* valid values : 0 to MAX_NUM_DRB */
DRBFailInfo *failedDRBModlist;
-}MacUeCfgRsp;
+}MacUeCreateRsp;
-typedef struct ueCfgRsp MacUeRecfgRsp;
+typedef struct macUeCreateRsp MacUeRecfgRsp;
typedef struct rachRsrcReq
{
/* UE create Request from DU APP to MAC*/
typedef uint8_t (*DuMacUeCreateReq) ARGS((
Pst *pst,
- MacUeCfg *ueCfg ));
+ MacUeCreateReq *ueCfg ));
/* UE create Response from MAC to DU APP */
-typedef uint8_t (*MacDuUeCfgRspFunc) ARGS((
+typedef uint8_t (*MacDuUeCreateRspFunc) ARGS((
Pst *pst,
- MacUeCfgRsp *cfgRsp));
+ MacUeCreateRsp *cfgRsp));
/* UE Reconfig Request from DU APP to MAC */
typedef uint8_t (*DuMacUeReconfigReq) ARGS((
uint8_t packMacDlCcchInd(Pst *pst, DlCcchIndInfo *dlCcchIndInfo);
uint8_t unpackMacDlCcchInd(DuMacDlCcchInd func, Pst *pst, Buffer *mBuf);
uint8_t MacProcDlCcchInd(Pst *pst, DlCcchIndInfo *dlCcchIndInfo);
-uint8_t packDuMacUeCreateReq(Pst *pst, MacUeCfg *ueCfg);
+uint8_t packDuMacUeCreateReq(Pst *pst, MacUeCreateReq *ueCfg);
uint8_t unpackMacUeCreateReq(DuMacUeCreateReq func, Pst *pst, Buffer *mBuf);
-uint8_t MacProcUeCreateReq(Pst *pst, MacUeCfg *ueCfg);
+uint8_t MacProcUeCreateReq(Pst *pst, MacUeCreateReq *ueCfg);
uint8_t sendStopIndMacToDuApp(uint16_t cellId);
-uint8_t packDuMacUeCfgRsp(Pst *pst, MacUeCfgRsp *cfgRsp);
-uint8_t unpackDuMacUeCfgRsp(MacDuUeCfgRspFunc func, Pst *pst, Buffer *mBuf);
-uint8_t DuProcMacUeCfgRsp(Pst *pst, MacUeCfgRsp *cfgRsp);
+uint8_t packDuMacUeCreateRsp(Pst *pst, MacUeCreateRsp *cfgRsp);
+uint8_t unpackDuMacUeCreateRsp(MacDuUeCreateRspFunc func, Pst *pst, Buffer *mBuf);
+uint8_t DuProcMacUeCreateRsp(Pst *pst, MacUeCreateRsp *cfgRsp);
uint8_t packDuMacUeReconfigReq(Pst *pst, MacUeRecfg *ueRecfg);
uint8_t unpackMacUeReconfigReq(DuMacUeReconfigReq func, Pst *pst, Buffer *mBuf);
uint8_t MacProcUeReconfigReq(Pst *pst, MacUeRecfg *ueRecfg);
*
*
* @params[in] Post structure pointer
- * RlcUeCfg pointer
+ * RlcUeCreate pointer
* @return ROK - success
* RFAILED - failure
*
* ****************************************************************/
-uint8_t packDuRlcUeCreateReq(Pst *pst, RlcUeCfg *ueCfg)
+uint8_t packDuRlcUeCreateReq(Pst *pst, RlcUeCreate *ueCfg)
{
Buffer *mBuf = NULLP;
{
if(pst->selector == ODU_SELECTOR_LWLC)
{
- RlcUeCfg *ueCfg;
+ RlcUeCreate *ueCfg;
/* unpack the address of the structure */
CMCHKUNPK(oduUnpackPointer, (PTR *)&ueCfg, mBuf);
ODU_PUT_MSG_BUF(mBuf);
/*******************************************************************
*
- * @brief Packs and Sends UE Cfg Response from RLC to DUAPP
+ * @brief Packs and Sends UE Create Response from RLC to DUAPP
*
* @details
*
- * Function : packRlcDuUeCfgRsp
+ * Function : packRlcDuUeCreateRsp
*
* Functionality:
* Packs and Sends UE Cfg Rrsponse from RLC to DUAPP
* RFAILED - failure
*
* ****************************************************************/
-uint8_t packRlcDuUeCfgRsp(Pst *pst, RlcUeCfgRsp *ueCfg)
+uint8_t packRlcDuUeCreateRsp(Pst *pst, RlcUeCreateRsp *ueCfg)
{
Buffer *mBuf = NULLP;
{
if (ODU_GET_MSG_BUF(pst->region, pst->pool, &mBuf) != ROK)
{
- DU_LOG("\nERROR --> RLC : Memory allocation failed at packRlcDuUeCfgRsp");
+ DU_LOG("\nERROR --> RLC : Memory allocation failed at packRlcDuUeCreateRsp");
return RFAILED;
}
/* pack the address of the structure */
}
else
{
- DU_LOG("\nERROR --> RLC: Only LWLC supported for packRlcDuUeCfgRsp");
+ DU_LOG("\nERROR --> RLC: Only LWLC supported for packRlcDuUeCreateRsp");
return RFAILED;
}
/*******************************************************************
*
- * @brief Unpacks UE Cfg Response received from DU APP
+ * @brief Unpacks UE Create Response received from DU APP
*
* @details
*
- * Function : unpackRlcUeCfgRsp
+ * Function : unpackRlcUeCreateRsp
*
* Functionality:
* Unpacks UE Cfg Response received from DU APP
* RFAILED - failure
*
* ****************************************************************/
-uint8_t unpackRlcUeCfgRsp(RlcDuUeCfgRsp func, Pst *pst, Buffer *mBuf)
+uint8_t unpackRlcUeCreateRsp(RlcDuUeCreateRsp func, Pst *pst, Buffer *mBuf)
{
if(pst->selector == ODU_SELECTOR_LWLC)
{
- RlcUeCfgRsp *cfgRsp = NULLP;
+ RlcUeCreateRsp *cfgRsp = NULLP;
/* unpack the address of the structure */
CMCHKUNPK(oduUnpackPointer, (PTR *)&cfgRsp, mBuf);
ODU_PUT_MSG_BUF(mBuf);
return RFAILED;
}
+/*******************************************************************
+ *
+ * @brief Packs and Sends UE Reconfig Response from RLC to DUAPP
+ *
+ * @details
+ *
+ * Function : packRlcDuUeReconfigRsp
+ *
+ * Functionality:
+ * Packs and Sends UE Reconfig Rrsponse from RLC to DUAPP
+ *
+ *
+ * @params[in] Post structure pointer
+ * RlcUeRecfgRsp pointer
+ * @return ROK - success
+ * RFAILED - failure
+ *
+ * ****************************************************************/
+uint8_t packRlcDuUeReconfigRsp(Pst *pst, RlcUeReconfigRsp *ueCfg)
+{
+ Buffer *mBuf = NULLP;
+
+ if(pst->selector == ODU_SELECTOR_LWLC)
+ {
+ if (ODU_GET_MSG_BUF(pst->region, pst->pool, &mBuf) != ROK)
+ {
+ DU_LOG("\nERROR --> RLC : Memory allocation failed at packRlcDuUeReconfigRsp");
+ return RFAILED;
+ }
+ /* pack the address of the structure */
+ CMCHKPK(oduPackPointer,(PTR)ueCfg, mBuf);
+ }
+ else
+ {
+ DU_LOG("\nERROR --> RLC: Only LWLC supported for packRlcDuUeReconfigRsp");
+ return RFAILED;
+ }
+
+ return ODU_POST_TASK(pst,mBuf);
+}
+
+/*******************************************************************
+ *
+ * @brief Unpacks UE Reconfig Response received from DU APP
+ *
+ * @details
+ *
+ * Function : unpackRlcUeReconfigRsp
+ *
+ * Functionality:
+ * Unpacks UE Reconfig Response received from DU APP
+ *
+ * @params[in] Pointer to Handler
+ * Post structure pointer
+ * Message Buffer
+ * @return ROK - success
+ * RFAILED - failure
+ *
+ * ****************************************************************/
+uint8_t unpackRlcUeReconfigRsp(RlcDuUeReconfigRsp func, Pst *pst, Buffer *mBuf)
+{
+ if(pst->selector == ODU_SELECTOR_LWLC)
+ {
+ RlcUeReconfigRsp *cfgRsp = NULLP;
+ /* unpack the address of the structure */
+ CMCHKUNPK(oduUnpackPointer, (PTR *)&cfgRsp, mBuf);
+ ODU_PUT_MSG_BUF(mBuf);
+ return (*func)(pst, cfgRsp);
+ }
+ else
+ {
+ /* Nothing to do for other selectors */
+ DU_LOG("\nERROR --> RLC: Only LWLC supported for UE Re-Cfg Response ");
+ ODU_PUT_MSG_BUF(mBuf);
+ }
+
+ return RFAILED;
+}
+
/*******************************************************************
*
* @brief Pack and send UL RRC message transfer from RLC to DU APP
}RlcUeRecfg;
/* Ref: ORAN_WG8.V7.0.0 Sec 11.2.5.1 UE Create */
-typedef struct rlcUeCfg
+typedef struct rlcUeCreate
{
uint16_t cellId;
uint8_t ueId;
uint8_t numLcsToAdd;
RlcBearerCfg rlcLcCfgAdd[MAX_NUM_LC];
-}RlcUeCfg;
+}RlcUeCreate;
/* Ref: ORAN_WG8.V7.0.0 Sec 11.2.5.2 UE Create Response */
-typedef struct rlcUeCfgRsp
+typedef struct rlcUeCreateRsp
{
uint16_t cellId;
uint16_t ueId;
RlcRsp result;
FailureReason reason;
-}RlcUeCfgRsp;
+}RlcUeCreateRsp;
+
+/* Ref: ORAN_WG8.V7.0.0 Sec 11.2.5.4 UE Reconfig Response */
+typedef struct rlcUeCreateRsp RlcUeReconfigRsp;
/* Ref: ORAN_WG8.V7.0.0 Sec 11.2.5.5 UE Delete Response */
typedef struct rlcUeDelete
/* UE create Request from DU APP to RLC*/
typedef uint8_t (*DuRlcUeCreateReq) ARGS((
Pst *pst,
- RlcUeCfg *ueCfg ));
+ RlcUeCreate *ueCfg ));
-/* UE Cfg Response from RLC to DU APP*/
-typedef uint8_t (*RlcDuUeCfgRsp) ARGS((
+/* UE Create Response from RLC to DU APP*/
+typedef uint8_t (*RlcDuUeCreateRsp) ARGS((
Pst *pst,
- RlcUeCfgRsp *ueCfgRsp));
+ RlcUeCreateRsp *ueCreateRsp));
/* UE Delete Response from RLC to DU APP*/
typedef uint8_t (*RlcDuUeDeleteRsp) ARGS((
Pst *pst,
RlcUeRecfg *ueRecfg ));
+/* UE Reconfig Response from RLC to DU APP*/
+typedef uint8_t (*RlcDuUeReconfigRsp) ARGS((
+ Pst *pst,
+ RlcUeReconfigRsp *ueReconfigRsp));
+
/* UE Delete Request from DU APP to RLC */
typedef uint8_t (*DuRlcUeDeleteReq) ARGS((
Pst *pst,
/* Pack/Unpack function declarations */
uint8_t packRlcDuMaxRetransInd(Pst *pst, RlcMaxRetransInfo *maxRetransInd);
uint8_t unpackRlcMaxRetransInd(RlcDuMaxRetransInd func, Pst *pst, Buffer *mBuf);
-uint8_t packDuRlcUeCreateReq(Pst *pst, RlcUeCfg *ueCfg);
+uint8_t packDuRlcUeCreateReq(Pst *pst, RlcUeCreate *ueCfg);
uint8_t unpackRlcUeCreateReq(DuRlcUeCreateReq func, Pst *pst, Buffer *mBuf);
-uint8_t packRlcDuUeCfgRsp(Pst *pst, RlcUeCfgRsp *ueCfgRsp);
-uint8_t unpackRlcUeCfgRsp(RlcDuUeCfgRsp func, Pst *pst, Buffer *mBuf);
+uint8_t packRlcDuUeCreateRsp(Pst *pst, RlcUeCreateRsp *ueCfgRsp);
+uint8_t unpackRlcUeCreateRsp(RlcDuUeCreateRsp func, Pst *pst, Buffer *mBuf);
+uint8_t packRlcDuUeReconfigRsp(Pst *pst, RlcUeReconfigRsp *ueCfgRsp);
+uint8_t unpackRlcUeReconfigRsp(RlcDuUeReconfigRsp func, Pst *pst, Buffer *mBuf);
uint8_t packRlcUlRrcMsgToDu(Pst *pst, RlcUlRrcMsgInfo *ulRrcMsgInfo);
uint8_t unpackRlcUlRrcMsgToDu(RlcUlRrcMsgToDuFunc func, Pst *pst, Buffer *mBuf);
uint8_t packDlRrcMsgToRlc(Pst *pst, RlcDlRrcMsgInfo *dlRrcMsgInfo);
/* Event Handler function declarations */
uint8_t DuProcRlcMaxRetransInd(Pst *pst, RlcMaxRetransInfo *maxRetransInd);
-uint8_t RlcProcUeCreateReq(Pst *pst, RlcUeCfg *ueCfg);
-uint8_t DuProcRlcUeCfgRsp(Pst *pst, RlcUeCfgRsp *cfgRsp);
+uint8_t RlcProcUeCreateReq(Pst *pst, RlcUeCreate *ueCfg);
+uint8_t DuProcRlcUeCreateRsp(Pst *pst, RlcUeCreateRsp *cfgRsp);
+uint8_t DuProcRlcUeReconfigRsp(Pst *pst, RlcUeReconfigRsp *recfgRsp);
uint8_t DuProcRlcUlRrcMsgTrans(Pst *pst, RlcUlRrcMsgInfo *ulRrcMsgInfo);
uint8_t RlcProcDlRrcMsgTransfer(Pst *pst, RlcDlRrcMsgInfo *dlRrcMsgInfo);
uint8_t DuProcRlcRrcDeliveryReport(Pst *pst, RrcDeliveryReport *rrcDeliveryReport);
*
* @params[in] DRBs_ToBeSetup_Item_t , DRBs_ToBeSetupMod_Item_t,
* DRBs_ToBeModified_Item_t , lcId, DuLcCfg pointer,
- * RlcBearerCfg , UpTnlCfg, RlcUeCfg
+ * RlcBearerCfg , UpTnlCfg, DuRlcUeCfg
* @return void
*
* ****************************************************************/
}
case EVENT_RLC_UE_CREATE_RSP:
{
- ret = unpackRlcUeCfgRsp(DuProcRlcUeCfgRsp, pst, mBuf);
+ ret = unpackRlcUeCreateRsp(DuProcRlcUeCreateRsp, pst, mBuf);
break;
}
case EVENT_RLC_UE_RECONFIG_RSP:
{
- ret = unpackRlcUeCfgRsp(DuProcRlcUeCfgRsp, pst, mBuf);
+ ret = unpackRlcUeReconfigRsp(DuProcRlcUeReconfigRsp, pst, mBuf);
break;
}
case EVENT_RLC_UE_DELETE_RSP:
}
case EVENT_MAC_UE_CREATE_RSP:
{
- ret = unpackDuMacUeCfgRsp(DuProcMacUeCfgRsp, pst, mBuf);
+ ret = unpackDuMacUeCreateRsp(DuProcMacUeCreateRsp, pst, mBuf);
break;
}
case EVENT_MAC_UE_RECONFIG_RSP:
* Functionality:
* Processes UE Reconfig Req to RLC UL
*
- * @params[in] Pointer to RlcUeCfg
+ * @params[in] Pointer to RlcUeRecfg
* @return ROK - success
* RFAILED - failure
*
}
else
{
- DU_LOG("\nERROR --> DU_APP: Received RlcUeCfg is NULL at sendUeRecfgReqToRlc()");
+ DU_LOG("\nERROR --> DU_APP: Received RlcUeRecfg is NULL at sendUeRecfgReqToRlc()");
ret = RFAILED;
}
return ret;
/**********************************************************************************
*
- * @brief Fills Ue Cfg from DU DB to MacUeCfg
+ * @brief Fills Ue Cfg from DU DB to MacUeCreateReq
*
* @details
*
* Functionality: fills ue Cfg to be sent to MAC
*
* @params[in] DuMacUeCfg Pointer
- * MacUeCfg Pointer
+ * MacUeCreateReq Pointer
*
* @return ROK - success
* RFAILED - failure
* *******************************************************************************/
-void fillMacUeCfg(DuMacUeCfg *duMacUeCfg, MacUeCfg *macUeCfg)
+void fillMacUeCfg(DuMacUeCfg *duMacUeCfg, MacUeCreateReq *macUeCfg)
{
uint8_t lcIdx = 0;
* Functionality: fills ue Cfg to be sent to RLC
*
* @params[in] DuRlcUeCfg Pointer
- * RlcUeCfg Pointer
+ * RlcUeCreate Pointer
*
* @return ROK - success
* RFAILED - failure
* *******************************************************************************/
-void fillRlcUeCfg(DuRlcUeCfg *duRlcUeCfg, RlcUeCfg *rlcUeCfg)
+void fillRlcUeCfg(DuRlcUeCfg *duRlcUeCfg, RlcUeCreate *rlcUeCfg)
{
uint8_t lcIdx = 0;
uint8_t duBuildAndSendUeCreateReqToMac(uint16_t cellId, uint8_t gnbDuUeF1apId, uint16_t crnti, DuUeCfg *ueCfgDb, DuMacUeCfg *duMacUeCfg)
{
uint8_t ret = ROK;
- MacUeCfg *macUeCfg = NULLP;
+ MacUeCreateReq *macUeCfg = NULLP;
Pst pst;
memset(&pst, 0, sizeof(Pst));
FILL_PST_DUAPP_TO_MAC(pst, EVENT_MAC_UE_CREATE_REQ);
/* Copying ueCb to a sharable buffer */
- DU_ALLOC_SHRABL_BUF(macUeCfg, sizeof(MacUeCfg));
+ DU_ALLOC_SHRABL_BUF(macUeCfg, sizeof(MacUeCreateReq));
if(macUeCfg)
{
- memset(macUeCfg, 0, sizeof(MacUeCfg));
+ memset(macUeCfg, 0, sizeof(MacUeCreateReq));
fillMacUeCfg(duMacUeCfg, macUeCfg);
DU_LOG("\nDEBUG --> DU_APP: Sending UE create request to MAC");
if(ret == RFAILED)
{
DU_LOG("\nERROR --> DU_APP : Failure in sending Ue Create Req to MAC at duBuildAndSendUeCreateReqToMac()");
- DU_FREE_SHRABL_BUF(DU_APP_MEM_REGION, DU_POOL, macUeCfg, sizeof(MacUeCfg));
+ DU_FREE_SHRABL_BUF(DU_APP_MEM_REGION, DU_POOL, macUeCfg, sizeof(MacUeCreateReq));
}
}
else
/*******************************************************************
*
- * @brief Handle UE config response from MAC
+ * @brief Handle UE create response from MAC
*
* @details
*
- * Function : DuProcMacUeCfgRsp
+ * Function : DuProcMacUeCreateRsp
*
- * Functionality: Handle UE Config response from MAC
+ * Functionality: Handle UE Create response from MAC
*
- * @params[in] Pointer to MacUeCfgRsp and Pst
+ * @params[in] Pointer to MacUeCreateRsp and Pst
* @return ROK - success
* RFAILED - failure
*
* ****************************************************************/
-uint8_t DuProcMacUeCfgRsp(Pst *pst, MacUeCfgRsp *cfgRsp)
+uint8_t DuProcMacUeCreateRsp(Pst *pst, MacUeCreateRsp *cfgRsp)
{
uint8_t ret = ROK;
uint16_t cellIdx;
if((duBuildAndSendRachRsrcReqToMac(cfgRsp->cellId, cfgRsp->ueId)) != ROK)
{
DU_LOG("\nERROR --> DU APP : Failed to send RACH Resource Request to MAC");
- DU_FREE_SHRABL_BUF(DU_APP_MEM_REGION, DU_POOL, cfgRsp, sizeof(MacUeCfgRsp));
+ DU_FREE_SHRABL_BUF(DU_APP_MEM_REGION, DU_POOL, cfgRsp, sizeof(MacUeCreateRsp));
return RFAILED;
}
}
else
{
DU_LOG("\nERROR -> DU APP : Failure in updating DU UE CB");
- DU_FREE_SHRABL_BUF(DU_APP_MEM_REGION, DU_POOL, cfgRsp, sizeof(MacUeCfgRsp));
+ DU_FREE_SHRABL_BUF(DU_APP_MEM_REGION, DU_POOL, cfgRsp, sizeof(MacUeCreateRsp));
return RFAILED;
}
}
DU_LOG("\nERROR --> DU APP : MAC UE CFG Response for EVENT[%d]: FAILURE [DU UE F1AP ID : %d]", pst->event, cfgRsp->ueId);
ret = RFAILED;
}
- DU_FREE_SHRABL_BUF(DU_APP_MEM_REGION, DU_POOL, cfgRsp, sizeof(MacUeCfgRsp));
+ DU_FREE_SHRABL_BUF(DU_APP_MEM_REGION, DU_POOL, cfgRsp, sizeof(MacUeCreateRsp));
}
else
{
- DU_LOG("\nERROR --> DU APP : Received MAC Ue Config Response is NULL at DuProcMacUeCfgRsp()");
+ DU_LOG("\nERROR --> DU APP : Received MAC Ue Config Response is NULL at DuProcMacUeCreateRsp()");
ret = RFAILED;
}
return ret;
*
* @params[in] cellId,
* ueId,
- * Pointer to RlcUeCfg
+ * Pointer to RlcUeCreate
* @return ROK - success
* RFAILED - failure
*
uint8_t duBuildAndSendUeCreateReqToRlc(uint16_t cellId, uint8_t gnbDuUeF1apId, DuUeCfg *ueCfgDb, DuRlcUeCfg *duRlcUeCfg)
{
uint8_t ret = ROK;
- RlcUeCfg *rlcUeCfg = NULLP;
+ RlcUeCreate *rlcUeCfg = NULLP;
Pst pst;
ret = updateRlcUeCfg(cellId, gnbDuUeF1apId, ueCfgDb, duRlcUeCfg);
FILL_PST_DUAPP_TO_RLC(pst, RLC_UL_INST, EVENT_RLC_UE_CREATE_REQ);
/* Copying ueCfg to a sharable buffer */
- DU_ALLOC_SHRABL_BUF(rlcUeCfg, sizeof(RlcUeCfg));
+ DU_ALLOC_SHRABL_BUF(rlcUeCfg, sizeof(RlcUeCreate));
if(rlcUeCfg)
{
- memset(rlcUeCfg, 0, sizeof(RlcUeCfg));
+ memset(rlcUeCfg, 0, sizeof(RlcUeCreate));
fillRlcUeCfg(duRlcUeCfg, rlcUeCfg);
/* Processing one Ue at a time to RLC */
if(ret == RFAILED)
{
DU_LOG("\nERROR --> DU_APP : Failure in sending Ue Create Req to RLC");
- DU_FREE_SHRABL_BUF(DU_APP_MEM_REGION, DU_POOL, rlcUeCfg, sizeof(RlcUeCfg));
+ DU_FREE_SHRABL_BUF(DU_APP_MEM_REGION, DU_POOL, rlcUeCfg, sizeof(RlcUeCreate));
ret = RFAILED;
}
}
* @details
*
- * Function : DuProcRlcUeCfgRsp
+ * Function : DuProcRlcUeCreateRsp
*
* Functionality:
* Processes UE create Rsp received from RLC UL
* RFAILED - failure
*
*****************************************************************/
-uint8_t DuProcRlcUeCfgRsp(Pst *pst, RlcUeCfgRsp *cfgRsp)
+uint8_t DuProcRlcUeCreateRsp(Pst *pst, RlcUeCreateRsp *cfgRsp)
{
uint8_t ret = ROK;
if((duBuildAndSendRachRsrcReqToMac(cfgRsp->cellId, cfgRsp->ueId)) != ROK)
{
DU_LOG("\nERROR --> DU APP : Failed to send RACH Resource Request to MAC");
- DU_FREE_SHRABL_BUF(DU_APP_MEM_REGION, DU_POOL, cfgRsp, sizeof(MacUeCfgRsp));
- DU_FREE_SHRABL_BUF(DU_APP_MEM_REGION, DU_POOL, cfgRsp, sizeof(RlcUeCfgRsp));
+ DU_FREE_SHRABL_BUF(DU_APP_MEM_REGION, DU_POOL, cfgRsp, sizeof(RlcUeCreateRsp));
return RFAILED;
}
}
else
{
DU_LOG("\nERROR --> DU APP : Failure in updating DU UE CB");
- DU_FREE_SHRABL_BUF(DU_APP_MEM_REGION, DU_POOL, cfgRsp, sizeof(RlcUeCfgRsp));
+ DU_FREE_SHRABL_BUF(DU_APP_MEM_REGION, DU_POOL, cfgRsp, sizeof(RlcUeCreateRsp));
return RFAILED;
}
}
}
- else if(pst->event == EVENT_RLC_UE_RECONFIG_RSP)
+ }
+ else
+ {
+ DU_LOG("\nERROR --> DU_APP: RLC UE CREATE Response for EVENT[%d] : FAILED [UE IDX : %d, REASON :%d]",\
+ pst->event, cfgRsp->ueId, cfgRsp->reason);
+ ret = RFAILED;
+ }
+ DU_FREE_SHRABL_BUF(DU_APP_MEM_REGION, DU_POOL, cfgRsp, sizeof(RlcUeCreateRsp));
+ }
+ else
+ {
+ DU_LOG("\nERROR --> DU_APP: Received RLC Ue Create Response is NULL at DuProcRlcUeCreateRsp()");
+ ret = RFAILED;
+ }
+ return ret;
+}
+
+/*******************************************************************
+ *
+ * @brief Processes UE reconfig Rsp received from RLC UL
+ *
+ * @details
+ *
+
+ * Function : DuProcRlcUeReconfigRsp
+ *
+ * Functionality:
+ * Processes UE reconfig Rsp received from RLC UL
+ *
+ * @params[in] Post structure
+ * Pointer to RlcCfgCfm
+ * @return ROK - success
+ * RFAILED - failure
+ *
+ *****************************************************************/
+uint8_t DuProcRlcUeReconfigRsp(Pst *pst, RlcUeReconfigRsp *cfgRsp)
+{
+ uint8_t ret = ROK;
+
+ if(cfgRsp)
+ {
+ if(cfgRsp->result == RLC_DU_APP_RSP_OK)
+ {
+ if(pst->event == EVENT_RLC_UE_RECONFIG_RSP)
{
DU_LOG("\nINFO --> DU_APP: RLC UE Reconfig Response : SUCCESS [UE IDX:%d]", cfgRsp->ueId);
if((BuildAndSendUeCtxtRsp(cfgRsp->cellId, cfgRsp->ueId)) != ROK)
{
DU_LOG("\nERROR --> DU APP : Failure in BuildAndSendUeCtxtRsp");
- DU_FREE_SHRABL_BUF(DU_APP_MEM_REGION, DU_POOL, cfgRsp, sizeof(RlcUeCfgRsp));
+ DU_FREE_SHRABL_BUF(DU_APP_MEM_REGION, DU_POOL, cfgRsp, sizeof(RlcUeReconfigRsp));
return RFAILED;
}
}
else
{
DU_LOG("\nERROR --> DU APP : Failure in updating DU UE CB");
- DU_FREE_SHRABL_BUF(DU_APP_MEM_REGION, DU_POOL, cfgRsp, sizeof(RlcUeCfgRsp));
+ DU_FREE_SHRABL_BUF(DU_APP_MEM_REGION, DU_POOL, cfgRsp, sizeof(RlcUeReconfigRsp));
return RFAILED;
}
}
}
else
{
- DU_LOG("\nERROR --> DU_APP: RLC UE CFG Response for EVENT[%d] : FAILED [UE IDX : %d, REASON :%d]",\
+ DU_LOG("\nERROR --> DU_APP: RLC UE RE-CFG Response for EVENT[%d] : FAILED [UE IDX : %d, REASON :%d]",\
pst->event, cfgRsp->ueId, cfgRsp->reason);
if((pst->event == EVENT_RLC_UE_RECONFIG_RSP))
{
}
ret = RFAILED;
}
- DU_FREE_SHRABL_BUF(DU_APP_MEM_REGION, DU_POOL, cfgRsp, sizeof(RlcUeCfgRsp));
+ DU_FREE_SHRABL_BUF(DU_APP_MEM_REGION, DU_POOL, cfgRsp, sizeof(RlcUeReconfigRsp));
}
else
{
- DU_LOG("\nERROR --> DU_APP: Received RLC Ue Config Response is NULL at DuProcRlcUeCfgRsp()");
+ DU_LOG("\nERROR --> DU_APP: Received RLC Ue ReConfig Response is NULL at DuProcRlcUeReconfigRsp()");
ret = RFAILED;
}
return ret;
}
-
/**********************************************************************************
*
* @brief Fills Ue ReCfg from DU DB to RlcUeRecfg
*
* @params[in] cellId, crnti
* DuUeCfg *ueCfgDb
- * RlcUeCfg *rlcUeCfg
+ * RlcUeCreate *rlcUeCfg
* @return ROK - success
* RFAILED - failure
*
/*******************************************************************
*
- * @brief delete RlcUeCfg from duCb
+ * @brief delete RlcUeCreate from duCb
*
* @details
*
* Function : deleteRlcUeCfg
*
* Functionality:
- * delete RlcUeCfg from duCb
+ * delete RlcUeCreate from duCb
*
- * @params[in] RlcUeCfg *ueCfg
+ * @params[in] RlcUeCreate *ueCfg
*
* @return ROK - success
* RFAILED - failure
}
DU_FREE_SHRABL_BUF(DU_APP_MEM_REGION, DU_POOL, lcCfg->snssai, sizeof(Snssai));
}
- memset(ueCfg, 0, sizeof(RlcUeCfg));
+ memset(ueCfg, 0, sizeof(DuRlcUeCfg));
}
}