Profiling and optimizing Open vSwitch

Software defined networking is a new way to design and develop computer networks. It is based on separating the control and data planes of network elements. Another emerging technology is network function virtualization, which allows the developers to design new network functions based on software rather than designing new hardware elements. A commonly used virtual network function is a virtual switch. Open vSwitch is one of the most popular virtual switches. It is an open source, multilayer, production quality virtual switch, which can be controlled with OpenFlow protocol.

The purpose of this thesis is to learn the operation of Open vSwitch. I started to learn the way it works by analysing the source code and reading literature. Then I analysed the behaviour of the switch with different profiling tools under different conditions (traffic patterns, packet sizes, use-cases). After finishing the measurements, I reviewed the tendency of resource-intensive function calls for different use-cases and traffic patterns based on the results.