2018-12-15 00:56 UTC+0100 ~ Daniel Borkmann <dan...@iogearbox.net> > On 12/13/2018 01:19 PM, Quentin Monnet wrote: >> Add probes to dump a number of options set (or not set) for compiling >> the kernel image. These parameters provide information about what BPF >> components should be available on the system. A number of them are not >> directly related to eBPF, but are in fact used in the kernel as >> conditions on which to compile, or not to compile, some of the eBPF >> helper functions. >> >> Sample output: >> >> # bpftool feature probe kernel >> Scanning system configuration... >> ... >> CONFIG_BPF is set to y >> CONFIG_BPF_SYSCALL is set to y >> CONFIG_HAVE_EBPF_JIT is set to y >> ... >> >> # bpftool --pretty --json feature probe kernel >> { >> "system_config": { >> ... >> "CONFIG_BPF": "y", >> "CONFIG_BPF_SYSCALL": "y", >> "CONFIG_HAVE_EBPF_JIT": "y", >> ... >> } >> } >> >> # bpftool feature probe kernel macros prefix BPFTOOL_ >> /*** System configuration ***/ >> ... >> #define BPFTOOL_CONFIG_BPF y >> #define BPFTOOL_CONFIG_BPF_SYSCALL y >> #define BPFTOOL_CONFIG_HAVE_EBPF_JIT y >> ... > > Looks reasonable. I think as a user next question that would > follow-up from it would be whether this set of config means > that e.g. requirements for XDP, cgroups bpf, tracing or xyz is > fulfilled. Perhaps it makes sense to split the options[] into > base_options[], bpf_trace_options[], bpf_tc_options[] etc such > that it might become obvious that base_options[] + bpf_tc_options[] > are supported and thus cls_bpf could be used. I'd see this part > here in general more as giving a hint to the user in that some > basic assumptions could be made and providing some info on the > misc ones on what might potentially be missing. Though more > concrete info would come from the actual helper / map / prog > type probing.
Good idea. I admit that the list of options dumped with no explanations whatsoever is hard to interpret. I'll try to divide the list into meaningful subsections.