Lines Matching full:headroom
40 /* Amount of XDP headroom to prepend to packets for use by xdp_adjust_head */
426 unsigned int headroom) in mergeable_len_to_ctx() argument
428 return (void *)(unsigned long)((headroom << MRG_CTX_HEADER_SHIFT) | truesize); in mergeable_len_to_ctx()
447 unsigned int headroom) in page_to_skb() argument
465 /* If headroom is not 0, there is an offset between the beginning of the in page_to_skb()
469 * Buffers with headroom use PAGE_SIZE as alloc size, see in page_to_skb()
472 truesize = headroom ? PAGE_SIZE : truesize; in page_to_skb()
473 tailroom = truesize - headroom; in page_to_skb()
474 buf = p - headroom; in page_to_skb()
571 if (unlikely(xdpf->headroom < vi->hdr_len)) in __virtnet_xdp_xmit_one()
574 /* Make room for virtqueue hdr (also change xdpf->headroom?) */ in __virtnet_xdp_xmit_one()
709 * 2) Headroom space is insufficient.
713 * with large buffers with sufficient headroom - so it should affect
718 * have enough headroom.
762 /* Headroom does not contribute to packet length */ in xdp_linearize_page()
782 unsigned int headroom = vi->hdr_len + header_offset; in receive_small() local
783 unsigned int buflen = SKB_DATA_ALIGN(GOOD_PACKET_LEN + headroom) + in receive_small()
825 headroom = vi->hdr_len + header_offset; in receive_small()
826 buflen = SKB_DATA_ALIGN(GOOD_PACKET_LEN + headroom) + in receive_small()
892 skb_reserve(skb, headroom - delta); in receive_small()
953 unsigned int headroom = mergeable_ctx_to_headroom(ctx); in receive_mergeable() local
989 /* Buffers with headroom use PAGE_SIZE as alloc size, in receive_mergeable()
992 frame_sz = headroom ? PAGE_SIZE : truesize; in receive_mergeable()
995 * or headroom is not enough because of the buffer in receive_mergeable()
1001 headroom < virtnet_get_headroom(vi))) { in receive_mergeable()
1016 /* Allow consuming headroom but reserve enough space to push in receive_mergeable()
1044 /* recalculate headroom if xdp.data or xdp_data_meta in receive_mergeable()
1048 * that offset is equal to the headroom (when buf is in receive_mergeable()
1054 * headroom size has changed and so has the offset, we in receive_mergeable()
1056 * vnet hdr size, to calculate the new headroom and use in receive_mergeable()
1059 headroom = xdp.data - xdp.data_hard_start - metasize; in receive_mergeable()
1068 headroom); in receive_mergeable()
1123 metasize, headroom); in receive_mergeable()
1300 * same size, except for the headroom. For this reason we do
1302 * to store the headroom as the context ignoring the truesize.
1400 unsigned int headroom = virtnet_get_headroom(vi); in add_recvbuf_mergeable() local
1401 unsigned int tailroom = headroom ? sizeof(struct skb_shared_info) : 0; in add_recvbuf_mergeable()
1402 unsigned int room = SKB_DATA_ALIGN(headroom + tailroom); in add_recvbuf_mergeable()
1417 buf += headroom; /* advance address leaving hole at front of pkt */ in add_recvbuf_mergeable()
1431 ctx = mergeable_len_to_ctx(len, headroom); in add_recvbuf_mergeable()
3598 unsigned int headroom = virtnet_get_headroom(vi); in mergeable_rx_buffer_size_show() local
3599 unsigned int tailroom = headroom ? sizeof(struct skb_shared_info) : 0; in mergeable_rx_buffer_size_show()
3606 SKB_DATA_ALIGN(headroom + tailroom))); in mergeable_rx_buffer_size_show()