net: add a sysctl to reflect the fwmark on replies
authorLorenzo Colitti <lorenzo@google.com>
Tue, 13 May 2014 17:17:33 +0000 (10:17 -0700)
committerDavid S. Miller <davem@davemloft.net>
Tue, 13 May 2014 22:35:08 +0000 (18:35 -0400)
commite110861f86094cd78cc85593b873970092deb43a
tree535ecba8f65cefb68da0846ff54801bb32bf3c9e
parent87e067cda6df60b55cea0239c2f3cee81e9f46df
net: add a sysctl to reflect the fwmark on replies

Kernel-originated IP packets that have no user socket associated
with them (e.g., ICMP errors and echo replies, TCP RSTs, etc.)
are emitted with a mark of zero. Add a sysctl to make them have
the same mark as the packet they are replying to.

This allows an administrator that wishes to do so to use
mark-based routing, firewalling, etc. for these replies by
marking the original packets inbound.

Tested using user-mode linux:
 - ICMP/ICMPv6 echo replies and errors.
 - TCP RST packets (IPv4 and IPv6).

Signed-off-by: Lorenzo Colitti <lorenzo@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/net/ip.h
include/net/ipv6.h
include/net/netns/ipv4.h
include/net/netns/ipv6.h
net/ipv4/icmp.c
net/ipv4/ip_output.c
net/ipv4/sysctl_net_ipv4.c
net/ipv6/icmp.c
net/ipv6/sysctl_net_ipv6.c
net/ipv6/tcp_ipv6.c