On Tue, 2023-03-28 at 20:04 +0800, Xuan Zhuo wrote:
> @@ -949,15 +1042,11 @@ static struct sk_buff *receive_small(struct net_device
> *dev,
> {
> struct sk_buff *skb;
> struct bpf_prog *xdp_prog;
> - unsigned int xdp_headroom = (unsigned long)ctx;
> - unsigned int header_offset = VIRTNET_RX_PAD + xdp_headroom;
> + unsigned int header_offset = VIRTNET_RX_PAD;
> unsigned int headroom = vi->hdr_len + header_offset;
This changes (reduces) the headroom for non-xpd-pass skbs.
[...]
> + buf += header_offset;
> + memcpy(skb_vnet_hdr(skb), buf, vi->hdr_len);
AFAICS, that also means that receive_small(), for such packets, will
look for the virtio header in a different location. Is that expected?
Thanks.
Paolo
_______________________________________________
Virtualization mailing list
[email protected]
https://lists.linuxfoundation.org/mailman/listinfo/virtualization