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=154ac5a3676b120c741184f7e58627df8003b5c0;hp=75ff5c1e168e632c544e184de9d050efa5a9cfdc;hpb=aee73991f728cc127d1ed76d5a52571d916235a4;p=o-du%2Fl2.git diff --git a/src/cm/du_app_mac_inf.c b/src/cm/du_app_mac_inf.c index 75ff5c1e1..9479dc31a 100644 --- a/src/cm/du_app_mac_inf.c +++ b/src/cm/du_app_mac_inf.c @@ -47,7 +47,7 @@ uint8_t packMacCellCfg(Pst *pst, MacCellCfg *macCellCfg) { Buffer *mBuf = NULLP; - if (ODU_GET_MSG(pst->region, pst->pool, &mBuf) != ROK) + if (ODU_GET_MSG_BUF(pst->region, pst->pool, &mBuf) != ROK) { return RFAILED; } @@ -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; @@ -121,7 +121,7 @@ uint8_t packMacCellCfgCfm(Pst *pst, MacCellCfgCfm *macCellCfgCfm) if(pst->selector == ODU_SELECTOR_LC) { Buffer *mBuf = NULLP; - if (ODU_GET_MSG(pst->region, pst->pool, &mBuf) != ROK) + if (ODU_GET_MSG_BUF(pst->region, pst->pool, &mBuf) != ROK) { return RFAILED; } @@ -181,18 +181,18 @@ uint8_t unpackMacCellCfgCfm(DuMacCellCfgCfm func, Pst *pst, Buffer *mBuf) * * @details * - * Function : packMacCellStartReq + * Function : packMacCellStart * * Functionality: * Packs and Sends Cell Start Request to MAC * * @params[in] Post structure pointer - * MacCellStartInfo pointer + * Cell Id * @return ROK - success * RFAILED - failure * * ****************************************************************/ -uint8_t packMacCellStartReq(Pst *pst, MacCellStartInfo *cellStartInfo) +uint8_t packMacCellStart(Pst *pst, OduCellId *cellId) { Buffer *mBuf = NULLP; @@ -204,14 +204,14 @@ uint8_t packMacCellStartReq(Pst *pst, MacCellStartInfo *cellStartInfo) else if(pst->selector == ODU_SELECTOR_LWLC) { - if (ODU_GET_MSG(pst->region, pst->pool, &mBuf) != ROK) + 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; } /* pack the address of the structure */ - CMCHKPK(oduPackPointer,(PTR)cellStartInfo, mBuf); + CMCHKPK(oduPackPointer,(PTR)cellId, mBuf); } return ODU_POST_TASK(pst,mBuf); @@ -223,33 +223,33 @@ uint8_t packMacCellStartReq(Pst *pst, MacCellStartInfo *cellStartInfo) * * @details * - * Function : unpackMaCellStartReq + * Function : unpackMaCellStart * * Functionality: * Unpacks MAC Cell Start Request from DU APP * * @params[in] Function pointer of cell start request handler * Post structure pointer - * Cell Start Request Info Pointer + * Message Buffer * @return ROK - success * RFAILED - failure * * ****************************************************************/ -uint8_t unpackMacCellStartReq(DuMacCellStartReq func, Pst *pst, Buffer *mBuf) +uint8_t unpackMacCellStart(DuMacCellStart func, Pst *pst, Buffer *mBuf) { - MacCellStartInfo *cellStartInfo; + OduCellId *cellId; if(pst->selector == ODU_SELECTOR_LWLC) { /* unpack the address of the structure */ - CMCHKUNPK(oduUnpackPointer, (PTR *)&cellStartInfo, mBuf); - ODU_PUT_MSG(mBuf); - return (*func)(pst, cellStartInfo); + CMCHKUNPK(oduUnpackPointer, (PTR *)&cellId, mBuf); + ODU_PUT_MSG_BUF(mBuf); + return (*func)(pst, cellId); } else { /* Nothing to do for loose coupling */ - ODU_PUT_MSG(mBuf); + ODU_PUT_MSG_BUF(mBuf); return ROK; } } @@ -260,18 +260,18 @@ uint8_t unpackMacCellStartReq(DuMacCellStartReq func, Pst *pst, Buffer *mBuf) * * @details * - * Function : packMacCellStopReq + * Function : packMacCellStop * * Functionality: * Packs and Send cell stop request to MAC * * @params[in] Post structure pointer - * Cell stop info structure + * Cell Id * @return ROK - success * RFAILED - failure * * ****************************************************************/ -uint8_t packMacCellStopReq(Pst *pst, MacCellStopInfo *cellStopInfo) +uint8_t packMacCellStop(Pst *pst, OduCellId *cellId) { if(pst->selector == ODU_SELECTOR_LC) { @@ -282,14 +282,14 @@ uint8_t packMacCellStopReq(Pst *pst, MacCellStopInfo *cellStopInfo) { Buffer *mBuf = NULLP; - if (ODU_GET_MSG(pst->region, pst->pool, &mBuf) != ROK) + 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; } /* pack the address of the structure */ - CMCHKPK(oduPackPointer,(PTR)cellStopInfo, mBuf); + CMCHKPK(oduPackPointer,(PTR)cellId, mBuf); return ODU_POST_TASK(pst,mBuf); } @@ -302,7 +302,7 @@ uint8_t packMacCellStopReq(Pst *pst, MacCellStopInfo *cellStopInfo) * * @details * - * Function : unpackMaCellStopReq + * Function : unpackMaCellStop * * Functionality: * Unpacks cell stop request from DU APP @@ -314,84 +314,81 @@ uint8_t packMacCellStopReq(Pst *pst, MacCellStopInfo *cellStopInfo) * RFAILED - failure * * ****************************************************************/ -uint8_t unpackMacCellStopReq(DuMacCellStopReq func, Pst *pst, Buffer *mBuf) +uint8_t unpackMacCellStop(DuMacCellStop func, Pst *pst, Buffer *mBuf) { - MacCellStopInfo *cellStopInfo; - + OduCellId *cellId; + if(pst->selector == ODU_SELECTOR_LWLC) { /* unpack the address of the structure */ - CMCHKUNPK(oduUnpackPointer, (PTR *)&cellStopInfo, mBuf); - ODU_PUT_MSG(mBuf); - return (*func)(pst, cellStopInfo); + CMCHKUNPK(oduUnpackPointer, (PTR *)&cellId, mBuf); + ODU_PUT_MSG_BUF(mBuf); + return (*func)(pst, cellId); } else { /* Nothing to do for loose coupling */ - ODU_PUT_MSG(mBuf); + ODU_PUT_MSG_BUF(mBuf); return ROK; } } /******************************************************************* * - * @brief Packs and Sends slot ind from MAC to DUAPP + * @brief Packs and Sends cell up ind from MAC to DUAPP * * @details * - * Function : packMacSlotInd + * Function : packMacCellUpInd * * Functionality: - * Packs and Sends slot ind from MAC to DUAPP + * Packs and Sends cell up ind from MAC to DUAPP * * @params[in] Post structure pointer - * Slot Info pointer + * Cell Id * @return ROK - success * RFAILED - failure * * ****************************************************************/ -uint8_t packMacSlotInd(Pst *pst, SlotIndInfo *slotInfo ) +uint8_t packMacCellUpInd(Pst *pst, OduCellId *cellId) { Buffer *mBuf = NULLP; - if (ODU_GET_MSG(pst->region, pst->pool, &mBuf) != ROK) + 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 packMacCellUpInd"); return RFAILED; } if(pst->selector == ODU_SELECTOR_LC) { - CMCHKPK(oduUnpackUInt16, slotInfo->cellId, mBuf); - CMCHKPK(oduUnpackUInt16, slotInfo->sfn, mBuf); - CMCHKPK(oduUnpackUInt16, slotInfo->slot, mBuf); - - CM_FREE_SHRABL_BUF(pst->region, pst->pool, slotInfo, sizeof(SlotIndInfo)); - slotInfo = NULL; + CMCHKPK(oduUnpackUInt16, cellId->cellId, mBuf); + CM_FREE_SHRABL_BUF(pst->region, pst->pool, cellId, sizeof(OduCellId)); + cellId = NULL; } else if(pst->selector == ODU_SELECTOR_LWLC) { /* pack the address of the structure */ - CMCHKPK(oduPackPointer,(PTR)slotInfo, mBuf); + CMCHKPK(oduPackPointer,(PTR)cellId, mBuf); } else { - ODU_PUT_MSG(mBuf); + ODU_PUT_MSG_BUF(mBuf); } - return ODU_POST_TASK(pst,mBuf); + return ODU_POST_TASK(pst, mBuf); } /******************************************************************* * - * @brief Unpacks slot indication from MAC + * @brief Unpacks cell up indication from MAC * * @details * - * Function : unpackMacSlotInd + * Function : unpackMacCellUpInd * * Functionality: - * Unpacks slot indication from MAC + * Unpacks cell up indication from MAC * * @params[in] Pointer to Handler * Post structure pointer @@ -400,33 +397,28 @@ uint8_t packMacSlotInd(Pst *pst, SlotIndInfo *slotInfo ) * RFAILED - failure * * ****************************************************************/ -uint8_t unpackMacSlotInd(DuMacSlotInd func, Pst *pst, Buffer *mBuf) +uint8_t unpackMacCellUpInd(DuMacCellUpInd func, Pst *pst, Buffer *mBuf) { if(pst->selector == ODU_SELECTOR_LWLC) { - SlotIndInfo *slotInfo; + OduCellId *cellId; /* unpack the address of the structure */ - CMCHKUNPK(oduUnpackPointer, (PTR *)&slotInfo, mBuf); - ODU_PUT_MSG(mBuf); - return (*func)(pst, slotInfo); + CMCHKUNPK(oduUnpackPointer, (PTR *)&cellId, mBuf); + ODU_PUT_MSG_BUF(mBuf); + return (*func)(pst, cellId); } else if(pst->selector == ODU_SELECTOR_LC) { - SlotIndInfo slotInfo; - - CMCHKUNPK(oduPackUInt16, &(slotInfo.slot), mBuf); - CMCHKUNPK(oduPackUInt16, &(slotInfo.sfn), mBuf); - CMCHKUNPK(oduPackUInt16, &(slotInfo.cellId), mBuf); - - ODU_PUT_MSG(mBuf); - return (*func)(pst, &slotInfo); - + OduCellId cellId; + CMCHKUNPK(oduPackUInt16, &cellId.cellId, mBuf); + ODU_PUT_MSG_BUF(mBuf); + return (*func)(pst, &cellId); } else { /* Nothing to do for loose coupling */ - ODU_PUT_MSG(mBuf); + ODU_PUT_MSG_BUF(mBuf); return ROK; } return ROK; @@ -448,32 +440,31 @@ uint8_t unpackMacSlotInd(DuMacSlotInd func, Pst *pst, Buffer *mBuf) * RFAILED - failure * * ****************************************************************/ -uint8_t packMacStopInd(Pst *pst, MacCellStopInfo *cellStopId) +uint8_t packMacStopInd(Pst *pst, OduCellId *cellId) { Buffer *mBuf = NULLP; - if (ODU_GET_MSG(pst->region, pst->pool, &mBuf) != ROK) + 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, cellStopId->cellId, mBuf); - CM_FREE_SHRABL_BUF(pst->region, pst->pool, cellStopId, sizeof(MacCellStopInfo)); - cellStopId = NULL; + CMCHKPK(oduUnpackUInt16, cellId->cellId, mBuf); + CM_FREE_SHRABL_BUF(pst->region, pst->pool, cellId, sizeof(OduCellId)); + cellId = NULL; } else if(pst->selector == ODU_SELECTOR_LWLC) { /* pack the address of the structure */ - CMCHKPK(oduPackPointer,(PTR)cellStopId, mBuf); + CMCHKPK(oduPackPointer,(PTR)cellId, mBuf); } else { - ODU_PUT_MSG(mBuf); + ODU_PUT_MSG_BUF(mBuf); } return ODU_POST_TASK(pst,mBuf); @@ -501,25 +492,25 @@ uint8_t unpackMacStopInd(DuMacStopInd func, Pst *pst, Buffer *mBuf) { if(pst->selector == ODU_SELECTOR_LWLC) { - MacCellStopInfo *cellStopId; + OduCellId *cellId=NULLP; /* unpack the address of the structure */ - CMCHKUNPK(oduUnpackPointer, (PTR *)&cellStopId, mBuf); - ODU_PUT_MSG(mBuf); - return (*func)(pst, cellStopId); + CMCHKUNPK(oduUnpackPointer, (PTR *)&cellId, mBuf); + ODU_PUT_MSG_BUF(mBuf); + return (*func)(pst, cellId); } else if(pst->selector == ODU_SELECTOR_LC) { - MacCellStopInfo cellStopId; - CMCHKUNPK(oduPackUInt16, &(cellStopId.cellId), mBuf); + OduCellId cellId; + CMCHKUNPK(oduPackUInt16, &(cellId.cellId), mBuf); - ODU_PUT_MSG(mBuf); - return (*func)(pst, &cellStopId); + ODU_PUT_MSG_BUF(mBuf); + return (*func)(pst, &cellId); } else { /* Nothing to do for loose coupling */ - ODU_PUT_MSG(mBuf); + ODU_PUT_MSG_BUF(mBuf); return ROK; } return ROK; @@ -548,9 +539,9 @@ uint8_t packMacUlCcchInd(Pst *pst, UlCcchIndInfo *ulCcchIndInfo) if(pst->selector == ODU_SELECTOR_LWLC) { - if (ODU_GET_MSG(pst->region, pst->pool, &mBuf) != ROK) + 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 */ @@ -558,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; } @@ -591,14 +582,14 @@ uint8_t unpackMacUlCcchInd(DuMacUlCcchInd func, Pst *pst, Buffer *mBuf) /* unpack the address of the structure */ CMCHKUNPK(oduUnpackPointer, (PTR *)&ulCcchIndInfo, mBuf); - ODU_PUT_MSG(mBuf); + ODU_PUT_MSG_BUF(mBuf); return (*func)(pst, ulCcchIndInfo); } else { /* Nothing to do for other selectors */ - DU_LOG("\n Only LWLC supported for UL CCCH Ind "); - ODU_PUT_MSG(mBuf); + DU_LOG("\nERROR --> MAC : Only LWLC supported for UL CCCH Ind "); + ODU_PUT_MSG_BUF(mBuf); } return RFAILED; } @@ -627,9 +618,9 @@ uint8_t packMacDlCcchInd(Pst *pst, DlCcchIndInfo *dlCcchIndInfo) if(pst->selector == ODU_SELECTOR_LWLC) { - if (ODU_GET_MSG(pst->region, pst->pool, &mBuf) != ROK) + 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 */ @@ -637,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; } @@ -670,14 +661,14 @@ uint8_t unpackMacDlCcchInd(DuMacDlCcchInd func, Pst *pst, Buffer *mBuf) /* unpack the address of the structure */ CMCHKUNPK(oduUnpackPointer, (PTR *)&dlCcchIndInfo, mBuf); - ODU_PUT_MSG(mBuf); + ODU_PUT_MSG_BUF(mBuf); return (*func)(pst, dlCcchIndInfo); } else { /* Nothing to do for other selectors */ - DU_LOG("\n Only LWLC supported for DL CCCH Ind "); - ODU_PUT_MSG(mBuf); + DU_LOG("\nERROR --> DU APP : Only LWLC supported for DL CCCH Ind "); + ODU_PUT_MSG_BUF(mBuf); } return RFAILED; @@ -707,9 +698,9 @@ uint8_t packDuMacUeCreateReq(Pst *pst, MacUeCfg *ueCfg) if(pst->selector == ODU_SELECTOR_LWLC) { - if (ODU_GET_MSG(pst->region, pst->pool, &mBuf) != ROK) + 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 */ @@ -717,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; } @@ -750,14 +741,14 @@ uint8_t unpackMacUeCreateReq(DuMacUeCreateReq func, Pst *pst, Buffer *mBuf) /* unpack the address of the structure */ CMCHKUNPK(oduUnpackPointer, (PTR *)&ueCfg, mBuf); - ODU_PUT_MSG(mBuf); + ODU_PUT_MSG_BUF(mBuf); return (*func)(pst, ueCfg); } else { /* Nothing to do for other selectors */ - DU_LOG("\n Only LWLC supported for UE Create Request "); - ODU_PUT_MSG(mBuf); + DU_LOG("\nERROR --> DU APP : Only LWLC supported for UE Create Request "); + ODU_PUT_MSG_BUF(mBuf); } return RFAILED; @@ -769,7 +760,7 @@ uint8_t unpackMacUeCreateReq(DuMacUeCreateReq func, Pst *pst, Buffer *mBuf) * * @details * - * Function : packDuMacUeCreateRsp + * Function : packDuMacUeCfgRsp * * Functionality: * Pack and send UE config response from MAC to DU APP @@ -779,15 +770,15 @@ uint8_t unpackMacUeCreateReq(DuMacUeCreateReq func, Pst *pst, Buffer *mBuf) * RFAILED - failure * * ****************************************************************/ -uint8_t packDuMacUeCreateRsp(Pst *pst, MacUeCfgRsp *cfgRsp) +uint8_t packDuMacUeCfgRsp(Pst *pst, MacUeCfgRsp *cfgRsp) { Buffer *mBuf = NULLP; if(pst->selector == ODU_SELECTOR_LWLC) { - if (ODU_GET_MSG(pst->region, pst->pool, &mBuf) != ROK) + 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 */ @@ -795,20 +786,19 @@ uint8_t packDuMacUeCreateRsp(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 : unpackDuMacUeCreateRsp + * Function :unpackDuMacUeCfgRsp * * Functionality: Unpack UE Config Response from MAC to DU APP * @@ -817,19 +807,400 @@ uint8_t packDuMacUeCreateRsp(Pst *pst, MacUeCfgRsp *cfgRsp) * RFAILED - failure * * ****************************************************************/ -uint8_t unpackDuMacUeCreateRsp(DuMacUeCreateRspFunc func, Pst *pst, Buffer *mBuf) +uint8_t unpackDuMacUeCfgRsp(MacDuUeCfgRspFunc func, Pst *pst, Buffer *mBuf) { if(pst->selector == ODU_SELECTOR_LWLC) { - MacUeCfgRsp *cfgRsp; + MacUeCfgRsp *cfgRsp = NULLP; /* unpack the address of the structure */ CMCHKUNPK(oduUnpackPointer, (PTR *)&cfgRsp, mBuf); - ODU_PUT_MSG(mBuf); + ODU_PUT_MSG_BUF(mBuf); return (*func)(pst, cfgRsp); } - ODU_PUT_MSG(mBuf); + ODU_PUT_MSG_BUF(mBuf); + return RFAILED; +} + +/******************************************************************* + * + * @brief Packs and Sends UE Reconig Request from DUAPP to MAC + * + * @details + * + * Function : packDuMacUeReconfigReq + * + * Functionality: + * Packs and Sends UE Reconfig Request from DUAPP to MAC + * + * + * @params[in] Post structure pointer + * MacUeCfg pointer + * @return ROK - success + * RFAILED - failure + * + * ****************************************************************/ +uint8_t packDuMacUeReconfigReq(Pst *pst, MacUeCfg *ueCfg) +{ + 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 packDuMacUeReconfigReq"); + return RFAILED; + } + /* pack the address of the structure */ + CMCHKPK(oduPackPointer,(PTR)ueCfg, mBuf); + } + else + { + DU_LOG("\nERROR --> MAC: Only LWLC supported for packDuMacUeReconfigReq"); + return RFAILED; + } + + return ODU_POST_TASK(pst,mBuf); +} +/******************************************************************* + * + * @brief Unpacks UE Reconfig Request received from DU APP + * + * @details + * + * Function : unpackMacUeReconfigReq + * + * Functionality: + * Unpacks UE Reconfig Request received from DU APP + * + * @params[in] Pointer to Handler + * Post structure pointer + * Message Buffer + * @return ROK - success + * RFAILED - failure + * + * ****************************************************************/ +uint8_t unpackMacUeReconfigReq(DuMacUeReconfigReq func, Pst *pst, Buffer *mBuf) +{ + if(pst->selector == ODU_SELECTOR_LWLC) + { + MacUeCfg *ueCfg; + + /* unpack the address of the structure */ + CMCHKUNPK(oduUnpackPointer, (PTR *)&ueCfg, mBuf); + ODU_PUT_MSG_BUF(mBuf); + return (*func)(pst, ueCfg); + } + else + { + /* Nothing to do for other selectors */ + 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; }