Description
Packet Detection Information (PDI) is a fundamental data structure within the 3GPP Packet Forwarding Control Protocol (PFCP), specified primarily in TS 29.244. It is used in the interaction between the Control Plane (CP) function, such as the Session Management Function (SMF) in 5G or the Control Plane part of a Packet Gateway (PGW-C), and the User Plane (UP) function, such as the User Plane Function (UPF) or PGW-U. The PDI is part of a Packet Detection Rule (PDR), which is a complete rule instructing the UP function on how to process packets. The PDI component specifically defines the matching criteria for identifying packets that belong to a particular service data flow.
The PDI contains a list of Information Elements (IEs) that serve as filters. These can include a Source Interface (indicating whether the packet comes from the access side or core network side), network identifiers like the Source/Destination IP address and subnet mask, transport layer identifiers such as Source/Destination port numbers, and application-layer identifiers like the Protocol ID (next header type). In more advanced deployments, it can also include fields for deep packet inspection, such as application identifiers, Service Data Flow (SDF) filters, or even custom enterprise-specific rules. When a packet arrives at the UP function, its header and payload are parsed and compared against all active PDIs. If a match is found, the associated PDR dictates the subsequent actions: forwarding, dropping, buffering, duplicating, or applying Quality of Service (QoS) marking.
Architecturally, the PDI enables the separation of control and user plane, a cornerstone of modern 5G and evolved 4G cores. The control plane function, possessing the full policy context, creates PDIs and installs them via PFCP Session Establishment or Modification procedures. The user plane function then applies these rules at line rate, ensuring low-latency packet processing. The granularity offered by PDI is crucial for implementing network slicing, where different slices require distinct traffic handling. It also forms the basis for traffic detection in policy and charging control (PCC), allowing operators to apply specific charging rates, QoS policies, or gating decisions based on the detected application or service.
In operation, a single PDR contains one PDI but can trigger multiple subsequent actions (Forwarding Action Rules, QoS Enforcement Rules, Usage Reporting Rules). The PDI's matching is typically performed in a defined order of precedence across all installed PDRs. Its design allows for high flexibility and scalability, supporting everything from simple best-effort internet traffic to complex enterprise VPN services with specific security and low-latency requirements. The efficiency of PDI matching directly impacts the overall performance and capacity of the user plane node.
Purpose & Motivation
The creation of Packet Detection Information (PDI) was motivated by the need for a highly flexible, programmable, and standardized method to detect and classify user plane traffic in a control-user plane separated (CUPS) architecture. Prior to CUPS, traffic detection and policy enforcement were tightly integrated within monolithic network nodes like the GGSN or PGW, making it difficult to scale the user plane independently or introduce new services rapidly. The PDI, as part of the PFCP protocol, provides a clean, abstracted interface for the control plane to instruct the user plane on what traffic to look for.
It solves the critical problem of service-aware traffic handling in a high-throughput, low-latency environment. Without a structured detection mechanism like PDI, the user plane would be limited to basic routing based on IP addresses. PDI enables deep packet inspection and classification at the network edge, which is essential for implementing sophisticated policy and charging control (PCC), network slicing, edge computing offload, and parental controls. It allows operators to monetize different service qualities and ensure service level agreements (SLAs) are met.
Historically, traffic detection was embedded in proprietary implementations. Standardizing PDI within PFCP ensured multi-vendor interoperability between control and user plane functions. This was a key enabler for Network Function Virtualization (NFV) and cloud-native deployments, as it allowed operators to source CP and UP functions from different vendors and deploy them elastically. The PDI model, introduced in Release 14 alongside CUPS for the EPC, was later carried forward and enhanced in the 5G Core's Service-Based Architecture (SBA), proving its foundational role in modern packet core networks.
Key Features
- Defines a standardized set of packet matching criteria for the PFCP protocol
- Supports multi-field matching including source/destination IP, port, protocol, and application ID
- Enables deep packet inspection (DPI) for advanced service detection
- Fundamental for implementing policy and charging control (PCC) rules
- Allows traffic steering for network slicing and edge computing
- Provides the basis for user-plane packet buffering, duplication, and QoS marking triggers
Evolution Across Releases
Introduced as a core component of the Packet Forwarding Control Protocol (PFCP) to enable Control and User Plane Separation (CUPS) for the Evolved Packet Core (EPC). Defined the initial set of Information Elements (IEs) for packet matching, such as source interface, local/remote IP addresses and masks, protocol, and port numbers, allowing the PGW-Control plane to program the PGW-User plane.
Defining Specifications
| Specification | Title |
|---|---|
| TS 29.244 | 3GPP TS 29.244 |