1 /*******************************************************************************
2 ################################################################################
3 # Copyright (c) [2017-2019] [Radisys] #
5 # Licensed under the Apache License, Version 2.0 (the "License"); #
6 # you may not use this file except in compliance with the License. #
7 # You may obtain a copy of the License at #
9 # http://www.apache.org/licenses/LICENSE-2.0 #
11 # Unless required by applicable law or agreed to in writing, software #
12 # distributed under the License is distributed on an "AS IS" BASIS, #
13 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. #
14 # See the License for the specific language governing permissions and #
15 # limitations under the License. #
16 ################################################################################
17 *******************************************************************************/
19 /* This file contains message handling functionality for DU cell management */
20 #include "common_def.h"
27 #include "du_app_mac_inf.h"
28 #include "du_app_rlc_inf.h"
31 #include "du_cell_mgr.h"
33 /*******************************************************************
35 * @brief Processes cells to be activated
39 * Function : duProcCellsToBeActivated
42 * - Processes cells to be activated list received in F1SetupRsp
45 * @return ROK - success
48 * ****************************************************************/
49 uint8_t duProcCellsToBeActivated(uint16_t nci, uint16_t nRPci)
52 DuCellCb *cellCb = NULLP;
54 cellCb = duCb.cfgCellLst[nci-1];
58 DU_LOG("\nDU APP : No Cell found for NCI %d", nci);
62 cellCb->cellStatus = ACTIVATION_IN_PROGRESS;
63 cellCb->cellInfo.nrPci = nRPci;
65 /* Now remove this cell from configured list and move to active list */
66 duCb.cfgCellLst[nci-1] = NULL;
67 duCb.actvCellLst[nci-1] = cellCb;
69 /* Build and send Mac Cell Cfg for the number of active cells */
70 ret = duBuildAndSendMacCellCfg();
73 DU_LOG("\nDU APP : MacCellCfg build and send failed at procCellsToBeActivated()");
74 /* Move cellCb back to cfgCellList */
75 duCb.cfgCellLst[nci-1] = duCb.actvCellLst[nci-1];
76 duCb.actvCellLst[nci-1] = NULLP;
83 /*******************************************************************
85 * @brief Handles DU F1Setup Rsp received in F1AP
89 * Function : duProcF1SetupRsp
92 * - Handles DU F1Setup Rsp received in F1AP
94 * @params[in] Pointer to F1SetupRsp
97 ******************************************************************/
98 void duProcF1SetupRsp()
100 DU_LOG("\nDU_APP : F1 Setup Response received");
101 duCb.f1Status = TRUE; //Set F1 status as true
104 /*******************************************************************
106 * @brief Handles GNB DU Cfg Update Ack received in F1AP
110 * Function : duProcGnbDuCfgUpdAckMsg
113 * - Handles GNB DU Cfg Update Ack received in F1AP
115 * @params[in] Pointer to F1GnbDuCfgUpdAck
118 ******************************************************************/
119 void duProcGnbDuCfgUpdAckMsg()
121 DU_LOG("\nDU APP: GNB-DU config update Ack received ");
124 /**********************************************************************
126 **********************************************************************/