I am using OpenWRT on different TP-Link routers, mostly 3600. Since I have 2 internal /64 networks and 2 access providers I ended up with Masquerading also for ipv6. This has a big disadvantage: my son's steam downloader opens up 20 tcp-connections and this saturates the TP-Link routers' CPU when doing Masquerading for ipv6.
So I installed OpenWrt 24.10.0 as a virtual machine (KVM/Qemu) on a Linux host. This machine has enough CPU power but I am still thinking ipv6 Masquerading is not very elegant.
I assume that the CPU is much less loaded if it doesn't have to do Masquerading but re-writes ipv6 prefixes only.
Internally I have ... say ...
2001:db8:100:1::/64
2001:db8:100:2::/64
These nets are announced internally by another machine.
I'd like to achive that whenever the interface gets up OR it gets a new DHCPv6 address or prefix that for outgoing packets
2001:db8:100:1::/64 will be prefix-translated to xxxx:xxxx:343c:b801::/64
2001:db8:100:2::/64 will be prefix-translated to xxxx:xxxx:343c:b802::/64
I am afraid this is not achievabe with the GUI and it might become tricky to change the rule whenever the WAN interface gets a new address and a new delegated prefix
However, I think this is a real world problem since there are many sites using private ipv6 addresses internally because they need static ipv6 addresses but can't afford or get an official /56 or /48.
No, this is not the direction from in to out. I am making progress with creating the nft-rule.
But I have to find out first where I have to place the update script within /etc/hotplug.d