Commit fc8ce84b authored by Xuan Zhuo's avatar Xuan Zhuo Committed by Jakub Kicinski

virtio_net: small: remove the delta

In the case of XDP-PASS, skb_reserve uses the "delta" to compatible
non-XDP, now that is not shared between xdp and non-xdp, so we can
remove this logic.
Signed-off-by: default avatarXuan Zhuo <xuanzhuo@linux.alibaba.com>
Acked-by: default avatarJason Wang <jasowang@redhat.com>
Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
parent c5f3e72f
......@@ -949,9 +949,7 @@ static struct sk_buff *receive_small_xdp(struct net_device *dev,
unsigned int buflen;
struct xdp_buff xdp;
struct sk_buff *skb;
unsigned int delta = 0;
unsigned int metasize = 0;
void *orig_data;
u32 act;
if (unlikely(hdr->hdr.gso_type))
......@@ -984,14 +982,12 @@ static struct sk_buff *receive_small_xdp(struct net_device *dev,
xdp_init_buff(&xdp, buflen, &rq->xdp_rxq);
xdp_prepare_buff(&xdp, buf + VIRTNET_RX_PAD + vi->hdr_len,
xdp_headroom, len, true);
orig_data = xdp.data;
act = virtnet_xdp_handler(xdp_prog, &xdp, dev, xdp_xmit, stats);
switch (act) {
case XDP_PASS:
/* Recalculate length in case bpf program changed it */
delta = orig_data - xdp.data;
len = xdp.data_end - xdp.data;
metasize = xdp.data - xdp.data_meta;
break;
......@@ -1008,7 +1004,7 @@ static struct sk_buff *receive_small_xdp(struct net_device *dev,
if (!skb)
goto err;
skb_reserve(skb, headroom - delta);
skb_reserve(skb, xdp.data - buf);
skb_put(skb, len);
if (metasize)
skb_metadata_set(skb, metasize);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment