Need to test later!

This commit is contained in:
Sukchan Lee 2020-10-14 23:02:18 -04:00
parent 06ec924466
commit c424099200
3 changed files with 25 additions and 20 deletions

View File

@ -1253,10 +1253,10 @@ ogs_pkbuf_t *ngap_build_path_switch_ack(amf_ue_t *amf_ue)
SecurityContext = &ie->value.choice.SecurityContext;
ogs_debug(" RAN_UE_NGAP_ID[%d] AMF_UE_NGAP_ID[%d]",
ran_ue->ran_ue_ngap_id, ran_ue->amf_ue_ngap_id);
ogs_debug(" RAN_UE_NGAP_ID[%d] AMF_UE_NGAP_ID[%lld]",
ran_ue->ran_ue_ngap_id, (long long)ran_ue->amf_ue_ngap_id);
*AMF_UE_NGAP_ID = ran_ue->amf_ue_ngap_id;
asn_uint642INTEGER(AMF_UE_NGAP_ID, ran_ue->amf_ue_ngap_id);
*RAN_UE_NGAP_ID = ran_ue->ran_ue_ngap_id;
SecurityContext->nextHopChainingCount = amf_ue->nhcc;
@ -1272,7 +1272,7 @@ ogs_pkbuf_t *ngap_build_path_switch_ack(amf_ue_t *amf_ue)
}
ogs_pkbuf_t *ngap_build_path_switch_failure(
uint32_t ran_ue_ngap_id, uint32_t amf_ue_ngap_id,
uint32_t ran_ue_ngap_id, uint64_t amf_ue_ngap_id,
NGAP_Cause_PR group, long cause)
{
NGAP_NGAP_PDU_t pdu;
@ -1330,11 +1330,11 @@ ogs_pkbuf_t *ngap_build_path_switch_failure(
Cause = &ie->value.choice.Cause;
ogs_debug(" RAN_UE_NGAP_ID[%d] AMF_UE_NGAP_ID[%d]",
ran_ue_ngap_id, amf_ue_ngap_id);
ogs_debug(" RAN_UE_NGAP_ID[%d] AMF_UE_NGAP_ID[%lld]",
ran_ue_ngap_id, (long long)amf_ue_ngap_id);
ogs_debug(" Group[%d] Cause[%d]", group, (int)cause);
*AMF_UE_NGAP_ID = amf_ue_ngap_id;
asn_uint642INTEGER(AMF_UE_NGAP_ID, ran_ue->amf_ue_ngap_id);
*RAN_UE_NGAP_ID = ran_ue_ngap_id;
Cause->present = group;
Cause->choice.radioNetwork = cause;

View File

@ -54,7 +54,7 @@ ogs_pkbuf_t *ngap_build_amf_configuration_transfer(
ogs_pkbuf_t *ngap_build_path_switch_ack(amf_ue_t *amf_ue);
ogs_pkbuf_t *ngap_build_path_switch_failure(
uint32_t ran_ue_ngap_id, uint32_t amf_ue_ngap_id,
uint32_t ran_ue_ngap_id, uint64_t amf_ue_ngap_id,
NGAP_Cause_PR group, long cause);
ogs_pkbuf_t *ngap_build_handover_command(ran_ue_t *source_ue);

View File

@ -1558,14 +1558,17 @@ void ngap_handle_path_switch_request(
NGAP_PathSwitchRequestIEs_t *ie = NULL;
NGAP_RAN_UE_NGAP_ID_t *RAN_UE_NGAP_ID = NULL;
NGAP_AMF_UE_NGAP_ID_t *AMF_UE_NGAP_ID = NULL;
NGAP_UserLocationInformation_t *UserLocationInformation = NULL;
NGAP_UESecurityCapabilities_t *UESecurityCapabilities = NULL;
NGAP_PDUSessionResourceToBeSwitchedDLList_t *PDUSessionResourceToBeSwitchedDLList = NULL;
NGAP_UserLocationInformation_t *UserLocationInformation = NULL;
NGAP_UESecurityCapabilities_t *UESecurityCapabilities = NULL;
NGAP_PDUSessionResourceToBeSwitchedDLList_t
*PDUSessionResourceToBeSwitchedDLList = NULL;
NGAP_NRencryptionAlgorithms_t *nRencryptionAlgorithms = NULL;
NGAP_NRintegrityProtectionAlgorithms_t *nRintegrityProtectionAlgorithms = NULL;
NGAP_EUTRAencryptionAlgorithms_t *eUTRAencryptionAlgorithms = NULL;
NGAP_EUTRAintegrityProtectionAlgorithms_t *eUTRAintegrityProtectionAlgorithms = NULL;
NGAP_NRencryptionAlgorithms_t *nRencryptionAlgorithms = NULL;
NGAP_NRintegrityProtectionAlgorithms_t
*nRintegrityProtectionAlgorithms = NULL;
NGAP_EUTRAencryptionAlgorithms_t *eUTRAencryptionAlgorithms = NULL;
NGAP_EUTRAintegrityProtectionAlgorithms_t
*eUTRAintegrityProtectionAlgorithms = NULL;
NGAP_PDUSessionResourceToBeSwitchedDLItem_t *PDUSessionItem = NULL;
OCTET_STRING_t *transfer = NULL;
@ -1583,8 +1586,7 @@ void ngap_handle_path_switch_request(
ogs_debug("Path switch request");
for (i = 0; i < PathSwitchRequest->protocolIEs.list.count;
i++) {
for (i = 0; i < PathSwitchRequest->protocolIEs.list.count; i++) {
ie = PathSwitchRequest->protocolIEs.list.array[i];
switch (ie->id) {
case NGAP_ProtocolIE_ID_id_RAN_UE_NGAP_ID:
@ -1600,7 +1602,8 @@ void ngap_handle_path_switch_request(
UESecurityCapabilities = &ie->value.choice.UESecurityCapabilities;
break;
case NGAP_ProtocolIE_ID_id_PDUSessionResourceToBeSwitchedDLList:
PDUSessionResourceToBeSwitchedDLList = &ie->value.choice.PDUSessionResourceToBeSwitchedDLList;
PDUSessionResourceToBeSwitchedDLList =
&ie->value.choice.PDUSessionResourceToBeSwitchedDLList;
break;
default:
break;
@ -1687,9 +1690,11 @@ void ngap_handle_path_switch_request(
&UESecurityCapabilities->eUTRAintegrityProtectionAlgorithms;
amf_ue->ue_security_capability.nea = nRencryptionAlgorithms->buf[0];
amf_ue->ue_security_capability.nia = nRintegrityProtectionAlgorithms->buf[0];
amf_ue->ue_security_capability.nia =
nRintegrityProtectionAlgorithms->buf[0];
amf_ue->ue_security_capability.eea = eUTRAencryptionAlgorithms->buf[0];
amf_ue->ue_security_capability.eia = eUTRAintegrityProtectionAlgorithms->buf[0];
amf_ue->ue_security_capability.eia =
eUTRAintegrityProtectionAlgorithms->buf[0];
if (!PDUSessionResourceToBeSwitchedDLList) {
ogs_error("No PDUSessionResourceToBeSwitchedDLList");