Description
The Packet Forwarding Control Protocol (PFCP) is a key protocol defined by 3GPP for communication between the control plane and the user plane in both the Evolved Packet Core (EPC) and the 5G Core (5GC) network architectures. It operates over the Sx interface (between SGW-C/PGW-C and SGW-U/PGW-U) in EPC and the N4 interface (between SMF and UPF) in 5GC. PFCP is a master-slave protocol where the control plane function (CPF), such as the Session Management Function (SMF), acts as the master node, and the user plane function (UPF), such as a UPF or PGW-U, acts as the slave node. The protocol uses a request-response mechanism, with the CPF sending commands and the UPF executing them and reporting back.
The core function of PFCP is to allow the control plane to remotely manage the behavior of the user plane without being in the data path. This is achieved through the management of Packet Detection Rules (PDRs), Forwarding Action Rules (FARs), QoS Enforcement Rules (QERs), and Usage Reporting Rules (URRs), collectively known as PFCP Association, Session, and Rules. A PDR contains packet matching information (like IP headers and ports) to identify a specific flow. Each PDR is linked to a FAR, which dictates what to do with matched packets (e.g., forward, drop, buffer, or send to the CPF). QERs apply rate policing and marking, while URRs trigger usage reporting for charging.
When a user session is established, the SMF uses PFCP Session Establishment procedures to program these rules into the UPF. As data packets arrive, the UPF's fast-path processing matches them against the installed PDRs and executes the corresponding FARs and QERs. This enables features like uplink classifier, branching point, traffic steering, and QoS enforcement directly in the user plane. PFCP also supports heartbeat mechanisms for node liveness detection and session reporting procedures, where the UPF can inform the CPF of events like usage thresholds being reached or the detection of the start/end of a traffic flow. This clear separation, enabled by PFCP, is the foundation of the Control and User Plane Separation (CUPS) architecture.
Purpose & Motivation
PFCP was created to enable the Control and User Plane Separation (CUPS) architecture, a major evolution in core network design. Traditional network elements like the SGW and PGW were monolithic, combining both control signaling and data forwarding in a single physical or logical node. This tight coupling limited scalability, as control and user plane resources had to scale together, and hindered flexible deployment, as the data plane could not be distributed independently to be closer to users.
The development of PFCP directly addressed these limitations. By defining a standard protocol, it allowed the control plane (responsible for signaling, policy, and session management) to be separated from the user plane (responsible for high-speed packet forwarding). This enables independent scaling of control and user plane resources. Network operators can deploy centralized control functions for efficiency while distributing stateless user plane functions (UPFs) to the network edge for low-latency services. PFCP provides the precise language for the control plane to 'program' the forwarding behavior of the user plane dynamically, which is essential for supporting network slicing, on-demand service creation, and efficient traffic management in modern 5G and advanced 4G networks.
Detected Changes Across Releases
from 3GPP Change RequestsSpecific changes extracted from the „Change history“ tables of 3GPP specifications (117 CRs across 5 releases). Complements the general historical overview above with the evidence-based evolution of this function.
Studied in Rel-14, normative work from Rel-15.
In Release 15, PFCP introduced enhanced reliability and restoration procedures, including mechanisms for PFCP association and session restoration after UPF or SMF failures using recovery time stamps in PFCP heartbeat messages. It also defined procedures for an SMF set, allowing a UPF to move PFCP sessions to alternative SMFs within the set upon detecting a failure. Furthermore, new capabilities were added for the UPF to proactively send PFCP Session Report Request messages to facilitate this session mobility.
- Load-overload control on N4 TS 29.244CR0053
- Source and Destination Interface setting for Indirect Data Forwarding TS 29.244CR0066
- Adding QFIs to the Packet Detection Information TS 29.244CR0079
- Duplicating the user plane packets to multiple destinations TS 29.244CR0106
- Data forwarding TS 29.244CR0146
- Sending of endmarker packets in 5GC TS 29.244CR0147
+ 9 more changes
In Release 16, key enhancements to the PFCP function included robust procedures for the reestablishment of PFCP sessions after a UP function restart and mechanisms enabling PFCP sessions to be successively controlled by different SMFs within the same SMF set. It also introduced support for user plane forwarding for Control Plane CIoT 5GS Optimisation and allowed the UPF to proactively move sessions to an alternative SMF upon detecting a failure. Furthermore, the release updated the packet forwarding model and refined the PFCP association setup to support UE IP address allocation by AAA/DHCP.
- PFCP Association Setup Request with same Node ID TS 23.527CR0017
- Reestablishment of PFCP sessions after a UP function restart TS 23.527CR0018
- Enhancement to the PFCP Association Release Procedure TS 29.244CR0240
- User Plane Forwarding with Control Plane CIoT 5GS Optimisation TS 29.244CR0247
- Update on the Packet Forwarding Model TS 29.244CR0236
- Update the PFCP association setup to support UE IP address Allocation by AAA/DHCP TS 29.244CR0252
+ 37 more changes
In Release 17, key enhancements for PFCP introduced standardized procedures for session restoration after a partial or complete UPF or SMF failure, enabling prioritized recovery based on operator policy. It also defined new protocol impacts and requirements for the N4mb interface to support 5G Multicast/Broadcast Services (MBS), including transport level marking and node-related messages. Furthermore, the release added the RAT Type Information Element on the PFCP interface and clarified behaviors for session deletion and reporting.
- Restoration of PFCP sessions affected by a partial or complete failure TS 23.527CR0030
- Protocol impact on N4mb for 5G MBS TS 29.244CR0559
- Protocol impact on N4 for 5G MBS TS 29.244CR0560
- PFCP Node related messages supported over N4mb TS 29.244CR0606
- Transport Level Marking information for PFCP sessions over N4mb TS 29.244CR0622
- Failure to restore a PFCP session at UPF restart TS 23.527CR0045
+ 19 more changes
In Release 18, PFCP was enhanced to improve reliability for SMF sets, introducing procedures for an SMF to proactively restore PFCP sessions after a UPF restart and for a UPF to move PFCP sessions to alternative SMFs upon detecting a failure. Furthermore, the protocol was extended to support PFCP session deletion when a new SMF takes over a PDU session and to enable the use of TL-Containers in session modification and deletion requests.
- Generalization of QoS monitoring control description TS 29.244CR0723
- PFCP extensions for HR-SBO PDU sessions TS 29.244CR0750
- TL-Containers in PFCP Session Modification/Deletion Request/Response TS 29.244CR0767
- Update to support the VN group communication without N6-based forwarding TS 29.244CR0759
- Protocol Description for End of Data Burst marking TS 29.244CR0756
- Protocol Description TS 29.244CR0769
+ 10 more changes
In Release 19, key PFCP enhancements focused on improving SMF failure resilience within an SMF set deployment, introducing the ability for PFCP sessions to be excluded from restoration and for UPFs to proactively move sessions to alternative SMFs. The release also added support for the MoQ (Media over QUIC) transport protocol on the N4 interface and provided clarifications for procedures like GTP-U Path QoS Control and Packet Inspection functionalities.
- PFCP sessions excluded from the restoration upon a SMF failure with SMF set being deployed TS 23.527CR0089
- UPF Packet Inspection functionalities TS 29.244CR0881
- PFCP sessions excluded from the restoration upon a SMF failure with SMF set being deployed TS 29.244CR0895
- Identification and marking of Data Burst Size in DL GTP-U packets TS 29.244CR0892
- Support of MoQ Transport protocol on N4 TS 29.244CR0897
- Modification of Header Handling Control Rules TS 29.244CR0935
+ 12 more changes
Explore further
Broader topics and technologies where PFCP plays a role.
Defining Specifications
3GPP specifications that define or reference PFCP, with the latest known release. Sourced from the 3GPP document catalog — see methodology.
| Specification | Title | Release |
|---|---|---|
| TS 23.527 vj50 | 5G System Restoration Procedures | Rel-19 |
| TS 26.804 vj10 | 5G Media Streaming Extensions Study | Rel-19 |
| TS 29.244 vj40 | PFCP Specification for Control/User Plane Separation | Rel-19 |
| TR 29.820 vh00 | Study on PFCP Best Practice | Rel-17 |
| TS 29.866 vj00 | IMS Disaster Prevention & Restoration Enhancement | Rel-19 |