[Epic-ID: ODUHIGH-462][Task-ID: ODUHIGH-481] Adding Trigger for Ul/Dl data
[o-du/l2.git] / src / cu_stub / cu_stub.c
index d46ae04..c518951 100644 (file)
@@ -269,27 +269,85 @@ void initiateInterDuHandover(uint32_t sourceDuId, uint32_t targetDuId, uint32_t
 
 /*******************************************************************
  *
- * @brief Handles Console input
+ * @brief start Dl data
  *
  * @details
  *
- *    Function : cuConsoleHandler
+ *    Function : startDlData
  *
- *    Functionality: Handles Console input
+ *    Functionality: start the downlink data
  *
  * @params[in] 
  * @return ROK     - success
  *         RFAILED - failure
  *
  * ****************************************************************/
-void *cuConsoleHandler(void *args)
+
+uint8_t startDlData()
 {
-   char ch;
    uint32_t teId = 0;
    uint32_t duId;
    uint8_t ret = ROK;
    uint8_t cnt = 0;
+   int32_t totalNumOfTestFlow = 20; 
    EgtpTeIdCb *teidCb = NULLP;
+   
+   while(totalNumOfTestFlow)
+   {
+      for(duId = 1; duId<=MAX_DU_SUPPORTED; duId++)
+      {
+         for(teId = 1; teId <= NUM_TUNNEL_TO_PUMP_DATA; teId++)
+         {
+            teidCb = NULLP;
+            cmHashListFind(&(egtpCb.dstCb[duId-1].teIdLst), (uint8_t *)&(teId), sizeof(uint32_t), 0, (PTR *)&teidCb);
+            if(teidCb)
+            {
+               cnt =0;
+               DU_LOG("\nDEBUG  -->  EGTP: Sending DL User Data(duId %d, teId:%d)\n", duId, teId);
+               while(cnt < NUM_DL_PACKETS)
+               {
+                  ret =  cuEgtpDatReq(duId, teId);      
+                  if(ret != ROK)
+                  {
+                     DU_LOG("\nERROR --> EGTP: Issue with teid=%d\n",teId);
+                     break;
+                  }
+                  /* TODO : sleep(1) will be removed later once we will be able to
+                   * support the continuous data pack transfer */
+                  sleep(1);
+                  cnt++;
+               }
+            }
+            else
+            {
+               DU_LOG("\nDEBUG  -->  EGTP: TunnelId Not Found for (duId %d, teId:%d)\n", duId, teId);
+            }
+         }
+      }
+      totalNumOfTestFlow--;
+   }
+   
+   return ROK;
+}
+
+/*******************************************************************
+ *
+ * @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) 
    {
@@ -331,42 +389,8 @@ void *cuConsoleHandler(void *args)
           * NUM_TUNNEL_TO_PUMP_DATA = 9, NUM_DL_PACKETS = 1.
           * totalDataPacket = totalNumOfTestFlow * NUM_TUNNEL_TO_PUMP_DATA * NUM_DL_PACKETS 
           * totalDataPacket = [500*9*1] */
-         int32_t totalNumOfTestFlow = 2; 
-
-         while(totalNumOfTestFlow)
-         {
-            for(duId = 1; duId<=MAX_DU_SUPPORTED; duId++)
-            {
-               for(teId = 1; teId <= NUM_TUNNEL_TO_PUMP_DATA; teId++)
-               {
-                  teidCb = NULLP;
-                  cmHashListFind(&(egtpCb.dstCb[duId-1].teIdLst), (uint8_t *)&(teId), sizeof(uint32_t), 0, (PTR *)&teidCb);
-                  if(teidCb)
-                  {
-                     cnt =0;
-                     DU_LOG("\nDEBUG  -->  EGTP: Sending DL User Data(duId %d, teId:%d)\n", duId, teId);
-                     while(cnt < NUM_DL_PACKETS)
-                     {
-                        ret =  cuEgtpDatReq(duId, teId);      
-                        if(ret != ROK)
-                        {
-                           DU_LOG("\nERROR --> EGTP: Issue with teid=%d\n",teId);
-                           break;
-                        }
-                        /* TODO : sleep(1) will be removed later once we will be able to
-                         * support the continuous data pack transfer */
-                        sleep(1);
-                        cnt++;
-                     }
-                  }
-                  else
-                  {
-                     DU_LOG("\nDEBUG  -->  EGTP: TunnelId Not Found for (duId %d, teId:%d)\n", duId, teId);
-                  }
-               }
-            }
-            totalNumOfTestFlow--;
-         }
+         
+         startDlData();
 #endif
          continue;
       }