Is it possible to sub-pool a /56 from upstream ISP into a mixed setup?

As a user i’m trying to setup a mixed setup from an upstream /56 DHCPv6-PD assigned prefix.

My scenario would be to use the first half to directly give /64s to VLANs/SVIs on the first router.

And use the second to give out a /57 to use on a second router to delegate /64s to it’s locally scoped VLANs.

So in schematic i would like something like

2001:db8:3500::/57 → used for up to 128 /64s on R1
and
2001:db8:3580::/57 → used as sub-pool to another router (R2) to give out /64s from.

Is this doable with RouterOS atm?.

To kinda of dynamically sub-pool the dynamic pool it gets from upstream?

So far the closest thing i’ve gotten working is to create a “fake-pool” on R2 that goes from 2001:db8:3580::/57 to give out /64s, but this will obviously break in the very remote scenario my upstream /56 changes.., or that R1 gives out a prefix closing in on the 80::/57

From 7.22 (currently rc3) you can create sub-pools from a pool. Example:

/ipv6 dhcp-client
add interface=my-wan pool-name=wan-pool pool-prefix-length=60 \
    prefix-hint=::/56 request=prefix use-peer-dns=no

/ipv6 pool
add from-pool=wan-pool name=slaac-pool prefix=0:0:0:10::/60 prefix-length=64 

The sub-pool slaac-pool can now be used to assign and advertise /64 on interfaces (up to 16 times). slaac-pool took one /60 slice out of the /56 prefix given by the ISP (the xxxx:yyyy:zzzz:ww10::/60 prefix).

The original wan-pool can be used by DHCPv6 Server PD to delegate to the clients, there are 15 /60 prefixes left for this purpose

  • xxxx:yyyy:zzzz:ww00::/60
  • xxxx:yyyy:zzzz:ww20::/60
  • xxxx:yyyy:zzzz:ww30::/60
  • xxxx:yyyy:zzzz:ww40::/60
  • ...
  • xxxx:yyyy:zzzz:wwe0::/60
  • xxxx:yyyy:zzzz:wwf0::/60

and up to 15 DHCPv6 PD clients can be served.


In your specific case the split will be like this:

/ipv6 dhcp-client
add interface=my-wan pool-name=wan-pool pool-prefix-length=57 \
    prefix-hint=::/56 request=prefix use-peer-dns=no

/ipv6 pool
add from-pool=wan-pool name=slaac-pool prefix=0:0:0:80::/57 prefix-length=64 

The pool slaac-pool can then be used to assign to interfaces, you can assign to 128 interfaces.

The wan-pool only has one free prefix left, the xxxx:yyyy:zzzz:ww00::/57 one. So you can use it with DHCPv6 Server PD for exactly one client (that client will be the 2nd router).

1 Like

Or use the sub-pool trick again to divide the remaining /57 prefix into 8 /60 prefixes and hand those out to clients.

1 Like

Yes, that's preferable if OP has more than one "router 2" that needs PD. But in that case, I think the 56-60-64 split like in the 1st example is better. Because OP probably doesn't have 128 interfaces. So maybe main pool has pool-prefix-length=60. Then 2 sub-pools can be used if OP needs up to 32 interfaces. Then there are 14 /60 prefixes left for PD.

1 Like

That the exact feature I would want. So its present in the RCs… have to wait or be bold and switch channels :thinking:

EDIT: updated to the testing version, and the feature was exactly what i was looking for! :smiley:
Slowly but surely IPv6 support in RouterOS is maturing more and more <3

1 Like