package
0.0.0-20220301203322-3fc9ab3b8daf
Repository: https://github.com/datadog/ebpf.git
Documentation: pkg.go.dev

# Functions

HostTo converts from host to another endianness.
IsUnreferencedSymbol returns true if err was caused by an unreferenced symbol.
LoadAbs emits `r0 = ntoh(*(size *)(((sk_buff *)R6)->data + offset))`.
LoadAbsOp returns the OpCode for loading a value of given size from an sk_buff.
LoadImm emits `dst = (size)value`.
LoadImmOp returns the OpCode to load an immediate of given size.
LoadInd emits `dst = ntoh(*(size *)(((sk_buff *)R6)->data + src + offset))`.
LoadIndOp returns the OpCode for loading a value of given size from an sk_buff.
LoadMapPtr stores a pointer to a map in dst.
LoadMapValue stores a pointer to the value at a certain offset of a map.
LoadMem emits `dst = *(size *)(src + offset)`.
LoadMemOp returns the OpCode to load a value of given size from memory.
Return emits an exit instruction.
StoreImm emits `*(size *)(dst + offset) = value`.
StoreImmOp returns the OpCode for storing an immediate of given size in memory.
StoreMem emits `*(size *)(dst + offset) = src`.
StoreMemOp returns the OpCode for storing a register of given size in memory.
StoreXAdd atomically adds src to *dst.
StoreXAddOp returns the OpCode to atomically add a register to a value in memory.

# Constants

AbsMode - immediate value + offset.
Add - addition.
ALU64Class arithmetic in 64 bit mode.
ALUClass arithmetic operators.
And - bitwise and.
ArSh - arithmatic shift.
Convert to big endian.
Byte - byte; 8 bits.
Call builtin or user defined function from imm.
Div - division.
DWord - double word; 64 bits.
Exit ends execution, with value in r0.
eBPF built-in functions You can renegerate this list using the following gawk script: /FN\(.+\),/ { match($1, /\((.+)\)/, r) split(r[1], p, "_") printf "Fn" for (i in p) { printf "%s%s", toupper(substr(p[i], 1, 1)), substr(p[i], 2) } print "" } The script expects include/uapi/linux/bpf.h as it's input.
eBPF built-in functions You can renegerate this list using the following gawk script: /FN\(.+\),/ { match($1, /\((.+)\)/, r) split(r[1], p, "_") printf "Fn" for (i in p) { printf "%s%s", toupper(substr(p[i], 1, 1)), substr(p[i], 2) } print "" } The script expects include/uapi/linux/bpf.h as it's input.
eBPF built-in functions You can renegerate this list using the following gawk script: /FN\(.+\),/ { match($1, /\((.+)\)/, r) split(r[1], p, "_") printf "Fn" for (i in p) { printf "%s%s", toupper(substr(p[i], 1, 1)), substr(p[i], 2) } print "" } The script expects include/uapi/linux/bpf.h as it's input.
eBPF built-in functions You can renegerate this list using the following gawk script: /FN\(.+\),/ { match($1, /\((.+)\)/, r) split(r[1], p, "_") printf "Fn" for (i in p) { printf "%s%s", toupper(substr(p[i], 1, 1)), substr(p[i], 2) } print "" } The script expects include/uapi/linux/bpf.h as it's input.
eBPF built-in functions You can renegerate this list using the following gawk script: /FN\(.+\),/ { match($1, /\((.+)\)/, r) split(r[1], p, "_") printf "Fn" for (i in p) { printf "%s%s", toupper(substr(p[i], 1, 1)), substr(p[i], 2) } print "" } The script expects include/uapi/linux/bpf.h as it's input.
eBPF built-in functions You can renegerate this list using the following gawk script: /FN\(.+\),/ { match($1, /\((.+)\)/, r) split(r[1], p, "_") printf "Fn" for (i in p) { printf "%s%s", toupper(substr(p[i], 1, 1)), substr(p[i], 2) } print "" } The script expects include/uapi/linux/bpf.h as it's input.
eBPF built-in functions You can renegerate this list using the following gawk script: /FN\(.+\),/ { match($1, /\((.+)\)/, r) split(r[1], p, "_") printf "Fn" for (i in p) { printf "%s%s", toupper(substr(p[i], 1, 1)), substr(p[i], 2) } print "" } The script expects include/uapi/linux/bpf.h as it's input.
eBPF built-in functions You can renegerate this list using the following gawk script: /FN\(.+\),/ { match($1, /\((.+)\)/, r) split(r[1], p, "_") printf "Fn" for (i in p) { printf "%s%s", toupper(substr(p[i], 1, 1)), substr(p[i], 2) } print "" } The script expects include/uapi/linux/bpf.h as it's input.
eBPF built-in functions You can renegerate this list using the following gawk script: /FN\(.+\),/ { match($1, /\((.+)\)/, r) split(r[1], p, "_") printf "Fn" for (i in p) { printf "%s%s", toupper(substr(p[i], 1, 1)), substr(p[i], 2) } print "" } The script expects include/uapi/linux/bpf.h as it's input.
eBPF built-in functions You can renegerate this list using the following gawk script: /FN\(.+\),/ { match($1, /\((.+)\)/, r) split(r[1], p, "_") printf "Fn" for (i in p) { printf "%s%s", toupper(substr(p[i], 1, 1)), substr(p[i], 2) } print "" } The script expects include/uapi/linux/bpf.h as it's input.
eBPF built-in functions You can renegerate this list using the following gawk script: /FN\(.+\),/ { match($1, /\((.+)\)/, r) split(r[1], p, "_") printf "Fn" for (i in p) { printf "%s%s", toupper(substr(p[i], 1, 1)), substr(p[i], 2) } print "" } The script expects include/uapi/linux/bpf.h as it's input.
eBPF built-in functions You can renegerate this list using the following gawk script: /FN\(.+\),/ { match($1, /\((.+)\)/, r) split(r[1], p, "_") printf "Fn" for (i in p) { printf "%s%s", toupper(substr(p[i], 1, 1)), substr(p[i], 2) } print "" } The script expects include/uapi/linux/bpf.h as it's input.
eBPF built-in functions You can renegerate this list using the following gawk script: /FN\(.+\),/ { match($1, /\((.+)\)/, r) split(r[1], p, "_") printf "Fn" for (i in p) { printf "%s%s", toupper(substr(p[i], 1, 1)), substr(p[i], 2) } print "" } The script expects include/uapi/linux/bpf.h as it's input.
eBPF built-in functions You can renegerate this list using the following gawk script: /FN\(.+\),/ { match($1, /\((.+)\)/, r) split(r[1], p, "_") printf "Fn" for (i in p) { printf "%s%s", toupper(substr(p[i], 1, 1)), substr(p[i], 2) } print "" } The script expects include/uapi/linux/bpf.h as it's input.
eBPF built-in functions You can renegerate this list using the following gawk script: /FN\(.+\),/ { match($1, /\((.+)\)/, r) split(r[1], p, "_") printf "Fn" for (i in p) { printf "%s%s", toupper(substr(p[i], 1, 1)), substr(p[i], 2) } print "" } The script expects include/uapi/linux/bpf.h as it's input.
eBPF built-in functions You can renegerate this list using the following gawk script: /FN\(.+\),/ { match($1, /\((.+)\)/, r) split(r[1], p, "_") printf "Fn" for (i in p) { printf "%s%s", toupper(substr(p[i], 1, 1)), substr(p[i], 2) } print "" } The script expects include/uapi/linux/bpf.h as it's input.
eBPF built-in functions You can renegerate this list using the following gawk script: /FN\(.+\),/ { match($1, /\((.+)\)/, r) split(r[1], p, "_") printf "Fn" for (i in p) { printf "%s%s", toupper(substr(p[i], 1, 1)), substr(p[i], 2) } print "" } The script expects include/uapi/linux/bpf.h as it's input.
eBPF built-in functions You can renegerate this list using the following gawk script: /FN\(.+\),/ { match($1, /\((.+)\)/, r) split(r[1], p, "_") printf "Fn" for (i in p) { printf "%s%s", toupper(substr(p[i], 1, 1)), substr(p[i], 2) } print "" } The script expects include/uapi/linux/bpf.h as it's input.
eBPF built-in functions You can renegerate this list using the following gawk script: /FN\(.+\),/ { match($1, /\((.+)\)/, r) split(r[1], p, "_") printf "Fn" for (i in p) { printf "%s%s", toupper(substr(p[i], 1, 1)), substr(p[i], 2) } print "" } The script expects include/uapi/linux/bpf.h as it's input.
eBPF built-in functions You can renegerate this list using the following gawk script: /FN\(.+\),/ { match($1, /\((.+)\)/, r) split(r[1], p, "_") printf "Fn" for (i in p) { printf "%s%s", toupper(substr(p[i], 1, 1)), substr(p[i], 2) } print "" } The script expects include/uapi/linux/bpf.h as it's input.
eBPF built-in functions You can renegerate this list using the following gawk script: /FN\(.+\),/ { match($1, /\((.+)\)/, r) split(r[1], p, "_") printf "Fn" for (i in p) { printf "%s%s", toupper(substr(p[i], 1, 1)), substr(p[i], 2) } print "" } The script expects include/uapi/linux/bpf.h as it's input.
eBPF built-in functions You can renegerate this list using the following gawk script: /FN\(.+\),/ { match($1, /\((.+)\)/, r) split(r[1], p, "_") printf "Fn" for (i in p) { printf "%s%s", toupper(substr(p[i], 1, 1)), substr(p[i], 2) } print "" } The script expects include/uapi/linux/bpf.h as it's input.
eBPF built-in functions You can renegerate this list using the following gawk script: /FN\(.+\),/ { match($1, /\((.+)\)/, r) split(r[1], p, "_") printf "Fn" for (i in p) { printf "%s%s", toupper(substr(p[i], 1, 1)), substr(p[i], 2) } print "" } The script expects include/uapi/linux/bpf.h as it's input.
eBPF built-in functions You can renegerate this list using the following gawk script: /FN\(.+\),/ { match($1, /\((.+)\)/, r) split(r[1], p, "_") printf "Fn" for (i in p) { printf "%s%s", toupper(substr(p[i], 1, 1)), substr(p[i], 2) } print "" } The script expects include/uapi/linux/bpf.h as it's input.
eBPF built-in functions You can renegerate this list using the following gawk script: /FN\(.+\),/ { match($1, /\((.+)\)/, r) split(r[1], p, "_") printf "Fn" for (i in p) { printf "%s%s", toupper(substr(p[i], 1, 1)), substr(p[i], 2) } print "" } The script expects include/uapi/linux/bpf.h as it's input.
eBPF built-in functions You can renegerate this list using the following gawk script: /FN\(.+\),/ { match($1, /\((.+)\)/, r) split(r[1], p, "_") printf "Fn" for (i in p) { printf "%s%s", toupper(substr(p[i], 1, 1)), substr(p[i], 2) } print "" } The script expects include/uapi/linux/bpf.h as it's input.
eBPF built-in functions You can renegerate this list using the following gawk script: /FN\(.+\),/ { match($1, /\((.+)\)/, r) split(r[1], p, "_") printf "Fn" for (i in p) { printf "%s%s", toupper(substr(p[i], 1, 1)), substr(p[i], 2) } print "" } The script expects include/uapi/linux/bpf.h as it's input.
eBPF built-in functions You can renegerate this list using the following gawk script: /FN\(.+\),/ { match($1, /\((.+)\)/, r) split(r[1], p, "_") printf "Fn" for (i in p) { printf "%s%s", toupper(substr(p[i], 1, 1)), substr(p[i], 2) } print "" } The script expects include/uapi/linux/bpf.h as it's input.
eBPF built-in functions You can renegerate this list using the following gawk script: /FN\(.+\),/ { match($1, /\((.+)\)/, r) split(r[1], p, "_") printf "Fn" for (i in p) { printf "%s%s", toupper(substr(p[i], 1, 1)), substr(p[i], 2) } print "" } The script expects include/uapi/linux/bpf.h as it's input.
eBPF built-in functions You can renegerate this list using the following gawk script: /FN\(.+\),/ { match($1, /\((.+)\)/, r) split(r[1], p, "_") printf "Fn" for (i in p) { printf "%s%s", toupper(substr(p[i], 1, 1)), substr(p[i], 2) } print "" } The script expects include/uapi/linux/bpf.h as it's input.
eBPF built-in functions You can renegerate this list using the following gawk script: /FN\(.+\),/ { match($1, /\((.+)\)/, r) split(r[1], p, "_") printf "Fn" for (i in p) { printf "%s%s", toupper(substr(p[i], 1, 1)), substr(p[i], 2) } print "" } The script expects include/uapi/linux/bpf.h as it's input.
eBPF built-in functions You can renegerate this list using the following gawk script: /FN\(.+\),/ { match($1, /\((.+)\)/, r) split(r[1], p, "_") printf "Fn" for (i in p) { printf "%s%s", toupper(substr(p[i], 1, 1)), substr(p[i], 2) } print "" } The script expects include/uapi/linux/bpf.h as it's input.
eBPF built-in functions You can renegerate this list using the following gawk script: /FN\(.+\),/ { match($1, /\((.+)\)/, r) split(r[1], p, "_") printf "Fn" for (i in p) { printf "%s%s", toupper(substr(p[i], 1, 1)), substr(p[i], 2) } print "" } The script expects include/uapi/linux/bpf.h as it's input.
eBPF built-in functions You can renegerate this list using the following gawk script: /FN\(.+\),/ { match($1, /\((.+)\)/, r) split(r[1], p, "_") printf "Fn" for (i in p) { printf "%s%s", toupper(substr(p[i], 1, 1)), substr(p[i], 2) } print "" } The script expects include/uapi/linux/bpf.h as it's input.
eBPF built-in functions You can renegerate this list using the following gawk script: /FN\(.+\),/ { match($1, /\((.+)\)/, r) split(r[1], p, "_") printf "Fn" for (i in p) { printf "%s%s", toupper(substr(p[i], 1, 1)), substr(p[i], 2) } print "" } The script expects include/uapi/linux/bpf.h as it's input.
eBPF built-in functions You can renegerate this list using the following gawk script: /FN\(.+\),/ { match($1, /\((.+)\)/, r) split(r[1], p, "_") printf "Fn" for (i in p) { printf "%s%s", toupper(substr(p[i], 1, 1)), substr(p[i], 2) } print "" } The script expects include/uapi/linux/bpf.h as it's input.
eBPF built-in functions You can renegerate this list using the following gawk script: /FN\(.+\),/ { match($1, /\((.+)\)/, r) split(r[1], p, "_") printf "Fn" for (i in p) { printf "%s%s", toupper(substr(p[i], 1, 1)), substr(p[i], 2) } print "" } The script expects include/uapi/linux/bpf.h as it's input.
eBPF built-in functions You can renegerate this list using the following gawk script: /FN\(.+\),/ { match($1, /\((.+)\)/, r) split(r[1], p, "_") printf "Fn" for (i in p) { printf "%s%s", toupper(substr(p[i], 1, 1)), substr(p[i], 2) } print "" } The script expects include/uapi/linux/bpf.h as it's input.
eBPF built-in functions You can renegerate this list using the following gawk script: /FN\(.+\),/ { match($1, /\((.+)\)/, r) split(r[1], p, "_") printf "Fn" for (i in p) { printf "%s%s", toupper(substr(p[i], 1, 1)), substr(p[i], 2) } print "" } The script expects include/uapi/linux/bpf.h as it's input.
eBPF built-in functions You can renegerate this list using the following gawk script: /FN\(.+\),/ { match($1, /\((.+)\)/, r) split(r[1], p, "_") printf "Fn" for (i in p) { printf "%s%s", toupper(substr(p[i], 1, 1)), substr(p[i], 2) } print "" } The script expects include/uapi/linux/bpf.h as it's input.
eBPF built-in functions You can renegerate this list using the following gawk script: /FN\(.+\),/ { match($1, /\((.+)\)/, r) split(r[1], p, "_") printf "Fn" for (i in p) { printf "%s%s", toupper(substr(p[i], 1, 1)), substr(p[i], 2) } print "" } The script expects include/uapi/linux/bpf.h as it's input.
eBPF built-in functions You can renegerate this list using the following gawk script: /FN\(.+\),/ { match($1, /\((.+)\)/, r) split(r[1], p, "_") printf "Fn" for (i in p) { printf "%s%s", toupper(substr(p[i], 1, 1)), substr(p[i], 2) } print "" } The script expects include/uapi/linux/bpf.h as it's input.
eBPF built-in functions You can renegerate this list using the following gawk script: /FN\(.+\),/ { match($1, /\((.+)\)/, r) split(r[1], p, "_") printf "Fn" for (i in p) { printf "%s%s", toupper(substr(p[i], 1, 1)), substr(p[i], 2) } print "" } The script expects include/uapi/linux/bpf.h as it's input.
eBPF built-in functions You can renegerate this list using the following gawk script: /FN\(.+\),/ { match($1, /\((.+)\)/, r) split(r[1], p, "_") printf "Fn" for (i in p) { printf "%s%s", toupper(substr(p[i], 1, 1)), substr(p[i], 2) } print "" } The script expects include/uapi/linux/bpf.h as it's input.
eBPF built-in functions You can renegerate this list using the following gawk script: /FN\(.+\),/ { match($1, /\((.+)\)/, r) split(r[1], p, "_") printf "Fn" for (i in p) { printf "%s%s", toupper(substr(p[i], 1, 1)), substr(p[i], 2) } print "" } The script expects include/uapi/linux/bpf.h as it's input.
eBPF built-in functions You can renegerate this list using the following gawk script: /FN\(.+\),/ { match($1, /\((.+)\)/, r) split(r[1], p, "_") printf "Fn" for (i in p) { printf "%s%s", toupper(substr(p[i], 1, 1)), substr(p[i], 2) } print "" } The script expects include/uapi/linux/bpf.h as it's input.
eBPF built-in functions You can renegerate this list using the following gawk script: /FN\(.+\),/ { match($1, /\((.+)\)/, r) split(r[1], p, "_") printf "Fn" for (i in p) { printf "%s%s", toupper(substr(p[i], 1, 1)), substr(p[i], 2) } print "" } The script expects include/uapi/linux/bpf.h as it's input.
eBPF built-in functions You can renegerate this list using the following gawk script: /FN\(.+\),/ { match($1, /\((.+)\)/, r) split(r[1], p, "_") printf "Fn" for (i in p) { printf "%s%s", toupper(substr(p[i], 1, 1)), substr(p[i], 2) } print "" } The script expects include/uapi/linux/bpf.h as it's input.
eBPF built-in functions You can renegerate this list using the following gawk script: /FN\(.+\),/ { match($1, /\((.+)\)/, r) split(r[1], p, "_") printf "Fn" for (i in p) { printf "%s%s", toupper(substr(p[i], 1, 1)), substr(p[i], 2) } print "" } The script expects include/uapi/linux/bpf.h as it's input.
eBPF built-in functions You can renegerate this list using the following gawk script: /FN\(.+\),/ { match($1, /\((.+)\)/, r) split(r[1], p, "_") printf "Fn" for (i in p) { printf "%s%s", toupper(substr(p[i], 1, 1)), substr(p[i], 2) } print "" } The script expects include/uapi/linux/bpf.h as it's input.
eBPF built-in functions You can renegerate this list using the following gawk script: /FN\(.+\),/ { match($1, /\((.+)\)/, r) split(r[1], p, "_") printf "Fn" for (i in p) { printf "%s%s", toupper(substr(p[i], 1, 1)), substr(p[i], 2) } print "" } The script expects include/uapi/linux/bpf.h as it's input.
eBPF built-in functions You can renegerate this list using the following gawk script: /FN\(.+\),/ { match($1, /\((.+)\)/, r) split(r[1], p, "_") printf "Fn" for (i in p) { printf "%s%s", toupper(substr(p[i], 1, 1)), substr(p[i], 2) } print "" } The script expects include/uapi/linux/bpf.h as it's input.
eBPF built-in functions You can renegerate this list using the following gawk script: /FN\(.+\),/ { match($1, /\((.+)\)/, r) split(r[1], p, "_") printf "Fn" for (i in p) { printf "%s%s", toupper(substr(p[i], 1, 1)), substr(p[i], 2) } print "" } The script expects include/uapi/linux/bpf.h as it's input.
eBPF built-in functions You can renegerate this list using the following gawk script: /FN\(.+\),/ { match($1, /\((.+)\)/, r) split(r[1], p, "_") printf "Fn" for (i in p) { printf "%s%s", toupper(substr(p[i], 1, 1)), substr(p[i], 2) } print "" } The script expects include/uapi/linux/bpf.h as it's input.
eBPF built-in functions You can renegerate this list using the following gawk script: /FN\(.+\),/ { match($1, /\((.+)\)/, r) split(r[1], p, "_") printf "Fn" for (i in p) { printf "%s%s", toupper(substr(p[i], 1, 1)), substr(p[i], 2) } print "" } The script expects include/uapi/linux/bpf.h as it's input.
eBPF built-in functions You can renegerate this list using the following gawk script: /FN\(.+\),/ { match($1, /\((.+)\)/, r) split(r[1], p, "_") printf "Fn" for (i in p) { printf "%s%s", toupper(substr(p[i], 1, 1)), substr(p[i], 2) } print "" } The script expects include/uapi/linux/bpf.h as it's input.
eBPF built-in functions You can renegerate this list using the following gawk script: /FN\(.+\),/ { match($1, /\((.+)\)/, r) split(r[1], p, "_") printf "Fn" for (i in p) { printf "%s%s", toupper(substr(p[i], 1, 1)), substr(p[i], 2) } print "" } The script expects include/uapi/linux/bpf.h as it's input.
eBPF built-in functions You can renegerate this list using the following gawk script: /FN\(.+\),/ { match($1, /\((.+)\)/, r) split(r[1], p, "_") printf "Fn" for (i in p) { printf "%s%s", toupper(substr(p[i], 1, 1)), substr(p[i], 2) } print "" } The script expects include/uapi/linux/bpf.h as it's input.
eBPF built-in functions You can renegerate this list using the following gawk script: /FN\(.+\),/ { match($1, /\((.+)\)/, r) split(r[1], p, "_") printf "Fn" for (i in p) { printf "%s%s", toupper(substr(p[i], 1, 1)), substr(p[i], 2) } print "" } The script expects include/uapi/linux/bpf.h as it's input.
eBPF built-in functions You can renegerate this list using the following gawk script: /FN\(.+\),/ { match($1, /\((.+)\)/, r) split(r[1], p, "_") printf "Fn" for (i in p) { printf "%s%s", toupper(substr(p[i], 1, 1)), substr(p[i], 2) } print "" } The script expects include/uapi/linux/bpf.h as it's input.
eBPF built-in functions You can renegerate this list using the following gawk script: /FN\(.+\),/ { match($1, /\((.+)\)/, r) split(r[1], p, "_") printf "Fn" for (i in p) { printf "%s%s", toupper(substr(p[i], 1, 1)), substr(p[i], 2) } print "" } The script expects include/uapi/linux/bpf.h as it's input.
eBPF built-in functions You can renegerate this list using the following gawk script: /FN\(.+\),/ { match($1, /\((.+)\)/, r) split(r[1], p, "_") printf "Fn" for (i in p) { printf "%s%s", toupper(substr(p[i], 1, 1)), substr(p[i], 2) } print "" } The script expects include/uapi/linux/bpf.h as it's input.
eBPF built-in functions You can renegerate this list using the following gawk script: /FN\(.+\),/ { match($1, /\((.+)\)/, r) split(r[1], p, "_") printf "Fn" for (i in p) { printf "%s%s", toupper(substr(p[i], 1, 1)), substr(p[i], 2) } print "" } The script expects include/uapi/linux/bpf.h as it's input.
eBPF built-in functions You can renegerate this list using the following gawk script: /FN\(.+\),/ { match($1, /\((.+)\)/, r) split(r[1], p, "_") printf "Fn" for (i in p) { printf "%s%s", toupper(substr(p[i], 1, 1)), substr(p[i], 2) } print "" } The script expects include/uapi/linux/bpf.h as it's input.
eBPF built-in functions You can renegerate this list using the following gawk script: /FN\(.+\),/ { match($1, /\((.+)\)/, r) split(r[1], p, "_") printf "Fn" for (i in p) { printf "%s%s", toupper(substr(p[i], 1, 1)), substr(p[i], 2) } print "" } The script expects include/uapi/linux/bpf.h as it's input.
eBPF built-in functions You can renegerate this list using the following gawk script: /FN\(.+\),/ { match($1, /\((.+)\)/, r) split(r[1], p, "_") printf "Fn" for (i in p) { printf "%s%s", toupper(substr(p[i], 1, 1)), substr(p[i], 2) } print "" } The script expects include/uapi/linux/bpf.h as it's input.
eBPF built-in functions You can renegerate this list using the following gawk script: /FN\(.+\),/ { match($1, /\((.+)\)/, r) split(r[1], p, "_") printf "Fn" for (i in p) { printf "%s%s", toupper(substr(p[i], 1, 1)), substr(p[i], 2) } print "" } The script expects include/uapi/linux/bpf.h as it's input.
eBPF built-in functions You can renegerate this list using the following gawk script: /FN\(.+\),/ { match($1, /\((.+)\)/, r) split(r[1], p, "_") printf "Fn" for (i in p) { printf "%s%s", toupper(substr(p[i], 1, 1)), substr(p[i], 2) } print "" } The script expects include/uapi/linux/bpf.h as it's input.
eBPF built-in functions You can renegerate this list using the following gawk script: /FN\(.+\),/ { match($1, /\((.+)\)/, r) split(r[1], p, "_") printf "Fn" for (i in p) { printf "%s%s", toupper(substr(p[i], 1, 1)), substr(p[i], 2) } print "" } The script expects include/uapi/linux/bpf.h as it's input.
eBPF built-in functions You can renegerate this list using the following gawk script: /FN\(.+\),/ { match($1, /\((.+)\)/, r) split(r[1], p, "_") printf "Fn" for (i in p) { printf "%s%s", toupper(substr(p[i], 1, 1)), substr(p[i], 2) } print "" } The script expects include/uapi/linux/bpf.h as it's input.
eBPF built-in functions You can renegerate this list using the following gawk script: /FN\(.+\),/ { match($1, /\((.+)\)/, r) split(r[1], p, "_") printf "Fn" for (i in p) { printf "%s%s", toupper(substr(p[i], 1, 1)), substr(p[i], 2) } print "" } The script expects include/uapi/linux/bpf.h as it's input.
eBPF built-in functions You can renegerate this list using the following gawk script: /FN\(.+\),/ { match($1, /\((.+)\)/, r) split(r[1], p, "_") printf "Fn" for (i in p) { printf "%s%s", toupper(substr(p[i], 1, 1)), substr(p[i], 2) } print "" } The script expects include/uapi/linux/bpf.h as it's input.
eBPF built-in functions You can renegerate this list using the following gawk script: /FN\(.+\),/ { match($1, /\((.+)\)/, r) split(r[1], p, "_") printf "Fn" for (i in p) { printf "%s%s", toupper(substr(p[i], 1, 1)), substr(p[i], 2) } print "" } The script expects include/uapi/linux/bpf.h as it's input.
eBPF built-in functions You can renegerate this list using the following gawk script: /FN\(.+\),/ { match($1, /\((.+)\)/, r) split(r[1], p, "_") printf "Fn" for (i in p) { printf "%s%s", toupper(substr(p[i], 1, 1)), substr(p[i], 2) } print "" } The script expects include/uapi/linux/bpf.h as it's input.
eBPF built-in functions You can renegerate this list using the following gawk script: /FN\(.+\),/ { match($1, /\((.+)\)/, r) split(r[1], p, "_") printf "Fn" for (i in p) { printf "%s%s", toupper(substr(p[i], 1, 1)), substr(p[i], 2) } print "" } The script expects include/uapi/linux/bpf.h as it's input.
eBPF built-in functions You can renegerate this list using the following gawk script: /FN\(.+\),/ { match($1, /\((.+)\)/, r) split(r[1], p, "_") printf "Fn" for (i in p) { printf "%s%s", toupper(substr(p[i], 1, 1)), substr(p[i], 2) } print "" } The script expects include/uapi/linux/bpf.h as it's input.
eBPF built-in functions You can renegerate this list using the following gawk script: /FN\(.+\),/ { match($1, /\((.+)\)/, r) split(r[1], p, "_") printf "Fn" for (i in p) { printf "%s%s", toupper(substr(p[i], 1, 1)), substr(p[i], 2) } print "" } The script expects include/uapi/linux/bpf.h as it's input.
eBPF built-in functions You can renegerate this list using the following gawk script: /FN\(.+\),/ { match($1, /\((.+)\)/, r) split(r[1], p, "_") printf "Fn" for (i in p) { printf "%s%s", toupper(substr(p[i], 1, 1)), substr(p[i], 2) } print "" } The script expects include/uapi/linux/bpf.h as it's input.
eBPF built-in functions You can renegerate this list using the following gawk script: /FN\(.+\),/ { match($1, /\((.+)\)/, r) split(r[1], p, "_") printf "Fn" for (i in p) { printf "%s%s", toupper(substr(p[i], 1, 1)), substr(p[i], 2) } print "" } The script expects include/uapi/linux/bpf.h as it's input.
eBPF built-in functions You can renegerate this list using the following gawk script: /FN\(.+\),/ { match($1, /\((.+)\)/, r) split(r[1], p, "_") printf "Fn" for (i in p) { printf "%s%s", toupper(substr(p[i], 1, 1)), substr(p[i], 2) } print "" } The script expects include/uapi/linux/bpf.h as it's input.
eBPF built-in functions You can renegerate this list using the following gawk script: /FN\(.+\),/ { match($1, /\((.+)\)/, r) split(r[1], p, "_") printf "Fn" for (i in p) { printf "%s%s", toupper(substr(p[i], 1, 1)), substr(p[i], 2) } print "" } The script expects include/uapi/linux/bpf.h as it's input.
eBPF built-in functions You can renegerate this list using the following gawk script: /FN\(.+\),/ { match($1, /\((.+)\)/, r) split(r[1], p, "_") printf "Fn" for (i in p) { printf "%s%s", toupper(substr(p[i], 1, 1)), substr(p[i], 2) } print "" } The script expects include/uapi/linux/bpf.h as it's input.
eBPF built-in functions You can renegerate this list using the following gawk script: /FN\(.+\),/ { match($1, /\((.+)\)/, r) split(r[1], p, "_") printf "Fn" for (i in p) { printf "%s%s", toupper(substr(p[i], 1, 1)), substr(p[i], 2) } print "" } The script expects include/uapi/linux/bpf.h as it's input.
eBPF built-in functions You can renegerate this list using the following gawk script: /FN\(.+\),/ { match($1, /\((.+)\)/, r) split(r[1], p, "_") printf "Fn" for (i in p) { printf "%s%s", toupper(substr(p[i], 1, 1)), substr(p[i], 2) } print "" } The script expects include/uapi/linux/bpf.h as it's input.
eBPF built-in functions You can renegerate this list using the following gawk script: /FN\(.+\),/ { match($1, /\((.+)\)/, r) split(r[1], p, "_") printf "Fn" for (i in p) { printf "%s%s", toupper(substr(p[i], 1, 1)), substr(p[i], 2) } print "" } The script expects include/uapi/linux/bpf.h as it's input.
eBPF built-in functions You can renegerate this list using the following gawk script: /FN\(.+\),/ { match($1, /\((.+)\)/, r) split(r[1], p, "_") printf "Fn" for (i in p) { printf "%s%s", toupper(substr(p[i], 1, 1)), substr(p[i], 2) } print "" } The script expects include/uapi/linux/bpf.h as it's input.
eBPF built-in functions You can renegerate this list using the following gawk script: /FN\(.+\),/ { match($1, /\((.+)\)/, r) split(r[1], p, "_") printf "Fn" for (i in p) { printf "%s%s", toupper(substr(p[i], 1, 1)), substr(p[i], 2) } print "" } The script expects include/uapi/linux/bpf.h as it's input.
eBPF built-in functions You can renegerate this list using the following gawk script: /FN\(.+\),/ { match($1, /\((.+)\)/, r) split(r[1], p, "_") printf "Fn" for (i in p) { printf "%s%s", toupper(substr(p[i], 1, 1)), substr(p[i], 2) } print "" } The script expects include/uapi/linux/bpf.h as it's input.
eBPF built-in functions You can renegerate this list using the following gawk script: /FN\(.+\),/ { match($1, /\((.+)\)/, r) split(r[1], p, "_") printf "Fn" for (i in p) { printf "%s%s", toupper(substr(p[i], 1, 1)), substr(p[i], 2) } print "" } The script expects include/uapi/linux/bpf.h as it's input.
eBPF built-in functions You can renegerate this list using the following gawk script: /FN\(.+\),/ { match($1, /\((.+)\)/, r) split(r[1], p, "_") printf "Fn" for (i in p) { printf "%s%s", toupper(substr(p[i], 1, 1)), substr(p[i], 2) } print "" } The script expects include/uapi/linux/bpf.h as it's input.
eBPF built-in functions You can renegerate this list using the following gawk script: /FN\(.+\),/ { match($1, /\((.+)\)/, r) split(r[1], p, "_") printf "Fn" for (i in p) { printf "%s%s", toupper(substr(p[i], 1, 1)), substr(p[i], 2) } print "" } The script expects include/uapi/linux/bpf.h as it's input.
eBPF built-in functions You can renegerate this list using the following gawk script: /FN\(.+\),/ { match($1, /\((.+)\)/, r) split(r[1], p, "_") printf "Fn" for (i in p) { printf "%s%s", toupper(substr(p[i], 1, 1)), substr(p[i], 2) } print "" } The script expects include/uapi/linux/bpf.h as it's input.
eBPF built-in functions You can renegerate this list using the following gawk script: /FN\(.+\),/ { match($1, /\((.+)\)/, r) split(r[1], p, "_") printf "Fn" for (i in p) { printf "%s%s", toupper(substr(p[i], 1, 1)), substr(p[i], 2) } print "" } The script expects include/uapi/linux/bpf.h as it's input.
eBPF built-in functions You can renegerate this list using the following gawk script: /FN\(.+\),/ { match($1, /\((.+)\)/, r) split(r[1], p, "_") printf "Fn" for (i in p) { printf "%s%s", toupper(substr(p[i], 1, 1)), substr(p[i], 2) } print "" } The script expects include/uapi/linux/bpf.h as it's input.
eBPF built-in functions You can renegerate this list using the following gawk script: /FN\(.+\),/ { match($1, /\((.+)\)/, r) split(r[1], p, "_") printf "Fn" for (i in p) { printf "%s%s", toupper(substr(p[i], 1, 1)), substr(p[i], 2) } print "" } The script expects include/uapi/linux/bpf.h as it's input.
eBPF built-in functions You can renegerate this list using the following gawk script: /FN\(.+\),/ { match($1, /\((.+)\)/, r) split(r[1], p, "_") printf "Fn" for (i in p) { printf "%s%s", toupper(substr(p[i], 1, 1)), substr(p[i], 2) } print "" } The script expects include/uapi/linux/bpf.h as it's input.
eBPF built-in functions You can renegerate this list using the following gawk script: /FN\(.+\),/ { match($1, /\((.+)\)/, r) split(r[1], p, "_") printf "Fn" for (i in p) { printf "%s%s", toupper(substr(p[i], 1, 1)), substr(p[i], 2) } print "" } The script expects include/uapi/linux/bpf.h as it's input.
eBPF built-in functions You can renegerate this list using the following gawk script: /FN\(.+\),/ { match($1, /\((.+)\)/, r) split(r[1], p, "_") printf "Fn" for (i in p) { printf "%s%s", toupper(substr(p[i], 1, 1)), substr(p[i], 2) } print "" } The script expects include/uapi/linux/bpf.h as it's input.
eBPF built-in functions You can renegerate this list using the following gawk script: /FN\(.+\),/ { match($1, /\((.+)\)/, r) split(r[1], p, "_") printf "Fn" for (i in p) { printf "%s%s", toupper(substr(p[i], 1, 1)), substr(p[i], 2) } print "" } The script expects include/uapi/linux/bpf.h as it's input.
eBPF built-in functions You can renegerate this list using the following gawk script: /FN\(.+\),/ { match($1, /\((.+)\)/, r) split(r[1], p, "_") printf "Fn" for (i in p) { printf "%s%s", toupper(substr(p[i], 1, 1)), substr(p[i], 2) } print "" } The script expects include/uapi/linux/bpf.h as it's input.
eBPF built-in functions You can renegerate this list using the following gawk script: /FN\(.+\),/ { match($1, /\((.+)\)/, r) split(r[1], p, "_") printf "Fn" for (i in p) { printf "%s%s", toupper(substr(p[i], 1, 1)), substr(p[i], 2) } print "" } The script expects include/uapi/linux/bpf.h as it's input.
eBPF built-in functions You can renegerate this list using the following gawk script: /FN\(.+\),/ { match($1, /\((.+)\)/, r) split(r[1], p, "_") printf "Fn" for (i in p) { printf "%s%s", toupper(substr(p[i], 1, 1)), substr(p[i], 2) } print "" } The script expects include/uapi/linux/bpf.h as it's input.
eBPF built-in functions You can renegerate this list using the following gawk script: /FN\(.+\),/ { match($1, /\((.+)\)/, r) split(r[1], p, "_") printf "Fn" for (i in p) { printf "%s%s", toupper(substr(p[i], 1, 1)), substr(p[i], 2) } print "" } The script expects include/uapi/linux/bpf.h as it's input.
eBPF built-in functions You can renegerate this list using the following gawk script: /FN\(.+\),/ { match($1, /\((.+)\)/, r) split(r[1], p, "_") printf "Fn" for (i in p) { printf "%s%s", toupper(substr(p[i], 1, 1)), substr(p[i], 2) } print "" } The script expects include/uapi/linux/bpf.h as it's input.
eBPF built-in functions You can renegerate this list using the following gawk script: /FN\(.+\),/ { match($1, /\((.+)\)/, r) split(r[1], p, "_") printf "Fn" for (i in p) { printf "%s%s", toupper(substr(p[i], 1, 1)), substr(p[i], 2) } print "" } The script expects include/uapi/linux/bpf.h as it's input.
eBPF built-in functions You can renegerate this list using the following gawk script: /FN\(.+\),/ { match($1, /\((.+)\)/, r) split(r[1], p, "_") printf "Fn" for (i in p) { printf "%s%s", toupper(substr(p[i], 1, 1)), substr(p[i], 2) } print "" } The script expects include/uapi/linux/bpf.h as it's input.
eBPF built-in functions You can renegerate this list using the following gawk script: /FN\(.+\),/ { match($1, /\((.+)\)/, r) split(r[1], p, "_") printf "Fn" for (i in p) { printf "%s%s", toupper(substr(p[i], 1, 1)), substr(p[i], 2) } print "" } The script expects include/uapi/linux/bpf.h as it's input.
eBPF built-in functions You can renegerate this list using the following gawk script: /FN\(.+\),/ { match($1, /\((.+)\)/, r) split(r[1], p, "_") printf "Fn" for (i in p) { printf "%s%s", toupper(substr(p[i], 1, 1)), substr(p[i], 2) } print "" } The script expects include/uapi/linux/bpf.h as it's input.
eBPF built-in functions You can renegerate this list using the following gawk script: /FN\(.+\),/ { match($1, /\((.+)\)/, r) split(r[1], p, "_") printf "Fn" for (i in p) { printf "%s%s", toupper(substr(p[i], 1, 1)), substr(p[i], 2) } print "" } The script expects include/uapi/linux/bpf.h as it's input.
eBPF built-in functions You can renegerate this list using the following gawk script: /FN\(.+\),/ { match($1, /\((.+)\)/, r) split(r[1], p, "_") printf "Fn" for (i in p) { printf "%s%s", toupper(substr(p[i], 1, 1)), substr(p[i], 2) } print "" } The script expects include/uapi/linux/bpf.h as it's input.
eBPF built-in functions You can renegerate this list using the following gawk script: /FN\(.+\),/ { match($1, /\((.+)\)/, r) split(r[1], p, "_") printf "Fn" for (i in p) { printf "%s%s", toupper(substr(p[i], 1, 1)), substr(p[i], 2) } print "" } The script expects include/uapi/linux/bpf.h as it's input.
Half - half-word; 16 bits.
ImmMode - immediate value.
ImmSource src is from constant.
IndMode - indirect (imm+src).
InstructionSize is the size of a BPF instruction in bytes.
InvalidALUOp is returned by getters when invoked on non ALU OpCodes.
Endian flags.
InvalidJumpOp is returned by getters when invoked on non branch OpCodes.
InvalidMode is returned by getters when invoked on non load / store OpCodes.
InvalidOpCode is returned by setters on OpCode.
InvalidSize is returned by getters when invoked on non load / store OpCodes.
InvalidSource is returned by getters when invoked on non ALU / branch OpCodes.
Ja jumps by offset unconditionally.
JEq jumps by offset if r == imm.
JGE jumps by offset if r >= imm.
JGT jumps by offset if r > imm.
JLE jumps by offset if r <= imm.
JLT jumps by offset if r < imm.
JNE jumps by offset if r != imm.
JSet jumps by offset if r & imm.
JSGE jumps by offset if signed r >= signed imm.
JSGT jumps by offset if signed r > signed imm.
JSLE jumps by offset if signed r <= signed imm.
JSLT jumps by offset if signed r < signed imm.
JumpClass jump operators.
LdClass load memory.
LdXClass load memory from constant.
Convert to little endian.
LSh - bitwise shift left.
MemMode - load from memory.
Mod - modulo.
Mov - move value from one place to another.
Mul - multiplication.
Neg - sign/unsign signing bit.
Or - bitwise or.
BPF_PSEUDO_CALL.
BPF_PSEUDO_MAP_FD.
BPF_PSEUDO_MAP_VALUE.
R0 contains return values.
Registers for function arguments.
Read-only frame pointer to access stack.
Registers for function arguments.
Registers for function arguments.
Registers for function arguments.
Registers for function arguments.
Callee saved registers preserved by function calls.
Callee saved registers preserved by function calls.
Callee saved registers preserved by function calls.
Callee saved registers preserved by function calls.
RegSource src is from register.
Read-only frame pointer to access stack.
RSh - bitwise shift right.
StClass load register from memory.
StXClass load register from constant.
Sub - subtraction.
Swap - endian conversions.
Word - word; 32 bits.
XAddMode - add atomically across processors.
Xor - bitwise xor.

# Structs

Instruction is a single eBPF instruction.

# Type aliases

ALUOp are ALU / ALU64 operations msb lsb +----+-+---+ |OP |s|cls| +----+-+---+.
BuiltinFunc is a built-in eBPF function.
Class of operations msb lsb +---+--+---+ | ?? |CLS| +---+--+---+.
The Endianness of a byte swap instruction.
Instructions is an eBPF program.
JumpOp affect control flow.
Mode for load and store operations msb lsb +---+--+---+ |MDE|sz|cls| +---+--+---+.
OpCode is a packed eBPF opcode.
Register is the source or destination of most operations.
Size of load and store operations msb lsb +---+--+---+ |mde|SZ|cls| +---+--+---+.
Source of ALU / ALU64 / Branch operations msb lsb +----+-+---+ |op |S|cls| +----+-+---+.