How can I set a static IPv6 address for a WiFi connection? I am running CyanogenMod 12 (Android L) on a OnePlus One, and would like to set a specific wireless network to use a static IPv6 address. I see a menu option for doing this for the IPv4 address (as well as hostmask/gateway) but not for v6.

Currently the connection is getting an address using SLAAC, on the prefix I am using. It gets its routing advertisement from a machine running a tunnel client and radvd.

Is there a method for doing this that preferably does not require root, and needs to only be run once and applies for that specific connection?
Open a terminal in your android or connect to your smartphone from pc with "adb shell" command. Then type "ip a" command, just to know how your needed interface is called. For me it is "wlan0 ".
Now, type the following command  

 # ip -6 addr add 2001::your:want:ed_s:tati:c_ad:dres/CIDR dev interface  

For example,    

# ip -6 addr add 2222::1234/64 dev wlan0  

Now execute "ip a" again or go to settings advanced and ensure, that your wanted address was assigned.
As I can see, this method do not survive rebooting. For permanent configuration you need use another way.