facebook / bpfilter

BPF-based packet filtering framework

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

BPF-based packet filtering framework

bpfilter is a daemon and shared library aiming to translate packet filtering rules into BPF programs.

Quick start

To quickly get bpfilter up and running on Fedora (38+):

# Install dependencies
sudo dnf install \
    clang-tools-extra \
    cmake \
    libcmocka-devel \
    doxygen \
    lcov \
    libasan \
    libbpf-devel \
    libubsan \
    python3-breathe \
    python3-furo \
    python3-sphinx \
    pkgconf

# Build bpfilter
cmake -S $BPFILTER_SOURCES -B $BPFILTER_BUILD
make -C $BPFILTER_BUILD
make -C $BPFILTER_BUILD test

# Start bpfilter's daemon
sudo $BPFILTER_BUILD/src/bpfilter

The official documentation contains more details about building the project for Fedora and Ubuntu, as well as building front-ends (e.g. iptables) to use with bpfilter, and an API reference.

License

bpfilter is GPLv2 licensed, as found in the COPYING file.

bpfilter was originally developed by Dmitrii Banshchikov as a Linux kernel usermode helper.

About

BPF-based packet filtering framework

License:GNU General Public License v2.0


Languages

Language:C 94.3%Language:CMake 3.6%Language:Python 2.0%