]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - net/ipv4/tcp_ipv4.c
net/tcp-fastopen: Add new API support
[karo-tx-linux.git] / net / ipv4 / tcp_ipv4.c
index a90b4540c11eca6ed5b374ec69c8ced2ff180727..8c9e9aa17d660d7e92bdced72ace0c8644621371 100644 (file)
@@ -232,6 +232,7 @@ int tcp_v4_connect(struct sock *sk, struct sockaddr *uaddr, int addr_len)
        /* OK, now commit destination to socket.  */
        sk->sk_gso_type = SKB_GSO_TCPV4;
        sk_setup_caps(sk, &rt->dst);
+       rt = NULL;
 
        if (!tp->write_seq && likely(!tp->repair))
                tp->write_seq = secure_tcp_sequence_number(inet->inet_saddr,
@@ -242,9 +243,13 @@ int tcp_v4_connect(struct sock *sk, struct sockaddr *uaddr, int addr_len)
 
        inet->inet_id = tp->write_seq ^ jiffies;
 
+       if (tcp_fastopen_defer_connect(sk, &err))
+               return err;
+       if (err)
+               goto failure;
+
        err = tcp_connect(sk);
 
-       rt = NULL;
        if (err)
                goto failure;