X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=src%2Fcm%2Fdu_app_rlc_inf.h;h=ee536f64bff6ac0ce717540716c34d12f4f28624;hb=ab13dee0decf8731b1d95f943d13a6e7a4a2ead5;hp=ebf0cdde403ccc0d2aabe236bf986a812f50a3c3;hpb=40d79285fedc8551f3f0e43ba01123d367c09248;p=o-du%2Fl2.git diff --git a/src/cm/du_app_rlc_inf.h b/src/cm/du_app_rlc_inf.h index ebf0cdde4..ee536f64b 100644 --- a/src/cm/du_app_rlc_inf.h +++ b/src/cm/du_app_rlc_inf.h @@ -36,6 +36,7 @@ #define EVENT_RLC_SLICE_PM_TO_DU 222 #define EVENT_RLC_UE_REESTABLISH_REQ 223 #define EVENT_RLC_UE_REESTABLISH_RSP 224 +#define EVENT_RLC_MAX_RETRANSMISSION 225 #define RB_ID_SRB 0 #define RB_ID_DRB 1 @@ -120,6 +121,16 @@ typedef enum RLC_DU_APP_RSP_NOK }RlcRsp; +/* Ref: ORAN_WG8.V7.0.0 Sec 11.2.5.10 RLC Max Retransmission Reached */ + +typedef struct rlcMaxRetransInd +{ + uint16_t cellId; + uint16_t ueId; + RlcRbType lcType; + uint8_t lcId; +}RlcMaxRetransInfo; + typedef struct ulAmCfg { SnLenAm snLenUl; /* Sequence Number length in bits. Allowed values are 12 and 18 */ @@ -206,22 +217,25 @@ typedef struct rlcUeRecfg }RlcUeRecfg; /* Ref: ORAN_WG8.V7.0.0 Sec 11.2.5.1 UE Create */ -typedef struct rlcUeCfg +typedef struct rlcUeCreate { uint16_t cellId; uint8_t ueId; uint8_t numLcsToAdd; RlcBearerCfg rlcLcCfgAdd[MAX_NUM_LC]; -}RlcUeCfg; +}RlcUeCreate; /* Ref: ORAN_WG8.V7.0.0 Sec 11.2.5.2 UE Create Response */ -typedef struct rlcUeCfgRsp +typedef struct rlcUeCreateRsp { uint16_t cellId; uint16_t ueId; RlcRsp result; FailureReason reason; -}RlcUeCfgRsp; +}RlcUeCreateRsp; + +/* Ref: ORAN_WG8.V7.0.0 Sec 11.2.5.4 UE Reconfig Response */ +typedef struct rlcUeCreateRsp RlcUeReconfigRsp; /* Ref: ORAN_WG8.V7.0.0 Sec 11.2.5.5 UE Delete Response */ typedef struct rlcUeDelete @@ -342,15 +356,21 @@ typedef struct rlcUeReestablishRsp }RlcUeReestablishRsp; /* Function Pointers */ + +/* Max Retransmission from RLC to DU APP*/ +typedef uint8_t (*RlcDuMaxRetransInd) ARGS(( + Pst *pst, + RlcMaxRetransInfo *maxRetransInfo)); + /* UE create Request from DU APP to RLC*/ typedef uint8_t (*DuRlcUeCreateReq) ARGS(( Pst *pst, - RlcUeCfg *ueCfg )); + RlcUeCreate *ueCfg )); -/* UE Cfg Response from RLC to DU APP*/ -typedef uint8_t (*RlcDuUeCfgRsp) ARGS(( +/* UE Create Response from RLC to DU APP*/ +typedef uint8_t (*RlcDuUeCreateRsp) ARGS(( Pst *pst, - RlcUeCfgRsp *ueCfgRsp)); + RlcUeCreateRsp *ueCreateRsp)); /* UE Delete Response from RLC to DU APP*/ typedef uint8_t (*RlcDuUeDeleteRsp) ARGS(( @@ -377,6 +397,11 @@ typedef uint8_t (*DuRlcUeReconfigReq) ARGS(( Pst *pst, RlcUeRecfg *ueRecfg )); +/* UE Reconfig Response from RLC to DU APP*/ +typedef uint8_t (*RlcDuUeReconfigRsp) ARGS(( + Pst *pst, + RlcUeReconfigRsp *ueReconfigRsp)); + /* UE Delete Request from DU APP to RLC */ typedef uint8_t (*DuRlcUeDeleteReq) ARGS(( Pst *pst, @@ -413,10 +438,14 @@ typedef uint8_t (*RlcDuUeReestablishRsp) ARGS(( RlcUeReestablishRsp *ueDelRsp)); /* Pack/Unpack function declarations */ -uint8_t packDuRlcUeCreateReq(Pst *pst, RlcUeCfg *ueCfg); +uint8_t packRlcDuMaxRetransInd(Pst *pst, RlcMaxRetransInfo *maxRetransInd); +uint8_t unpackRlcMaxRetransInd(RlcDuMaxRetransInd func, Pst *pst, Buffer *mBuf); +uint8_t packDuRlcUeCreateReq(Pst *pst, RlcUeCreate *ueCfg); uint8_t unpackRlcUeCreateReq(DuRlcUeCreateReq func, Pst *pst, Buffer *mBuf); -uint8_t packRlcDuUeCfgRsp(Pst *pst, RlcUeCfgRsp *ueCfgRsp); -uint8_t unpackRlcUeCfgRsp(RlcDuUeCfgRsp func, Pst *pst, Buffer *mBuf); +uint8_t packRlcDuUeCreateRsp(Pst *pst, RlcUeCreateRsp *ueCfgRsp); +uint8_t unpackRlcUeCreateRsp(RlcDuUeCreateRsp func, Pst *pst, Buffer *mBuf); +uint8_t packRlcDuUeReconfigRsp(Pst *pst, RlcUeReconfigRsp *ueCfgRsp); +uint8_t unpackRlcUeReconfigRsp(RlcDuUeReconfigRsp func, Pst *pst, Buffer *mBuf); uint8_t packRlcUlRrcMsgToDu(Pst *pst, RlcUlRrcMsgInfo *ulRrcMsgInfo); uint8_t unpackRlcUlRrcMsgToDu(RlcUlRrcMsgToDuFunc func, Pst *pst, Buffer *mBuf); uint8_t packDlRrcMsgToRlc(Pst *pst, RlcDlRrcMsgInfo *dlRrcMsgInfo); @@ -443,8 +472,10 @@ uint8_t packRlcDuUeReestablishRsp(Pst *pst, RlcUeReestablishRsp *ueReestablishRs uint8_t unpackRlcUeReestablishRsp(RlcDuUeReestablishRsp func, Pst *pst, Buffer *mBuf); /* Event Handler function declarations */ -uint8_t RlcProcUeCreateReq(Pst *pst, RlcUeCfg *ueCfg); -uint8_t DuProcRlcUeCfgRsp(Pst *pst, RlcUeCfgRsp *cfgRsp); +uint8_t DuProcRlcMaxRetransInd(Pst *pst, RlcMaxRetransInfo *maxRetransInd); +uint8_t RlcProcUeCreateReq(Pst *pst, RlcUeCreate *ueCfg); +uint8_t DuProcRlcUeCreateRsp(Pst *pst, RlcUeCreateRsp *cfgRsp); +uint8_t DuProcRlcUeReconfigRsp(Pst *pst, RlcUeReconfigRsp *recfgRsp); uint8_t DuProcRlcUlRrcMsgTrans(Pst *pst, RlcUlRrcMsgInfo *ulRrcMsgInfo); uint8_t RlcProcDlRrcMsgTransfer(Pst *pst, RlcDlRrcMsgInfo *dlRrcMsgInfo); uint8_t DuProcRlcRrcDeliveryReport(Pst *pst, RrcDeliveryReport *rrcDeliveryReport);