]> git.kernelconcepts.de Git - karo-tx-linux.git/blobdiff - net/ipv6/tcp_ipv6.c
tcp: provide skb->hash to synack packets
[karo-tx-linux.git] / net / ipv6 / tcp_ipv6.c
index 7a6cea5e427414062f408cfa66f57808d48382d7..f9c0e264067104260ed586836364da10019851aa 100644 (file)
@@ -276,7 +276,7 @@ static int tcp_v6_connect(struct sock *sk, struct sockaddr *uaddr,
        if (err)
                goto late_failure;
 
-       ip6_set_txhash(sk);
+       sk_set_txhash(sk);
 
        if (!tp->write_seq && likely(!tp->repair))
                tp->write_seq = secure_tcpv6_sequence_number(np->saddr.s6_addr32,
@@ -1090,7 +1090,7 @@ static struct sock *tcp_v6_syn_recv_sock(struct sock *sk, struct sk_buff *skb,
        newsk->sk_v6_rcv_saddr = ireq->ir_v6_loc_addr;
        newsk->sk_bound_dev_if = ireq->ir_iif;
 
-       ip6_set_txhash(newsk);
+       newsk->sk_txhash = tcp_rsk(req)->txhash;
 
        /* Now IPv6 options...
 
@@ -1481,8 +1481,7 @@ do_time_wait:
                                            ntohs(th->dest), tcp_v6_iif(skb));
                if (sk2) {
                        struct inet_timewait_sock *tw = inet_twsk(sk);
-                       inet_twsk_deschedule(tw);
-                       inet_twsk_put(tw);
+                       inet_twsk_deschedule_put(tw);
                        sk = sk2;
                        tcp_v6_restore_cb(skb);
                        goto process;