linux/tools/bpf/bpftool
Andrii Nakryiko 16e9b187ab tools/bpftool: Minimize bootstrap bpftool
Build minimal "bootstrap mode" bpftool to enable skeleton (and, later,
vmlinux.h generation), instead of building almost complete, but slightly
different (w/o skeletons, etc) bpftool to bootstrap complete bpftool build.

Current approach doesn't scale well (engineering-wise) when adding more BPF
programs to bpftool and other complicated functionality, as it requires
constant adjusting of the code to work in both bootstrapped mode and normal
mode.

So it's better to build only minimal bpftool version that supports only BPF
skeleton code generation and BTF-to-C conversion. Thankfully, this is quite
easy to accomplish due to internal modularity of bpftool commands. This will
also allow to keep adding new functionality to bpftool in general, without the
need to care about bootstrap mode for those new parts of bpftool.

Signed-off-by: Andrii Nakryiko <andriin@fb.com>
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Reviewed-by: Quentin Monnet <quentin@isovalent.com>
Link: https://lore.kernel.org/bpf/20200619231703.738941-6-andriin@fb.com
2020-06-22 17:01:48 -07:00
..
bash-completion bpf, bpftool: Enable get{peer, sock}name attach types 2020-05-19 11:32:04 -07:00
Documentation bpf, bpftool: Enable get{peer, sock}name attach types 2020-05-19 11:32:04 -07:00
skeleton tools/bpftool: Relicense bpftool's BPF profiler prog as dual-license GPL/BSD 2020-06-20 00:27:19 +02:00
.gitignore tools/bpftool: Minimize bootstrap bpftool 2020-06-22 17:01:48 -07:00
btf.c tools, bpftool: Print correct error message when failing to load BTF 2020-06-01 14:38:19 -07:00
btf_dumper.c tools, bpftool: Poison and replace kernel integer typedefs 2020-05-11 21:20:46 +02:00
cfg.c tools, bpftool: Poison and replace kernel integer typedefs 2020-05-11 21:20:46 +02:00
cfg.h tools: bpftool: replace Netronome boilerplate with SPDX license headers 2018-12-13 12:08:44 +01:00
cgroup.c tools, bpftool: Clean subcommand help messages 2020-06-01 14:38:18 -07:00
common.c tools/bpftool: Move map/prog parsing logic into common 2020-06-22 17:01:48 -07:00
feature.c tools, bpftool: Make capability check account for new BPF caps 2020-06-01 14:38:19 -07:00
gen.c tools/bpftool: Fix skeleton codegen 2020-06-12 15:25:04 -07:00
iter.c tools, bpftool: Clean subcommand help messages 2020-06-01 14:38:18 -07:00
jit_disasm.c tools/bpf/bpftool: Remove duplicate headers 2020-04-26 08:40:01 -07:00
json_writer.c tools: bpftool: move "__printf()" attributes to header file 2019-08-15 22:06:46 -07:00
json_writer.h tools: bpftool: move "__printf()" attributes to header file 2019-08-15 22:06:46 -07:00
link.c bpftool: Support link show for netns-attached links 2020-06-01 15:21:03 -07:00
main.c tools/bpftool: Minimize bootstrap bpftool 2020-06-22 17:01:48 -07:00
main.h tools/bpftool: Minimize bootstrap bpftool 2020-06-22 17:01:48 -07:00
Makefile tools/bpftool: Minimize bootstrap bpftool 2020-06-22 17:01:48 -07:00
map.c tools/bpftool: Move map/prog parsing logic into common 2020-06-22 17:01:48 -07:00
map_perf_ring.c tools, bpftool: Poison and replace kernel integer typedefs 2020-05-11 21:20:46 +02:00
net.c tools, bpftool: Clean subcommand help messages 2020-06-01 14:38:18 -07:00
netlink_dumper.c bpftool: Use consistent include paths for libbpf 2020-01-20 16:37:45 -08:00
netlink_dumper.h tools: bpftool: dual license all files 2018-12-13 12:08:44 +01:00
perf.c tools, bpftool: Clean subcommand help messages 2020-06-01 14:38:18 -07:00
prog.c tools/bpftool: Move map/prog parsing logic into common 2020-06-22 17:01:48 -07:00
struct_ops.c tools, bpftool: Clean subcommand help messages 2020-06-01 14:38:18 -07:00
tracelog.c tools: bpftool: add an option to prevent auto-mount of bpffs, tracefs 2018-12-18 14:47:17 +01:00
xlated_dumper.c bpftool: Use consistent include paths for libbpf 2020-01-20 16:37:45 -08:00
xlated_dumper.h tools: bpftool: replace Netronome boilerplate with SPDX license headers 2018-12-13 12:08:44 +01:00