I am having trouble with prefix delegation, getting /62 or /63 from upstream (Starlink).
According to the Starlink documentation /56 should be available (I have opened a support ticket there).
My router (and I have tried numerous different models, both master/snapshot and 24.10.3) has:
To eliminate any problem with OpenWrt (either a bug or my stubby fingers), my question is, does anyone have PD working at better than /62? I'm sure the answer is yes.. but.. stranger things have happened.
No, by "better than" I mean more /64 possible delegations.
So /62 has 2^2=4 /64s, but /63 has 1^2=2 possible /64's. Similarly /60 has (64-60)^2=4^2=16 possibles etc.
So a smaller number for the prefix mask means a larger, or "better" address space.
56 is better than 60 is better than 62 etc.
No, I am asking specifically about OpenWrt.
I will clarify:
When I receive a /62 from the upstream router, I can delegate four /64s to downstream or cascaded routers. This works just fine and is not the question I have.
No matter which router model or version of OpenWrt I try, I never get a delegation from upstream that is better than /62
Now this could be a problem with the upstream router (in this case Starlink) or it could be me misconfigured something, or a bug in OpenWrt.
My question is: Has anyone successfully received a delegation better than /62 on OpenWrt? (as I said earlier I am pretty sure that will be a yes)
If this is a yes, then this eliminates a bug in OpenWrt, leaving me with either a bad config, or an issue with the upstream router/network.
Note: Starlink documentation states that I should get a /56 delegation from upstream. I don't so have opened a support ticket there, but need to eliminate other possibilities.
@bluewavenet Is your Starlink CPE(router) in Bypass(bridge) mode ?
I suspect not, in which case the Starlink CPE will get the /56 prefix and delegate smaller prefixes to downstream routers ( your OpenWRT ). With the Starlink CPE in bypass mode, your Openwrt router should get the /56
Thank you. So not an OpenWrt bug.
This leaves a misconfiguration by me or something upstream.
That might be the answer, but not what the documentation implies as far as I can see. I should get a "real person" response from Starlink support on Monday...
Direct clients get /64 as expected, but PD requests fail to yield /56, or indeed anything "better" than /62.
We are talking about ipv6 here, not ipv4, but yes sure, in fact it will be triple-NAT along with the upstream cgnat. Back in the early days of ADSL with very slow SoC clock rates etc. it was something to be worried about. But really, double nat is no big problem and most users will not notice the difference with a modern router with a decent SoC. Maybe extreme gamers after every millisecond will care.. But that is not what this thread is about.
May indeed be so. But it does not explain why my router only gets /62 (or sometimes /63). It could just as well get a /57 giving me the possibility of 49 sub-delegations instead of the meagre 4 (or sometimes 2) I see now.
the size of the delegated prefix should align with a nibble boundary. Each hexadecimal character in an IPv6 prefix represents one nibble, which is 4 bits. The length of a delegated prefix should therefore always be a multiple of 4.
The issue you're describing:
Receiving a /62 prefix via DHCPv6-PD despite requesting a /56 — stems from a change in Starlink's IPv6 provisioning model for residential accounts that took effect in early 2025.
Previously (through at least late 2024), Starlink consistently delegated a full /56 prefix via DHCPv6-PD to customer routers, aligning with the residential documentation.
However, Starlink has shifted to provisioning a single /64 prefix for the WAN via Stateless Address Autoconfiguration (SLAAC) by default, with DHCPv6-PD support still available but now limited to smaller delegations (often /62 or /60) when requested.
Why /62 via PD?: When your OpenWrt router sends a DHCPv6-PD request with reqprefix='56', Starlink's server honors the PD mechanism but delegates a smaller prefix than requested (per RFC 8415, servers can assign any valid size up to the hint).
The /62 (which provides 4 /64 subnets) is a common fallback in this new model, as a conservation measure to discourage large delegations. This has been in operation since Q1 2025, persisting across restarts because it is server-side behavior, not a transient glitch.
Why Conservation?
The Rationale: IPv6 Space is Vast but Not Infinite: While IPv6 has 2^128 addresses (~340 undecillion), allocations come from Regional Internet Registries (RIRs) like ARIN in chunks (e.g., Starlink's /28 from ARIN). RIR policies (e.g., ARIN's NRPM Section 6) encourage hierarchical and sparse allocation to prevent exhaustion and enable future growth. ISPs must justify large delegations and often start with smaller ones.
Most Users Don't Need 256 Subnets: 99% of residential customers (like homes) only need 1–4 /64s. Delegating a full /56 to everyone wastes space—equivalent to giving away 252 unused /64s per user.
Scalability: With millions of users (Starlink had ~5M+ at the beginning of 2025, growing exponentially, adding ~1M in the last quarter), conservation allows serving more customers without requesting bigger allocations from RIRs. It also reduces prefix churn (rotations) and routing table bloat in BGP.
Currently, the Starlink address space can support in the region of 300 million /56 delegations across all RIRs. Expansion globally will allow some ~536 million /56s.
Exhaustion of possible /56 allocations within the address space may take some time, but is not as far away as might be imagined.
Policy Shifts: In 2025, many ISPs began tightening PD defaults amid IPv6 adoption growth (now ~45% global per Google stats). Real-world delegations can vary based on load, region, or your request—leading to /62 as a "conservative" fallback.
This does not bother me but will upset some people on this forum I suspect. If I want end to end connectivity, I've got it. If I want isolated "subnets" I can use nat66, If I want a guest and/or IoT network I can get a second or third /64
But then again, one /64 ie 2⁶⁴ = 18,446,744,073,709,551,616 clients all in my "residential network", should be enough for most purposes
If I want to be a (w)isp, I can subscribe to the correct grade of Starlink service.