linux/net/ipv6
Eric Dumazet 58d607d3e5 tcp: provide skb->hash to synack packets
In commit b73c3d0e4f ("net: Save TX flow hash in sock and set in skbuf
on xmit"), Tom provided a l4 hash to most outgoing TCP packets.

We'd like to provide one as well for SYNACK packets, so that all packets
of a given flow share same txhash, to later enable bonding driver to
also use skb->hash to perform slave selection.

Note that a SYNACK retransmit shuffles the tx hash, as Tom did
in commit 265f94ff54 ("net: Recompute sk_txhash on negative routing
advice") for established sockets.

This has nice effect making TCP flows resilient to some kind of black
holes, even at connection establish phase.

Signed-off-by: Eric Dumazet <edumazet@google.com>
Cc: Tom Herbert <tom@herbertland.com>
Cc: Mahesh Bandewar <maheshb@google.com>
Acked-by: Tom Herbert <tom@herbertland.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2015-09-17 21:01:04 -07:00
..
netfilter netfilter: Use nf_hook_state.net 2015-09-17 17:18:37 -07:00
addrconf_core.c
addrconf.c rtnetlink: RTEXT_FILTER_SKIP_STATS support to avoid dumping inet/inet6 stats 2015-09-15 15:25:02 -07:00
addrlabel.c
af_inet6.c
ah6.c ah6: fix error return code 2015-08-25 13:37:31 -07:00
anycast.c
datagram.c
esp6.c
exthdrs_core.c
exthdrs_offload.c ipv6: fix exthdrs offload registration in out_rt path 2015-09-02 15:31:00 -07:00
exthdrs.c
fib6_rules.c net: ipv6: use common fib_default_rule_pref 2015-09-09 14:19:50 -07:00
icmp.c
ila.c
inet6_connection_sock.c
inet6_hashtables.c
ip6_checksum.c
ip6_fib.c
ip6_flowlabel.c
ip6_gre.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2015-08-27 21:45:31 -07:00
ip6_icmp.c
ip6_input.c netfilter: Pass net into okfn 2015-09-17 17:18:37 -07:00
ip6_offload.c
ip6_offload.h
ip6_output.c netfilter: Add blank lines in callers of netfilter hooks 2015-09-17 17:18:37 -07:00
ip6_tunnel.c
ip6_udp_tunnel.c vxlan: do not receive IPv4 packets on IPv6 socket 2015-08-29 13:07:54 -07:00
ip6_vti.c net: Merge dst_output and dst_output_sk 2015-09-17 17:18:32 -07:00
ip6mr.c netfilter: Pass net into okfn 2015-09-17 17:18:37 -07:00
ipcomp6.c
ipv6_sockglue.c
Kconfig
Makefile
mcast_snoop.c
mcast.c netfilter: Pass net into okfn 2015-09-17 17:18:37 -07:00
mip6.c
ndisc.c netfilter: Pass net into okfn 2015-09-17 17:18:37 -07:00
netfilter.c
output_core.c netfilter: Pass net into okfn 2015-09-17 17:18:37 -07:00
ping.c
proc.c
protocol.c
raw.c netfilter: Pass net into okfn 2015-09-17 17:18:37 -07:00
reassembly.c
route.c ipv6: fix ifnullfree.cocci warnings 2015-09-09 17:21:01 -07:00
sit.c
syncookies.c
sysctl_net_ipv6.c
tcp_ipv6.c tcp: provide skb->hash to synack packets 2015-09-17 21:01:04 -07:00
tcpv6_offload.c
tunnel6.c
udp_impl.h
udp_offload.c
udp.c
udplite.c
xfrm6_input.c netfilter: Pass struct net into the netfilter hooks 2015-09-17 17:18:37 -07:00
xfrm6_mode_beet.c
xfrm6_mode_ro.c
xfrm6_mode_transport.c
xfrm6_mode_tunnel.c
xfrm6_output.c netfilter: Add blank lines in callers of netfilter hooks 2015-09-17 17:18:37 -07:00
xfrm6_policy.c xfrm: Use VRF master index if output device is enslaved 2015-08-25 11:25:09 -07:00
xfrm6_protocol.c
xfrm6_state.c
xfrm6_tunnel.c