Lines Matching defs:frag
609 iter->frag = skb_shinfo(skb)->frag_list;
628 struct sk_buff *frag;
630 frag = iter->frag;
631 frag->ip_summed = CHECKSUM_NONE;
632 skb_reset_transport_header(frag);
633 __skb_push(frag, hlen);
634 skb_reset_network_header(frag);
635 memcpy(skb_network_header(frag), iph, hlen);
636 iter->iph = ip_hdr(frag);
638 iph->tot_len = htons(frag->len);
639 ip_copy_metadata(frag, skb);
642 if (frag->next)
812 struct sk_buff *frag, *frag2;
822 skb_walk_frags(skb, frag) {
824 if (frag->len > mtu ||
825 ((frag->len & 7) && frag->next) ||
826 skb_headroom(frag) < hlen + ll_rs)
830 if (skb_shared(frag))
833 BUG_ON(frag->sk);
835 frag->sk = skb->sk;
836 frag->destructor = sock_wfree;
838 skb->truesize -= frag->truesize;
847 if (iter.frag) {
850 IPCB(iter.frag)->flags = IPCB(skb)->flags;
857 IPCB(iter.frag)->opt.optlen =
859 ip_options_fragment(iter.frag);
869 if (err || !iter.frag)
880 kfree_skb_list(iter.frag);
887 if (frag2 == frag)