From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jakub Kicinski Subject: Re: [PATCH bpf-next 2/2] bpftool: support loading flow dissector Date: Wed, 7 Nov 2018 12:32:31 -0800 Message-ID: <20181107123231.6d2f4782@cakuba.netronome.com> References: <20181107193552.77894-1-sdf@google.com> <20181107193552.77894-3-sdf@google.com> <484ea7f5-0d4c-b828-c5fe-1fd4d9bf847d@netronome.com> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Cc: Stanislav Fomichev , netdev@vger.kernel.org, linux-kselftest@vger.kernel.org, ast@kernel.org, daniel@iogearbox.net, shuah@kernel.org, guro@fb.com, jiong.wang@netronome.com, bhole_prashant_q7@lab.ntt.co.jp, john.fastabend@gmail.com, jbenc@redhat.com, treeze.taeung@gmail.com, yhs@fb.com, osk@fb.com, sandipan@linux.vnet.ibm.com To: Quentin Monnet Return-path: Received: from mail-pf1-f193.google.com ([209.85.210.193]:40323 "EHLO mail-pf1-f193.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725945AbeKHGEh (ORCPT ); Thu, 8 Nov 2018 01:04:37 -0500 Received: by mail-pf1-f193.google.com with SMTP id x2-v6so4110602pfm.7 for ; Wed, 07 Nov 2018 12:32:36 -0800 (PST) In-Reply-To: <484ea7f5-0d4c-b828-c5fe-1fd4d9bf847d@netronome.com> Sender: netdev-owner@vger.kernel.org List-ID: 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).