tcp: unify tcp_v4_rtx_synack and tcp_v6_rtx_synack
[linux-block.git] / net / ipv6 / tcp_ipv6.c
index 210b6105afede12b03011ea305cb731beb084a86..41389bbb08c03a2a52f6dc7919b52e0b65c3eade 100644 (file)
@@ -506,19 +506,6 @@ done:
        return err;
 }
 
-static int tcp_v6_rtx_synack(struct sock *sk, struct request_sock *req)
-{
-       const struct tcp_request_sock_ops *af_ops = tcp_rsk(req)->af_specific;
-       struct flowi fl;
-       int res;
-
-       res = af_ops->send_synack(sk, NULL, &fl, req, 0, NULL);
-       if (!res) {
-               TCP_INC_STATS_BH(sock_net(sk), TCP_MIB_RETRANSSEGS);
-               NET_INC_STATS_BH(sock_net(sk), LINUX_MIB_TCPSYNRETRANS);
-       }
-       return res;
-}
 
 static void tcp_v6_reqsk_destructor(struct request_sock *req)
 {
@@ -759,7 +746,7 @@ static struct dst_entry *tcp_v6_route_req(struct sock *sk, struct flowi *fl,
 struct request_sock_ops tcp6_request_sock_ops __read_mostly = {
        .family         =       AF_INET6,
        .obj_size       =       sizeof(struct tcp6_request_sock),
-       .rtx_syn_ack    =       tcp_v6_rtx_synack,
+       .rtx_syn_ack    =       tcp_rtx_synack,
        .send_ack       =       tcp_v6_reqsk_send_ack,
        .destructor     =       tcp_v6_reqsk_destructor,
        .send_reset     =       tcp_v6_send_reset,