Ipv6 | ISP has changed my PD from /48 to /56

I'm using Community Fibre as my ISP.

I just noticed that my ISP has changed my PD from /48 to /56.

I think this means I need to reconfigure my ipv6 DHCP server.

My previous ipv6 address format was:

isp:isp:isp:vlan_id:lan:lan:lan:lan

e.g. for a device on VLAN 1, the address would be 2a02:2a02:20a2:1:0:0:0:1

How do I accommodate this change to /56, which doesn't 'split' on a 16 bit boundary?

Could/Should I reduce my LAN bits to /48 (/64 including the vlan_id?

e.g. isp.isp.isp.[8 isp bits][8 blank bits].vlan_id.lan.lan.lan

Would that be achieved by simply changing the ipv6 assignment length to 48?

Thanks.

Slightly off. Yes double nibble splitting makes sense if you have a 48 or even a 32 but in a customer line 56 is a double nibble aplit from the ISP perspective.
You can do like I do a single nibble split. Like 16 different functions with each 16 sub differentiation.

Are you aware of config option ip6hint to get static subnet identifiers?

You can also if have not done so yet try to request a prefix delegation with the size of 48 and see what happen. But 56 should be fine more home users and even small enterprises hardly hit more then 256 vlans.

1 Like

As per the screenshot, I'm using ipv6 assignment hint, but the /56 PD is messing with the system.

Instead of the 16 bit vlan_id block being 0001 for VLAN1 it is now 2b01 because the ISP is assigning network bits in what was my vlan_id LAN prefix.

Maybe talk to them? They are likely to want to stich to /56, but if you are lucky they might be prepared to keep /48 for legacy users?

I just note that VLAN IDs are only 12 bits... but that still is larger than the 8bit your ISP assigns to your control.

That will not work with devices that insist on doing SLAAC over the full 64bit interface identifier, no?

I'm not too hot with ipv6. Is it possible to limit the vlan/helper address to 8 bits? I only have five vlans on my home network, so I don't need 12 bits.

I don't think it is causing day-to-day problems because the vlan IDs are simply tagged onto the end of the network address, but it might cause problems if/when a new dynamic ipv6 address is assigned.

With regards to keeping the /64 PD. There's a few threads on Reddit and it seems to be applied to all customers. I did wonder if they've adopted this so that they can assign static IPs to all customers to help mitigate their use of CGNAT.

Backing up a bit from solving the vlan issue, what size prefix are you requesting?

$ uci get network.wan6.reqprefix
48

If that's unset, maybe set it to 48 and see if they honor it (maybe they just changed the default when no prefix size is specified).

1 Like

maybe not the answer you looking for but ...
/56 is ffff:ffff:ffff:ff00:0000:0000:0000:0000
which translated to your "every vlan have own prefix/ID" is 255 vlans

if you want to be honest, what to expect from ISP to give ?
255 vlans for HOME user is more than enough

Thats not the point here. And back in the days there was a proposal that every default connection for an enduser is a 48.

How ever.

I may see the issue here...
You just write the hex-value. So 1 gets 1, and 23 gets 17.
So you can now with your 56 use 0 to FF.
Yes, with your 48 you could have used (like with your ULA) 0 to FFFF.

I don't get it? That's the whole point of ip6hint and udhcpd6c to handle a dynamic prefix delegation and the assignment for the local networks.

Edit: Sorry. I wanted to reply to @Chatmandu and not to @NPeca75 :roll_eyes:

I've not at any point said I have a problem with the assignment of the /56 address.

My question is how can I accommodate it.

If SLAC requires the full 64 bits and Openwrt uses 12 bits for the vlan, there is a compatibility issue that I need to resolve.

No!

The VLAN ID (12-bit) has nothing to do with IPv6 and /64 or /56/ or /32.

Yes. If with your /48 ULA you can map the 12-bit VLAN ID space 16 times. (edit. math...)

here we go :slight_smile:
you want to have 1:1 mapping between vlans and v6 prefix, basicaly, prefix=vlan ID
but as i show you, you can not with /56
ffff:ffff:ffff:ff00:0000:0000:0000:0000
simply, you have only 2 byte left for free use, which give you 00-ff = 256 vlans

I think we need to back up a bit to Moeller's reply.

Perhaps I've misunderstood Moeller's reply, but I understood that to mean that Openwrt uses a 12 bit value for the 'ipv6 helper prefix'.

I don't need 12 bits. I could make do with 3 bits because I only have 5 vlans.

Does Openwrt store/configure/use the 'ipv6 helper prefix' as a 12 bit value? If so, there's a compatibility issue between Openwrt and /56.

This was an IETF recommendation, but that has been rescinded and essentially replaced with "a /48 or whatever your ISP considers good enough"...

Only getting a /64 from your ISP something to complain about, loudly - /56 is not, that's 'normal' and fine for most uses.

1 Like

i am running network in few company arround my place, and even as a company, we simply could not get more than /56
so, i understand the frustration about nice&logical approach with /48 to map vlan ID to v6 prefix, and rest of address space could be assigned to external VPN users, but ...
reality is different
/56 and this is it

Your assumption is still wrong.
Yes a vlan has a range of 12 bit. But if you only have locally 8 bit address space. You can still use all vlans but can only provide global addresses for 256 local networks....

With a 48 assignment every customer could just so participate on the Internet because the customer could manage registry entries by him self.
But then ISP would loose there restrictive monopol.

As I've said, I don't have a problem with the /56 assignment. If they use their additional ISP addresses to provide everybody with a static IP, then all the better.

My question relates to what changes I need to make to my configuration to accommodate the change from /48 to /56.

How many bits does Openwrt consider to be consumed by the ipv6 helper prefix?

As per my screenshots, the subnet is configured to use a /64 assignment length and a helper prefix of 1.

If the helper prefix is stored as a 12 bit value, is that going to cause a conflict due to the overlap with the ISP's network bits?

What I wanted to say is there are only 12 bits of VLAN ID space, so worst case you need 12 bits...
OpenWrt will use anything between the assigned prefix from the ISP and the last 64 bit of the address (called the interface identifier) for its own prefix delegation or what ever assignments you want to use, like your VLAN IDS based approach.

OK. So I don't actually need to do anything to accommodate the change from /48 to /56 and everything will continue to work as normal?


Edit:

Looking at my firewall rules, would they need to be updated as per this screenshot?