NAME
bpfjit
—
Just-In-Time compiler for Berkeley
Packet Filter
SYNOPSIS
options BPFJIT
options SLJIT
DESCRIPTION
Thebpfjit
kernel interface adds
Just-In-Time compilation of filter programs sent to a
bpf(4)
device. Instead of being interpreted for every packet, these filter programs
are compiled into native code and the code is being executed for every packet.
The implementation of
bpfjit
is based on the
Stack-Less
Just-In-Time library, or sljit
for short.
The library supports multiple platforms including
- AMD-x86 64
- ARM 32 (ARM-v5, ARM-v7 and Thumb2 instruction sets)
- Intel-x86 32
- MIPS 32 (III, R1)
- MIPS 64 (III, R1)
- PowerPC 32
- PowerPC 64
- SPARC 32
bpfjit
supports all architectures listed
above.
bpfjit
is also available as a module in
modular kernels.
SYSCTLS
The following sysctl is available when
bpfjit
is enabled:
net.bpf.jit
- Toggle Just-In-Time compilation of new filter programs. Changing a value of this sysctl doesn't affect existing filter programs.
SEE ALSO
HISTORY
The bpfjit
interface first appeared in
NetBSD 7.0.
AUTHORS
The bpfjit
code was written by
Alexander Nasonov
<alnsn@NetBSD.org>.
The sljit
library was written by
Zoltan Herczeg
<hzmester@freemail.hu>.