blob: 5348a635b6816aa9ebc6c5203440b57cb23209bb (
plain)
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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
|
#ifndef _BPF_CONFIG_H_
#define _BPF_CONFIG_H_
#ifdef __cpluscplus
extern "C"
{
#endif
#define BPF_CONFIG_KEY_DEBUG_LOG "bpf_debug_log"
#define BPF_CONFIG_KEY_HASH_MODE "bpf_hash_mode"
#define BPF_CONFIG_KEY_QUEUE_NUM "bpf_queue_num"
#define __uint(name, val) int(*name)[val]
#define __type(name, val) val *name
#define SEC(NAME) __attribute__((section(NAME), used))
enum bpf_hash_mode
{
BPF_HASH_MODE_TUPLE2 = 0x2,
BPF_HASH_MODE_TUPLE4 = 0x4,
};
struct string32
{
char str[32];
};
struct kv_pair
{
struct string32 key;
__u32 val;
};
struct bpf_config
{
struct kv_pair debug_log;
struct kv_pair hash_mode;
struct kv_pair queue_num;
};
struct
{
__uint(type, BPF_MAP_TYPE_HASH);
__type(key, struct string32);
__type(value, __u32);
__uint(max_entries, 16);
} bpf_config_map SEC(".maps");
#ifdef __cpluscplus
}
#endif
#endif
|