1 | /* SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) */ |
2 | #include <linux/bpf.h> |
3 | #include <bpf/bpf_helpers.h> |
4 | |
5 | struct { |
6 | __uint(type, BPF_MAP_TYPE_HASH); |
7 | __type(key, __u32); |
8 | __type(value, long); |
9 | __uint(max_entries, 2); |
10 | } htab SEC(".maps" ); |
11 | |
12 | struct { |
13 | __uint(type, BPF_MAP_TYPE_ARRAY); |
14 | __type(key, __u32); |
15 | __type(value, long); |
16 | __uint(max_entries, 2); |
17 | } array SEC(".maps" ); |
18 | |
19 | /* Sample program which should always load for testing control paths. */ |
20 | SEC(".text" ) int func() |
21 | { |
22 | __u64 key64 = 0; |
23 | __u32 key = 0; |
24 | long *value; |
25 | |
26 | value = bpf_map_lookup_elem(&htab, &key); |
27 | if (!value) |
28 | return 1; |
29 | value = bpf_map_lookup_elem(&array, &key64); |
30 | if (!value) |
31 | return 1; |
32 | |
33 | return 0; |
34 | } |
35 | |