PDR

Packet Detection Rule

Core Network
Introduced in Rel-14
A Packet Detection Rule (PDR) is a fundamental policy construct in the 5G User Plane Function (UPF) and 4G/5G Traffic Detection Function (TDF). It defines a set of matching criteria (e.g., IP header fields) and associated actions (e.g., forwarding, buffering, charging) to identify and process user plane packets. PDRs enable dynamic, fine-grained traffic steering and policy enforcement.

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.

Key Features

  • Defines matching criteria (PDI) using IP/TCP/UDP headers, interface, QFI, and application ID
  • Associates matched packets with a set of ordered actions (forward, buffer, charge, enforce QoS)
  • Installed and modified dynamically per session by the SMF using the PFCP protocol
  • Supports chaining and precedence for complex service function chaining
  • Enables fine-grained traffic detection for policy enforcement and charging
  • Fundamental for implementing network slicing and local breakout (edge computing)

Evolution Across Releases

Rel-14 Initial

Introduced PDR as part of the CUPS (Control and User Plane Separation) architecture for EPC, defined in the PFD (Packet Flow Description) management and PFCP protocol. Initially enabled dynamic traffic detection and steering in the TDF and enhanced Packet Gateway (P-GW).

Fully integrated PDR into the 5G Core (5GC) architecture as the primary rule type in the UPF. Expanded matching criteria to include 5G-specific parameters like QFI, Network Instance, and Source/Destination Interface. Defined detailed actions for QoS enforcement, buffering, and forwarding within the 5G system.

Enhanced PDR for new 5G features like Integrated Access and Backhaul (IAB), Non-Public Networks (NPN), and enhanced support for edge computing (EC). Introduced more granular application detection capabilities and refined charging correlation mechanisms.

Further enhancements for support of UAV (drone) communication, enhanced network slicing isolation, and improved support for time-sensitive communication. Refinements to PDR precedence handling and interaction with QoS Enforcement Rules (QERs).

Defining Specifications

SpecificationTitle
TS 23.501 3GPP TS 23.501
TS 26.510 3GPP TS 26.510
TS 26.804 3GPP TS 26.804
TS 29.244 3GPP TS 29.244