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=7bfad9275a829844c549e1f1ad30da91d7c1ed3d;hpb=834004e09017b5b86cb738be98a7a1be79c0a9b0;p=o-du%2Fl2.git diff --git a/src/ric_stub/ric_stub.c b/src/ric_stub/ric_stub.c index 7bfad9275..200e27d62 100644 --- a/src/ric_stub/ric_stub.c +++ b/src/ric_stub/ric_stub.c @@ -18,42 +18,15 @@ /* This functions contains main() for ric_app */ #include "common_def.h" -#include "ric_stub.h" #include "ric_stub_sctp.h" -#include "du_log.h" +#include "ric_stub.h" #ifdef O1_ENABLE -#include "Config.h" +#include "CmInterface.h" #endif -#define RIC_ID 1 -#define RIC_NAME "ORAN_OAM_RIC" - -#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" - -#ifndef O1_ENABLE - -#define DU_IP_V4_ADDR "192.168.130.81" -#define RIC_IP_V4_ADDR "192.168.130.80" -#define DU_PORT 36422 -#define RIC_PORT 36422 - -#endif - -#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 /******************************************************************* @@ -109,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; @@ -132,38 +107,55 @@ uint8_t tst() void readRicCfg() { + uint8_t *numDu; uint32_t ipv4_du, ipv4_ric; DU_LOG("\nINFO --> RIC : Reading RIC configurations"); + ricCfgParams.ricId = RIC_ID; + strcpy(ricCfgParams.ricName, RIC_NAME); #ifdef O1_ENABLE - if( getStartupConfig(&g_cfg) != ROK ) + if( getStartupConfigForStub(&g_cfg) != ROK ) { - RETVALUE(RFAILED); + 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.duPort = g_cfg.RIC_Port; - ricCfgParams.sctpParams.ricPort = g_cfg.RIC_Port; -#else - cmInetAddr((S8*)DU_IP_V4_ADDR, &ipv4_du); - cmInetAddr((S8*)RIC_IP_V4_ADDR, &ipv4_ric); + 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.duPort = DU_PORT; - ricCfgParams.sctpParams.ricPort = RIC_PORT; -#endif - - 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.numDu = 1; - /* RIC IP Address and Port*/ - ricCfgParams.sctpParams.ricIpAddr.ipV4Addr = ipv4_ric; - ricCfgParams.sctpParams.ricIpAddr.ipV6Pres = false; +#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;