[systemd-devel] miredo unit files

Lennart Poettering lennart at poettering.net
Mon Jan 17 14:54:35 PST 2011


On Fri, 07.01.11 22:26, Henry Gebhardt (hsggebhardt at googlemail.com) wrote:

> Dear list members,
> 
> I have been maintaining a systemd overlay for Gentoo.  Hence i was
> contacted about how to get miredo running with systemd.  I herefore
> forward you the email, in the hope to get some help as to the proper
> solution.  Please find the problem description and proposed solution
> below.

Hmm, I am not sure how miredo works. Is the client something where you
have to run one instance per network iface? Or do you have a global
instance for all? If the latter, then why doesn't it watch the network
interfaces on its own?

> > I don't know the way to tell systemd "don't start miredo until the 
> > system has the IP address specified in the BindAddress directive". So, 
> > systemd starts miredo as soon as it thinks it can. If the address 
> > specified in the BindAddress directive is missing at that point, miredo 
> > fails. The patch prevents the failure by setting the IP_FREEBIND socket 
> > option. So miredo doesn't exit right away, but instead fails to send the 
> > initial packet and goes into the "retry after 100 seconds" mode. The 
> > same happens without the patch if miredo is started before a route to 
> > the default server appears.

Yes, systemd does not support
activation-on-configuration-of-an-ip-address. My suggestion is to either
patch the service in question to watch for network interfaces itself, or
use IP_FREEBIND. 

> > but I am not sure if it right to change it. Maybe it is completely wrong 
> > to make miredo a service that is wanted by network.target, and instead 
> > it should be started and stopped from dhcpcd or NetworkManager hooks. I 
> > want your opinion on this matter.

Well, tbh I am not really sure about the semantics of teredo/miredo, so
I cannot really answer this question.

Lennart

-- 
Lennart Poettering - Red Hat, Inc.


More information about the systemd-devel mailing list