hc
2023-11-22 983d7f83616922a6439b4352d1b3af488ee27f95
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
/* SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) */
#include <linux/bpf.h>
#include "bpf_helpers.h"
 
struct bpf_map_def SEC("maps") htab = {
   .type = BPF_MAP_TYPE_HASH,
   .key_size = sizeof(__u32),
   .value_size = sizeof(long),
   .max_entries = 2,
};
 
struct bpf_map_def SEC("maps") array = {
   .type = BPF_MAP_TYPE_ARRAY,
   .key_size = sizeof(__u32),
   .value_size = sizeof(long),
   .max_entries = 2,
};
 
/* 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;
}