Visit Website

BPF+ is a generalized packet filter framework that achieves both high-level expressiveness and good performance by compiling a high-level language into a highly efficient native implementation. It uses a novel optimization technique called "redundant predicate elimination" to minimize computation by exploiting semantic redundancies across multiple, independent filters. BPF+ derives from the BSD packet filter (BPF) and includes a filter program translator, a byte code optimizer, a byte code safety verifier, and a just-in-time assembler to convert byte codes to efficient native code. It provides a programmable selection criterion for classifying or selecting packets from a packet stream in a generic, reusable fashion, making it suitable for applications like network monitoring and intrusion detection that require both flexibility and high performance. BPF+ has been shown to achieve performance comparable to state-of-the-art packet filter architectures and better than hand-coded filters written in C.

ALTERNATIVES