[Epic-ID: ODUHIGH-405][Task-ID: ODUHIGH-425] Changes in Ue Context Modification
[o-du/l2.git] / src / du_app / du_mgr.h
index 2c4d195..5f02a2c 100644 (file)
@@ -76,6 +76,7 @@ typedef enum
 {
    UE_INACTIVE,
    UE_ACTIVE,
+   UE_HANDIN_IN_PROGRESS,
    UE_DELETION_IN_PROGRESS
 }UeState;
 
@@ -84,6 +85,8 @@ typedef enum
    UE_CTXT_UNKNOWN,
    UE_CTXT_SETUP,
    UE_CTXT_MOD,
+   UE_CTXT_RRC_RECFG_COMPLETE,
+   UE_CTXT_CFG_QUERY,
    UE_CTXT_RELEASE
 }UeCtxtActionType;
 
@@ -136,6 +139,7 @@ typedef struct duUeCfg
    UpTnlCfg upTnlInfo[MAX_NUM_DRB];  /* User plane TNL Info*/
    uint8_t numDrbSetupMod;        /*No. of DRB Added during Modification*/
    MacUeCfg copyOfmacUeCfg;
+   DataTransmissionAction dataTransmissionAction; 
 }DuUeCfg;
 
 typedef struct f1UeContextSetup
@@ -168,6 +172,12 @@ typedef struct duUeCb
    RlcUeCfg rlcUeCfg;        /* Rlc Ue Cfg */
 }DuUeCb;
 
+typedef struct  slotInfo
+{
+   uint16_t sfn;
+   uint16_t slot;
+}SlotInfo;
+
 typedef struct duCellCb
 {
    uint16_t       cellId;                 /* Internal cell Id */
@@ -176,7 +186,10 @@ typedef struct duCellCb
    MacCellCfg     *duMacCellCfg;
    CellStatus     cellStatus;             /* Cell status */
    uint32_t       numActvUes;             /* Total Active UEs */
-   DuUeCb         ueCb[MAX_NUM_UE];       /* UE CONTEXT */
+   DuUeCb         ueCb[MAX_NUM_UE];       /* UE context created after RRC setup */
+   uint32_t       numHoUes;               /* Number of UE handover in progress */
+   DuUeCb         hoUeCb[MAX_NUM_UE];     /* UE context created before RACH for UE being handover to this DU */
+   SlotInfo       currSlotInfo;
 }DuCellCb;
 
 typedef struct duLSapCb
@@ -221,8 +234,8 @@ typedef struct duCb
    uint32_t      gnbDuUeF1apIdGenerator;    /* Generating Du Ue F1ap Id */
    uint32_t      numUe;                     /* current number of UEs */
    UeCcchCtxt    ueCcchCtxt[MAX_NUM_UE];    /* mapping of gnbDuUeF1apId to CRNTI required for CCCH processing*/
-   uint8_t       numTeId;                    /* current number of TEIDs configured in the system*/
-   UpTnlCfg*     upTnlCfg[MAX_TEID];     /* tunnel info for every Drb */
+   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;