1
0
Fork 0
alistair23-linux/net/ipv4
Herbert Xu 0718bcc09b [NET]: Fix CHECKSUM_HW GSO problems.
Fix checksum problems in the GSO code path for CHECKSUM_HW packets.

The ipv4 TCP pseudo header checksum has to be adjusted for GSO
segmented packets.

The adjustment is needed because the length field in the pseudo-header
changes.  However, because we have the inequality oldlen > newlen, we
know that delta = (u16)~oldlen + newlen is still a 16-bit quantity.
This also means that htonl(delta) + th->check still fits in 32 bits.
Therefore we don't have to use csum_add on this operations.

This is based on a patch by Michael Chan <mchan@broadcom.com>.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Acked-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2006-06-25 23:55:46 -07:00
..
ipvs [PATCH] sem2mutex: misc static one-file mutexes 2006-03-26 08:56:55 -08:00
netfilter [PATCH] remove for_each_cpu() 2006-06-25 10:00:54 -07:00
Kconfig [TCP]: TCP Compound congestion control 2006-06-17 21:29:25 -07:00
Makefile [TCP]: TCP Probe congestion window tracing 2006-06-17 21:29:31 -07:00
af_inet.c [NET]: Add software TSOv4 2006-06-23 02:07:33 -07:00
ah4.c [IPSEC] proto: Move transport mode input path into xfrm_mode_transport 2006-06-17 21:28:41 -07:00
arp.c [IPV4]: Possible cleanups. 2006-04-14 15:00:20 -07:00
datagram.c [NET]: Fix sparse warnings 2005-08-29 16:01:32 -07:00
devinet.c [IPV4]: Possible cleanups. 2006-04-14 15:00:20 -07:00
esp4.c [IPSEC] proto: Move transport mode input path into xfrm_mode_transport 2006-06-17 21:28:41 -07:00
fib_frontend.c [NET]: Export ip_dev_find() 2006-06-17 20:37:28 -07:00
fib_hash.c [INET_SOCK]: Move struct inet_sock & helper functions to net/inet_sock.h 2006-01-03 13:11:21 -08:00
fib_lookup.h [IPV4]: Prepare FIB core for RCU. 2005-08-29 16:08:31 -07:00
fib_rules.c [IPV4]: Add fib rule netlink notifications 2006-03-23 01:16:06 -08:00
fib_semantics.c [NETLINK]: illegal use of pid in rtnetlink 2006-02-09 16:43:41 -08:00
fib_trie.c [FIB_TRIE]: Fix leaf freeing. 2006-04-09 22:25:23 -07:00
icmp.c [IPV4] icmp: Kill local 'ip' arg in icmp_redirect(). 2006-06-17 21:29:41 -07:00
igmp.c [IPV4] igmp: Fixup struct ip_mc_list::multiaddr type 2006-06-17 21:29:37 -07:00
inet_connection_sock.c [INET]: Fix typo in Arnaldo's connection sock compat fixups. 2006-03-20 22:52:32 -08:00
inet_diag.c [INET_DIAG]: Introduce sk_diag_fill 2006-01-09 14:56:56 -08:00
inet_hashtables.c [IPV4]: Possible cleanups. 2006-04-14 15:00:20 -07:00
inet_timewait_sock.c [TWSK]: Introduce struct timewait_sock_ops 2006-01-03 13:10:54 -08:00
inetpeer.c [NET]: Change some "if (x) BUG();" to "BUG_ON(x);" 2006-01-09 14:16:18 -08:00
ip_forward.c [IPV4]: Increment ipInHdrErrors when TTL expires. 2006-06-12 13:09:59 -07:00
ip_fragment.c [IPV4] ip_fragment: Always compute hash with ipfrag_lock held. 2006-04-09 22:43:55 -07:00
ip_gre.c [INET]: Use port unreachable instead of proto for tunnels 2006-04-09 22:25:29 -07:00
ip_input.c [IPV4]: Remove likely in ip_rcv_finish() 2006-05-06 18:11:39 -07:00
ip_options.c [IPV4]: ip_options_fragment() has no effect on fragmentation 2006-05-09 15:18:50 -07:00
ip_output.c [NET]: Merge TSO/UFO fields in sk_buff 2006-06-23 02:07:29 -07:00
ip_sockglue.c [NET]: Identation & other cleanups related to compat_[gs]etsockopt cset 2006-03-20 22:48:35 -08:00
ipcomp.c [NET]: Clean up skb_linearize 2006-06-17 21:30:16 -07:00
ipconfig.c [NET]: Convert RTNL to mutex. 2006-03-20 22:23:58 -08:00
ipip.c [INET]: Move no-tunnel ICMP error to tunnel4/tunnel6 2006-04-09 22:25:25 -07:00
ipmr.c [NET]: dev_put/dev_hold cleanup 2006-03-20 22:32:28 -08:00
multipath.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
multipath_drr.c [IPV4]: possible cleanups 2005-08-29 15:33:20 -07:00
multipath_random.c [IPV4]: Multipath modules need a license to prevent kernel tainting. 2005-06-13 14:29:06 -07:00
multipath_rr.c [IPV4]: Multipath modules need a license to prevent kernel tainting. 2005-06-13 14:29:06 -07:00
multipath_wrandom.c [IPV4] multipath_wrandom: Fix softirq-unsafe spin lock usage 2006-02-02 16:59:16 -08:00
netfilter.c [NETFILTER]: Add address family specific checksum helpers 2006-04-09 22:25:41 -07:00
proc.c [PATCH] for_each_possible_cpu: network codes 2006-04-11 06:18:31 -07:00
protocol.c [TCP]: Move the tcp sock states to net/tcp_states.h 2005-08-29 15:41:54 -07:00
raw.c [IPV4]: Right prototype of __raw_v4_lookup() 2006-06-17 21:29:39 -07:00
route.c [PATCH] Define __raw_get_cpu_var and use it 2006-06-25 10:01:01 -07:00
syncookies.c [ICSK]: Rename struct tcp_func to struct inet_connection_sock_af_ops 2006-01-03 13:10:38 -08:00
sysctl_net_ipv4.c [TCP]: Add tcp_slow_start_after_idle sysctl. 2006-06-17 21:30:53 -07:00
tcp.c [NET]: Fix CHECKSUM_HW GSO problems. 2006-06-25 23:55:46 -07:00
tcp_bic.c [TCP]: Minimum congestion window consolidation. 2006-06-17 21:29:29 -07:00
tcp_compound.c [TCP]: Minimum congestion window consolidation. 2006-06-17 21:29:29 -07:00
tcp_cong.c [TCP]: Minimum congestion window consolidation. 2006-06-17 21:29:29 -07:00
tcp_cubic.c [TCP]: Minimum congestion window consolidation. 2006-06-17 21:29:29 -07:00
tcp_diag.c [INET_DIAG]: Move the tcp_diag interface to the proper place 2005-08-29 15:57:54 -07:00
tcp_highspeed.c [TCP]: Limited slow start for Highspeed TCP 2006-06-17 21:29:33 -07:00
tcp_htcp.c [TCP]: Minimum congestion window consolidation. 2006-06-17 21:29:29 -07:00
tcp_hybla.c [TCP]: fix congestion window update when using TSO deferal 2005-11-10 16:53:30 -08:00
tcp_input.c [NET]: Merge TSO/UFO fields in sk_buff 2006-06-23 02:07:29 -07:00
tcp_ipv4.c [I/OAT]: TCP recv offload to I/OAT 2006-06-17 21:25:56 -07:00
tcp_lp.c [TCP]: TCP Low Priority congestion control 2006-06-17 21:29:21 -07:00
tcp_minisocks.c [IPV6]: Introduce inet6_timewait_sock 2006-01-03 13:10:47 -08:00
tcp_output.c [NET]: Merge TSO/UFO fields in sk_buff 2006-06-23 02:07:29 -07:00
tcp_probe.c [TCP]: Fix compile warning in tcp_probe.c 2006-06-17 21:29:35 -07:00
tcp_scalable.c [TCP]: add tcp_slow_start helper 2005-11-10 17:07:24 -08:00
tcp_timer.c [TCP]: MTU probing 2006-03-20 17:53:41 -08:00
tcp_vegas.c [TCP] tcp_vegas: Fix slow start 2006-01-04 13:59:32 -08:00
tcp_veno.c [TCP]: Minimum congestion window consolidation. 2006-06-17 21:29:29 -07:00
tcp_westwood.c [TCP] Westwood: reset RTT min after FRTO 2006-06-17 21:30:38 -07:00
tunnel4.c [INET]: Move no-tunnel ICMP error to tunnel4/tunnel6 2006-04-09 22:25:25 -07:00
udp.c [NET]: Identation & other cleanups related to compat_[gs]etsockopt cset 2006-03-20 22:48:35 -08:00
xfrm4_input.c [IPSEC] xfrm: Abstract out encapsulation modes 2006-06-17 21:28:39 -07:00
xfrm4_mode_transport.c [IPSEC] proto: Move transport mode input path into xfrm_mode_transport 2006-06-17 21:28:41 -07:00
xfrm4_mode_tunnel.c [IPSEC] xfrm: Abstract out encapsulation modes 2006-06-17 21:28:39 -07:00
xfrm4_output.c [IPSEC]: Handle GSO packets 2006-06-23 02:07:38 -07:00
xfrm4_policy.c [IPSEC] xfrm: Undo afinfo lock proliferation 2006-06-17 21:28:37 -07:00
xfrm4_state.c [IPSEC] xfrm: Undo afinfo lock proliferation 2006-06-17 21:28:37 -07:00
xfrm4_tunnel.c [IPSEC]: Kill unused decap state argument 2006-04-01 00:52:46 -08:00