PFCP

Packet Forwarding Control Protocol

Protocol →
Introduced in Rel-14

PFCP is the 3GPP protocol that separates the control and user planes, enabling the control plane to program forwarding rules, QoS policies, and charging instructions into the user plane.

Category
Protocol
Introduced
Rel-14
Where
Core Network › 5G Core
Specifications
5 specs
PFCP Description Purpose Detected Changes Specifications

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.

Protocol Stack

Release Timeline

Detected Changes Across Releases

from 3GPP Change Requests

Specific changes extracted from the „Change history“ tables of 3GPP specifications (56 CRs across 5 releases). Complements the general historical overview above with the evidence-based evolution of this function.

Rel-15 2 changes

In Release 15, the PFCP function introduced clarifications to core concepts like the CP/UP function and PFCP Association, and defined a specific PFCP Association Release Procedure. The release also standardized detailed failure handling and restoration procedures, such as using PFCP Heartbeat messages for failure detection and defining how a UPF or SMF should manage session contexts after a peer restart. Furthermore, it introduced capabilities for session mobility within an SMF set and the use of identifiers like FQ-CSID and Group ID to efficiently manage groups of PFCP sessions.

  • Clarifications to CP/UP function, Node, PFCP entity and PFCP Association concepts TS 29.244CR0215
  • PFCP Association Release Procedure TS 29.244CR0219
Rel-16 24 changes

In Release 16, key enhancements to the Packet Forwarding Control Protocol (PFCP) introduced procedures for the reestablishment of PFCP sessions after a UP function restart and enabled PFCP sessions to be successively controlled by different SMFs within the same SMF set. It also added support for PFCP usage over the N16a interface for traffic offload controlled by an Intermediate SMF (I-SMF) and refined association procedures to support UE IP address allocation by AAA/DHCP. Furthermore, the release standardized mechanisms for UP function-initiated PFCP association and session release, and clarified node-level versus PFCP entity-level procedures.

  • 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
  • Update the PFCP association setup to support UE IP address Allocation by AAA/DHCP TS 29.244CR0252
  • PFCP sessions successively controlled by different SMFs of a same SMF set TS 29.244CR0261
  • PFCP messages bundling TS 29.244CR0285

+ 18 more changes

Rel-17 17 changes

In Release 17, key enhancements to the PFCP function introduced a formalized restoration procedure for PFCP sessions affected by a UPF or SMF failure or restart, allowing the SMF to proactively re-establish sessions after a PFCP association is re-setup. The release also specified the support for PFCP Node Related and Session Related messages over the N4mb interface and added mechanisms, such as the PFCP Session Set Modification Request, for an SMF set to instruct a UPF to move groups of PFCP sessions to alternative SMFs. Furthermore, it defined the use of a Connection Set Identifier (CSID) to efficiently identify and manage large sets of PFCP sessions during cleanup operations.

  • Restoration of PFCP sessions affected by a partial or complete failure TS 23.527CR0030
  • 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
  • Correcting PFCP Associations setup description TS 29.244CR0596
  • Return Node ID in PFCP Session Report Response TS 29.244CR0605

+ 11 more changes

Rel-18 7 changes

In Release 18, PFCP was enhanced to support session management during SMF failures and restarts, particularly within an SMF set, enabling procedures for UPFs to move PFCP sessions to alternative SMFs. New mechanisms were introduced, such as using PFCP Session Report Requests to proactively or reactively transfer sessions and employing identifiers like FQ-CSID or Group ID for moving groups of sessions. Additionally, the release specified error handling corrections and refined procedures for PFCP session deletion and restoration, including the ability to exclude certain sessions from restoration.

  • PFCP extensions for HR-SBO PDU sessions TS 29.244CR0750
  • TL-Containers in PFCP Session Modification/Deletion Request/Response TS 29.244CR0767
  • PFCP Error Handling Corrections TS 29.244CR0740
  • PFCP Association Release procedure with the MPAS feature TS 29.244CR0802
  • Remove Session Report for QoS monitoring measurement at PFCP session deletion TS 29.244CR0807
  • PFCP session deletion when new SMF takes over the PDU session TS 29.244CR0837

+ 1 more changes

Rel-19 6 changes

In Release 19, key enhancements to PFCP focused on improving session resilience during an SMF failure within an SMF set deployment. Specifically, new mechanisms were introduced to allow PFCP sessions to be excluded from restoration and to be seamlessly moved to an alternative SMF. This enables the UPF to proactively send a PFCP Session Report Request to an alternative SMF, using identifiers like FQ-CSID or Group ID, to restore sessions without relying on the failed SMF.

  • PFCP sessions excluded from the restoration upon a SMF failure with SMF set being deployed TS 23.527CR0089
  • PFCP sessions excluded from the restoration upon a SMF failure with SMF set being deployed TS 29.244CR0895
  • Providing alternative SMF(s) per PFCP Session TS 29.244CR0911
  • Restore PFCP Sessions at an alternative SMF TS 23.527CR0091
  • Restore PFCP Sessions at an alternative SMF TS 29.244CR0914
  • PFCP corrections for UE level measurements TS 29.244CR0957

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.

SpecificationTitleRelease
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
Patrick Zandl

About the author: Patrick Zandl (b. 1974)

Telecommunications specialist, technology journalist (founder of the Mobil server), and developer who has been running since 2025 — the largest Czech-language resource on AI-assisted programming. Formerly Chief Wizard Architect at Prusa3D and head of development for Turris at CZ.NIC; currently a consultant and instructor on AI implementation in companies.