openstack如何支持vlan trunk功能

      大多数场景下,主机收发的是不带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版本(2017年)后,已经支持了802.1ad,详见https://github.com/openvswitch/ovs/commit/f0fb825a3785320430686834741c718ff4f8ebf4

        因此从这种意义来说,老openstack版本这个功能在升级openvswitch版本后,是否就可以很好的支持,需要验证;

    (二)VLAN aware VMs

     OpenStack Newton版本的特性,由VLAN aware VMs定义。标准的802.1Q协议。这个openvswitch早就支持(有多早呢?在ovs 1.3 就开始支持trunk accss等特性)

     需要修改neutron.conf配置,service_plugins=,,,trunk 增加trunk。然后在创建好的network上增加相应的属性。

 

   

参考文档:

 https://www.sdnlab.com/19761.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章