Lines Matching defs:frag

19  *	Imran Patel	:	frag id should be in NBO
687 iter->frag = skb_shinfo(skb)->frag_list;
718 struct sk_buff *frag = iter->frag;
722 frag->ip_summed = CHECKSUM_NONE;
723 skb_reset_transport_header(frag);
724 fh = __skb_push(frag, sizeof(struct frag_hdr));
725 __skb_push(frag, hlen);
726 skb_reset_network_header(frag);
727 memcpy(skb_network_header(frag), iter->tmp_hdr, hlen);
732 if (frag->next)
735 ipv6_hdr(frag)->payload_len = htons(frag->len - sizeof(struct ipv6hdr));
736 ip6_copy_metadata(frag, skb);
764 struct sk_buff *frag;
778 frag = alloc_skb(len + state->hlen + sizeof(struct frag_hdr) +
780 if (!frag)
787 ip6_copy_metadata(frag, skb);
788 skb_reserve(frag, state->hroom);
789 skb_put(frag, len + state->hlen + sizeof(struct frag_hdr));
790 skb_reset_network_header(frag);
791 fh = (struct frag_hdr *)(skb_network_header(frag) + state->hlen);
792 frag->transport_header = (frag->network_header + state->hlen +
800 skb_set_owner_w(frag, skb->sk);
805 skb_copy_from_linear_data(skb, skb_network_header(frag), state->hlen);
807 fragnexthdr_offset = skb_network_header(frag);
821 BUG_ON(skb_copy_bits(skb, state->ptr, skb_transport_header(frag),
828 ipv6_hdr(frag)->payload_len = htons(frag->len - sizeof(struct ipv6hdr));
833 return frag;
840 struct sk_buff *frag;
904 skb_walk_frags(skb, frag) {
906 if (frag->len > mtu ||
907 ((frag->len & 7) && frag->next) ||
908 skb_headroom(frag) < (hlen + hroom + sizeof(struct frag_hdr)))
912 if (skb_shared(frag))
915 BUG_ON(frag->sk);
917 frag->sk = skb->sk;
918 frag->destructor = sock_wfree;
920 skb->truesize -= frag->truesize;
934 if (iter.frag)
943 if (err || !iter.frag)
958 kfree_skb_list(iter.frag);
967 if (frag2 == frag)
989 frag = ip6_frag_next(skb, &state);
990 if (IS_ERR(frag)) {
991 err = PTR_ERR(frag);
998 frag->tstamp = tstamp;
999 err = output(net, sk, frag);