Lines Matching refs:frag
88 struct sk_buff *frag; in lowpan_alloc_frag() local
91 frag = alloc_skb(wdev->needed_headroom + wdev->needed_tailroom + size, in lowpan_alloc_frag()
94 if (likely(frag)) { in lowpan_alloc_frag()
95 frag->dev = wdev; in lowpan_alloc_frag()
96 frag->priority = skb->priority; in lowpan_alloc_frag()
97 skb_reserve(frag, wdev->needed_headroom); in lowpan_alloc_frag()
98 skb_reset_network_header(frag); in lowpan_alloc_frag()
99 *mac_cb(frag) = *mac_cb(skb); in lowpan_alloc_frag()
102 memcpy(skb_put(frag, skb->mac_len), in lowpan_alloc_frag()
105 rc = wpan_dev_hard_header(frag, wdev, in lowpan_alloc_frag()
109 kfree_skb(frag); in lowpan_alloc_frag()
114 frag = ERR_PTR(-ENOMEM); in lowpan_alloc_frag()
117 return frag; in lowpan_alloc_frag()
125 struct sk_buff *frag; in lowpan_xmit_fragment() local
129 frag = lowpan_alloc_frag(skb, frag_hdrlen + len, wpan_hdr, frag1); in lowpan_xmit_fragment()
130 if (IS_ERR(frag)) in lowpan_xmit_fragment()
131 return PTR_ERR(frag); in lowpan_xmit_fragment()
133 memcpy(skb_put(frag, frag_hdrlen), frag_hdr, frag_hdrlen); in lowpan_xmit_fragment()
134 memcpy(skb_put(frag, len), skb_network_header(skb) + offset, len); in lowpan_xmit_fragment()
136 raw_dump_table(__func__, " fragment dump", frag->data, frag->len); in lowpan_xmit_fragment()
138 return dev_queue_xmit(frag); in lowpan_xmit_fragment()