9

RDMA チャネルを経由するトラフィックをキャプチャするための Linux の tcpdump のようなユーティリティはありますか? (インフィニバンド/RoCE/iWARP)

4

5 に答える 5

10

古いスレッドですが、まだ:

Roland が指摘したように、RDMA トラフィックのスニッフィングは注意が必要です。エンドポイントが最初のハンドシェイクを行うと、トラフィックはネットワーク カード (HCA) を介してメモリに直接送られるからです。専用のハードウェア スニファーをネットワークに配置せずにこのトラフィックをスニッフィングする唯一の方法は、ネットワーク カードにベンダー固有のフックを配置し、これらのフックを使用する SW ツールを使用することです。

Mellanox HCA がある場合は、「ibdump」ツールを使用できます。このツールは、Mellanox OFED パッケージの一部でもあります。

他のベンダーのハードウェアを使用している場合は、そのベンダーに確認する必要があります。申し訳ありませんが、すべての RDMA 対応デバイス用のオープンソース パケット スニファーは見つかりません。

于 2012-11-19T15:22:41.870 に答える
4

一般的に、いいえ。RDMA の主な特徴の 1 つは、すべてのネットワーク処理がアダプター上で行われ、CPU がまったく関与しないことです。通常、作業要求は、システム コールなしで、ユーザー空間からアダプターに直接キューに入れられます。そのため、スニファがトラフィックを取得するためにフックする場所はありません。

そうは言っても、イーサネットプロトコル、iWARPまたはIBoE(別名RoCE)の場合、接続の途中でシステムを接続し、ソフトウェア(Linuxブリッジモジュールなど)で転送を行うように設定してから、tcpdumpまたはwiresharkを実行できますこのシステムを通過する RDMA トラフィックをキャプチャします。Wireshark には、iWARP および IBoE 用のディセクタもあります。

ネイティブ InfiniBand の場合、理論的には似たようなものを構築することは可能です (トラフィックをキャプチャして転送するためのアダプターをセットアップします) が、私の知る限り、基本的なパケット スニッフィングを行うために必要なファームウェアやドライバーの作業さえ行った人はいません。

于 2012-09-27T07:09:54.737 に答える
3

Chelsio の T4 デバイスはパケット トレース機能をサポートしており、デバイスの NIC キューの 1 つに入力/出力オフロード パケットを複製できます。次に、その ethX インターフェイスで tcpdump などを使用して、RDMA または TOE パケットを確認できます。

于 2012-09-27T14:17:55.930 に答える