X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=src%2Fric_stub%2Fric_stub.c;h=200e27d625c32a337a7f0246e109248c4ff3cebf;hb=4775d5c4db897375c37b828d272233fdd07a9556;hp=9cf96442757bba4177fb32236628a26a20136bf7;hpb=088c1736896136012e5c70b916595c8471aec243;p=o-du%2Fl2.git diff --git a/src/ric_stub/ric_stub.c b/src/ric_stub/ric_stub.c index 9cf964427..200e27d62 100644 --- a/src/ric_stub/ric_stub.c +++ b/src/ric_stub/ric_stub.c @@ -18,26 +18,16 @@ /* This functions contains main() for ric_app */ #include "common_def.h" -#include "ric_stub.h" #include "ric_stub_sctp.h" -#include "du_log.h" - -#define RIC_ID 1 -#define RIC_NAME "ORAN_OAM_RIC" -#define DU_IP_V4_ADDR "192.168.130.81" -#define RIC_IP_V4_ADDR "192.168.130.80" -#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 36422 -#define RIC_PORT 36422 -#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 +#include "ric_stub.h" + +#ifdef O1_ENABLE +#include "CmInterface.h" +#endif + +#ifdef O1_ENABLE +extern StartupConfig g_cfg; +#endif /******************************************************************* * @@ -92,6 +82,8 @@ uint8_t tst() /* Start RIC-SCTP to listen on incoming connection */ sctpCfgReq(); + /*Sleep is introduced for GDB to increase the waiting time for RIC Configuration from DUAPP*/ + sleep(1); sctpStartReq(); return ROK; @@ -115,25 +107,55 @@ uint8_t tst() void readRicCfg() { + uint8_t *numDu; uint32_t ipv4_du, ipv4_ric; 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; - - /* RIC IP Address and Port*/ - ricCfgParams.sctpParams.ricIpAddr.ipV4Addr = ipv4_ric; - ricCfgParams.sctpParams.ricIpAddr.ipV6Pres = false; - ricCfgParams.sctpParams.ricPort = RIC_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.sctpAssoc[0].duIpAddr.ipV4Addr = ipv4_du; + ricCfgParams.sctpParams.sctpAssoc[0].duIpAddr.ipV6Pres = false; + ricCfgParams.sctpParams.sctpAssoc[0].duPort = g_cfg.RIC_Port; + + ricCfgParams.sctpParams.sctpAssoc[0].ricIpAddr.ipV4Addr = ipv4_ric; + ricCfgParams.sctpParams.sctpAssoc[0].ricIpAddr.ipV6Pres = false; + ricCfgParams.sctpParams.sctpAssoc[0].ricPort = g_cfg.RIC_Port; + + ricCfgParams.sctpParams.numDu = 1; + +#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*/ + 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;