问题
linux bridge不支持vlan, openvswitch支持. 在虚拟机环境中测试neutron的vlan功能时需要宿主机的虚拟网支持vlan.
安装openvswitch
- 启用rdo源
-
安装openvswitch
yum install -y openvswitch
-
开启openvswitch服务
systemctl enable openvswitch systemctl start openvswitch
配置openvswitch和libvirt
-
建立openvswitch桥
ovs-vsctl add-br testbr0
- 更改libvirt配置
这里演示了一个虚拟网络允许通过vlan 47, 将vlan 42的摘掉vlan tag.
network部分:
$ virsh net-edit test_net
<network>
<name>test_net</name>
<forward mode='bridge'/>
<bridge name='testbr0' />
<vlan trunk='yes'>
<tag id='47'/>
<tag id='42' nativeMode='untagged'/>
</vlan>
<virtualport type='openvswitch'/>
</network>
虚拟机interface部分:
$ virsh edit test_vm
... ...
<interface type='network'>
<source network='test_net'/>
<model type='virtio'/>
</interface>
... ...