Message ID | 20200527010905.48135-5-dsahern@kernel.org |
---|---|
State | Changes Requested |
Delegated to: | BPF Maintainers |
Headers | show |
Series | bpf: Add support for XDP programs in DEVMAP entries | expand |
David Ahern <dsahern@kernel.org> writes: > Support SEC("xdp_dm*") as a short cut for loading the program with > type BPF_PROG_TYPE_XDP and expected attach type BPF_XDP_DEVMAP. You're not using this in the selftest; shouldn't you be? Also, the prefix should be libbpf: not bpftool:, no? -Toke
On 5/27/20 4:02 AM, Toke Høiland-Jørgensen wrote: > David Ahern <dsahern@kernel.org> writes: > >> Support SEC("xdp_dm*") as a short cut for loading the program with >> type BPF_PROG_TYPE_XDP and expected attach type BPF_XDP_DEVMAP. > > You're not using this in the selftest; shouldn't you be? Also, the > prefix should be libbpf: not bpftool:, no? > The selftest is exercising kernel APIs - what is allowed and what is not. Yes, the subject should be libbpf.
David Ahern <dsahern@gmail.com> writes: > On 5/27/20 4:02 AM, Toke Høiland-Jørgensen wrote: >> David Ahern <dsahern@kernel.org> writes: >> >>> Support SEC("xdp_dm*") as a short cut for loading the program with >>> type BPF_PROG_TYPE_XDP and expected attach type BPF_XDP_DEVMAP. >> >> You're not using this in the selftest; shouldn't you be? Also, the >> prefix should be libbpf: not bpftool:, no? >> > > The selftest is exercising kernel APIs - what is allowed and what is > not. Sure, but they also de facto serve as example code for features that are not documented anywhere else, so just seemed a bit odd to me that you were not using this to mark the programs. Anyway, not going to insist if you prefer explicitly setting expected_attach_type... -Toke
On Wed, 27 May 2020 17:01:10 +0200 Toke Høiland-Jørgensen <toke@redhat.com> wrote: > David Ahern <dsahern@gmail.com> writes: > > > On 5/27/20 4:02 AM, Toke Høiland-Jørgensen wrote: > >> David Ahern <dsahern@kernel.org> writes: > >> > >>> Support SEC("xdp_dm*") as a short cut for loading the program with > >>> type BPF_PROG_TYPE_XDP and expected attach type BPF_XDP_DEVMAP. > >> > >> You're not using this in the selftest; shouldn't you be? Also, the > >> prefix should be libbpf: not bpftool:, no? > >> > > > > The selftest is exercising kernel APIs - what is allowed and what is > > not. > > Sure, but they also de facto serve as example code for features that are > not documented anywhere else, so just seemed a bit odd to me that you > were not using this to mark the programs. > > Anyway, not going to insist if you prefer explicitly setting > expected_attach_type... I actually think that it is better to demonstrate that it is possible to set: attr.expected_attach_type = BPF_XDP_DEVMAP; Because people will be grepping the source code to find examples ;-) We could add a comment, that say SEC("xdp_dm") can be used as short cut.
diff --git a/tools/lib/bpf/libbpf.c b/tools/lib/bpf/libbpf.c index fa04cbe547ed..563827b260e8 100644 --- a/tools/lib/bpf/libbpf.c +++ b/tools/lib/bpf/libbpf.c @@ -6657,6 +6657,8 @@ static const struct bpf_sec_def section_defs[] = { .expected_attach_type = BPF_TRACE_ITER, .is_attach_btf = true, .attach_fn = attach_iter), + BPF_EAPROG_SEC("xdp_dm", BPF_PROG_TYPE_XDP, + BPF_XDP_DEVMAP), BPF_PROG_SEC("xdp", BPF_PROG_TYPE_XDP), BPF_PROG_SEC("perf_event", BPF_PROG_TYPE_PERF_EVENT), BPF_PROG_SEC("lwt_in", BPF_PROG_TYPE_LWT_IN),
Support SEC("xdp_dm*") as a short cut for loading the program with type BPF_PROG_TYPE_XDP and expected attach type BPF_XDP_DEVMAP. Signed-off-by: David Ahern <dsahern@kernel.org> --- tools/lib/bpf/libbpf.c | 2 ++ 1 file changed, 2 insertions(+)