PCI Expressのマルチチャネル DMA インテル® FPGA IPユーザー ガイド

ID 683821
日付 4/20/2022
Public
ドキュメント目次

8.4.2.2. チャネル管理

各 ネットワーク・デバイスは1 つの物理または仮想機能に関連付けられており、最大 512 チャネルをサポートできます。 ネットワーク・デバイス (ifc_mcdma <i>) 起動の一部として、そのデバイスのすべてのチャネルが初期化され、有効になります。アプリケーションからパケットが到着するたびに、Tx キューの1つが選択されて転送されます。

キュー選択の戦略

  1. Linux default queue selection:この場合、キューは Linux マルチ・キュー・サポート機能によって提供されるロジックに基づいて選択されます。
  2. XPS (Transmit Packet Steering): この手法は Linux カーネルの一部であり、複数のコアをデバイスの Tx キューにマップするメカニズムを提供します。これらのコアのいずれかから送信されるすべてのパケットについて、マッピングされた Tx キューが転送に使用されます。詳細については、XPS: Transmit Packet Steeringを参照してください。
  3. MCDMA custom queue selection: この手法は、複数のキューを各コアにマップするメカニズムを提供します。コアごとに個別のリストが管理され、コアに到達するすべての転送フローが追跡されます。これは、各パケットの IP および TCP アドレス上の 4 つのタプル ハッシュと、そのフローに割り当てられたキューの Tx を使用して行われます。

上位層から Tx パケットを受信すると、そのパケットのハッシュを使用してこのテーブルのルックアップが行われます。一致が見つかった場合、対応するキューが転送に使用されます。それ以外の場合、新しいキューがこの新しいフローに割り当てられます。