On Wed, Feb 12, 2020 at 5:05 AM Toke Høiland-Jørgensen <toke@xxxxxxxxxx> wrote: > > Eelco Chaudron <echaudro@xxxxxxxxxx> writes: > > > Currently when you want to attach a trace program to a bpf program > > the section name needs to match the tracepoint/function semantics. > > > > However the addition of the bpf_program__set_attach_target() API > > allows you to specify the tracepoint/function dynamically. > > > > The call flow would look something like this: > > > > xdp_fd = bpf_prog_get_fd_by_id(id); > > trace_obj = bpf_object__open_file("func.o", NULL); > > prog = bpf_object__find_program_by_title(trace_obj, > > "fentry/myfunc"); > > bpf_program__set_attach_target(prog, xdp_fd, > > "fentry/xdpfilt_blk_all"); > > I think it would be better to have the attach type as a separate arg > instead of encoding it in the function name. I.e., rather: > > bpf_program__set_attach_target(prog, xdp_fd, > "xdpfilt_blk_all", BPF_TRACE_FENTRY); I agree about not specifying section name prefix (e.g., fentry/). But disagree that expected attach type (BPF_TRACE_FENTRY) should be part of this API. We already have bpf_program__set_expected_attach_type() API, no need to duplicate it here. > > -Toke >