]> git.proxmox.com Git - mirror_iproute2.git/blob - include/bpf_elf.h
Merge branch 'net-next' of git://git.kernel.org/pub/scm/linux/kernel/git/shemminger...
[mirror_iproute2.git] / include / bpf_elf.h
1 #ifndef __BPF_ELF__
2 #define __BPF_ELF__
3
4 #include <asm/types.h>
5
6 /* Note:
7 *
8 * Below ELF section names and bpf_elf_map structure definition
9 * are not (!) kernel ABI. It's rather a "contract" between the
10 * application and the BPF loader in tc. For compatibility, the
11 * section names should stay as-is. Introduction of aliases, if
12 * needed, are a possibility, though.
13 */
14
15 /* ELF section names, etc */
16 #define ELF_SECTION_LICENSE "license"
17 #define ELF_SECTION_MAPS "maps"
18 #define ELF_SECTION_CLASSIFIER "classifier"
19 #define ELF_SECTION_ACTION "action"
20
21 #define ELF_MAX_MAPS 64
22 #define ELF_MAX_LICENSE_LEN 128
23
24 /* ELF map definition */
25 struct bpf_elf_map {
26 __u32 type;
27 __u32 size_key;
28 __u32 size_value;
29 __u32 max_elem;
30 __u32 id;
31 };
32
33 #endif /* __BPF_ELF__ */