Home
last modified time | relevance | path

Searched refs:frag (Results 1 – 25 of 43) sorted by relevance

12

/net/ieee802154/6lowpan/
Dtx.c105 struct sk_buff *frag; in lowpan_alloc_frag() local
108 frag = alloc_skb(wdev->needed_headroom + wdev->needed_tailroom + size, in lowpan_alloc_frag()
111 if (likely(frag)) { in lowpan_alloc_frag()
112 frag->dev = wdev; in lowpan_alloc_frag()
113 frag->priority = skb->priority; in lowpan_alloc_frag()
114 skb_reserve(frag, wdev->needed_headroom); in lowpan_alloc_frag()
115 skb_reset_network_header(frag); in lowpan_alloc_frag()
116 *mac_cb(frag) = *mac_cb(skb); in lowpan_alloc_frag()
119 skb_put_data(frag, skb_mac_header(skb), skb->mac_len); in lowpan_alloc_frag()
121 rc = wpan_dev_hard_header(frag, wdev, in lowpan_alloc_frag()
[all …]
Dreassembly.c46 struct inet_frag_queue *frag = from_timer(frag, t, timer); in lowpan_frag_expire() local
49 fq = container_of(frag, struct frag_queue, q); in lowpan_frag_expire()
/net/rds/
Dib_recv.c159 struct rds_page_frag *frag; in rds_ib_recv_free_caches() local
178 list_for_each_entry_safe(frag, frag_tmp, &list, f_cache_entry) { in rds_ib_recv_free_caches()
179 list_del(&frag->f_cache_entry); in rds_ib_recv_free_caches()
180 WARN_ON(!list_empty(&frag->f_item)); in rds_ib_recv_free_caches()
181 kmem_cache_free(rds_ib_frag_slab, frag); in rds_ib_recv_free_caches()
193 struct rds_page_frag *frag) in rds_ib_frag_free() argument
195 rdsdebug("frag %p page %p\n", frag, sg_page(&frag->f_sg)); in rds_ib_frag_free()
197 rds_ib_recv_cache_put(&frag->f_cache_entry, &ic->i_cache_frags); in rds_ib_frag_free()
206 struct rds_page_frag *frag; in rds_ib_inc_free() local
213 list_for_each_entry_safe(frag, pos, &ibinc->ii_frags, f_item) { in rds_ib_inc_free()
[all …]
/net/tipc/
Dmsg.c125 struct sk_buff *frag = *buf; in tipc_buf_append() local
132 if (!frag) in tipc_buf_append()
135 msg = buf_msg(frag); in tipc_buf_append()
137 frag->next = NULL; in tipc_buf_append()
138 skb_pull(frag, msg_hdr_sz(msg)); in tipc_buf_append()
144 if (skb_has_frag_list(frag) && __skb_linearize(frag)) in tipc_buf_append()
146 frag = skb_unshare(frag, GFP_ATOMIC); in tipc_buf_append()
147 if (unlikely(!frag)) in tipc_buf_append()
149 head = *headbuf = frag; in tipc_buf_append()
157 if (skb_try_coalesce(head, frag, &headstolen, &delta)) { in tipc_buf_append()
[all …]
/net/ipv6/
Dip6_output.c687 iter->frag = skb_shinfo(skb)->frag_list; in ip6_fraglist_init()
718 struct sk_buff *frag = iter->frag; in ip6_fraglist_prepare() local
722 frag->ip_summed = CHECKSUM_NONE; in ip6_fraglist_prepare()
723 skb_reset_transport_header(frag); in ip6_fraglist_prepare()
724 fh = __skb_push(frag, sizeof(struct frag_hdr)); in ip6_fraglist_prepare()
725 __skb_push(frag, hlen); in ip6_fraglist_prepare()
726 skb_reset_network_header(frag); in ip6_fraglist_prepare()
727 memcpy(skb_network_header(frag), iter->tmp_hdr, hlen); in ip6_fraglist_prepare()
732 if (frag->next) in ip6_fraglist_prepare()
735 ipv6_hdr(frag)->payload_len = htons(frag->len - sizeof(struct ipv6hdr)); in ip6_fraglist_prepare()
[all …]
Dnetfilter.c184 if (iter.frag) in br_ip6_fragment()
189 if (err || !iter.frag) in br_ip6_fragment()
199 kfree_skb_list(iter.frag); in br_ip6_fragment()
Dreassembly.c75 struct inet_frag_queue *frag = from_timer(frag, t, timer); in ip6_frag_expire() local
78 fq = container_of(frag, struct frag_queue, q); in ip6_frag_expire()
/net/core/
Dtso.c55 skb_frag_t *frag = &skb_shinfo(skb)->frags[tso->next_frag_idx]; in tso_build_data() local
58 tso->size = skb_frag_size(frag); in tso_build_data()
59 tso->data = skb_frag_address(frag); in tso_build_data()
79 skb_frag_t *frag = &skb_shinfo(skb)->frags[tso->next_frag_idx]; in tso_start() local
82 tso->size = skb_frag_size(frag); in tso_start()
83 tso->data = skb_frag_address(frag); in tso_start()
Ddatagram.c441 const skb_frag_t *frag = &skb_shinfo(skb)->frags[i]; in __skb_datagram_iter() local
445 end = start + skb_frag_size(frag); in __skb_datagram_iter()
447 struct page *page = skb_frag_page(frag); in __skb_datagram_iter()
453 vaddr + skb_frag_off(frag) + offset - start, in __skb_datagram_iter()
573 const skb_frag_t *frag = &skb_shinfo(skb)->frags[i]; in skb_copy_datagram_from_iter() local
577 end = start + skb_frag_size(frag); in skb_copy_datagram_from_iter()
583 copied = copy_page_from_iter(skb_frag_page(frag), in skb_copy_datagram_from_iter()
584 skb_frag_off(frag) + offset - start, in skb_copy_datagram_from_iter()
626 int frag = skb_shinfo(skb)->nr_frags; in __zerocopy_sg_from_iter() local
635 if (frag == MAX_SKB_FRAGS) in __zerocopy_sg_from_iter()
[all …]
Dskbuff.c566 skb_frag_t *frag = &skb_shinfo(skb)->frags[i]; in skb_coalesce_rx_frag() local
568 skb_frag_size_add(frag, size); in skb_coalesce_rx_frag()
794 skb_frag_t *frag = &skb_shinfo(skb)->frags[i]; in skb_dump() local
799 skb_frag_foreach_page(frag, skb_frag_off(frag), in skb_dump()
800 skb_frag_size(frag), p, p_off, p_len, in skb_dump()
1947 struct sk_buff *frag; in ___pskb_trim() local
1982 for (fragp = &skb_shinfo(skb)->frag_list; (frag = *fragp); in ___pskb_trim()
1983 fragp = &frag->next) { in ___pskb_trim()
1984 int end = offset + frag->len; in ___pskb_trim()
1986 if (skb_shared(frag)) { in ___pskb_trim()
[all …]
/net/tls/
Dtls_device.c238 skb_frag_t *frag; in tls_append_frag() local
240 frag = &record->frags[record->num_frags - 1]; in tls_append_frag()
241 if (skb_frag_page(frag) == pfrag->page && in tls_append_frag()
242 skb_frag_off(frag) + skb_frag_size(frag) == pfrag->offset) { in tls_append_frag()
243 skb_frag_size_add(frag, size); in tls_append_frag()
245 ++frag; in tls_append_frag()
246 __skb_frag_set_page(frag, pfrag->page); in tls_append_frag()
247 skb_frag_off_set(frag, pfrag->offset); in tls_append_frag()
248 skb_frag_size_set(frag, size); in tls_append_frag()
265 skb_frag_t *frag; in tls_push_record() local
[all …]
Dtls_device_fallback.c272 skb_frag_t *frag = &record->frags[i]; in fill_sg_in() local
274 __skb_frag_ref(frag); in fill_sg_in()
275 sg_set_page(sg_in + i, skb_frag_page(frag), in fill_sg_in()
276 skb_frag_size(frag), skb_frag_off(frag)); in fill_sg_in()
278 remaining -= skb_frag_size(frag); in fill_sg_in()
/net/ipv4/
Dip_output.c604 iter->frag = skb_shinfo(skb)->frag_list; in ip_fraglist_init()
622 struct sk_buff *to = iter->frag; in ip_fraglist_ipcb_prepare()
635 struct sk_buff *frag; in ip_fraglist_prepare() local
637 frag = iter->frag; in ip_fraglist_prepare()
638 frag->ip_summed = CHECKSUM_NONE; in ip_fraglist_prepare()
639 skb_reset_transport_header(frag); in ip_fraglist_prepare()
640 __skb_push(frag, hlen); in ip_fraglist_prepare()
641 skb_reset_network_header(frag); in ip_fraglist_prepare()
642 memcpy(skb_network_header(frag), iph, hlen); in ip_fraglist_prepare()
643 iter->iph = ip_hdr(frag); in ip_fraglist_prepare()
[all …]
/net/bridge/netfilter/
Dnf_conntrack_bridge.c60 struct sk_buff *frag; in nf_br_ip_fragment() local
69 skb_walk_frags(skb, frag) { in nf_br_ip_fragment()
70 if (frag->len > mtu || in nf_br_ip_fragment()
71 skb_headroom(frag) < hlen + ll_rs) in nf_br_ip_fragment()
74 if (skb_shared(frag)) in nf_br_ip_fragment()
81 if (iter.frag) in nf_br_ip_fragment()
86 if (err || !iter.frag) in nf_br_ip_fragment()
95 kfree_skb_list(iter.frag); in nf_br_ip_fragment()
/net/bluetooth/
Daf_bluetooth.c393 struct sk_buff *frag; in bt_sock_stream_recvmsg() local
398 skb_walk_frags(skb, frag) { in bt_sock_stream_recvmsg()
399 if (chunk <= frag->len) { in bt_sock_stream_recvmsg()
403 __skb_pull(frag, chunk); in bt_sock_stream_recvmsg()
405 } else if (frag->len) { in bt_sock_stream_recvmsg()
407 chunk -= frag->len; in bt_sock_stream_recvmsg()
408 skb->len -= frag->len; in bt_sock_stream_recvmsg()
409 skb->data_len -= frag->len; in bt_sock_stream_recvmsg()
410 __skb_pull(frag, frag->len); in bt_sock_stream_recvmsg()
/net/xfrm/
Dxfrm_ipcomp.c68 skb_frag_t *frag; in ipcomp_decompress() local
75 frag = skb_shinfo(skb)->frags + skb_shinfo(skb)->nr_frags; in ipcomp_decompress()
82 __skb_frag_set_page(frag, page); in ipcomp_decompress()
88 skb_frag_off_set(frag, 0); in ipcomp_decompress()
89 skb_frag_size_set(frag, len); in ipcomp_decompress()
90 memcpy(skb_frag_address(frag), scratch, len); in ipcomp_decompress()
/net/sctp/
Dchunk.c239 u8 frag = SCTP_DATA_MIDDLE_FRAG; in sctp_datamsg_from_user() local
243 frag |= SCTP_DATA_FIRST_FRAG; in sctp_datamsg_from_user()
253 frag |= SCTP_DATA_LAST_FRAG; in sctp_datamsg_from_user()
261 frag |= SCTP_DATA_SACK_IMM; in sctp_datamsg_from_user()
264 chunk = asoc->stream.si->make_datafrag(asoc, sinfo, len, frag, in sctp_datamsg_from_user()
Dulpevent.c1023 struct sk_buff *skb, *frag; in sctp_ulpevent_receive_data() local
1039 skb_walk_frags(skb, frag) in sctp_ulpevent_receive_data()
1040 sctp_ulpevent_receive_data(sctp_skb2event(frag), asoc); in sctp_ulpevent_receive_data()
1048 struct sk_buff *skb, *frag; in sctp_ulpevent_release_data() local
1065 skb_walk_frags(skb, frag) { in sctp_ulpevent_release_data()
1070 sctp_ulpevent_release_frag_data(sctp_skb2event(frag)); in sctp_ulpevent_release_data()
1081 struct sk_buff *skb, *frag; in sctp_ulpevent_release_frag_data() local
1089 skb_walk_frags(skb, frag) { in sctp_ulpevent_release_frag_data()
1094 sctp_ulpevent_release_frag_data(sctp_skb2event(frag)); in sctp_ulpevent_release_frag_data()
Dassociola.c1396 int frag = sctp_mtu_payload(sctp_sk(asoc->base.sk), asoc->pathmtu, in sctp_assoc_update_frag_point() local
1400 frag = min_t(int, frag, asoc->user_frag); in sctp_assoc_update_frag_point()
1402 frag = min_t(int, frag, SCTP_MAX_CHUNK_LEN - in sctp_assoc_update_frag_point()
1405 asoc->frag_point = SCTP_TRUNC4(frag); in sctp_assoc_update_frag_point()
/net/openvswitch/
Dflow.c267 key->ip.frag = OVS_FRAG_TYPE_LATER; in parse_ipv6hdr()
271 key->ip.frag = OVS_FRAG_TYPE_FIRST; in parse_ipv6hdr()
273 key->ip.frag = OVS_FRAG_TYPE_NONE; in parse_ipv6hdr()
562 key->ip.frag = OVS_FRAG_TYPE_LATER; in key_extract_l3l4()
568 key->ip.frag = OVS_FRAG_TYPE_FIRST; in key_extract_l3l4()
570 key->ip.frag = OVS_FRAG_TYPE_NONE; in key_extract_l3l4()
681 if (key->ip.frag == OVS_FRAG_TYPE_LATER) { in key_extract_l3l4()
686 key->ip.frag = OVS_FRAG_TYPE_FIRST; in key_extract_l3l4()
/net/sched/
Dact_ct.c117 static int tcf_ct_ipv4_is_fragment(struct sk_buff *skb, bool *frag) in tcf_ct_ipv4_is_fragment() argument
127 *frag = ip_is_fragment(ip_hdr(skb)); in tcf_ct_ipv4_is_fragment()
131 static int tcf_ct_ipv6_is_fragment(struct sk_buff *skb, bool *frag) in tcf_ct_ipv6_is_fragment() argument
147 *frag = flags & IP6_FH_F_FRAG; in tcf_ct_ipv6_is_fragment()
157 bool frag; in tcf_ct_handle_fragments() local
165 err = tcf_ct_ipv4_is_fragment(skb, &frag); in tcf_ct_handle_fragments()
167 err = tcf_ct_ipv6_is_fragment(skb, &frag); in tcf_ct_handle_fragments()
168 if (err || !frag) in tcf_ct_handle_fragments()
/net/wireless/
Dwext-compat.c291 struct iw_param *frag, char *extra) in cfg80211_wext_siwfrag() argument
298 if (frag->disabled || !frag->fixed) in cfg80211_wext_siwfrag()
300 else if (frag->value < 256) in cfg80211_wext_siwfrag()
304 wdev->wiphy->frag_threshold = frag->value & ~0x1; in cfg80211_wext_siwfrag()
317 struct iw_param *frag, char *extra) in cfg80211_wext_giwfrag() argument
321 frag->value = wdev->wiphy->frag_threshold; in cfg80211_wext_giwfrag()
322 frag->disabled = frag->value == (u32) -1; in cfg80211_wext_giwfrag()
323 frag->fixed = 1; in cfg80211_wext_giwfrag()
Dutil.c636 const skb_frag_t *frag = &sh->frags[0]; in __ieee80211_amsdu_copy_frag() local
649 frag_page = skb_frag_page(frag); in __ieee80211_amsdu_copy_frag()
650 frag_ptr = skb_frag_address(frag); in __ieee80211_amsdu_copy_frag()
651 frag_size = skb_frag_size(frag); in __ieee80211_amsdu_copy_frag()
652 frag++; in __ieee80211_amsdu_copy_frag()
664 frag_len = skb_frag_size(frag); in __ieee80211_amsdu_copy_frag()
666 __frame_add_frag(frame, skb_frag_page(frag), in __ieee80211_amsdu_copy_frag()
667 skb_frag_address(frag), cur_len, frag_len); in __ieee80211_amsdu_copy_frag()
669 frag++; in __ieee80211_amsdu_copy_frag()
/net/bluetooth/rfcomm/
Dcore.c556 static int rfcomm_dlc_send_frag(struct rfcomm_dlc *d, struct sk_buff *frag) in rfcomm_dlc_send_frag() argument
558 int len = frag->len; in rfcomm_dlc_send_frag()
565 rfcomm_make_uih(frag, d->addr); in rfcomm_dlc_send_frag()
566 __skb_queue_tail(&d->tx_queue, frag); in rfcomm_dlc_send_frag()
574 struct sk_buff *frag, *next; in rfcomm_dlc_send() local
580 frag = skb_shinfo(skb)->frag_list; in rfcomm_dlc_send()
587 if (len < 0 || !frag) in rfcomm_dlc_send()
590 for (; frag; frag = next) { in rfcomm_dlc_send()
593 next = frag->next; in rfcomm_dlc_send()
595 ret = rfcomm_dlc_send_frag(d, frag); in rfcomm_dlc_send()
[all …]
/net/ipv6/netfilter/
Dnf_conntrack_reasm.c140 struct inet_frag_queue *frag = from_timer(frag, t, timer); in nf_ct_frag6_expire() local
143 fq = container_of(frag, struct frag_queue, q); in nf_ct_frag6_expire()

12