}
cmInetAddr((S8*)g_cfg.DU_IPV4_Addr, &ipv4_du);
- cuCb.cuCfgParams.sctpParams.sctpAssoc[0].duIpAddr.ipV4Addr = ipv4_du;
- cuCb.cuCfgParams.sctpParams.sctpAssoc[0].duIpAddr.ipV6Pres = false;
+ cuCb.cuCfgParams.sctpParams.destCb[0].destIpAddr.ipV4Addr = ipv4_du;
+ cuCb.cuCfgParams.sctpParams.destCb[0].destIpAddr.ipV6Pres = false;
cmInetAddr((S8*)g_cfg.CU_IPV4_Addr, &ipv4_cu);
- cuCb.cuCfgParams.sctpParams.sctpAssoc[0].cuIpAddr.ipV4Addr = ipv4_cu;
- cuCb.cuCfgParams.sctpParams.sctpAssoc[0].cuIpAddr.ipV6Pres = false;
+ cuCb.cuCfgParams.sctpParams.localIpAddr.ipV4Addr = ipv4_cu;
+ cuCb.cuCfgParams.sctpParams.localIpAddr.ipV6Pres = false;
- 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.sctpParams.destCb[0].destPort = g_cfg.DU_Port;
+ cuCb.cuCfgParams.sctpParams.f1SctpPort = g_cfg.CU_Port;
+ cuCb.cuCfgParams.sctpParams.numDestNode = 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.localIp.ipV4Pres = TRUE;
+ cuCb.cuCfgParams.egtpParams.localIp.ipV4Addr = ipv4_cu;
+ cuCb.cuCfgParams.egtpParams.localPort = F1_EGTP_PORT;
+ cuCb.cuCfgParams.egtpParams.dstCfg[0].dstIp.ipV4Pres = TRUE;
+ cuCb.cuCfgParams.egtpParams.dstCfg[0].dstIp.ipV4Addr = ipv4_du;
+ cuCb.cuCfgParams.egtpParams.dstCfg[0].dstPort = F1_EGTP_PORT;
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;
+ /* CU IP Address and Port*/
+ memset(&ipv4_du, 0, sizeof(uint32_t));
+ cmInetAddr((S8*)LOCAL_IP_CU, &ipv4_cu);
+
+ cuCb.cuCfgParams.sctpParams.localIpAddr.ipV4Addr = ipv4_cu;
+ cuCb.cuCfgParams.sctpParams.localIpAddr.ipV6Pres = false;
+ cuCb.cuCfgParams.sctpParams.f1SctpPort = F1_SCTP_PORT;
+
+ cuCb.cuCfgParams.egtpParams.localIp.ipV4Pres = TRUE;
+ cuCb.cuCfgParams.egtpParams.localIp.ipV4Addr = ipv4_cu;
+ cuCb.cuCfgParams.egtpParams.localPort = F1_EGTP_PORT;
+
+ cuCb.cuCfgParams.sctpParams.numDestNode = 0;
cuCb.cuCfgParams.egtpParams.numDu = 0;
+
numDu = 0;
- while(numDu < MAX_DU_SUPPORTED)
+ while(numDu < NUM_F1_ASSOC)
{
- /* DU IP Address and Port*/
+ /* DU IP Address */
memset(&ipv4_du, 0, sizeof(uint32_t));
- cmInetAddr((S8*)DU_IP_V4_ADDR[numDu], &ipv4_du);
- cuCb.cuCfgParams.sctpParams.sctpAssoc[numDu].duIpAddr.ipV4Addr = ipv4_du;
- cuCb.cuCfgParams.sctpParams.sctpAssoc[numDu].duIpAddr.ipV6Pres = false;
- cuCb.cuCfgParams.sctpParams.sctpAssoc[numDu].duPort = DU_SCTP_PORT[numDu];
-
- /* CU IP Address and Port*/
- memset(&ipv4_du, 0, sizeof(uint32_t));
- cmInetAddr((S8*)CU_IP_V4_ADDR, &ipv4_cu);
- cuCb.cuCfgParams.sctpParams.sctpAssoc[numDu].cuIpAddr.ipV4Addr = ipv4_cu;
- cuCb.cuCfgParams.sctpParams.sctpAssoc[numDu].cuIpAddr.ipV6Pres = false;
- cuCb.cuCfgParams.sctpParams.sctpAssoc[numDu].cuPort = CU_SCTP_PORT_TO_DU[numDu];
+ cmInetAddr((S8*)REMOTE_IP_DU[numDu], &ipv4_du);
+
+ /* SCTP Parameters */
+ cuCb.cuCfgParams.sctpParams.destCb[numDu].destIpAddr.ipV4Addr = ipv4_du;
+ cuCb.cuCfgParams.sctpParams.destCb[numDu].destIpAddr.ipV6Pres = false;
+ cuCb.cuCfgParams.sctpParams.destCb[numDu].destPort = F1_SCTP_PORT;
/* EGTP Parameters */
- memset(&ipv4_du, 0, sizeof(uint32_t));
- cmInetAddr((S8*)DU_IP_V4_ADDR[numDu], &ipv4_du);
- cuCb.cuCfgParams.egtpParams.egtpAssoc[numDu].localIp.ipV4Pres = TRUE;
- cuCb.cuCfgParams.egtpParams.egtpAssoc[numDu].localIp.ipV4Addr = ipv4_cu;
- cuCb.cuCfgParams.egtpParams.egtpAssoc[numDu].localPort = CU_EGTP_PORT[numDu];
- cuCb.cuCfgParams.egtpParams.egtpAssoc[numDu].destIp.ipV4Pres = TRUE;
- cuCb.cuCfgParams.egtpParams.egtpAssoc[numDu].destIp.ipV4Addr = ipv4_du;
- cuCb.cuCfgParams.egtpParams.egtpAssoc[numDu].destPort = DU_EGTP_PORT[numDu];
+ cuCb.cuCfgParams.egtpParams.dstCfg[numDu].dstIp.ipV4Pres = TRUE;
+ cuCb.cuCfgParams.egtpParams.dstCfg[numDu].dstIp.ipV4Addr = ipv4_du;
+ cuCb.cuCfgParams.egtpParams.dstCfg[numDu].dstPort = F1_EGTP_PORT;
(numDu)++;
}
cuCb.cuCfgParams.egtpParams.currTunnelId = cuCb.cuCfgParams.egtpParams.minTunnelId;
cuCb.cuCfgParams.egtpParams.maxTunnelId = MAX_TEID;
cuCb.cuCfgParams.egtpParams.numDu = numDu;
- cuCb.cuCfgParams.sctpParams.numDu = numDu;
+ cuCb.cuCfgParams.sctpParams.numDestNode = numDu;
#endif
/*PLMN*/
while(totalNumOfTestFlow)
{
- for(duId = 1; duId<=MAX_DU_SUPPORTED; duId++)
+ for(duId = 1; duId <= cuCb.cuCfgParams.egtpParams.numDu; duId++)
{
for(teId = 1; teId <= NUM_TUNNEL_TO_PUMP_DATA; teId++)
{
}
continue;
}
+ else if(ch == 'm')
+ {
+ uint8_t ueId = 1;
+ uint8_t duId = 1;
+ uint8_t duIdx = 0;
+
+ DU_LOG("\nINFO --> CU_STUB: UE Context Mod for ueId [%d] at DU ID [%d]", \
+ ueId, duId );
+ DuDb *duDb = NULLP;
+ CuUeCb *ueCb = NULLP;
+
+ SEARCH_DU_DB(duIdx, duId, duDb);
+ if(duDb)
+ ueCb = &duDb->ueCb[ueId-1];
+ BuildAndSendUeContextModificationReq(duId, ueCb, MODIFY_UE);
+
+ }
}
}
/**********************************************************************