Enable IPv6
Give UEs IPv6 addresses on the UPF — per-DNN, /64-per-UE or /128-per-UE, and dual-stack.
IPv6 on the default DNN
By default the UPF is IPv4-only. Add a v6 prefix to the default DNN with -ue-ip-cidr6:
Omitting -ue-ip-cidr6 leaves the default DNN v4-only, and v6 PDU sessions targeting it are rejected. Supplying it makes the default DNN dual-stack.
Allocation mode: prefix vs host
-ue-ip-mode controls how the v6 prefix is carved up. It applies globally to every v6 pool on the UPF:
prefix(default) — /64 per UE. The operator prefix (e.g. a /48 or /56) is split into /64s, one assigned to each UE. This matches the 3GPP model where each PDU session gets a /64.host— /128 per UE. The prefix is carved into single addresses, one per UE. Convenient for lab and dev setups where you do not want to burn a /64 per UE.
-ue-ip-mode is not per-DNN — it governs how all v6 pools on this UPF (the default plus any -dnn-pool6) carve their prefixes.Per-DNN IPv6 pools
For additional DNNs, declare v6 pools with -dnn-pool6 name=cidr (repeatable, IPv6 only). A DNN named only by -dnn-pool6 is v6-only:
Here iot serves only IPv6, while the default internet DNN stays IPv4-only (no -ue-ip-cidr6 was given).
Dual-stack DNNs
To make a single DNN dual-stack, declare both a v4 and a v6 pool for the same name. -dnn-pool6 merges into the matching -dnn-pool by name, giving that DNN one v4 and one v6 pool:
The voice DNN is now dual-stack. Each DNN allows at most one v6 prefix; a duplicate -dnn-pool6 for the same name is an error. Each DNN must have at least one of a v4 or v6 pool — a DNN with neither is rejected.
Where to go next
- The IPv4 side and DNN selection: Configure DNNs and IP pools.
- Every UPF flag: d3x-core-upf CLI reference.