Fact-checked by Grok 2 weeks ago

Open vSwitch

Open vSwitch (OVS) is a production-quality, multilayer virtual switch licensed under the open-source Apache 2.0 license, designed to enable massive network automation through programmatic extension while supporting standard management interfaces and protocols such as , sFlow, and . It originated in 2008 at Nicira Networks, a startup, and following Nicira's acquisition by in 2012, development continued under VMware's stewardship, with contributions from a global open-source community. Open vSwitch addresses the challenges of networking in virtualized and environments by providing a flexible platform that spans multiple physical machines, supporting major Linux-based hypervisors including KVM and . Its architecture features a high-performance module for fast packet processing, combined with a userspace daemon for and , enabling efficient flow-based forwarding through advanced caching mechanisms like microflows and megaflows. The project emphasizes portability, with implementations in platform-independent C code, and has been integrated into the mainline since version 3.3, released in March 2012, allowing seamless deployment in Linux-based systems. Key features of Open vSwitch include support for 802.1Q VLANs, NIC bonding, (QoS) policing, and tunneling protocols such as VXLAN, Geneve, and GRE, making it suitable for multi-tenant data centers and (SDN) deployments. It also incorporates a transactional configuration database for consistent across distributed systems and experimental userspace options for enhanced portability, including with DPDK for accelerated . Widely adopted in production environments by organizations like Rackspace and integrated into platforms such as and , Open vSwitch has become a cornerstone for virtual networking, achieving high cache hit rates (up to 97.7%) and throughput comparable to native bridging in optimized configurations.

Overview

Definition and Purpose

Open vSwitch is a multilayer, open-source virtual switch designed specifically for environments, where it facilitates efficient communication between virtual machines (VMs) by providing a software-based switching solution that operates at the level. As a production-quality platform licensed under the Apache 2.0 license, it implements standard management interfaces while enabling programmatic extension and control of network forwarding functions, making it suitable for deployment in virtualized server setups. The primary purpose of Open vSwitch is to deliver a programmable switching stack that integrates seamlessly with (SDN) protocols, such as , allowing for dynamic and centralized control of network traffic in and infrastructures. This design supports the creation of flexible, policy-driven networks that can adapt to changing demands without relying on traditional hardware switches, thereby enhancing automation and efficiency in large-scale virtualized deployments. Among its high-level benefits, Open vSwitch offers scalability by distributing switching operations across multiple physical servers, ensuring it can handle the demands of expansive environments. It integrates natively with popular hypervisors including KVM and , enabling robust VM networking within these platforms. Additionally, it supports multi-tenant through mechanisms like the standard 802.1Q model, which helps secure and segment traffic for different users or applications in shared infrastructures.

Licensing and Community

Open vSwitch has been licensed under the 2.0 since its inception by Nicira Networks in , providing a permissive open-source framework that permits broad commercial and non-commercial use without obligations. This licensing choice supports integration into diverse environments, including stacks, while requiring attribution and prohibiting warranty claims. The Open vSwitch project operates as a Collaborative Project, governed by a Technical Steering Committee (TSC) composed of active committers who oversee technical direction, release processes, and norms. Contributions are driven by a global , with major input from organizations such as —following its 2012 acquisition of Nicira—, , , and , spanning over 300 individuals historically. The codebase is hosted on , facilitating collaborative development and regular releases, including stable branches maintained for . Contributions to Open vSwitch typically begin with bug reports or feature proposals submitted to the [email protected] mailing list, where patches are reviewed for adherence to standards and goals before . The annual OVScon conference serves as a key venue for in-depth discussions, presentations, and among developers and users. As of 2025, the is stewarded by nine active committers acting as maintainers, including representatives from and OVN.org, who handle code reviews, backports, and . Releases follow a biannual cadence, with planned versions occurring approximately every six months to incorporate features, fixes, and enhancements while maintaining up to three supported branches at any time.

History

Origins and Initial Development

Open vSwitch's development originated in at Nicira Networks, a startup founded that year by researchers including Martin Casado, Nick McKeown, and to commercialize innovations in (SDN) stemming from academic work at and UC Berkeley. The project was launched to address key limitations in existing virtual switches, such as the Linux bridge, which lacked sufficient programmability and support for emerging SDN paradigms in virtualized environments. The primary motivations centered on creating a flexible, OpenFlow-compatible virtual switch deeply integrated with the Linux kernel to facilitate SDN research and enterprise-scale virtualization. This was driven by the growing demand for programmable networking that could handle dynamic virtual machine migrations, multi-tenant isolation, and centralized control in data centers. The initial code commit occurred on August 14, 2007, by early contributor Martin Casado, with subsequent commits introducing OpenFlow support by November of that year and codebase refinements into 2008. Early challenges revolved around achieving high packet-processing performance while enabling the extensibility needed for SDN experimentation, which prompted the evolution toward a hybrid combining a kernel-based for efficiency and userspace tools for and advanced . By 2008, developers implemented a microflow to optimize forwarding, addressing initial in-kernel prototypes that proved inadequate for production workloads. The project adopted the name "Open vSwitch" on May 20, 2009, followed by the launch of its public repository on July 8, 2009, marking the first public release and opening it to broader community contributions.

Major Milestones and Acquisitions

Open vSwitch achieved a significant milestone with the addition of full 1.0 support on January 21, 2010, enabling programmable network control and laying the foundation for its role in (SDN) environments. This enhancement allowed OVS to implement flow-based forwarding as defined in the OpenFlow specification, supporting features like match-action tables for packet processing. Shortly thereafter, on May 15, 2010, the project released its first stable version, Open vSwitch 1.0, which marked the transition to production-ready status and included robust support for virtualization platforms such as and KVM. In October 2013, Open vSwitch 2.0 was released, introducing architectural improvements for scalability and performance, including multi-threaded processing in the vswitchd daemon to handle higher throughput in virtualized setups. This version also paved the way for accelerated datapath optimizations, with subsequent releases building on it to integrate (DPDK) support starting experimentally in 2014, enabling userspace polling for reduced latency in high-speed environments. A pivotal corporate event occurred on July 23, 2012, when announced its acquisition of Nicira Networks, the company behind Open vSwitch, for $1.26 billion. The deal, which closed later that year, brought OVS under 's stewardship while committing to its open-source nature; development continued collaboratively, with contributing to enhancements like integration with its NSX platform, ensuring OVS remained community-driven. Post-acquisition, contributions from a broader ecosystem, including cloud providers, sustained its growth. During 2012-2013, Open vSwitch saw deepened integration with , starting with the Essex release in April 2012, where the Quantum networking service (later ) adopted OVS as a core plugin for virtual tenant networks and bridging. This alignment facilitated scalable SDN deployments in cloud infrastructures, with OVS handling tagging and GRE tunneling for multi-tenant isolation. In 2016, OVS version 2.5 introduced support for 1.5, incorporating advanced features like group tables and meter actions for more granular . The project reached another landmark with the release of Open vSwitch 3.0 on August 15, 2022, which included enhanced support for encryption protocols and extensions to flow monitoring across versions. These updates addressed evolving demands in containerized and environments, reinforcing OVS's position as a versatile virtual switch. Subsequent releases through 2025, including the long-term support version 3.3 in February 2024 and 3.6 in August 2025, have further improved performance, hardware offload capabilities, and integration with technologies like and advanced DPDK features.

Architecture

Core Components

Open vSwitch employs a modular that separates the , which operates in userspace for and , from the data plane, responsible for high-speed either in the or via userspace accelerators like DPDK. This design enables scalability, as the can handle dynamic updates without disrupting forwarding performance. The primary daemon, ovs-vswitchd, runs in userspace and serves as the central component for managing virtual switches, bridges, and tables. It processes messages from controllers, installs rules into the for packet classification and actions, and handles upcalls for packets that require userspace intervention. Additionally, ovs-vswitchd maintains connections to the and utilities, ensuring consistent state across the system. Configuration and state are stored in a centralized database managed by ovsdb-server, which implements the Open vSwitch Database (OVSDB) schema for persistent storage of switch details such as ports, bridges, and quality-of-service policies. This server supports dynamic updates through the OVSDB protocol, allowing remote clients to query and modify the database atomically, which facilitates features like in virtualized environments. The separation of durable configuration in OVSDB from ephemeral flows enhances reliability and eases integration with controllers. Open vSwitch includes several command-line utilities for administration and debugging. ovs-vsctl provides a CLI for configuring the switch by directly modifying the OVSDB, such as adding bridges or ports. ovs-ofctl enables management of switches, including dumping flow tables, adding flows, and monitoring statistics. For runtime control and , ovs-appctl interacts with running ovs-vswitchd instances, supporting commands like forcing log levels or dumping internal state. These tools collectively form the userspace , promoting programmatic extensibility without requiring recompilation of the core daemon.

Datapath Processing

The Open vSwitch datapath is structured around an in-kernel module named openvswitch.ko, which enables high-performance packet forwarding by maintaining flow tables that map packet headers and metadata to specific actions. This module supports multiple datapaths, each representing a virtual bridge with associated virtual ports (vports), allowing packets to be processed at line rate in the kernel for the fast path. When a packet arrives, the kernel extracts a flow key—comprising fields such as input port, Ethernet addresses, IP protocol details, and transport ports—and searches the flow table for a matching entry. If a match is found, the associated actions are executed directly in the kernel, such as forwarding the packet to a designated output port, modifying headers, or dropping the packet. In cases where no matching flow exists, the datapath falls back to userspace processing by queuing the packet and issuing an upcall to the ovs-vswitchd daemon, which handles complex classification and installs a new flow entry for future kernel acceleration. Flow classification occurs through a pipeline of tables populated with OpenFlow rules, where packets are sequentially matched against increasingly specific criteria, enabling actions like forwarding, header modification, or dropping based on the final match. This pipeline supports wildcarded flows with masks to efficiently handle traffic aggregates, reducing the need for exact matches and improving scalability. The hybrid kernel-userspace model originated in 2009 to balance performance and flexibility, with the managing the fast-path forwarding and userspace overseeing rule installation and slow-path decisions. Early implementations relied on microflow caching for individual packets, evolving to megaflow caching for broader traffic patterns to boost hit rates up to 97.7% in production environments. Modern upcall mechanisms have been refined to minimize latency in slow-path handling, incorporating batching of upcalls, multithreading, and efficient packet queuing to reduce flow setup times by up to 24%. Recent advancements, such as integration with AF_XDP sockets since 4.18, further optimize upcalls by bypassing the kernel networking stack, achieving up to 7.1 million packets per second for small packets while maintaining low latency.

Features

Protocol Support

Open vSwitch provides robust support for VLAN tagging to facilitate network segmentation in virtualized environments. Access ports connect end devices to a specific by automatically tagging outgoing frames and stripping tags from incoming ones, ensuring hosts without VLAN awareness can operate seamlessly within their assigned segment. ports, on the other hand, enable the transport of multiple s between switches by preserving 802.1Q tags on frames, with configuration options for native VLAN handling to manage untagged traffic. This model adheres to the standard 802.1Q specification, supporting up to 4094 usable IDs (excluding reserved values like 0 and 4095), and allows for flexible port assignments via the Open vSwitch database. For redundancy and load balancing, Open vSwitch implements NIC bonding, aggregating multiple physical interfaces into a single logical port without requiring (LACP) on the upstream switch. In LACP mode, bonds negotiate with compatible switches to dynamically form groups, providing and increased throughput; fallback mechanisms ensure operation in active-backup mode if LACP fails. Non-LACP modes, such as active-backup (which uses one active link and fails over on detection of issues via carrier status or gratuitous ) and source-load balancing (which distributes traffic based on source MAC and ), offer simpler alternatives for environments without LACP support, with rebalancing intervals to maintain even distribution. These features enhance reliability in high-availability setups by monitoring link status and adjusting traffic flows accordingly. Open vSwitch delivers comprehensive compatibility with protocol versions 1.0 through 1.5, serving as a foundational element for (SDN) by allowing external controllers to program flow rules. This support encompasses core switching functions in version 1.0, with progressive enhancements in later versions, including group tables (introduced in 1.1) for efficient handling of multipath routing and , and (from 1.3) for policing traffic rates through bandwidth limiting. A unified protocol translates between versions, ensuring a single Open vSwitch instance can manage multiple bridges with varying OpenFlow capabilities, while extensions like port number expansion and change notifications further optimize SDN control. To mitigate loops in bridged topologies, Open vSwitch integrates () and Rapid Spanning Tree Protocol (RSTP), enabling automatic detection and blocking of redundant paths. When or RSTP is activated on a via the database, the protocols compute a loop-free by electing a root and assigning port roles (root, designated, or blocked), with RSTP accelerating convergence through faster handshakes. Open vSwitch enforces these decisions by setting the OFPPC_NO_FLOOD flag on blocked ports via port modification messages, preventing broadcast storms while allowing and traffic to proceed on active paths. Configuration involves enabling the feature on the and adding ports in a specific order to avoid transient loops during setup.

Tunneling and Monitoring

Open vSwitch supports multiple tunneling protocols to enable encapsulation for virtualized overlay networks, facilitating connectivity between virtual machines across physical hosts while supporting multi-tenancy through logical isolation. These include GRE for simple port-based tunnels that transport Layer 2 traffic over Layer 3 networks, allowing on different hosts to communicate as if on the same local segment without exposing host routing details. VXLAN extends this by providing scalable Layer 2 overlays over Layer 3 infrastructure, addressing limitations in multi-tenant environments via a 24-bit segment identifier (VNI) as defined in RFC 7348, though it relies on mappings rather than native for endpoint discovery. Geneve offers a flexible, extensible header format for in overlays, commonly used in environments like OVN for advanced . For monitoring, Open vSwitch provides robust visibility into inter-VM and bridge traffic through standards-based protocols and . , sFlow, and IPFIX enable the collection of flow statistics, such as packet counts, byte volumes, and protocol details, which can be exported to external collectors for analysis; for instance, sFlow samples packets at configurable rates (e.g., 1 in 64) and polls interface counters every 10 seconds to a specified target, allowing real-time observation of VM-to-VM communications on the same host. supports for local traffic duplication to a monitoring port, RSPAN for remote mirroring over VLAN-tagged Ethernet, and GRE-tunneled mirrors to encapsulate mirrored packets for transport across networks, enhancing diagnostics in distributed setups. Security features in Open vSwitch integrate with its programmable architecture to enforce policies in virtual environments. Port security restricts the MAC addresses allowed on a port, limiting dynamic learning to a predefined list to mitigate spoofing attacks and unauthorized access. Access Control Lists (ACLs) are implemented via flow tables, where match-action rules filter traffic based on headers, ports, or , enabling stateful inspection when combined with connection tracking. Additionally, integration encrypts tunneling protocols like GRE or VXLAN, supporting authentication via pre-shared keys, self-signed certificates, or CA-signed ones, with configuration through daemons such as LibreSwan or StrongSwan on kernels version 3.10 or later. As of Open vSwitch 2.17 released in 2021, enhancements to connection tracking include support for IPv4/IPv6 fragmentation handling and improved Neighbor Discovery matching, bolstering stateful firewalling capabilities for more accurate policy enforcement in overlays.

Integration and Deployment

Virtualization and SDN Use Cases

Open vSwitch serves as a key component for integration in virtualized environments, enabling efficient VM networking across various platforms. It integrates with KVM and by using custom scripts to attach devices from virtual machines to OVS bridges, facilitating advanced features like tagging and tunneling for connectivity. In Xen-based systems, such as Citrix Hypervisor and , Open vSwitch acts as the default virtual switch, providing multilayer switching and protocol support directly within the for seamless VM isolation and . While not native to , which relies on the vSphere Distributed Switch, Open vSwitch can be deployed alongside it through integrations like NSX or nested setups to extend SDN capabilities to ESXi-hosted VMs. This support extends to platforms like , where Open vSwitch underpins VM networking by managing bridges and ports for dynamic resource allocation, and Proxmox VE, where it replaces bridges to deliver features such as RSTP and VXLAN for VM traffic handling. In (SDN) deployments, Open vSwitch plays a central role by implementing protocols, allowing controllers like ONOS and to enforce and flow management in environments. These controllers leverage Open vSwitch's ability to process 1.1 through 1.5 specifications for programmable , enabling scalable topologies where flows are dynamically installed across distributed switches without disrupting ongoing traffic. Cloud environments highlight Open vSwitch's versatility through specific integrations that address multi-tenancy and container orchestration. In OpenStack, the Neutron ML2 plugin employs Open vSwitch as a mechanism driver to create isolated tenant networks using overlay technologies like VXLAN and GRE, ensuring secure segmentation of virtual networks across compute nodes while optimizing broadcast, unknown unicast, and multicast (BUM) traffic via L2 population. For Kubernetes, OVN-Kubernetes utilizes Open vSwitch as the underlying data plane for its CNI implementation, translating Kubernetes API objects into OVN logical entities and programming OpenFlow flows on node-local switches to enable pod-to-pod connectivity via GENEVE tunnels, along with support for services, network policies, and IPv4/IPv6 dual-stack clusters. In enterprise telecommunications, Open vSwitch supports (NFV) deployments, particularly for virtual Evolved Packet Core (vEPC) architectures that virtualize core network elements like and packet gateways. Through initiatives like OPNFV's VSPerf , Open vSwitch has been benchmarked for NFV suitability in telco scenarios, demonstrating stable in vEPC use cases with to thousands of virtual ports and flows while maintaining low latency and high throughput under bidirectional traffic loads. This enables s to deploy elastic vEPC instances on commodity hardware, reducing capital costs and improving service agility in / networks.

Configuration Tools and Management

Open vSwitch provides several (CLI) tools for and managing its components. The primary tool for high-level is ovs-vsctl, which interacts with the Open vSwitch database to create and manage bridges and . For example, the command ovs-vsctl add-br br0 creates a new bridge named br0, while ovs-vsctl add-port br0 eth0 adds an Ethernet as a to that bridge; options like --may-exist prevent errors if the entity already exists. Although ovs-vsctl handles structural elements such as bridges and , it does not directly add OpenFlow flows; instead, ovs-ofctl is used for that purpose, allowing and of rules. Key commands include ovs-ofctl dump-flows br0 to display all entries on a bridge and ovs-ofctl show br0 to the switch's and . Configuration persistence in Open vSwitch relies on the Open vSwitch Database (OVSDB), a network-accessible database system defined by schemas in format per 7047. OVSDB supports schema queries via tools like ovsdb-tool, which can extract details such as schema-name, schema-version, and checksums from .ovsschema files to verify database structure. Transactions in OVSDB ensure atomic, consistent, isolated, and durable () updates, enabling persistent configuration storage managed by ovsdb-server, which handles on-disk formats and durability guarantees. For integration with higher-level systems, OVSDB schemas like ovn-nb and ovn-sb facilitate REST API access through components such as ovn-northd in OVN deployments, allowing programmatic configuration via tools like ovn-nbctl. Automation of Open vSwitch management is supported through language bindings and orchestration tools. The official bindings, included in the Open vSwitch package, enable scripting interactions with OVSDB and other components, while the ovsdbapp library provides a Python-native implementation of the OVSDB management protocol for building custom clients. For infrastructure-as-code approaches, Ansible's openvswitch.openvswitch collection offers modules like openvswitch_db to configure database states, such as setting keys and values for records, facilitating orchestrated deployments across multiple hosts. Startup scripts, typically located in /etc/init.d (e.g., openvswitch-switch on Debian-based systems), leverage functions from ovs-ctl to initialize daemons like ovsdb-server and ovs-vswitchd during boot, ensuring the switch is operational post-restart. Troubleshooting Open vSwitch involves logging, packet tracing, and health monitoring tools. Logs are directed to syslog by default, with levels configurable via ovs-appctl (e.g., ovs-appctl vlog/set ANY:dbg for debug output), and files often stored in /var/log/openvswitch/ for detailed analysis of issues like connection failures. Packet traces can be captured using ovs-pcap, which generates PCAP files from datapath traffic for offline analysis with tools like Wireshark, aiding in diagnosing forwarding anomalies. Health checks are performed through ovs-appctl commands, such as ovs-appctl emerg-wakeup to trigger emergency logging or ovs-appctl ofproto/trace to simulate packet paths and verify rule behavior without disrupting live traffic.

Performance and Extensions

Optimization Techniques

Open vSwitch employs several optimization techniques to enhance its performance in high-throughput networking environments, particularly for virtualized and SDN deployments. These methods focus on reducing , increasing packet processing rates, and minimizing CPU overhead by leveraging userspace processing, , efficient caching, and system-level tuning. One key optimization is the integration of the (DPDK), which enables Open vSwitch to operate a userspace . Introduced in Open vSwitch version 2.3.0 in , DPDK allows the switch to bypass the networking stack by using poll-mode drivers for direct NIC access. This userspace approach eliminates context switches and kernel overhead, enabling line-rate forwarding at speeds up to 100 Gbps or higher on supported . In practice, DPDK-accelerated bridges achieve multi-gigabit per second throughput with low , as packets are processed continuously by dedicated polling threads. Hardware offload further accelerates flow processing by delegating tasks to network interface cards (NICs). Open vSwitch supports offloading via the Traffic Control () flower classifier, available since version 2.8 in 2017, which matches on L2-L4 headers, metadata, and input ports while supporting actions like forwarding, dropping, and VLAN modifications. This is particularly effective on SmartNICs, such as (formerly Mellanox) ConnectX series adapters, where flows are programmed into the NIC's embedded switch (eSwitch) using ASAP² technology for ConnectX-5 and later. Offloading reduces host CPU utilization by 50-90% in high-traffic scenarios, allowing the NIC to handle classification and forwarding independently. To minimize classification overhead, Open vSwitch uses Megaflow caching in its datapath. The Megaflow cache aggregates similar flows into a single entry based on generalized masks, enabling wildcard matching for traffic classes rather than exact per-packet lookups. This two-layer system—combining a first-level exact-match microflow cache with the broader Megaflow table—supports up to 200,000 entries and achieves cache hit rates exceeding 97% in production environments, reducing userspace upcalls. Upcall batching complements this by grouping multiple flow setup requests, decreasing system call frequency and improving throughput by up to 24%. System tuning parameters are essential for maximizing low-latency performance, especially with DPDK. Threading models involve Poll Mode Driver (PMD) threads, which are and pinned to isolated cores via tools like taskset or numactl to prevent interference from the OS scheduler; multiple PMD threads can be configured per port for multiqueue support. Hugepages allocation, typically 2MB or 1GB sizes, is required for DPDK memory pools to avoid TLB misses—configured at with vm.nr_hugepages or --hugepages flags, allocating at least 1GB for optimal operation. CPU , achieved through parameters like isolcpus or tuned profiles, dedicates cores to OVS processes, reducing and enabling consistent sub-millisecond latencies in NFV use cases.

Recent Developments and Future Directions

In 2023, Open vSwitch released 3.1, which introduced built-in support for AF_XDP by default when dependencies are met, enabling more seamless integration with for high-performance packet processing in userspace. This enhancement allows OVS to leverage programs for offloading flow processing to XDP hooks or userspace via AF_XDP sockets, improving efficiency in virtualized environments. Subsequent releases, such as 3.3 in early 2024, further refined AF_XDP capabilities by adding compatibility with libxdp and libbpf versions 0.7 and above, facilitating broader adoption in kernel-integrated setups. Later versions continued these advancements: 3.4.0 (August 2024) added custom filters for mirrored traffic and memory locking optimizations; 3.5.0 (February 2025) extended experimental Segmentation Offload (TSO) software fallback to VXLAN, Geneve, and GRE tunnels; and 3.6.0 (August 2025) improved OVSDB query performance through index usage and optimizations, alongside DPDK updates to version 24.11.2, with 3.6.1 released in November 2025 providing minor stability fixes. OVN, the Open Virtual Network complement to Open vSwitch, has seen deepened integration with container orchestration platforms, particularly through OVN-Kubernetes, which provides distributed logical routing for clusters using OVS as the underlying switch. This tight coupling supports advanced features like network policy enforcement and service load balancing, with OVN-Kubernetes becoming a stable CNI option in distributions such as , aligning with versions from 1.28 onward for enhanced scalability in cloud-native deployments. By 2025, OVN's adoption in environments had grown, enabling efficient underlay and overlay networking modes that abstract OVS configuration across nodes. The Open vSwitch community emphasized observability advancements at the 2024 Fall Conference, where sessions highlighted eBPF-based probes for real-time monitoring of virtual network traffic and anomaly detection in OVS and OVN setups. These discussions focused on integrating eBPF for low-overhead telemetry, such as tracing packet flows without instrumentation, to address visibility challenges in large-scale SDN environments. Additionally, security efforts in 2023-2024 addressed critical vulnerabilities, including CVE-2023-3966, which involved denial-of-service risks from malformed Geneve packets; patches were backported to stable branches like 2.17.9 and integrated into version 3.x releases. Another fix addressed CVE-2023-5366, which allowed ICMPv6 Neighbor Advertisement packets between virtual machines to bypass OpenFlow rules. Looking ahead, Open vSwitch development prioritizes native support for container-native networking, building on OVN-Kubernetes to simplify with emerging tools and reduce overhead in architectures. The 2025 Fall Conference, scheduled for November 19-20 in , , is expected to cover further advancements in , -driven optimizations, and . Emerging research explores and for dynamic flow optimization in OVS datapaths, such as predictive and automated policy tuning using eBPF-enriched data. remains a key direction, with ongoing work on offloading OVS operations to DPUs and SmartNICs for 400G+ Ethernet speeds, as demonstrated in collaborations with vendors like Marvell and to handle -driven workloads in data centers. These advancements aim to sustain OVS's role in high-throughput SDN while adapting to next-generation infrastructure demands.

References

  1. [1]
    What Is Open vSwitch?
    Open vSwitch is a multilayer software switch licensed under the open source Apache 2 license. Our goal is to implement a production quality switch platform.
  2. [2]
    Looking Ahead as Open vSwitch Hits Its First Decade - VMware Blogs
    May 24, 2018 · Open vSwitch, created in 2008, is a general-purpose solution. Future plans include adapting to containers, new features, and P4 hardware ...<|control11|><|separator|>
  3. [3]
    [PDF] The Design and Implementation of Open vSwitch - USENIX
    May 4, 2015 · We describe the design and implementation of Open. vSwitch, a multi-layer, open source virtual switch for all major hypervisor platforms.
  4. [4]
    Releases — Open vSwitch 3.6.0 documentation
    A: Open vSwitch userspace works with the kernel module shipped with Linux upstream 3.3 and later. Building the Linux kernel module from the Open vSwitch source ...
  5. [5]
    General — Open vSwitch 3.6.90 documentation
    A: Open vSwitch is a production quality open source software switch designed to be used as a vswitch in virtualized server environments.
  6. [6]
    Open vSwitch
    Open vSwitch is a production quality, multilayer virtual switch licensed under the open source Apache 2.0 license.Features · Download · OVScon 2018 · Open vSwitch 2017 Fall...
  7. [7]
    [PDF] Open vSwitch - Release 2.16.90
    Jan 12, 2022 · Open vSwitch supports multiple Linux-based virtualization technologies including Xen/XenServer,. KVM, and VirtualBox. The bulk of the code is ...
  8. [8]
    openvswitch/ovs: Open vSwitch - GitHub
    Open vSwitch is a multilayer software switch licensed under the open source Apache 2 license. Our goal is to implement a production quality switch platform.
  9. [9]
    The Linux Foundation Open vSwitch Project Charter
    Aug 9, 2016 · Contributors: anyone in the technical community that contributes code, documentation or other technical artifacts to the OVS codebase.Missing: governance | Show results with:governance<|control11|><|separator|>
  10. [10]
    Open vSwitch Joins Linux Foundation Open Networking Ecosystem
    Aug 9, 2016 · Contributions to OVS span more than 300 individuals across companies including Cisco, Ericsson, Huawei, HP, IBM, Intel, Red Hat and VMware. The ...
  11. [11]
    Submitting Patches — Open vSwitch 3.6.90 documentation
    Submitting Patches¶. Send changes to Open vSwitch as patches to dev@openvswitch.org. One patch per email. More details are included below.<|control11|><|separator|>
  12. [12]
    Open vSwitch and OVN 2025 Fall Conference
    The Open vSwitch project, a Linux Foundation Collaborative Project, will host its eleventh annual conference focused on Open vSwitch and OVN on November 19 - 20 ...Missing: maintainers | Show results with:maintainers
  13. [13]
    Committers — Open vSwitch 3.6.90 documentation
    Open vSwitch committers are the people who have been granted access to push changes to the Open vSwitch git repository.
  14. [14]
    Releases — Open vSwitch 3.6.90 documentation
    A: All official releases have been through a comprehensive testing process and are suitable for production use. Planned releases occur twice a year.Missing: cadence maintainers
  15. [15]
    Release Process — Open vSwitch 3.6.90 documentation
    At most three release branches are formally maintained at any given time: the latest release, the latest release designed as LTS and a previous LTS release ...Missing: maintainers | Show results with:maintainers
  16. [16]
    [PDF] Past, Present, and Future - Open vSwitch
    Open vSwitch is a production quality, multilayer virtual switch licensed under the open source Apache 2.0 license, designed for network automation.
  17. [17]
    Open vSwitch 1.0.0 Released - Xen Project
    May 20, 2010 · Open vSwitch currently supports multiple virtualization technologies. It is the default switch in the Xen Cloud Platform. Â And it supports open ...<|control11|><|separator|>
  18. [18]
    [ovs-discuss] Open vSwitch 2.0.0 Available - Mailing Lists
    The Open vSwitch team is pleased to announce the release of Open vSwitch 2.0.0: http://openvswitch.org/releases/openvswitch-2.0.0.tar.gz This release ...
  19. [19]
    [PDF] Integrating and using DPDK with Open vSwitch
    ○ DPDK first integrated into Open vSwitch in 2014. ○ First commit by Gerald Rogers and Pravin Shelar. ○ Date: Mon Mar 24 19:23:08 2014 -0700. ○ dpif-netdev ...
  20. [20]
    VMware to buy network virtualization firm for $1.05 billion - Reuters
    Jul 23, 2012 · Nicira, a startup founded in 2007, sells software that lets customers create virtual networks that can operate independently of underlying ...
  21. [21]
    [PDF] Quantum Admin Guide - OpenStack Wiki
    Sep 25, 2011 · Two plugins are included in the Quantum distribution: • Openvswitch - Implementing Quantum with Open vSwitch for KVM and XenServer compute ...
  22. [22]
    [ovs-discuss] does ovs 2.5.0 support openflow 1.5? - Mailing Lists
    Jul 2, 2016 · ... Open vSwitch support? A: The following table lists the versions of OpenFlow supported by each version of Open vSwitch: Open vSwitch OF1.0 OF1.
  23. [23]
    [ovs-announce] Open vSwitch 3.0.0 is Available. - Mailing Lists
    Aug 15, 2022 · A few other feature highlights of 3.0.0 include: - OpenFlow: * Extended Flow Monitoring support for all supported OpenFlow versions. - OVSDB ...
  24. [24]
    Design Decisions In Open vSwitch
    This document describes design decisions that went into implementing Open vSwitch. While we believe these to be reasonable decisions, it is impossible to ...
  25. [25]
    ovsdb — Open vSwitch 3.6.90 documentation
    OVSDB, the Open vSwitch Database, is a network-accessible database system. Schemas in OVSDB specify the tables in a database and their columns' types.
  26. [26]
    RFC 7047 - The Open vSwitch Database Management Protocol
    This document defines the OVSDB management protocol. The Open vSwitch project includes open-source OVSDB client and server implementations.<|separator|>
  27. [27]
    Open vSwitch Datapath Development Guide
    The Open vSwitch kernel module allows flexible userspace control over flow-level packet processing on selected network devices.
  28. [28]
    Open vSwitch datapath developer documentation
    The Open vSwitch kernel module allows flexible userspace control over flow-level packet processing on selected network devices.Missing: integration | Show results with:integration
  29. [29]
    [PDF] Revisiting the Open vSwitch Dataplane Ten Years Later - Events
    ABSTRACT. This paper shares our experience in supporting and running the. Open vSwitch (OVS) software switch, as part of the NSX product for.
  30. [30]
    VLANs — Open vSwitch 3.6.90 documentation
    Instead of using one cable and two ports per VLAN to connect a pair of switches, we configure a port on each switch as a VLAN “trunk port”.
  31. [31]
    Bonding — Open vSwitch 3.6.90 documentation
    ### Summary of Bonding and LACP in Open vSwitch
  32. [32]
    OpenFlow Support in Open vSwitch
    Open vSwitch support for OpenFlow 1.1 and beyond is a work in progress. This file describes the work still to be done.The Plan¶ · Openflow 1.3¶ · Openflow 1.4 & Onf...
  33. [33]
    ovs-actions — Open vSwitch 3.6.90 documentation
    This document aims to comprehensively document all of the OpenFlow actions and instructions, both standard and non-standard, supported by Open vSwitch, ...
  34. [34]
    Common Configuration Issues — Open vSwitch 3.6.90 documentation
    ... spanning tree protocol (STP). The following commands create br0, enable STP, and add eth0 and eth1 to the bridge. The order is important because you don't ...Missing: RSTP | Show results with:RSTP<|separator|>
  35. [35]
    Features - Open vSwitch
    IPv6 support; Multiple tunneling protocols (GRE, VXLAN, STT, and Geneve, with IPsec support); Remote configuration protocol with C and Python bindings; Kernel ...
  36. [36]
    Connecting VMs Using Tunnels - Open vSwitch Documentation
    This document describes how to use Open vSwitch to allow VMs on two different hosts to communicate over port-based GRE tunnels.Missing: VXLAN STT
  37. [37]
    VXLANs — Open vSwitch 3.6.90 documentation
    A: VXLAN stands for Virtual eXtensible Local Area Network, and is a means to solve the scaling challenges of VLAN networks in a multi-tenant environment.Missing: GRE Geneve STT
  38. [38]
    Monitoring VM Traffic Using sFlow - Open vSwitch Documentation
    This document describes how to use Open vSwitch is to monitor traffic sent between two VMs on the same host using an sFlow collector.
  39. [39]
    OVS Faucet Tutorial — Open vSwitch 3.6.0 documentation
    The datapath passes the packet to the slow path, which runs it through the OpenFlow table to yield ODP actions, a process that is often called “flow translation ...
  40. [40]
    OVS IPsec Tutorial — Open vSwitch 3.6.90 documentation
    This document provides a step-by-step guide for running IPsec tunnel in Open vSwitch. A more detailed description on OVS IPsec tunnel and its configuration ...
  41. [41]
    Release Notes - Open vSwitch
    - Userspace datapath: * ICMPv6 ND enhancements: support for match and set ND options type and reserved fields. * Add v4/v6 fragmentation support for conntrack.
  42. [42]
    Open vSwitch with KVM
    This document describes how to use Open vSwitch with the Kernel-based Virtual Machine (KVM). Note: This document assumes that you have Open vSwitch set up on a ...
  43. [43]
    Open vSwitch - Proxmox VE
    Jan 11, 2022 · Open vSwitch supports most of the features you would find on a physical switch, providing some advanced features like RSTP support, VXLANs, ...Configuration · Overview · Examples
  44. [44]
    ML2 Plug-in — Neutron 27.1.0.dev131 documentation
    Aug 26, 2024 · The Modular Layer 2 (ML2) neutron plug-in is a framework allowing OpenStack Networking to simultaneously use the variety of layer 2 networking technologies.Ml2 Plug-In¶ · Configuration · Network Type Drivers
  45. [45]
    OVN-Kubernetes: Introduction
    It is a Kubernetes networking conformant plugin written according to the CNI (Container Network Interface) specifications. Challenges for Cluster Networking in ...OVN observability · Architecture · Getting Started · Developer Guide
  46. [46]
    [PDF] ENSURING OPEN VSWITCH PERFORMANCE FOR A ... - OPNFV
    The objective of VSPerf is to evaluate a virtual switch to identify its suitability for. Network Functions Virtualization (NFV) in telecom environments. VSPerf ...
  47. [47]
    [PDF] Open vSwitch* Enables SDN and NFV Transformation
    The following provides an overview of the new capabilities introduced in OvS release 2.4. Data Plane Development Kit (DPDK) Support. OvS supports DPDK versions ...
  48. [48]
    None
    ### Summary of ovs-vsctl (https://www.openvswitch.org/support/dist-docs/ovs-vsctl.8.html)
  49. [49]
    None
    ### Summary of ovs-ofctl (https://www.openvswitch.org/support/dist-docs/ovs-ofctl.8.html)
  50. [50]
  51. [51]
    Language Bindings - Python - Open vSwitch Documentation
    Bindings exist for Open vSwitch in a variety of languages. Official Bindings Python The Python bindings are part of the Open vSwitch package.
  52. [52]
    ovs - PyPI
    The openvswitch package provides the official Python language bindings for Open vSwitch. They are developed in-tree as part of the Open vSwitch Package.
  53. [53]
    Open vSwitch on Linux, FreeBSD and NetBSD
    This document describes how to build and install Open vSwitch on a generic Linux, FreeBSD, or NetBSD host.Build Requirements¶ · Configuring¶ · Starting¶
  54. [54]
    [PDF] Debugging OVS - Open vSwitch
    • Default level for log files is “info”, only thing lower is “dbg”. [root@localhost ~]# ovs-appctl vlog/list! console syslog file!
  55. [55]
    [ovs-announce] Open vSwitch 3.1.0 is Available.
    Feb 16, 2023 · * AF_XDP support is now built-in by default, if all dependencies are available at the build time. * New experimental PMD load based sleeping ...
  56. [56]
    Open vSwitch with AF_XDP
    AF_XDP is a Linux socket type using eBPF/XDP, enabling Open vSwitch to process packets in userspace with a new 'afxdp' netdev.Missing: 3.1 | Show results with:3.1
  57. [57]
    Release Notes - Open vSwitch
    v2. 10.0 - 18 Aug 2018 --------------------- - ovs-vswitchd and utilities now support DNS names in OpenFlow and OVSDB remotes. - ovs-vswitchd: * New options -- ...
  58. [58]
    Chapter 1. About the OVN-Kubernetes network plugin
    A cluster that uses the OVN-Kubernetes plugin also runs Open vSwitch (OVS) on each node. OVN configures OVS on each node to implement the declared network ...
  59. [59]
    A robust Kubernetes networking platform - GitHub
    An open-source project that provides a robust networking solution for Kubernetes clusters with OVN (Open Virtual Networking) and Open vSwitch (Open Virtual ...Ovn-kubernetes/ovn-kube... · OVN-Kubernetes · Issues 104Missing: 1.28 integration
  60. [60]
    Open vSwitch and OVN 2024 Fall Conference
    The Open vSwitch project, a Linux Foundation Collaborative Project, hosted its tenth annual conference focused on Open vSwitch and OVN on November 20&21, 2024.Improving megaflow cache... · Userspace segmentation and...
  61. [61]
    Release Notes - Open vSwitch
    17.9 - 08 Feb 2024 --------------------- - Bug fixes - Security: * Fixed vulnerabilities CVE-2023-3966 and CVE-2023-5366. - DPDK: * OVS validated with DPDK ...
  62. [62]
    [SECURITY] [DSA 5640-1] openvswitch security update - Debian
    Mar 14, 2024 · Two vulnerabilities were discovered in Open vSwitch, a software-based Ethernet virtual switch, which could result in a bypass of OpenFlow rules or denial of ...Missing: patches | Show results with:patches
  63. [63]
    NVIDIA OpenvSwitch Acceleration - OVS in DOCA
    Jul 10, 2025 · NVIDIA advises utilizing the OVS-DOCA DPIF to maximize efficiency, performance, scalability, and feature support. Warning. The DPDK and Kernel ...Missing: future roadmap