android_kernel_samsung_univ.../net/ipv4
Paolo Abeni e2ca690b65 ipv4/icmp: redirect messages can use the ingress daddr as source
This patch allows configuring how the source address of ICMP
redirect messages is selected; by default the old behaviour is
retained, while setting icmp_redirects_use_orig_daddr force the
usage of the destination address of the packet that caused the
redirect.

The new behaviour fits closely the RFC 5798 section 8.1.1, and fix the
following scenario:

Two machines are set up with VRRP to act as routers out of a subnet,
they have IPs x.x.x.1/24 and x.x.x.2/24, with VRRP holding on to
x.x.x.254/24.

If a host in said subnet needs to get an ICMP redirect from the VRRP
router, i.e. to reach a destination behind a different gateway, the
source IP in the ICMP redirect is chosen as the primary IP on the
interface that the packet arrived at, i.e. x.x.x.1 or x.x.x.2.

The host will then ignore said redirect, due to RFC 1122 section 3.2.2.2,
and will continue to use the wrong next-op.

Signed-off-by: Paolo Abeni <pabeni@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2015-10-12 19:38:02 -07:00
..
netfilter ipv4, ipv6: Pass net into ip_local_out and ip6_local_out 2015-10-08 04:27:02 -07:00
af_inet.c net: Replace vrf_dev_table and friends 2015-09-29 20:40:33 -07:00
ah4.c
arp.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2015-09-26 16:08:27 -07:00
cipso_ipv4.c
datagram.c
devinet.c
esp4.c
fib_frontend.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2015-10-02 07:21:25 -07:00
fib_lookup.h
fib_rules.c
fib_semantics.c net: Refactor path selection in __ip_route_output_key_hash 2015-10-07 04:27:44 -07:00
fib_trie.c
fou.c
gre_demux.c
gre_offload.c
icmp.c ipv4/icmp: redirect messages can use the ingress daddr as source 2015-10-12 19:38:02 -07:00
igmp.c ipv4, ipv6: Pass net into ip_local_out and ip6_local_out 2015-10-08 04:27:02 -07:00
inet_connection_sock.c tcp: ensure prior synack rtx behavior with small backlogs 2015-10-07 05:08:58 -07:00
inet_diag.c tcp/dccp: install syn_recv requests into ehash table 2015-10-03 04:32:41 -07:00
inet_fragment.c
inet_hashtables.c net: SO_INCOMING_CPU setsockopt() support 2015-10-12 19:28:20 -07:00
inet_lro.c
inet_timewait_sock.c tcp/dccp: fix timewait races in timer handling 2015-09-21 16:32:29 -07:00
inetpeer.c
ip_forward.c net: Pass net into dst_output and remove dst_output_okfn 2015-10-08 04:26:54 -07:00
ip_fragment.c net: Replace vrf_master_ifindex{, _rcu} with l3mdev equivalents 2015-09-29 20:40:33 -07:00
ip_gre.c
ip_input.c netfilter: Pass net into okfn 2015-09-17 17:18:37 -07:00
ip_options.c
ip_output.c dst: Pass net into dst->output 2015-10-08 04:27:03 -07:00
ip_sockglue.c
ip_tunnel_core.c ipv4, ipv6: Pass net into ip_local_out and ip6_local_out 2015-10-08 04:27:02 -07:00
ip_tunnel.c
ip_vti.c net: Pass net into dst_output and remove dst_output_okfn 2015-10-08 04:26:54 -07:00
ipcomp.c
ipconfig.c
ipip.c
ipmr.c net: Pass net into dst_output and remove dst_output_okfn 2015-10-08 04:26:54 -07:00
Kconfig
Makefile
netfilter.c ipv4: Pass struct net into ip_route_me_harder 2015-09-29 20:21:32 +02:00
ping.c
proc.c
protocol.c
raw.c net: Pass net into dst_output and remove dst_output_okfn 2015-10-08 04:26:54 -07:00
route.c net: Do not drop to make_route if oif is l3mdev 2015-10-08 05:18:47 -07:00
syncookies.c net: shrink struct sock and request_sock by 8 bytes 2015-10-12 19:28:22 -07:00
sysctl_net_ipv4.c ipv4/icmp: redirect messages can use the ingress daddr as source 2015-10-12 19:38:02 -07:00
tcp_bic.c
tcp_cdg.c
tcp_cong.c tcp: remove tcp_ecn_make_synack() socket argument 2015-09-25 13:00:38 -07:00
tcp_cubic.c tcp_cubic: do not set epoch_start in the future 2015-09-17 22:35:07 -07:00
tcp_dctcp.c
tcp_diag.c
tcp_fastopen.c tcp: fix fastopen races vs lockless listener 2015-10-05 02:45:24 -07:00
tcp_highspeed.c
tcp_htcp.c
tcp_hybla.c
tcp_illinois.c
tcp_input.c net: shrink struct sock and request_sock by 8 bytes 2015-10-12 19:28:22 -07:00
tcp_ipv4.c net: shrink struct sock and request_sock by 8 bytes 2015-10-12 19:28:22 -07:00
tcp_lp.c
tcp_memcontrol.c
tcp_metrics.c
tcp_minisocks.c net: shrink struct sock and request_sock by 8 bytes 2015-10-12 19:28:22 -07:00
tcp_offload.c
tcp_output.c net: shrink struct sock and request_sock by 8 bytes 2015-10-12 19:28:22 -07:00
tcp_probe.c
tcp_scalable.c
tcp_timer.c tcp: change type of alive from int to bool 2015-10-12 05:15:03 -07:00
tcp_vegas.c
tcp_vegas.h
tcp_veno.c
tcp_westwood.c
tcp_yeah.c
tcp.c net: ipv4: tcp.c Fixed an assignment coding style issue 2015-10-07 05:01:04 -07:00
tunnel4.c
udp_diag.c
udp_impl.h
udp_offload.c
udp_tunnel.c
udp.c net: SO_INCOMING_CPU setsockopt() support 2015-10-12 19:28:20 -07:00
udplite.c
xfrm4_input.c netfilter: Pass net into okfn 2015-09-17 17:18:37 -07:00
xfrm4_mode_beet.c
xfrm4_mode_transport.c
xfrm4_mode_tunnel.c
xfrm4_output.c dst: Pass net into dst->output 2015-10-08 04:27:03 -07:00
xfrm4_policy.c ipv4: Merge __ip_local_out and __ip_local_out_sk 2015-10-08 04:26:57 -07:00
xfrm4_protocol.c
xfrm4_state.c
xfrm4_tunnel.c