IPv6, SLAAC and setting forward and reverse DNS records

I'm trying to find a way that dhcpv6 hostnames are written into forward and reverse DNS.

That said, I realise that android devices (for good reasons) only support SLAAC, so some kind of non-dhcpv6 solution would be nice too.

My assumptions are that clients should do a dhcpv6 solicit and receive a prefix using:

config interface 'trusted6'
        option proto 'dhcpv6'
        option ifname 'br-trusted'
        option reqprefix '64'

That seems to work and I see the following showing up:

root@lede:~# ip addr show br-trusted
7: br-trusted: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether 00:27:22:cb:ff:20 brd ff:ff:ff:ff:ff:ff
    inet brd scope global br-trusted
       valid_lft forever preferred_lft forever
    inet6 2001:470:5252:2:227:22ff:fecb:ff20/64 scope global noprefixroute
       valid_lft forever preferred_lft forever
    inet6 2001:470:5252:2::14/128 scope global noprefixroute
       valid_lft forever preferred_lft forever
    inet6 fe80::227:22ff:fecb:ff20/64 scope link
       valid_lft forever preferred_lft forever

It looks like odhcpd is trying to match the dhcpv6 solicit with a static record

config host
	option ip ''
	option name 'repeater04'
	option mac '00:27:22:cb:ff:20'
	option leasetime 'infinite'
	option dns '1'

The first question: why a /128 and a 64? Just 2001:470:5252:2::14/64 would seem like the right thing to do. Nevertheless...

What's necessary to have dnsmasq insert some kind of DNS record when an ipv6 address or prefix is issued?

Here's the main router's config:

config globals 'globals'
        option ula_prefix '2001:470:5252::/48'

config interface 'henet'
        option force_link '1'
        option proto '6in4'
        option peeraddr ''
        option ip6addr '2001:470:6c:b2b::2'
        option ip6prefix '2001:470:5252::/48'
        option tunnelid '273361'
        option username 'xxx'
        option password 'xxx'
        option defaultroute '1'
        option mtu '1472'

main router LAN interface:

config interface 'trusted'
        option force_link '1'
        option type 'bridge'
        option igmp_snooping '0'
        option proto 'static'
        option ipaddr ''
        option broadcast ''
        option netmask ''
        option dns ''
        option ip6assign '64'
        option ip6hint '2'
        option ip6gw '2001:470:6c:b2b::1'
        list ifname 'eth0.2'
        list ifname 'dual2'


config odhcpd
        option maindhcp '1'
        option loglevel '7'
        option leasetrigger '/usr/sbin/odhcpd-update'
        option leasefile '/tmp/odhcpd.leases'

config dnsmasq
        option domainneeded '1'
        option boguspriv '1'
        option filterwin2k '1'
        option localise_queries '1'
        option rebind_protection '1'
        option rebind_localhost '1'
        option local '/imagilan/'
        option domain 'imagilan'
        list addnhosts '/tmp/odhcpd.leases'
        option expandhosts '1'
        option nonegcache '0'
        option localservice '1'
        option logqueries '0'
        option cachesize '4096'
        list server ''
        list server ''
        list server '2a02:200:1:11::100'
        list server '2001:470:20::2'

config dhcp 'trusted'
        option interface 'trusted'
        option authoritative '1'
        option ignore '1'
        option dhcpv6 'server'
        option dhcpv4 'server'
        option ra 'server'
        option ra_management '1'
        option ra_mtu '1432'
        option ra_default '1'
        option start '100'
        option limit '100'
        option leasetime '60m'
        option dns ''
        option domain 'imagilan'

Any pointers would be most welcomed.