Another patch bomb to prepare lockless TCP/DCCP LISTEN handling. SYNACK retransmits are built and sent without listener socket being locked. Soon, initial SYNACK packets will have same property.
This series makes sure we did not something wrong with this model, by adding a const qualifier in all the paths taken from synack building and transmit, for IPv4/IPv6 and TCP/dccp. The only potential problem was the rewrite of ecn bits for connections with DCTCP as congestion module, but this was a very minor one. Eric Dumazet (17): tcp: constify listener socket in tcp_v[46]_init_req() tcp: constify tcp_openreq_init_rwin() inet: constify ip_route_output_flow() socket argument inet: constify inet_csk_route_req() socket argument ipv6: constify ip6_dst_lookup_{flow|tail}() sock arguments ipv6: constify inet6_csk_route_req() socket argument inet: constify ip_dont_fragment() arguments tcp: md5: constify tcp_md5_do_lookup() socket argument ip: constify ip_build_and_send_pkt() socket argument tcp: remove tcp_synack_options() socket argument tcp: remove tcp_ecn_make_synack() socket argument tcp: constify tcp_make_synack() socket argument ipv6: constify ip6_xmit() sock argument tcp: constify tcp_v{4|6}_send_synack() socket argument dccp: constify dccp_make_response() socket argument tcp/dccp: constify rtx_synack() and friends inet: constify inet_rtx_syn_ack() sock argument --- David, to apply these patches you'll need to merge net tree into net-next first. Thanks ! include/net/dst.h | 9 ++++--- include/net/inet6_connection_sock.h | 2 +- include/net/inet_connection_sock.h | 2 +- include/net/ip.h | 10 +++++--- include/net/ipv6.h | 4 +-- include/net/request_sock.h | 4 +-- include/net/route.h | 2 +- include/net/tcp.h | 22 ++++++++-------- net/dccp/dccp.h | 2 +- net/dccp/ipv4.c | 2 +- net/dccp/ipv6.c | 2 +- net/dccp/output.c | 17 ++++++++----- net/ipv4/inet_connection_sock.c | 4 +-- net/ipv4/ip_output.c | 14 +++++----- net/ipv4/route.c | 2 +- net/ipv4/tcp_cong.c | 12 +++++++-- net/ipv4/tcp_ipv4.c | 11 ++++---- net/ipv4/tcp_minisocks.c | 28 ++++++++++++-------- net/ipv4/tcp_output.c | 51 +++++++++++++++++++------------------ net/ipv6/datagram.c | 2 +- net/ipv6/inet6_connection_sock.c | 2 +- net/ipv6/ip6_output.c | 30 +++++++++++++++------- net/ipv6/tcp_ipv6.c | 15 ++++++----- net/xfrm/xfrm_policy.c | 6 ++--- 24 files changed, 149 insertions(+), 106 deletions(-) -- 2.6.0.rc2.230.g3dd15c0 -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html