SR-IOV仮想機能(VF)NIC間でパケットを転送する

Aug 17 2020

IntelSR-IOVをサポートするIntel82599ES 10GNICを持っています。その8つの仮想関数(VF)を正常に作成し、2つのqemu / kvm VM(VMごとに2つのVF)に割り当てました。両方のVMは、割り当てられたVFを使用してDPDKアプリケーション(一方はwarp17、もう一方はカスタムアプリケーション)を実行します。私がする必要があるのは、warp17を使用してトラフィックを送信することにより、カスタムDPDKアプリケーションをテストすることです。私のテスト設定は次のようになります。赤い矢印はトラフィックパスを表しています。

私の物理NIC(PF)は、dpdkポーリングモードドライバー(igb_uio)を使用しています。私がする必要があるのは、赤い矢印で示されているように、VF間でトラフィックをルーティングすることです。おもうhttps://doc.dpdk.org/guides/prog_guide/switch_representation.htmlスイッチング動作について説明しましたが、理解できません。ワープ17と私のカスタムdpdkアプリケーションは、どちらも物理ハードウェアで完全に機能します。私がやろうとしているのは、リソースを保護するためにテストセットアップを仮想化することです。誰かがそのような構成をしようとしたことがありますか?

回答

2 VipinVarghese Aug 17 2020 at 17:53

X710fortvilleとNinaticASICのどちらにも、82599ES内部ブリッジングまたは転送、VERBまたははありませんfeature。最良のオプションは、のようなソフトウェア仮想スイッチSPPOVS-DPDKまたはvirtioまたはtapを介してパケットを転送するカスタムアプリケーションを用意することです。

それでも物理NICまたはx710または82599ESを使用する場合は、もう一方の端で接続を確立し、ロジックを実行してパケットを関連するVFに転送する必要があります(dst macの変更)。