xsk: replace ndo_xsk_async_xmit with ndo_xsk_wakeup
This commit replaces ndo_xsk_async_xmit with ndo_xsk_wakeup. This new ndo provides the same functionality as before but with the addition of a new flags field that is used to specifiy if Rx, Tx or both should be woken up. The previous ndo only woke up Tx, as implied by the name. The i40e and ixgbe drivers (which are all the supported ones) are updated with this new interface. This new ndo will be used by the new need_wakeup functionality of XDP sockets that need to be able to wake up both Rx and Tx driver processing. Signed-off-by: Magnus Karlsson <magnus.karlsson@intel.com> Acked-by: Jonathan Lemon <jonathan.lemon@gmail.com> Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
This commit is contained in:

committed by
Daniel Borkmann

parent
e03250061b
commit
9116e5e2b1
@@ -112,8 +112,7 @@ int xdp_umem_assign_dev(struct xdp_umem *umem, struct net_device *dev,
|
||||
/* For copy-mode, we are done. */
|
||||
return 0;
|
||||
|
||||
if (!dev->netdev_ops->ndo_bpf ||
|
||||
!dev->netdev_ops->ndo_xsk_async_xmit) {
|
||||
if (!dev->netdev_ops->ndo_bpf || !dev->netdev_ops->ndo_xsk_wakeup) {
|
||||
err = -EOPNOTSUPP;
|
||||
goto err_unreg_umem;
|
||||
}
|
||||
|
@@ -212,7 +212,8 @@ static int xsk_zc_xmit(struct sock *sk)
|
||||
struct xdp_sock *xs = xdp_sk(sk);
|
||||
struct net_device *dev = xs->dev;
|
||||
|
||||
return dev->netdev_ops->ndo_xsk_async_xmit(dev, xs->queue_id);
|
||||
return dev->netdev_ops->ndo_xsk_wakeup(dev, xs->queue_id,
|
||||
XDP_WAKEUP_TX);
|
||||
}
|
||||
|
||||
static void xsk_destruct_skb(struct sk_buff *skb)
|
||||
|
Reference in New Issue
Block a user