【问题标题】:DPDK Open vSwitch can't access the networkDPDK Open vSwitch 无法访问网络
【发布时间】:2014-10-21 22:37:47
【问题描述】:

我正在使用 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”中看不到它。

OVS-DPDK 是否有另一种方法可以做到这一点?希望有人可以解决这个问题。谢谢。

【问题讨论】:

    标签: openvswitch dpdk


    【解决方案1】:

    ovs-dpdk 在使用 DPDK 访问 NIC 时将接管 nic 并且不允许常规内核驱动程序执行它们的操作。

    这意味着如果您将硬件与 dpdk io 驱动程序绑定,您将不会再从 linux 主机看到该接口。但是您可以在 ovs 中将 dpdk-ovs 中的这些原始 dpdk 接口桥接/点击/镜像到您的虚拟机或内核的常规驱动程序可见的另一个接口。您只是不能在 dpdk 拥有的接口上执行此操作。

    将 dpdk 集成到 ovs 的全部意义在于绕过所有内核驱动程序并尽可能快地从 vswitch 获取数据包,以便它可以将它们本地路由到您在网桥中设置的 VM 和其他本地接口配置。

    【讨论】:

    • 感谢您的评论。看起来您与 DPDK/OVS 的合作非常广泛?我阅读了更多关于 DPDK 的文档并了解到它提供了“高级”TAP 接口,他们称之为主机 KNI(内核网络接口),并且该接口可以为虚拟机(即 qemu)提供访问主机外部的通道。那么这是否意味着 KNI 接口也必须添加到 OVS 桥中,并且 KNI 将用作公共接口(并且必须分配公共 IP 地址)?
    猜你喜欢
    • 2016-03-05
    • 2014-01-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-16
    • 2011-10-19
    相关资源
    最近更新 更多