DHCPv6 client's prefix-hint is ignored on renew and rebind (v7.21.4)

Could someone verify this behavior on newer versions?

This is my configuration:

/ipv6/dhcp-client add allow-reconfigure=yes interface=ether1-gateway pool-name=global prefix-hint=::/60 request=prefix

Today I noticed that despite the hint the allocated prefix is /64. Naturally I blamed my ISP. But was suggested to verify router's behavior first.

Apparently, prefix-hint is only respected when you manually release via the release command. But automatic renewal, manual renewal as well as modification of prefix-hint disregard the hint and use currently allocated prefix length instead.

To reproduce with the configuration above, sniff port 546. This is the behavior I observe, in order:

  1. Change /60 -> /64

/ipv6/dhcp-client set 0 prefix-hint=::/64

-> Rebind - Prefix Length: 60

<- Reply - Prefix Length: 60

  1. Renew

/ipv6/dhcp-client renew 0

-> Renew - Prefix Length: 60

<- Reply - Prefix Length: 60

  1. Release

/ipv6/dhcp-client release 0

-> Release - Prefix Length: 60

-> Solicit - Prefix Length: 64

<- Advertise - Prefix Length: 64

-> Request - Prefix Length: 64

<- Reply - Prefix Length: 64

  1. Change /64 to /60

/ipv6/dhcp-client set 0 prefix-hint=::/60

-> Rebind - Prefix Length: 64

<- Reply - Prefix Length: 64

  1. Renew

/ipv6/dhcp-client renew 0

-> Renew - Prefix Length: 64

<- Reply - Prefix Length: 64

  1. Release

/ipv6/dhcp-client release 0

-> Release - Prefix Length: 64

-> Solicit - Prefix Length: 60

<- Advertise - Prefix Length: 60

-> Request - Prefix Length: 60

<- Reply - Prefix Length: 60

This seems bogus to me because if the upstream serves smaller prefix (e.g. temporary misconfiguration), the router will be stuck with it.

Filed as a bug # SUP-217036

Mikrotik confirmed this is current behavior.

Here is what RFC has to say about:

RFC 9915, Section 18.2.4:

The client MAY include an IA option for each binding it desires but has been unable to obtain. In this case, if the client includes the IA_PD option to request prefix delegation, the client MAY include the IA Prefix option encapsulated within the IA_PD option, with the "IPv6-prefix" field set to 0 and the "prefix-length" field set to the desired length of the prefix to be delegated. The server MAY use this value as a hint for the prefix length. The client SHOULD NOT include an IA Prefix option with the "IPv6-prefix" field set to 0 unless it is supplying a hint for the prefix length.

Currently this "MAY" section does not seem to be implemented. Which would'd be acceptable for end device but is unfortunate for a router.