54 lines
969 B
C
54 lines
969 B
C
#ifndef _BPF_CONF_DEF_H_
|
|
#define _BPF_CONF_DEF_H_
|
|
|
|
#ifdef __cplusplus
|
|
extern "C"
|
|
{
|
|
#endif
|
|
|
|
#define BPF_CONF_KEY_DEBUG_LOG "bpf_debug_log"
|
|
#define BPF_CONF_KEY_HASH_MODE "bpf_hash_mode"
|
|
#define BPF_CONF_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))
|
|
|
|
typedef enum bpf_hash_mode_s
|
|
{
|
|
BPF_HASH_MODE_TUPLE2 = 0x2,
|
|
BPF_HASH_MODE_TUPLE4 = 0x4,
|
|
} bpf_hash_mode_t;
|
|
|
|
typedef struct bpf_conf_key_s
|
|
{
|
|
char str[32];
|
|
} bpf_conf_key_t;
|
|
|
|
typedef struct bpf_conf_kv_s
|
|
{
|
|
bpf_conf_key_t key;
|
|
__u32 val;
|
|
} bpf_conf_kv_t;
|
|
|
|
typedef struct bpf_conf_s
|
|
{
|
|
bpf_conf_kv_t debug_log;
|
|
bpf_conf_kv_t hash_mode;
|
|
bpf_conf_kv_t queue_num;
|
|
} bpf_conf_t;
|
|
|
|
struct
|
|
{
|
|
__uint(type, BPF_MAP_TYPE_HASH);
|
|
__type(key, bpf_conf_key_t);
|
|
__type(value, __u32);
|
|
__uint(max_entries, 16);
|
|
} bpf_conf_map SEC(".maps");
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif
|