Scenario:
- device receives /56 prefix and populates /ipv6 pool
- administrator configures a /64 address in the following matter:
The mentioned command finishes in ROS 6.45.7 just fine, but print shows that address is invalid with commentCode: Select all/ipv6 address add address=::1:0:0:0:1/64 from-pool=<IPv6 pool> interface=<some interface>
;;; address pool error: bad preferred prefix length! (1)
The thing is that address assignment command checks the prefix length passed to command, but doesn't really check it against prefix length of the prefix in pool. Seems like it assumes the leading non-zero digit to be double-byte (in the example ::1:0:0:0:1/64) ... and yes, if it was meant to set the highlited part as 0001, then this would be an error. However, if it's meant to be interpreted as **01, then the intended address fits the prefix length of /56.
I've reported the bug to support in the beginning of January 2019, they confirmed the bug and informed me that "... will try to fix it as soon as possible." And a few days later, after another beta was released, "This problem is not fixed yet. It will take while until problem will be fixed since it will be more like a new feature. I can not provide any ETA for this fix/new implementation at the moment."
BTW, it was in the time of 6.44beta ...
And, BTW, I don't see this as "a new feature", this bug clearly prevents from using all /64 subnets from pool except for the lowest one (with leading bytes equal to 0).
It might happen that this bug does not bite if received prefix length is /48 though ...