Modules¶
Modules
- libbpfilter
- Core
- Helpers
_BF_APPLY0_BF_APPLY1_BF_APPLY2_BF_APPLY3_BF_APPLY4_BF_APPLY5_BF_APPLY6_BF_APPLY7_BF_APPLY8_BF_APPLY9_BF_APPLY10_BF_APPLY11_BF_APPLY12_BF_APPLY13_BF_APPLY14_BF_APPLY15_BF_APPLY16__BF_NUM_ARGS1_BF_NUM_ARGS___BF_APPLY_ALL__BF_APPLY_ALL_BF_APPLY_ALLBF_BASE_10BF_BASE_16_BF_ALIGNEDBF_ALIGNED_64BF_ALIGNED_32BF_ALIGNED_16BF_FLAGSBF_FLAGBF_FLAGS_MASKbf_packedbf_unusedBF_STR_BF_STRstatic_assert_enum_mappingTAKE_GENERICTAKE_PTR_TYPETAKE_PTRTAKE_STRUCT_TYPETAKE_STRUCTTAKE_FDARRAY_SIZE_cleanup_close_bf_strerrorbf_swapbf_minbf_max_cleanup_free_BF_FREEPstrerrordesc_np()bf_ltrim()bf_rtrim()bf_trim()bf_freep()closep()bf_memdup()bf_memcpy()bf_realloc()bf_streq()bf_strneq()bf_streq_i()bf_strncpy()bf_read_file()bf_write_file()bf_fnv1a_init()bf_fnv1a()
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:
core: core definitions used bybfcliandlibbpfilter.libbpfilter: core library containing all filtering logic, BPF code generation, and program lifecycle management.bfcli: CLI tool for defining and managing filtering rules vialibbpfilter.helpers: shared macros and utility functions (cleanup attributes, ownership transfer, memory and string helpers).external: non-bpfiltercode, imported into the project to provide consistent external definitions.