X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=src%2Fric_stub%2Fric_stub.c;h=429dc461bcb68337093acf8473c3596bcf1179da;hb=a5f35b2204dd87ebe347f11282000852b55810ad;hp=e31443914c5fd6dd4e585ae749843fddadd91802;hpb=bb8df345963bb5ef2e035ead7731c1171e4cbbe0;p=o-du%2Fl2.git diff --git a/src/ric_stub/ric_stub.c b/src/ric_stub/ric_stub.c index e31443914..429dc461b 100644 --- a/src/ric_stub/ric_stub.c +++ b/src/ric_stub/ric_stub.c @@ -17,26 +17,17 @@ *******************************************************************************/ /* This functions contains main() for ric_app */ - -#include "ric_stub.h" +#include "common_def.h" #include "ric_stub_sctp.h" +#include "ric_stub.h" + +#ifdef O1_ENABLE +#include "CmInterface.h" +#endif -#define RIC_ID 1 -#define RIC_NAME "ORAN_OAM_RIC" -#define DU_IP_V4_ADDR "10.0.2.20" -#define RIC_IP_V4_ADDR "10.0.2.30" -#define DU_IP_V6_ADDR "0000:0000:0000:0000:0000:0000:0000:0001" -#define RIC_IP_V6_ADDR "0000:0000:0000:0000:0000:0000:0000:0011" -#define DU_PORT 38482 -#define RIC_PORT 38482 -#define RRC_VER 0 -#define EXT_RRC_VER 5 -#define PLMN_MCC0 3 -#define PLMN_MCC1 1 -#define PLMN_MCC2 1 -#define PLMN_MNC0 4 -#define PLMN_MNC1 8 -#define PLMN_MNC2 0 +#ifdef O1_ENABLE +extern StartupConfig g_cfg; +#endif /******************************************************************* * @@ -81,11 +72,11 @@ void init_log() * * ****************************************************************/ -S16 tst() +uint8_t tst() { init_log(); - DU_LOG("\nStarting RIC_STUB"); + DU_LOG("\nINFO --> RIC : Starting RIC_STUB"); /* Read RIC configurations */ readRicCfg(); @@ -114,25 +105,47 @@ S16 tst() void readRicCfg() { - U32 ipv4_du, ipv4_ric; + uint8_t *numDu; + uint32_t ipv4_du, ipv4_ric; - DU_LOG("\nReading RIC configurations"); + DU_LOG("\nINFO --> RIC : Reading RIC configurations"); - cmInetAddr((S8*)DU_IP_V4_ADDR, &ipv4_du); - cmInetAddr((S8*)RIC_IP_V4_ADDR, &ipv4_ric); - ricCfgParams.ricId = RIC_ID; strcpy(ricCfgParams.ricName, RIC_NAME); - - /* DU IP Address and Port*/ - ricCfgParams.sctpParams.duIpAddr.ipV4Addr = ipv4_du; - ricCfgParams.sctpParams.duIpAddr.ipV6Pres = false; - ricCfgParams.sctpParams.duPort = DU_PORT; +#ifdef O1_ENABLE + if( getStartupConfigForStub(&g_cfg) != ROK ) + { + DU_LOG("\nError --> RIC : Could not fetch startup "\ + "configurations from Netconf interface\n"); + exit(1); + } + + cmInetAddr((S8*)g_cfg.DU_IPV4_Addr, &ipv4_du); + cmInetAddr((S8*)g_cfg.RIC_IPV4_Addr, &ipv4_ric); + + ricCfgParams.sctpParams.duPort = g_cfg.RIC_Port; + ricCfgParams.sctpParams.ricPort = g_cfg.RIC_Port; +#else + ricCfgParams.sctpParams.numDu = 0; + numDu = &ricCfgParams.sctpParams.numDu; + while(*numDu < MAX_DU_SUPPORTED) + { + /* DU IP Address and Port*/ + memset(&ipv4_du, 0, sizeof(uint32_t)); + cmInetAddr((S8*)DU_IP_V4_ADDR[*numDu], &ipv4_du); + ricCfgParams.sctpParams.sctpAssoc[*numDu].duIpAddr.ipV4Addr = ipv4_du; + ricCfgParams.sctpParams.sctpAssoc[*numDu].duIpAddr.ipV6Pres = false; + ricCfgParams.sctpParams.sctpAssoc[*numDu].duPort = DU_SCTP_PORT[*numDu]; - /* RIC IP Address and Port*/ - ricCfgParams.sctpParams.ricIpAddr.ipV4Addr = ipv4_ric; - ricCfgParams.sctpParams.ricIpAddr.ipV6Pres = false; - ricCfgParams.sctpParams.ricPort = RIC_PORT; + /* RIC IP Address and Port*/ + memset(&ipv4_du, 0, sizeof(uint32_t)); + cmInetAddr((S8*)RIC_IP_V4_ADDR, &ipv4_ric); + ricCfgParams.sctpParams.sctpAssoc[*numDu].ricIpAddr.ipV4Addr = ipv4_ric; + ricCfgParams.sctpParams.sctpAssoc[*numDu].ricIpAddr.ipV6Pres = false; + ricCfgParams.sctpParams.sctpAssoc[*numDu].ricPort = RIC_SCTP_PORT_TO_DU[*numDu]; + (*numDu)++; + } +#endif /*PLMN*/ ricCfgParams.plmn.mcc[0] = PLMN_MCC0;