diff options
| author | Alexei Starovoitov <ast@kernel.org> | 2018-11-10 15:39:54 -0800 |
|---|---|---|
| committer | Alexei Starovoitov <ast@kernel.org> | 2018-11-10 15:39:55 -0800 |
| commit | 0157edc859afa96af5eefb306dde3b5fa6eddcf0 (patch) | |
| tree | 76ea924a47f2bb58bb2caf5d5ae5464b7dbbab55 /include/linux/netdevice.h | |
| parent | c8123ead13a5c92dc5fd15c0fdfe88eef41e6ac1 (diff) | |
| parent | 16a8cb5cffd0a2929ae97bc258d2d9c92a4e7f6d (diff) | |
Merge branch 'device-ops-as-cb'
Quentin Monnet says:
====================
For passing device functions for offloaded eBPF programs, there used to
be no place where to store the pointer without making the non-offloaded
programs pay a memory price.
As a consequence, three functions were called with ndo_bpf() through
specific commands. Now that we have struct bpf_offload_dev, and since none
of those operations rely on RTNL, we can turn these three commands into
hooks inside the struct bpf_prog_offload_ops, and pass them as part of
bpf_offload_dev_create().
This patch set changes the offload architecture to do so, and brings the
relevant changes to the nfp and netdevsim drivers.
====================
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Diffstat (limited to 'include/linux/netdevice.h')
| -rw-r--r-- | include/linux/netdevice.h | 12 |
1 files changed, 0 insertions, 12 deletions
diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h index 857f8abf7b91..17d52a647fe5 100644 --- a/include/linux/netdevice.h +++ b/include/linux/netdevice.h @@ -863,9 +863,6 @@ enum bpf_netdev_command { XDP_QUERY_PROG, XDP_QUERY_PROG_HW, /* BPF program for offload callbacks, invoked at program load time. */ - BPF_OFFLOAD_VERIFIER_PREP, - BPF_OFFLOAD_TRANSLATE, - BPF_OFFLOAD_DESTROY, BPF_OFFLOAD_MAP_ALLOC, BPF_OFFLOAD_MAP_FREE, XDP_QUERY_XSK_UMEM, @@ -891,15 +888,6 @@ struct netdev_bpf { /* flags with which program was installed */ u32 prog_flags; }; - /* BPF_OFFLOAD_VERIFIER_PREP */ - struct { - struct bpf_prog *prog; - const struct bpf_prog_offload_ops *ops; /* callee set */ - } verifier; - /* BPF_OFFLOAD_TRANSLATE, BPF_OFFLOAD_DESTROY */ - struct { - struct bpf_prog *prog; - } offload; /* BPF_OFFLOAD_MAP_ALLOC, BPF_OFFLOAD_MAP_FREE */ struct { struct bpf_offloaded_map *offmap; |
