Page 1 of 1

IPv6 Address Assignment Hint

Posted: Fri Mar 31, 2017 6:49 pm
by idlemind
I've nearly finished migrating from OpenWRT at the edge of my home network, by and large I'm happy with it. A feature OpenWRT had was that you specify an "IPv6 Assignment Hint." It worked so you could specify a value like "11" for VLAN11 and it would request an IPv6 prefix from the prefix dynamically assigned by your ISP that ended in a 11.

If I use prefix-hint on my upstream interface which works I am able to get a ::/56 from my ISP. Great, now let's distribute it to different VLANs internally. In MikroTik land I'm just using IPv6 address from pool and blamo I get an address. I'd like to control it so if I get a:b:c::/52 from my ISP I can automatically end up with a:b:c:11::/64 for VLAN11 and a:b:c::12 for VLAN12, etc...

Thoughts? Not really interested in a script. Hoping for a built-in command that I'm missing.

Re: IPv6 Address Assignment Hint

Posted: Fri Mar 31, 2017 8:13 pm
by proximus
I see this as a major feature gap that can cause a lot of frustrations. There is no "ipv6hint", "IPv6 Prefix ID" or similar named function to "pin" a prefix from the PD pool to a specified interface. It is essentially random. Add/delete/change an interface and the IPv6 address can change on all interfaces without warning.

This is high on my wish list. I've personally never worked on a routing platform that doesn't have this type of capability.

Re: IPv6 Address Assignment Hint

Posted: Fri Mar 31, 2017 8:46 pm
by idlemind
Thanks Proximus. I'm finding the IPv6 implementation to be severally lacking in address assignment capabilities over OpenWRT.

Could we get a MikroTik poster to give us an update on improving support for a MikroTik device acting as a customer owned edge device, read using a hAP AC to connect a house to the Internet?

  • When setting an interface up for IPv6 from a dynamically allocated pool being able to hint for a specific prefix not just an address would be fantastic. Look at OpenWRT's IPv6 Assignment Hint for what we are talking about.
  • [list]
  • Example: If giving a ::/56 from an upstream provider being able to specify that the ::/64 you get for a particular bridge will always be x:x:x::11/64 and the address of the interface will be say ::1. The address part is possible with the ipv6 address command but we cannot hint to always get a prefix with '11' in the nibbles free from the upstream assigned pool.
[*]Being able to run DHCPv6 server to clients from a dynamically allocated pool in conjunction with RA. They should be able to co-exist just fine. Again look at OpenWRT.[/*][/list]

Re: IPv6 Address Assignment Hint

Posted: Sat May 18, 2019 2:37 pm
by kamillo
Sorry to bump the old thread, has this been implemented?

Re: IPv6 Address Assignment Hint

Posted: Sat May 18, 2019 3:47 pm
by mkx
It is implemented, but slightly buggy.

My case: I receive a /56 prefix from my ISP and it's "stored" to a pool (dhcp-client does that), let's say pool name is "ipv6-pool". Then you can assign address to some interface using command
/ipv6 address
add address=::41:0:0:1/64 from-pool=ipv6-pool interface=<interface_name>
Interface will receive address with least significant octects taken from the command above, most significant octets will come from delegated prefix.

The bug I mentioned, is about mishandling the octets set in the address assignment command ... it assumes that implicit zeroes in the first declared word of the pseudo address (in command example above its 0041) should be set to that and if those zeroes overlap with received prefix, ROS declares assignment invalid. It only allows implicit zeroes preceeding double-colon ... Support knows about it since 6.43 was beta, but fix did not appear yet.

But then ... the IPv6 address part, which is OK with above mentioned way of setting the address, is actually 64 bits wide, which makes it useless for subnetting of a larger prefix. I guess it's time to ask MT to push fixing this bug upwards on their priority list.