On Sun, 10.05.15 20:52, Benedikt Morbach (benedikt.morb...@googlemail.com) wrote:
> This reverts commit 43c6d5abacaebf813845934ec8d5e5ee3c431854 > (and a small part of 4046d8361c55c80ab8577aea52523b9e6eab0d0c) > > It turns out we don't actually need to set the global ip_forward setting. > The only relevant setting is the one on each interface. Hmm, I tried to understand the kernel side for the setting to verify that but that code isn't particularly readable. How do ip_forward and conf/*/forwarding actually relate in detail? I mean, from playing around with it, usually echoing 1 into the global option also sets the local ones, and echoing 0 into the local option also unset the local ones, except not always: if some but not all local interfaces have it turned on, then setting 1 in the global setting doesn't do anything. Setting 0 in the global setting OTOH turns all off... So what are the precise semantics here? Also, do the local options ever propagate to the global one? What's the precise relation between conf/all/forwarding and ip_forward? It appears to do the very same thing? What's going on here? The actual IP forwarding code, does it ever check the global setting? Or only the local settings? I kinda would like to understand the actual behaviour before we fix this, because if we don't udnerstand the real behaviour it's really hard to fix this properly for good... Any ideas? Lennart -- Lennart Poettering, Red Hat _______________________________________________ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel