X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=src%2Fdu_app%2Fdu_mgr.h;h=4fd1f7d539a1886cbcab070a34385518b5008257;hb=d62d6a2c96903363a6d7a2f1b23658bfef3590c9;hp=4dfc7097d71174868379fd4c5e3987dfafec203a;hpb=f0f283a72b3bdf0740cb49071a2f025159f0bf15;p=o-du%2Fl2.git diff --git a/src/du_app/du_mgr.h b/src/du_app/du_mgr.h index 4dfc7097d..4fd1f7d53 100644 --- a/src/du_app/du_mgr.h +++ b/src/du_app/du_mgr.h @@ -57,6 +57,13 @@ #define DU_SET_ZERO(_buf, _size) \ memset((_buf), 0, _size); +typedef enum +{ + SLICE_INFO_NOT_AVAILABLE, + SLICE_CONFIGURED, + SLICE_RECONFIGURED +}SliceCfgState; + typedef enum { CELL_OUT_OF_SERVICE, @@ -68,14 +75,16 @@ typedef enum typedef enum { UE_INACTIVE, - UE_ACTIVE + UE_ACTIVE, + UE_DELETION_IN_PROGRESS }UeState; typedef enum { UE_CTXT_UNKNOWN, UE_CTXT_SETUP, - UE_CTXT_MOD + UE_CTXT_MOD, + UE_CTXT_RELEASE }UeCtxtActionType; /** F1AP Msg IE **/ @@ -125,6 +134,7 @@ typedef struct duUeCfg AmbrCfg *ambrCfg; uint8_t numDrb; UpTnlCfg upTnlInfo[MAX_NUM_DRB]; /* User plane TNL Info*/ + MacUeCfg copyOfmacUeCfg; }DuUeCfg; typedef struct f1UeContextSetup @@ -159,13 +169,14 @@ typedef struct duUeCb typedef struct duCellCb { - uint16_t cellId; /* Internal cell Id */ - CellCfgParams cellInfo; /* Cell info */ + uint16_t cellId; /* Internal cell Id */ + CellCfgParams cellInfo; /* Cell info */ /* pointer to store the address of macCellCfg params used to send du-app to MAC */ - MacCellCfg *duMacCellCfg; - CellStatus cellStatus; /* Cell status */ - uint32_t numActvUes; /* Total Active UEs */ - DuUeCb ueCb[MAX_NUM_UE]; /* UE CONTEXT */ + MacCellCfg *duMacCellCfg; + CellStatus cellStatus; /* Cell status */ + uint32_t gnbDuUeF1apIdGenerator; /* Generating Du Ue F1ap Id */ + uint32_t numActvUes; /* Total Active UEs */ + DuUeCb ueCb[MAX_NUM_UE]; /* UE CONTEXT */ }DuCellCb; typedef struct duLSapCb @@ -188,23 +199,31 @@ typedef struct ueCcchCtxt uint16_t cellId; /* Cell Id */ }UeCcchCtxt; +/* This structure is added to store the information about the F1AP pdu and + * transId so that It can be used in future */ +typedef struct reservedF1apPduInfo +{ + uint8_t transId; /* trans Id */ + void *f1apMsg; /* msg structure */ +}ReservedF1apPduInfo; /* DU APP DB */ typedef struct duCb { - Mem mem; /* Memory configs */ - TskInit init; /* DU Init */ - //DuLSapCb **macSap; /* MAC SAP */ - bool f1Status; /* Status of F1 connection */ - bool e2Status; /* Status of E2 connection */ - uint8_t numCfgCells; - DuCellCb* cfgCellLst[MAX_NUM_CELL]; /* List of cells at DU APP of type DuCellCb */ - uint8_t numActvCells; - DuCellCb* actvCellLst[MAX_NUM_CELL]; /* List of cells activated/to be activated of type DuCellCb */ - uint32_t numUe; /* current number of UEs */ - UeCcchCtxt ueCcchCtxt[MAX_NUM_UE]; /* mapping of gnbDuUeF1apId to CRNTI required for CCCH processing*/ - uint8_t numDrb; /* current number of DRbs*/ - UpTnlCfg* upTnlCfg[MAX_NUM_DRB]; /* tunnel info for every Drb */ + Mem mem; /* Memory configs */ + TskInit init; /* DU Init */ + bool f1Status; /* Status of F1 connection */ + bool e2Status; /* Status of E2 connection */ + 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 */ + DuCellCb* actvCellLst[MAX_NUM_CELL]; /* List of cells activated/to be activated of type DuCellCb */ + uint32_t numUe; /* current number of UEs */ + UeCcchCtxt ueCcchCtxt[MAX_NUM_UE]; /* mapping of gnbDuUeF1apId to CRNTI required for CCCH processing*/ + uint8_t numDrb; /* current number of DRbs*/ + UpTnlCfg* upTnlCfg[MAX_NUM_DRB]; /* tunnel info for every Drb */ + CmLListCp reservedF1apPduList; /*storing F1AP pdu infomation and transId */ + SliceCfgState sliceState; }DuCb; @@ -260,7 +279,7 @@ uint8_t duSendEgtpTnlMgmtReq(uint8_t action, uint32_t teIdMod, GtpTnlCfg *tnlInf uint8_t duSendEgtpDatInd(Buffer *mBuf); uint8_t duHdlSchCfgComplete(Pst *pst, RgMngmt *cfm); uint8_t duBuildAndSendMacCellStart(); -uint8_t duBuildAndSendMacCellStop(); +uint8_t duBuildAndSendMacCellStop(uint16_t cellId); #endif /**********************************************************************