X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=src%2F5gnrrlc%2Frlc_upr_inf_api.c;h=ae28ef62d88cfe27c79ba7127370414a046adf1a;hb=2f98230fb83e03fcdd354a7754415155ba353f7d;hp=52dd083807c0aebef765e758ed49228eefb42262;hpb=cfe7ea3ab6cb69d18ed91d79c1bf66b3bc8bdc98;p=o-du%2Fl2.git diff --git a/src/5gnrrlc/rlc_upr_inf_api.c b/src/5gnrrlc/rlc_upr_inf_api.c index 52dd08380..ae28ef62d 100644 --- a/src/5gnrrlc/rlc_upr_inf_api.c +++ b/src/5gnrrlc/rlc_upr_inf_api.c @@ -26,12 +26,57 @@ RlcUlRrcMsgToDuFunc rlcSendUlRrcMsgToDuOpts[] = packRlcUlRrcMsgToDu /* 2 - Light weight loosely coupled */ }; +RlcDuMaxRetransInd rlcMaxRetransIndOpts[] = +{ + packRlcDuMaxRetransInd, /* 0 - loosely coupled */ + DuProcRlcMaxRetransInd, /* 1 - tightly coupled */ + packRlcDuMaxRetransInd /* 2 - LWLC loosely coupled */ +}; + RlcRrcDeliveryReportToDuFunc rlcSendRrcDeliveryReportToDuOpts[]= { packRrcDeliveryReportToDu, /* 0 - Loosely coupled */ DuProcRlcRrcDeliveryReport, /* 1 - Tightly coupled */ packRrcDeliveryReportToDu /* 2 - Light weight loosely coupled */ }; + +/* Function pointer array for DL RRC Msg Rsp Transfer */ +RlcDlRrcMsgRspToDuFunc rlcSendDlRrcMsgRspToDuOpts[] = +{ + packRlcDlRrcMsgRspToDu, /* 0 - Loosely coupled */ + DuProcRlcDlRrcMsgRsp, /* 1 - Tightly coupled */ + packRlcDlRrcMsgRspToDu /* 2 - Light weight loosely coupled */ +}; + +/* Function pointer array for UL RRC Msg Transfer */ +RlcUlUserDataToDuFunc rlcSendUlUserDataToDuOpts[] = +{ + packRlcUlUserDataToDu, /* 0 - Loosely coupled */ + DuProcRlcUlUserDataTrans, /* 1 - Tightly coupled */ + packRlcUlUserDataToDu /* 2 - Light weight loosely coupled */ +}; + +RlcDuUeDeleteRsp rlcUeDeleteRspOpts[] = +{ + packRlcDuUeDeleteRsp, /* 0 - loosely coupled */ + DuProcRlcUeDeleteRsp, /* 1 - tightly coupled */ + packRlcDuUeDeleteRsp /* 2 - LWLC loosely coupled */ +}; + +RlcSlicePmToDuFunc rlcSlicePmOpts[] = +{ + packRlcDuSlicePm, /* 0 - loosely coupled */ + DuProcRlcSliceMetrics, /* 1 - tightly coupled */ + packRlcDuSlicePm /* 2 - LWLC loosely coupled */ +}; + +RlcDuUeReestablishRsp rlcUeReestablishRspOpts[] = +{ + packRlcDuUeReestablishRsp, /* 0 - loosely coupled */ + DuProcRlcUeReestablishRsp, /* 1 - tightly coupled */ + packRlcDuUeReestablishRsp /* 2 - LWLC loosely coupled */ +}; + /******************************************************************* * * @brief Sends UL RRC Message Info to DU APP @@ -53,6 +98,27 @@ uint8_t rlcSendUlRrcMsgToDu(Pst *pst, RlcUlRrcMsgInfo *ulRrcMsgInfo) return (*rlcSendUlRrcMsgToDuOpts[pst->selector])(pst, ulRrcMsgInfo); } +/******************************************************************* +* +* @brief Sends max retransmission reached Info to DU APP +* +* @details +* +* Function : rlcSendMaxRetransIndToDu +* +* Functionality: Sends max retransmission reached Info to DU APP +* +* @params[in] Pst structure +* max retransmission reached Info +* @return ROK - success +* RFAILED - failure +* +* ****************************************************************/ +uint8_t rlcSendMaxRetransIndToDu(Pst *pst, RlcMaxRetransInfo *maxRetransInfo) +{ + return (*rlcMaxRetransIndOpts[pst->selector])(pst, maxRetransInfo); +} + /******************************************************************* * * @brief Sends RRC delivery Message Info to DU APP @@ -73,6 +139,111 @@ uint8_t rlcSendRrcDeliveryReportToDu(Pst *pst, RrcDeliveryReport *rrcDelivery) { return (*rlcSendRrcDeliveryReportToDuOpts[pst->selector])(pst, rrcDelivery); } +/******************************************************************* + * + * @brief Sends DL RRC Message Status to DU APP + * + * @details + * + * Function : rlcSendDlRrcMsgRspToDu + * + * Functionality: Sends DL RRC Message Status to DU APP + * + * @params[in] Pst structure + * DL RRC Msg Info + * @return ROK - success + * RFAILED - failure + * + * ****************************************************************/ +uint8_t rlcSendDlRrcMsgRspToDu(Pst *pst, RlcDlRrcMsgRsp *dlRrcMsg) +{ + return (*rlcSendDlRrcMsgRspToDuOpts[pst->selector])(pst, dlRrcMsg); +} + +/******************************************************************* + * + * @brief Sends UL User data Info to DU APP + * + * @details + * + * Function : rlcSendUlUserDataToDu + * + * Functionality: Sends UL User Data Info to DU APP + * + * @params[in] Pst structure + * UL user data Info + * @return ROK - success + * RFAILED - failure + * + * ****************************************************************/ +uint8_t rlcSendUlUserDataToDu(Pst *pst, RlcUlUserDatInfo *ulUserData) +{ + return (*rlcSendUlUserDataToDuOpts[pst->selector])(pst, ulUserData); +} + +/******************************************************************* + * + * @brief Sends Ue Delete Rsp to DU APP + * + * @details + * + * Function : rlcSendUeDeleteRspToDu + * + * Functionality: Sends Ue Delete Rsp to DU APP + * + * @params[in] Pst *pst, RlcUeDeleteRsp *ueDeleteRsp + * + * @return ROK - success + * RFAILED - failure + * + * ****************************************************************/ +uint8_t rlcSendUeDeleteRspToDu(Pst *pst, RlcUeDeleteRsp *ueDeleteRsp) +{ + return (*rlcUeDeleteRspOpts[pst->selector])(pst, ueDeleteRsp); +} + +/******************************************************************* + * + * @brief Sends Slice Performance Metrics to DU APP + * + * @details + * + * Function : rlcSendSlicePmToDu + * + * Functionality: Sends Performace Metrics per slice together to DU APP + * + * @params[in] Pst *pst, SlicePmList *sliceStats + * + * @return ROK - success + * RFAILED - failure + * + * ****************************************************************/ +uint8_t rlcSendSlicePmToDu(Pst *pst, SlicePmList *sliceStats) +{ + return (*rlcSlicePmOpts[pst->selector])(pst, sliceStats); +} + +/******************************************************************* + * + * @brief Sends Ue Reestablishment Rsp to DU APP + * + * @details + * + * Function : rlcSendUeReestablishRspToDu + * + * Functionality: Sends Ue Reestablishment Rsp to DU APP + * + * @params[in] Pst *pst, RlcUeReestablishRsp *ueReestablishRsp + * + * @return ROK - success + * RFAILED - failure + * + * ****************************************************************/ +uint8_t rlcSendUeReestablishRspToDu(Pst *pst, RlcUeReestablishRsp *ueReestablishRsp) +{ + return (*rlcUeReestablishRspOpts[pst->selector])(pst, ueReestablishRsp); +} + /********************************************************************** End of file **********************************************************************/