summaryrefslogtreecommitdiff
path: root/units
diff options
context:
space:
mode:
authorBenedikt Morbach <benedikt.morbach@googlemail.com>2015-05-10 20:52:40 +0200
committerLennart Poettering <lennart@poettering.net>2015-05-15 12:13:35 +0200
commit505c5f6de1a5c0afb238a46db94fe3571902cc9d (patch)
tree2cd76ca1686b1a036b98eb19cc7c10ab465c97c0 /units
parent57ab2eabb8f92fad5239c7d4492e9c6e23ee0678 (diff)
networkd: don't touch global forwarding setting
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. What the global toggle actually does is switch forwarding on/off for all currently present interfaces and change the default for new ones. That means that by setting the global ip_forward we - Introduce a race condition, because if the interface with IPForward=yes is brought up after one with IPForward=no, both will have forwarding enabled, because the global switch turns it on for all interfaces. If the other interface comes up first networkd correctly sets forward=0 and it doesn't get overridden. - Change the forwarding setting for interfaces that networkd is not configured to touch, even if the user disabled forwarding via sysctl, either globally or per-interface As forwarding works fine without this, as long as all relevant interfacest individually set IPForward=yes: just drop it This means that non-networkd interfaces use the global default while networkd interfaces default to off if IPForward isn't given.
Diffstat (limited to 'units')
0 files changed, 0 insertions, 0 deletions