大多数场景下,主机收发的是不带tag的报文,但是在实际环境中,无论是windows还是Linux环境都通过各自的方法可以收发带有vlan tag的报文。 而一个虚机要想接收不同vlan tag的报文,则需要在虚机上接入不同网络,就意味着在虚机上多一个虚拟网卡,这样如果很多vlan就会有很多接口,管理起来很不方便。尤其在NFV场景中,虚机充当了一个虚拟网络设备,因此接收多个vlan tag的报文就是硬性需求。因此openstack创建的虚机中,能接收带有vlan tag的报文这个需求就更加迫切了。
为了解决这个问题,openStack 先后出了两个方案,一个方案是Neutron VLAN Transparency,另一个方案是VLAN aware VMs。
(一) Neutron VLAN Transparency
在openstack kilo版本特性,VLAN trunking networks for NFV。该功能是802.1ad协议,而当时openvswitch是不支持802.1ad的,所以当时这个功能发布的主要针对一个SDN网络组建。该功能不需要修改配置,只需要在创建network的时候,增加一个参数vlan-transparent=True即可,driver支持就支持,不支持返回来“Backend does not support VLAN Transparency.”。
按是实际上openvswitch在2.8版本&