Lines Matching refs:iter
605 unsigned int hlen, struct ip_fraglist_iter *iter)
609 iter->frag = skb_shinfo(skb)->frag_list;
612 iter->offset = 0;
613 iter->iph = iph;
614 iter->hlen = hlen;
624 void ip_fraglist_prepare(struct sk_buff *skb, struct ip_fraglist_iter *iter)
626 unsigned int hlen = iter->hlen;
627 struct iphdr *iph = iter->iph;
630 frag = iter->frag;
636 iter->iph = ip_hdr(frag);
637 iph = iter->iph;
640 iter->offset += skb->len - hlen;
641 iph->frag_off = htons(iter->offset >> 3);
775 struct ip_fraglist_iter iter;
842 ip_fraglist_init(skb, iph, hlen, &iter);
847 if (iter.frag) {
848 bool first_frag = (iter.offset == 0);
850 IPCB(iter.frag)->flags = IPCB(skb)->flags;
851 ip_fraglist_prepare(skb, &iter);
857 IPCB(iter.frag)->opt.optlen =
859 ip_options_fragment(iter.frag);
860 ip_send_check(iter.iph);
869 if (err || !iter.frag)
872 skb = ip_fraglist_next(&iter);
880 kfree_skb_list(iter.frag);