UE_INACTIVE,
UE_ACTIVE,
UE_HANDIN_IN_PROGRESS,
- UE_DELETION_IN_PROGRESS
+ UE_DELETION_IN_PROGRESS,
+ UE_RESET_IN_PROGRESS
}UeState;
typedef enum
#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;
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
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
{
TskInit init; /* DU Init */
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 */
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;