virtio_net: implement flush flag for ndo_xdp_xmit
When passed the XDP_XMIT_FLUSH flag virtnet_xdp_xmit now performs the same virtqueue_kick as virtnet_xdp_flush. Signed-off-by: Jesper Dangaard Brouer <brouer@redhat.com> Acked-by: Song Liu <songliubraving@fb.com> Signed-off-by: Alexei Starovoitov <ast@kernel.org>
This commit is contained in:
Родитель
0c9d917b7d
Коммит
5d274cb4bb
|
@ -481,7 +481,7 @@ static int virtnet_xdp_xmit(struct net_device *dev,
|
|||
int err;
|
||||
int i;
|
||||
|
||||
if (unlikely(flags & ~XDP_XMIT_FLAGS_NONE))
|
||||
if (unlikely(flags & ~XDP_XMIT_FLAGS_MASK))
|
||||
return -EINVAL;
|
||||
|
||||
qp = vi->curr_queue_pairs - vi->xdp_queue_pairs + smp_processor_id();
|
||||
|
@ -507,6 +507,10 @@ static int virtnet_xdp_xmit(struct net_device *dev,
|
|||
drops++;
|
||||
}
|
||||
}
|
||||
|
||||
if (flags & XDP_XMIT_FLUSH)
|
||||
virtqueue_kick(sq->vq);
|
||||
|
||||
return n - drops;
|
||||
}
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче