Description
The Packet Detection Rule (PDR) is a central element of the packet processing pipeline in the 3GPP 5G Core (5GC) User Plane Function (UPF) and is also used in the 4G/5G Traffic Detection Function (TDF). It is a rule installed by the Session Management Function (SMF) via the PFCP (Packet Forwarding Control Protocol) protocol to instruct the UPF on how to identify and handle specific user plane traffic flows. Each PDR is uniquely identified within a PFCP session and contains two main parts: a Packet Detection Information (PDI) section and a set of associated Actions.
The Packet Detection Information (PDI) defines the matching criteria used to identify packets belonging to a specific flow. This can include a combination of fields such as source/destination IP address, source/destination port numbers, protocol identifier (e.g., TCP/UDP), QoS Flow Identifier (QFI), Network Instance (identifying a virtual network), Source/Destination Interface (e.g., access side, core side), and application identifiers (from Application Detection and Control). The PDI provides the granularity needed to distinguish between different services, users, or network slices. When a user plane packet arrives at the UPF, it is matched against the list of active PDRs in the order of their precedence. The first PDR whose PDI matches the packet is selected for enforcement.
Once a packet matches a PDR, the UPF executes the ordered list of Actions associated with that rule. Key actions include: forwarding the packet to a specific destination (e.g., to a next-hop tunnel or an application function), buffering the packet (e.g., for downlink data notification when the UE is idle), applying a specific QoS enforcement policy (mapping to a QoS Flow, applying rate limiting), triggering usage reporting for charging, and activating/deactivating other PDRs or QoS Enforcement Rules (QERs) dynamically. Multiple PDRs can be chained or nested to create complex service function chains, such as routing traffic through a firewall or a video optimizer before reaching its final destination. The PDR framework provides the SMF with a powerful, programmable interface to control the UPF's behavior on a per-flow basis, which is essential for supporting network slicing, edge computing, and differentiated services in 5G.
Purpose & Motivation
The PDR was created to address the limitations of static, pre-configured packet filtering and forwarding in previous mobile core networks (like the GGSN in 2G/3G). In those systems, traffic handling was relatively coarse, often based on the APN or simple IP filters. The shift to a cloud-native, service-based 5G Core required a much more flexible, dynamic, and granular mechanism to enforce complex policies defined by the control plane (SMF). PDRs, as part of the PFCP protocol, enable this by separating the control logic (in the SMF) from the high-speed packet processing (in the UPF), allowing for real-time, session-specific policy application.
This architecture solves the problem of efficiently supporting diverse 5G use cases with vastly different requirements—from massive IoT requiring simple forwarding to ultra-reliable low-latency communications (URLLC) requiring precise traffic steering and guaranteed QoS. PDRs allow the network to dynamically create and modify traffic handling rules without interrupting user sessions. For example, when a user starts a video call, the SMF can install a new PDR to identify that specific flow and apply a high-priority QoS policy. This level of dynamic control was not feasible with the monolithic GGSN architecture.
Furthermore, PDRs are fundamental to enabling network slicing and edge computing. Different network slices require isolated traffic paths and policies. PDRs can match packets based on a Network Instance (slice identifier) and direct them to the appropriate virtualized or physical resources. For edge computing, PDRs can steer traffic destined for a local application server directly to a local User Plane instance at the network edge, minimizing latency. The PDR model thus provides the essential building block for a programmable, agile, and service-aware 5G user plane.
Classification
Detected Changes Across Releases
from 3GPP Change RequestsSpecific changes extracted from the „Change history“ tables of 3GPP specifications (13 CRs across 4 releases). Complements the general historical overview above with the evidence-based evolution of this function.
- Deferred PDR Activation and Deactivation TS 29.244CR0241
- F-TEID in a PDR TS 29.244CR0278
- Clarification to Create PDR/FAR/URR/QER/BAR/MAR IEs in a modification message TS 29.244CR0295
- Reporting PDR ID in a Usage Report TS 29.244CR0349
- MPTCP Indication for a Uplink PDR for traffic applicable for MPTCP TS 29.244CR0393
- Essential correction on the use of the Updated PDR TS 29.244CR0511
Explore further
Broader topics and technologies where PDR plays a role.
Defining Specifications
3GPP specifications that define or reference PDR, with the latest known release. Sourced from the 3GPP document catalog — see methodology.
| Specification | Title | Release |
|---|---|---|
| TS 23.501 vk20 | 5G System Architecture Stage 2 | Rel-20 |
| TS 26.510 vj20 | 5G Media Streaming and Real-Time Communication APIs | Rel-19 |
| TS 26.804 vk00 | 5G Media Streaming Architecture Extensions | Rel-20 |
| TS 29.244 vk00 | Packet Forwarding Control Protocol (PFCP) Specification | Rel-20 |