On Fri, Mar 31, 2023 at 03:20:35PM +0800, Xuan Zhuo wrote: > On Thu, 30 Mar 2023 12:48:22 +0200, Paolo Abeni <pabeni@xxxxxxxxxx> wrote: > > 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? > > > That is a mistake. > > Will fix. > > Thanks. Do try to test small and big packet configurations though, too. > > > > Thanks. > > > > Paolo > > _______________________________________________ Virtualization mailing list Virtualization@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linuxfoundation.org/mailman/listinfo/virtualization