機械翻訳について

Berkeleyパケット・フィルタ(BPF)の拡張機能

Berkeleyパケット・フィルタ(BPF)のUEK 8では、次のようないくつかの重要な更新を使用できます:

  • 専用のBPFメモリー・アロケータを導入して、BPFプログラム内で行われた割り当ての信頼性を向上させ、さまざまなコンテキストで実行できます。

  • 非同期メッセージ渡しのための新しいユーザー・リング・バッファBPFマップ・タイプの追加と、BPFプログラムとユーザー・スペース間のデータ転送の高速化。

  • BPFプログラムは、ロード可能なモジュールからカーネル関数を呼び出すことができ、task_structオブジェクトにアクセスして格納でき、絶対時間値を使用できます。

  • bpf_trace_vprintkなどのフレンドリ・ヘルパー関数と、crash_kexecなどの破壊的ヘルパーも含まれています。

  • BPFプログラムは、フィルタ関数をkfuncsに添付できます。 フィルタは、kfuncを呼び出すことができるコンテキストを制限できます。

  • ツリー外モジュールがUEKリリースの存続期間中に動作するBTFを定義できるように、モジュールのレジリエントBPFタイプ・フォーマット(BTF)情報が含まれています。

  • BPFトランポリンがaarch64プラットフォームで使用可能になり、FentryおよびFexitプログラムを使用してBPFトレース・プログラムの実行が高速化されました。
  • BPFのホック:

    • 完全なパケットを表示およびフィルタします。

    • 新しいソケットのリクエストされたプロトコルを変更するには、主にTCP接続をリクエストするプログラムが代わりにマルチパスTCPを使用するように透過的に設定します。