首页 文章

VM中的Open vSwitch桥不会通过端口发送流量

提问于
浏览
0

我试图在虚拟机中运行Pike发布的OpenStack Kolla和Open vSwitch,作为测试/开发环境的一部分 . 我觉得我错过了一些明显的东西,但我只想弄清楚 .

在VM中,在docker容器中打开vSwitch .

VM和主机中的版本是:

openvswitch-switch/xenial-updates,now 2.8.1-0ubuntu0.17.10.2~cloud0 amd64 [installed] 我使用以下方法创建桥:

ovs-vsctl add-br br-ex ovs-vsctl add-port br-ex ens3 ip addr flush ens3

我在裸机服务器上运行相同的命令,它工作得很好 . 在VM中,br-ex的MAC地址与NIC的MAC不匹配 . 它们MAC在裸机实例上匹配 .

如果我删除了网桥 ovs-vsctl del-br ,那么流量通常会通过ens3接口流动 .

当桥梁处于活动状态时,ovs系统被列为nic的一种能力 .

ovs-vsctl show
<snip>
    Bridge br-ex
        Port "ens3"
            Interface "ens3"
        Port br-ex
            Interface br-ex
                type: internal

我可以看到的主要区别是VM中的ens3正在使用net-virtio驱动程序 . 我不明白为什么这会有所作为 .

Ubuntu 16.04.4是主机和虚拟机的操作系统 . 使用典型的KVM,QUEMU和libvirt设置计算节点 .

1 回答

  • 0

    我仍然不知道为什么这在VM中的行为与在裸机上的行为不同 . 在网桥上设置MAC以匹配网络接口解决了此问题 .

    ovs-vsctl add-br br-ex -- set bridge br-ex other-config:hwaddr=\"ff:ff:ff:ff:ff:ff\"'
    

相关问题