Modules¶
bpfilter
is composed of multiple modules depending on each other. Splitting the project in different modules allows for the source code to be efficiently reused, be it for bfcli
, bpfilter
’s daemon, or libbpfilter
:
core
: core definitions used by the daemon,bfcli
, andlibpfilter
.bpfilter
: daemon logic, including translation of the front-end (client) data intobpfilter
’s internal format, and the BPF bytecode generation logic.bfcli
: generic client to communicate with the daemon.libbpfilter
: static and shared library to communicate with the daemon.external
: non-bpfilter
code, imported into the project to provide consistent external definitions.