X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=src%2Fcm%2Fdu_app_mac_inf.c;h=9479dc31ab553237812af54e29d0980dccb0026f;hb=53d1aa768db96eca4c320f5e46da800c08c82006;hp=e1ef58f523de716adba4cf359ba7cbbd7f872d8a;hpb=79b8d410dc34e5624583b9ad935e65350dd3f62a;p=o-du%2Fl2.git diff --git a/src/cm/du_app_mac_inf.c b/src/cm/du_app_mac_inf.c index e1ef58f52..9479dc31a 100644 --- a/src/cm/du_app_mac_inf.c +++ b/src/cm/du_app_mac_inf.c @@ -55,7 +55,7 @@ uint8_t packMacCellCfg(Pst *pst, MacCellCfg *macCellCfg) /* pack the address of the structure */ CMCHKPK(oduPackPointer,(PTR)macCellCfg, mBuf); - DU_LOG("\nDU-APP : MAC CELL config sent"); + DU_LOG("\nDEBUG --> DU-APP : MAC CELL config sent"); return ODU_POST_TASK(pst,mBuf); } return ROK; @@ -206,7 +206,7 @@ uint8_t packMacCellStart(Pst *pst, OduCellId *cellId) if (ODU_GET_MSG_BUF(pst->region, pst->pool, &mBuf) != ROK) { - DU_LOG("\nDU APP : Memory allocation failed for cell start req pack"); + DU_LOG("\nERROR --> DU APP : Memory allocation failed for cell start req pack"); return RFAILED; } @@ -284,7 +284,7 @@ uint8_t packMacCellStop(Pst *pst, OduCellId *cellId) if (ODU_GET_MSG_BUF(pst->region, pst->pool, &mBuf) != ROK) { - DU_LOG("\nDU APP : Memory allocation failed for cell stop req pack"); + DU_LOG("\nERROR --> DU APP : Memory allocation failed for cell stop req pack"); return RFAILED; } @@ -356,7 +356,7 @@ uint8_t packMacCellUpInd(Pst *pst, OduCellId *cellId) if (ODU_GET_MSG_BUF(pst->region, pst->pool, &mBuf) != ROK) { - DU_LOG("\nDU APP : Memory allocation failed for packMacCellUpInd"); + DU_LOG("\nERROR --> DU APP : Memory allocation failed for packMacCellUpInd"); return RFAILED; } @@ -446,14 +446,13 @@ uint8_t packMacStopInd(Pst *pst, OduCellId *cellId) if (ODU_GET_MSG_BUF(pst->region, pst->pool, &mBuf) != ROK) { - DU_LOG("\nDU APP : Memory allocation failed for stop Ind pack"); + DU_LOG("\nERROR --> DU APP : Memory allocation failed for stop Ind pack"); return RFAILED; } if(pst->selector == ODU_SELECTOR_LC) { /*pack the payload here*/ - DU_LOG("\nDU APP : Packed CellId"); CMCHKPK(oduUnpackUInt16, cellId->cellId, mBuf); CM_FREE_SHRABL_BUF(pst->region, pst->pool, cellId, sizeof(OduCellId)); cellId = NULL; @@ -493,7 +492,7 @@ uint8_t unpackMacStopInd(DuMacStopInd func, Pst *pst, Buffer *mBuf) { if(pst->selector == ODU_SELECTOR_LWLC) { - OduCellId *cellId; + OduCellId *cellId=NULLP; /* unpack the address of the structure */ CMCHKUNPK(oduUnpackPointer, (PTR *)&cellId, mBuf); ODU_PUT_MSG_BUF(mBuf); @@ -542,7 +541,7 @@ uint8_t packMacUlCcchInd(Pst *pst, UlCcchIndInfo *ulCcchIndInfo) { if (ODU_GET_MSG_BUF(pst->region, pst->pool, &mBuf) != ROK) { - DU_LOG("\nMAC : Memory allocation failed at packMacUlCcchInd"); + DU_LOG("\nERROR --> MAC : Memory allocation failed at packMacUlCcchInd"); return RFAILED; } /* pack the address of the structure */ @@ -550,7 +549,7 @@ uint8_t packMacUlCcchInd(Pst *pst, UlCcchIndInfo *ulCcchIndInfo) } else { - DU_LOG("\nMAC: Only LWLC supported for UL CCCH Ind "); + DU_LOG("\nERROR --> MAC: Only LWLC supported for UL CCCH Ind "); return RFAILED; } @@ -589,7 +588,7 @@ uint8_t unpackMacUlCcchInd(DuMacUlCcchInd func, Pst *pst, Buffer *mBuf) else { /* Nothing to do for other selectors */ - DU_LOG("\n Only LWLC supported for UL CCCH Ind "); + DU_LOG("\nERROR --> MAC : Only LWLC supported for UL CCCH Ind "); ODU_PUT_MSG_BUF(mBuf); } return RFAILED; @@ -621,7 +620,7 @@ uint8_t packMacDlCcchInd(Pst *pst, DlCcchIndInfo *dlCcchIndInfo) { if (ODU_GET_MSG_BUF(pst->region, pst->pool, &mBuf) != ROK) { - DU_LOG("\nMAC : Memory allocation failed at packMacDlCcchInd"); + DU_LOG("\nERROR --> MAC : Memory allocation failed at packMacDlCcchInd"); return RFAILED; } /* pack the address of the structure */ @@ -629,7 +628,7 @@ uint8_t packMacDlCcchInd(Pst *pst, DlCcchIndInfo *dlCcchIndInfo) } else { - DU_LOG("\nDU APP: Only LWLC supported for DL CCCH Ind "); + DU_LOG("\nERROR --> DU APP : Only LWLC supported for DL CCCH Ind "); return RFAILED; } @@ -668,7 +667,7 @@ uint8_t unpackMacDlCcchInd(DuMacDlCcchInd func, Pst *pst, Buffer *mBuf) else { /* Nothing to do for other selectors */ - DU_LOG("\n Only LWLC supported for DL CCCH Ind "); + DU_LOG("\nERROR --> DU APP : Only LWLC supported for DL CCCH Ind "); ODU_PUT_MSG_BUF(mBuf); } @@ -701,7 +700,7 @@ uint8_t packDuMacUeCreateReq(Pst *pst, MacUeCfg *ueCfg) { if (ODU_GET_MSG_BUF(pst->region, pst->pool, &mBuf) != ROK) { - DU_LOG("\nMAC : Memory allocation failed at packDuMacUeCreateReq"); + DU_LOG("\nERROR --> MAC : Memory allocation failed at packDuMacUeCreateReq"); return RFAILED; } /* pack the address of the structure */ @@ -709,7 +708,7 @@ uint8_t packDuMacUeCreateReq(Pst *pst, MacUeCfg *ueCfg) } else { - DU_LOG("\nMAC: Only LWLC supported for packDuMacUeCreateReq"); + DU_LOG("\nERROR --> MAC: Only LWLC supported for packDuMacUeCreateReq"); return RFAILED; } @@ -748,7 +747,7 @@ uint8_t unpackMacUeCreateReq(DuMacUeCreateReq func, Pst *pst, Buffer *mBuf) else { /* Nothing to do for other selectors */ - DU_LOG("\n Only LWLC supported for UE Create Request "); + DU_LOG("\nERROR --> DU APP : Only LWLC supported for UE Create Request "); ODU_PUT_MSG_BUF(mBuf); } @@ -779,7 +778,7 @@ uint8_t packDuMacUeCfgRsp(Pst *pst, MacUeCfgRsp *cfgRsp) { if (ODU_GET_MSG_BUF(pst->region, pst->pool, &mBuf) != ROK) { - DU_LOG("\nMAC : Memory allocation failed at packDuMacUeCfgRsp"); + DU_LOG("\nERROR --> MAC : Memory allocation failed at packDuMacUeCfgRsp"); return RFAILED; } /* pack the address of the structure */ @@ -787,20 +786,19 @@ uint8_t packDuMacUeCfgRsp(Pst *pst, MacUeCfgRsp *cfgRsp) } else { - DU_LOG("\nMAC: Only LWLC supported for packDuMacUeCfgRsp"); + DU_LOG("\nERROR --> MAC: Only LWLC supported for packDuMacUeCfgRsp"); return RFAILED; } return ODU_POST_TASK(pst,mBuf); } - /******************************************************************* * * @brief Unpack UE Config Response from MAC to DU APP * * @details * - * Function : unpackDuMacUeCfgRsp + * Function :unpackDuMacUeCfgRsp * * Functionality: Unpack UE Config Response from MAC to DU APP * @@ -851,7 +849,7 @@ uint8_t packDuMacUeReconfigReq(Pst *pst, MacUeCfg *ueCfg) { if (ODU_GET_MSG_BUF(pst->region, pst->pool, &mBuf) != ROK) { - DU_LOG("\nMAC : Memory allocation failed at packDuMacUeReconfigReq"); + DU_LOG("\nERROR --> MAC : Memory allocation failed at packDuMacUeReconfigReq"); return RFAILED; } /* pack the address of the structure */ @@ -859,7 +857,7 @@ uint8_t packDuMacUeReconfigReq(Pst *pst, MacUeCfg *ueCfg) } else { - DU_LOG("\nMAC: Only LWLC supported for packDuMacUeReconfigReq"); + DU_LOG("\nERROR --> MAC: Only LWLC supported for packDuMacUeReconfigReq"); return RFAILED; } @@ -897,12 +895,314 @@ uint8_t unpackMacUeReconfigReq(DuMacUeReconfigReq func, Pst *pst, Buffer *mBuf) else { /* Nothing to do for other selectors */ - DU_LOG("\n Only LWLC supported for UE Create Request "); + DU_LOG("\nERROR --> DU APP : Only LWLC supported for UE Create Request "); ODU_PUT_MSG_BUF(mBuf); } return RFAILED; } +/******************************************************************* +* +* @brief Packs and Sends UE Delete Request from DUAPP to MAC +* +* @details +* +* Function : packDuMacUeDeleteReq +* +* Functionality: +* Packs and Sends UE Delete Request from DUAPP to MAC +* +* +* @params[in] Post structure pointer +* MacUeDelete pointer +* @return ROK - success +* RFAILED - failure +* +* ****************************************************************/ +uint8_t packDuMacUeDeleteReq(Pst *pst, MacUeDelete *ueDel) +{ + Buffer *mBuf = NULLP; + + if(pst->selector == ODU_SELECTOR_LWLC) + { + if (ODU_GET_MSG_BUF(pst->region, pst->pool, &mBuf) != ROK) + { + DU_LOG("\nERROR --> MAC : Memory allocation failed at packDuMacUeDeleteReq"); + return RFAILED; + } + /* pack the address of the structure */ + CMCHKPK(oduPackPointer,(PTR)ueDel, mBuf); + } + else + { + DU_LOG("\nERROR --> MAC: Only LWLC supported for packDuMacUeDeleteReq"); + return RFAILED; + } + + return ODU_POST_TASK(pst,mBuf); +} +/******************************************************************* +* +* @brief Unpacks UE Delete Request received from DU APP +* +* @details +* +* Function : unpackMacUeDeleteReq +* +* Functionality: +* Unpacks UE Delete Request received from DU APP +* +* @params[in] Pointer to Handler +* Post structure pointer +* Message Buffer +* @return ROK - success +* RFAILED - failure +* +* ****************************************************************/ +uint8_t unpackMacUeDeleteReq(DuMacUeDeleteReq func, Pst *pst, Buffer *mBuf) +{ + if(pst->selector == ODU_SELECTOR_LWLC) + { + MacUeDelete *ueDelete; + + /* unpack the address of the structure */ + CMCHKUNPK(oduUnpackPointer, (PTR *)&ueDelete, mBuf); + ODU_PUT_MSG_BUF(mBuf); + return (*func)(pst, ueDelete); + } + else + { + /* Nothing to do for other selectors */ + DU_LOG("\nERROR --> DU APP : Only LWLC supported for UE Delete Request "); + ODU_PUT_MSG_BUF(mBuf); + } + + return RFAILED; +} +/******************************************************************* + * + * @brief Pack and send UE delete response from MAC to DU APP + * + * @details + * + * Function : packDuMacUeDeleteRsp + * + * Functionality: + * Pack and send UE delete response from MAC to DU APP + * + * @params[in] + * @return ROK - success + * RFAILED - failure + * + * ****************************************************************/ +uint8_t packDuMacUeDeleteRsp(Pst *pst, MacUeDeleteRsp *deleteRsp) +{ + Buffer *mBuf = NULLP; + + if(pst->selector == ODU_SELECTOR_LWLC) + { + if (ODU_GET_MSG_BUF(pst->region, pst->pool, &mBuf) != ROK) + { + DU_LOG("\nERROR --> MAC : Memory allocation failed at packDuMacUeDeleteRsp"); + return RFAILED; + } + /* pack the address of the structure */ + CMCHKPK(oduPackPointer,(PTR)deleteRsp, mBuf); + } + else + { + DU_LOG("\nERROR --> MAC: Only LWLC supported for packDuMacUeDeleteRsp"); + return RFAILED; + } + + return ODU_POST_TASK(pst,mBuf); + +} + +/******************************************************************* +* +* @brief Unpack UE Config Response from MAC to DU APP +* +* @details +* +* Function :unpackDuMacUeDeleteRsp +* +* Functionality: Unpack UE Config Response from MAC to DU APP +* +* @params[in] +* @return ROK - success +* RFAILED - failure +* +* ****************************************************************/ +uint8_t unpackDuMacUeDeleteRsp(MacDuUeDeleteRspFunc func, Pst *pst, Buffer *mBuf) +{ + if(pst->selector == ODU_SELECTOR_LWLC) + { + MacUeDeleteRsp *ueDeleteRsp = NULLP; + + /* unpack the address of the structure */ + CMCHKUNPK(oduUnpackPointer, (PTR *)&ueDeleteRsp, mBuf); + ODU_PUT_MSG_BUF(mBuf); + return (*func)(pst, ueDeleteRsp); + } + + ODU_PUT_MSG_BUF(mBuf); + return RFAILED; +} + +/******************************************************************* + * + * @brief Unpacks Cell Delete Request received from DU APP + * + * @details + * + * Function : unpackMacCellDeleteReq + * + * Functionality: + * Unpacks Cell Delete Request received from DU APP + * + * @params[in] Pointer to Handler + * Post structure pointer + * Message Buffer + * @return ROK - success + * RFAILED - failure + * + * ****************************************************************/ + +uint8_t unpackMacCellDeleteReq(DuMacCellDeleteReq func, Pst *pst, Buffer *mBuf) +{ + if(pst->selector == ODU_SELECTOR_LWLC) + { + MacCellDelete *cellDelete=NULLP; + + /* unpack the address of the structure */ + CMCHKUNPK(oduUnpackPointer, (PTR *)&cellDelete, mBuf); + ODU_PUT_MSG_BUF(mBuf); + return (*func)(pst, cellDelete); + } + else + { + /* Nothing to do for other + * selectors */ + DU_LOG("\nERROR --> DU APP : unpackMacCellDeleteReq(): Only LWLC supported for CELL Delete Request "); + ODU_PUT_MSG_BUF(mBuf); + } + + return RFAILED; +} + +/******************************************************************* + * + * @brief Pack and send Cell delete request to MAC + * + * @details + * + * Function : packDuMacCellDeleteReq + * + * Functionality: + * Pack and send Cell delete request to MAC + * + * @params[in] Post structure + * MacCellDelete *cellDelete; + * @return ROK - success + * RFAILED - failure + * + * ****************************************************************/ + +uint8_t packDuMacCellDeleteReq(Pst *pst, MacCellDelete *cellDelete) +{ + Buffer *mBuf = NULLP; + + if(pst->selector == ODU_SELECTOR_LWLC) + { + if (ODU_GET_MSG_BUF(pst->region, pst->pool, &mBuf) != ROK) + { + DU_LOG("\nERROR --> MAC : packDuMacCellDeleteReq(): Memory allocation failed "); + return RFAILED; + } + CMCHKPK(oduPackPointer,(PTR)cellDelete, mBuf); + return ODU_POST_TASK(pst,mBuf); + } + else + { + DU_LOG("\nERROR --> MAC: packDuMacCellDeleteReq(): Only LWLC supported "); + } + return RFAILED; +} + +/******************************************************************* + * + * @brief Pack and send CELL delete response from MAC to DU APP + * + * @details + * + * Function : packDuMacCellDeleteRsp + * + * Functionality: + * Pack and send CELL delete response from MAC to DU APP + * + * @params[in] Pst *pst, MacCellDeleteRsp *deleteRsp + * @return ROK - success + * RFAILED - failure + * + * ****************************************************************/ + +uint8_t packDuMacCellDeleteRsp(Pst *pst, MacCellDeleteRsp *cellDeleteRsp) +{ + Buffer *mBuf = NULLP; + + if(pst->selector == ODU_SELECTOR_LWLC) + { + if (ODU_GET_MSG_BUF(pst->region, pst->pool, &mBuf) != ROK) + { + DU_LOG("\nERROR --> MAC : packDuMacCellDeleteRsp(): Memory allocation failed "); + return RFAILED; + } + CMCHKPK(oduPackPointer,(PTR)cellDeleteRsp, mBuf); + } + else + { + DU_LOG("\nERROR --> MAC: packDuMacCellDeleteRsp(): Only LWLC supported "); + return RFAILED; + } + + return ODU_POST_TASK(pst,mBuf); + +} + +/******************************************************************* + * + * @brief Unpack cell delete response from MAC to DU APP + * + * @details + * + * Function : unpackDuMacCellDeleteRsp + * + * Functionality: Unpack cell delete response from MAC to DU APP + * + * @params[in] MacDuCellDeleteRspFunc func, Pst *pst, Buffer *mBuf + * @return ROK - success + * RFAILED - failure + * + * ****************************************************************/ + +uint8_t unpackDuMacCellDeleteRsp(MacDuCellDeleteRspFunc func, Pst *pst, Buffer *mBuf) +{ + if(pst->selector == ODU_SELECTOR_LWLC) + { + MacCellDeleteRsp *cellDeleteRsp = NULLP; + + CMCHKUNPK(oduUnpackPointer, (PTR *)&cellDeleteRsp, mBuf); + ODU_PUT_MSG_BUF(mBuf); + return (*func)(pst, cellDeleteRsp); + } + else + { + DU_LOG("\nERROR --> DU APP : unpackDuMacCellDeleteRsp(): Only LWLC supported "); + ODU_PUT_MSG_BUF(mBuf); + } + return RFAILED; +} /********************************************************************** End of file