All Projects → alnsn → bpfjit

alnsn / bpfjit

Licence: BSD-2-Clause License
Just-in-Time compilation of bpf

Programming Languages

c
50402 projects - #5 most used programming language
Makefile
30231 projects
objective c
16641 projects - #2 most used programming language

Projects that are alternatives of or similar to bpfjit

Rbpf
Rust virtual machine and JIT compiler for eBPF programs
Stars: ✭ 306 (+1076.92%)
Mutual labels:  jit-compiler, bpf
pwru
Packet, where are you? -- Linux kernel networking debugger
Stars: ✭ 694 (+2569.23%)
Mutual labels:  bpf
psutil
Cross-platform lib for process and system monitoring in Python
Stars: ✭ 8,488 (+32546.15%)
Mutual labels:  netbsd
packiffer
lightweight cross-platform networking toolkit
Stars: ✭ 52 (+100%)
Mutual labels:  bpf
jingle
🔔 Jingle is a dynamically-typed, multi-paradigm programming language designed for humans and machines.
Stars: ✭ 34 (+30.77%)
Mutual labels:  jit-compiler
packetdrill
packetdrill with UDPLite and SCTP support and bug fixes for FreeBSD
Stars: ✭ 37 (+42.31%)
Mutual labels:  netbsd
Compiler-written-in-Haskell
A Turing complete language 😉
Stars: ✭ 31 (+19.23%)
Mutual labels:  jit-compiler
jitm
JITM is an automated tool to bypass the JIT Hooking protection on a .NET sample.
Stars: ✭ 27 (+3.85%)
Mutual labels:  jit-compiler
bpflock
bpflock - eBPF driven security for locking and auditing Linux machines
Stars: ✭ 54 (+107.69%)
Mutual labels:  bpf
aya
Aya is an eBPF library for the Rust programming language, built with a focus on developer experience and operability.
Stars: ✭ 950 (+3553.85%)
Mutual labels:  bpf
basil
Fast and flexible language exploring partial evaluation, context-sensitive parsing, and metaprogramming. Compiles JIT or AOT to native code.
Stars: ✭ 93 (+257.69%)
Mutual labels:  jit-compiler
kcs
Scripting in C with JIT(x64)/VM.
Stars: ✭ 25 (-3.85%)
Mutual labels:  jit-compiler
dmjit
.dmJIT is a Rust-based JIT compiler using modified auxtools, dmasm and Inkwell LLVM wrapper for boosting Byond DM performance without any hassle! (formerly known as dm-jitaux)
Stars: ✭ 18 (-30.77%)
Mutual labels:  jit-compiler
Awesome-BSD-Ports-Programs-And-Projects
A Repo Detailing BSD Ports, Programs, and Projects.
Stars: ✭ 46 (+76.92%)
Mutual labels:  netbsd
oxdpus
A toy tool that leverages the super powers of XDP to bring in-kernel IP filtering
Stars: ✭ 59 (+126.92%)
Mutual labels:  bpf
XDP-Firewall
An XDP firewall that is capable of filtering specific packets based off of filtering rules specified in a config file. IPv6 is supported!
Stars: ✭ 129 (+396.15%)
Mutual labels:  bpf
osutil
Go library to easily detect current operating system, current Linux distribution, macOS version and more...
Stars: ✭ 22 (-15.38%)
Mutual labels:  netbsd
bpfps
A tool to list and diagnose bpf programs. (Who watches the watchers..? :)
Stars: ✭ 93 (+257.69%)
Mutual labels:  bpf
ocaml-bpf
OCaml embedded eBPF assembler
Stars: ✭ 18 (-30.77%)
Mutual labels:  bpf
Corium
Corium is a modern scripting language which combines simple, safe and efficient programming.
Stars: ✭ 18 (-30.77%)
Mutual labels:  jit-compiler

Just-in-Time Compilation for Berkeley Packet Filter

Build Status

Prerequisites

You need sljit (http://sljit.sourceforge.net/) and mk-configure (http://sourceforge.net/projects/mk-configure/) to build bpfjit.

It is recommended to use pkgsrc and install devel/mk-configure. The pkgsrc guide is available at http://www.netbsd.org/docs/pkgsrc/.

The sljit code must be at revision around 8d536bf7c334f9e31a5cc366e5d5d8cd1cd431b1 or newer, try getting the latest version and checking whether it works:

$ git clone [email protected]:/zherczeg/sljit.git

$ tar cf sljit-latest.tar sljit/

Building

Extract sljit tarball to sljit/ subdirectory. Make sure you pass --keep-old-files (-k) option to tar to keep Makefiles from bpfjit.

$ cd sljit/

$ tar kxf /path/to/sljit-latest.tar

Then you can build bpfjit with this command

$ mkcmake

and install:

$ export DESTDIR=/path/of/your/choice

$ env PREFIX=/ mkcmake install

Testing

$ export LD_LIBRARY_PATH=${DESTDIR}/lib

$ cd ${DESTDIR}

$ ./bin/bpfjit_test

$ echo $?

You should see zero exit status.

Packages

Just build the package, install it and link the library using the -lbpfjit flag.

  • RPM (tested on RHEL/CentOS 7): make rpm
  • DEB (tested on Debian 9): make deb
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].