summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2015-06-08 23:24:32 +0200
committerLennart Poettering <lennart@poettering.net>2015-06-08 23:24:32 +0200
commitee0eb1d891eb0a41fb63368bff264f59cb2bb851 (patch)
tree72cd0535aac68878929c3121e79153f300fd4ba2
parent3edf03546d707369ce4ab62968640a6f01bc8972 (diff)
Revert "networkd: create "kernel" setting for IPForwarding"
-rw-r--r--man/systemd.network.xml7
-rw-r--r--src/network/networkd-link.c6
-rw-r--r--src/network/networkd-manager.c4
-rw-r--r--src/network/networkd.h1
4 files changed, 3 insertions, 15 deletions
diff --git a/man/systemd.network.xml b/man/systemd.network.xml
index 54fef4c9c4..bd061c270a 100644
--- a/man/systemd.network.xml
+++ b/man/systemd.network.xml
@@ -366,8 +366,7 @@
the routing table. Takes either a boolean argument, or the
values <literal>ipv4</literal> or <literal>ipv6</literal>,
which only enables IP forwarding for the specified address
- family, or <literal>kernel</literal>, which preserves existing sysctl settings.
- This controls the
+ family. This controls the
<filename>net.ipv4.conf.&lt;interface&gt;.forwarding</filename>
and
<filename>net.ipv6.conf.&lt;interface&gt;.forwarding</filename>
@@ -376,8 +375,8 @@
for details about sysctl options). Defaults to
<literal>no</literal>.</para>
- <para>Note: unless this option is turned on, or set to <literal>kernel</literal>,
- no IP forwarding is done on this interface, even if this is
+ <para>Note: unless this option is turned on, no IP
+ forwarding is done on this interface, even if this is
globally turned on in the kernel, with the
<filename>net.ipv4.ip_forward</filename> and
<filename>net.ipv4.ip_forward</filename> sysctl
diff --git a/src/network/networkd-link.c b/src/network/networkd-link.c
index b30fd7ae89..f039a2d687 100644
--- a/src/network/networkd-link.c
+++ b/src/network/networkd-link.c
@@ -1481,9 +1481,6 @@ static int link_set_ipv4_forward(Link *link) {
const char *p = NULL;
int r;
- if (link->network->ip_forward == ADDRESS_FAMILY_KERNEL)
- return 0;
-
p = strjoina("/proc/sys/net/ipv4/conf/", link->ifname, "/forwarding");
r = write_string_file_no_create(p, one_zero(link_ipv4_forward_enabled(link)));
if (r < 0)
@@ -1500,9 +1497,6 @@ static int link_set_ipv6_forward(Link *link) {
if (!socket_ipv6_is_supported())
return 0;
- if (link->network->ip_forward == ADDRESS_FAMILY_KERNEL)
- return 0;
-
p = strjoina("/proc/sys/net/ipv6/conf/", link->ifname, "/forwarding");
r = write_string_file_no_create(p, one_zero(link_ipv6_forward_enabled(link)));
if (r < 0)
diff --git a/src/network/networkd-manager.c b/src/network/networkd-manager.c
index 2cc53df4b1..db737ad484 100644
--- a/src/network/networkd-manager.c
+++ b/src/network/networkd-manager.c
@@ -853,8 +853,6 @@ const char *address_family_boolean_to_string(AddressFamilyBoolean b) {
return "ipv4";
if (b == ADDRESS_FAMILY_IPV6)
return "ipv6";
- if (b == ADDRESS_FAMILY_KERNEL)
- return "kernel";
return NULL;
}
@@ -874,8 +872,6 @@ AddressFamilyBoolean address_family_boolean_from_string(const char *s) {
return ADDRESS_FAMILY_IPV4;
if (streq(s, "ipv6"))
return ADDRESS_FAMILY_IPV6;
- if (streq(s, "kernel"))
- return ADDRESS_FAMILY_KERNEL;
return _ADDRESS_FAMILY_BOOLEAN_INVALID;
}
diff --git a/src/network/networkd.h b/src/network/networkd.h
index 49afeffe81..4b13d4aed1 100644
--- a/src/network/networkd.h
+++ b/src/network/networkd.h
@@ -60,7 +60,6 @@ typedef enum AddressFamilyBoolean {
ADDRESS_FAMILY_IPV4 = 1,
ADDRESS_FAMILY_IPV6 = 2,
ADDRESS_FAMILY_YES = 3,
- ADDRESS_FAMILY_KERNEL = 4,
_ADDRESS_FAMILY_BOOLEAN_MAX,
_ADDRESS_FAMILY_BOOLEAN_INVALID = -1,
} AddressFamilyBoolean;