[Epic-ID: ODUHIGH-538] Compilation fix
[o-du/l2.git] / src / du_app / du_cfg.h
index 316a1e7..14007fd 100644 (file)
@@ -24,6 +24,8 @@
 #endif
 
 /* MACROS */
+#define GNB_ID  1 /* As per 38.423,Sec 9.2.2.1, gnbId range b/w 0 to 4294967295 */
+
 #define DU_INST 0
 #define DU_ID 1
 
@@ -46,7 +48,6 @@
 //TODO: while testing for TDD, Mu1 and 100 MHz, this flag must be enabled
 #ifdef NR_TDD
 #define DUPLEX_MODE DUP_MODE_TDD
-#define NR_NUMEROLOGY 1
 #define NR_DL_ARFCN 623400
 #define NR_UL_ARFCN 623400
 #define NR_FREQ_BAND 78
@@ -54,7 +55,6 @@
 #define NR_BANDWIDTH BANDWIDTH_100MHZ
 #else
 #define DUPLEX_MODE DUP_MODE_FDD
-#define NR_NUMEROLOGY 0
 #define NR_DL_ARFCN 428000
 #define NR_UL_ARFCN 390000
 #define NR_FREQ_BAND 1
 #define DRX_SLOT_OFFSET 0
 #endif
 
+/* In case of initial configuration we are supporting only 2 measurement
+ * information RRU.PrbTotDl and RRU.PrbTotUl.
+ * In case of configuration modification we are supporting 3 measurement
+ * information RRU.PrbTotDl, RRU.PrbTotUl and UECNTX.RelReq */
+#define NUM_OF_MEASUREMENT_INFO_SUPPORTED(_configType) \
+   ((_configType == CONFIG_ADD) ? 2 :3)
+
 typedef enum
 {
    GNBDU,
@@ -680,17 +687,11 @@ typedef struct epIpAddrPort
    char   port[2];
 }EpIpAddrPort;
 
-typedef struct f1TaiSliceSuppLst
-{
-   uint8_t    numSupportedSlices;
-   Snssai    **snssai;   
-}F1TaiSliceSuppLst;
-
 typedef struct f1SrvdPlmn
 {
    Plmn   plmn;
    Plmn   extPlmn;    /* Extended available PLMN list */
-   F1TaiSliceSuppLst taiSliceSuppLst;
+   SupportedSliceList taiSliceSuppLst;
 }F1SrvdPlmn;
 
 typedef struct f1BrdcstPlmnInfo
@@ -1246,13 +1247,28 @@ typedef struct sib1Params
    SrvCellCfgCommSib     srvCellCfgCommSib;
 }Sib1Params;
 
-typedef struct duCfgParams
+typedef struct threadInfo
 {
-   SctpParams         sctpParams;                  /* SCTP Params */
-   F1EgtpParams       egtpParams;                  /* EGTP Params */
-   uint32_t           maxUe;
+   SSTskId duAppSTskId;
+   SSTskId egtpSTskId;
+   SSTskId sctpSTskId;
+   SSTskId rlcUlSTskId;
+   SSTskId rlcMacSTskId;
+   SSTskId schSTskId;
+   SSTskId lwrMacSTskId;
+   SSTskId phyStubSlotIndSTskId;
+}ThreadInfo;
+
+typedef struct duCfgParams
+{  
    uint32_t           duId;
    char               *duName;
+   uint16_t           maxNumDrb;
+   uint16_t           maxSupportedUes;
+   uint32_t           maxUe;
+   ThreadInfo         threadInfo;
+   SctpParams         sctpParams;                  /* SCTP Params */
+   F1EgtpParams       egtpParams;                  /* EGTP Params */
    SchedulerCfg       schedCfg;
    F1DuSrvdCellInfo   srvdCellLst[MAX_NUM_CELL];  /* Serving cell list *///TODO: this must be removed eventually
    F1RrcVersion       rrcVersion;                 /* RRC version */
@@ -1300,6 +1316,10 @@ DuCfgParams duCfgParam;
 uint8_t readClCfg();
 uint8_t readCfg();
 uint8_t duReadCfg(); 
+void printDuConfig();
+
+uint8_t fillDuSrvdCellSysInfo(F1DuSysInfo *sysInfo);
+
 uint16_t calcSliv(uint8_t startSymbol, uint8_t lengthSymbol);
 uint8_t cpyRrmPolicyInDuCfgParams(RrmPolicyList rrmPolicy[], uint8_t policyNum, MacSliceCfgReq *tempSliceCfg);