On Thu, Oct 21, 2004 at 09:52:24AM -0700, Phil Oester wrote: > > KERNEL: assertion (!tcp_get_pcount(&tp->packets_out) || !skb_ > queue_empty(&sk->sk_write_queue)) failed at net/ipv4/tcp_input.c (2496) Perhaps the MTU is growing upwards? Does this patch help? Dave, we need to use the skb's MSS in trim_head as otherwise the counters will be screwed up. 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
===== net/ipv4/tcp_output.c 1.68 vs edited ===== --- 1.68/net/ipv4/tcp_output.c 2004-10-20 15:13:52 +10:00 +++ edited/net/ipv4/tcp_output.c 2004-10-22 07:56:45 +10:00 @@ -566,8 +566,6 @@ int tcp_trim_head(struct sock *sk, struct sk_buff *skb, u32 len) { - struct tcp_opt *tp = tcp_sk(sk); - if (skb_cloned(skb) && pskb_expand_head(skb, 0, 0, GFP_ATOMIC)) return -ENOMEM; @@ -590,7 +588,7 @@ /* Any change of skb->len requires recalculation of tso * factor and mss. */ - tcp_set_skb_tso_segs(skb, tp->mss_cache_std); + tcp_set_skb_tso_segs(skb, tcp_skb_mss(skb)); return 0; }