650) this.width=650; "Title=" http://7xo6kd.com1.z0.glb.clouddn.com/ Upload-ueditor-image-20160810-1470782254351080279.png "src=" http://7xo6kd.com1.z0.glb.clouddn.com/ Upload-ueditor-image-20160812-1470954737834047599.jpg "style=" border:0px;margin:0px;padding:0px;float:none; Height:auto; "/>
In the previous section we discussed the issues that ML2 Plugin solved, and this section will continue to examine the architecture of ML2.
ML2 abstracts and models the two-tier network, introducing the type driver and Mechansim driver.
These two classes of driver decouple the network type (type) supported by Neutron and the mechanism for accessing these network types (mechanism), which results in a very good elasticity, easy expansion, and flexibility to support a variety of type and mechanism.
650) this.width=650; "Title=" http://7xo6kd.com1.z0.glb.clouddn.com/ Upload-ueditor-image-20160812-1470954877877020377.png "src=" http://7xo6kd.com1.z0.glb.clouddn.com/ Upload-ueditor-image-20160812-1470954877877020377.png "alt=" Image509.png "style=" border:0px; "/>
Type Driver
Each network type supported by Neutron has a corresponding ML2 type driver. Type driver is responsible for maintaining the status of the network type, performing validation, creating networks, and so on. The network types supported by ML2 include local, flat, VLAN, Vxlan, and GRE. We'll discuss each type in detail in a later chapter.
Mechansim Driver
Each network mechanism supported by Neutron has a corresponding ML2 Mechansim driver. Mechanism driver is responsible for obtaining the network state maintained by type driver and ensuring that these States are implemented correctly on the appropriate network devices (physical or virtual).
type and Mechanisim are too abstract, now let's give a concrete example: Type driver for VLANs, Mechansim driver for Linux bridge, what we want to do is create the network vlan100, then:
-
vlan type driver Ensures that the vlan100 information is saved to the Neutron database, including the network name, VLAN ID, and so on.
-
There are three types of mechanism driver:
Agent-based
Including Linux bridge, open Vswitch and so on.
Controller-based
Includes Opendaylight, VMWare NSX, and more.
Physical switch based
Includes Cisco Nexus, Arista, Mellanox, and more. For example, in the previous example, if you switch to Cisco's mechanism driver, you will add vlan100 on the specified trunk port of the Cisco physical switch.
The mechanism driver discussed in this tutorial will cover Linux bridge, open vswitch and L2 population.
The role of ML2 mechanism driver for Linux Bridge and open Vswitch is to configure the virtual switches on each node. The type supported by Linux Bridge driver includes local, flat, VLAN, and Vxlan. Open Vswitch Driver supports GRE in addition to these 4 types.
L2 population driver function is to optimize and limit the broadcast traffic in the overlay network. Both Vxlan and GRE belong to the overlay network.
ML2 Core plugin has become the preferred plugin for OpenStack Neutron, and later in this tutorial we'll discuss how to configure ML2 's various types and Mechansim in an experimental environment.
After learning Core Plugin, we will learn about Service Plugin and related agents in the next section.
650) this.width=650; "title=" "src=" http://7xo6kd.com1.z0.glb.clouddn.com/ Upload-ueditor-image-20160812-1470954737957066461.jpg "style=" Border:0px;margin:0px;padding:0px;vertical-align: Middle;color:rgb (63,63,63); font-family: ' Microsoft Yahei '; font-size:15px;line-height:21.75px;text-align:justify; White-space:normal;height:auto;background-color:rgb (246,246,246); "/>
Detailed ML2 Core Plugin (II)-Play 5 minutes per day OpenStack (72)