[Epic-ID: ODUHIGH-557][Task-ID: ODUHIGH-560] Enable/Disable core affinity at compile...
[o-du/l2.git] / src / du_app / du_cfg.h
index 7f3ef7f..aacb3e8 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 PHR_PROHIBHIT_TMR 0
 #define PHR_PWR_FACTOR_CHANGE 3
 #define PHR_MODE_OTHER_CG 0
-#define SN_FIELD_LEN 1
+#define SN_FIELD_LEN_12BIT 0 /*As per Spec 38.331, The network configures only value size12 in SN-FieldLengthAM for SRB */
 #define T_POLL_RETRANSMIT 8       /* Enum for 45ms */ 
 #define T_POLL_RETRANSMIT_VAL 45  /* Value in ms */
 #define POLL_PDU 0                /* Enum for 4 pdus */
 #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
@@ -1247,12 +1248,14 @@ typedef struct sib1Params
 }Sib1Params;
 
 typedef struct duCfgParams
-{
-   SctpParams         sctpParams;                  /* SCTP Params */
-   F1EgtpParams       egtpParams;                  /* EGTP Params */
-   uint32_t           maxUe;
+{  
    uint32_t           duId;
    char               *duName;
+   uint16_t           maxNumDrb;
+   uint16_t           maxSupportedUes;
+   uint32_t           maxUe;
+   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 */
@@ -1262,15 +1265,6 @@ typedef struct duCfgParams
    MacSliceCfgReq     tempSliceCfg;
 }DuCfgParams;
 
-typedef struct f1SetupMsg
-{
-   uint8_t f1MsgReqBufSize;
-   char    *f1MsgReqBuf; 
-   uint8_t f1MsgRspBufSize;
-   char    *f1MsgRspBuf;
-}F1SetupMsg;
-
-
 #ifndef O1_ENABLE
 //RRM POLICY STRUCT
 
@@ -1309,6 +1303,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);