RLC DL UMD PDU changes [Issue-ID: ODUHIGH-271]
[o-du/l2.git] / src / cu_stub / cu_stub.c
index cc5cb34..f3ca64a 100644 (file)
@@ -18,7 +18,6 @@
 
 /* This functions contains main() for cu_app */
 #include "common_def.h"
-#include "odu_common_codec.h"
 #include "cu_stub.h"
 #include "cu_stub_sctp.h"
 #include "cu_stub_egtp.h"
@@ -26,8 +25,8 @@
 
 #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
@@ -86,10 +85,27 @@ void init_log()
  *
  * ****************************************************************/
 
-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();
 
@@ -104,7 +120,7 @@ S16 tst()
    sctpCfgReq();
    sctpStartReq();
 
-   RETVALUE(ROK);
+   return ROK;
 }
 
 /*******************************************************************
@@ -126,13 +142,12 @@ S16 tst()
 
 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);
@@ -171,6 +186,36 @@ void readCuCfg()
    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
 **********************************************************************/