*******************************************************************************/
/* This functions contains main() for cu_app */
-
+#include "common_def.h"
#include "cu_stub.h"
#include "cu_stub_sctp.h"
#include "cu_stub_egtp.h"
+#include "du_log.h"
#define CU_ID 1
#define CU_NAME "ORAN_OAM_CU"
-#define DU_IP_V4_ADDR "10.0.2.20"
-#define CU_IP_V4_ADDR "10.0.2.25"
+#define DU_IP_V4_ADDR "192.168.130.81"
+#define CU_IP_V4_ADDR "192.168.130.82"
#define DU_IP_V6_ADDR "0000:0000:0000:0000:0000:0000:0000:0001"
#define CU_IP_V6_ADDR "0000:0000:0000:0000:0000:0000:0000:0011"
#define DU_PORT 38472
*
* ****************************************************************/
-S16 tst()
+uint8_t tst()
{
+ int retVal=0;
+ pthread_t conThrdId;
+ pthread_attr_t attr;
+
init_log();
- DU_LOG("\nStarting CU_STUB");
+ DU_LOG("\nStarting CU_STUB\n");
+
+ /* Start thread to receive console input */
+ pthread_attr_init(&attr);
+ pthread_attr_setstacksize(&attr, (size_t)NULLD);
+ pthread_attr_setscope(&attr, PTHREAD_SCOPE_SYSTEM);
+ pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_DETACHED);
+ retVal = pthread_create(&conThrdId, &attr, cuConsoleHandler, NULLP);
+ if(retVal != 0)
+ {
+ DU_LOG("\nCU_STUB: Thread creation failed. Cause %d", retVal);
+ }
+ pthread_attr_destroy(&attr);
+
/* Read CU configurations */
readCuCfg();
sctpActvInit();
/* Start CU-SCTP to listen on incoming connection */
- sctpStartReq();
+ sctpCfgReq();
+ sctpStartReq();
- RETVALUE(ROK);
+ return ROK;
}
/*******************************************************************
void readCuCfg()
{
- U32 ipv4_du, ipv4_cu;
+ uint32_t ipv4_du, ipv4_cu;
DU_LOG("\nReading CU configurations");
cmInetAddr((S8*)DU_IP_V4_ADDR, &ipv4_du);
cmInetAddr((S8*)CU_IP_V4_ADDR, &ipv4_cu);
- //U32 ipv6_int = inet_addr(DU_IP_V6_ADDR);
cuCfgParams.cuId = CU_ID;
strcpy(cuCfgParams.cuName, CU_NAME);
/* DU IP Address and Port*/
- cuCfgParams.sctpParams.duIpAddr.ipV4Pres = true;
cuCfgParams.sctpParams.duIpAddr.ipV4Addr = ipv4_du;
cuCfgParams.sctpParams.duIpAddr.ipV6Pres = false;
- //strcpy(cuCfgParams.sctpParams.duIpAddr.ipV6Addr, (char*)DU_IP_V6_ADDR);
cuCfgParams.sctpParams.duPort = DU_PORT;
/* CU IP Address and Port*/
- cuCfgParams.sctpParams.cuIpAddr.ipV4Pres = true;
cuCfgParams.sctpParams.cuIpAddr.ipV4Addr = ipv4_cu;
cuCfgParams.sctpParams.cuIpAddr.ipV6Pres = false;
- //strcpy(cuCfgParams.sctpParams.cuIpAddr.ipV6Addr, DU_IP_V6_ADDR);
cuCfgParams.sctpParams.cuPort = CU_PORT;
/*PLMN*/
cuCfgParams.egtpParams.maxTunnelId = 10;
} /* End of readCuCfg */
+
+/*******************************************************************
+ *
+ * @brief Handles Console input
+ *
+ * @details
+ *
+ * Function : cuConsoleHandler
+ *
+ * Functionality: Handles Console input
+ *
+ * @params[in]
+ * @return ROK - success
+ * RFAILED - failure
+ *
+ * ****************************************************************/
+void *cuConsoleHandler(void *args)
+{
+ char ch;
+ while(true)
+ {
+ /* Send DL user data to CU when user enters 'd' on console */
+ if((ch = getchar()) == 'd')
+ {
+ /* Start Pumping data from CU to DU */
+ DU_LOG("\nEGTP: Sending DL User Data");
+ cuEgtpDatReq();
+ }
+ }
+}
/**********************************************************************
End of file
**********************************************************************/