X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=src%2Fdu_app%2Fdu_mgr.h;h=4210106b6daf4f8f5b76be40a90299963f5af805;hb=cdf2274ce07f8a5e066f1a49e92db156f1a92c66;hp=e7345f58d8536b9cc2a9f16062d43a741a4f51a2;hpb=0ee9d868ee051d37995fa518c7f7c908d10ebc27;p=o-du%2Fl2.git diff --git a/src/du_app/du_mgr.h b/src/du_app/du_mgr.h index e7345f58d..4210106b6 100644 --- a/src/du_app/du_mgr.h +++ b/src/du_app/du_mgr.h @@ -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 @@ -140,19 +141,65 @@ typedef struct drxCycle }DrxCycle; #endif +typedef struct duLcCfg +{ + ConfigType configType; + LcCfg lcConfig; +}DuLcCfg; + +typedef struct duMacUeCfg +{ + uint16_t cellId; + uint8_t ueId; + uint16_t crnti; + bool macCellGrpCfgPres; + MacCellGrpCfg macCellGrpCfg; + bool phyCellGrpCfgPres; + PhyCellGrpCfg phyCellGrpCfg; + bool spCellCfgPres; + SpCellRecfg spCellCfg; + AmbrCfg *ambrCfg; + ModulationInfo dlModInfo; /* DL modulation info */ //TBD + ModulationInfo ulModInfo; /* UL modulation info */ //TBD + uint8_t numLcs; + DuLcCfg lcCfgList[MAX_NUM_LC]; + UeCfgState macUeCfgState; /* InActive / Completed */ //TBD + DataTransmissionAction transmissionAction; //TBD +#ifdef NR_DRX + bool drxConfigIndicatorRelease; +#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 */ - LcCfg macLcCfg[MAX_NUM_LC]; + DuLcCfg macLcCfg[MAX_NUM_LC]; AmbrCfg *ambrCfg; uint8_t numDrb; UpTnlCfg upTnlInfo[MAX_NUM_DRB]; /* User plane TNL Info*/ uint8_t numDrbSetupMod; /*No. of DRB Added during Modification*/ - MacUeCfg copyOfmacUeCfg; + uint8_t numDrbModified; /*No. of DRB Modified during Modification*/ + DuMacUeCfg copyOfmacUeCfg; DataTransmissionAction dataTransmissionAction; #ifdef NR_DRX bool drxCyclePres; @@ -188,8 +235,8 @@ typedef struct duUeCb uint32_t drbBitMap; /* Drb Bit Map */ UeState ueState; /* UE Active/ Ue Inactive state */ MacCfraResource cfraResource; /* CF-RA resource assigned by MAC/SCH */ - MacUeCfg macUeCfg; /* Mac Ue Cfg */ - RlcUeCfg rlcUeCfg; /* Rlc Ue Cfg */ + DuMacUeCfg duMacUeCfg; /* Mac Ue Cfg */ + DuRlcUeCfg duRlcUeCfg; /* Rlc Ue Cfg */ }DuUeCb; typedef struct slotInfo @@ -276,6 +323,13 @@ 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 { @@ -283,6 +337,7 @@ 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 */ @@ -293,8 +348,9 @@ 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 */ + F1SetupMsg f1SetupReqAndRspMsg; /* f1 Setup Req And Rsp Msg*/ + DuTimers duTimersInfo; /* Du timers queue */ }DuCb;