EGTP related fixes in O1_ENABLE
[o-du/l2.git] / src / cu_stub / cu_stub.c
index a57bf06..d46ae04 100644 (file)
@@ -160,6 +160,18 @@ void readCuCfg()
    cuCb.cuCfgParams.sctpParams.sctpAssoc[0].duPort = g_cfg.DU_Port;
    cuCb.cuCfgParams.sctpParams.sctpAssoc[0].cuPort = g_cfg.CU_Port; 
    cuCb.cuCfgParams.sctpParams.numDu = 1;
+   
+   cuCb.cuCfgParams.egtpParams.egtpAssoc[0].localIp.ipV4Pres = TRUE;
+   cuCb.cuCfgParams.egtpParams.egtpAssoc[0].localIp.ipV4Addr = ipv4_cu;
+   cuCb.cuCfgParams.egtpParams.egtpAssoc[0].localPort = CU_EGTP_PORT[0];
+   cuCb.cuCfgParams.egtpParams.egtpAssoc[0].destIp.ipV4Pres = TRUE;
+   cuCb.cuCfgParams.egtpParams.egtpAssoc[0].destIp.ipV4Addr = ipv4_du;
+   cuCb.cuCfgParams.egtpParams.egtpAssoc[0].destPort = DU_EGTP_PORT[0];
+   cuCb.cuCfgParams.egtpParams.minTunnelId = MIN_TEID;
+   cuCb.cuCfgParams.egtpParams.currTunnelId = cuCb.cuCfgParams.egtpParams.minTunnelId;
+   cuCb.cuCfgParams.egtpParams.maxTunnelId = MAX_TEID;
+   cuCb.cuCfgParams.egtpParams.numDu = 1;
+
 #else
    cuCb.cuCfgParams.sctpParams.numDu = 0;
    cuCb.cuCfgParams.egtpParams.numDu = 0;
@@ -279,14 +291,6 @@ void *cuConsoleHandler(void *args)
    uint8_t cnt = 0;
    EgtpTeIdCb *teidCb = NULLP;
 
-   /* This variable is taken for sending specific number of downlink data packet. 
-    * Presently the code is supporting total 4500 data packets trasfer for 3 UEs only with sleep(1).
-    * If you wants to pump data for 3 UE change the following macro values
-    * 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(true) 
    {
       ch = getchar();
@@ -321,17 +325,26 @@ void *cuConsoleHandler(void *args)
          }
 #else
 
+         /* This variable is taken for sending specific number of downlink data packet. 
+          * Presently the code is supporting total 4500 data packets trasfer for 3 UEs only with sleep(1).
+          * If you wants to pump data for 3 UE change the following macro values
+          * 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++)
                {
-                  DU_LOG("\nDEBUG  -->  EGTP: Sending DL User Data(duId %d, teId:%d)\n", duId, 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);      
@@ -346,6 +359,10 @@ void *cuConsoleHandler(void *args)
                         cnt++;
                      }
                   }
+                  else
+                  {
+                     DU_LOG("\nDEBUG  -->  EGTP: TunnelId Not Found for (duId %d, teId:%d)\n", duId, teId);
+                  }
                }
             }
             totalNumOfTestFlow--;