22#ifndef BACKENDS_EBPF_RUNTIME_EBPF_USER_H_ 
   23#define BACKENDS_EBPF_RUNTIME_EBPF_USER_H_ 
   25#include "ebpf_registry.h" 
   26#include "ebpf_common.h" 
   31#define htonll(x) htobe64(x) 
   32#define ntohll(x) be64toh(x) 
   34#define bpf_htons(x) htobe16(x) 
   35#define bpf_ntohs(x) be16toh(x) 
   36#define bpf_htonl(x) htobe32(x) 
   37#define bpf_ntohl(x) be32toh(x) 
   38#define bpf_cpu_to_be64(x) htobe64(x) 
   39#define bpf_be64_to_cpu(x) be64toh(x) 
   41#define load_byte(data, b) (*(((u8*)(data)) + (b))) 
   42#define load_half(data, b) bpf_ntohs(*(u16 *)((u8*)(data) + (b))) 
   43#define load_word(data, b) bpf_ntohl(*(u32 *)((u8*)(data) + (b))) 
   44#define load_dword(data, b) bpf_be64_to_cpu(*(u64 *)((u8*)(data) + (b))) 
   48#define bpf_printk(fmt, ...)                                            \ 
   50                        char ____fmt[] = fmt;                           \ 
   51                        printf(____fmt, sizeof(____fmt),                \ 
   82#define SK_BUFF struct sk_buff 
   83#define REGISTER_START() \ 
   84struct bpf_table tables[] = { 
   85#define REGISTER_TABLE(NAME, TYPE, KEY_SIZE, VALUE_SIZE, MAX_ENTRIES) \ 
   86    { MAP_PATH"/"#NAME, TYPE, KEY_SIZE, VALUE_SIZE, MAX_ENTRIES, NULL }, 
   87#define REGISTER_END() \ 
   91#define BPF_MAP_LOOKUP_ELEM(table, key) \ 
   92    registry_lookup_table_elem(MAP_PATH"/"#table, key) 
   93#define BPF_MAP_UPDATE_ELEM(table, key, value, flags) \ 
   94    registry_update_table(MAP_PATH"/"#table, key, value, flags) 
   95#define BPF_MAP_DELETE_ELEM(table, key) \ 
   96    registry_delete_table_elem(MAP_PATH"/"#table, key) 
   97#define BPF_USER_MAP_UPDATE_ELEM(index, key, value, flags)\ 
   98    registry_update_table_id(index, key, value, flags) 
   99#define BPF_OBJ_PIN(table, name) registry_add(table) 
  100#define BPF_OBJ_GET(name) registry_get_id(name) 
  105extern int ebpf_filter(
struct sk_buff *skb);
 
A helper structure used to describe attributes.
Definition ebpf_registry.h:36
 
simple descriptor which replaces the kernel sk_buff structure.
Definition ebpf_test.h:62