spt-ebpf
Real eBPF programs for SPT vector distance computation
Overview
spt-ebpf provides pre-written BPF C source programs and a compiler pipeline for building eBPF object files that accelerate SPT vector operations at the kernel level. Programs include XDP-based distance computation, socket-level port filtering, and TC-based query priority routing. Compiled programs are embedded in SPT stores with SHA3-256 integrity verification.
Key Features
- BPF C source programs -- XDP distance computation, socket filtering, TC query routing
- Clang-based compiler --
EbpfCompilerinvokes clang to produce BPF ELF objects - Integrity verification -- SHA3-256 hashing of compiled ELF bytes
- SPT store embedding --
CompiledProgramproducesEbpfHeaderfor direct store integration - Configurable optimization -- O0 through O3 optimization levels
Dependencies
Key internal dependencies:
spt-types-- eBPF header types (EbpfHeader,EbpfProgramType,EbpfAttachType)sha3-- SHA3-256 integrity hashingtempfile-- temporary file management during compilation
Usage
rust
use spt_ebpf::{EbpfCompiler, OptLevel};
let compiler = EbpfCompiler::new(OptLevel::O2);
// Compile a BPF C source into an ELF object
// let program = compiler.compile("xdp_distance.c")?;
// let header = program.to_ebpf_header(512);API Reference
Core Types
| Type | Description |
|---|---|
EbpfCompiler | Invokes clang to compile BPF C sources into ELF objects |
CompiledProgram | Holds compiled ELF bytes, metadata, and SHA3-256 hash |
OptLevel | Clang optimization level (O0, O1, O2, O3) |
EbpfError | Error type for compilation and I/O failures |