virtio_net: small: remove skip_xdp
Because the skb build code is not shared between xdp and non-xdp, and the xdp code in receive_small() is simpler, so "skip_xdp" is not needed. We can remove it. Signed-off-by: Xuan Zhuo <xuanzhuo@linux.alibaba.com> Acked-by: Jason Wang <jasowang@redhat.com> Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
parent
7af70fc169
commit
aef76506bc
@ -1028,13 +1028,12 @@ static struct sk_buff *receive_small(struct net_device *dev,
|
||||
unsigned int *xdp_xmit,
|
||||
struct virtnet_rq_stats *stats)
|
||||
{
|
||||
struct sk_buff *skb;
|
||||
struct bpf_prog *xdp_prog;
|
||||
unsigned int xdp_headroom = (unsigned long)ctx;
|
||||
struct page *page = virt_to_head_page(buf);
|
||||
unsigned int header_offset;
|
||||
unsigned int headroom;
|
||||
unsigned int buflen;
|
||||
struct sk_buff *skb;
|
||||
|
||||
len -= vi->hdr_len;
|
||||
stats->bytes += len;
|
||||
@ -1046,22 +1045,21 @@ static struct sk_buff *receive_small(struct net_device *dev,
|
||||
goto err;
|
||||
}
|
||||
|
||||
if (likely(!vi->xdp_enabled)) {
|
||||
xdp_prog = NULL;
|
||||
goto skip_xdp;
|
||||
}
|
||||
if (unlikely(vi->xdp_enabled)) {
|
||||
struct bpf_prog *xdp_prog;
|
||||
|
||||
rcu_read_lock();
|
||||
xdp_prog = rcu_dereference(rq->xdp_prog);
|
||||
if (xdp_prog) {
|
||||
skb = receive_small_xdp(dev, vi, rq, xdp_prog, buf, xdp_headroom,
|
||||
len, xdp_xmit, stats);
|
||||
rcu_read_lock();
|
||||
xdp_prog = rcu_dereference(rq->xdp_prog);
|
||||
if (xdp_prog) {
|
||||
skb = receive_small_xdp(dev, vi, rq, xdp_prog, buf,
|
||||
xdp_headroom, len, xdp_xmit,
|
||||
stats);
|
||||
rcu_read_unlock();
|
||||
return skb;
|
||||
}
|
||||
rcu_read_unlock();
|
||||
return skb;
|
||||
}
|
||||
rcu_read_unlock();
|
||||
|
||||
skip_xdp:
|
||||
header_offset = VIRTNET_RX_PAD + xdp_headroom;
|
||||
headroom = vi->hdr_len + header_offset;
|
||||
buflen = SKB_DATA_ALIGN(GOOD_PACKET_LEN + headroom) +
|
||||
|
Loading…
x
Reference in New Issue
Block a user