Prefix Delegation

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:

network.wan6=interface
network.wan6.device='@wan'
network.wan6.proto='dhcpv6'
network.wan6.reqprefix='auto'
network.wan6.reqaddress='try'

I have also set reqprefix to specific values eg 56, 60 with no difference.

A typical output of ifstatus wan6 is:

	"ipv6-prefix": [
		{
			"address": "2a0d:xxxx:xxx:xxxx::",
			"mask": 63,
			"preferred": 81,
			"valid": 231,
			"class": "wan6",
			"assigned": { ......

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.

Try to set reqaddress to 'none' and see if that helps.

1 Like

No difference unfortunately....

1 Like

Does "better than /62" mean /63 or /64?

Working for WAN and LAN?

Or are you asking specifically about $tarlink?

(I won't be able to test until tomorrow, I'll be able to setup and extensively test a downstream device for you.)

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.

1 Like

I receive a /56 PD from my upstream on my OpenWrt, if that's what you mean.

Where "I" probably means Starlink router? What IPv6 configuration do you see on your PC when it is directly connected to the Starlink CPE?

Yes. Explicit requesting a 56 from DTAG since years and using round about 16 subnets and one downstream delegation from it.

2 Likes

@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

2 Likes

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.

I’d be pretty confident that is the answer. Also with the Starlink CPE in router mode you will be getting a double-NAT situation.

2 Likes

I agree with @MisterW. I’ve only ever used the Starlink router in bridge mode and I’ve always received a /56 PD

2 Likes

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.

It depends on how the Starlink CPE is set to delegate PD to downstream routers. Strange that its not consistent though…

My point exactly. I await a response from Starlink support, hopefully tomorrow.

See

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.

So for best operational practice, my router could still be delegated a /60 :scream:

But it actually gets a /62 or a /63 (and downstream sub-delegation works just fine), so "best practice" does not come into this it seems :nerd_face:

Exactly the same, /56 for many years, but only 3-4 subnets (all /60 delegated) to test routers...

Top one looks like:

config interface 'wan6'
        option device 'eth0'
        option proto 'dhcpv6'
        option reqaddress 'try'
        option reqprefix '56'
        option peerdns '0'
        list dns '0::1'
1 Like

The reply:

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 :man_tipping_hand:

If I want to be a (w)isp, I can subscribe to the correct grade of Starlink service.

4 Likes