#include <ebpf_kernel.h>
 | 
| 
__u32  | flags | 
|   | 
| 
__u32  | id | 
|   | 
| 
__u32  | inner_id | 
|   | 
| 
__u32  | inner_idx | 
|   | 
| 
__u32  | max_elem | 
|   | 
| 
__u32  | pinning | 
|   | 
| 
__u32  | size_key | 
|   | 
| 
__u32  | size_value | 
|   | 
| 
__u32  | type | 
|   | 
If we operate in user space we only need to include bpf.h and define the userspace API macros. For kernel programs we need to specify a list of kernel helpers. These are taken from here: https://github.com/torvalds/linux/blob/master/tools/lib/bpf/bpf_helpers.h A helper structure used by an eBPF C program to describe map attributes for the elf_bpf loader FIXME: We only need this because we are loading with iproute2 
 
◆ flags
◆ id
◆ inner_id
      
        
          | __u32 bpf_elf_map::inner_id | 
        
      
 
 
◆ inner_idx
      
        
          | __u32 bpf_elf_map::inner_idx | 
        
      
 
 
◆ max_elem
      
        
          | __u32 bpf_elf_map::max_elem | 
        
      
 
 
◆ pinning
      
        
          | __u32 bpf_elf_map::pinning | 
        
      
 
 
◆ size_key
      
        
          | __u32 bpf_elf_map::size_key | 
        
      
 
 
◆ size_value
      
        
          | __u32 bpf_elf_map::size_value | 
        
      
 
 
◆ type