New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fix(amf): Fix mobility updating registration #15403
base: master
Are you sure you want to change the base?
fix(amf): Fix mobility updating registration #15403
Conversation
Thanks for opening a PR! 💯
Howto
More infoPlease take a moment to read through the Magma project's
If this is your first Magma PR, also consider reading
|
msg->m5gs_mobile_identity.mobile_identity.imsi.type_of_identity); | ||
if (msg->m5gs_mobile_identity.mobile_identity.guti.type_of_identity == | ||
M5GSMobileIdentityMsg_GUTI && !(is_amf_ctx_new)) { | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
[cpplint] reported by reviewdog 🐶
Redundant blank line at the start of a code block should be deleted. [whitespace/blank_line] [2]
|
||
OAILOG_DEBUG(LOG_NAS_AMF, | ||
"In process of registration mobility update: " | ||
"GUAMFI: " PLMN_FMT".%u.%u.%u - " |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
[cpplint] reported by reviewdog 🐶
Line ends in whitespace. Consider deleting these extra spaces. [whitespace/end_of_line] [4]
@@ -927,6 +927,8 @@ int ngap_amf_handle_ue_context_release_request(ngap_state_t* state, | |||
asn_INTEGER2ulong(&ie->value.choice.AMF_UE_NGAP_ID, | |||
(uint64_t*)&amf_ue_ngap_id); | |||
} else { | |||
OAILOG_ERROR(LOG_NGAP, | |||
"UE CONTEXT RELEASE REQUEST invoked with missing Ngap_UEContextReleaseRequest_IEs (AMF_UE_NGAP_ID). Unable to process the message.\n"); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
[cpplint] reported by reviewdog 🐶
Lines should be <= 120 characters long [whitespace/line_length] [2]
@brunohcfaria: Can you please fix the lint errors. Fixes are given in - https://github.com/magma/magma/actions/runs/8601794520/job/23569853806?pr=15403 |
b10d0b9
to
e35f8ed
Compare
e35f8ed
to
9bde599
Compare
Hi @brunohcfaria, It appears that the required CI jobs are failing, primarily due to a failing unit test case. Could you please address the issues with the test case. |
Oops! Looks like you failed the Howto
♻️ Updated: ✅ The check is passing the PR Check DCO after the last commit. |
346fe7e
to
34d5fb0
Compare
Fixes a bug where the Registration Request with Mobility Registration Updating type was handled as a new registration, causing duplicate sessions in AMF and SMF. Signed-off-by: Bruno Faria <bruno.faria@ektrum.com>
Fixes a bug where the Registration Request with Mobility Registration Updating type was handled as a new registration, causing duplicate sessions in AMF and SMF. Signed-off-by: Bruno Faria <bruno.faria@ektrum.com>
…Periodic Registration Modified the tests to not expect Identity Procedure when the TMSI is matched in guti hashtable. Signed-off-by: Bruno Faria <bruno.faria@ektrum.com>
34d5fb0
to
56b5fe4
Compare
Summary
This PR fixes the Mobility Updating Registration Request reported in #1576 PR. which is marked as Draft and still had problems with duplicate sessions.
In summary, the AMF was not handling the Registration Request with Mobility Updating Type. That issue was observed in laboratory with SIMCOM devices. The test case was moving out of coverage and going back while running an iperf session. It was observed that when UE restablished the RRC Connection with the gNB it was resuming the NAS signaling by sending a Registration Request with type Mobility Updating. The AMF was unable to handle the procedure correctly leading to disconnection of the user.
Test Plan
The fix was tested with the same test-case presented above. The UE was moved out of coverage and it comes back which triggered the Mobility Updating procedure. The iperf session and pings where reestablished every time confirming the data session was kept.
Additional Information
Security Considerations