Overview
Open vSwitch (OVS) is a software switch for VM and container networking with VLANs, bonding, QoS, NetFlow/sFlow, VXLAN/Geneve tunneling, and OpenFlow control. OVSDB provides transactional configuration and the platform is designed for programmable networking across virtualized hosts.
Features and best fit
Based on official documentation; not hands-on tested · Content checked:
Build virtual networks with VLANs, tunnels, and bonding
OVS supports 802.1Q VLANs, LACP bonding, and overlays such as VXLAN, Geneve, and GRE for VM and container connectivity.
Sources: [2]
Program configuration and forwarding with OVSDB and OpenFlow
ovs-vsctl manages transactional OVSDB configuration while OpenFlow interfaces expose flow-level control over forwarding behavior.
For virtualization, SDN, and programmable overlay networks
OVS fits KVM, container, and overlay environments that need programmable switching, traffic visibility, and distributed virtual networking.
Validate physical-NIC changes and mixed licensing
Adding physical interfaces to an OVS bridge can change host reachability, so test in isolation. The README states that most code is Apache-2.0 while datapath and some other files use GPLv2, BSD, or other licenses.
Official sources
- [1]openvswitch/ovs repository(2026-09-20)
- [2]Open vSwitch README(2026-09-20)
- [3]Open vSwitch Apache-2.0 license(2026-09-20)
- [4]Open vSwitch documentation(2026-09-20)
Supplemental curator note
Open vSwitch is useful when virtual networks need richer tunneling, OpenFlow, OVSDB, and visibility than a basic software bridge. Adding a physical NIC to a bridge can disrupt host connectivity, so start with an isolated test bridge. Most userspace code is Apache-2.0, while datapath and some files use other licenses.
Try it in 3 steps
- 1
Install Open vSwitch in a test environment
Use the official instructions or a distribution package in an isolated Linux VM.
https://docs.openvswitch.org/en/latest/intro/install/ - 2
Create a test bridge without a physical NIC
Verify OVSDB and bridge management without changing host connectivity.
sudo ovs-vsctl add-br br-test && sudo ovs-vsctl show - 3
Remove the test bridge
Delete the bridge after testing. Add physical NICs or tunnels only in an isolated network lab.
sudo ovs-vsctl del-br br-test
Growth
Growth trends · Last 30 days
4,016 Stars
Trend data is still being collected.
Development activity
Last 90 days · weekly
- Commits (last 30 days)
- 6
- Open PRs
- 0
- Issues opened
- 0
- Issues closed
- 0
- PRs opened
- 0
- PRs merged
- 0
Issues
0 / 0
Pull requests
0 / 0
Maintenance
- Median first response
- Not specified
- Issue response rate
- No eligible issues
Based on up to the 100 newest issues opened by external users in the last 90 days. A first comment from an OWNER, MEMBER, or COLLABORATOR counts as a response; issues whose full comment history cannot be checked are excluded. The median and response rate update weekly.
Built with
Categories and tags
Categories
GitHub data
GitHub dataView detailed GitHub data
- Stars
- 4,016
- Forks
- 2,019
- Watchers
- 347
- Open issues
- 0
- Contributors
- 292
- Primary language
- C
- License
- Apache-2.0
- Repository last updated
- Sep 15, 2026
Related information
Write a related articleShare a guide or use case for this OSS in Markdown. Articles are published after administrator approval.
Explore next
- Kubernetes127,843 Stars
A cloud-native platform for deploying, maintaining, and scaling containers across hosts.
Go - RustDesk124,007 Stars
A cross-platform Rust remote desktop with NAT traversal, relay fallback, and optional self-hosted ID/relay infrastructure.
Rust - Supabase110,326 Stars
An open Postgres development platform combining Database, Auth, APIs, Realtime, Storage, and Functions.
TypeScript - Moby72,112 Stars
Docker's upstream open-source project for assembling container platforms from replaceable components.
Go - Ansible70,732 Stars
An agentless SSH-based platform for configuration, deployment, cloud, and network automation using human-readable descriptions.
Python
Report incorrect information
Tell us if any listing information is incorrect or outdated.