IPv6 DHCP addresses after power outage

Shame on me, I didn’t notice earlier. Who would expect, since ipconfig and ipconfig /all show both IPv4 and IPv6, why the heck they didn’t have /renew to work for both as well.
So, ipconfig /renew6 works and get the short IPv6 back.
Another what also works for me, I found that when I have the Windows PCs connected to a switch [some cheap Netgear] instead of directly to Omnia, the don’t loose its short IPv6
upon Omnia reboot.

In my case all those machines are connected through one cheap 1G switch. Apparently the address recovery was based on “luck” (timing?) in my case.

You could try to experiment on the TO’s WAN iface with the kernel parameter keep_addr_on_down [7]

keep_addr_on_down - INTEGER
	Keep all IPv6 addresses on an interface down event. If set static
	global addresses with no expiration time are not flushed.
	  >0 : enabled
	   0 : system default
	  <0 : disabled

	Default: 0 (addresses are removed)

And perhaps disable media sensing (which I reckon is somewhat buggy in netifd) with force_link [8]

Specifies whether ip address, route, and optionally gateway are assigned to the interface regardless of the link being active (‘1’) or only after the link has become active (‘0’); when set to ‘1’, carrier sense events do not invoke hotplug handlers

Probably not recommenced if the subscriber line requires PPPoE


[7] https://www.kernel.org/doc/Documentation/networking/ip-sysctl.txt
[8] [OpenWrt Wiki] Network basics

My Windows 7 computer also lost IPv6 connectivity sometime :

My Turris Omnia advertises two prefixes : a ULA prefix (OpenWrt option ula_prefix enabled by default) and a globally routable prefix delegated by my ISP (2a01:XXXX::/56 from odhcp6c)

Sometime Windows starts to use one of its ULA address instead of globally routable one as source of IPv6 packet to public internet destination. Of course, the router refuses to route ULA prefix and connections stall.

When it occurs, the globally routable address of the Windows computer is OK : I can ping the Omnia on its global IP 2a01:XXXX::1

I think it is a bug in the Windows implementation of the RFC 6724 or an error in the way Windows builds its “policy table” : globally routable address must always have precedence on ULA as source address to public internet destination.

IPv6 + Turris + FritzBox + Prefix Delegation is an issue all the time.
(I posted questions, too - now I have some answers.).

Problem:
Turris does not request new PD info when necessary.
Turris does not know when it is “necessary”. I.e. power outage of FritzBox causes the loss of IPv6 addresses. However.

My workaround is fine since 1/2 a year:

  • at 3:00 o’clock I reboot FritzBox from no-power state.
  • at about 3:30 I reboot(!!) the Turris by cron job. Because Network restart is not sufficient in about 60% of cases.

Prefix / Präfix (IA_PD) delegation works perfectly now.

If someone is interested in successful settings: I wrote a little cook-book page (in German).

Just to confirm:
Turris may have an IPv6 issue with subsequent requesting PD after changes in upstream routers (i.e. Fritz).

Quote from

RFC 3633 IPv6 Prefix Options for DHCPv6

5. Model and Applicability

The model of operation for prefix delegation is as follows. A delegating router is provided IPv6 prefixes to be delegated to requesting routers. Examples of ways in which the delegating router may be provided these prefixes are given in Section 12.2. A requesting router requests prefix(es) from the delegating router, as described in Section 12.1. The delegating router chooses prefix(es) for delegation, and responds with prefix(es) to the requesting router. The requesting router is then responsible for the delegated prefix(es). For example, the requesting router might assign a subnet from a delegated prefix to one of its interfaces, and begin sending router advertisements for the prefix on that link.

In a different location (I can not rate the credibility) I found an entry about a flaw in the FritzBox:
(QUOTE!)
"In my case FritzBox was delegating the prefixes with 2 hours lifetime. "
sniggas • 3 years ago
There is a java app for the fritzbox config that allows you to change the lifetime setting via an export of the config. it is called FBEditor, just look for the section ipv6. works perfectly for me. just have the issue that the fritzbox doesn’t always announce a renewal for the delegated prefix. i have to force it by either reloading the fritzbox or reconnecting the cable.

Addendum:
This seems to work more or less OK: Reducing the lifetime of PD significantly does make the Turris Omnia re-request a “missing” Prefix Delegation IP it seems to me.
So I invoke “java -jar FBEditor-0.6.9.7h.jar”
and under ipv6 I set
MinRtrAdvInterval = 60;
MaxRtrAdvInterval = 180;
AdvDefaultLifetime = 541;
PreferedLifeTime = 600;
ValidLifeTime = 3601;
which seems to work - I do not say this is the final solution!!