From: Mike Manning <hidden> Date: 2016-09-16 12:48:45
Disabling forwarding per interface via sysctl continues to allow
forwarding. This is contrary to the sysctl documentation stating that
the forwarding sysctl is per interface, whereas currently it is only
the sysctl for all interfaces that has an effect on forwarding. The
solution is to drop any received packets instead of forwarding them
if the ingress device has a per-device forwarding sysctl that is unset.
Signed-off-by: Mike Manning <redacted>
---
net/ipv6/ip6_output.c | 4 ++++
1 file changed, 4 insertions(+)
From: Eric Dumazet <hidden> Date: 2016-09-16 13:39:55
On Fri, 2016-09-16 at 13:47 +0100, Mike Manning wrote:
Disabling forwarding per interface via sysctl continues to allow
forwarding. This is contrary to the sysctl documentation stating that
the forwarding sysctl is per interface, whereas currently it is only
the sysctl for all interfaces that has an effect on forwarding. The
solution is to drop any received packets instead of forwarding them
if the ingress device has a per-device forwarding sysctl that is unset.
Some archaeological research might be needed because
Documentation/networking/ip-sysctl.txt states :
IPv4 and IPv6 work differently here; e.g. netfilter must be used
to control which interfaces may forward packets and which not.
If this netfilter requirement is obsolete, then your patch would need to
change the doc as well.
Hannes can probably comment on this ?
Thanks.
From: Hannes Frederic Sowa <hidden> Date: 2016-09-16 15:46:18
On 16.09.2016 15:39, Eric Dumazet wrote:
On Fri, 2016-09-16 at 13:47 +0100, Mike Manning wrote:
quoted
Disabling forwarding per interface via sysctl continues to allow
forwarding. This is contrary to the sysctl documentation stating that
the forwarding sysctl is per interface, whereas currently it is only
the sysctl for all interfaces that has an effect on forwarding. The
solution is to drop any received packets instead of forwarding them
if the ingress device has a per-device forwarding sysctl that is unset.
Some archaeological research might be needed because
Documentation/networking/ip-sysctl.txt states :
IPv4 and IPv6 work differently here; e.g. netfilter must be used
to control which interfaces may forward packets and which not.
If this netfilter requirement is obsolete, then your patch would need to
change the doc as well.
Hannes can probably comment on this ?
Yep, thanks.
This commit breaks a very common setup: people globally enabled
forwarding but disabled the forwarding knob on one special interface to
allow this interface to participate in auto configuration from their
provider while still forwarding packets over this interface.
I fear this is so common that this would be a uapi violation.
Thanks,
Hannes
From: Mike Manning <hidden> Date: 2016-09-16 16:26:51
On 09/16/2016 04:46 PM, Hannes Frederic Sowa wrote:
On 16.09.2016 15:39, Eric Dumazet wrote:
quoted
On Fri, 2016-09-16 at 13:47 +0100, Mike Manning wrote:
quoted
Disabling forwarding per interface via sysctl continues to allow
forwarding. This is contrary to the sysctl documentation stating that
the forwarding sysctl is per interface, whereas currently it is only
the sysctl for all interfaces that has an effect on forwarding. The
solution is to drop any received packets instead of forwarding them
if the ingress device has a per-device forwarding sysctl that is unset.
Some archaeological research might be needed because
Documentation/networking/ip-sysctl.txt states :
IPv4 and IPv6 work differently here; e.g. netfilter must be used
to control which interfaces may forward packets and which not.
If this netfilter requirement is obsolete, then your patch would need to
change the doc as well.
Hannes can probably comment on this ?
Yep, thanks.
This commit breaks a very common setup: people globally enabled
forwarding but disabled the forwarding knob on one special interface to
allow this interface to participate in auto configuration from their
provider while still forwarding packets over this interface.
I fear this is so common that this would be a uapi violation.
Thanks,
Hannes
Thanks for the use-case, I request to withdraw this patch then.
So configuring an interface on a router to be in host mode is not actually
disabling forwarding in the kernel, it is merely to allow SLAAC. Using ip6tables
for the purpose of disabling forwarding on an interface if one wants an interface
in host mode seems a heavyweight solution to work around this. If anyone has
any better suggestions, please let me know.