Hello,
I've had a hard time configuring IPv6 on my router because the words used to describe the settings in LuCI don't seem to be documented anywhere.
I think I have it figured out now, and I would like to help add this information to the wiki, however I am not a networking expert and would like to discuss my edits before I make them, to avoid spreading disinformation. So here is what I got:
Native IPv6 can be autoconfigured in three ways: SLAAC or DHCPv6 or both.
SLAAC is "relay mode" in the interface and uses a collection of ICMPv6 messages to detect the layout of the network and autoconfigure routing accordingly. NDP (Neighbor Discovery Protocol) is a subset of ICMPv6 messages and RA (Router Advertisement) messages represent a subset of NDP.
RA is commonly used in native IPv6 networks to properly configure default gateways. If the setting "NDP-Proxy" is set to "disabled" the router will filter ICMPv6 messages and SLAAC will not function, most notably without RAs the configured default gateway may not be recognized as a gateway and traffic to it will not work.
In SLAAC, IP addresses to client devices are automatically allocated from the "routed prefix" aka the subnet for your client devices assigned to you by your ISP.
DHCPv6 is "server mode" in the interface and uses a DHCPv6 server running on the router, to assign IP addresses and configure DNS settings. DCHPv6 does not configure routing. DHCPv6 is recommended for environments where more control over the network is required (aka corporate networks).
"Hybrid mode" obviously represents a combination of "server mode" and "relay mode".
The setting "IPv6 ULA-Prefix" in the LuCI Interfaces screen represents a subnet of local addresses that are used for private networking in the same manner as "192.168.x.x" is in IPv4. To be compliant with the protocol, the prefix must be set to a subnet within "fc00::/7" aka "fc__:" and "fd__:", though the standard recommends that you use "fd__:" with a "/48" size subnet. The other numbers in the address are random.
The address and gateway in this "ULA-Prefix" range will be added alongside to your IPv6 settings (on the router and the client devices in the "Global" scope), but will not interfere with the public IPv6 address routing. The assignment of these addresses is required by the protocol.
If you have a static IPv6 address, select "Static address" as the Protocol in the WAN6 interface, then skip the IPv4 settings and only enter the IPv6 address, gateway and routed prefix.
When entering the address, also enter the subnet size at the end of it (for example "/126"). This is the network between the WAN side of your router and the default gateway, also sometimes referred to a "connecting segment". On some networking devices (Mikrotik) the connecting segment address must be entered, but OpenWRT calculates it from the address and subnet automatically.
The gateway is entered as-is without a subnet size.
The routed prefix is provided by your ISP and contains both the prefix itself and the subnet size. This is the subnet that contains your client devices behind your router.
I think this is all that is needed. I was thinking of adding this to the current IPv6 page, which currently mainly contains outdated information on using IPv6 on OpenWRT with a tunnel provider.
LP,
Jure