• Andrii Nakryiko's avatar
    tools/bpftool: Minimize bootstrap bpftool · 16e9b187
    Andrii Nakryiko authored
    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: default avatarAndrii Nakryiko <andriin@fb.com>
    Signed-off-by: default avatarAlexei Starovoitov <ast@kernel.org>
    Reviewed-by: default avatarQuentin Monnet <quentin@isovalent.com>
    Link: https://lore.kernel.org/bpf/20200619231703.738941-6-andriin@fb.com
    16e9b187
main.h 9.33 KB