summaryrefslogtreecommitdiffstats
path: root/net/ipv6
diff options
context:
space:
mode:
authorRalf Baechle <ralf@linux-mips.org>1997-06-17 13:20:30 +0000
committerRalf Baechle <ralf@linux-mips.org>1997-06-17 13:20:30 +0000
commit7acb77a6e7bddd4c4c5aa975bbf976927c013798 (patch)
tree4139829ec6edb85f73774bb95cdec376758bfc73 /net/ipv6
parent64d58d4c8cd6a89ee218301ec0dc0ebfec91a4db (diff)
Merge with 2.1.43.
Diffstat (limited to 'net/ipv6')
-rw-r--r--net/ipv6/af_inet6.c3
-rw-r--r--net/ipv6/tcp_ipv6.c8
2 files changed, 6 insertions, 5 deletions
diff --git a/net/ipv6/af_inet6.c b/net/ipv6/af_inet6.c
index 1de20e358..3d23b6e86 100644
--- a/net/ipv6/af_inet6.c
+++ b/net/ipv6/af_inet6.c
@@ -7,7 +7,7 @@
*
* Adapted from linux/net/ipv4/af_inet.c
*
- * $Id: af_inet6.c,v 1.18 1997/05/07 09:40:12 davem Exp $
+ * $Id: af_inet6.c,v 1.19 1997/06/02 14:40:40 alan Exp $
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
@@ -105,6 +105,7 @@ static int inet6_create(struct socket *sock, int protocol)
sock_init_data(sock, sk);
+ sk->destruct = NULL;
sk->zapped = 0;
sk->family = AF_INET6;
sk->protocol = protocol;
diff --git a/net/ipv6/tcp_ipv6.c b/net/ipv6/tcp_ipv6.c
index 3c61f7b50..4bf0207d9 100644
--- a/net/ipv6/tcp_ipv6.c
+++ b/net/ipv6/tcp_ipv6.c
@@ -5,7 +5,7 @@
* Authors:
* Pedro Roque <roque@di.fc.ul.pt>
*
- * $Id: tcp_ipv6.c,v 1.31 1997/04/29 21:51:23 davem Exp $
+ * $Id: tcp_ipv6.c,v 1.32 1997/06/04 08:28:58 davem Exp $
*
* Based on:
* linux/net/ipv4/tcp.c
@@ -643,7 +643,6 @@ static void tcp_v6_send_synack(struct sock *sk, struct open_request *req)
skb->end_seq = skb->seq + 1;
th->seq = ntohl(skb->seq);
th->ack_seq = htonl(req->rcv_isn + 1);
- th->doff = sizeof(*th)/4 + 1;
/* Don't offer more than they did.
* This way we don't have to memorize who said what.
@@ -669,8 +668,9 @@ static void tcp_v6_send_synack(struct sock *sk, struct open_request *req)
th->window = htons(req->rcv_wnd);
tmp = tcp_syn_build_options(skb, req->mss, req->sack_ok, req->tstamp_ok,
- req->snd_wscale,req->rcv_wscale);
- th->doff = sizeof(*th)/4 + (tmp>>2);
+ req->wscale_ok,req->rcv_wscale);
+ skb->csum = 0;
+ th->doff = (sizeof(*th) + tmp)>>2;
th->check = tcp_v6_check(th, sizeof(*th) + tmp,
&req->af.v6_req.loc_addr, &req->af.v6_req.rmt_addr,
csum_partial((char *)th, sizeof(*th)+tmp, skb->csum));