X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=src%2Fdu_app%2Fdu_mgr.h;h=39265d606dd746e5cecd1d8731ef9473c04205f7;hb=cbb5d8d83a41cbf191347d447a66c9cd062d4d81;hp=c48583a4e81cbd02b9376ddce1e12fa9d64f3e37;hpb=aa4e78164447b8cad6f38791047377640fd0c6f2;p=o-du%2Fl2.git diff --git a/src/du_app/du_mgr.h b/src/du_app/du_mgr.h index c48583a4e..39265d606 100644 --- a/src/du_app/du_mgr.h +++ b/src/du_app/du_mgr.h @@ -75,7 +75,8 @@ typedef enum { UE_CTXT_UNKNOWN, UE_CTXT_SETUP, - UE_CTXT_MOD + UE_CTXT_MOD, + UE_CTXT_RELEASE }UeCtxtActionType; /** F1AP Msg IE **/ @@ -97,6 +98,23 @@ typedef struct f1DlRrcMsg 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; @@ -106,6 +124,8 @@ typedef struct duUeCfg uint8_t numMacLcs; /* Mac Ue Cfg */ LcCfg macLcCfg[MAX_NUM_LC]; AmbrCfg *ambrCfg; + uint8_t numDrb; + UpTnlCfg upTnlInfo[MAX_NUM_DRB]; /* User plane TNL Info*/ }DuUeCfg; typedef struct f1UeContextSetup @@ -113,6 +133,7 @@ typedef struct f1UeContextSetup UeCtxtActionType actionType; uint8_t cellIdx; DuUeCfg duUeCfg; + bool dlRrcMsgPres; F1DlRrcMsg *dlRrcMsg; }F1UeContextSetupDb; @@ -168,6 +189,13 @@ 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 @@ -183,6 +211,9 @@ 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 */ + CmLListCp reservedF1apPduList; /*storing F1AP pdu infomation and transId */ }DuCb; @@ -234,11 +265,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 duSendEgtpTnlMgmtReq(uint8_t action, uint32_t teIdMod, GtpTnlCfg *tnlInfo); 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 /**********************************************************************