#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