ABSTRACT

There are many open-source virtual switches including Open vSwitch (OVS), Snabb Switch, Lagopus, VPP, and Tungsten Fabric. This chapter introduces the concept of a virtual switch and use OVS as an example. The virtual switch maintains virtual connections to multiple network interfaces, both physical and virtual. Unlike a physical switch which is typically implemented by means of fixed function proprietary hardware with specialized high-speed memory, e.g., ternary content-addressable memory, virtual switches can run on COTS hardware, making their deployment much more flexible, but resource limited. Some alternatives to virtual switching exist for north-south communication, such as Single Root I/O virtualization and PCIe pass-through. Although very performant, these techniques are more simplistic and do not provide complex features such as connection tracking and network overlay that the virtual switch provides and, as a result, are not always suitable for real-world use cases.