Open vSwitch is a multilayer software switch that runs as a daemon on Linux systems and provides virtual switching capabilities for virtualized environments.
Open vSwitch solves the problem of managing network traffic in virtual machine and container deployments by implementing a production-quality software switch with programmable forwarding. It operates through a modular architecture where ovs-vswitchd implements the switching logic, ovsdb-server provides configuration management, and a Linux kernel module handles high-performance flow-based forwarding. The tool supports standard networking protocols including OpenFlow, VLAN trunking, tunneling technologies like VXLAN and Geneve, and provides visibility through NetFlow and sFlow. It can run either with kernel module acceleration for performance or entirely in userspace for portability.
The tool suits organizations deploying KVM or VirtualBox virtualization who need a switch that spans multiple physical servers and integrates with standard network management interfaces. It is particularly valuable where programmatic control of forwarding rules is required. The project supports both kernel-based operation for high-performance scenarios and userspace operation for easier porting to different environments, though the userspace implementation without DPDK acceleration carries a performance cost. Administrators can query and control the switch through utilities like ovs-vsctl and ovs-appctl, while network operators can use ovs-ofctl to manage OpenFlow rules.
The project maintains active continuous integration testing across Linux and FreeBSD platforms. Development activity shows sustained engagement with the codebase through regular updates to documentation and build infrastructure. The project sustains a comprehensive test suite that validates both build and runtime behavior across supported platforms.