Configure DHCPv6c on WAN for multiple PD requests for AT&T fiber?


AT&T fiber internet with BGW320-505 router/ONT in pass-thru mode ->
Linksys WRT3200ACM running OpenWrt 19.07.7

Apparently, AT&T's upstream DHCPv6 server gives the BGW320 a /60 PD, but the PD response for the WAN to the Linksys gets just a /64. Also, apparently, the BGW320 will supply eight /64 blocks for multiple requests.

I found some instructions for wide-dhcpv6c here

I want to setup five subnets so I'll need five of those blocks

How can I do this with and has anyone had success doing this rather than forcing tru-bridge mode?

following this. I eventually gave up and am running wide-dhcpv6-client to do the multiple PD requests and assign them to the different vlans. But my router is running on Raspberry Pi OS now because of this and nftables support.

makes it look like you could do wide-dhcpv6 from openwrt

1 Like

AT&T has me jumping through hoops :face_with_symbols_over_mouth:
I need to think this through carefully first :face_with_monocle:

Yeah, their speeds are great, and super reliable, but if they'd just have a scheme where you could acquire a certificate from them, and then connect your own hardware and get a /56 instead of a /60... we need some decent legislation regarding handing out ipv6 prefixes. /56 needs to be the legal minimum

there are 10 Million /56s for every person alive on the planet today, so yeah /56 minimum.


YES! Exactly

I'm not understanding yet the responsibility of odhcp6c to luci and how to just swap it out for dhcpcd (the old name wide-dhcpcd doesn't exist anymore). Installing dhcpcd 7.2.2-1 doesn't create a /etc/config/dhcp6c file, so that must be a different package.

But it looks like udhcpc is the process for WAN port or maybe that's just the ipv4 part. I'm unsure

I'm assuming that AT&T's logic is for routers behind their RGM, or even phones providing WAPs or something making the /64 size acceptable (ie one router per subnet). But a router connected as pass-thru should get something logical instead. To complicate it more, the LAN ports of the RGM shares the first prefix block.

[edit] My mistake... the BGW320 uses the "IPv6 Addressing Subnet" for its own LAN. The requested "IPv6 Delegated Prefix Subnet" is properly used by the pass-thru router. We just need more /64 blocks

How do we make odhcp6c request multiple PD blocks?

I know what I want as a result: a pool of /64 blocks to have assigned to the different LAN interfaces.

The applicable syslog warning:

Fri Jun 18 15:25:32 2021 daemon.warn netifd: Failed to assign requested subprefix of size 64 for lan, trying other

Yeah, because the WHOLE prefix is used. I will continue to read through some odhcp6c source code for ideas as I contemplate this problem

Yeah, I don't think this is possible given current version of odhcpd, odhcpd expects to be delegated something large (like /56), and sub-set it itself. Instead ATT's machines want to hold on to the large thing and hand out individual /64s, the only way I could make it work was wide-dhcpv6-client which runs well and solves the problem from Debian but then you have to give up on OpenWrt. In the end that's the direction I went for various reasons.

1 Like

Yes. I'm seeing the dilemma clearly. Thank you

I partially figured it out. Call odhcp6c with multiple -P options. Use zero because the length is always 64

odhcp6c -s /lib/netifd/dhcpv6.script -Ntry -P0 -P0 -P0 -P0 -P0 -P0 -P0 -P0 -t120 eth1.2

Screenshot from 2021-06-21 19-42-43

Next, how to integrate this into the real call generated from LuCI

1 Like

This will need some mods as we'll have multiple entries.

I used to be able to read code well, but I got out-of-practice. Although, this is more fun than watching TV :wink:

Are you sure this is what you want to do? After all a /60 is equal to 8 /64s.

If the BGW320 has a /60, why not just plug the Linksys into it, and let the OpenWrt request a /64 out of the /60?

How OpenWrt handles prefix delegation

He's got multiple subnets so he wants more than one /64

1 Like

May be you should try to use aliases:

It won't make AT&T give me a /56 prefix delegation in one lump, though. All I want for right this moment is for the DHCPv6 server in their BGW320 to give me a /61 PD (2^3 = 8) when I ask for a /61, and not have to ask eight times to build that up.

If this is not how it is going to be, then I'll modify openwrt to work with AT&T's broken router/ONT

Yeah ATT is broken this way. I think the solution is really regulation. No ISP should be allowed to refuse a /56 request. And should issue it with a minimum of 365 days lease.


After the bitch-fest I had with them on the phone yesterday, they asked me to wait to be contacted by someone in high authority by Friday to go over the details toward a firmware patch.

Lip service is cheap. EFF next, then the local city council cable monopoly board