The new manual has description for the possible values:
You only see the effect when you try to assign the same subnet-id to multiple interfaces from the same pool. Here are some tests:
/ipv6 pool
add name=ula-pool prefix=fde8:b95b:6696:100::/56 prefix-length=64
/ipv6 address
add interface=vlan20 address=::3:0:0:0:1/64 from-pool=ula-pool from-pool-policy=recommended
add interface=vlan30 address=::3:0:0:0:1/64 from-pool=ula-pool from-pool-policy=recommended
add interface=vlan40 address=::3:0:0:0:1/64 from-pool=ula-pool from-pool-policy=recommended
Result with recommended:
As you can see, RouteOS tries to use the specified subnet-id (3 in the example) when possible (applied to vlan20) but when the subnet is already used (pool already allocated it to vlan20) the two other interfaces get the next available subnet-id from the pool (0 for vlan30 and 1 for vlan40).
Now the similar test, but with strict instead:
/ipv6 address
add interface=vlan20 address=::3:0:0:0:1/64 from-pool=ula-pool from-pool-policy=strict
add interface=vlan30 address=::3:0:0:0:1/64 from-pool=ula-pool from-pool-policy=strict
add interface=vlan40 address=::3:0:0:0:1/64 from-pool=ula-pool from-pool-policy=strict
Result:
With strict RouterOS is not allowed to change the subnet-id from the specifed one, as a result, only vlan20 get a valid address assigned. The two other interfaces cannot obtain a prefix from the pool, because they explicitly ask for subnet-id 3 and that one is no longer available in the pool.
If we now run:
/ipv6 address
set [find interface=vlan30 !dynamic] from-pool-policy=recommended
set [find interface=vlan40 !dynamic] from-pool-policy=recommended
Although we have not edited the address field, RouterOS will still automatically correct the subnet-id in the stored setting:
The setting is introduced because with this change from 7.21:
from 7.21-7.22 the subnet-id 0 was used as a special subnet-id that says: use the next available prefix from the pool (similar to recommended in 7.23), while all other non-zero subnet-ids had the same meaning as strict. As a result, it was not possible to pin an interface to the subnet-id 0 (the address entry will jump around).
7.23 with the new from-pool-policy parameter allows you to pin a subnet-id 0 to an interface by setting the subnet and using from-pool-policy=strict.


