On (04/07/16 07:16), Eric Dumazet wrote: > Use skb split like TCP in output path ? > Really, pskb_expand_head() is not supposed to copy payload ;)
Question- how come skb_split doesnt have to deal with frag_list and do a skb_walk_frags()? Couldn't the split-line be somewhere in the frag_list? Also even for the skb_split_inside_header, dont we have to set skb_shinfo(skb1)->frag_list = skb_shinfo(skb)->frag_list; and cut loose the skb_shinfo(skb)->frag_list? As I try to mimic skb_split in some new set of "skb_carve" funtions, I'm running into all the various frag_list cases. I'm afraid I might end up needing most of the stuff under the "Pure masohism" (sic) comment in __pskb_pull_tail(). --Sowmini