Experiments run on Ubuntu 22.04 and Debian 12.
I'm new to network and trying to understand if the behavior mandated by an RFC or the actual implementation: Prefixes with lengths other than 64 bits are not used for global unicast address auto-configuration.
When configuring router advertisement daemon to advertise the following prefix
interface eth0
{
AdvSendAdvert on;
# Note: {Min,Max}RtrAdvInterval cannot be obtained with radvdump
AdvManagedFlag off;
AdvOtherConfigFlag off;
AdvReachableTime 0;
AdvRetransTimer 0;
AdvCurHopLimit 64;
AdvDefaultLifetime 300;
AdvHomeAgentFlag off;
AdvDefaultPreference medium;
AdvSourceLLAddress on;
prefix 1000:2000:3000:4000:5000::/80
{
AdvValidLifetime 86400;
AdvPreferredLifetime 14400;
AdvOnLink on;
AdvAutonomous on;
AdvRouterAddr off;
}; # End of prefix definition
}; # End of interface definition
I noticed the the route is configured successfully, but global unicast address does not. When changing the prefix length to /64 the global unicast address configured successfully as well.
The closest I could find is RFC 4291/2.5.4:
All Global Unicast addresses other than those that start with binary 000 have a 64-bit interface ID field (i.e., n + m = 64), formatted as described in Section 2.5.1. Global Unicast addresses that start with binary 000 have no such constraint on the size or structure of the interface ID field.
But not sure if it's relevant since it has clause regarding 000 initial prefix sequence which relaxes the requirement.