projects
/
linux-block.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
66c0e13
)
xsk: add usage of XDP features flags
author
Marek Majtyka
<alardam@gmail.com>
Wed, 1 Feb 2023 10:24:19 +0000
(11:24 +0100)
committer
Alexei Starovoitov
<ast@kernel.org>
Fri, 3 Feb 2023 04:48:23 +0000
(20:48 -0800)
Change necessary condition check for XSK from ndo functions to
xdp features flags.
Signed-off-by: Marek Majtyka <alardam@gmail.com>
Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
Link:
https://lore.kernel.org/r/45a98ec67b4556a6a22dfd85df3eb8276beeeb74.1675245258.git.lorenzo@kernel.org
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
net/xdp/xsk_buff_pool.c
patch
|
blob
|
blame
|
history
diff --git
a/net/xdp/xsk_buff_pool.c
b/net/xdp/xsk_buff_pool.c
index ed6c71826d31f9212cc1ca3eb65afa58e69e4759..b2df1e0f81538aa87cd5ee755307e6f7bf6a8a48 100644
(file)
--- a/
net/xdp/xsk_buff_pool.c
+++ b/
net/xdp/xsk_buff_pool.c
@@
-140,6
+140,10
@@
static void xp_disable_drv_zc(struct xsk_buff_pool *pool)
}
}
+#define NETDEV_XDP_ACT_ZC (NETDEV_XDP_ACT_BASIC | \
+ NETDEV_XDP_ACT_REDIRECT | \
+ NETDEV_XDP_ACT_XSK_ZEROCOPY)
+
int xp_assign_dev(struct xsk_buff_pool *pool,
struct net_device *netdev, u16 queue_id, u16 flags)
{
@@
-178,8
+182,7
@@
int xp_assign_dev(struct xsk_buff_pool *pool,
/* For copy-mode, we are done. */
return 0;
- if (!netdev->netdev_ops->ndo_bpf ||
- !netdev->netdev_ops->ndo_xsk_wakeup) {
+ if ((netdev->xdp_features & NETDEV_XDP_ACT_ZC) != NETDEV_XDP_ACT_ZC) {
err = -EOPNOTSUPP;
goto err_unreg_pool;
}