The previous article discussed the reference architecture of the OVN Plug-in in OpenStack. This article will compare the main differences between using OVN and OVS in OpenStack Neutron.
Architecture
This table, translated from the official FAQ, clearly illustrates the architectural differences between OVN and OVS.
| Project | ml2/ovs | ML2/Networking-OVN |
|---|---|---|
| Communication between agent and server | RabbitMQ Messaging and RPC | OVSDB protocol between Northbound and Southbound databases |
| L3 HA API | The HA field in the router can be configured during deployment to enable or disable L3 HA | Automatically enables HA functionality when multiple network nodes are present |
| DVR API | The distributed setting in the router, which can only be modified by an admin | No configurable distributed setting; it is distributed by default |
| DVR Dataplane | Uses namespaces, veths, IP routing, IP rules, and iptables on the compute node | Uses OpenFlow rules on the compute node |
| E/W traffic | Passes through network nodes when DVR is not enabled | Distributed in all scenarios, transmitting directly between compute nodes |
| Metadata Service | Metadata service is provided via qrouters or DHCP namespaces on network nodes | Metadata is provided by the ovnmeta-xxxxx-xxxx-namespace on each compute node |
| DHCP Service | Provided via dnsmasq's qdhcp-xxxxx-xxx namespaces | DHCP is provided by ovn-controller and OpenFlow, and is distributed across compute nodes |
| Trunk Ports | Trunk ports are provided by creating br-trunk-xxx bridges and patch ports | Trunk ports are established on br-int via OpenFlow rules, and their connected ports attach directly to br-int |
It is evident that OVN was designed with HA (High Availability) features clearly in mind and built directly into the architecture, eliminating the need for additional high-availability considerations during deployment.
Performance
We can see from a presentation from the OpenStack Summit Bostona brief look at the performance comparison between OVN and OVS.
In terms of Nova VM creation speed, OVN shows an improvement of over 70% compared to OVS:
| ML2/OVS (Seconds) | OVN (Seconds) | Improvement | |
|---|---|---|---|
| Average | 80.7 | 23.4 | 70.9% |
| 95% | 163.2 | 35.3 | 78.4% |
| Maximum | 211.9 | 48.7 | 78.4% |
| Minimum | 18.7 | 3.8 | 79.8% |
As you can see, the performance boost in the control plane is very significant. Inthis articlethere are more related tests.
As for the dataplane, some have also conducted relatedtesting, though the differences are not very large. The main advantage lies in the high availability provided by the distributed architecture.
Summary
In this article, we compared the differences between OVN and OVS from both architectural and practical performance perspectives. I believe readers now have a better understanding of OVN's advantages and why major OpenStack vendors like Red Hat now recommend using OVN as the OpenStack Neutron plug-in. After several introductory articles on Neutron, I hope readers have gained a deeper understanding of OpenStack networking. In the next article, we plan to introduce Glance, an inconspicuous but vital core component of OpenStack.
Copyright Notice: All articles in this blog are licensed under CC BY-NC-SA 4.0 unless otherwise stated.

