X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=src%2F5gnrmac%2Fmac_msg_hdl.c;h=7ed544a5058364fb8035dc479bbefc72f76ca719;hb=refs%2Fchanges%2F77%2F4377%2F11;hp=5f75dc79e6dcce5868afb07f0d730b9650238b53;hpb=85008fef60069af4d70a447e76aaae64ce836292;p=o-du%2Fl2.git diff --git a/src/5gnrmac/mac_msg_hdl.c b/src/5gnrmac/mac_msg_hdl.c index 5f75dc79e..7ed544a50 100644 --- a/src/5gnrmac/mac_msg_hdl.c +++ b/src/5gnrmac/mac_msg_hdl.c @@ -17,17 +17,7 @@ *******************************************************************************/ /* header include files -- defines (.h) */ -#include "envopt.h" /* environment options */ -#include "envdep.h" /* environment dependent */ -#include "envind.h" /* environment independent */ -#include "gen.h" /* general layer */ -#include "ssi.h" /* system services */ -#include "cm5.h" /* common timers defines */ -#include "cm_hash.h" /* common hash list defines */ -#include "cm_llist.h" /* common linked list defines */ -#include "cm_mblk.h" /* memory management */ -#include "cm_tkns.h" /* common tokens */ -#include "cm_lte.h" /* common tokens */ +#include "common_def.h" #include "rgu.h" #include "tfu.h" #include "rg_sch_inf.h" @@ -39,15 +29,6 @@ #include "lwr_mac.h" /* header/extern include files (.x) */ -#include "gen.x" /* general layer typedefs */ -#include "ssi.x" /* system services typedefs */ -#include "cm5.x" /* common timers */ -#include "cm_hash.x" /* common hash list */ -#include "cm_lib.x" /* common library */ -#include "cm_llist.x" /* common linked list */ -#include "cm_mblk.x" /* memory management */ -#include "cm_tkns.x" /* common tokens */ -#include "cm_lte.x" /* common tokens */ #include "rgu.x" #include "tfu.x" #include "rg_sch_inf.x" @@ -294,10 +275,10 @@ uint16_t MacHdlCellStartReq(Pst *pst, MacCellStartInfo *cellStartInfo) * ****************************************************************/ uint16_t MacHdlCellStopReq(Pst *pst, MacCellStopInfo *cellStopInfo) { - #ifdef FAPI +#ifdef INTEL_FAPI DU_LOG("\nMAC : Sending cell stop request to Lower Mac"); sendToLowerMac(FAPI_STOP_REQUEST, 0, cellStopInfo); - #endif +#endif MAC_FREE_SHRABL_BUF(pst->region, pst->pool, cellStopInfo, \ sizeof(MacCellStopInfo)); @@ -324,7 +305,9 @@ uint16_t MacHdlCellStopReq(Pst *pst, MacCellStopInfo *cellStopInfo) * ****************************************************************/ uint16_t MacHdlDlCcchInd(Pst *pst, DlCcchIndInfo *dlCcchIndInfo) { + uint16_t idx; DlRlcBOInfo dlBoInfo; + memset(&dlBoInfo, 0, sizeof(DlRlcBOInfo)); DU_LOG("\nMAC : Handling DL CCCH IND"); @@ -335,29 +318,31 @@ uint16_t MacHdlDlCcchInd(Pst *pst, DlCcchIndInfo *dlCcchIndInfo) if(dlCcchIndInfo->msgType == RRC_SETUP) { + dlBoInfo.boInfo[dlBoInfo.numLc].lcId = SRB_ID_0; // SRB ID 0 for msg4 + dlBoInfo.boInfo[SRB_ID_0].dataVolume = \ + dlCcchIndInfo->dlCcchMsgLen; dlBoInfo.numLc++; - dlBoInfo.boInfo[dlBoInfo.numLc].lcId = 0; // SRB 0 for msg4 - dlBoInfo.boInfo[dlBoInfo.numLc].dataVolume = \ - strlen((const char*)dlCcchIndInfo->dlCcchMsg); /* storing Msg4 Pdu in raCb */ if(macCb.macCell->macRaCb[0].crnti == dlCcchIndInfo->crnti) { - macCb.macCell->macRaCb[0].msg4PduLen = strlen((const char*)dlCcchIndInfo\ - ->dlCcchMsg); + macCb.macCell->macRaCb[0].msg4PduLen = dlCcchIndInfo->dlCcchMsgLen; MAC_ALLOC(macCb.macCell->macRaCb[0].msg4Pdu, macCb.macCell->macRaCb[0]\ .msg4PduLen); if(macCb.macCell->macRaCb[0].msg4Pdu) { - memcpy(macCb.macCell->macRaCb[0].msg4Pdu, dlCcchIndInfo->dlCcchMsg,\ - macCb.macCell->macRaCb[0].msg4PduLen); + for(idx = 0; idx < dlCcchIndInfo->dlCcchMsgLen; idx++) + { + macCb.macCell->macRaCb[0].msg4Pdu[idx] =\ + dlCcchIndInfo->dlCcchMsg[idx]; + } } } } sendDlRlcBoInfoMacToSch(&dlBoInfo); MAC_FREE_SHRABL_BUF(pst->region, pst->pool, dlCcchIndInfo->dlCcchMsg, \ - strlen((const char*)dlCcchIndInfo->dlCcchMsg)); + dlCcchIndInfo->dlCcchMsgLen); MAC_FREE_SHRABL_BUF(pst->region, pst->pool, dlCcchIndInfo, sizeof(DlCcchIndInfo)); return ROK; @@ -398,7 +383,7 @@ uint16_t macSendUlCcchInd(uint8_t *rrcContainer, uint16_t cellId, uint16_t crnti ulCcchIndInfo->ulCcchMsg = rrcContainer; /* Fill Pst */ - pst.selector = DU_MAC_LWLC; + pst.selector = ODU_SELECTOR_LWLC; pst.srcEnt = ENTRG; pst.dstEnt = ENTDUAPP; pst.dstInst = 0; @@ -423,6 +408,33 @@ uint16_t macSendUlCcchInd(uint8_t *rrcContainer, uint16_t cellId, uint16_t crnti return ret; } +/******************************************************************* + * + * @brief Handles Ue Create Request from DU APP + * + * @details + * + * Function : MacHdlUeCreateReq + * + * Functionality: + * Handles Ue create Request from DU APP + * + * @params[in] Post structure pointer + * MacUeCfg pointer + * @return ROK - success + * RFAILED - failure + * + * ****************************************************************/ +uint8_t MacHdlUeCreateReq(Pst *pst, MacUeCfg *ueCfg) +{ + /* TODO : Create MAC UE Context. + Copy Tx Pdu from raCb + Delete RaCb + Send MacUeContext to SCH */ + MAC_FREE_SHRABL_BUF(pst->region, pst->pool, ueCfg, sizeof(MacUeCfg)); + return ROK; +} + /********************************************************************** End of file **********************************************************************/