alistair23-linux/samples
Alexei Starovoitov 249b812d80 samples: bpf: elf_bpf file loader
simple .o parser and loader using BPF syscall.
.o is a standard ELF generated by LLVM backend

It parses elf file compiled by llvm .c->.o
- parses 'maps' section and creates maps via BPF syscall
- parses 'license' section and passes it to syscall
- parses elf relocations for BPF maps and adjusts BPF_LD_IMM64 insns
  by storing map_fd into insn->imm and marking such insns as BPF_PSEUDO_MAP_FD
- loads eBPF programs via BPF syscall

One ELF file can contain multiple BPF programs.

int load_bpf_file(char *path);
populates prog_fd[] and map_fd[] with FDs received from bpf syscall

bpf_helpers.h - helper functions available to eBPF programs written in C

Signed-off-by: Alexei Starovoitov <ast@plumgrid.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2014-12-05 21:47:33 -08:00
..
bpf samples: bpf: elf_bpf file loader 2014-12-05 21:47:33 -08:00
hidraw HID: samples/hidraw: add .gitignore file 2013-08-20 12:48:58 +02:00
hw_breakpoint perf: Add context field to perf_event 2011-07-01 11:06:38 +02:00
kdb kdb: Add kdb kernel module sample 2010-10-29 13:14:39 -05:00
kfifo kfifo API type safety 2013-11-15 09:32:23 +09:00
kobject samples/kobject/: avoid world-writable sysfs files. 2014-05-14 10:53:57 +09:30
kprobes kprobes: update jprobe_example.c for do_fork() change 2014-09-26 11:11:12 +02:00
rpmsg misc: remove __dev* attributes. 2013-01-03 15:57:16 -08:00
seccomp samples/seccomp/Makefile: do not build tests if cross-compiling for MIPS 2014-04-03 16:21:06 -07:00
trace_events tracing: Change trace event sample to use strlcpy instead of strncpy 2014-07-01 07:13:33 -04:00
uhid HID: uhid: improve uhid example client 2013-09-04 11:35:14 +02:00
Kconfig tracing: Remove tracepoint sample code 2013-01-25 11:22:11 -05:00
Makefile tracing: Remove tracepoint sample code 2013-01-25 11:22:11 -05:00