Open Virtual Network
  • C 92.8%
  • Shell 2.7%
  • Python 1.9%
  • M4 1.5%
  • Makefile 1%
Find a file
Ales Musil 0003ff88b2 treewide: Fix imcp typo.
Fixes: 2d6e586e67 ("Implement MTU Path Discovery for multichassis ports")
Fixes: 1e4d4409f3 ("controller: Send ARP/ND for stale mac_bindings entries.")
Acked-by: Dumitru Ceara <dceara@redhat.com>
Signed-off-by: Ales Musil <amusil@redhat.com>
2026-09-11 10:24:07 +02:00
.ci ci: Add back removed lflow defines in base branch. 2026-09-01 15:45:59 +02:00
.github/workflows ci: Start testing upgrades from 26.09. 2026-08-31 09:48:09 +02:00
br-controller br-ofctrl: Don't defer flow update acknowledgement. 2026-09-11 08:14:42 +02:00
build-aux treewide: Remove shards of Windows support. 2026-06-05 08:04:25 +02:00
controller treewide: Fix imcp typo. 2026-09-11 10:24:07 +02:00
controller-vtep treewide: Remove Windows service handling. 2026-06-08 11:58:50 -04:00
debian Prepare for post-v26.09.0. 2026-08-21 14:55:44 -04:00
Documentation northd: Treat remote LSPs backing LRPs as router ports. 2026-09-01 14:46:27 +02:00
ic ovn-ic: Do not try to advertise auto-generated lla next_hops. 2026-08-25 15:02:59 +02:00
include actions: Remove unused ECMP actions. 2026-09-01 07:15:25 +02:00
lib lib: Fix n_elems accounting in dynamic_bitmap_or(). 2026-09-08 14:03:58 +02:00
m4 controller: Fix build on old kernels missing NDA_NH_ID/NHA_FDB. 2026-08-20 08:39:28 +02:00
northd sync-meters: Do not recompute if both log and meters are not set. 2026-09-11 10:14:20 +02:00
ovs@ba8649c1c3 ovs: Bump to include support for filtering IDL monitor requests. 2026-07-01 12:10:29 +02:00
rhel rhel: Make ovn-logical-flows(7) conditional on sphinx. 2026-05-13 16:03:12 +02:00
tests treewide: Fix imcp typo. 2026-09-11 10:24:07 +02:00
tutorial Add initial schema and skeleton for OVN bridge controller. 2025-11-10 10:56:52 -05:00
utilities actions: Remove unused ECMP actions. 2026-09-01 07:15:25 +02:00
.gitignore treewide: Add missing gitignores for br-controller. 2025-12-15 16:44:58 -05:00
.gitmodules Include OVS as a git submodule. 2021-02-09 13:47:04 -05:00
.mailmap AUTHORS: Update email Paulo Guilherme Silva. 2026-07-23 17:43:35 +02:00
.readthedocs.yaml readthedocs: Add the configuration file. 2023-11-15 15:03:48 +01:00
acinclude.m4 rhel: Make version displayed to the user customizable. 2026-03-10 12:22:56 +01:00
AUTHORS.rst AUTHORS: Add Martin Morgenstern. 2026-09-08 11:44:16 +02:00
automake.mk Add initial schema and skeleton for OVN bridge controller. 2025-11-10 10:56:52 -05:00
boot.sh debian: Check for accurate Debian changelog version at build time too. 2010-07-21 15:38:23 -07:00
configure.ac Prepare for post-v26.09.0. 2026-08-21 14:55:44 -04:00
CONTRIBUTING.rst docs: update various OVS references to OVN 2020-05-08 12:19:24 +05:30
LICENSE Edit Open vSwitch license info so that GitHub recognizes it. 2018-04-16 13:00:56 -07:00
MAINTAINERS.rst Update my email id in MAINTAINERS and AUTHORS files. 2025-10-09 15:15:27 -04:00
Makefile.am ci: Replace Cirrus CI with weekly GitHub ARM64 job. 2026-08-04 06:35:32 +02:00
manpages.mk manpages.mk: fix dependencies path 2021-11-29 13:26:29 -05:00
NEWS controller: Allow multiple LRs to advertise routes to the same VRF. 2026-09-01 15:30:48 +02:00
NOTICE datapath-windows: Add Connection Tracking Support 2016-04-14 10:11:46 -07:00
ovn-architecture.7.xml controller: Add room between OpenFlow table stages. 2026-06-18 18:53:07 +02:00
ovn-br.ovsschema Add initial schema and skeleton for OVN bridge controller. 2025-11-10 10:56:52 -05:00
ovn-br.xml ovn-br-controller: Add NEWS entry. 2025-11-10 10:58:29 -05:00
ovn-ic-nb.ovsschema ic: Add transit switch port and schema. 2026-06-22 13:39:24 +02:00
ovn-ic-nb.xml ic: Add transit switch port and schema. 2026-06-22 13:39:24 +02:00
ovn-ic-sb.ovsschema ovn-ic: Address set synchronization across AZs. 2026-07-20 16:50:13 +02:00
ovn-ic-sb.xml ovn-ic: Address set synchronization across AZs. 2026-07-20 16:50:13 +02:00
ovn-nb.ovsschema ovn-nb: Network Function vtap mode schema changes. 2026-07-23 16:11:56 +02:00
ovn-nb.xml northd: Treat remote LSPs backing LRPs as router ports. 2026-09-01 14:46:27 +02:00
ovn-sb.ovsschema controller: Remove Advertised_Route_Status table. 2026-08-20 14:28:00 +02:00
ovn-sb.xml actions: Remove unused ECMP actions. 2026-09-01 07:15:25 +02:00
README.rst ci: Replace Cirrus CI with weekly GitHub ARM64 job. 2026-08-04 06:35:32 +02:00
TODO.rst actions: Remove unused ECMP actions. 2026-09-01 07:15:25 +02:00
TODO_SPLIT.rst Update post OVS-OVN split TODO list. 2024-03-28 13:55:44 +01:00
Vagrantfile Remove python six library 2020-06-01 13:03:32 +05:30
Vagrantfile-FreeBSD Remove python six library 2020-06-01 13:03:32 +05:30

.. NOTE(stephenfin): If making changes to this file, ensure that the line
   numbers found in 'Documentation/intro/what-is-ovs' are kept up-to-date.

===
OVN
===

.. image:: https://github.com/ovn-org/ovn/actions/workflows/test.yml/badge.svg
    :target: https://github.com/ovn-org/ovn/actions/workflows/test.yml
.. image:: https://github.com/ovn-org/ovn/actions/workflows/ovn-kubernetes.yml/badge.svg
    :target: https://github.com/ovn-org/ovn/actions/workflows/ovn-kubernetes.yml
.. image:: https://github.com/ovn-org/ovn/actions/workflows/ovn-fake-multinode-tests.yml/badge.svg
    :target: https://github.com/ovn-org/ovn/actions/workflows/ovn-fake-multinode-tests.yml
.. image:: https://github.com/ovn-org/ovn/actions/workflows/ovn-upgrade-tests.yml/badge.svg
    :target: https://github.com/ovn-org/ovn/actions/workflows/ovn-upgrade-tests.yml
.. image:: https://github.com/ovn-org/ovn/actions/workflows/test-arm.yml/badge.svg
    :target: https://github.com/ovn-org/ovn/actions/workflows/test-arm.yml
.. image:: https://readthedocs.org/projects/ovn/badge/?version=latest
    :target: https://docs.ovn.org/en/latest/
.. image:: https://scan.coverity.com/projects/30371/badge.svg
    :target: https://scan.coverity.com/projects/open-virtual-network

What is OVN?
---------------------

OVN (Open Virtual Network) is a series of daemons that translates virtual
network configuration into OpenFlow, and installs them into Open vSwitch.
It is licensed under the open source Apache 2 license.

OVN provides a higher-layer abstraction than Open vSwitch, working with logical
routers and logical switches, rather than flows. OVN is intended to be used by
cloud management software (CMS). For details about the architecture of OVN, see
the ovn-architecture manpage. Some high-level features offered by OVN include:

* Distributed virtual routers
* Distributed logical switches
* Access Control Lists
* DHCP
* DNS server

Like Open vSwitch, OVN is written in platform-independent C. OVN runs entirely
in userspace and therefore requires no kernel modules to be installed.

Until recently, OVN code lived within the Open vSwitch codebase. OVN has
recently been split into its own repo. There is much to do to complete this
split entirely. See the TODO_SPLIT.rst file for a list of known tasks that
need to be completed.

What's here?
------------

The main components of this distribution are:

- ovn-northd, a centralized daemon that translates northbound configuration
  from a CMS into logical flows for the southbound database.
- ovn-controller, a daemon that runs on every hypervisor in the cluster. It
  translates the logical flows in the southbound database into OpenFlow for
  Open vSwitch. It also handles certain traffic, such as DHCP and DNS.
- ovn-nbctl, a tool for interfacing with the northbound database.
- ovn-sbctl, a tool for interfacing with the southbound database.
- ovn-trace, a debugging utility that allows for tracing of packets through
  the logical network.
- ovn-debug, a tool to simplify debugging of OVN setup.
- Scripts and specs for building RPMs.

What other documentation is available?
--------------------------------------

.. TODO(stephenfin): Update with a link to the hosting site of the docs, once
   we know where that is

To install OVN on a regular Linux or FreeBSD host, please read the
`installation guide <Documentation/intro/install/general.rst>`__. For specifics
around installation on a specific platform, refer to one of the `other
installation guides <Documentation/intro/install/index.rst>`__

For answers to common questions, refer to the `FAQ <Documentation/faq>`__.

To learn about some advanced features of the Open vSwitch software switch, read
the tutorial_.

.. _tutorial: https://github.com/openvswitch/ovs/blob/main/Documentation/tutorials/ovs-advanced.rst

Each OVN program is accompanied by a manpage.  Many of the manpages are customized
to your configuration as part of the build process, so we recommend building OVN
before reading the manpages.

License
-------

The following is a summary of the licensing of files in this distribution.
As mentioned, OVN is licensed under the open source Apache 2 license. Some
files may be marked specifically with a different license, in which case that
license applies to the file in question.

Contact
-------

bugs@openvswitch.org