On Fri, Oct 22, 2004 at 11:54:35AM -0700, Phil Oester wrote: > > This patch gets it a bit further, but still panics (divide by 0?): Oops, I forgot that this gets called on non-TSO packets as well. So we don't really know whether it went further or not :) We should only set the TSO size if the packet was TSO to start with. Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> Cheers, -- Visit Openswan at http://www.openswan.org/ Email: Herbert Xu ~{PmV>HI~} <herbert@gondor.apana.org.au> Home Page: http://gondor.apana.org.au/~herbert/ PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt
--- linux-2.6/net/ipv4/tcp_output.c.orig 2004-10-22 07:56:45.000000000 +1000 +++ linux-2.6/net/ipv4/tcp_output.c 2004-10-23 07:48:15.000000000 +1000 @@ -588,7 +588,8 @@ /* Any change of skb->len requires recalculation of tso * factor and mss. */ - tcp_set_skb_tso_segs(skb, tcp_skb_mss(skb)); + if (tcp_skb_mss(skb)) + tcp_set_skb_tso_segs(skb, tcp_skb_mss(skb)); return 0; }