As discussed in the first chapter, virtualization and cloud computing are pushing the network boundary from the physical network to the virtual network. The non-virtualized physical servers are connected to the physical network switches for connectivity. The shift from physical to virtual networking implies that the virtual machines should be connected to the virtual switches for connectivity.
In order to allow the multiple networking technologies to interoperate, Neutron uses the concept of plugins. The Modular Layer 2 (ML2) is a type of core plugin that supports multiple drivers so that the plugin functionality can be extended and customized. The ML2 plugin comprises of type drivers and mechanism drivers.
Open vSwitch, popularly referred to as OVS, is one of the implementations of the virtual switches for the Linux platforms. It is an open source, production quality, virtual switch that supports the rich networking protocols and features.
In order to implement these recipes, you will need an OpenStack setup as described here:
This setup has one compute node and one node for the controller and networking services. For this chapter, you can also use a single all-in-one OpenStack setup.
As discussed in the previous chapter, the core functionality of Neutron is to provide Layer 2 (L2) connectivity. Neutron provides this functionality through the use of a core plugin. All the recipes of this chapter assume that ML2 is the core plugin in the Neutron configuration file.