#include "du_mgr.h"
#include "du_sctp.h"
#include "du_f1ap_msg_hdl.h"
+#include "du_ue_mgr.h"
#include "lsctp.h"
#include "legtp.h"
#include "lphy_stub.h"
extern S16 cmPkLrgCfgReq(Pst *pst, RgMngmt *cfg);
extern S16 BuildAndSendE2SetupReq();
extern S16 egtpHdlDatInd(EgtpMsg egtpMsg);
-extern S16 BuildAndSendDUConfigUpdate();
+extern uint8_t BuildAndSendDUConfigUpdate();
extern U16 getTransId();
extern S16 cmPkLrgSchCfgReq(Pst * pst,RgMngmt * cfg);
DU_LOG("\nDU APP : Building and Sending cell start request to MAC");
/* Send Cell Start Request to MAC */
- DU_ALLOC(cellStartInfo, sizeof(MacCellStartInfo));
+ DU_ALLOC_SHRABL_BUF(cellStartInfo, sizeof(MacCellStartInfo));
if(!cellStartInfo)
{
DU_LOG("\nDU APP : Memory alloc failed while building cell start request");
* RFAILED - failure
*
* ****************************************************************/
-S16 duBuildAndSendMacCellStopReq()
+uint16_t duBuildAndSendMacCellStopReq()
{
Pst pst;
MacCellStopInfo *cellStopInfo = NULL;
DU_LOG("\nDU APP : Building and Sending cell stop request to MAC");
/* Send Cell Stop Request to MAC */
- DU_ALLOC(cellStopInfo, sizeof(MacCellStopInfo));
+ DU_ALLOC_SHRABL_BUF(cellStopInfo, sizeof(MacCellStopInfo));
if(!cellStopInfo)
{
DU_LOG("\nDU APP : Memory alloc failed while building cell stop request");
return (*packMacCellStopReqOpts[pst.selector])(&pst, cellStopInfo);
}
+/*******************************************************************
+ *
+ * @brief Handles stop indication from MAC
+ *
+ * @details
+ *
+ * Function : duHandleStopInd
+ *
+ * Functionality:
+ * Handles stop indication from MAC
+ *
+ * @params[in] Post structure pointer
+ * @return ROK - success
+ * RFAILED - failure
+ *
+ * ****************************************************************/
+uint16_t duHandleStopInd(Pst *pst, MacCellStopInfo *cellStopId)
+{
+ if(cellStopId->cellId <=0 || cellStopId->cellId > DU_MAX_CELLS)
+ {
+ DU_LOG("\nDU APP : Invalid Cell Id %d", cellStopId->cellId);
+ }
+ if(duCb.actvCellLst[cellStopId->cellId-1] != NULL)
+ {
+ if(duCb.actvCellLst[cellStopId->cellId-1]->firstSlotIndRcvd)
+ {
+ duCb.actvCellLst[cellStopId->cellId-1]->firstSlotIndRcvd = false;
+ if((duCb.actvCellLst[cellStopId->cellId-1]->cellStatus == \
+ ACTIVATED))
+ {
+ DU_LOG("\nDU APP : 5G-NR Cell %d is DOWN", cellStopId->cellId);
+ duCb.actvCellLst[cellStopId->cellId-1]->cellStatus = DELETION_IN_PROGRESS;
+ }
+ }
+ }
+ if((pst->selector == DU_SELECTOR_LWLC) || (pst->selector == DU_SELECTOR_TC))
+ DU_FREE_SHRABL_BUF(MAC_MEM_REGION, pst->pool, cellStopId, sizeof(MacCellStopInfo));
+
+ return ROK;
+}
+
+/*******************************************************************
+ *
+ * @brief Handles slot indication from MAC
+ *
+ * @details
+ *
+ * Function : duHandleUlCcchInd
+ *
+ * Functionality:
+ * Handles UL CCCH indication from MAC
+ *
+ * @params[in] Post structure pointer
+ * UL CCCH Ind pointer
+ * @return ROK - success
+ * RFAILED - failure
+ *
+ * ****************************************************************/
+uint16_t duHandleUlCcchInd(Pst *pst, UlCcchIndInfo *ulCcchIndInfo)
+{
+
+ DU_LOG("\nDU APP : UL CCCH Indication received");
+
+ return (duProcUlCcchInd(ulCcchIndInfo));
+}
+
/**********************************************************************
End of file