NAME
bpfjit —
Just-In-Time compiler for
Berkeley Packet Filter
SYNOPSIS
options BPFJIT
options SLJIT
DESCRIPTION
The
bpfjit 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
bpf(4),
modload(8)
sljit library
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>.