package bpf

  1. Overview
  2. Docs
Embedded eBPF assembler

Install

Dune Dependency

Authors

Maintainers

Sources

bpf-0.2.tbz
sha256=264b1841507ca9ca3f592acc7ef9a284f0a5ae0263d52cd1990ece1fe07aecae
md5=f1df7018dd45fc057da8c437f1a86270

Description

Generate BPF programs directly from OCaml, for use with Linux kernel socket/seccomp/event filters or to generate machine code with ubpf JIT for userspace.

Tags

org:ygrek

Published: 01 Oct 2017

README

README.md

OCaml embedded eBPF assembler.

eBPF.mli

Assuming R1 points to packet data - check if it is an ARP packet :

let arp =
[
  ldx H R2 (R1,12);
  movi R0 1;
  jmpi `Exit R2 `EQ 0x806;
  movi R0 0;
label `Exit;
  ret
]

See src/test.ml for more examples.

Dependencies (5)

  1. ppx_deriving
  2. topkg build
  3. ocamlbuild build
  4. ocamlfind build
  5. ocaml >= "4.02.0"

Dev Dependencies

None

Used by

None

Conflicts

None

OCaml

Innovation. Community. Security.