正式期末專題筆記,公開於 Linux 核心專題: 以 eBPF 打造 TCP 伺服器。
參考 2023 年開發紀錄 之筆記
eBPF (Extended Berkeley Packet Filter)
圖片
使用者在 User space 中撰寫 BPF 程式(C 語言),並透過特殊編譯工具(常見的 BPF 編譯工具包括 LLVM/Clang 和一些專用的 BPF 編譯器 (如 BCC 和 bpftrace))將其轉換為 BPF Bytecode,並注入到 Kernel。
此 Bytecode 是一種經過優化的程式碼,以利在 Kernel 中的效率執行;另外,其有特定格式,以讓 Verifier 能夠有效進行靜態分析。