File renaming 69/2469/1
authorbalajihands <balaji.shankaran@radisys.com>
Tue, 11 Feb 2020 12:37:01 +0000 (18:07 +0530)
committerbalajihands <balaji.shankaran@radisys.com>
Tue, 11 Feb 2020 12:37:09 +0000 (18:07 +0530)
Change-Id: I82a16d078e5f66496f9a4c958ae726c6bcd0441b
Signed-off-by: balajihands <balaji.shankaran@radisys.com>
src/du_app/du_cell_mgr.c
src/du_app/du_cfg_hdl.c [deleted file]
src/du_app/du_cfg_hdl.h [deleted file]
src/du_app/du_f1ap_msg_hdl.c
src/du_app/du_mgr.h
src/du_app/du_sctp.h

index 296c259..4f47822 100644 (file)
@@ -18,7 +18,7 @@
 
 /* This file contains message handling functionality for DU APP */
 #include "du_cell_mgr.h"
-#include "du_cfg_hdl.h"
+#include "du_cfg.h"
 
 extern DuCfgParams duCfgParam;
 
diff --git a/src/du_app/du_cfg_hdl.c b/src/du_app/du_cfg_hdl.c
deleted file mode 100644 (file)
index 7cb71d3..0000000
+++ /dev/null
@@ -1,478 +0,0 @@
-/*******************************************************************************
-################################################################################
-#   Copyright (c) [2017-2019] [Radisys]                                        #
-#                                                                              #
-#   Licensed under the Apache License, Version 2.0 (the "License");            #
-#   you may not use this file except in compliance with the License.           #
-#   You may obtain a copy of the License at                                    #
-#                                                                              #
-#       http://www.apache.org/licenses/LICENSE-2.0                             #
-#                                                                              #
-#   Unless required by applicable law or agreed to in writing, software        #
-#   distributed under the License is distributed on an "AS IS" BASIS,          #
-#   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.   #
-#   See the License for the specific language governing permissions and        #
-#   limitations under the License.                                             #
-################################################################################
-*******************************************************************************/
-
-/* This file contains all utility functions */
-#include "du_cfg_hdl.h"
-
-extern DuCfgParams duCfgParam;
-
-
-/* Filling Slot configuration as :
- * Slot Sym 0 Sym 1 Sym 2 Sym 3 Sym 4 Sym 5 Sym 6 Sym 7 Sym 8 Sym 9 Sym10 Sym11 Sym12 Sym13
- *   0   DL    DL    DL    DL    DL    DL    DL    DL    DL    DL    DL    DL    DL    DL
- *   1   DL    DL    DL    DL    DL    DL    DL    DL    DL    DL    DL    DL    DL    DL
- *   2   DL    DL    DL    DL    DL    DL    DL    DL    DL    DL    DL    DL    DL    DL
- *   3   DL    DL    DL    DL    DL    DL    DL    DL    DL    DL    GD    GD    GD    UL
- *   4   UL    UL    UL    UL    UL    UL    UL    UL    UL    UL    UL    UL    UL    UL
-*/
-
-/*******************************************************************
- *
- * @brief Fills the Slot configuration 
- *
- * @details
- *
- *    Function : fillSlotConfig
- *
- *    Functionality:Fill the Slot configuration values
- * 
- *  @params[in] void
- * @return ROK     - success
- *         RFAILED - failure
- *
- * ****************************************************************/
-void fillSlotConfig()
-{
-   U8 slot;
-   U8 symbol;
-
-   for(slot = 0; slot <= 3; slot++)
-   {
-      for(symbol = 0; symbol < MAX_SYMB_PER_SLOT; symbol++)
-         duCfgParam.clCellCfg.tddCfg.slotCfg[slot][symbol] = DL_SLOT;
-   }
-
-   duCfgParam.clCellCfg.tddCfg.slotCfg[3][10] = GUARD_SLOT;
-   duCfgParam.clCellCfg.tddCfg.slotCfg[3][11] = GUARD_SLOT;
-   duCfgParam.clCellCfg.tddCfg.slotCfg[3][12] = GUARD_SLOT;
-   duCfgParam.clCellCfg.tddCfg.slotCfg[3][13] = UL_SLOT;
-
-   for(symbol = 0; symbol < MAX_SYMB_PER_SLOT; symbol++)
-      duCfgParam.clCellCfg.tddCfg.slotCfg[4][symbol] = UL_SLOT;
-
-}
-
-/*******************************************************************
- *
- * @brief Reads the CL Configuration.
- *
- * @details
- *
- *    Function : readClCfg
- *
- *    Functionality:
- *       - Fills up the cell configuration for CL.
- *       - Calls fillSlotConfig()  
- *
- * @params[in] void
- * @return ROK     - success
- *         RFAILED - failure
- *
- * ****************************************************************/
-
-
-/* This function is used to fill up the cell configuration for CL */
-S16 readClCfg()
-{
-   duCfgParam.clCellCfg.carrierId = CARRIER_IDX;
-
-   /* Cell configuration */
-   duCfgParam.clCellCfg.cellId = NR_CELL_ID;
-   duCfgParam.clCellCfg.phyCellId = NR_PCI;
-   duCfgParam.clCellCfg.dupType = DUPLEX_MODE;
-
-   /* DL carrier configuration */
-   duCfgParam.clCellCfg.dlCarrCfg.pres = TRUE;
-   duCfgParam.clCellCfg.dlCarrCfg.bw = SUL_ARFCN;
-   duCfgParam.clCellCfg.dlCarrCfg.freq = NR_ARFCN;
-   duCfgParam.clCellCfg.dlCarrCfg.k0[0] = 1;
-   duCfgParam.clCellCfg.dlCarrCfg.k0[1] = 1;
-   duCfgParam.clCellCfg.dlCarrCfg.k0[2] = 1;
-   duCfgParam.clCellCfg.dlCarrCfg.k0[3] = 1;
-   duCfgParam.clCellCfg.dlCarrCfg.k0[4] = 1;
-   duCfgParam.clCellCfg.dlCarrCfg.gridSize[0] = 1;
-   duCfgParam.clCellCfg.dlCarrCfg.gridSize[1] = 1;
-   duCfgParam.clCellCfg.dlCarrCfg.gridSize[2] = 1;
-   duCfgParam.clCellCfg.dlCarrCfg.gridSize[3] = 1;
-   duCfgParam.clCellCfg.dlCarrCfg.gridSize[4] = 1;
-   duCfgParam.clCellCfg.dlCarrCfg.numAnt = NUM_TX_ANT;
-
-   /* UL Carrier configuration */
-   duCfgParam.clCellCfg.ulCarrCfg.pres = TRUE;
-   duCfgParam.clCellCfg.ulCarrCfg.bw = SUL_ARFCN;
-   duCfgParam.clCellCfg.ulCarrCfg.freq = NR_ARFCN;
-   duCfgParam.clCellCfg.ulCarrCfg.k0[0] = 1;
-   duCfgParam.clCellCfg.ulCarrCfg.k0[1] = 1;
-   duCfgParam.clCellCfg.ulCarrCfg.k0[2] = 1;
-   duCfgParam.clCellCfg.ulCarrCfg.k0[3] = 1;
-   duCfgParam.clCellCfg.ulCarrCfg.k0[4] = 1;
-   duCfgParam.clCellCfg.ulCarrCfg.gridSize[0] = 1;
-   duCfgParam.clCellCfg.ulCarrCfg.gridSize[1] = 1;
-   duCfgParam.clCellCfg.ulCarrCfg.gridSize[2] = 1;
-   duCfgParam.clCellCfg.ulCarrCfg.gridSize[3] = 1;
-   duCfgParam.clCellCfg.ulCarrCfg.gridSize[4] = 1;
-   duCfgParam.clCellCfg.ulCarrCfg.numAnt = NUM_RX_ANT;
-
-   duCfgParam.clCellCfg.freqShft = FREQ_SHIFT_7P5KHZ;
-
-   /* SSB configuration */
-   duCfgParam.clCellCfg.ssbCfg.ssbPbchPwr = SSB_PBCH_PWR;
-   duCfgParam.clCellCfg.ssbCfg.bchPayload = BCH_PAYLOAD;
-   duCfgParam.clCellCfg.ssbCfg.scsCmn = SUBCARRIER_SPACING;
-   duCfgParam.clCellCfg.ssbCfg.ssbPrbOffset = PRB_OFFSET;
-   duCfgParam.clCellCfg.ssbCfg.betaPss = BETA_PSS;
-   duCfgParam.clCellCfg.ssbCfg.ssbPeriod = SSB_PERIODICITTY;
-   duCfgParam.clCellCfg.ssbCfg.ssbSubcOffset = SSB_SUBCARRIER_OFFSET;
-   duCfgParam.clCellCfg.ssbCfg.mibPdu = 104;
-   duCfgParam.clCellCfg.ssbCfg.nSSBMask[0] = 2162721;
-   duCfgParam.clCellCfg.ssbCfg.nSSBMask[1] = 0;
-   duCfgParam.clCellCfg.ssbCfg.multCarrBand = SSB_MULT_CARRIER_BAND;
-   duCfgParam.clCellCfg.ssbCfg.multCellCarr = MULT_CELL_CARRIER;
-
-   /* PRACH configuration */
-   duCfgParam.clCellCfg.prachCfg.pres = TRUE;
-   duCfgParam.clCellCfg.prachCfg.prachSeqLen = PRACH_SEQ_LEN;
-   duCfgParam.clCellCfg.prachCfg.prachSubcSpacing = PRACH_SUBCARRIER_SPACING;
-   duCfgParam.clCellCfg.prachCfg.prachRstSetCfg = PRACH_RESTRICTED_SET_CFG;
-   duCfgParam.clCellCfg.prachCfg.prachFdm = NUM_PRACH_FDM;
-   duCfgParam.clCellCfg.prachCfg.fdm[0].rootSeqIdx = ROOT_SEQ_IDX;
-   duCfgParam.clCellCfg.prachCfg.fdm[0].numRootSeq = NUM_ROOT_SEQ;
-   duCfgParam.clCellCfg.prachCfg.fdm[0].k1 = 1;
-   duCfgParam.clCellCfg.prachCfg.fdm[0].zeroCorrZoneCfg = ZERO_CORRELATION_ZONE_CFG;
-   duCfgParam.clCellCfg.prachCfg.fdm[0].numUnusedRootSeq = NUM_UNUSED_ROOT_SEQ;
-   DU_ALLOC(duCfgParam.clCellCfg.prachCfg.fdm[0].unsuedRootSeq, NUM_UNUSED_ROOT_SEQ * sizeof(U8));
-   if(duCfgParam.clCellCfg.prachCfg.fdm[0].unsuedRootSeq == NULLP)
-   {
-      DU_LOG("\nDU_APP : Memory allocation failed");
-      RETVALUE(RFAILED);
-   }
-   *(duCfgParam.clCellCfg.prachCfg.fdm[0].unsuedRootSeq) = UNUSED_ROOT_SEQ;
-   duCfgParam.clCellCfg.prachCfg.ssbPerRach = SSB_PER_RACH;
-   duCfgParam.clCellCfg.prachCfg.prachMultCarrBand = PRACH_MULT_CARRIER_BAND;
-
-   /* TDD configuration */
-   duCfgParam.clCellCfg.tddCfg.pres = TRUE;
-   duCfgParam.clCellCfg.tddCfg.tddPeriod = TDD_PERIODICITY;
-
-   fillSlotConfig();
-
-   /* RSSI Measurement configuration */
-   duCfgParam.clCellCfg.rssiUnit = RSS_MEASUREMENT_UNIT;
-
-   /* This should be calculated based on
-      (number of mandatory parameters) + (number of otional parameters being filled) */
-   duCfgParam.clCellCfg.numTlv = 39;
-
-   RETVALUE(ROK);
-}
-/*******************************************************************
- *
- * @brief Configures the DU Parameters
- *
- * @details
- *
- *    Function : readCfg
- *
- *    Functionality:
- *       - Initializes the DuCfg members.  
- *       - Calls readClCfg()  
- *
- * @params[in] system task ID
- * @return ROK     - success
- *         RFAILED - failure
- *
- * ****************************************************************/
-
-S16 readCfg()
-{
-   U8 i,j,k;
-   U32 ipv4_du, ipv4_cu;
-
-   cmInetAddr((S8*)DU_IP_V4_ADDR, &ipv4_du);
-   cmInetAddr((S8*)CU_IP_V4_ADDR, &ipv4_cu);
-
-   /* F1 DU IP Address and Port*/
-   duCfgParam.sctpParams.duIpAddr.ipV4Pres = TRUE;
-   duCfgParam.sctpParams.duIpAddr.ipV4Addr = ipv4_du;
-   duCfgParam.sctpParams.duPort = DU_PORT;
-
-   /* F1 CU IP Address and Port*/
-   duCfgParam.sctpParams.cuIpAddr.ipV4Pres = TRUE;
-   duCfgParam.sctpParams.cuIpAddr.ipV4Addr = ipv4_cu;
-   duCfgParam.sctpParams.cuPort = CU_PORT;
-
-
-   /* EGTP Parameters */
-   duCfgParam.egtpParams.localIp.ipV4Pres = TRUE;
-   duCfgParam.egtpParams.localIp.ipV4Addr = ipv4_du;
-   duCfgParam.egtpParams.localPort = DU_EGTP_PORT;
-   duCfgParam.egtpParams.destIp.ipV4Pres = TRUE;
-   duCfgParam.egtpParams.destIp.ipV4Addr = ipv4_cu;
-   duCfgParam.egtpParams.destPort = CU_EGTP_PORT;
-   duCfgParam.egtpParams.minTunnelId = 0;
-   duCfgParam.egtpParams.maxTunnelId = 10;
-
-   duCfgParam.maxUe = 32; //TODO: Check
-   /* DU Info */       
-   duCfgParam.duId = DU_ID;    
-   strcpy((char*)duCfgParam.duName,DU_NAME);
-
-   for(i=0; i<DEFAULT_CELLS; i++)
-   { 
-      duCfgParam.srvdCellLst[i].duCellInfo.cellInfo.nrCgi.plmn.mcc[0] = PLMN_MCC0;
-      duCfgParam.srvdCellLst[i].duCellInfo.cellInfo.nrCgi.plmn.mcc[1] = PLMN_MCC1;
-      duCfgParam.srvdCellLst[i].duCellInfo.cellInfo.nrCgi.plmn.mcc[2] = PLMN_MCC2;
-      duCfgParam.srvdCellLst[i].duCellInfo.cellInfo.nrCgi.plmn.mnc[0] = PLMN_MNC0;
-      duCfgParam.srvdCellLst[i].duCellInfo.cellInfo.nrCgi.plmn.mnc[1] = PLMN_MNC1;
-      duCfgParam.srvdCellLst[i].duCellInfo.cellInfo.nrCgi.plmn.mnc[2] = PLMN_MNC2;
-
-      /*Cell ID */
-      duCfgParam.srvdCellLst[i].duCellInfo.cellInfo.nrCgi.cellId = NR_CELL_ID;
-      duCfgParam.srvdCellLst[i].duCellInfo.cellInfo.nrPci = NR_PCI;
-
-      /* List of Available PLMN */
-      for(j=0;j<MAX_PLMN;j++)
-      {
-         duCfgParam.srvdCellLst[i].duCellInfo.cellInfo.plmn[j].mcc[0] = PLMN_MCC0;
-         duCfgParam.srvdCellLst[i].duCellInfo.cellInfo.plmn[j].mcc[1] = PLMN_MCC1;
-         duCfgParam.srvdCellLst[i].duCellInfo.cellInfo.plmn[j].mcc[2] = PLMN_MCC2;
-         duCfgParam.srvdCellLst[i].duCellInfo.cellInfo.plmn[j].mnc[0] = PLMN_MNC0;
-         duCfgParam.srvdCellLst[i].duCellInfo.cellInfo.plmn[j].mnc[1] = PLMN_MNC1;
-         duCfgParam.srvdCellLst[i].duCellInfo.cellInfo.plmn[j].mnc[2] = PLMN_MNC2;
-      }
-      /* List of Extended PLMN */
-      for(j=0;j<MAX_PLMN;j++)
-      {
-         duCfgParam.srvdCellLst[i].duCellInfo.cellInfo.extPlmn[j].mcc[0] = PLMN_MCC0;
-         duCfgParam.srvdCellLst[i].duCellInfo.cellInfo.extPlmn[j].mcc[1] = PLMN_MCC1;
-         duCfgParam.srvdCellLst[i].duCellInfo.cellInfo.extPlmn[j].mcc[2] = PLMN_MCC2;
-         duCfgParam.srvdCellLst[i].duCellInfo.cellInfo.extPlmn[j].mnc[0] = PLMN_MNC0;
-         duCfgParam.srvdCellLst[i].duCellInfo.cellInfo.extPlmn[j].mnc[1] = PLMN_MNC1;
-         duCfgParam.srvdCellLst[i].duCellInfo.cellInfo.extPlmn[j].mnc[2] = PLMN_MNC2;
-      } 
-
-      /* TAC and EPSTAC */
-      duCfgParam.srvdCellLst[i].duCellInfo.tac = DU_TAC;
-      duCfgParam.srvdCellLst[i].duCellInfo.epsTac = DU_TAC; //to check and fill
-      /* NR Mode info */
-      duCfgParam.srvdCellLst[i].duCellInfo.f1Mode.mode.fdd.ulNrFreqInfo.nrArfcn = NR_ARFCN;
-      duCfgParam.srvdCellLst[i].duCellInfo.f1Mode.mode.fdd.ulNrFreqInfo.sulInfo.sulArfcn = SUL_ARFCN;
-      duCfgParam.srvdCellLst[i].duCellInfo.f1Mode.mode.fdd.ulNrFreqInfo.sulInfo.sulTxBw.nrScs = SCS_120;
-      duCfgParam.srvdCellLst[i].duCellInfo.f1Mode.mode.fdd.ulNrFreqInfo.sulInfo.sulTxBw.nrb = NRB_66;
-
-#if 0
-      /* NR Mode info */
-      duCfgParam.srvdCellLst[i].duCellInfo.f1Mode.mode.tdd.nrFreqInfo.nrArfcn = NR_ARFCN;
-      duCfgParam.srvdCellLst[i].duCellInfo.f1Mode.mode.tdd.nrFreqInfo.sulInfo.sulArfcn = SUL_ARFCN;
-      duCfgParam.srvdCellLst[i].duCellInfo.f1Mode.mode.tdd.nrFreqInfo.sulInfo.sulTxBw.nrScs = SCS_15;          
-      duCfgParam.srvdCellLst[i].duCellInfo.f1Mode.mode.tdd.nrFreqInfo.sulInfo.sulTxBw.nrb = NRB_160;          
-
-      for(j=0;j<MAXNRCELLBANDS;j++)
-      {
-         duCfgParam.srvdCellLst[i].duCellInfo.f1Mode.mode.tdd.nrFreqInfo.freqBand[j].nrFreqBand = NR_FREQ_BAND;
-         for(k=0;k<MAXNRCELLBANDS;k++)
-         {
-            duCfgParam.srvdCellLst[i].duCellInfo.f1Mode.mode.tdd.nrFreqInfo.freqBand[j].sulBand[k] = SUL_BAND;         
-         }
-      }
-#endif
-      for(j=0;j<MAXNRCELLBANDS;j++)
-      {
-         duCfgParam.srvdCellLst[i].duCellInfo.f1Mode.mode.fdd.ulNrFreqInfo.freqBand[j].nrFreqBand = NR_FREQ_BAND;
-         for(k=0;k<MAXNRCELLBANDS;k++)
-         {
-            duCfgParam.srvdCellLst[i].duCellInfo.f1Mode.mode.fdd.ulNrFreqInfo.freqBand[j].sulBand[k] = SUL_BAND;
-         }
-      }
-      duCfgParam.srvdCellLst[i].duCellInfo.f1Mode.mode.fdd.dlNrFreqInfo.nrArfcn = NR_ARFCN;
-      duCfgParam.srvdCellLst[i].duCellInfo.f1Mode.mode.fdd.dlNrFreqInfo.sulInfo.sulArfcn = SUL_ARFCN;
-      duCfgParam.srvdCellLst[i].duCellInfo.f1Mode.mode.fdd.dlNrFreqInfo.sulInfo.sulTxBw.nrScs = SCS_120;
-      duCfgParam.srvdCellLst[i].duCellInfo.f1Mode.mode.fdd.dlNrFreqInfo.sulInfo.sulTxBw.nrb = NRB_66;
-      for(j=0;j<MAXNRCELLBANDS;j++)
-      {
-         duCfgParam.srvdCellLst[i].duCellInfo.f1Mode.mode.fdd.dlNrFreqInfo.freqBand[j].nrFreqBand = NR_FREQ_BAND;
-         for(k=0;k<MAXNRCELLBANDS;k++)
-         {
-            duCfgParam.srvdCellLst[i].duCellInfo.f1Mode.mode.fdd.dlNrFreqInfo.freqBand[j].sulBand[k] = SUL_BAND;
-         }
-      }
-
-      duCfgParam.srvdCellLst[i].duCellInfo.f1Mode.mode.fdd.ulTxBw.nrScs = SCS_120;
-      duCfgParam.srvdCellLst[i].duCellInfo.f1Mode.mode.fdd.ulTxBw.nrb = NRB_66;
-
-      duCfgParam.srvdCellLst[i].duCellInfo.f1Mode.mode.fdd.dlTxBw.nrScs = SCS_120;
-      duCfgParam.srvdCellLst[i].duCellInfo.f1Mode.mode.fdd.dlTxBw.nrb = NRB_66;
-
-#if 0
-      duCfgParam.srvdCellLst[i].duCellInfo.f1Mode.mode.tdd.nrTxBw.nrScs = SCS_15;
-      duCfgParam.srvdCellLst[i].duCellInfo.f1Mode.mode.tdd.nrTxBw.nrb = NRB_160;
-#endif
-      /*Measurement Config and Cell Config */ 
-      duCfgParam.srvdCellLst[i].duCellInfo.measTimeCfg = TIME_CFG; 
-
-      duCfgParam.srvdCellLst[i].duCellInfo.cellDir = DL_UL; 
-
-      duCfgParam.srvdCellLst[i].duCellInfo.cellType=CELL_TYPE;
-
-      /* Broadcast PLMN Identity */
-      for(j=0;j<MAXBPLMNNRMINUS1;j++)
-      {  
-         for(k=0;k<MAX_PLMN;k++)
-         {
-            duCfgParam.srvdCellLst[i].duCellInfo.brdcstPlmnInfo[j].plmn[k].mcc[0] = PLMN_MCC0;
-            duCfgParam.srvdCellLst[i].duCellInfo.brdcstPlmnInfo[j].plmn[k].mcc[1] = PLMN_MCC1;
-            duCfgParam.srvdCellLst[i].duCellInfo.brdcstPlmnInfo[j].plmn[k].mcc[2] = PLMN_MCC2;
-            duCfgParam.srvdCellLst[i].duCellInfo.brdcstPlmnInfo[j].plmn[k].mnc[0] = PLMN_MNC0;
-            duCfgParam.srvdCellLst[i].duCellInfo.brdcstPlmnInfo[j].plmn[k].mnc[1] = PLMN_MNC1;                                         
-            duCfgParam.srvdCellLst[i].duCellInfo.brdcstPlmnInfo[j].plmn[k].mnc[2] = PLMN_MNC2;
-         }
-         /* Extended PLMN List */       
-         for(k=0;k<MAX_PLMN;k++)
-         {
-            duCfgParam.srvdCellLst[i].duCellInfo.brdcstPlmnInfo[j].extPlmn[k].mcc[0] = PLMN_MCC0;
-            duCfgParam.srvdCellLst[i].duCellInfo.brdcstPlmnInfo[j].extPlmn[k].mcc[1] = PLMN_MCC1;
-            duCfgParam.srvdCellLst[i].duCellInfo.brdcstPlmnInfo[j].extPlmn[k].mcc[2] = PLMN_MCC2;
-            duCfgParam.srvdCellLst[i].duCellInfo.brdcstPlmnInfo[j].extPlmn[k].mnc[0] = PLMN_MNC0;
-            duCfgParam.srvdCellLst[i].duCellInfo.brdcstPlmnInfo[j].extPlmn[k].mnc[1] = PLMN_MNC1;
-            duCfgParam.srvdCellLst[i].duCellInfo.brdcstPlmnInfo[j].extPlmn[k].mnc[2] = PLMN_MNC2;
-         }
-
-         duCfgParam.srvdCellLst[i].duCellInfo.brdcstPlmnInfo[j].tac = DU_TAC;
-         duCfgParam.srvdCellLst[i].duCellInfo.brdcstPlmnInfo[j].nrCellId = NR_CELL_ID;
-         duCfgParam.srvdCellLst[i].duCellInfo.brdcstPlmnInfo[j].ranac = NR_RANAC;
-      }
-
-      /*gnb DU System Info */
-      //TODO: uncomment duCfgParam.srvdCellLst[i].duSysInfo.mibMsg;  //to do
-      //TODO: uncomment duCfgParam.srvdCellLst[i].duSysInfo.sib1Msg; //to do
-   }
-
-   /* RRC Version,Extended RRC Version */
-   //TODO: uncomment duCfgParam.rrcVersion.rrcVer; //to do
-   //TODO: uncomment duCfgParam.rrcVersion.extRrcVer; //to do
-
-   if(readClCfg() != ROK)
-   {
-      DU_LOG("\nDU_APP : Failed while reading CL config");
-      RETVALUE(RFAILED);
-   }
-
-   RETVALUE(ROK);
-}
-
-/*******************************************************************
- *
- * @brief Reads config and posts message to du_app on completion
- *
- * @details
- *
- *    Function : main
- *
- *    Functionality:
- *      - Calls readCfg()
- *      - Post to du_app for further processing
- *
- * @params[in] void
- * @return ROK     - success
- *         RFAILED - failure
- *
- * ****************************************************************/
-S16 duReadCfg()
-{
-   Pst pst;
-   Buffer *mBuf;
-
-   cmMemset((U8 *)&duCfgParam, 0, sizeof(DuCfgParams));
-   //Read configs into duCfgParams
-   if(readCfg() != ROK)
-   {
-      DU_LOG("\nDU_APP : Reading configuration failed");
-      RETVALUE(RFAILED);
-   }
-
-   //Fill pst structure
-   cmMemset((U8 *)&(pst), 0, sizeof(Pst));
-   pst.srcEnt = (Ent)ENTDUAPP;
-   pst.srcInst = (Inst)DU_INST;
-   pst.srcProcId = DU_PROC;
-   pst.dstEnt = pst.srcEnt;
-   pst.dstInst = pst.srcInst;
-   pst.dstProcId = pst.srcProcId;
-   pst.event = EVTCFG;
-   pst.selector = DU_SELECTOR_TC;
-   pst.pool= DU_POOL;
-
-
-   if(SGetMsg(DFLT_REGION, DU_POOL, &mBuf) != ROK)
-   {
-      DU_LOG("\nDU_APP : Memory allocation failed in duReadCfg");
-      return RFAILED;
-   }
-
-   if (SPstTsk(&pst, mBuf) != ROK)
-   {
-      DU_LOG("\nDU_APP : SPstTsk failed in duReadCfg");
-      return RFAILED;
-   }
-
-   return ROK;
-}
-
-/*******************************************************************
- *
- * @brief Converts bit strings to integer
- *
- * @details
- *
- *    Function : bitStringToInt
- *
- *    Functionality:
- *      - Converts ASN bit string format IEs to integer type
- *
- * @params[in] void
- * @return ROK     - success
- *         RFAILED - failure
- *
- * ****************************************************************/
-S16 bitStringToInt(BIT_STRING_t *bitString, U16 *val)
-{
-   U16 numOctets, idx;
-   if(bitString->buf == NULL || bitString->size <= 0)
-   {
-      DU_LOG("\nDU_APP : Bit string is empty");
-      return RFAILED;
-   }
-
-   numOctets = (bitString->size + 7 )/8;
-   for(idx=0; idx< numOctets; idx++)
-   {
-      *val |= bitString->buf[idx];
-      *val <<= 8;
-   }
-
-   *val |= bitString->buf[numOctets -1];
-   *val >>= ((numOctets * 8) - bitString->size);
-
-   return ROK;
-}
-
-
-/**********************************************************************
-  End of file
- **********************************************************************/
-
diff --git a/src/du_app/du_cfg_hdl.h b/src/du_app/du_cfg_hdl.h
deleted file mode 100644 (file)
index 517ff7e..0000000
+++ /dev/null
@@ -1,897 +0,0 @@
-/*******************************************************************************
-################################################################################
-#   Copyright (c) [2017-2019] [Radisys]                                        #
-#                                                                              #
-#   Licensed under the Apache License, Version 2.0 (the "License");            #
-#   you may not use this file except in compliance with the License.           #
-#   You may obtain a copy of the License at                                    #
-#                                                                              #
-#       http://www.apache.org/licenses/LICENSE-2.0                             #
-#                                                                              #
-#   Unless required by applicable law or agreed to in writing, software        #
-#   distributed under the License is distributed on an "AS IS" BASIS,          #
-#   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.   #
-#   See the License for the specific language governing permissions and        #
-#   limitations under the License.                                             #
-################################################################################
-*******************************************************************************/
-
-#ifndef __DU_CONFIG_H_
-#define __DU_CONFIG_H__
-
-#include "du_mgr.h"
-#include "lcl.h"
-#include "du_log.h"
-#include "BIT_STRING.h"
-
-/* MACROS */
-#define DU_INST 0
-#define DU_ID 1
-#define DU_IP_V4_ADDR "10.0.2.20"
-#define CU_IP_V4_ADDR "10.0.2.25"
-#define DU_PORT 38472
-#define CU_PORT 38472
-#define DU_EGTP_PORT  39001
-#define CU_EGTP_PORT  39002
-#define NR_PCI 1
-#define NR_CELL_ID 1
-#define DU_NAME "ORAN_OAM_DU"
-#define CELL_TYPE SMALL
-#define DUPLEX_MODE DUP_MODE_TDD
-#define DU_TAC 1
-#define PLMN_MCC0 3
-#define PLMN_MCC1 1
-#define PLMN_MCC2 1
-#define PLMN_MNC0 4
-#define PLMN_MNC1 8
-#define PLMN_MNC2 0
-#define NR_ARFCN  2079427
-#define SUL_ARFCN 100
-#define NR_FREQ_BAND 257
-#define SUL_BAND 2
-#define TIME_CFG 0
-#define CARRIER_IDX 1
-#define NUM_TX_ANT 2
-#define NUM_RX_ANT 2
-#define FREQ_SHIFT_7P5KHZ FALSE
-#define SSB_PBCH_PWR 0
-#define BCH_PAYLOAD MAC_GEN_FULL_PBCH_PAYLD
-#define SUBCARRIER_SPACING 3
-#define PRB_OFFSET 0
-#define BETA_PSS BETA_PSS_0DB
-#define SSB_PERIODICITTY SSB_PRDCTY_MS_20
-#define SSB_SUBCARRIER_OFFSET 0
-#define SSB_MULT_CARRIER_BAND FALSE
-#define MULT_CELL_CARRIER FALSE
-
-#define PRACH_SEQ_LEN SHORT_SEQUENCE
-#define PRACH_SUBCARRIER_SPACING 3
-#define PRACH_RESTRICTED_SET_CFG UNRESTRICTED
-#define NUM_PRACH_FDM 1
-#define ROOT_SEQ_IDX 0
-#define NUM_ROOT_SEQ 1
-#define ZERO_CORRELATION_ZONE_CFG 2
-#define NUM_UNUSED_ROOT_SEQ 1
-#define UNUSED_ROOT_SEQ 1
-#define SSB_PER_RACH 3
-#define PRACH_MULT_CARRIER_BAND FALSE
-#define TDD_PERIODICITY TX_PRDCTY_MS_2P5
-#define RSS_MEASUREMENT_UNIT DONT_REPORT_RSSI
-
-#define DU_PROC  0
-#define DU_INST 0
-#define DU_POOL  1
-
-#define SCTP_INST 0
-#define EGTP_INST 0
-
-/* Events */
-#define EVTCFG 0
-
-/* Selector */
-#define DU_SELECTOR_LC   0
-#define DU_SELECTOR_TC   1
-#define DU_SELECTOR_LWLC 2
-
-#ifdef EGTP_TEST
-/* Macro definitions for EGTP procedures */
-#define EGTP_LCL_TEID 1     /* EGTP local tunnel id */
-#define EGTP_REM_TEID 10    /* EGTP remote tinnel id */
-#endif
-
-
-/* Macro definitions for F1 procedures */
-#define CU_DU_NAME_LEN_MAX 30      /* Max length of CU/DU name string */
-#define MAX_F1_CONNECTIONS 65536    /* Max num of F1 connections */
-#define DU_MAX_CELLS       512      /* Max num of cells served by gNB-DU */
-#define MAX_PLMN           6        /* Max num of broadcast PLMN ids */
-#define MAXNRARFCN         3279165  /* Maximum values of NRAFCN */
-#define MAXNRCELLBANDS     2       /* Maximum number of frequency bands */
-#define MAXNUMOFSLICEITEMS 1024     /* Maximum number of signalled slice support items */
-#define MAXBPLMNNRMINUS1   1       /* Maximum number of PLMN Ids broadcast in an NR cell minus 1 */
-#define MAXNUMOFSIBTYPES   32       /* Maximum number of SIB types */
-#define MAX_UEID           512      /* Maximum number of UE Ids */
-#define MAX_TNL_ASSOC      32       /* Max num of TNL Assoc between CU and DU */
-#define MAXCELLINENB       256      /* Max num of cells served by eNB */
-#define MAXNUMOFUEID       65536    /* Max num of UEs served by DU */
-#define MAXNUMOFUACPLMN    12       /* Maximum number of PLMN ids*/
-#define MAXNUMOFUACPERPLMN 64       /* Maximum number of signalled categories per PLMN */
-#define DEFAULT_CELLS      1        /* Max num of broadcast PLMN ids */
-
-typedef enum
-{
-   GNBDU,
-   GNBCU 
-}F1Entity;
-
-typedef enum
-{
-   UNSPECIFIED,
-   RL_FAILURE_RLC,
-   INVALID_CU_UE_F1AP_ID,
-   INVALID_DU_UE_F1AP_ID,
-   INTERACTION_WITH_OTHER_PROC,
-   INVALID_QCI_VALUE,
-   RADIO_RELATED_REASON,
-   INSUFFICIENT_RADIO_RESOURCE,
-   PROCEDURE_CANCELLED,
-   NORMAL_RELEASE,
-   UNAVAILABLE_CELL,
-   RL_FAILURE_OTHERS,
-   UE_ACCESS_REJECTED,
-   SLICE_RESOURCE_UNAVAILABLE,
-   AMF_ABNORMAL_RELEASE,
-   INVALID_PLMN
-}RadioNwCause;
-
-typedef enum
-{
-   TRANS_CAUSE_UNSPECIFIED,
-   TRANSPORT_RESOURCE_UNAVAIL
-}TransLayerCause;
-
-typedef enum
-{
-   TRANSFER_SYNTAX_ERR,
-   ABSTRACT_SYNTAX_ERR_REJECT,
-   ABSTRACT_SYNTAX_ERR_NOTIFY,
-   INCOMPATIBLE_MESSAGE,
-   SEMANTIC_ERROR,
-   ABSTRACT_SYNTAX_ERR_MSG_CONSTRUCT,
-   PROTOCOL_CAUSE_UNSPECIFIED
-}ProtocolCause;
-
-typedef enum
-{
-   CONTROL_PROC_OVERLOAD,
-   INSUFF_USER_PLANE_RESOURCE,
-   HARDWARE_FAILURE,
-   O_AND_M_INTERVENTION,
-   MISC_CAUSE_UNSPECIFIED
-}MiscCause;
-
-typedef enum
-{
-  ALL
-}F1ResetAll;
-
-typedef enum 
-{
-  IN_SERVICE,
-  OUT_OF_SERVICE
-}SrvState;
-
-typedef enum
-{
-   INITIATING_MSG,
-   SUCCESSFUL_OUTCOME,
-   UNSUCCESSFUL_OUTCOME
-}F1TriggMsgVal;
-
-typedef enum
-{
-   CRIT_REJECT,
-   CRIT_IGNORE,
-   CRIT_NOTIFY
-}F1ProcCritVal;
-
-typedef enum
-{
-   NOT_UNDERSTOOD,
-   MISSING_IE
-}F1ErrorType;
-
-typedef enum
-{
-   SCS_15,
-   SCS_30,
-   SCS_60,
-   SCS_120
-}F1NrScs;
-
-typedef enum
-{
-   NRB_11,
-   NRB_18,
-   NRB_24,
-   NRB_25,
-   NRB_31,
-   NRB_32,
-   NRB_38,
-   NRB_51,
-   NRB_52,
-   NRB_65,
-   NRB_66,
-   NRB_78,
-   NRB_79,
-   NRB_93,
-   NRB_106,
-   NRB_107,
-   NRB_121,
-   NRB_132,
-   NRB_133,
-   NRB_135,
-   NRB_160,
-   NRB_162,
-   NRB_189,
-   NRB_216,
-   NRB_217,
-   NRB_245,
-   NRB_264,
-   NRB_270,
-   NRB_273
-}F1Nrb;
-
-typedef enum
-{
-   VERY_SMALL,
-   SMALL,
-   MEDIUM,
-   LARGE
-}F1CellType;
-
-typedef enum
-{
-   DL,
-   UL,
-   DL_UL
-}F1CellDir;
-
-typedef enum
-{
-   UE_USAGE,
-   NON_UE_USAGE,
-   BOTH
-}F1AssocUsage;
-
-typedef enum
-{
-   BARRED,
-   NOT_BARRED
-}CellBarred;
-
-typedef enum
-{
-   OFFER,
-   EXECUTION
-}F1ReqType;
-
-typedef enum
-{
-   IGNORE_YES,
-   IGNORE_NO
-}F1IgnoreReq;
-
-typedef enum
-{
-   OVERLOADED,
-   NOT_OVERLOADED
-}F1GnbDuOvrloadInfo;
-
-typedef enum
-{
-   REJECT_RRC_CONN_NON_EMERG_MODT,
-   REJECT_RRC_CONN_SIGNALLING,
-   PERMIT_EMERG_SESSION_AND_MOBILE_TERM_SERVICE,
-   PERMIT_HIGH_PRIOR_SESSION_AND_MOBILE_TERM_SERVICE
-}F1UacStandardAction;
-
-typedef struct f1RrcVersion
-{
-   char    rrcVer[30];     /* Latest RRC Version */
-   U32   extRrcVer;  /* Latest RRC version extended */
-}F1RrcVersion;
-
-typedef struct f1FailCause
-{
-   union
-   {
-      RadioNwCause      radioNwCause;     /* Radio Network Layer Cause */
-      TransLayerCause   transLayerCause;  /* Transport Layer Cause */
-      ProtocolCause     protCause;        /* Protocol Cause */
-      MiscCause         miscCause;        /* Miscellaneous Cause */
-   }cause;
-}F1FailCause;
-
-typedef struct f1ProcCode
-{
-   Bool   pres;
-   U8     value;
-}F1ProcCode;
-
-typedef struct f1TriggMsg
-{
-   Bool   pres;
-   F1TriggMsgVal   value;
-}F1TriggMsg;
-
-typedef struct f1ProcCrit
-{
-   Bool   pres;
-   F1ProcCritVal   value;
-}F1ProcCrit;
-
-typedef struct f1CritDignosIE
-{
-   F1ProcCritVal   ieCritVal;
-   U16             ieId;
-   F1ErrorType       type;
-}F1CritDignosIE;
-
-typedef struct f1CritDiagnostic
-{
-   Bool         pres;
-   F1ProcCode   procCode;      /* Procedure Code */
-   F1TriggMsg   triggeringMsg; /* Triggering Message */
-   F1ProcCrit   procCrit;      /* Criticality of Triggering msg/proc */
-   U32          transId;
-   F1CritDignosIE diagnosIE;
-}F1CritDiagnostic;
-
-typedef struct f1FailureIE
-{
-   U32                transId;        /* Uniquely identify transaction */
-   F1FailCause        cause;          /* Failure cause */
-   U8                 timeToWait;     /* Seconds to be waited before retry */
-   F1CritDiagnostic   critDiagnostic; /* Critical diagnostics */
-}F1FailureIE;
-
-typedef struct f1LogicalConnUeAssoc
-{
-   U32   gnbCuUeF1apId;
-   U32   gnbDuUeF1apId;
-}F1LogicalConnUeAssoc;
-
-typedef struct f1ResetType
-{
-   union
-   {
-      F1ResetAll             resetAll; /* Reset All */
-      F1LogicalConnUeAssoc   ueAssocLogicalConn[MAX_F1_CONNECTIONS]; /* In case of Partial Reset : UE associated logical F1 conn list*/
-   }type;
-}F1ResetType;
-
-typedef struct f1PLMN
-{
-  U8 mcc[3];
-  U8 mnc[3];
-}PlmnId;
-
-typedef struct nrEcgi
-{
-  PlmnId  plmn;
-  U16     cellId;
-}NrEcgi;
-
-typedef struct f1SibType
-{
-   U8   sibType;
-   U8   sibMsg;
-   U8   value;
-}F1SibType;
-
-typedef struct f1TxBw
-{
-   F1NrScs   nrScs; /* NR subcarrier spacing */
-   F1Nrb     nrb;   /* Transmission bandwidth expressed in units of RBs */
-}F1TxBw;
-
-typedef struct f1SulInfo
-{
-   U32      sulArfcn; /* SUL ARFCN */
-   F1TxBw   sulTxBw;  /* SUL transmission bandwidth */ 
-}F1SulInfo;
-
-typedef struct f1FreqBand
-{
-  U16   nrFreqBand;
-  U16   sulBand[MAXNRCELLBANDS];
-}F1FreqBand;
-
-typedef struct f1NrFreqInfo
-{
-   U32        nrArfcn;
-   F1SulInfo  sulInfo;
-   F1FreqBand freqBand[MAXNRCELLBANDS];
-}F1NrFreqInfo;
-
-typedef struct f1NrFddInfo
-{
-   F1NrFreqInfo   ulNrFreqInfo;  /* UL NR Frequency Info */
-   F1NrFreqInfo   dlNrFreqInfo;  /* DL NR Frequency Info */
-   F1TxBw         ulTxBw;        /* UL Transmission bandwidth */
-   F1TxBw         dlTxBw;        /* DL Transmission bandwidth */
-}F1NrFddInfo;
-
-typedef struct f1NrTddInfo
-{
-   F1NrFreqInfo   nrFreqInfo;   /* NR Frequency Info */
-   F1TxBw       nrTxBw;       /* NR Transmission Bandwidth */
-}F1NrTddInfo;
-
-typedef struct f1NrModeInfo
-{
-   union
-   {
-      F1NrFddInfo  fdd;
-      F1NrTddInfo  tdd;
-   }mode;
-}NrModeInfo;
-
-typedef struct f1EutraFddInfo
-{
-   U16   ulOffset;   /* UL offset to Point A */
-   U16   dlOffset;   /* DL offset to Point A */
-}F1EutraFDDInfo;
-
-typedef struct f1EutraTddInfo
-{
-   U16   tddOffset;  /* Offset to Point A */
-}F1EutraTDDInfo;
-
-typedef struct f1EutraModeInfo
-{
-   union
-   {
-      F1EutraFDDInfo  fdd;
-      F1EutraTDDInfo  tdd;
-   }mode;
-}F1EutraModeInfo;
-
-typedef struct f1Snsaai
-{
-   U8   sst;
-   U32  sd;
-}F1Snsaai;
-
-typedef struct epIpAddr
-{
-   char transportAddr[20]; /* Transport Layer Address */
-}EpIpAddr;
-
-typedef struct epIpAddrPort
-{
-    EpIpAddr epIpAddr;
-    char   port[2];
-}EpIpAddrPort;
-
-typedef struct f1TaiSliceSuppLst
-{
-   Bool       pres;
-   F1Snsaai   snssai[MAXNUMOFSLICEITEMS];   
-}F1TaiSliceSuppLst;
-
-typedef struct f1SrvdPlmn
-{
-   PlmnId              plmn;
-   F1TaiSliceSuppLst   taiSliceSuppLst;
-}F1SrvdPlmn;
-
-typedef struct f1BrdcstPlmnInfo
-{
-   PlmnId   plmn[MAX_PLMN];     /* PLMN id list */
-   PlmnId   extPlmn[MAX_PLMN];   /* Extended PLMN id list */
-   U16      tac;                     /* 5GS-TAC */
-   U32      nrCellId;                /* NR Cell id */
-   U8       ranac;                   /* RAN Area code */
-}F1BrdcstPlmnInfo;
-
-typedef struct f1CellInfo
-{
-   NrEcgi   nrCgi;                   /* Cell global Identity */
-   U32      nrPci;                   /* Physical Cell Identity */
-   PlmnId   plmn[MAX_PLMN];     /* Available PLMN list */
-   PlmnId   extPlmn[MAX_PLMN];  /* Extended available PLMN list */
-}F1CellInfo;
-
-typedef struct f1DuCellInfo
-{
-   F1CellInfo         cellInfo;     /* cell info */
-   U16                tac;          /* tracking area code */
-   U16                epsTac;       /* Configured EPS TAC */
-   NrModeInfo         f1Mode;       /* NR mode info : FDD/TDD */
-   U8                 measTimeCfg;  /* Measurement timing configuration */
-   F1CellDir          cellDir;      /* Cell Direction */
-   F1CellType         cellType;     /* Cell Type */
-   F1BrdcstPlmnInfo   brdcstPlmnInfo[MAXBPLMNNRMINUS1]; /* Broadcast PLMN Identity Info List */
-}F1DuCellInfo;
-
-typedef struct f1DuSysInfo
-{
-   U8   *mibMsg;   /* MIB message */
-   U8   *sib1Msg;  /* SIB1 message */
-}F1DuSysInfo;
-
-typedef struct f1CuSysInfo
-{
-   F1SibType   sibTypeToUpd[MAXNUMOFSIBTYPES];   /* SIB types to be updated */
-}F1CuSysInfo;
-
-typedef struct f1DuSrvdCellInfo
-{
-   F1DuCellInfo   duCellInfo;   /* gNB-DU served cell info */
-   F1DuSysInfo    duSysInfo;    /* gNB-DU System Information */
-}F1DuSrvdCellInfo;
-
-typedef struct f1DuSrvdCellToDel
-{
-   NrEcgi             oldNrCgi;     /* Old NR CGI */
-   F1DuSrvdCellInfo   srvdCellInfo; /* Info of served cell to be deleted */ 
-}F1DuSrvdCellToDel;
-
-typedef struct f1CuActCellInfo
-{
-   F1CellInfo    cuCellInfo;   /* gNB-CU available cell info */
-   F1CuSysInfo   cuSysInfo;    /* gNB-CU System Information */
-}F1CuActCellInfo;
-
-typedef struct f1ActCellFail
-{
-   NrEcgi        nrCgi;
-   F1FailCause   cause;
-}F1ActCellFail;
-
-typedef struct srvStatus
-{
-  SrvState    state;
-  Bool        switchOffOngoing;
-}SrvStatus;
-
-typedef struct f1CellStatus
-{
-   NrEcgi      nrEcgi;
-   SrvStatus   status;   /* Service status */
-}F1CellStatus;
-
-typedef struct f1DedSIDelUE
-{
-   U32      gnbCuUeF1apId;
-   NrEcgi   nrEcgi;
-}F1DedSIDelUE;
-
-typedef struct tnlAssocInfo
-{
-   Bool           pres;
-   EpIpAddr       epIpAddr;      /* Endpoint-IP Address */
-   EpIpAddrPort   epIpAddrport;  /* Endpoint-IP Address and Port */
-}F1TnlAssocAddr;
-
-typedef struct f1TnlAssocUsage
-{
-    Bool           pres;
-    F1AssocUsage   usage;
-}F1TnlAssocUsage;
-
-typedef struct f1TnlAssoc
-{
-   F1TnlAssocAddr   assocInfo;    /* TNL Assoc Transport Layer Info */
-   F1TnlAssocUsage  assocUsage;   /* TNL Assoc usage */
-}F1TnlAssoc;
-
-typedef struct f1TnlAssocToRmv
-{
-   F1TnlAssocAddr   assocInfoCu;   /* TNL Assoc Transport Layer Info of CU */
-   F1TnlAssocAddr   assocInfoDu;   /* TNL Assoc Transport Layer Info of DU */
-}F1TnlAssocToRmv;
-
-typedef struct f1TnlAssocSetupFail
-{
-   F1TnlAssocAddr   assocInfo;
-   F1FailCause      cause;
-}F1TnlAssocSetupFail;
-
-
-typedef struct f1CellBarred
-{
-   NrEcgi       nrcgi;
-   CellBarred   cellBarred;
-}F1CellBarred;
-
-typedef struct f1EutraCell
-{
-   U32                eutraCellId; /* EUTRA cell id */
-   F1EutraModeInfo    mode;        /* EUTRA mode info : FDD/TDD */
-   U8                 rsrcInd;     /* Protected EUTRA resource Indication */
-}F1EutraCell;
-
-typedef struct f1ProtectEUTRARsrc
-{
-   U32           specShareGrpId;               /* Spectrum sharing group id */
-   F1EutraCell   eutraCellList[MAXCELLINENB];  /* EUTRA cells list */
-}F1ProtectEUTRARsrc;
-
-typedef struct f1UacOperatorDefined
-{
-   U8   accessCategory;
-   U8   accessId; 
-}F1UacOperatorDefined;
-
-typedef struct f1UacCategoryType
-{
-   union
-   {
-      F1UacStandardAction    action;      /* UAC standardized action */
-      F1UacOperatorDefined   operatorDef; /* UAC operator defined */
-   }type;
-}F1UacCategoryType;
-
-typedef struct f1UacType
-{
-   U8                  uacReducInd;     /* Value 0 means no access rate reduction. Value 100 means full access rate reduction */
-   F1UacCategoryType   uacCategoryType; /* UAC Category type */
-}F1UacType;
-
-/* Unified Access Class Assistance Information */
-typedef struct f1UacAssistInfo
-{
-   PlmnId      plmn[MAXNUMOFUACPLMN];        /* UAC PLMN list */
-   F1UacType   uacType[MAXNUMOFUACPERPLMN];  /* UAC Type list */
-}F1UacAssistInfo;
-
-/* F1 setup related structures */
-
-typedef struct f1SetupReq
-{
-  U32                transId;                       /* Uniquely identify transaction */
-  U32                duId;                          /* DU ID */ 
-  char               duName[CU_DU_NAME_LEN_MAX];    /* DU name */
-  F1DuSrvdCellInfo   srvdCellLst[DU_MAX_CELLS];   /* Serving cell list */
-  F1RrcVersion       rrcVersion;                    /* RRC version */
-}F1SetupReq;
-
-typedef struct f1setupRsp
-{
-  U32               transId;                      /* Uniquely identify transaction */
-  char              cuName[CU_DU_NAME_LEN_MAX];   /* CU Name */
-  F1CuActCellInfo   actCellInfo;                  /* cells to be activated */
-  F1RrcVersion      rrcVersion;                   /* RRC version */
-}F1SetupRsp;
-
-typedef struct f1SetupFail
-{
-   F1FailureIE   setupFail;
-}F1SetupFail;
-
-/* At reception of the RESET message the gNB-DU shall release all allocated resources on F1 
- * and radio resources related to the UE association(s) indicated explicitly or implicitly in 
- * the RESET message and remove the indicated UE contexts including F1AP ID. */
-typedef struct f1Reset
-{
-  U32              transId;   /* Uniquely identify transaction */
-  F1FailCause      cause;     /* Failure cause */
-  F1ResetType      resetType; /* type of reset */
-}F1Reset;
-
-/* After the gNB-CU has released all assigned F1 resources and the UE F1AP IDs for all indicated
- * UE associations which can be used for new UE-associated logical F1-connections over the F1 interface,
- *  the gNB-CU shall respond with the RESET ACKNOWLEDGE message. */
-typedef struct f1ResetAck
-{
-  U32                    transId;         /* Uniquely identify transaction */
-  F1LogicalConnUeAssoc   ueAssocLogicalConn[MAX_F1_CONNECTIONS]; /* UE associated logical F1-connection list */
-  F1CritDiagnostic       critDiagnostic;  /* Critical diagnostics */
-}F1ResetAck;
-
-typedef struct f1ErrorInd
-{
-  U32                transId;         /* Uniquely identify transaction */
-  F1Entity           errorOrigin;     /* Specifies if error is originated at DU or CU */
-  F1FailCause        cause;           /* Failure cause */
-/* If failure is due to Ue related message. */
-  U32                gnbCuUeF1apId;   /* gNB-CU UE F1AP Id */
-  U32                gnbDuUeF1apId;   /* gNB-DU UE F1AP Id */
-  F1CritDiagnostic   critDiagnostic;  /* Critical diagnostics */
-}F1ErrorInd;
-
-typedef struct f1GnbDuCfgUpd
-{
-  U32                 transId;                             /* Uniquely identify transaction */
-  F1DuSrvdCellInfo    srvdCellLstAdd[DU_MAX_CELLS];      /* Served cell list to be added */
-  F1DuSrvdCellToDel   srvdCellLstMod[DU_MAX_CELLS];      /* Served cell list to be modified */
-  NrEcgi              srvdCellLstDel[DU_MAX_CELLS];      /* Served cell list to be deleted */
-  F1CellStatus        cellStatus[DU_MAX_CELLS];          /* Cell status */
-  F1DedSIDelUE        ueLst[MAX_UEID];                     /* Ue list that requires dedicated SI delivery */
-  U32                 gnbDuId;
-  F1TnlAssocToRmv     gnbDuTnlAssocRmv[MAX_TNL_ASSOC];  /* TNL Assoc list to remove */ 
-}F1GnbDuCfgUpd;
-
-typedef struct f1GnbDuCfgUpdAck
-{
-   U32                transId;                      /* Uniquely identify transaction */
-   F1CuActCellInfo    cellLstAct[DU_MAX_CELLS];    /* List of cells to be activated */   
-   F1CritDiagnostic   critDiagnostic;               /* Critical diagnostics */
-   NrEcgi             cellLstDeact[DU_MAX_CELLS]; /* List of cells to be deactivated */
-}F1GnbDuCfgUpdAck;
-
-typedef struct f1GnbDuCfgUpdFail
-{
-   F1FailureIE   gnbDuCfgUpdFail;
-}F1GnbDuCfgUpdFail;
-
-/* Sent by the gNB-CU to transfer updated information associated to an F1-C interface instance */
-typedef struct f1GnbCuCfgUpd
-{
-    U32                 transId;                            /* Uniquely identifies transaction */
-    F1CuActCellInfo     cellLstAct[DU_MAX_CELLS];         /* List of cells to be activated */
-    NrEcgi              cellLstDeact[DU_MAX_CELLS];       /* List of cells to be deactivated */
-    F1TnlAssoc          assocLstAdd[MAX_TNL_ASSOC];     /* List of TNL assocs to be added */
-    F1TnlAssoc          assocLstUpd[MAX_TNL_ASSOC];     /* List of TNL assocs to be updated */
-    F1TnlAssocToRmv     assocLstRmv[MAX_TNL_ASSOC];     /* List of TNL assocs to be removed */
-    F1CellBarred        cellToBarList[DU_MAX_CELLS];      /* List of Cells to be barred */
-    F1ProtectEUTRARsrc  protectEutraRsrcList[MAXCELLINENB]; /* List of Protected EUTRA resources */
-}F1GnbCuCfgUpd;
-
-/* Sent by a gNB-DU to a gNB-CU to acknowledge update of information
- * associated to an F1-C interface instance */
-typedef struct f1GnbCuCfgUpdAck
-{
-    U32                   transId;                              /* Uniquely identify transaction */
-    F1ActCellFail         actCellFailList[DU_MAX_CELLS];      /* Cells failed to be activated list */
-    F1CritDiagnostic      critDiagnostic;                       /* Critical diagnostics */
-    F1TnlAssocAddr        assocSetupList[MAX_TNL_ASSOC];     /* TNL Assoc Setup list */
-    F1TnlAssocSetupFail   assocSetupFailList[MAX_TNL_ASSOC]; /* TNL Assoc Setup fail list */
-    F1DedSIDelUE          dedSiDelUelist[MAXNUMOFUEID];          /* Dedicated SI delivery needed UE list */
-}F1GnbCuCfgUpdAck;
-
-typedef struct f1GnbCuCfgUpdFail
-{
-    F1FailureIE   gnbCuCfgUpdFail;
-}F1GnbCuCfgUpdFail;
-
-/* This procedure enables coordination of radio resource allocation between a gNB-CU and
- * a gNB-DU. Coordination request is sent by CU to DU */
-typedef struct f1GnbDuRsrcCoordReq
-{
-   U32           transId;              /* Uniquely identifies transaction */
-   F1ReqType     reqType;              /* Request type */
-   U8            cellResCoordReqCont;  /* Container for X2AP E-UTRA - NR cell resource coordination request */
-   F1IgnoreReq   ignoreReq;            /* Ignore coordination request */
-}F1GnbDuRsrcCoordReq;
-
-/* This message is sent by a gNB-DU to a gNB-CU, to express the desired resource allocation
- * for data traffic, as a response to the GNB-DU RESOURCE COORDINATION REQUEST. */
-typedef struct f1GnbDuRsrcCoordRsp
-{
-    U32   transId;               /* Uniquely identifies transaction */
-    U8    cellResCoordRspCont;   /* Container for X2AP E-UTRA - NR cell resource coordination response */
-}F1GnbDuRsrcCoordRsp;
-
-/* This message is sent by the gNB-DU to indicate to the gNB-CU its status of overload */
-typedef struct f1GnbDuStatusInd
-{
-   U32                  transId;      /* Uniquely identifies transaction */
-   F1GnbDuOvrloadInfo   ovrloadInfo;  /* gNB-DU overloaded information */
-}F1GnbDuStatusInd;
-
-/* This message is sent by either the gNB-DU or the gNB-CU to intiate the removal
- * of the interface instance and the related resources */
-typedef struct f1RmvReq
-{
-   U32   transId; /* Uniquely identifies transaction */
-}F1RmvReq;
-
-/* This message acknowledges the initiation of removal of the interface
- * instance and the related resources */
-typedef struct f1RmvRsp
-{
-   U32                transId;     /* Uniquely identifies transaction */
-   F1CritDiagnostic   critDiagnos; /* Crititcality diagnostics */
-}F1RmvRsp;
-
-/* This message indicates that removing the interface instance and the related
- * resources cannot be accepted */
-typedef struct f1RmvFail
-{
-   U32                transId;         /* Uniquely identifies transaction */
-   F1FailCause        cause;          /* Failure cause */
-   F1CritDiagnostic   critDiagnostic; /* Criticality diagnostics */
-}F1RmvFail;
-
-/* This message is sent by the gNB-CU to indicate to the gNB-DU a need to reduce
- * the rate at which UEs access the network. */
-typedef struct f1NwkAccessRateRed
-{
-   U32               transId;        /* Uniquely identifies transaction */
-   F1UacAssistInfo   uacAssistInfo;  /* UAC Assistance Information */
-}F1NwkAccessRateRed;
-
-typedef struct f1Ipaddr
-{
- Bool ipV4Pres;
- U32  ipV4Addr; 
-}F1IpAddr;
-
-typedef struct f1SctpParams
-{
-   F1IpAddr  duIpAddr;
-   U16       duPort;
-   F1IpAddr  cuIpAddr;
-   U16       cuPort;
-}F1SctpParams;
-
-typedef struct f1EgtpParams
-{
-   F1IpAddr  localIp;      /* Ip address of local node */
-   U16       localPort;    /* Sender Port at local node */
-   F1IpAddr  destIp;       /* Ip address of peer node */
-   U16       destPort;     /* Sender port at peer node */
-   U32       minTunnelId;
-   U32       maxTunnelId;
-}F1EgtpParams;
-
-typedef struct cellCfgParams
-{
-   NrEcgi      nrEcgi;         /* ECGI */
-   U16         nrPci;          /* PCI */
-   U16         fiveGsTac;         /* 5gSTac */
-   PlmnId      plmn[MAX_PLMN]; /* List of serving PLMN IDs */
-   U8          ranac;          /* RAN Area Code */
-   U32         maxUe;          /* max UE per slot */
-}CellCfgParams;
-
-typedef struct schedulerCfg
-{
-   U8         numTxAntPorts;    /*!< Number of Tx antenna ports */
-   U8         ulSchdType;     /*!< Indicates which UL scheduler to use, range
-                               * is 0..(number of schedulers - 1) */
-   U8         dlSchdType;     /*!< Indicates which DL scheduler to use, range
-                               * is 0..(number of schedulers - 1) */
-   U8         numCells;       /*!< Max number of cells */
-   U8         maxUlUePerTti;  /*!< Max number of UE in UL per TTI */
-   U8         maxDlUePerTti;  /*!< Max number of UE in DL per TTI */
-}SchedulerCfg;
-
-typedef struct duCfgParams
-{
-   F1SctpParams       sctpParams;                    /* SCTP Params */
-   F1EgtpParams       egtpParams;                    /* EGTP Params */
-   U32                maxUe;
-   U32                duId;
-   U8                 duName[CU_DU_NAME_LEN_MAX];
-   SchedulerCfg       schedCfg;
-   CellCfgParams      cellCfg[DU_MAX_CELLS];  /* Cell info config*/
-   F1DuSrvdCellInfo   srvdCellLst[DU_MAX_CELLS];   /* Serving cell list *///TODO: this must be removed eventually
-   F1RrcVersion       rrcVersion;                    /* RRC version */
-   ClCellCfg          clCellCfg;                     /* CL cell configuration */
-
-}DuCfgParams;
-
-typedef struct duCellCb
-{
-   U32            cellId;      /* Internal cell Id */
-   CellCfgParams  cellInfo;    /* Cell info */
-   CellStatus     cellStatus;  /*Cell status */
-}DuCellCb;
-
-/*function declarations */
-void fillSlotConfig();
-S16 readClCfg();
-S16 readCfg();
-S16 duReadCfg(); 
-S16 bitStringToInt(BIT_STRING_t *bitString, U16 *val);
-
-#endif /* __DU_CONFIG_H__ */
-
-/**********************************************************************
-         End of file
-**********************************************************************/
index 65e6725..2dd414b 100644 (file)
@@ -19,7 +19,7 @@
 /* This file contains F1AP message handler functions */
 
 #include "du_mgr_main.h"
-#include "du_cfg_hdl.h"
+#include "du_cfg.h"
 #include "du_cell_mgr.h"
 #include "du_f1ap_msg_hdl.h"
 
index 0080797..10ba6af 100644 (file)
@@ -38,7 +38,6 @@
 #include "lrg.h"
 #include "legtp.h"
 
-/*#include "du_cfg_hdl.h"*/
 
 #include "gen.x"           /* General */
 #include "ssi.x"           /* System services */
index 45da7b5..2087277 100644 (file)
@@ -21,7 +21,7 @@
 #ifndef __DU_SCTP_H__
 #define __DU_SCTP_H__
 
-#include "du_cfg_hdl.h"
+#include "du_cfg.h"
 #include "du_mgr.h"
 #include "du_log.h"
 #include "cm_inet.h"