ccc3f56918
Converted few remaining legacy BPF map definition to BTF-defined ones. For the remaining two bpf_map_def-based legacy definitions that we want to keep for testing purposes until libbpf 1.0 release, guard them in pragma to suppres deprecation warnings which will be added in libbpf in the next commit. Signed-off-by: Andrii Nakryiko <andrii@kernel.org> Link: https://lore.kernel.org/r/20220120060529.1890907-3-andrii@kernel.org Signed-off-by: Alexei Starovoitov <ast@kernel.org>
35 lines
679 B
C
35 lines
679 B
C
/* SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) */
|
|
#include <linux/bpf.h>
|
|
#include <bpf/bpf_helpers.h>
|
|
|
|
struct {
|
|
__uint(type, BPF_MAP_TYPE_HASH);
|
|
__type(key, __u32);
|
|
__type(value, long);
|
|
__uint(max_entries, 2);
|
|
} htab SEC(".maps");
|
|
|
|
struct {
|
|
__uint(type, BPF_MAP_TYPE_ARRAY);
|
|
__type(key, __u32);
|
|
__type(value, long);
|
|
__uint(max_entries, 2);
|
|
} array SEC(".maps");
|
|
|
|
/* Sample program which should always load for testing control paths. */
|
|
SEC(".text") int func()
|
|
{
|
|
__u64 key64 = 0;
|
|
__u32 key = 0;
|
|
long *value;
|
|
|
|
value = bpf_map_lookup_elem(&htab, &key);
|
|
if (!value)
|
|
return 1;
|
|
value = bpf_map_lookup_elem(&array, &key64);
|
|
if (!value)
|
|
return 1;
|
|
|
|
return 0;
|
|
}
|