2 releases
Uses old Rust 2015
0.1.1 | Sep 23, 2016 |
---|---|
0.1.0 | Aug 17, 2016 |
#41 in #jit-compiler
23KB
643 lines
BPF JIT
BPF to amd64 JIT compiler for rust extracted from FreeBSD 10 tree.
Example usage
extern crate bpfjit;
extern crate pcap;
use std::mem;
fn main() {
let pcap = pcap::Capture::dead(pcap::Linktype(12 /* raw ip */)).unwrap();
let bpf_prog = pcap.compile("tcp and dst port 80").unwrap();
let insns = bpf_prog.get_instructions();
let filter = bpfjit::BpfJitFilter::compile(unsafe {
mem::transmute(insns)
}).unwrap();
let data = [1,2,3,4];
if filter.matched(&data[..]) {
// ...
}
}
Dependencies
~54KB