From: lal.harshita Date: Mon, 15 May 2023 07:08:53 +0000 (+0530) Subject: [Task-ID: ODUHIGH-505] Fix in RRC Setup procedure X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?p=o-du%2Fl2.git;a=commitdiff_plain;h=3fcf32e0ea0cbb4e83cbd3ece7a16e692fedcedd [Task-ID: ODUHIGH-505] Fix in RRC Setup procedure Change-Id: Ie6cf0a4b3996fa7ea7cca8763c58fad0f5c1584b Signed-off-by: lal.harshita --- diff --git a/src/5gnrmac/mac_demux.c b/src/5gnrmac/mac_demux.c index 1989a3be5..02b9e113b 100644 --- a/src/5gnrmac/mac_demux.c +++ b/src/5gnrmac/mac_demux.c @@ -182,7 +182,7 @@ uint8_t unpackRxData(uint16_t cellId, SlotTimingInfo slotInfo, RxDataIndPdu *rxD { uint8_t lcgId = 0; uint8_t bufferSizeIdx = 0; - uint8_t crnti = 0; + uint16_t crnti = 0; uint32_t bufferSize = 0; pduLen--; @@ -207,7 +207,7 @@ uint8_t unpackRxData(uint16_t cellId, SlotTimingInfo slotInfo, RxDataIndPdu *rxD DataVolInfo dataVolInfo[MAX_NUM_LOGICAL_CHANNEL_GROUPS]; memset(dataVolInfo, 0,MAX_NUM_LOGICAL_CHANNEL_GROUPS * sizeof(DataVolInfo)); uint8_t lcgIdx = 0; - uint8_t crnti = 0; + uint16_t crnti = 0; uint8_t numLcg = 0; uint8_t lcgIdxPos = 0; pduLen--; diff --git a/src/5gnrmac/mac_msg_hdl.c b/src/5gnrmac/mac_msg_hdl.c index d36792a55..b0779d95b 100644 --- a/src/5gnrmac/mac_msg_hdl.c +++ b/src/5gnrmac/mac_msg_hdl.c @@ -764,7 +764,7 @@ uint8_t macProcLongBsr(uint16_t cellId, uint16_t crnti,uint8_t numLcg,\ * RFAILED - failure * * ****************************************************************/ -uint8_t buildAndSendHarqInd(HarqInfoF0F1 *harqInfo, uint8_t crnti, uint16_t cellIdx, SlotTimingInfo *slotInd) +uint8_t buildAndSendHarqInd(HarqInfoF0F1 *harqInfo, uint16_t crnti, uint16_t cellIdx, SlotTimingInfo *slotInd) { uint16_t harqCounter=0; Pst pst; @@ -807,7 +807,7 @@ uint8_t buildAndSendHarqInd(HarqInfoF0F1 *harqInfo, uint8_t crnti, uint16_t cell * RFAILED - failure * * ****************************************************************/ -uint8_t buildAndSendSrInd(UciInd *macUciInd, uint8_t crnti) +uint8_t buildAndSendSrInd(UciInd *macUciInd, uint16_t crnti) { uint16_t cellIdx; Pst pst; diff --git a/src/5gnrsch/sch.h b/src/5gnrsch/sch.h index 379bb270e..9184ed991 100644 --- a/src/5gnrsch/sch.h +++ b/src/5gnrsch/sch.h @@ -716,7 +716,7 @@ uint8_t schDlRsrcAllocMsg4(SchCellCb *cell, SlotTimingInfo msg4Time, uint8_t ueI uint8_t pdschStartSymbol, uint8_t pdschNumSymbols, bool isRetx, SchDlHqProcCb *hqP); uint8_t allocatePrbDl(SchCellCb *cell, SlotTimingInfo slotTime, uint8_t startSymbol, uint8_t symbolLength, \ uint16_t *startPrb, uint16_t numPrb); -void fillDlMsgInfo(DlMsgSchInfo *dlMsgInfo, uint8_t crnti, bool isRetx, SchDlHqProcCb* hqP); +void fillDlMsgInfo(DlMsgSchInfo *dlMsgInfo, uint16_t crnti, bool isRetx, SchDlHqProcCb* hqP); /*AS per 38.473 V15.3.0, Section 9.3.1.32 crnti value range is b/w 0..65535*/ bool findValidK0K1Value(SchCellCb *cell, SlotTimingInfo currTime, uint8_t ueId, bool dedMsg, uint8_t *pdschStartSymbol,\ uint8_t *pdschSymblLen, SlotTimingInfo *pdcchTime, SlotTimingInfo *pdschTime, SlotTimingInfo *pucchTime, bool isRetx, SchDlHqProcCb *hqP); RaRspWindowStatus isInRaRspWindow(SchRaReq *raReq, SlotTimingInfo frameToCheck, uint16_t numSlotsPerSystemFrame); diff --git a/src/5gnrsch/sch_common.c b/src/5gnrsch/sch_common.c index c2f25cf5e..9c0b20601 100644 --- a/src/5gnrsch/sch_common.c +++ b/src/5gnrsch/sch_common.c @@ -1691,12 +1691,12 @@ void updateGrantSizeForBoRpt(CmLListCp *lcLL, DlMsgSchInfo *dlMsgAlloc,\ * Functionality: * fill DL message information for MSG4 and Dedicated DL Msg * -* @params[in] DlMsgInfo *dlMsgInfo, uint8_t crnti +* @params[in] DlMsgInfo *dlMsgInfo, uint16_t crnti * @params[in] bool isRetx, SchDlHqProcCb *hqP * @return void * *******************************************************************/ -void fillDlMsgInfo(DlMsgSchInfo *dlMsgSchInfo, uint8_t crnti, bool isRetx, SchDlHqProcCb *hqP) +void fillDlMsgInfo(DlMsgSchInfo *dlMsgSchInfo, uint16_t crnti, bool isRetx, SchDlHqProcCb *hqP) { hqP->tbInfo[0].isEnabled = TRUE; hqP->tbInfo[0].state = HQ_TB_WAITING; diff --git a/src/du_app/du_cfg.h b/src/du_app/du_cfg.h index 7f3ef7faa..348b9d078 100644 --- a/src/du_app/du_cfg.h +++ b/src/du_app/du_cfg.h @@ -254,7 +254,7 @@ #define PHR_PROHIBHIT_TMR 0 #define PHR_PWR_FACTOR_CHANGE 3 #define PHR_MODE_OTHER_CG 0 -#define SN_FIELD_LEN 1 +#define SN_FIELD_LEN_12BIT 0 /*As per Spec 38.331, The network configures only value size12 in SN-FieldLengthAM for SRB */ #define T_POLL_RETRANSMIT 8 /* Enum for 45ms */ #define T_POLL_RETRANSMIT_VAL 45 /* Value in ms */ #define POLL_PDU 0 /* Enum for 4 pdus */ diff --git a/src/du_app/du_f1ap_msg_hdl.c b/src/du_app/du_f1ap_msg_hdl.c index b9a8f3495..22ee39159 100644 --- a/src/du_app/du_f1ap_msg_hdl.c +++ b/src/du_app/du_f1ap_msg_hdl.c @@ -3287,7 +3287,7 @@ uint8_t BuildRlcConfigAm(AmBearerCfg *amCfg, struct RLC_Config *rlcConfig) /* Fill default AM UL configuration if input pointer to DU database is NULL */ if(amCfg == NULLP) { - *(rlcConfig->choice.am->ul_AM_RLC.sn_FieldLength) = SN_FIELD_LEN; + *(rlcConfig->choice.am->ul_AM_RLC.sn_FieldLength) = SN_FIELD_LEN_12BIT; /*As per Spec 38.331, "Network configures only value size12 in SN-FieldLengthAM for SRB"*/ rlcConfig->choice.am->ul_AM_RLC.t_PollRetransmit = T_POLL_RETRANSMIT; rlcConfig->choice.am->ul_AM_RLC.pollPDU = POLL_PDU; rlcConfig->choice.am->ul_AM_RLC.pollByte = POLL_BYTE; @@ -3314,7 +3314,7 @@ uint8_t BuildRlcConfigAm(AmBearerCfg *amCfg, struct RLC_Config *rlcConfig) /* Fill default AM DL configuration if input pointer to DU database is NULL */ if(amCfg == NULLP) { - *(rlcConfig->choice.am->dl_AM_RLC.sn_FieldLength) = SN_FIELD_LEN; + *(rlcConfig->choice.am->dl_AM_RLC.sn_FieldLength) = SN_FIELD_LEN_12BIT; /*As per Spec 38.331, "Network configures only value size12 in SN-FieldLengthAM for SRB"*/ rlcConfig->choice.am->dl_AM_RLC.t_Reassembly = T_REASSEMBLY; rlcConfig->choice.am->dl_AM_RLC.t_StatusProhibit = T_STATUS_PROHIBHIT; } diff --git a/src/du_app/du_ue_mgr.c b/src/du_app/du_ue_mgr.c index 769f4e9a1..1baee239a 100644 --- a/src/du_app/du_ue_mgr.c +++ b/src/du_app/du_ue_mgr.c @@ -2700,7 +2700,8 @@ uint8_t duUpdateTunnelCfgDb(uint8_t ueId, uint8_t cellId, DuUeCfg *duUeCfg) uint8_t duUpdateDuUeCbCfg(uint8_t ueId, uint8_t cellId) { - uint8_t ret = ROK, cellIdx = 0, crnti=0; + uint8_t ret = ROK; + uint16_t cellIdx = 0, crnti=0; DuUeCb *ueCb = NULLP; GET_CELL_IDX(cellId, cellIdx); @@ -3141,7 +3142,9 @@ void fillRlcUeRecfg(DuRlcUeCfg *duRlcUeCfg, RlcUeRecfg *rlcUeRecfg) * * Functionality: Builds and Send Ue Reconfig Req to RLC * - * @params[in] cellId, crnti + * @params[in] uint16_t cellId, + * uint6_t crnti #AS per 38.473 V15.3.0, Section 9.3.1.32 crnti + * value range is b/w 0..65535# * DuUeCfg *ueCfgDb * RlcUeCreate *rlcUeCfg * @return ROK - success @@ -3149,7 +3152,7 @@ void fillRlcUeRecfg(DuRlcUeCfg *duRlcUeCfg, RlcUeRecfg *rlcUeRecfg) * * ****************************************************************/ -uint8_t duBuildAndSendUeRecfgReqToRlc(uint8_t cellId, uint8_t gnbDuUeF1apId, uint8_t crnti, DuUeCfg *ueCfgDb) +uint8_t duBuildAndSendUeRecfgReqToRlc(uint16_t cellId, uint8_t gnbDuUeF1apId, uint16_t crnti, DuUeCfg *ueCfgDb) { uint8_t ret = ROK; DuRlcUeCfg *duRlcUeCfg = NULLP; @@ -3269,14 +3272,17 @@ void fillMacUeRecfg(DuMacUeCfg *duMacUeCfg, MacUeRecfg *macUeRecfg) * * Functionality: Builds and Send Ue Reconfig Req to MAC * - * @params[in] CellGroupConfigRrc_t *macCellGrpCfg + * @params[in] uint16_t cellId, + * uint6_t crnti #AS per 38.473 V15.3.0, Section 9.3.1.32 crnti + * value range is b/w 0..65535# + * CellGroupConfigRrc_t *macCellGrpCfg * DuUeCfg *ueCfgDb * @return ROK - success * RFAILED - failure * * ****************************************************************/ -uint8_t duBuildAndSendUeRecfgReqToMac(uint8_t cellId, uint8_t duUeF1apId, uint8_t crnti, DuUeCfg *ueCfgDb) +uint8_t duBuildAndSendUeRecfgReqToMac(uint16_t cellId, uint8_t duUeF1apId, uint16_t crnti, DuUeCfg *ueCfgDb) { uint8_t ret = ROK; DuMacUeCfg *duMacUeCfg = NULLP;