Hi, I'm a newcomer of this list. I want to understand the tcp/ip stack's implementaion, and hope that I can get your help. I find that that sk_buff can be fragmented, and it's called nonlinear. What's the meaning of nonlinear? And what are the meaning of sk_buff's fields: skb->data_len and skb_shinfo(skb)? I have no idea about them. May you explain them? Thank you. By the way, as far as I knew, maybe these fields have three usage: 1 when skb->len > mss_now, the function tcp_fragment() will call, these fields will be used; 2. system call sys_sendfile(); 3. zero-copy networking. But my understanding is very unclear. May you give a clear explanation? Jianyong Zhang - Kernelnewbies: Help each other learn about the Linux kernel. Archive: http://mail.nl.linux.org/kernelnewbies/ IRC Channel: irc.openprojects.net / #kernelnewbies Web Page: http://www.kernelnewbies.org/