問題タブ [bpf]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
linux - BPF: プログラムコンテキストの翻訳
さまざまな種類のBPF
プログラムを調べていたところ、プログラムの種類ごとにコンテキストが異なる方法で渡されていることに気付きました。
例:
program type
BPF_PROG_TYPE_SOCK_OPS
の場合、 type のオブジェクトstruct bpf_sock_ops_kern
が渡されます。ただし、このタイプの BPF プログラムは への参照を取りますstruct bpf_sock_ops
。なぜこのように行われるのですか? からbpf_sock_ops_kern
への「翻訳」はどこにありbpf_sock_ops
ますか?プログラム type
BPF_PROG_TYPE_CGROUP_SKB
の場合、 type のオブジェクトstruct sk_buff
が渡されますが (たとえば in__cgroup_bpf_run_filter_skb
)、BPF プログラムは最小化されたバージョンstruct __sk_buff
.
そこで、struct bpf_verifier_ops
関数 callbacksを調べましたが、BPF ベリファイアによって呼び出されるため、BPF 命令のオフセットのみを調整しているようです。
誰かが BPF コンテキストがどのように定義されているかを明らかにできれば幸いです。ありがとう。
concurrency - Linux TC eBPF と同時実行性
カーネルが複数の CPU で同時に実行できる eBPF プログラムのインスタンスの数に制限はありますか (python GIL の問題と同様)。
特に、eBPF tc プログラムは複数の CPU で同時に動作できますか?
複数の CPU で同じコードを実行している場合、eBPF によってカーネル データ構造のロックはどのように行われますか?
wireshark - BPF フィルター送信元アドレス == 送信アドレス
送信元 MAC アドレスが送信 MAC アドレスと等しいパケットのみを受信するための正しい BPF フィルターは何ですか?
wlan[21:12]
ドキュメントを見ると、フィールドは または のいずれかで利用できるはずwlan.addr2
ですが、それらを機能させることができません。