mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-10-03 23:58:05 +00:00
virtio_net: merge: remove skip_xdp
Now, the logic of merge xdp process is simple, we can remove the skip_xdp. 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
d8f2835a47
commit
59ba3b1a88
1 changed files with 10 additions and 13 deletions
|
@ -1382,7 +1382,6 @@ static struct sk_buff *receive_mergeable(struct net_device *dev,
|
|||
struct page *page = virt_to_head_page(buf);
|
||||
int offset = buf - page_address(page);
|
||||
struct sk_buff *head_skb, *curr_skb;
|
||||
struct bpf_prog *xdp_prog;
|
||||
unsigned int truesize = mergeable_ctx_to_truesize(ctx);
|
||||
unsigned int headroom = mergeable_ctx_to_headroom(ctx);
|
||||
unsigned int tailroom = headroom ? sizeof(struct skb_shared_info) : 0;
|
||||
|
@ -1398,22 +1397,20 @@ static struct sk_buff *receive_mergeable(struct net_device *dev,
|
|||
goto err_skb;
|
||||
}
|
||||
|
||||
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) {
|
||||
head_skb = receive_mergeable_xdp(dev, vi, rq, xdp_prog, buf, ctx,
|
||||
len, xdp_xmit, stats);
|
||||
rcu_read_lock();
|
||||
xdp_prog = rcu_dereference(rq->xdp_prog);
|
||||
if (xdp_prog) {
|
||||
head_skb = receive_mergeable_xdp(dev, vi, rq, xdp_prog, buf, ctx,
|
||||
len, xdp_xmit, stats);
|
||||
rcu_read_unlock();
|
||||
return head_skb;
|
||||
}
|
||||
rcu_read_unlock();
|
||||
return head_skb;
|
||||
}
|
||||
rcu_read_unlock();
|
||||
|
||||
skip_xdp:
|
||||
head_skb = page_to_skb(vi, rq, page, offset, len, truesize, headroom);
|
||||
curr_skb = head_skb;
|
||||
|
||||
|
|
Loading…
Reference in a new issue