#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
#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,
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
}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 */
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);