Code Review
/
o-du
/
l2.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
review
|
tree
raw
|
inline
| side by side
Merge "Release image for e-release yaml"
[o-du/l2.git]
/
src
/
du_app
/
du_f1ap_msg_hdl.c
diff --git
a/src/du_app/du_f1ap_msg_hdl.c
b/src/du_app/du_f1ap_msg_hdl.c
index
d1202d9
..
cec32a3
100644
(file)
--- a/
src/du_app/du_f1ap_msg_hdl.c
+++ b/
src/du_app/du_f1ap_msg_hdl.c
@@
-103,7
+103,7
@@
#include "GTPTunnel.h"
#ifdef O1_ENABLE
#include "GTPTunnel.h"
#ifdef O1_ENABLE
-#include "C
onfig
Interface.h"
+#include "C
m
Interface.h"
extern StartupConfig g_cfg;
#endif
extern StartupConfig g_cfg;
#endif
@@
-847,7
+847,7
@@
uint8_t BuildDLNRInfo(NRFreqInfo_t *dlnrfreq)
S16 BuildNrCellId(BIT_STRING_t *nrcell)
{
memset(nrcell->buf, 0, nrcell->size);
S16 BuildNrCellId(BIT_STRING_t *nrcell)
{
memset(nrcell->buf, 0, nrcell->size);
- nrcell->buf[4] =
16
;
+ nrcell->buf[4] =
duCfgParam.sib1Params.cellIdentity
;
nrcell->bits_unused = 4;
return ROK;
}
nrcell->bits_unused = 4;
return ROK;
}
@@
-2327,7
+2327,7
@@
uint8_t fillServedCellInfo(Served_Cell_Information_t *srvCellInfo)
{
srvCellInfo->nRCGI.nRCellIdentity.buf[tmp] = 0;
}
{
srvCellInfo->nRCGI.nRCellIdentity.buf[tmp] = 0;
}
- srvCellInfo->nRCGI.nRCellIdentity.buf[4] =
16
;
+ srvCellInfo->nRCGI.nRCellIdentity.buf[4] =
duCfgParam.sib1Params.cellIdentity
;
srvCellInfo->nRCGI.nRCellIdentity.bits_unused =4;
/*nRPCI*/
srvCellInfo->nRCGI.nRCellIdentity.bits_unused =4;
/*nRPCI*/
@@
-2425,7
+2425,7
@@
uint8_t fillServCellToModItem(Served_Cells_To_Modify_Item_t *modifyItem)
{
modifyItem->oldNRCGI.nRCellIdentity.buf[ieIdx] = 0;
}
{
modifyItem->oldNRCGI.nRCellIdentity.buf[ieIdx] = 0;
}
- modifyItem->oldNRCGI.nRCellIdentity.buf[4] =
16
;
+ modifyItem->oldNRCGI.nRCellIdentity.buf[4] =
duCfgParam.sib1Params.cellIdentity
;
modifyItem->oldNRCGI.nRCellIdentity.bits_unused = 4;
if(fillServedCellInfo(&modifyItem->served_Cell_Information))
modifyItem->oldNRCGI.nRCellIdentity.bits_unused = 4;
if(fillServedCellInfo(&modifyItem->served_Cell_Information))
@@
-2534,7
+2534,7
@@
uint8_t fillCellToDeleteItem(struct Served_Cells_To_Delete_ItemIEs *deleteItemIe
{
deleteItem->oldNRCGI.nRCellIdentity.buf[arrIdx] = 0;
}
{
deleteItem->oldNRCGI.nRCellIdentity.buf[arrIdx] = 0;
}
- deleteItem->oldNRCGI.nRCellIdentity.buf[4] =
16
;
+ deleteItem->oldNRCGI.nRCellIdentity.buf[4] =
duCfgParam.sib1Params.cellIdentity
;
deleteItem->oldNRCGI.nRCellIdentity.bits_unused = 4;
return ROK;
}
deleteItem->oldNRCGI.nRCellIdentity.bits_unused = 4;
return ROK;
}
@@
-12194,7
+12194,7
@@
void freeAperDecodeGnbDuAck(GNBDUConfigurationUpdateAcknowledge_t *gnbDuAck)
uint8_t duProcGnbDuCfgUpdAckMsg(uint8_t transId)
{
uint8_t ieIdx=0, arrIdx=0,ret=ROK;
uint8_t duProcGnbDuCfgUpdAckMsg(uint8_t transId)
{
uint8_t ieIdx=0, arrIdx=0,ret=ROK;
- uint8_t ueId =0 , ueIdx =0;
+ uint8_t ueId =0 , ueIdx =0
, totalActiveUe = 0
;
uint16_t cellId =0, cellIdx =0, crnti=0;
CmLList *f1apPduNode = NULLP;
ReservedF1apPduInfo *f1apPduInfo =NULLP;
uint16_t cellId =0, cellIdx =0, crnti=0;
CmLList *f1apPduNode = NULLP;
ReservedF1apPduInfo *f1apPduInfo =NULLP;
@@
-12246,28
+12246,38
@@
uint8_t duProcGnbDuCfgUpdAckMsg(uint8_t transId)
ret = duSendCellDeletReq(cellId);
if(ret == RFAILED)
{
ret = duSendCellDeletReq(cellId);
if(ret == RFAILED)
{
- DU_LOG("ERROR --> DU_APP : duProcGnbDuCfgUpdAckMsg(): Failed to send cell delete\
+ DU_LOG("
\n
ERROR --> DU_APP : duProcGnbDuCfgUpdAckMsg(): Failed to send cell delete\
request for cellId[%d]", cellId);
}
}
else
{
request for cellId[%d]", cellId);
}
}
else
{
- for(ueIdx = 0; ueIdx < duCb.actvCellLst[cellIdx]->numActvUes; ueIdx++)
+ totalActiveUe = duCb.actvCellLst[cellIdx]->numActvUes;
+ while(totalActiveUe)
{
{
+ if(duCb.actvCellLst[cellIdx]->ueCb[ueIdx].ueState != UE_ACTIVE)
+ {
+ ueIdx++;
+ continue;
+ }
+
crnti = duCb.actvCellLst[cellIdx]->ueCb[ueIdx].crnti;
GET_UE_IDX(crnti,ueId);
crnti = duCb.actvCellLst[cellIdx]->ueCb[ueIdx].crnti;
GET_UE_IDX(crnti,ueId);
+ /* Sending Ue Context release request only for maximum supporting UEs */
ret = BuildAndSendUeContextReleaseReq(cellId, ueId);
if(ret == RFAILED)
{
ret = BuildAndSendUeContextReleaseReq(cellId, ueId);
if(ret == RFAILED)
{
- DU_LOG("ERROR --> DU_APP : duProcGnbDuCfgUpdAckMsg(): Failed to build and send UE delete\
+ DU_LOG("
\n
ERROR --> DU_APP : duProcGnbDuCfgUpdAckMsg(): Failed to build and send UE delete\
request for cellId[%d]", cellId);
}
request for cellId[%d]", cellId);
}
+ ueIdx++;
+ totalActiveUe--;
}
}
}
else
{
}
}
}
else
{
- DU_LOG("ERROR --> DU_APP : duProcGnbDuCfgUpdAckMsg(): CellId [%d] not found", cellId);
+ DU_LOG("
\n
ERROR --> DU_APP : duProcGnbDuCfgUpdAckMsg(): CellId [%d] not found", cellId);
ret = RFAILED;
}
break;
ret = RFAILED;
}
break;
@@
-13478,7
+13488,7
@@
uint8_t BuildAndSendUeContextReleaseComplete(uint16_t cellId, uint32_t gnbCuUeF1
break;
}while(true);
break;
}while(true);
- if(ret == ROK)
+ if(ret == ROK
&& (duCb.actvCellLst[cellId-1]->numActvUes == 0)
)
{
duCb.actvCellLst[cellId-1]->cellStatus = DELETION_IN_PROGRESS;
ret = duSendCellDeletReq(cellId);
{
duCb.actvCellLst[cellId-1]->cellStatus = DELETION_IN_PROGRESS;
ret = duSendCellDeletReq(cellId);
@@
-13603,7
+13613,7
@@
uint8_t procF1UeContextReleaseCommand(F1AP_PDU_t *f1apMsg)
{
for(cellIdx = 0; cellIdx < duCb.numActvCells; cellIdx++)
{
{
for(cellIdx = 0; cellIdx < duCb.numActvCells; cellIdx++)
{
- for(ueIdx = 0; ueIdx <
duCb.actvCellLst[cellIdx]->numActvUes
; ueIdx++)
+ for(ueIdx = 0; ueIdx <
MAX_NUM_UE
; ueIdx++)
{
if((duCb.actvCellLst[cellIdx]->ueCb[ueIdx].gnbDuUeF1apId == gnbDuUeF1apId)&&\
(duCb.actvCellLst[cellIdx]->ueCb[ueIdx].gnbCuUeF1apId == gnbCuUeF1apId))
{
if((duCb.actvCellLst[cellIdx]->ueCb[ueIdx].gnbDuUeF1apId == gnbDuUeF1apId)&&\
(duCb.actvCellLst[cellIdx]->ueCb[ueIdx].gnbCuUeF1apId == gnbCuUeF1apId))
@@
-13652,7
+13662,7
@@
uint8_t procF1UeContextReleaseCommand(F1AP_PDU_t *f1apMsg)
}
if(!ueIdxFound)
{
}
if(!ueIdxFound)
{
- DU_LOG("\nERROR --> F1AP: DuUeCb is not found at procF1UeContext
SetupReq
()");
+ DU_LOG("\nERROR --> F1AP: DuUeCb is not found at procF1UeContext
ReleaseCommand
()");
ret = RFAILED;
}
ret = RFAILED;
}