UPF — User Plane Function in 5G NR
The user-plane workhorse — packet routing and forwarding, the PDU session anchor, PDR/FAR/QER rules, GTP-U on N3, and edge/uplink-classifier roles.
Every other function in the 5G core talks about your traffic. The UPF is the one that actually carries it. It is the box your video, your voice and your web requests physically pass through — decapsulating tunnels, matching packets against rules, enforcing rate limits, counting bytes and pushing the result out to the internet. This page is the User Plane Function in full: what it forwards, the rules it executes, how the SMF drives it over one interface, and the tricks (buffering, uplink classification, breakout) that make the data path fast and flexible.
Introduction
The User Plane Function (UPF) is the single network function in the 5G System that touches user packets. Every control-plane function decides things; the UPF does things — at line rate, for every byte a UE sends or receives. It sits on the data path between the radio access network and the data network, and the whole user plane is built around it: UE → gNB → UPF → DN.
You meet the UPF on every single packet. From the moment a PDU session becomes active until it is released, the UPF is decapsulating GTP-U tunnels, classifying flows, policing rates, marking QoS and counting usage. It never signals the UE and never makes a session decision; it simply executes the rules the SMF installed. That deliberate simplicity is its superpower.
It matters because the UPF is what makes the 5G data path fast and flexible. Because forwarding is separated from control (the CUPS principle, defined in TS 23.501), an operator can place a UPF deep in a central data centre for internet access or right at the network edge next to a factory for ultra-low latency — without moving the control-plane brains. Understand the UPF and you understand where the bytes really go.
On this page
Why the UPF is needed
In plain words: the UPF is the mail-sorting warehouse of the network. It never decides policy — the postage rates, who gets priority delivery, which addresses are blocked; a separate office (the SMF, acting on the PCF's policy) sets all of that and posts the rulebook to the warehouse. The warehouse just reads the label on each parcel, applies the matching rule, and moves the parcel toward the door as fast as it can. Move the warehouse closer to the customers and delivery gets faster — without changing who writes the rules.
The concrete purpose is Control and User Plane Separation. In LTE the forwarding engine and the session brain lived together inside the PGW, so you could not scale raw throughput or move the data exit to the edge without dragging the control logic along. 5G breaks them apart: the SMF holds all the intelligence, and the UPF becomes a pure, stateless-per-decision packet processor whose entire behaviour is described by the rules currently installed in it.
That separation is what buys the operator flexibility. Because the UPF carries no subscription data, runs no UE signalling and takes no policy decisions, it can be scaled horizontally like any cloud workload, deployed cheaply at the edge for low-latency and local-breakout use cases, and swapped between vendors. The UPF is "dumb and fast" on purpose — that is precisely why it is powerful.
The user-plane workhorse
The UPF (User Plane Function) is the single function in the 5G System that touches user packets. Control-plane functions — the AMF, the SMF, the PCF — decide things; the UPF does things, at line rate, for every byte a UE sends or receives. It sits between the radio access network and the data network (DN), and the whole user-plane path is built around it: UE → gNB → UPF → DN.
A data-plane packet processor. The UPF receives GTP-U-tunnelled traffic from the gNB, strips or adds tunnel headers, decides where each packet goes, polices its rate, marks it for QoS, counts it for charging, and forwards it toward the DN or another UPF.
Separating forwarding from control (CUPS) lets the operator place a UPF wherever the traffic needs to exit — deep in a central data centre for internet access, or right at the edge next to a factory for low latency — without moving the control-plane brains that manage it.
It has no control plane of its own. The SMF programs it entirely over N4 using PFCP, installing packet-handling rules per PDU session. The UPF simply executes those rules; it never makes a session decision itself.
That last point is the mental model to lock in. The UPF is deliberately "dumb and fast": it holds no subscription data, runs no signalling toward the UE, and takes no policy decisions. All intelligence is pushed in from the SMF as a set of rules. This is what makes the UPF easy to scale horizontally, cheap to deploy at the edge, and swappable between vendors — it is, in cloud terms, a stateless-per-decision forwarding engine whose behaviour is fully described by the rules currently installed. The functional split and the reference points are defined in TS 23.501; the N4/PFCP protocol that drives it lives in TS 29.244.
One control interface, zero autonomy: the UPF is controlled purely over N4 by the SMF. Everything it does — route, drop, buffer, rate-limit, mark, count — is an instruction it was handed, not a choice it made.
The four interfaces: N3, N4, N6, N9
Understanding the UPF is largely a matter of understanding its four wires, because each carries a different kind of traffic and speaks a different protocol. Three of them are user plane; one is control.
| Interface | Peer | Plane | Carries |
|---|---|---|---|
N3 | NG-RAN (gNB) ↔ UPF | User | The radio-to-core bearer. GTP-U tunnels over UDP/IP; each QoS flow is tagged with a QFI in the GTP-U extension header. Endpoints are identified by an F-TEID. This is NG-U. |
N4 | SMF ↔ UPF | Control | The only way the UPF is controlled. PFCP over UDP (port 8805): the SMF installs, modifies and deletes the PDR/FAR/QER/URR rules and receives usage reports and event notifications. |
N6 | UPF ↔ Data Network | User | The exit to the DN — the internet, an IMS network, or an enterprise/edge service. Plain IP (no GTP-U); the UE's IP address is visible here. This is where NAT, firewalling and the DN edge live. |
N9 | UPF ↔ UPF | User | The tunnel between two UPFs, again GTP-U. Used when an intermediate UPF (I-UPF) fronts the anchor UPF, e.g. for mobility or an UL-CL/branching-point breakout. |
Notice the asymmetry: N3, N9 and the way traffic enters carry GTP-U encapsulation, but N6 does not. A downlink packet arrives at the anchor UPF from the DN as a plain IP packet addressed to the UE; the UPF looks up the session, wraps the packet in a GTP-U tunnel toward the serving gNB (or an I-UPF over N9 first), and stamps the right QFI. Uplink is the mirror image: GTP-U comes in on N3, the header is stripped, and the inner IP packet leaves on N6. The UPF is, at heart, a tunnel-endpoint and header-rewrite machine.
Only N4 is control. If you are ever asked "how does the network tell the UPF what to do?", the answer is always the same three tokens: N4, PFCP, from the SMF. There is no N2-style link and no direct UE signalling into the UPF. Note too that the UPF exposes no SBA service of its own — it is a PFCP node, not an Nxxx producer — which is why you never see an "Nupf" on the bus.
PDU Session Anchor and mobility anchoring
Among all the UPFs a packet might traverse, one has a special role for each PDU session: the PDU Session Anchor (PSA). The PSA-UPF is the UPF that owns the N6 exit to the data network and, critically, the UE's IP address. It is the fixed point of the session.
This matters because of mobility. As a UE moves and hands over between gNBs, the radio end of the N3 tunnel changes — the SMF reprograms the anchor's FAR so downlink packets are tunnelled to the new gNB. But the PSA itself stays put, so the UE keeps the same IP address and its TCP connections survive. That is what mobility anchoring means: the anchor is the stable pivot around which the radio side moves. Only in larger relocations does the SMF insert an I-UPF over N9 in front of the anchor, or (rarely, and with an IP change) relocate the anchor itself.
The anchor is the UE's IP home. The PSA-UPF holds the N6 connection and the UE's IP address for the life of the session. Handovers move the N3 tunnel endpoint; the anchor does not move, so the IP address is preserved.
A single PDU session can have more than one anchor at once — a configuration used for local breakout, where one PSA reaches the central internet and a second PSA reaches a nearby edge network, with an UL-CL or branching point steering packets between them. We come back to that below.
The rules the SMF installs: PDR, FAR, QER, URR
Everything the UPF does to a packet is described by four kinds of rule that the SMF installs over N4. They form a small pipeline: first detect which flow a packet belongs to, then decide what to do with it, how to meter it, and what to count. Learn this quartet and you understand the UPF's entire job.
| Rule | Name | What it does |
|---|---|---|
PDR | Packet Detection Rule | Detect. Matches incoming packets using Packet Detection Information (source interface, F-TEID, IP 5-tuple, SDF filters, application ID). Each PDR has a precedence and points to the FAR/QER/URR(s) that apply to matched packets. This is the classifier. |
FAR | Forwarding Action Rule | Forward / drop / buffer. Says what to do with a matched packet: apply action FORWARD (with an outer-header creation for the GTP-U tunnel and a destination interface), DROP, BUFFER, or NOCP (notify the control plane). Handovers are largely a matter of the SMF updating a FAR's destination. |
QER | QoS Enforcement Rule | QoS. Enforces rate limits — per-session Session-AMBR and per-flow MBR/GBR — gates a flow open or closed, and sets the QFI and any transport-level marking (e.g. DSCP) on outgoing packets. This is the policer and marker. |
URR | Usage Reporting Rule | Measure. Counts volume and/or time for matched traffic and reports it to the SMF — periodically, at a threshold (volume/time quota), or on an event. This feeds charging and quota enforcement. |
The flow through the pipeline is: a packet arrives, the UPF finds the highest-precedence PDR whose Packet Detection Information matches, and that PDR tells it which FAR, which QER(s) and which URR(s) to apply. The QER polices and marks, the URR counts, and the FAR forwards (or drops, or buffers). All four are bundled inside a PFCP Session Establishment/Modification Request that the SMF sends per PDU session; each PFCP session on the UPF corresponds to one PDU session's worth of rules. Before any of these sessions can exist, the SMF and UPF first stand up a node-level link with PFCP Association Setup and keep it live with periodic PFCP Heartbeat messages.
Spec anchor: the PFCP node and session procedures, and the full information-element set for PDR, FAR, QER and URR, are specified in TS 29.244. The functional roles and QoS model are in TS 23.501.
QoS flows and QFI marking
5G QoS is organized around the QoS flow, the finest granularity of differentiated treatment inside a PDU session. Each flow is identified by a QFI (QoS Flow Identifier), and the UPF is where that identity gets attached to user-plane traffic.
In the downlink, packets arrive at the UPF from the DN with no 5G markings at all. The UPF classifies them (via its PDRs and SDF filters) into the correct QoS flow, then — as the QER and FAR direct — writes the corresponding QFI into the GTP-U extension header of the tunnel toward the gNB, so the RAN knows which radio treatment to give each packet. It also enforces the flow's rate limits: dropping or delaying traffic that exceeds the GBR/MBR of a guaranteed flow, and holding aggregate throughput under the Session-AMBR for non-GBR traffic. In the uplink, the UE marks packets with a QFI according to its QoS rules; the UPF verifies that the marking matches what was authorized and again enforces the applicable limits before forwarding on N6.
The UPF both marks and polices. It is not enough to tag traffic with a QFI; the QER also enforces the byte-rate ceilings. A guaranteed-bitrate flow that misbehaves and a session that exceeds its Session-AMBR are both dealt with here, in the data plane, not by any control-plane function.
Buffering, Uplink Classifier, and Lawful Intercept
Beyond the steady-state forwarding, the UPF handles three important special behaviours, all still driven by SMF rules over N4.
Downlink buffering for an idle UE. When a UE is in CM-IDLE, there is no N3 tunnel to a serving gNB — the radio path is torn down to save power. If a downlink packet then arrives from the DN, the UPF cannot deliver it immediately. Its FAR is set to BUFFER (optionally with a NOCP flag), governed by a BAR (Buffering Action Rule) that bounds how much and how long, so the UPF holds the packets and sends a Data Notification to the SMF. The SMF asks the AMF to page the UE; once the UE responds and re-establishes the session, the SMF updates the FAR to FORWARD with the new tunnel endpoint, and the buffered packets are flushed downstream. Buffering can live in the UPF itself or in the SMF, but the UPF is the common choice.
Uplink Classifier and Branching Point. These are the two mechanisms for splitting one PDU session's traffic across multiple exits — the foundation of local breakout and edge computing. An UL-CL (Uplink Classifier) is a UPF that inspects the destination of uplink packets and diverts some of them (say, traffic for a local edge server) to a local PSA while sending the rest to the central PSA for internet access — invisible to the UE, which sees one IP address. A branching point achieves the same split for IPv6 multi-homing, routing on the packet's source prefix instead. Either way, a second UPF is inserted, connected over N9, and the traffic for the nearby application never traverses the whole network — giving low latency for edge workloads.
Lawful Intercept. Because it is the one place every user packet passes, the UPF is also the natural point-of-interception for user-plane content under a legal warrant. When instructed, it duplicates the targeted traffic to the interception function while forwarding the original transparently, so the intercept is undetectable to the UE. The control-plane side of LI is coordinated by other functions, but the user-plane copy happens here.
UPF forwards user traffic gNB —N3(GTP-U)→ UPF —N6→ DN, controlled only by the SMF over N4. An optional second UPF over N9 provides edge breakout to a local DN.LTE ↔ NR: the UPF is the user-plane half of LTE's PGW — the PGW-U — and it also absorbs the forwarding role of the SGW-U. In the EPC the SGW/PGW fused control and user plane; CUPS (Release 14) split them into SGW-C/SGW-U and PGW-C/PGW-U, and 5G formalized the user-plane side as the single UPF. The PSA-UPF's IP-anchor role mirrors the PGW-U; the I-UPF mirrors the SGW-U. The big protocol change: EPC drove the user plane over Sxa/Sxb, whereas the 5GC uses PFCP on N4 — the same protocol family, one converged interface. A combined UPF+PGW-U can serve both cores during interworking.
Summary
The UPF is the one function that carries user data. It terminates GTP-U tunnels on N3 (to the gNB) and N9 (to other UPFs), exits to the data network on N6 as plain IP, and is controlled solely by the SMF over N4 using PFCP. For every packet it runs the same pipeline the SMF installed: a PDR detects the flow, a FAR forwards/drops/buffers it, a QER polices and marks it with a QFI, and a URR counts it for charging. One UPF per session is the PSA — the UE's stable IP home across handovers — and extra UPFs (an I-UPF, an UL-CL or branching point) enable mobility and local breakout without the UE ever noticing. It buffers for idle UEs, and it is the natural point for lawful intercept. The one thing to carry away: the UPF is deliberately dumb and fast — pure enforcement, zero autonomy — which is exactly the user-plane descendant of LTE's PGW-U.
⚠ Common pitfalls / gotchas
- Thinking the
UPFhas an SBA service. It does not — there is no "Nupf" on the bus. It is aPFCPnode driven overN4, nothing more. - Forgetting
N6is plain IP. OnlyN3andN9carryGTP-U; onN6the UE's address is exposed, which is where NAT and firewalling actually happen. - Assuming a handover moves the anchor. Normally only the
FAR'sN3destination is retargeted; thePSAstays put so the IP survives. Relocating the anchor is the rare, IP-changing case. - Expecting the
UPFto page. TheUPFonly buffers and raises a Data Notification; paging is theAMF's job, triggered by theSMF.
Quick Q&A
These are the questions that check whether you really understand the user plane, not just the acronyms.
Q. How is the UPF controlled, and by whom?
A. Purely over N4 by the SMF, using PFCP. The UPF has no control plane of its own and makes no session decisions — it only executes the PDR/FAR/QER/URR rules the SMF installs.
Q. What do PDR, FAR, QER and URR each do?
A. PDR detects/classifies a packet; FAR forwards, drops or buffers it; QER enforces rate limits and gating and sets the QFI/marking; URR measures volume/time and reports usage to the SMF.
Q. What is the PSA, and why does it matter for mobility?
A. The PDU Session Anchor is the UPF that owns the N6 exit and the UE's IP address. It stays fixed as the UE hands over between gNBs — the SMF just retargets the N3 tunnel via a FAR update — so the IP address and existing connections survive.
Q. A packet arrives for a UE that is in CM-IDLE. What does the UPF do?
A. There is no N3 tunnel, so its FAR buffers the packet and it sends a Data Notification to the SMF, which triggers paging via the AMF. Once the UE is reachable and the tunnel is rebuilt, the FAR switches to FORWARD and the buffered packets are flushed.
Q. Which interfaces carry GTP-U, and which does not?
A. N3 (to the gNB) and N9 (UPF↔UPF) carry GTP-U. N6 to the data network is plain IP with the UE's address exposed. N4 is control plane (PFCP), not user data.
Q. What is an UL-CL and what is it used for?
A. An Uplink Classifier is a UPF that inspects uplink packet destinations and diverts some traffic to a local PSA (edge/local DN) while sending the rest to the central anchor — enabling local breakout and edge computing transparently to the UE, which keeps one IP address.
Where to go next
You have followed a packet through the UPF — detected by a PDR, forwarded by a FAR, policed by a QER, counted by a URR, all installed by the SMF over N4. Now look at the function that programs it, the protocol that carries those rules, and the QoS model the marks refer to: