Lines Matching refs:frag

271 #define NET_FRAG_CHECK_IF_NOT_IN_USE(frag, ref)				\  argument
275 frag, __FILE__, __func__, __LINE__); \
312 struct net_buf *frag; in net_pkt_print_frags() local
325 frag = pkt->frags; in net_pkt_print_frags()
326 while (frag) { in net_pkt_print_frags()
327 total += frag->len; in net_pkt_print_frags()
329 frag_size = net_buf_max_len(frag); in net_pkt_print_frags()
332 count, frag, frag->len, frag->size, in net_pkt_print_frags()
333 frag_size, net_buf_pool_get(frag->pool_id)); in net_pkt_print_frags()
337 frag = frag->frags; in net_pkt_print_frags()
387 struct net_buf *frag; in net_pkt_get_reserve_data_debug() local
399 frag = net_buf_alloc(pool, timeout); in net_pkt_get_reserve_data_debug()
401 frag = net_buf_alloc_len(pool, min_len, timeout); in net_pkt_get_reserve_data_debug()
404 if (!frag) { in net_pkt_get_reserve_data_debug()
409 NET_FRAG_CHECK_IF_NOT_IN_USE(frag, frag->ref + 1U); in net_pkt_get_reserve_data_debug()
412 net_pkt_alloc_add(frag, false, caller, line); in net_pkt_get_reserve_data_debug()
417 frag, frag->ref, caller, line); in net_pkt_get_reserve_data_debug()
420 return frag; in net_pkt_get_reserve_data_debug()
521 struct net_buf *frag; local
567 frag = pkt->frags;
568 while (frag) {
571 pool2str(net_buf_pool_get(frag->pool_id)),
572 get_name(net_buf_pool_get(frag->pool_id)),
573 get_frees(net_buf_pool_get(frag->pool_id)), frag,
574 frag->ref - 1U, frag->frags, caller, line);
577 if (!frag->ref) {
581 if (net_pkt_alloc_find(frag,
585 frag, func_freed, line_freed,
590 frag, caller, line);
594 net_pkt_alloc_del(frag, caller, line);
596 frag = frag->frags;
650 struct net_buf *net_pkt_frag_ref_debug(struct net_buf *frag, argument
653 struct net_buf *net_pkt_frag_ref(struct net_buf *frag)
656 if (!frag) {
658 NET_ERR("*** ERROR *** frag %p (%s():%d)", frag, caller, line);
665 pool2str(net_buf_pool_get(frag->pool_id)),
666 get_name(net_buf_pool_get(frag->pool_id)),
667 get_frees(net_buf_pool_get(frag->pool_id)),
668 frag, frag->ref + 1U, caller, line);
671 return net_buf_ref(frag);
676 void net_pkt_frag_unref_debug(struct net_buf *frag, argument
679 void net_pkt_frag_unref(struct net_buf *frag)
682 if (!frag) {
684 NET_ERR("*** ERROR *** frag %p (%s():%d)", frag, caller, line);
691 pool2str(net_buf_pool_get(frag->pool_id)),
692 get_name(net_buf_pool_get(frag->pool_id)),
693 get_frees(net_buf_pool_get(frag->pool_id)),
694 frag, frag->ref - 1U, caller, line);
697 if (frag->ref == 1U) {
698 net_pkt_alloc_del(frag, caller, line);
701 net_buf_unref(frag);
707 struct net_buf *frag, argument
712 struct net_buf *frag)
717 pkt, parent, frag, frag->ref, caller, line);
720 if (pkt->frags == frag && !parent) {
723 if (frag->ref == 1U) {
724 net_pkt_alloc_del(frag, caller, line);
727 tmp = net_buf_frag_del(NULL, frag);
733 if (frag->ref == 1U) {
734 net_pkt_alloc_del(frag, caller, line);
737 return net_buf_frag_del(parent, frag);
741 void net_pkt_frag_add_debug(struct net_pkt *pkt, struct net_buf *frag, argument
744 void net_pkt_frag_add(struct net_pkt *pkt, struct net_buf *frag)
748 NET_DBG("pkt %p frag %p (%s:%d)", pkt, frag, caller, line);
755 pkt->frags = frag;
759 net_buf_frag_insert(net_buf_frag_last(pkt->frags), frag);
763 void net_pkt_frag_insert_debug(struct net_pkt *pkt, struct net_buf *frag, argument
766 void net_pkt_frag_insert(struct net_pkt *pkt, struct net_buf *frag)
770 NET_DBG("pkt %p frag %p (%s:%d)", pkt, frag, caller, line);
773 net_buf_frag_last(frag)->frags = pkt->frags;
774 pkt->frags = frag;
779 struct net_buf *frag, *prev; local
783 frag = pkt->frags;
786 while (frag) {
787 if (frag->frags) {
793 copy_len = frag->frags->len;
794 if (copy_len > net_buf_tailroom(frag)) {
795 copy_len = net_buf_tailroom(frag);
798 memcpy(net_buf_tail(frag), frag->frags->data, copy_len);
799 net_buf_add(frag, copy_len);
801 memmove(frag->frags->data,
802 frag->frags->data + copy_len,
803 frag->frags->len - copy_len);
805 frag->frags->len -= copy_len;
808 if (net_buf_tailroom(frag)) {
814 net_pkt_frag_del(pkt, frag, frag->frags);
820 if (!frag->len) {
824 net_pkt_frag_del(pkt, prev, frag);
830 prev = frag;
831 frag = frag->frags;