mirror of
https://github.com/netdata/libbpf.git
synced 2026-03-26 03:09:07 +08:00
libbpf: Allow to augment system Kconfig through extra optional config
Instead of all or nothing approach of overriding Kconfig file location, allow to extend it with extra values and override chosen subset of values though optional user-provided extra config, passed as a string through open options' .kconfig option. If same config key is present in both user-supplied config and Kconfig, user-supplied one wins. This allows applications to more easily test various conditions despite host kernel's real configuration. If all of BPF object's __kconfig externs are satisfied from user-supplied config, system Kconfig won't be read at all. Simplify selftests by not needing to create temporary Kconfig files. Suggested-by: Alexei Starovoitov <ast@fb.com> Signed-off-by: Andrii Nakryiko <andriin@fb.com> Signed-off-by: Alexei Starovoitov <ast@kernel.org> Link: https://lore.kernel.org/bpf/20191219002837.3074619-3-andriin@fb.com
This commit is contained in:
committed by
Andrii Nakryiko
parent
9f61b5b95c
commit
5bc09e54fa
@@ -85,12 +85,12 @@ struct bpf_object_open_opts {
|
||||
*/
|
||||
const char *pin_root_path;
|
||||
__u32 attach_prog_fd;
|
||||
/* kernel config file path override (for CONFIG_ externs); can point
|
||||
* to either uncompressed text file or .gz file
|
||||
/* Additional kernel config content that augments and overrides
|
||||
* system Kconfig for CONFIG_xxx externs.
|
||||
*/
|
||||
const char *kconfig_path;
|
||||
const char *kconfig;
|
||||
};
|
||||
#define bpf_object_open_opts__last_field kconfig_path
|
||||
#define bpf_object_open_opts__last_field kconfig
|
||||
|
||||
LIBBPF_API struct bpf_object *bpf_object__open(const char *path);
|
||||
LIBBPF_API struct bpf_object *
|
||||
|
||||
Reference in New Issue
Block a user