diff options
author | John Fastabend <john.fastabend@gmail.com> | 2018-10-15 11:19:55 -0700 |
---|---|---|
committer | Alexei Starovoitov <ast@kernel.org> | 2018-10-15 16:13:14 -0700 |
commit | c034a177d3c898f370f52877e7252da8c4f8235c (patch) | |
tree | a9e5e822219576241fdd259c52182750a4a267c9 /tools/bpf/bpftool/prog.c | |
parent | b7d3826c2ed6c3e626e7ae796c5df2c0d2551c6a (diff) | |
download | linux-stable-c034a177d3c898f370f52877e7252da8c4f8235c.tar.gz linux-stable-c034a177d3c898f370f52877e7252da8c4f8235c.tar.bz2 linux-stable-c034a177d3c898f370f52877e7252da8c4f8235c.zip |
bpf: bpftool, add flag to allow non-compat map definitions
Multiple map definition structures exist and user may have non-zero
fields in their definition that are not recognized by bpftool and
libbpf. The normal behavior is to then fail loading the map. Although
this is a good default behavior users may still want to load the map
for debugging or other reasons. This patch adds a --mapcompat flag
that can be used to override the default behavior and allow loading
the map even when it has additional non-zero fields.
For now the only user is 'bpftool prog' we can switch over other
subcommands as needed. The library exposes an API that consumes
a flags field now but I kept the original API around also in case
users of the API don't want to expose this. The flags field is an
int in case we need more control over how the API call handles
errors/features/etc in the future.
Signed-off-by: John Fastabend <john.fastabend@gmail.com>
Acked-by: Jakub Kicinski <jakub.kicinski@netronome.com>
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Diffstat (limited to 'tools/bpf/bpftool/prog.c')
-rw-r--r-- | tools/bpf/bpftool/prog.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/tools/bpf/bpftool/prog.c b/tools/bpf/bpftool/prog.c index 99ab42c56724..335028968dfb 100644 --- a/tools/bpf/bpftool/prog.c +++ b/tools/bpf/bpftool/prog.c @@ -908,7 +908,7 @@ static int do_load(int argc, char **argv) } } - obj = bpf_object__open_xattr(&attr); + obj = __bpf_object__open_xattr(&attr, bpf_flags); if (IS_ERR_OR_NULL(obj)) { p_err("failed to open object file"); goto err_free_reuse_maps; |