* RFAILED - failure
*
* ****************************************************************/
-uint8_t BuildUlTnlInfoforSetupMod(uint8_t ueId, ULUPTNLInformation_ToBeSetup_List_t *ulInfo, uint8_t actionType)
+uint8_t BuildUlTnlInfoforSetupMod(uint8_t ueId, uint8_t drbId, ULUPTNLInformation_ToBeSetup_List_t *ulInfo, uint8_t actionType)
{
uint8_t arrIdx;
uint8_t ulCnt;
{
/*TODO: DRB context to be stored in CU STUB so that tunnel Id can be easily
* fetched based on the Drb Id */
- if(ueId == 1)
- {
- /* Tunnel Id for DRB 2 of UE 1 is 2. Hence passing the same TeId */
- ulInfo->list.array[arrIdx]->uLUPTNLInformation.choice.gTPTunnel->gTP_TEID.buf[3] = 2;
- }
- else if(ueId == 2)
- {
- /* Tunnel Id for DRB 2 of UE 2 is 5. Hence passing the same TeId */
- ulInfo->list.array[arrIdx]->uLUPTNLInformation.choice.gTPTunnel->gTP_TEID.buf[3] = 5;
- }
- else if(ueId == 3)
- {
- /* Tunnel Id for DRB 2 of UE 3 is 8. Hence passing the same TeId */
- ulInfo->list.array[arrIdx]->uLUPTNLInformation.choice.gTPTunnel->gTP_TEID.buf[3] = 8;
- }
+ /*For For UE Id=1, DRB=2 is modified. For UE Id = 2, DRB=5 is modified and so on.*/
+ ulInfo->list.array[arrIdx]->uLUPTNLInformation.choice.gTPTunnel->gTP_TEID.buf[3]=\
+ (MAX_NUM_DRB_ADDED_PER_UE *(ueId - 1)) + drbId;
}
else
{
uint8_t ret = ROK;
/*Drb Id */
- drbItem->dRBID = arrIdx + DRB3;
+ drbItem->dRBID = arrIdx + DRB_ID_TO_ADD_MOD;
/*qoSInformation*/
drbItem->qoSInformation.present = QoSInformation_PR_choice_extension;
}
/*ULUPTNLInformation To Be Setup List*/
- ret = BuildUlTnlInfoforSetupMod(ueId, &drbItem->uLUPTNLInformation_ToBeSetup_List, \
+ ret = BuildUlTnlInfoforSetupMod(ueId, drbItem->dRBID, &drbItem->uLUPTNLInformation_ToBeSetup_List, \
ProtocolIE_ID_id_DRBs_ToBeSetupMod_Item);
if(ret != ROK)
{
if(drbSet->list.array[arrIdx] == NULLP)
{
DU_LOG("\nERROR --> F1AP : Memory allocation failed in BuildDrbToBeSetupList for array idx [%d]", arrIdx);
- return RFAILED;
+ return RFAILED;
}
- }
- arrIdx = 0;
- ret = FillDrbItemList(ueId, arrIdx, (DRBs_ToBeSetupMod_ItemIEs_t *)drbSet->list.array[arrIdx]);
- if(ret != ROK)
- {
- DU_LOG("\nERROR --> F1AP : FillDrbItemList failed");
+ ret = FillDrbItemList(ueId, arrIdx, (DRBs_ToBeSetupMod_ItemIEs_t *)drbSet->list.array[arrIdx]);
+ if(ret != ROK)
+ {
+ DU_LOG("\nERROR --> F1AP : FillDrbItemList failed");
+ }
}
return ret;
*
* ****************************************************************/
-uint8_t FillDrbToBeModItem(uint8_t ueId, DRBs_ToBeModified_Item_t *drbItem)
+uint8_t FillDrbToBeModItem(uint8_t ueId, uint8_t arrIdx, DRBs_ToBeModified_Item_t *drbItem)
{
uint8_t ret = ROK;
/*Drb Id */
- drbItem->dRBID = DRB2;
+ drbItem->dRBID = DRB2 + arrIdx;
/*qoSInformation*/
drbItem->qoSInformation = NULLP;
}/* End of QoS */
/*ULUPTNLInformation To Be Setup List*/
- ret = BuildUlTnlInfoforSetupMod(ueId, &drbItem->uLUPTNLInformation_ToBeSetup_List,\
+ ret = BuildUlTnlInfoforSetupMod(ueId, drbItem->dRBID, &drbItem->uLUPTNLInformation_ToBeSetup_List,\
ProtocolIE_ID_id_DRBs_ToBeModified_Item);
if(ret != ROK)
{
*
* ****************************************************************/
-uint8_t FillDrbToBeModItemList(uint8_t ueId, struct DRBs_ToBeModified_ItemIEs *drbItemIe)
+uint8_t FillDrbToBeModItemList(uint8_t ueId, uint8_t arrIdx, struct DRBs_ToBeModified_ItemIEs *drbItemIe)
{
drbItemIe->id = ProtocolIE_ID_id_DRBs_ToBeModified_Item;
drbItemIe->criticality = Criticality_reject;
drbItemIe->value.present = DRBs_ToBeModified_ItemIEs__value_PR_DRBs_ToBeModified_Item;
- if(FillDrbToBeModItem(ueId, &(drbItemIe->value.choice.DRBs_ToBeModified_Item)) != ROK)
+ if(FillDrbToBeModItem(ueId, arrIdx, &(drbItemIe->value.choice.DRBs_ToBeModified_Item)) != ROK)
{
DU_LOG("\nERROR --> F1AP : FillDrbToBeModItem failed");
return RFAILED;
uint8_t arrIdx =0;
uint8_t drbCnt =0;
- drbCnt = 1;
+ drbCnt = MAX_DRB_MODIFIED_UE_MOD_REQ;
drbSet->list.count = drbCnt;
drbSet->list.size = drbCnt * sizeof(DRBs_ToBeModified_ItemIEs_t *);
CU_ALLOC(drbSet->list.array, drbSet->list.size);
if(drbSet->list.array[arrIdx] == NULLP)
{
DU_LOG("\nERROR --> F1AP : Memory allocation failed in BuildDrbToBeSetupList");
- return RFAILED;
+ return RFAILED;
}
- }
- arrIdx=0;
- ret = FillDrbToBeModItemList(ueId, (DRBs_ToBeModified_ItemIEs_t *)drbSet->list.array[arrIdx]);
- if(ret != ROK)
- {
- DU_LOG("\nERROR --> F1AP : FillDrbToBeModItemList failed");
+ ret = FillDrbToBeModItemList(ueId, arrIdx, (DRBs_ToBeModified_ItemIEs_t *)drbSet->list.array[arrIdx]);
+ if(ret != ROK)
+ {
+ DU_LOG("\nERROR --> F1AP : FillDrbToBeModItemList failed");
+ }
}
return ret;