Paolo Abeni
2023-Mar-30 10:48 UTC
[PATCH net-next 8/8] virtio_net: introduce receive_small_xdp()
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
Xuan Zhuo
2023-Mar-31 07:20 UTC
[PATCH net-next 8/8] virtio_net: introduce receive_small_xdp()
On Thu, 30 Mar 2023 12:48:22 +0200, Paolo Abeni <pabeni at redhat.com> 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.> > Thanks. > > Paolo >
Seemingly Similar Threads
- [PATCH net-next 4/5] virtio-net: do not reset during XDP set
- [PATCH net-next 4/5] virtio-net: do not reset during XDP set
- [PATCH net-next 0/8] virtio_net: refactor xdp codes
- [PATCH net-next 0/8] virtio_net: refactor xdp codes
- [RFC net-next 0/8] virtio_net: refactor xdp codes