diff options
author | Linus Torvalds <torvalds@g5.osdl.org> | 2006-06-30 18:40:17 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-06-30 18:40:17 -0400 |
commit | e37a72de84d27ee8bc0e7dbb5c2f1774ed306dbb (patch) | |
tree | f9da35cbd79b52a5bd08d4a0f960bde6af741da0 /net/ipv6/tcp_ipv6.c | |
parent | 93fdf10d4c28edaa1b9f80e7f9c3002359186d00 (diff) | |
parent | f83ef8c0b58dac17211a4c0b6df0e2b1bd6637b1 (diff) |
Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
* master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6:
[IPV6]: Added GSO support for TCPv6
[NET]: Generalise TSO-specific bits from skb_setup_caps
[IPV6]: Added GSO support for TCPv6
[IPV6]: Remove redundant length check on input
[NETFILTER]: SCTP conntrack: fix crash triggered by packet without chunks
[TG3]: Update version and reldate
[TG3]: Add TSO workaround using GSO
[TG3]: Turn on hw fix for ASF problems
[TG3]: Add rx BD workaround
[TG3]: Add tg3_netif_stop() in vlan functions
[TCP]: Reset gso_segs if packet is dodgy
Diffstat (limited to 'net/ipv6/tcp_ipv6.c')
-rw-r--r-- | net/ipv6/tcp_ipv6.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/net/ipv6/tcp_ipv6.c b/net/ipv6/tcp_ipv6.c index 81dbc9c3bf04..5bdcb9002cf7 100644 --- a/net/ipv6/tcp_ipv6.c +++ b/net/ipv6/tcp_ipv6.c | |||
@@ -269,9 +269,8 @@ static int tcp_v6_connect(struct sock *sk, struct sockaddr *uaddr, | |||
269 | ipv6_addr_copy(&np->saddr, saddr); | 269 | ipv6_addr_copy(&np->saddr, saddr); |
270 | inet->rcv_saddr = LOOPBACK4_IPV6; | 270 | inet->rcv_saddr = LOOPBACK4_IPV6; |
271 | 271 | ||
272 | sk->sk_gso_type = SKB_GSO_TCPV6; | ||
272 | ip6_dst_store(sk, dst, NULL); | 273 | ip6_dst_store(sk, dst, NULL); |
273 | sk->sk_route_caps = dst->dev->features & | ||
274 | ~(NETIF_F_IP_CSUM | NETIF_F_TSO); | ||
275 | 274 | ||
276 | icsk->icsk_ext_hdr_len = 0; | 275 | icsk->icsk_ext_hdr_len = 0; |
277 | if (np->opt) | 276 | if (np->opt) |
@@ -929,9 +928,8 @@ static struct sock * tcp_v6_syn_recv_sock(struct sock *sk, struct sk_buff *skb, | |||
929 | * comment in that function for the gory details. -acme | 928 | * comment in that function for the gory details. -acme |
930 | */ | 929 | */ |
931 | 930 | ||
931 | sk->sk_gso_type = SKB_GSO_TCPV6; | ||
932 | ip6_dst_store(newsk, dst, NULL); | 932 | ip6_dst_store(newsk, dst, NULL); |
933 | newsk->sk_route_caps = dst->dev->features & | ||
934 | ~(NETIF_F_IP_CSUM | NETIF_F_TSO); | ||
935 | 933 | ||
936 | newtcp6sk = (struct tcp6_sock *)newsk; | 934 | newtcp6sk = (struct tcp6_sock *)newsk; |
937 | inet_sk(newsk)->pinet6 = &newtcp6sk->inet6; | 935 | inet_sk(newsk)->pinet6 = &newtcp6sk->inet6; |
@@ -1605,6 +1603,7 @@ struct proto tcpv6_prot = { | |||
1605 | static struct inet6_protocol tcpv6_protocol = { | 1603 | static struct inet6_protocol tcpv6_protocol = { |
1606 | .handler = tcp_v6_rcv, | 1604 | .handler = tcp_v6_rcv, |
1607 | .err_handler = tcp_v6_err, | 1605 | .err_handler = tcp_v6_err, |
1606 | .gso_segment = tcp_tso_segment, | ||
1608 | .flags = INET6_PROTO_NOPOLICY|INET6_PROTO_FINAL, | 1607 | .flags = INET6_PROTO_NOPOLICY|INET6_PROTO_FINAL, |
1609 | }; | 1608 | }; |
1610 | 1609 | ||