Skip to content
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

feat: add F-TEID allocation support #840

Draft
wants to merge 9 commits into
base: master
Choose a base branch
from

Conversation

gruyaume
Copy link
Contributor

@gruyaume gruyaume commented Aug 5, 2024

Description

As of 3GPP Release 16, F-TEID allocation is done in the UPF instead of the SMF. This PR implements F-TEID allocation as well as the necessary PFCP communication changes.

Summary

  1. Addition of a enable_ftup configuration option that users can set to decide whether or not they want the UPF the allocate F-TEID's
  2. Based on the previous option, the UPF will set the FTUP feature flag in its PFCP Association Setup Response to the SMF
  3. The SMF must set the CHOOSE flag in its request to establishment a new PDR in the PFCP Session Establishment Request
  4. When this CHOOSE flag is set, the UPF allocates a F-TEID using a TEID generator
  5. The UPF sets the F-TEID in its PFCP Session Establishment Response

After this PR is merged

  1. [SMF] Remove F-TEID allocation and replace it by setting the CHOOSE flag during the PFCP Session Establishment Request.
  2. [UPF] Reject PFCP Session Establishment Requests if the SMF allocated an F-TEID with the cause "Invalid F-TEID allocation option".

This is still an early draft

To do before making this PR live:

  • Add Choose ID support
  • End to end tests

Reference

3GPP Release 16

Relevant information from the 3GPP Release 16 29.244 document:

F-TEID shall be only allocated by the UPF. The UPF shall set the FTUP feature flag in the UP Function Features IE and the SMF shall request the UPF to allocate the F-TEID. The UPF shall reject a request to establish a new PDR with
an F-TEID allocation in the SMF option, with the cause "Invalid F-TEID allocation option". As an exception, the
UPF shall accept the PFCP Session Establishment Request message with a PDR including an existing F-TEID
to re-establish a PFCP session during a restoration procedure.

The SMF shall request the UPF to allocate the F-TEID by setting the CHOOSE flag in the Local F-TEID. And if the PDR(s) is created successfully, the UPF shall return the F-TEID(s) it has assigned to the PDR(s) in the PFCP Session Establishment Response or PFCP Session Modification Response.

@omecproject
Copy link

Can one of the admins verify this patch?

@gruyaume gruyaume changed the title feat: return F-TEID in PFCP session establishment response feat: add f-teid allocation support Aug 5, 2024
@gruyaume gruyaume changed the title feat: add f-teid allocation support feat: add F-TEID allocation support Aug 5, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants