X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=src%2Fcm%2Fdu_app_rlc_inf.h;h=5dd9f6c8b264418416ac7ffcd002c69747af393f;hb=8f9c36b26af6c88c2c7a9c0375e58e1723246090;hp=34147e00a310337f1f6f1166a6d1010b5f72e2cb;hpb=6e4e341b9d0e394196b7dc49045073cae098e6bf;p=o-du%2Fl2.git diff --git a/src/cm/du_app_rlc_inf.h b/src/cm/du_app_rlc_inf.h index 34147e00a..5dd9f6c8b 100644 --- a/src/cm/du_app_rlc_inf.h +++ b/src/cm/du_app_rlc_inf.h @@ -33,13 +33,11 @@ #define EVENT_UL_USER_DATA_TRANS_TO_DU 219 #define EVENT_RLC_UE_DELETE_REQ 220 #define EVENT_RLC_UE_DELETE_RSP 221 +#define EVENT_RLC_SLICE_PM_TO_DU 222 #define RB_ID_SRB 0 #define RB_ID_DRB 1 -#define RB_TYPE_SRB 0 /* Signalling Radio Bearer */ -#define RB_TYPE_DRB 1 /* Data Radio Bearer */ - /* RLC Direction Config */ #define RLC_CFG_DIR_UL 1 /*!< Uplink direction */ #define RLC_CFG_DIR_DL 2 /*!< Downlink direction */ @@ -53,6 +51,12 @@ #define LCH_DTCH 4 /*!< DTCH Logical Channel */ #define LCH_DCCH 5 /*!< DCCH Logical Channel */ +typedef enum +{ + RB_TYPE_SRB, /* Signalling Radio Bearer */ + RB_TYPE_DRB /* Data Radio Bearer */ +}RlcRbType; + typedef enum { TRANSMISSION_IN_PROGRESS, @@ -179,7 +183,7 @@ typedef struct rlcBearerCfg { ConfigType configType; uint8_t rbId; - uint8_t rbType; + RlcRbType rbType; uint8_t lcId; uint8_t lcType; Snssai *snssai; @@ -196,7 +200,7 @@ typedef struct rlcBearerCfg typedef struct rlcUeCfg { uint16_t cellId; - uint8_t ueIdx; + uint8_t ueId; uint8_t numLcs; RlcBearerCfg rlcLcCfg[MAX_NUM_LC]; UeCfgState rlcUeCfgState; /* InActive / Completed */ @@ -205,7 +209,7 @@ typedef struct rlcUeCfg typedef struct rlcUeCfgRsp { uint16_t cellId; - uint16_t ueIdx; + uint16_t ueId; RlcRsp result; FailureReason reason; }RlcUeCfgRsp; @@ -227,7 +231,7 @@ typedef struct rlcUeDeleteRsp typedef struct ulRrcMsgInfo { uint16_t cellId; /* Cell Id */ - uint16_t ueIdx; /* UE Index */ + uint16_t ueId; /* UE Id */ uint8_t lcId; /* Logical channel Id */ uint16_t msgLen; /* RRC message length (in bytes) */ uint8_t *rrcMsg; /* RRC Message (UL-DCCH Message) */ @@ -237,7 +241,7 @@ typedef struct ulRrcMsgInfo typedef struct ulUserDatInfo { uint16_t cellId; /* Cell Id */ - uint16_t ueIdx; /* UE Index */ + uint16_t ueId; /* UE Id */ uint8_t rbId; uint16_t msgLen; /* User data length (in bytes) */ uint8_t *userData; /* User data (UL-DTCH Message) */ @@ -247,8 +251,8 @@ typedef struct ulUserDatInfo typedef struct dlRrcMsgInfo { uint16_t cellId; /* Cell Id */ - uint16_t ueIdx; /* UE index */ - uint8_t rbType; /* Radio Bearer Type */ + uint16_t ueId; /* UE Id */ + RlcRbType rbType; /* Radio Bearer Type */ uint8_t rbId; /* Radio Bearer Id */ uint8_t lcType; /* Logical channel type */ uint8_t lcId; /* Logical channel Id */ @@ -273,10 +277,30 @@ typedef struct rrcDeliveryStatus uint16_t triggeringMessage; }RrcDeliveryStatus; +typedef struct +{ + uint32_t sd:24; + uint8_t sst; +}SliceIdentifier; + +/*Pm Metric for NW Slicing from RLC to DUAPP*/ +typedef struct slicePm +{ + SliceIdentifier networkSliceIdentifier; + double ThpDl; + double ThpUl; +}SlicePm; + +typedef struct slicePmList +{ + uint8_t numSlice; + SlicePm *sliceRecord; +}SlicePmList; + typedef struct rrcDeliveryReportInfo { uint16_t cellId; - uint16_t ueIdx; + uint16_t ueId; uint8_t srbId; RrcDeliveryStatus rrcDeliveryStatus; }RrcDeliveryReport; @@ -285,7 +309,7 @@ typedef struct rrcDeliveryReportInfo typedef struct dlDataMsgInfo { uint16_t cellId; /* Cell Id */ - uint16_t ueIdx; /* UE index */ + uint16_t ueId; /* UE Id */ uint8_t rbId; /* Radio Bearer Id */ uint16_t msgLen; /* Message length */ Buffer *dlMsg; /* DL Data */ @@ -347,6 +371,11 @@ typedef uint8_t (*DuRlcDlUserDataToRlcFunc) ARGS(( Pst *pst, RlcDlUserDataInfo *dlDataMsg)); +/* Slice Metrics from RLC to DU APP */ +typedef uint8_t (*RlcSlicePmToDuFunc) ARGS(( + Pst *pst, + SlicePmList *sliceStats)); + /* Pack/Unpack function declarations */ uint8_t packDuRlcUeCreateReq(Pst *pst, RlcUeCfg *ueCfg); uint8_t unpackRlcUeCreateReq(DuRlcUeCreateReq func, Pst *pst, Buffer *mBuf); @@ -370,6 +399,8 @@ uint8_t packDuRlcUeDeleteReq(Pst *pst, RlcUeDelete *ueDelete); uint8_t unpackRlcUeDeleteReq(DuRlcUeDeleteReq func, Pst *pst, Buffer *mBuf); uint8_t packRlcDuUeDeleteRsp(Pst *pst, RlcUeDeleteRsp *ueDeleteRsp); uint8_t unpackRlcUeDeleteRsp(RlcDuUeDeleteRsp func, Pst *pst, Buffer *mBuf); +uint8_t packRlcDuSlicePm(Pst *pst, SlicePmList *sliceStats); +uint8_t unpackRlcSlicePm(RlcSlicePmToDuFunc func, Pst *pst, Buffer *mBuf); /* Event Handler function declarations */ uint8_t RlcProcUeCreateReq(Pst *pst, RlcUeCfg *ueCfg); @@ -383,6 +414,7 @@ uint8_t DuProcRlcUlUserDataTrans(Pst *pst, RlcUlUserDatInfo *ulUserData); uint8_t RlcProcDlUserDataTransfer(Pst *pst, RlcDlUserDataInfo *dlDataMsgInfo); uint8_t RlcProcUeDeleteReq(Pst *pst, RlcUeDelete *ueDelete); uint8_t DuProcRlcUeDeleteRsp(Pst *pst, RlcUeDeleteRsp *delRsp); +uint8_t DuProcRlcSliceMetrics(Pst *pst, SlicePmList *sliceStats); #endif /* RLC_INF_H */ /**********************************************************************