Lines Matching refs:frag
597 iter->frag = skb_shinfo(skb)->frag_list;
616 struct sk_buff *frag;
618 frag = iter->frag;
619 frag->ip_summed = CHECKSUM_NONE;
620 skb_reset_transport_header(frag);
621 __skb_push(frag, hlen);
622 skb_reset_network_header(frag);
623 memcpy(skb_network_header(frag), iph, hlen);
624 iter->iph = ip_hdr(frag);
626 iph->tot_len = htons(frag->len);
627 ip_copy_metadata(frag, skb);
630 if (frag->next)
800 struct sk_buff *frag, *frag2;
810 skb_walk_frags(skb, frag) {
812 if (frag->len > mtu ||
813 ((frag->len & 7) && frag->next) ||
814 skb_headroom(frag) < hlen + ll_rs)
818 if (skb_shared(frag))
821 BUG_ON(frag->sk);
823 frag->sk = skb->sk;
824 frag->destructor = sock_wfree;
826 skb->truesize -= frag->truesize;
835 if (iter.frag) {
838 IPCB(iter.frag)->flags = IPCB(skb)->flags;
845 IPCB(iter.frag)->opt.optlen =
847 ip_options_fragment(iter.frag);
857 if (err || !iter.frag)
868 kfree_skb_list(iter.frag);
875 if (frag2 == frag)