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
Virtualization@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/virtualization

Reply via email to