struct sk_buff *skb;
skb->len 是data 长度
skb->data_len 是paged data长度
skb_headlen skb->len - skb->data_len 是unpaged data长度
所以skb_headlen函数不是head的长度,而是unpaged data长度
搞清楚了 skb->len 的意义,就明白了为啥skb_push操作会增加len了
详细解释
http://vger.kernel.org/~davem/skb_data.html
skb详细解析
http://www.91linux.com/html/article/kernel/20090730/17655_4.html