Perlで始めるeBPF: 自作Loaderの作り方 by Takeru Hayasaka

YAPC::Hakodate 2024
採択
2024/10/05 10:10〜
Track B
トーク (40分)

Perlで始めるeBPF: 自作Loaderの作り方

takemioIO Takeru Hayasaka takemioIO
8

eBPFについて紹介するトークです。
ただ紹介するのではつまらないので、eBPFのLoaderをPerlで自作し、KernelにAttachします。
この発表を通じて現代のLinuxにおけるeBPFの使われ方と、eBPFバイナリの面白さを伝えます。

  • eBPFとは
    • 概要
    • 使われ方 (オブザーバビリティ、パケット処理、ミドルウェアのインジェクションコードなど)
  • 自作eBPF LoaderをPerlで実装
    • PerlのコードからeBPFを実行
    • eBPFのELFバイナリをパースし、BTFを元にシステムコールしてKernelにロード
    • 可能であればeBPF Mapの読み書き機能も実装予定(実装が終わるのか...?)
  • 実装したeBPF Loaderを使って実演

対象者

eBPFのバイナリの構造を理解したい方
PerlでeBPFを実行してみたい方