X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=src%2Fdu_app%2Fdu_e2_conversions.c;h=098223dad4be3f24284250b77bebc03a68a6fed4;hb=a3796bdbd76c38cd78ed1c9ef5cbf4cee1c355de;hp=3ee6ca0cdaff4eae1e72197d5832bfc668015c22;hpb=cdf2274ce07f8a5e066f1a49e92db156f1a92c66;p=o-du%2Fl2.git diff --git a/src/du_app/du_e2_conversions.c b/src/du_app/du_e2_conversions.c index 3ee6ca0cd..098223dad 100644 --- a/src/du_app/du_e2_conversions.c +++ b/src/du_app/du_e2_conversions.c @@ -21,6 +21,9 @@ #include "common_def.h" #include "TimeToWaitE2.h" +#include "du_app_mac_inf.h" +#include "du_e2ap_mgr.h" +#include "E2nodeComponentInterfaceType.h" /************************************************************************ * @@ -28,7 +31,7 @@ * * @details * - * Function : covertE2WaitTimerEnumToValue + * Function : convertE2WaitTimerEnumToValue * * Functionality: Converts enum values into actual value of E2 wait timer * @@ -37,7 +40,7 @@ * * **********************************************************************/ -uint8_t covertE2WaitTimerEnumToValue(uint8_t timerToWait) +uint8_t convertE2WaitTimerEnumToValue(uint8_t timerToWait) { switch(timerToWait) { @@ -65,6 +68,138 @@ uint8_t covertE2WaitTimerEnumToValue(uint8_t timerToWait) return RFAILED; } +/******************************************************************* + * + * @brief Converts DU specific failure cause to E2 interface + * failure cause + * + * @details + * + * Function : convertDuCauseToE2Cause + * + * Functionality: Converts DU specific failure cause to E2 + * interface failure cause + * + * @params[in] DU specific failure cause + * E2 specific failure cause + * + * @return void + * + * ****************************************************************/ +void convertDuCauseToE2Cause(CauseOfResult l2Cause, E2FailureCause *failureCause) +{ + switch(l2Cause) + { + case PARAM_INVALID: + { + failureCause->causeType = E2_RIC_REQUEST; + failureCause->cause = E2_ACTION_NOT_SUPPORTED; + break; + } + case RESOURCE_UNAVAILABLE: + { + failureCause->causeType = E2_RIC_REQUEST; + failureCause->cause = E2_FUNCTION_RESOURCE_LIMIT; + break; + } + default: + { + failureCause->causeType = E2_RIC_REQUEST; + failureCause->cause = E2_RIC_REQUEST_CAUSE_UNSPECIFIED; + break; + } + } +} + +/************************************************************************ + * + * @brief Converts InterfaceType into E2nodeComponentInterfaceType value + * + * @details + * + * Function : convertInterfaceToE2ComponentInterfaceType + * + * Functionality: Convert InterfaceType into E2nodeComponentInterfaceType + * value + * + * @params[in] Actual value of interface + * @return Enum value of e2 interface + * + * **********************************************************************/ + +uint8_t convertInterfaceToE2ComponentInterfaceType(uint8_t interface) +{ + switch(interface) + { + case NG: + return E2nodeComponentInterfaceType_ng; + + case XN: + return E2nodeComponentInterfaceType_xn; + + case E1: + return E2nodeComponentInterfaceType_e1; + + case F1: + return E2nodeComponentInterfaceType_f1; + + case W1: + return E2nodeComponentInterfaceType_w1; + + case S1: + return E2nodeComponentInterfaceType_s1; + + case X2: + return E2nodeComponentInterfaceType_x2; + } + return RFAILED; +} + +/******************************************************************* + * + * @brief Converts MAC-specific Measurement type to E2 interface + * specific measurement type + * + * @details + * + * Function : convertMacMeasTypeToE2MeasType + * + * Functionality: Converts MAC-specific Measurement type to E2 + * interface specific measurement type + * + * @params[in] MAC specific measurement type + * E2 interface specific measurement type + * + * @return uint8_t + * + * ****************************************************************/ +uint8_t convertMacMeasTypeToE2MeasType(MacMeasurementType macMeasName, char *e2MeasName) +{ + uint8_t measNameLen = 0; + + switch(macMeasName) + { + case MAC_DL_TOTAL_PRB_USAGE: + { + measNameLen = strlen("RRU.PrbTotDl"); + memcpy(e2MeasName, "RRU.PrbTotDl", measNameLen+1); + break; + } + case MAC_UL_TOTAL_PRB_USAGE: + { + measNameLen = strlen("RRU.PrbTotUl"); + memcpy(e2MeasName, "RRU.PrbTotUl", measNameLen+1); + break; + } + default: + { + DU_LOG("\nERROR --> E2AP : MAC mesurement type [%d] not supported", macMeasName); + return RFAILED; + } + } + return ROK; +} + /********************************************************************** End of file **********************************************************************/