Configure DNNs and IP pools
Define the data networks the UPF serves and the IPv4 pools it allocates UE addresses from.
The default DNN and pool
Out of the box the UPF serves a single Data Network Name, internet, and allocates UE addresses from 10.45.0.0/16. Both are configurable on the UPF:
-dnn internet— the default DNN name. A PFCP PDR with noNetworkInstanceIE, or one whose IE names this DNN, allocates from the default pool.-ue-ip-cidr 10.45.0.0/16— the IPv4 pool for that default DNN.
Adding DNNs with their own pools
To serve more data networks, add them with -dnn-pool name=cidr. The flag is repeatable — each one declares another DNN alongside the default, with its own disjoint IPv4 pool:
This UPF now serves three DNNs: internet (the default), voice, and iot, each drawing UE IPs from its own CIDR. Keeping the pools disjoint is on you — the point of per-DNN pools is to keep traffic and addressing separated by data network.
-dnn-pool rejects a non-IPv4 CIDR. For IPv6 per-DNN pools use -dnn-pool6, which merges with a matching -dnn-pool by name to form a dual-stack DNN — see Enable IPv6.How a DNN gets selected
DNN selection is driven by the control plane, not the UPF in isolation. When a UE establishes a PDU session, the SMF (inside the DMF) picks the target DNN from the subscriber's session-management data and asks the UPF to set up the session for it. The UPF binds the resulting PFCP rules to a DNN as follows:
- A PDR whose
PDI.NetworkInstanceIE names one of the configured additional DNNs allocates from that DNN's pool. - A PDR with no
NetworkInstanceIE, or one naming the default DNN, allocates from the default pool (-ue-ip-cidr). - A PDR naming a DNN the UPF does not serve is rejected — there is no pool to allocate from.
Relationship to subscriber SM data
A UE can only use a DNN that its subscriber profile permits. The DPF's per-subscriber session-management data lists the DNN configurations the subscriber is entitled to (the seeded fixture grants internet). For a UE to attach to, say, voice, all three must agree: the subscriber's SM data must include voice, the SMF must select it, and the UPF must serve a voice pool. Provision the subscriber side per Provision subscribers.
Where to go next
- Add IPv6 or dual-stack pools: Enable IPv6.
- How the user plane forwards UE traffic: User plane.
- Every UPF flag: d3x-core-upf CLI reference.