Re: skb_split in tcp_retransmit_skb question

From: Sergey Senozhatsky
Date: Thu Jan 27 2011 - 13:33:43 EST


On (01/27/11 17:20), Sergey Senozhatsky wrote:
> Hello,
>
> Suppose we have the following scenario:
>
> tcp_write_timer ->
> tcp_retransmit_skb
>
> in tcp_retransmit_skb we have `if (skb->len > cur_mss)' evaluted to true, which leads
> to tcp_fragment(sk, skb, cur_mss, cur_mss) call. tcp_fragment calls skb_split(skb, buff, len)
> which, in turn, calls skb_split_no_header(skb, skb1, len, pos), where we have
> `skb_shinfo(skb)->nr_frags++' while in `for (i = 0; i < nfrags; i++)' loop.

Sorry for the noise. Alexey has pointed out that we have
skb_shinfo(skb)->nr_frags = 0 in skb_split_no_header. Have no idea how did I miss it.

Thanks,

Sergey

Attachment: pgp00000.pgp
Description: PGP signature