2014-10-21 126 views
0

我在玩ovs-dpdk軟件包https://github.com/01org/dpdk-ovs,我不清楚的一件事是我如何讓OVS橋和連接到它的虛擬機能夠訪問外部,即。到網絡。在常規的openvswitch上,由vswitch創建的網橋設備在Linux中是「可見的」,並且可以通過常規工具(ifconfig,ethtool等)進行配置,因此我可以創建TAP接口並將其添加到vswitch網橋接口並分配網橋接口IP地址。但是,對於ovs-dpdk,情況並非如此:任何使用ovs-vsctl創建的橋在用戶空間linux中都是不可用的,至少我沒有在ifconfig或「ip link show」中看到它。DPDK Open vSwitch無法訪問網絡

有沒有另一種方法OVS-DPDK做到這一點?希望有人能夠解決這個問題。謝謝。

回答

1

當它使用DPDK訪問網卡時,ovs-dpdk將接管網卡並且不允許常規內核驅動程序執行它們的操作。

這意味着如果您將硬件與dpdk io驅動程序綁定,則不會再從Linux主機中看到該接口。但是,您可以在dpdk-ovs中將這些原始dpdk接口橋接/挖掘/鏡像到您的虛擬機或其他內核常規驅動程序可見的接口。你不能在dpdk擁有的接口上做到這一點。

將dpdk集成到ovs中的重點是繞過所有內核驅動程序,並儘可能快地從vswitch獲取數據包,以便可以將它們本地路由到您的虛擬機和其他本地接口,就像您在橋配置。

+0

感謝您的評論。你看起來像你與DPDK/OVS相當廣泛的合作?我閱讀了更多有關DPDK的文檔,並瞭解到它提供了'高級'TAP接口,它們稱爲主機KNI(內核網絡接口),並且該接口可以爲虛擬機提供通道,即qemu,以訪問主機外部。那麼這是否意味着必須在OVS橋中添加KNI接口,並且KNI將作爲公共接口(並且必須爲其分配公共IP地址)? – Mark 2014-10-27 11:57:38