OSDN Git Service

libbpf 1.0: Deprecate bpf_map__is_offload_neutral()
authorChristy Lee <christylee@fb.com>
Wed, 5 Jan 2022 00:06:01 +0000 (16:06 -0800)
committerAndrii Nakryiko <andrii@kernel.org>
Thu, 6 Jan 2022 00:09:06 +0000 (16:09 -0800)
Deprecate bpf_map__is_offload_neutral(). It’s most probably broken
already. PERF_EVENT_ARRAY isn’t the only map that’s not suitable
for hardware offloading. Applications can directly check map type
instead.

  [0] Closes: https://github.com/libbpf/libbpf/issues/306

Signed-off-by: Christy Lee <christylee@fb.com>
Signed-off-by: Andrii Nakryiko <andrii@kernel.org>
Link: https://lore.kernel.org/bpf/20220105000601.2090044-1-christylee@fb.com
tools/bpf/bpftool/prog.c
tools/lib/bpf/libbpf.h

index f874896..2a21d50 100644 (file)
@@ -1655,7 +1655,7 @@ static int load_with_options(int argc, char **argv, bool first_prog_only)
        j = 0;
        idx = 0;
        bpf_object__for_each_map(map, obj) {
-               if (!bpf_map__is_offload_neutral(map))
+               if (bpf_map__type(map) != BPF_MAP_TYPE_PERF_EVENT_ARRAY)
                        bpf_map__set_ifindex(map, ifindex);
 
                if (j < old_map_fds && idx == map_replace[j].idx) {
index ddf1cc9..88dd943 100644 (file)
@@ -744,6 +744,7 @@ LIBBPF_API void *bpf_map__priv(const struct bpf_map *map);
 LIBBPF_API int bpf_map__set_initial_value(struct bpf_map *map,
                                          const void *data, size_t size);
 LIBBPF_API const void *bpf_map__initial_value(struct bpf_map *map, size_t *psize);
+LIBBPF_DEPRECATED_SINCE(0, 8, "use bpf_map__type() instead")
 LIBBPF_API bool bpf_map__is_offload_neutral(const struct bpf_map *map);
 
 /**