In this article we are going to cover the installation of Open vSwitch on Ubuntu Linux system. Open vSwitch (commonly referred to as OVS), is a multilayer virtual switch known for high-performance. It is created with the intention of providing advanced networking functionalities in virtualized environments. Here is a list of key Open vSwitch features.
- High Performance: OVS supports DPDK (Data Plane Development Kit) for faster packet processing.
- Has advanced Tunneling & Encapsulation: It supports multiple tunneling protocols for overlay networking. This includes VXLAN, GRE, and Geneve.
- Support for multi-Layer Switching: Open vSwitch supports both Layer 2 (L2) Ethernet switching and Layer 3 (L3) routing
- Deep Linux integration: It works with Linux bridges, iptables, nftables, and eBPF. Other use cases include OpenStack Neutron networking, Kubernetes, e.t.c.
- SDN and NFV (Network Function Virtualization) advanced support
- Among many other features
Installing Open vSwitch on Ubuntu or Debian
In this section we provide the steps used to install Open vSwitch on Ubuntu or Debian Linux. The packages are available in the default OS repositories.
Update system package list.
sudo apt update
Install the packages the provide OVS utilities.
sudo apt install openvswitch-common openvswitch-switch
Press y to progress the installation
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following additional packages will be installed:
libevent-2.1-7t64 libunbound8 libxdp1 python3-openvswitch python3-sortedcontainers
Suggested packages:
openvswitch-doc python-sortedcontainers-doc
The following NEW packages will be installed:
libevent-2.1-7t64 libunbound8 libxdp1 openvswitch-common openvswitch-switch python3-openvswitch python3-sortedcontainers
0 upgraded, 7 newly installed, 0 to remove and 18 not upgraded.
Need to get 4,358 kB of archives.
After this operation, 13.7 MB of additional disk space will be used.
Do you want to continue? [Y/n] y
Service should show as active, ignore “exited”.
$ systemctl status openvswitch-switch.service
● openvswitch-switch.service - Open vSwitch
Loaded: loaded (/usr/lib/systemd/system/openvswitch-switch.service; enabled; preset: enabled)
Active: active (exited) since Sat 2025-03-15 00:28:07 EAT; 23s ago
Process: 37983 ExecStart=/bin/true (code=exited, status=0/SUCCESS)
Main PID: 37983 (code=exited, status=0/SUCCESS)
CPU: 2ms
Mar 15 00:28:07 ovs.cloudspinx.com systemd[1]: Starting openvswitch-switch.service - Open vSwitch...
Mar 15 00:28:07 ovs.cloudspinx.com systemd[1]: Finished openvswitch-switch.service - Open vSwitch.
Executing ovs-vsctl show
command will display version of OVS installed.
$ ovs-vsctl show
c5b16204-1afa-4ecf-8292-188fa32bc5f6
ovs_version: "3.3.0"
Using Open vSwitch
Check out the article we wrote about using OVS with KVM: