Merge branch 'develop' of https://gitlab.eurecom.fr/oai/openairinterface5g into remove-NR_UE_PBCH
This commit is contained in:
@@ -87,6 +87,9 @@
|
||||
#include "NGAP_PDUSessionResourceModifyItemModReq.h"
|
||||
#include "NGAP_PDUSessionResourceModifyRequestTransfer.h"
|
||||
#include "NGAP_QosFlowAddOrModifyRequestItem.h"
|
||||
#include "NGAP_PDUSessionResourceModifyResponseTransfer.h"
|
||||
#include "NGAP_QosFlowAddOrModifyResponseList.h"
|
||||
#include "NGAP_QosFlowAddOrModifyResponseItem.h"
|
||||
#include "NGAP_TAIListForPagingItem.h"
|
||||
#include "NGAP_GNB-ID.h"
|
||||
#include "NGAP_GlobalGNB-ID.h"
|
||||
|
||||
@@ -1614,13 +1614,6 @@ int ngap_gNB_handle_pdusession_modify_request(uint32_t assoc_id,
|
||||
return -1;
|
||||
}
|
||||
|
||||
/* PDUSession Resource modify request = UE-related procedure -> stream != 0 */
|
||||
if (stream == 0) {
|
||||
NGAP_ERROR("[SCTP %d] Received UE-related procedure on stream (%d)\n",
|
||||
assoc_id, stream);
|
||||
return -1;
|
||||
}
|
||||
|
||||
ue_desc_p->rx_stream = stream;
|
||||
|
||||
if (ue_desc_p->amf_ue_ngap_id != amf_ue_ngap_id) {
|
||||
@@ -1702,14 +1695,20 @@ int ngap_gNB_handle_pdusession_modify_request(uint32_t assoc_id,
|
||||
switch(pdusessionTransfer_ies->id) {
|
||||
/* optional PDUSessionAggregateMaximumBitRate */
|
||||
case NGAP_ProtocolIE_ID_id_PDUSessionAggregateMaximumBitRate:
|
||||
// TODO
|
||||
NGAP_ERROR("Cant' handle NGAP_ProtocolIE_ID_id_PDUSessionAggregateMaximumBitRate\n");
|
||||
break;
|
||||
|
||||
/* optional UL-NGU-UP-TNLModifyList */
|
||||
case NGAP_ProtocolIE_ID_id_UL_NGU_UP_TNLModifyList:
|
||||
// TODO
|
||||
NGAP_ERROR("Cant' handle NGAP_ProtocolIE_ID_id_UL_NGU_UP_TNLModifyList\n");
|
||||
break;
|
||||
|
||||
/* optional NetworkInstance */
|
||||
case NGAP_ProtocolIE_ID_id_NetworkInstance:
|
||||
// TODO
|
||||
NGAP_ERROR("Cant' handle NGAP_ProtocolIE_ID_id_NetworkInstance\n");
|
||||
break;
|
||||
|
||||
/* optional QosFlowAddOrModifyRequestList */
|
||||
@@ -1729,6 +1728,12 @@ int ngap_gNB_handle_pdusession_modify_request(uint32_t assoc_id,
|
||||
/* Set the QOS informations */
|
||||
NGAP_PDUSESSION_MODIFY_REQ(message_p).pdusession_modify_params[i].qos[qosIdx].qfi = (uint8_t)qosFlowItem_p->qosFlowIdentifier;
|
||||
if(qosFlowItem_p->qosFlowLevelQosParameters) {
|
||||
if (qosFlowItem_p->qosFlowLevelQosParameters->qosCharacteristics.present == NGAP_QosCharacteristics_PR_nonDynamic5QI) {
|
||||
NGAP_PDUSESSION_MODIFY_REQ(message_p).pdusession_modify_params[i].qos[qosIdx].fiveQI =
|
||||
qosFlowItem_p->qosFlowLevelQosParameters->qosCharacteristics.choice.nonDynamic5QI->fiveQI;
|
||||
} else if (qosFlowItem_p->qosFlowLevelQosParameters->qosCharacteristics.present == NGAP_QosCharacteristics_PR_dynamic5QI) {
|
||||
// TODO
|
||||
}
|
||||
NGAP_PDUSESSION_MODIFY_REQ(message_p).pdusession_modify_params[i].qos[qosIdx].allocation_retention_priority.priority_level =
|
||||
qosFlowItem_p->qosFlowLevelQosParameters->allocationAndRetentionPriority.priorityLevelARP;
|
||||
NGAP_PDUSESSION_MODIFY_REQ(message_p).pdusession_modify_params[i].qos[qosIdx].allocation_retention_priority.pre_emp_capability =
|
||||
@@ -1742,14 +1747,20 @@ int ngap_gNB_handle_pdusession_modify_request(uint32_t assoc_id,
|
||||
|
||||
/* optional QosFlowToReleaseList */
|
||||
case NGAP_ProtocolIE_ID_id_QosFlowToReleaseList:
|
||||
// TODO
|
||||
NGAP_ERROR("Cant' handle NGAP_ProtocolIE_ID_id_QosFlowToReleaseList\n");
|
||||
break;
|
||||
|
||||
/* optional AdditionalUL-NGU-UP-TNLInformation */
|
||||
case NGAP_ProtocolIE_ID_id_AdditionalUL_NGU_UP_TNLInformation:
|
||||
// TODO
|
||||
NGAP_ERROR("Cant' handle NGAP_ProtocolIE_ID_id_AdditionalUL_NGU_UP_TNLInformation\n");
|
||||
break;
|
||||
|
||||
/* optional CommonNetworkInstance */
|
||||
case NGAP_ProtocolIE_ID_id_CommonNetworkInstance:
|
||||
// TODO
|
||||
NGAP_ERROR("Cant' handle NGAP_ProtocolIE_ID_id_CommonNetworkInstance\n");
|
||||
break;
|
||||
|
||||
default:
|
||||
|
||||
@@ -1176,7 +1176,7 @@ int ngap_gNB_pdusession_modify_resp(instance_t instance,
|
||||
ie->value.choice.RAN_UE_NGAP_ID = pdusession_modify_resp_p->gNB_ue_ngap_id;
|
||||
ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie);
|
||||
|
||||
/* optional */
|
||||
/* PDUSessionResourceModifyListModRes optional */
|
||||
if (pdusession_modify_resp_p->nb_of_pdusessions > 0) {
|
||||
ie = (NGAP_PDUSessionResourceModifyResponseIEs_t *)calloc(1, sizeof(NGAP_PDUSessionResourceModifyResponseIEs_t));
|
||||
ie->id = NGAP_ProtocolIE_ID_id_PDUSessionResourceModifyListModRes;
|
||||
@@ -1184,13 +1184,32 @@ int ngap_gNB_pdusession_modify_resp(instance_t instance,
|
||||
ie->value.present = NGAP_PDUSessionResourceModifyResponseIEs__value_PR_PDUSessionResourceModifyListModRes;
|
||||
|
||||
for (i = 0; i < pdusession_modify_resp_p->nb_of_pdusessions; i++) {
|
||||
NGAP_PDUSessionResourceModifyItemModRes_t *item;
|
||||
|
||||
item = (NGAP_PDUSessionResourceModifyItemModRes_t *)calloc(1, sizeof(NGAP_PDUSessionResourceModifyItemModRes_t));
|
||||
item->pDUSessionID = pdusession_modify_resp_p->pdusessions[i].pdusession_id;
|
||||
|
||||
NGAP_DEBUG("pdusession_modify_resp: modified pdusession ID %ld\n", item->pDUSessionID);
|
||||
ASN_SEQUENCE_ADD(&ie->value.choice.PDUSessionResourceModifyListModRes.list, item);
|
||||
NGAP_PDUSessionResourceModifyItemModRes_t *item;
|
||||
NGAP_PDUSessionResourceModifyResponseTransfer_t *transfer_p = NULL;
|
||||
|
||||
item = (NGAP_PDUSessionResourceModifyItemModRes_t *)calloc(1, sizeof(NGAP_PDUSessionResourceModifyItemModRes_t));
|
||||
item->pDUSessionID = pdusession_modify_resp_p->pdusessions[i].pdusession_id;
|
||||
|
||||
transfer_p = (NGAP_PDUSessionResourceModifyResponseTransfer_t *)calloc(1, sizeof(NGAP_PDUSessionResourceModifyResponseTransfer_t));
|
||||
transfer_p->qosFlowAddOrModifyResponseList = (NGAP_QosFlowAddOrModifyResponseList_t *)calloc(1, sizeof(NGAP_QosFlowAddOrModifyResponseList_t));
|
||||
|
||||
uint8_t qos_flow_index;
|
||||
for (qos_flow_index = 0; qos_flow_index < pdusession_modify_resp_p->pdusessions[i].nb_of_qos_flow; qos_flow_index++) {
|
||||
NGAP_QosFlowAddOrModifyResponseItem_t *qosFlowAddOrModifyResponseItem_p = calloc(1, sizeof(NGAP_QosFlowAddOrModifyResponseItem_t));
|
||||
qosFlowAddOrModifyResponseItem_p->qosFlowIdentifier =
|
||||
pdusession_modify_resp_p->pdusessions[i].qos[qos_flow_index].qfi;
|
||||
ASN_SEQUENCE_ADD(&transfer_p->qosFlowAddOrModifyResponseList->list, qosFlowAddOrModifyResponseItem_p);
|
||||
}
|
||||
|
||||
memset(&res, 0, sizeof(res));
|
||||
res = asn_encode_to_new_buffer(NULL, ATS_ALIGNED_CANONICAL_PER, &asn_DEF_NGAP_PDUSessionResourceModifyResponseTransfer, transfer_p);
|
||||
item->pDUSessionResourceModifyResponseTransfer.buf = res.buffer;
|
||||
item->pDUSessionResourceModifyResponseTransfer.size = res.result.encoded;
|
||||
|
||||
ASN_STRUCT_FREE_CONTENTS_ONLY(asn_DEF_NGAP_PDUSessionResourceModifyResponseTransfer, transfer_p);
|
||||
|
||||
NGAP_DEBUG("pdusession_modify_resp: modified pdusession ID %ld\n", item->pDUSessionID);
|
||||
ASN_SEQUENCE_ADD(&ie->value.choice.PDUSessionResourceModifyListModRes.list, item);
|
||||
}
|
||||
|
||||
ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie);
|
||||
|
||||
Reference in New Issue
Block a user