[systemd-devel] miredo unit files

Lennart Poettering lennart at poettering.net
Tue Jan 18 14:43:48 PST 2011


On Tue, 18.01.11 18:34, Alexander E. Patrakov (patrakov at gmail.com) wrote:

> >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?
> 
> The client creates its own interface (called "teredo", but in fact
> it is just a tun interface). There cannot be more than one copy of
> the client, and it should only care about the IPv4 route to the
> teredo server (by default, teredo.ipv6.microsoft.com) which is often
> the default route.

Hmpf. We live in a mobile world today. It should actively watch the
routing table with netlink instead of assuming that an IPv4 connection
is unconditionally available. Connections come, connections go,
connections are reconfigured. A robust, mobile system must hence be able
to watch configuration changes instead of assuming that IP configuration
is static like in '95.

> miredo creates the socket and the teredo interface
> miredo: "hey teredo server, which IPv6 address should I use?"
> kernel drops packet, because there is no route (or, alternatively,
> DNS doesn't work yet and miredo fails to resolve the IPv4 address of
> the teredo server)
> miredo waits a bit, gets upset
> dhcpcd configures eth0, adds the default route
> miredo is still upset
> miredo waits 100 seconds
> miredo: "hey teredo server, which IPv6 address should I use?"
> kernel sends packet
> teredo server replies
> 
> So it looks like miredo should reset its timeout when the routing
> table changes, and that I have to implement this myself. But I have
> no good tutorial on rtnetlink sockets.

libnl is the way to go these days.

Lennart

-- 
Lennart Poettering - Red Hat, Inc.


More information about the systemd-devel mailing list