X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=src%2Fdu_app%2Fdu_mgr.h;h=9182bc337a341da38ba9408b90f42f8253966084;hb=de455b62ebaa9e36fe74dc36d342d7f6a22314e1;hp=cd059c1087884a00b4fb45de184b1be98e8c1b55;hpb=7c6820e987fadb1102e5891408ad33a8ce36ba95;p=o-du%2Fl2.git diff --git a/src/du_app/du_mgr.h b/src/du_app/du_mgr.h index cd059c108..9182bc337 100644 --- a/src/du_app/du_mgr.h +++ b/src/du_app/du_mgr.h @@ -78,37 +78,75 @@ typedef enum UE_CTXT_MOD }UeCtxtActionType; -typedef struct cellCfgParams +/** F1AP Msg IE **/ +typedef struct f1setupRsp { - NrEcgi nrEcgi; /* ECGI */ - uint16_t nrPci; /* PCI */ - uint16_t fiveGsTac; /* 5gSTac */ - Plmn plmn[MAX_PLMN]; /* List of serving PLMN IDs */ - uint32_t maxUe; /* max UE per slot */ -}CellCfgParams; + uint32_t transId; /* Uniquely identify transaction */ + char cuName[CU_DU_NAME_LEN_MAX]; /* CU Name */ + F1RrcVersion rrcVersion; /* RRC version */ +}F1SetupRsp; + +typedef struct f1DlRrcMsg +{ + uint32_t gnbDuUeF1apId; + uint32_t gnbCuUeF1apId; + uint8_t srbId; + bool execDup; + bool deliveryStatRpt; + uint16_t rrcMsgSize; + uint8_t *rrcMsgPdu; +}F1DlRrcMsg; + +typedef struct gtpTnlCfg +{ + uint32_t ulTnlAddress; /* remote Address */ + uint32_t dlTnlAddress; /* local Address */ + uint32_t teId; +}GtpTnlCfg; + +typedef struct upTnlCfg +{ + ConfigType configType; + uint8_t cellId; + uint8_t ueIdx; + uint8_t drbId; + GtpTnlCfg *tnlCfg1; /* Tunnel 1 */ + GtpTnlCfg *tnlCfg2; /* Tunnel 2 */ +}UpTnlCfg; typedef struct duUeCfg { + void *cellGrpCfg; + void *ueNrCapability; uint8_t numRlcLcs; /* Rlc Ue Cfg */ RlcBearerCfg rlcLcCfg[MAX_NUM_LC]; uint8_t numMacLcs; /* Mac Ue Cfg */ LcCfg macLcCfg[MAX_NUM_LC]; - MaxAggrBitRate *maxAggrBitRate; + AmbrCfg *ambrCfg; + uint8_t numDrb; + UpTnlCfg upTnlInfo[MAX_NUM_DRB]; /* User plane TNL Info*/ }DuUeCfg; -typedef struct ueContextSetup +typedef struct f1UeContextSetup { UeCtxtActionType actionType; - uint8_t cellIdx; - void *cellGrpCfg; - uint16_t rrcMsgLen; - uint8_t *rrcMsg; - bool deliveryStaReq; - DuUeCfg duUeCfg; /* Du Ue Cfg */ -}UeContextSetupDb; + uint8_t cellIdx; + DuUeCfg duUeCfg; + F1DlRrcMsg *dlRrcMsg; +}F1UeContextSetupDb; + +typedef struct cellCfgParams +{ + NrEcgi nrEcgi; /* ECGI */ + uint16_t nrPci; /* PCI */ + uint16_t fiveGsTac; /* 5gSTac */ + Plmn plmn[MAX_PLMN]; /* List of serving PLMN IDs */ + uint32_t maxUe; /* max UE per slot */ +}CellCfgParams; typedef struct duUeCb { + F1UeContextSetupDb *f1UeDb; uint16_t crnti; uint32_t gnbDuUeF1apId; /* GNB DU UE F1AP ID */ uint32_t gnbCuUeF1apId; /* GNB CU UE F1AP ID */ @@ -116,7 +154,6 @@ typedef struct duUeCb UeState ueState; /* UE Active/ Ue Inactive state */ MacUeCfg macUeCfg; /* Mac Ue Cfg */ RlcUeCfg rlcUeCfg; /* Rlc Ue Cfg */ - UeContextSetupDb *f1UeDb; }DuUeCb; typedef struct duCellCb @@ -125,7 +162,6 @@ typedef struct duCellCb CellCfgParams cellInfo; /* Cell info */ /* pointer to store the address of macCellCfg params used to send du-app to MAC */ MacCellCfg *duMacCellCfg; - bool firstSlotIndRcvd; CellStatus cellStatus; /* Cell status */ uint32_t numActvUes; /* Total Active UEs */ DuUeCb ueCb[MAX_NUM_UE]; /* UE CONTEXT */ @@ -166,6 +202,8 @@ typedef struct duCb 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 */ }DuCb; @@ -217,13 +255,11 @@ uint8_t duBuildEgtpCfgReq(); uint8_t duHdlEgtpCfgComplete(CmStatus cfm); uint8_t duSendEgtpSrvOpenReq(); uint8_t duHdlEgtpSrvOpenComplete(CmStatus cfm); -uint8_t duSendEgtpTnlMgmtReq(uint8_t action, uint32_t lclTeid, uint32_t remTeid); -uint8_t duHdlEgtpTnlMgmtCfm(EgtpTnlEvt tnlEvtCfm); -uint8_t duSendEgtpTestData(); +uint8_t duSendEgtpTnlMgmtReq(uint8_t action, uint32_t teIdMod, GtpTnlCfg *tnlInfo); uint8_t duSendEgtpDatInd(Buffer *mBuf); uint8_t duHdlSchCfgComplete(Pst *pst, RgMngmt *cfm); -uint8_t duBuildAndSendMacCellStartReq(); -uint8_t duBuildAndSendMacCellStopReq(); +uint8_t duBuildAndSendMacCellStart(); +uint8_t duBuildAndSendMacCellStop(); #endif /**********************************************************************