54 lines
878 B
C
54 lines
878 B
C
#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
|