X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=src%2Fdu_app%2Fdu_mgr.h;h=d2d8c7bcdc1381f25d665d83e9a20c94bb4aae90;hb=069ae37558afd5aee2d1072bbf5b517cf665bdd8;hp=0080797147b8f5ea636df6a305a89c5c2110e5bf;hpb=3235ecfc7414aa0b72d0ad50db63ae8b5626045b;p=o-du%2Fl2.git diff --git a/src/du_app/du_mgr.h b/src/du_app/du_mgr.h index 008079714..d2d8c7bcd 100644 --- a/src/du_app/du_mgr.h +++ b/src/du_app/du_mgr.h @@ -37,8 +37,7 @@ #include "lkw.h" #include "lrg.h" #include "legtp.h" - -/*#include "du_cfg_hdl.h"*/ +#include "du_app_mac_inf.h" #include "gen.x" /* General */ #include "ssi.x" /* System services */ @@ -54,12 +53,14 @@ #include "lkw.x" #include "lrg.x" +#include "du_cfg.h" + #define DU_PROC 0 /* Memory related configs */ #define DU_APP_MEM_REGION 0 -#define RLC_UL_MEM_REGION 1 -#define RLC_DL_MEM_REGION 4 -#define RG_MEM_REGION 4 +#define RLC_UL_MEM_REGION 1 +#define RLC_DL_MEM_REGION 4 +#define MAC_MEM_REGION 4 #define DU_POOL 1 #define RLC_POOL 1 @@ -68,13 +69,15 @@ /* Events */ #define EVTCFG 0 #define EVTSCTPSTRT 1 -#define EVTSCTPDATA 2 -#define EVTSCTPNTFY 3 +#define EVENT_CU_DATA 2 +#define EVENT_SCTP_NTFY 3 #define EVTSRVOPENREQ 4 #define EVTSRVOPENCFM 5 #define EVTTNLMGMTREQ 6 #define EVTTNLMGMTCFM 7 -#define EVTTTIIND 8 +#define EVTSLOTIND 8 +#define EVTSTARTPOLL 9 +#define EVENT_RIC_DATA 10 /* Selector */ #define DU_SELECTOR_LC 0 @@ -97,8 +100,6 @@ #define DU_ZERO_VAL 0 /* Macros */ -#define DEFAULT_CELLS 1 -#define NR_RANAC 150 #define ADD 0 #define DEL 1 @@ -138,22 +139,43 @@ SPutSBuf(DU_APP_MEM_REGION, DU_POOL, \ (Data *)_datPtr, _size); +/* Free shared memory, received through LWLC */ +#define DU_FREE_SHRABL_BUF(_region, _pool,_buf, _size) \ +{ \ + if (_buf != NULLP) \ + { \ + (Void) SPutStaticBuffer(_region, _pool, \ + (Data *) _buf, (Size) _size, 0); \ + _buf = NULLP; \ + } \ +} + + typedef enum { - OOS, + CELL_OUT_OF_SERVICE, ACTIVATION_IN_PROGRESS, ACTIVATED, DELETION_IN_PROGRESS }CellStatus; -#if 0 +typedef struct cellCfgParams +{ + NrEcgi nrEcgi; /* ECGI */ + U16 nrPci; /* PCI */ + U16 fiveGsTac; /* 5gSTac */ + Plmn plmn[MAX_PLMN]; /* List of serving PLMN IDs */ + U32 maxUe; /* max UE per slot */ +}CellCfgParams; + + typedef struct duCellCb { U32 cellId; /* Internal cell Id */ CellCfgParams cellInfo; /* Cell info */ + Bool firstSlotIndRcvd; CellStatus cellStatus; /*Cell status */ }DuCellCb; -#endif typedef struct duLSapCb { @@ -163,9 +185,9 @@ typedef struct duLSapCb State sapState; Mem mem; CmTimer timer; - U8 bndRetryCnt; - U8 maxBndRetry; - TmrCfg bndTmr; + U8 bndRetryCnt; + U8 maxBndRetry; + TmrCfg bndTmr; }DuLSapCb; /* DU APP DB */ @@ -175,8 +197,11 @@ typedef struct duCb TskInit init; /* DU Init */ //DuLSapCb **macSap; /* MAC SAP */ Bool f1Status; /* Status of F1 connection */ - CmHashListCp cellLst; /* List of cells at DU APP of type DuCellCb */ - CmHashListCp actvCellLst; /* List of cells activated/to be activated of type DuCellCb */ + Bool e2Status; /* Status of E2 connection */ + DuCellCb* cfgCellLst[DU_MAX_CELLS]; /* List of cells at DU APP of type DuCellCb */ + DuCellCb* actvCellLst[DU_MAX_CELLS]; /* List of cells activated/to be activated of type DuCellCb */ + /* pointer to store the address of macCellCfg params used to send du-app to MAC */ + MacCellCfg *duMacCellCfg; /* pointer to store params while sending DU-APP to MAC */ }DuCb; @@ -230,8 +255,10 @@ S16 duSendEgtpSrvOpenReq(); S16 duHdlEgtpSrvOpenComplete(CmStatus cfm); S16 duSendEgtpTnlMgmtReq(U8 action, U32 lclTeid, U32 remTeid); S16 duHdlEgtpTnlMgmtCfm(EgtpTnlEvt tnlEvtCfm); -S16 duSendEgtpDatInd(); +S16 duSendEgtpTestData(); +S16 duSendEgtpDatInd(Buffer *mBuf); S16 duHdlSchCfgComplete(Pst *pst, RgMngmt *cfm); +uint16_t duBuildAndSendMacCellStartReq(); #endif