summaryrefslogtreecommitdiff
path: root/kernel/bpf
diff options
context:
space:
mode:
authorMartin KaFai Lau <martin.lau@kernel.org>2023-09-15 09:18:10 -0700
committerMartin KaFai Lau <martin.lau@kernel.org>2023-09-15 11:26:58 -0700
commit45ee73a0722b9e1d0b7a524d06756291b13b5912 (patch)
treee7289b549a2a43c1ccae951f99284042f14cb57a /kernel/bpf
parentd609f3d228a8efe991f44f11f24146e2a5209755 (diff)
parent0c6c9b105ee90d7415dc796bcf632147b3d267ce (diff)
downloadlinux-next-45ee73a0722b9e1d0b7a524d06756291b13b5912.tar.gz
linux-next-45ee73a0722b9e1d0b7a524d06756291b13b5912.zip
Merge branch 'bpf: expose information about netdev xdp-metadata kfunc support'
Stanislav Fomichev says: ==================== Extend netdev netlink family to expose the bitmask with the kfuncs that the device implements. The source of truth is the device's xdp_metadata_ops. There is some amount of auto-generated netlink boilerplate; the change itself is super minimal. v2: - add netdev->xdp_metadata_ops NULL check when dumping to netlink (Martin) Cc: netdev@vger.kernel.org Cc: Willem de Bruijn <willemb@google.com> ==================== Signed-off-by: Martin KaFai Lau <martin.lau@kernel.org>
Diffstat (limited to 'kernel/bpf')
-rw-r--r--kernel/bpf/offload.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/kernel/bpf/offload.c b/kernel/bpf/offload.c
index 3e4f2ec1af06..e7a1752b5a09 100644
--- a/kernel/bpf/offload.c
+++ b/kernel/bpf/offload.c
@@ -845,10 +845,11 @@ void *bpf_dev_bound_resolve_kfunc(struct bpf_prog *prog, u32 func_id)
if (!ops)
goto out;
- if (func_id == bpf_xdp_metadata_kfunc_id(XDP_METADATA_KFUNC_RX_TIMESTAMP))
- p = ops->xmo_rx_timestamp;
- else if (func_id == bpf_xdp_metadata_kfunc_id(XDP_METADATA_KFUNC_RX_HASH))
- p = ops->xmo_rx_hash;
+#define XDP_METADATA_KFUNC(name, _, __, xmo) \
+ if (func_id == bpf_xdp_metadata_kfunc_id(name)) p = ops->xmo;
+ XDP_METADATA_KFUNC_xxx
+#undef XDP_METADATA_KFUNC
+
out:
up_read(&bpf_devs_lock);