I need to correct myself.
My last post was based on me thinking a /56 is the first 3 fields only, its actually the first 3 plus half of the fourth, I was confusing with a /48 which is the first three.
So the /56 was still changing not the /64.
Now to answer your question aesmith yes I can choose which /64 to use, the sla-id function within wide-dhcp controls that.
I have a couple of problems right now, one is a minor annoyance, the other one is quite bad.
1 - The minor problem is the router gets its wan ip in EU64 format, wide-dhcp does have a ifid function where you can make it use a friendly ::1 but that was never implemented in the wide-dhcp code (which got abandoned in 2008) and only added by some linux distro versions of wide-dhcp. I grabbed the debian patches and gave them to the dev of the firmware, but he is definitely not keen on implementing them as he is paranoid about changing ipv6 code, I even supplied him prepatched files, time will tell if I can convince him.
2 - The bigger problem is when dhcp6c is been shutdown on my router it is sending a release command to sky's dhcp servers, this is why the /56 has been changing. Someone on skyuser forums also uses wide-dhcp and does not have this problem but he runs the patched version on ubuntu, I think he doesnt realise how different things are on embedded systems, I cannot just download a debian package and install it on a router.
if dhcp6c is shutdown by the rc command, /56 is lost.
if dhcp6c is shutdown with a kill command without arguments /56 is lost.
if dhcp6c is shutdown with a 'kill -9' command (which instant terminates so does not allow it to do its shutdown routine) the /56 is preserved and is sticky.
Sadly the rc script is not accessible on the router, and if it was it be read only. So this to be fixed requires the firmware dev to resolve it. I have made a shutdown script for it which force kills it using the -9 signal, but this will rely on me remembering to use it before reboots, going offline etc. and if the router ever goes offline by itself e.g. an isp outage it will run the rc shutdown script for dhcp6c although if the isp is dead it probably would not recieve the release command to be fair in that situation.
To automate it? well asuswrt-merlin has wan-start scripts, meaning you can insert commands to be run whenever the wan is brought online, but it does not have a wan-stop script for automation when wan goes offline. However since sky uses dhcp auth, the dhcp-event script may work which is ran whenever there is a dhcp change on the wan interface. However I think that wont be an option since when the ipv6 prefix comes online that will be a dhcp event and I would then be instant killing it.
I could also try to firewall of the release command, but I think this will be impossible unless they somehow use packets identifiable by iptables. There is nothing in wide-dhcp documention I can see in relation to release commands been sent, it would appear its hardcoded and I think one of the debian/ubuntu patches patched it out.