Lines Matching refs:frag
482 struct sk_buff *frag;
491 for (frag = skb_shinfo(skb)->frag_list; frag; frag = frag->next) {
493 if (frag->len > mtu ||
494 ((frag->len & 7) && frag->next) ||
495 skb_headroom(frag) < hlen)
499 if (skb_shared(frag))
502 BUG_ON(frag->sk);
505 frag->sk = skb->sk;
506 frag->destructor = sock_wfree;
507 skb->truesize -= frag->truesize;
515 frag = skb_shinfo(skb)->frag_list;
526 if (frag) {
527 frag->ip_summed = CHECKSUM_NONE;
528 skb_reset_transport_header(frag);
529 __skb_push(frag, hlen);
530 skb_reset_network_header(frag);
531 memcpy(skb_network_header(frag), iph, hlen);
532 iph = ip_hdr(frag);
533 iph->tot_len = htons(frag->len);
534 ip_copy_metadata(frag, skb);
536 ip_options_fragment(frag);
539 if (frag->next != NULL)
549 if (err || !frag)
552 skb = frag;
553 frag = skb->next;
562 while (frag) {
563 skb = frag->next;
564 kfree_skb(frag);
565 frag = skb;
608 NETDEBUG(KERN_INFO "IP: frag: no memory for new fragment!\n");
1022 skb_frag_t *frag = &skb_shinfo(skb)->frags[i-1];
1030 if (page != frag->page) {
1037 frag = &skb_shinfo(skb)->frags[i];
1051 frag = &skb_shinfo(skb)->frags[i];
1058 if (getfrag(from, page_address(frag->page)+frag->page_offset+frag->size, offset, copy, skb->len, skb) < 0) {
1063 frag->size += copy;