Lines Matching full:headroom
41 /* Amount of XDP headroom to prepend to packets for use by xdp_adjust_head */
475 unsigned int headroom) in mergeable_len_to_ctx() argument
477 return (void *)(unsigned long)((headroom << MRG_CTX_HEADER_SHIFT) | truesize); in mergeable_len_to_ctx()
493 unsigned int headroom, tailroom, room, truesize; in check_mergeable_len() local
496 headroom = mergeable_ctx_to_headroom(mrg_ctx); in check_mergeable_len()
497 tailroom = headroom ? sizeof(struct skb_shared_info) : 0; in check_mergeable_len()
498 room = SKB_DATA_ALIGN(headroom + tailroom); in check_mergeable_len()
511 unsigned int headroom, in virtnet_build_skb() argument
520 skb_reserve(skb, headroom); in virtnet_build_skb()
531 unsigned int headroom) in page_to_skb() argument
549 buf = p - headroom; in page_to_skb()
553 tailroom = truesize - headroom - hdr_padded_len - len; in page_to_skb()
867 if (unlikely(xdpf->headroom < vi->hdr_len)) in __virtnet_xdp_xmit_one()
879 * xdpf->headroom. Therefore, we need to update the value of in __virtnet_xdp_xmit_one()
880 * headroom synchronously here. in __virtnet_xdp_xmit_one()
882 xdpf->headroom -= vi->hdr_len; in __virtnet_xdp_xmit_one()
1096 * 2) Headroom space is insufficient.
1100 * with large buffers with sufficient headroom - so it should affect
1105 * have enough headroom.
1163 /* Headroom does not contribute to packet length */ in xdp_linearize_page()
1177 unsigned int headroom; in receive_small_build_skb() local
1182 headroom = vi->hdr_len + header_offset; in receive_small_build_skb()
1183 buflen = SKB_DATA_ALIGN(GOOD_PACKET_LEN + headroom) + in receive_small_build_skb()
1186 skb = virtnet_build_skb(buf, buflen, headroom, len); in receive_small_build_skb()
1207 unsigned int headroom = vi->hdr_len + header_offset; in receive_small_xdp() local
1224 buflen = SKB_DATA_ALIGN(GOOD_PACKET_LEN + headroom) + in receive_small_xdp()
1234 headroom = vi->hdr_len + header_offset; in receive_small_xdp()
1235 buflen = SKB_DATA_ALIGN(GOOD_PACKET_LEN + headroom) + in receive_small_xdp()
1397 unsigned int headroom, data_len; in build_skb_from_xdp_buff() local
1414 headroom = xdp->data - xdp->data_hard_start; in build_skb_from_xdp_buff()
1416 skb_reserve(skb, headroom); in build_skb_from_xdp_buff()
1446 unsigned int headroom, tailroom, room; in virtnet_build_xdp_buff_mrg() local
1493 headroom = mergeable_ctx_to_headroom(ctx); in virtnet_build_xdp_buff_mrg()
1494 tailroom = headroom ? sizeof(struct skb_shared_info) : 0; in virtnet_build_xdp_buff_mrg()
1495 room = SKB_DATA_ALIGN(headroom + tailroom); in virtnet_build_xdp_buff_mrg()
1535 unsigned int headroom = mergeable_ctx_to_headroom(ctx); in mergeable_xdp_get_buf() local
1551 * with headroom may add hole in truesize, which in mergeable_xdp_get_buf()
1557 if (likely(headroom >= virtnet_get_headroom(vi) && in mergeable_xdp_get_buf()
1562 /* This happens when headroom is not enough because in mergeable_xdp_get_buf()
1676 unsigned int headroom = mergeable_ctx_to_headroom(ctx); in receive_mergeable() local
1677 unsigned int tailroom = headroom ? sizeof(struct skb_shared_info) : 0; in receive_mergeable()
1678 unsigned int room = SKB_DATA_ALIGN(headroom + tailroom); in receive_mergeable()
1704 head_skb = page_to_skb(vi, rq, page, offset, len, truesize, headroom); in receive_mergeable()
1726 headroom = mergeable_ctx_to_headroom(ctx); in receive_mergeable()
1727 tailroom = headroom ? sizeof(struct skb_shared_info) : 0; in receive_mergeable()
1728 room = SKB_DATA_ALIGN(headroom + tailroom); in receive_mergeable()
1874 * same size, except for the headroom. For this reason we do
1876 * to store the headroom as the context ignoring the truesize.
1981 unsigned int headroom = virtnet_get_headroom(vi); in add_recvbuf_mergeable() local
1982 unsigned int tailroom = headroom ? sizeof(struct skb_shared_info) : 0; in add_recvbuf_mergeable()
1983 unsigned int room = SKB_DATA_ALIGN(headroom + tailroom); in add_recvbuf_mergeable()
2005 buf += headroom; /* advance address leaving hole at front of pkt */ in add_recvbuf_mergeable()
2014 if (!headroom) in add_recvbuf_mergeable()
2021 ctx = mergeable_len_to_ctx(len + room, headroom); in add_recvbuf_mergeable()
4333 unsigned int headroom = virtnet_get_headroom(vi); in mergeable_rx_buffer_size_show() local
4334 unsigned int tailroom = headroom ? sizeof(struct skb_shared_info) : 0; in mergeable_rx_buffer_size_show()
4341 SKB_DATA_ALIGN(headroom + tailroom))); in mergeable_rx_buffer_size_show()