[Epic-ID: ODUHIGH-516][Task-ID: ODUHIGH-523] Statistics Request API and Timer Based...
[o-du/l2.git] / src / du_app / du_mgr.h
index a51c30a..fd73b05 100644 (file)
@@ -80,7 +80,8 @@ typedef enum
    UE_INACTIVE,
    UE_ACTIVE,
    UE_HANDIN_IN_PROGRESS,
-   UE_DELETION_IN_PROGRESS
+   UE_DELETION_IN_PROGRESS,
+   UE_RESET_IN_PROGRESS
 }UeState;
 
 typedef enum
@@ -169,12 +170,28 @@ typedef struct duMacUeCfg
 #endif
 }DuMacUeCfg;
 
+typedef struct duRlcBearerCfg
+{
+   ConfigType   configType;
+   RlcBearerCfg rlcBearerCfg;
+}DuRlcBearerCfg;
+
+typedef struct duRlcUeCfg
+{
+   uint16_t       cellId;
+   uint8_t        ueId;
+   uint8_t        numLcs;
+   DuRlcBearerCfg rlcLcCfg[MAX_NUM_LC];
+   UeCfgState     rlcUeCfgState; /* InActive / Completed */
+}DuRlcUeCfg;
+
+
 typedef struct duUeCfg
 {
    void *cellGrpCfg;
    void *ueNrCapability;
    uint8_t numRlcLcs;        /* Rlc Ue Cfg */
-   RlcBearerCfg rlcLcCfg[MAX_NUM_LC];
+   DuRlcBearerCfg rlcLcCfg[MAX_NUM_LC];
    uint8_t numMacLcs;        /* Mac Ue Cfg */
    DuLcCfg   macLcCfg[MAX_NUM_LC];
    AmbrCfg *ambrCfg;
@@ -219,7 +236,7 @@ typedef struct duUeCb
    UeState  ueState;         /* UE Active/ Ue Inactive state */
    MacCfraResource cfraResource; /* CF-RA resource assigned by MAC/SCH */
    DuMacUeCfg duMacUeCfg;        /* Mac Ue Cfg */
-   RlcUeCfg rlcUeCfg;        /* Rlc Ue Cfg */
+   DuRlcUeCfg duRlcUeCfg;        /* Rlc Ue Cfg */
 }DuUeCb;
 
 typedef struct  slotInfo
@@ -306,13 +323,22 @@ typedef struct reservedF1apPduInfo
    void *f1apMsg;              /* msg structure */
 }ReservedF1apPduInfo;
 
+typedef struct duTimer
+{
+   CmTqCp       tmrTqCp;               /*!< Timer Task Queue Cntrl Point */
+   CmTqType     tmrTq[DU_TQ_SIZE];    /*!< Timer Task Queue */
+   uint8_t      tmrRes;              /*!< Timer resolution */
+}DuTimers;
+
 /* DU APP DB */
 typedef struct duCb
 {
    Mem           mem;                       /* Memory configs */
    TskInit       init;                      /* DU Init */
+   uint8_t       gnbId;                     /* gnb Id number */
    bool          f1Status;                  /* Status of F1 connection */
    bool          e2Status;                  /* Status of E2 connection */
+   E2apDb        e2apDb;                    /* E2AP database */
    uint8_t       numCfgCells;               /* number of configured cells */ 
    DuCellCb*     cfgCellLst[MAX_NUM_CELL];  /* List of cells at DU APP of type DuCellCb */
    uint8_t       numActvCells;              /* Number of active cells */
@@ -323,11 +349,10 @@ typedef struct duCb
    uint8_t       numTeId;                   /* current number of TEIDs configured in the system*/
    UpTnlCfg*     upTnlCfg[MAX_TEID];        /* tunnel info for every Drb */
    CmLListCp     reservedF1apPduList;       /*storing F1AP pdu infomation and transId */
-   SliceCfgState sliceState;
-   F1SetupMsg    f1SetupReqAndRspMsg;
+   SliceCfgState sliceState;                /* Slice status */ 
+   DuTimers      duTimersInfo;              /* Du timers queue */
 }DuCb;
 
-
 typedef struct duLSapCfg
 {
    SuId        suId;
@@ -346,6 +371,17 @@ typedef struct duLSapCfg
    TmrCfg      connTmr;
 }DuLSapCfg;
 
+/* Statistics Reported */
+typedef struct statistics
+{
+   /* As of now, KPI reporting is not implemented at RLC and DU APP.
+    * Below members are just for future reference*/
+   //DuAppStats   duAppStats;
+   //RlcStatsReq  rlcStatsReq;
+
+   MacStatsReq    macStatsReq;
+}Statistics;
+
 /* global variables */
 DuCb duCb;
 //DuCfgParams duCfgParam;