Returning to this topic.
I had a "brown paper bag" moment the other day when I realized that _maybe_ load balancing had something to do with my problems. So, to prove my case, I disconnected from the ISP I'm not using for my tunnel. Lo and behold, IPv6 connection came up almost immediately.
I struggled a bit with how to configure the router, and eventually I settled on excluding the remote address of the tunnel from load balancing. That seemed to work.
However, that was not the end of the problem. A few hours later, I lost v6 connectivity again. Using tcpdump to see where traffic was going, I got a surprise: the UDP packets carrying the IPv6 traffic were going through the interface not connected to HE. So, I disconnected from that ISP and again, lo and behold, IPv6 connection came back up immediately.
Looking at my Icinga trends graph for the tunnel, around the time I lost the IPv6 connection, there was a change of address on the pppoe link carrying intended to carry the tunnel. And the command: show dns dynamic status showed that around the same time the pppoe link changed address.
What's happening is not entirely clear, but at least now I have a theory and I'd like a reality check.
0- My pppoe link has a dynamic address. Therefore I am forced to specify '0.0.0.0' for the local-ip parameter.
1- The tunnel attaches itself to the interface used for default route.
2- With two WAN connections, the router has two default routes.
3- If the interface carrying the tunnel goes down, the tunnel attaches itself to the other interface.
4- Once attached to the wrong interface, the tunnel stays attached, even when the right interface comes back.
So: am I making sense here? And may I proceed on those assumptions?
If not, then can someone please explain the mechanism by which the tunnel attaches itself to an interface. I have not found such a description anywhere in the various HowTos.
'ip tunnel show' only displays information that is already known. It shows no information about the interface to which it is attached. And I have not found a way to specify a target interface for the tunnel.
Thanks in advance for any clues.