From mboxrd@z Thu Jan 1 00:00:00 1970 From: John Fastabend Subject: [RFC PATCH 16/16] bpf: tools: dbg patch to turn on debugging and add primitive examples Date: Fri, 01 Jun 2018 02:33:39 -0700 Message-ID: <20180601093339.15353.45366.stgit@john-Precision-Tower-5810> References: <20180601092646.15353.28269.stgit@john-Precision-Tower-5810> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Cc: netdev@vger.kernel.org To: alexei.starovoitov@gmail.com, daniel@iogearbox.net, davem@davemloft.net Return-path: Received: from [184.63.162.180] ([184.63.162.180]:35822 "EHLO john-Precision-Tower-5810" rhost-flags-FAIL-FAIL-OK-FAIL) by vger.kernel.org with ESMTP id S1751827AbeFAJdn (ORCPT ); Fri, 1 Jun 2018 05:33:43 -0400 In-Reply-To: <20180601092646.15353.28269.stgit@john-Precision-Tower-5810> Sender: netdev-owner@vger.kernel.org List-ID: While developing this I found it useful to always have the log output when dealing with bpftool. This is a quick hack to enable it but we should add a '-v' option shortly. Then add a set of good and bad loop examples to test with. These are all very basic at the moment but will get better soon. Signed-off-by: John Fastabend --- tools/lib/bpf/bpf.c | 2 +- tools/lib/bpf/libbpf.c | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/tools/lib/bpf/bpf.c b/tools/lib/bpf/bpf.c index 9ddc89d..b1d2199 100644 --- a/tools/lib/bpf/bpf.c +++ b/tools/lib/bpf/bpf.c @@ -200,7 +200,7 @@ int bpf_load_program_xattr(const struct bpf_load_program_attr *load_attr, attr.license = ptr_to_u64(load_attr->license); attr.log_buf = ptr_to_u64(NULL); attr.log_size = 0; - attr.log_level = 0; + attr.log_level = 1; attr.kern_version = load_attr->kern_version; attr.prog_ifindex = load_attr->prog_ifindex; memcpy(attr.prog_name, load_attr->name, diff --git a/tools/lib/bpf/libbpf.c b/tools/lib/bpf/libbpf.c index b1a60ac..34ff173 100644 --- a/tools/lib/bpf/libbpf.c +++ b/tools/lib/bpf/libbpf.c @@ -1304,6 +1304,13 @@ static int bpf_object__collect_reloc(struct bpf_object *obj) if (ret >= 0) { *pfd = ret; ret = 0; + + pr_warning("load bpf program succesful\n"); + if (log_buf && log_buf[0] != '\0') { + pr_warning("-- BEGIN DUMP LOG ---\n"); + pr_warning("\n%s\n", log_buf); + pr_warning("-- END LOG --\n"); + } goto out; }