summaryrefslogtreecommitdiffstats
path: root/net/packet/af_packet.c
diff options
context:
space:
mode:
authorNeal Cardwell2012-04-19 11:55:21 +0200
committerDavid S. Miller2012-04-21 22:36:42 +0200
commit900f65d361d333c949ef76a828343075f4fdf523 (patch)
tree8b4474c6c9df1fcad4d946c64bcc1535450d0927 /net/packet/af_packet.c
parentnet: allow better page reuse in splice(sock -> pipe) (diff)
downloadkernel-qcow2-linux-900f65d361d333c949ef76a828343075f4fdf523.tar.gz
kernel-qcow2-linux-900f65d361d333c949ef76a828343075f4fdf523.tar.xz
kernel-qcow2-linux-900f65d361d333c949ef76a828343075f4fdf523.zip
tcp: move duplicate code from tcp_v4_init_sock()/tcp_v6_init_sock()
This commit moves the (substantial) common code shared between tcp_v4_init_sock() and tcp_v6_init_sock() to a new address-family independent function, tcp_init_sock(). Centralizing this functionality should help avoid drift issues, e.g. where the IPv4 side is updated without a corresponding update to IPv6. There was already some drift: IPv4 initialized snd_cwnd to TCP_INIT_CWND, while the IPv6 side was still initializing snd_cwnd to 2 (in this case it should not matter, since snd_cwnd is also initialized in tcp_init_metrics(), but the general risks and maintenance overhead remain). When diffing the old and new code, note that new tcp_init_sock() function uses the order of steps from the tcp_v4_init_sock() implementation (the order is slightly different in tcp_v6_init_sock()). Signed-off-by: Neal Cardwell <ncardwell@google.com> Acked-by: Eric Dumazet <edumazet@google.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/packet/af_packet.c')
0 files changed, 0 insertions, 0 deletions