Re: How to solve race condition between IPv6 ifup and start of services?
Marc Haber writes ("How to solve race condition between IPv6 ifup and start of services?"):
> Unfortunately, it is non-trivial to find out whether my IPv6
> configuration has completed or not. How many addresses will be
> assigned to us via stateless autoconfig? Are we running with privacy
> extensions? Do we have additional static configuration?
This kind of thing is indeed annoying.
In the situation where you know what the IPv6 address is going to be,
you can create a dummy interface (eg lo:0) with that known address,
with fairly straightforward runes in /etc/network/interfaces.
That will enable your programs to bind to the address before
connectivity is available. Of course you may prefer to simply specify
the static IP address for the actual ethernet interface.
> Is there a widely accepted method to do things any easier? It is
> clearly not acceptable to have to manually log in to a newly booted
> server to restart service, neither do I like the idea of changing
> runlevels five minutes after reboot to kick IPv6 services to life.
I set the machine's address statically; this is usually more
appropriate for a server anyway. I do have some local addresses which
are provided by vpn machinery which takes a while to get going, and
for those addresses I have a lo:0 alias so that services can bind to
it in advance.