On Wed, 7 Nov 2018 20:08:53 +0000, Quentin Monnet wrote: > > + err = bpf_obj_pin(bpf_program__fd(prog), pinfile); > > + if (err) { > > + p_err("failed to pin program %s", > > + bpf_program__title(prog, false)); > > + goto err_close_obj; > > + } > > I don't have the same opinion as Jakub for pinning :). I was hoping we > could also load additional programs (for tail calls) for > non-flow_dissector programs. Could this be an occasion to update the > code in that direction? Do you mean having the bpftool construct an array for tail calling automatically when loading an object? Or do a "mass pin" of all programs in an object file? I'm not convinced about this strategy of auto assembling a tail call array by assuming that a flow dissector object carries programs for protocols in order (apart from the main program which doesn't have to be first, for some reason).