SlideShare a Scribd company logo
LinuxCon+ContainerCon+CloudOpen China 2017
Justin Pettit (@Justin_D_Pettit)
Ben Pfaff (@Ben_Pfaff)
The Open vSwitch and OVN
Projects
Highlights from the Year
● The Open vSwitch project moved to the Linux Foundation
● Released the 2.6 and 2.7 series
● Moving to a more regular six month release interval
○ Next release in August
● First release of OVN
Who Works on the OVS Projects?
● 230 individual contributors
● Contributions from a wide variety of companies
● 16 “committers”
● Diversity of contributors has increased with OVN
OVS Project Releases
● Improved support for OpenFlow in every release
● Version 2.6
○ OVN
○ NAT support (Linux kernels)
○ QoS and policing for DPDK
○ Basic connection tracking on DPDK and Hyper-V
● Version 2.7
○ Non-experimental support for DPDK
○ OVN traffic shaping and DSCP support
Open vSwitch
Open vSwitch Overview
● OVS is a multi-layer switch
● Visibility (NetFlow, sFlow, SPAN/RSPAN)
● Fine-grained ACLs and QoS policies
● Port bonding, LACP, tunneling
● Centralized control through OpenFlow and OVSDB
● Open source using Apache license
● Multiple ports to physical switches
OVS Architecture
Platforms
● Linux kernel
● Containers
● DPDK
○ Bypasses the kernel and packets go straight to userspace
■ Potentially very fast if traffic doesn’t need kernel
■ Need to recreate services supplied by kernel
● Hyper-V
○ Windows-based hypervisor
○ Different from Windows support, but that’s also being worked on
● Non-Linux kernel datapaths sometimes lag on features provided by the
kernel
Decoupled Design
● Decoupling Helps
○ A number of different SDN applications have been written without requiring changes to
OVS.
○ A number of new OpenFlow protocols have been added without changes to kernel
○ A number of new platforms have been added by implementing just a new datapath
● Flow programming with slow-path/fast-path design often performs better
than fixed-pipeline
● NSDI paper on design and implementation:
○ http://openvswitch.org/support/papers/nsdi2015.pdf
Future: BPF Datapath
● BPF provides a safe, virtual sandbox in the Linux kernel (as well as other
platforms)
● DPDK-like performance in Linux kernel with XDP
● Potentially greater portability across kernel versions and platforms
● Insert new functionality at run-time:
○ New network and tunneling protocols
○ Push OVN-specific actions into the datapath
Future: P4
● P4 is a domain-specific language for programming packet forwarding
planes
● Usual target is hardware, but has benefits for software, too
○ Run-time addition of new matches and actions
○ New matches and actions can be written more compactly than in C
○ Parser can be custom-tuned to important fields for faster flow lookup
○ A single P4 match-action implementation can be shared across multiple datapaths
OVN
Virtual Networking Overview
13
Physical Logical
What is OVN?
● Virtual networking for Open vSwitch (OVS)
● Developed within the OVS project
● Linux Foundation Collaborative Project
● License under the Apache license
● First release of OVN came with OVS 2.6
● First release of OpenStack Neutron integration available in the Newton
release
OVN Feature Overview
● Manages overlays and physical network connectivity
● Flexible security policies (ACLs)
● Distributed L3 routing, IPv4 and IPv6
● Native support for NAT, load-balancing, DHCP
● Works with Linux, DPDK, and Hyper-V
● L2 and L3 gateways
● Designed to be integrated into another system
○ OpenStack, Kubernetes, Docker, Mesos, oVirt
Goals
● Production-quality
● Straightforward design
● Scale to 1000s of hypervisors (each with many VMs/containers)
● Scale to 100s of thousands of ports
Designed to Scale
● Configuration coordinated through databases
● Local controller converts logical flow state into physical flow state
○ Centrally creating each hypervisor’s view is expensive
○ Identical state sent to each hypervisor
● Desired state clearly separated from run-time state
○ Easier to reason about the system
○ Replication story clear
● Grouping techniques reduce Cartesian Product issues
○ High-level grouping constructs in database
○ Use of conjunctive match in switch
1. Logical configuration in Northbound DB
CMS
OVN
Northbound DB
2. ovn-northd populates Southbound logical flows
CMS
OVN
Northbound DB
OVN
Southbound DB
ovn-northd
3. Hypervisors generate physical flows
CMS
OVN
Northbound DB
OVN
Southbound DB
ovn-northd
HV-1
ovn-controller
OVS
HV-n
ovn-controller
OVS
HV-2
ovn-controller
OVS ...
OVN Future work
● Database clustering
● Scaling improvements
● Service function chaining
● Encrypted tunnels
● Native DNS support
● ACL Logging
Other Resources
● OVS/OVN Repository
○ https://github.com/openvswitch/ovs
● OpenStack OVN Integration
○ https://docs.openstack.org/developer/networking-ovn/
● Kubernetes OVN Plugin
○ https://github.com/openvswitch/ovn-kubernetes
● OVS Orbit Podcast
○ https://ovsorbit.org/
Thank you for attending!
Ben Pfaff (@Ben_Pfaff)
Justin Pettit (@Justin_D_Pettit)

More Related Content

PDF
Memory Mapping Implementation (mmap) in Linux Kernel
Adrian Huang
 
PDF
Nginx Internals
Joshua Zhu
 
PPTX
OVN - Basics and deep dive
Trinath Somanchi
 
PPTX
The Basic Introduction of Open vSwitch
Te-Yen Liu
 
PDF
DPDK: Multi Architecture High Performance Packet Processing
Michelle Holley
 
PDF
Fun with Network Interfaces
Kernel TLV
 
PDF
VLANs in the Linux Kernel
Kernel TLV
 
PDF
Using eBPF for High-Performance Networking in Cilium
ScyllaDB
 
Memory Mapping Implementation (mmap) in Linux Kernel
Adrian Huang
 
Nginx Internals
Joshua Zhu
 
OVN - Basics and deep dive
Trinath Somanchi
 
The Basic Introduction of Open vSwitch
Te-Yen Liu
 
DPDK: Multi Architecture High Performance Packet Processing
Michelle Holley
 
Fun with Network Interfaces
Kernel TLV
 
VLANs in the Linux Kernel
Kernel TLV
 
Using eBPF for High-Performance Networking in Cilium
ScyllaDB
 

What's hot (20)

PDF
Large scale overlay networks with ovn: problems and solutions
Han Zhou
 
PPTX
Ovs dpdk hwoffload way to full offload
Kevin Traynor
 
PPTX
Ceph Performance and Sizing Guide
Jose De La Rosa
 
PPTX
Understanding DPDK
Denys Haryachyy
 
PDF
DevConf 2014 Kernel Networking Walkthrough
Thomas Graf
 
PDF
AvailabilityZoneとHostAggregate
Hiroki Ishikawa
 
PDF
Linux Networking Explained
Thomas Graf
 
PDF
LinuxCon 2015 Linux Kernel Networking Walkthrough
Thomas Graf
 
PDF
Fluentd vs. Logstash for OpenStack Log Management
NTT Communications Technology Development
 
PDF
第20回 OpenStack勉強会 Neutron Deep Dive - DVR
Toru Makabe
 
PPTX
BI, Reporting and Analytics on Apache Cassandra
Victor Coustenoble
 
PDF
Zebra SRv6 CLI on Linux Dataplane (ENOG#49)
Kentaro Ebisawa
 
PDF
Openstack Neutron & Interconnections with BGP/MPLS VPNs
Thomas Morin
 
PPTX
Linux Network Stack
Adrien Mahieux
 
PDF
Physical Memory Management.pdf
Adrian Huang
 
PDF
initramfsについて
Kazuhiro Nishiyama
 
PDF
OpenStackクラウド基盤構築ハンズオンセミナー 第2日:講義No2
Etsuji Nakai
 
PDF
Hands-on ethernet driver
SUSE Labs Taipei
 
PPTX
OpenStack Neutron's Distributed Virtual Router
carlbaldwin
 
PDF
Decompressed vmlinux: linux kernel initialization from page table configurati...
Adrian Huang
 
Large scale overlay networks with ovn: problems and solutions
Han Zhou
 
Ovs dpdk hwoffload way to full offload
Kevin Traynor
 
Ceph Performance and Sizing Guide
Jose De La Rosa
 
Understanding DPDK
Denys Haryachyy
 
DevConf 2014 Kernel Networking Walkthrough
Thomas Graf
 
AvailabilityZoneとHostAggregate
Hiroki Ishikawa
 
Linux Networking Explained
Thomas Graf
 
LinuxCon 2015 Linux Kernel Networking Walkthrough
Thomas Graf
 
Fluentd vs. Logstash for OpenStack Log Management
NTT Communications Technology Development
 
第20回 OpenStack勉強会 Neutron Deep Dive - DVR
Toru Makabe
 
BI, Reporting and Analytics on Apache Cassandra
Victor Coustenoble
 
Zebra SRv6 CLI on Linux Dataplane (ENOG#49)
Kentaro Ebisawa
 
Openstack Neutron & Interconnections with BGP/MPLS VPNs
Thomas Morin
 
Linux Network Stack
Adrien Mahieux
 
Physical Memory Management.pdf
Adrian Huang
 
initramfsについて
Kazuhiro Nishiyama
 
OpenStackクラウド基盤構築ハンズオンセミナー 第2日:講義No2
Etsuji Nakai
 
Hands-on ethernet driver
SUSE Labs Taipei
 
OpenStack Neutron's Distributed Virtual Router
carlbaldwin
 
Decompressed vmlinux: linux kernel initialization from page table configurati...
Adrian Huang
 
Ad

Viewers also liked (20)

PDF
Fully automated kubernetes deployment and management
LinuxCon ContainerCon CloudOpen China
 
PDF
kdump: usage and_internals
LinuxCon ContainerCon CloudOpen China
 
PDF
Releasing a Distribution in the Age of DevOps.
LinuxCon ContainerCon CloudOpen China
 
PDF
OpenDaylight OpenStack Integration
LinuxCon ContainerCon CloudOpen China
 
PDF
Obstacles & Solutions for Livepatch Support on ARM64 Architecture
LinuxCon ContainerCon CloudOpen China
 
PDF
Hyperledger Technical Community in China.
LinuxCon ContainerCon CloudOpen China
 
PDF
Linuxcon secureefficientcontainerimagemanagementharbor
LinuxCon ContainerCon CloudOpen China
 
PDF
Simplify Networking for Containers
LinuxCon ContainerCon CloudOpen China
 
PDF
OpenStack on AArch64
LinuxCon ContainerCon CloudOpen China
 
PDF
Linux Kernel Development
LinuxCon ContainerCon CloudOpen China
 
PDF
GPU Acceleration for Containers on Intel Processor Graphics
LinuxCon ContainerCon CloudOpen China
 
PDF
Status of Embedded Linux
LinuxCon ContainerCon CloudOpen China
 
PDF
Libvirt API Certification
LinuxCon ContainerCon CloudOpen China
 
PDF
Building a Better Thermostat
LinuxCon ContainerCon CloudOpen China
 
PDF
OCI Support in Mesos
LinuxCon ContainerCon CloudOpen China
 
PDF
Is there still room for innovation in container orchestration and scheduling
LinuxCon ContainerCon CloudOpen China
 
PDF
Flowchain: A case study on building a Blockchain for the IoT
LinuxCon ContainerCon CloudOpen China
 
Fully automated kubernetes deployment and management
LinuxCon ContainerCon CloudOpen China
 
kdump: usage and_internals
LinuxCon ContainerCon CloudOpen China
 
Releasing a Distribution in the Age of DevOps.
LinuxCon ContainerCon CloudOpen China
 
OpenDaylight OpenStack Integration
LinuxCon ContainerCon CloudOpen China
 
Obstacles & Solutions for Livepatch Support on ARM64 Architecture
LinuxCon ContainerCon CloudOpen China
 
Hyperledger Technical Community in China.
LinuxCon ContainerCon CloudOpen China
 
Linuxcon secureefficientcontainerimagemanagementharbor
LinuxCon ContainerCon CloudOpen China
 
Simplify Networking for Containers
LinuxCon ContainerCon CloudOpen China
 
Linux Kernel Development
LinuxCon ContainerCon CloudOpen China
 
GPU Acceleration for Containers on Intel Processor Graphics
LinuxCon ContainerCon CloudOpen China
 
Status of Embedded Linux
LinuxCon ContainerCon CloudOpen China
 
Libvirt API Certification
LinuxCon ContainerCon CloudOpen China
 
Building a Better Thermostat
LinuxCon ContainerCon CloudOpen China
 
Is there still room for innovation in container orchestration and scheduling
LinuxCon ContainerCon CloudOpen China
 
Flowchain: A case study on building a Blockchain for the IoT
LinuxCon ContainerCon CloudOpen China
 
Ad

Similar to The Open vSwitch and OVN Projects (20)

PDF
Ovn vancouver
Mason Mei
 
PDF
LF_OVS_17_State of the OVN
LF_OpenvSwitch
 
PDF
Network Virtualization & Software-defined Networking
Digicomp Academy AG
 
PDF
SDN & NFV Introduction - Open Source Data Center Networking
Thomas Graf
 
PDF
OVN: Scaleable Virtual Networking for Open vSwitch
mestery
 
PDF
Introduction to OpenNetwork and SDN
HungWei Chiu
 
PDF
An Introduce of OPNFV (Open Platform for NFV)
Mario Cho
 
PPTX
Week_3.pptxmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm
NavumGupta1
 
PPTX
Optimising nfv service chains on open stack using docker
Rahul Krishna Upadhyaya
 
PPTX
Optimising nfv service chains on open stack using docker
Satya Sanjibani Routray
 
PPTX
Optimising nfv service chains on open stack using docker
Ananth Padmanabhan
 
PPTX
OpenStack Networking and Automation
Adam Johnson
 
PDF
Introduction to open virtual network Dawid Deja
OpenInfra Days Poland 2019
 
PDF
Understanding network and service virtualization
SDN Hub
 
PPTX
Meetup 23 - 02 - OVN - The future of networking in OpenStack
Vietnam Open Infrastructure User Group
 
PPTX
Supporting Virtualized Telco Applications with OpenStack
Bruce Davie
 
PDF
Open stack networking_101_part-1
yfauser
 
PDF
CloudKC: Evolution of Network Virtualization
Cynthia Thomas
 
PDF
Integration of OVS in OpenWrt wireless network and investigation of SDWMN
Nazmul Hossain Rakib
 
PDF
OpenNebulaConf2015 1.10 OpenNebula Networking: SDNs & NFVs - Ruben S. Montero
OpenNebula Project
 
Ovn vancouver
Mason Mei
 
LF_OVS_17_State of the OVN
LF_OpenvSwitch
 
Network Virtualization & Software-defined Networking
Digicomp Academy AG
 
SDN & NFV Introduction - Open Source Data Center Networking
Thomas Graf
 
OVN: Scaleable Virtual Networking for Open vSwitch
mestery
 
Introduction to OpenNetwork and SDN
HungWei Chiu
 
An Introduce of OPNFV (Open Platform for NFV)
Mario Cho
 
Week_3.pptxmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm
NavumGupta1
 
Optimising nfv service chains on open stack using docker
Rahul Krishna Upadhyaya
 
Optimising nfv service chains on open stack using docker
Satya Sanjibani Routray
 
Optimising nfv service chains on open stack using docker
Ananth Padmanabhan
 
OpenStack Networking and Automation
Adam Johnson
 
Introduction to open virtual network Dawid Deja
OpenInfra Days Poland 2019
 
Understanding network and service virtualization
SDN Hub
 
Meetup 23 - 02 - OVN - The future of networking in OpenStack
Vietnam Open Infrastructure User Group
 
Supporting Virtualized Telco Applications with OpenStack
Bruce Davie
 
Open stack networking_101_part-1
yfauser
 
CloudKC: Evolution of Network Virtualization
Cynthia Thomas
 
Integration of OVS in OpenWrt wireless network and investigation of SDWMN
Nazmul Hossain Rakib
 
OpenNebulaConf2015 1.10 OpenNebula Networking: SDNs & NFVs - Ruben S. Montero
OpenNebula Project
 

More from LinuxCon ContainerCon CloudOpen China (16)

PDF
SecurityPI - Hardening your IoT endpoints in Home.
LinuxCon ContainerCon CloudOpen China
 
PDF
Scale Kubernetes to support 50000 services
LinuxCon ContainerCon CloudOpen China
 
PDF
Secure Containers with EPT Isolation
LinuxCon ContainerCon CloudOpen China
 
PDF
Open Source Software Business Models Redux
LinuxCon ContainerCon CloudOpen China
 
PDF
Running Legacy Applications with Containers
LinuxCon ContainerCon CloudOpen China
 
PDF
Introduction to OCI Image Technologies Serving Container
LinuxCon ContainerCon CloudOpen China
 
PDF
Rebuild - Simplifying Embedded and IoT Development Using Linux Containers
LinuxCon ContainerCon CloudOpen China
 
PDF
Policy-based Resource Placement
LinuxCon ContainerCon CloudOpen China
 
PDF
From Resilient to Antifragile Chaos Engineering Primer
LinuxCon ContainerCon CloudOpen China
 
PDF
See what happened with real time kvm when building real time cloud pezhang@re...
LinuxCon ContainerCon CloudOpen China
 
PDF
UEFI HTTP/HTTPS Boot
LinuxCon ContainerCon CloudOpen China
 
PDF
How Open Source Communities do Standardization
LinuxCon ContainerCon CloudOpen China
 
PDF
High Performance Linux Virtual Machine on Microsoft Azure: SR-IOV Networking ...
LinuxCon ContainerCon CloudOpen China
 
PDF
Quickly Debug VM Failures in OpenStack
LinuxCon ContainerCon CloudOpen China
 
PDF
Zephyr: Creating a Best-of-Breed, Secure RTOS for IoT
LinuxCon ContainerCon CloudOpen China
 
SecurityPI - Hardening your IoT endpoints in Home.
LinuxCon ContainerCon CloudOpen China
 
Scale Kubernetes to support 50000 services
LinuxCon ContainerCon CloudOpen China
 
Secure Containers with EPT Isolation
LinuxCon ContainerCon CloudOpen China
 
Open Source Software Business Models Redux
LinuxCon ContainerCon CloudOpen China
 
Running Legacy Applications with Containers
LinuxCon ContainerCon CloudOpen China
 
Introduction to OCI Image Technologies Serving Container
LinuxCon ContainerCon CloudOpen China
 
Rebuild - Simplifying Embedded and IoT Development Using Linux Containers
LinuxCon ContainerCon CloudOpen China
 
Policy-based Resource Placement
LinuxCon ContainerCon CloudOpen China
 
From Resilient to Antifragile Chaos Engineering Primer
LinuxCon ContainerCon CloudOpen China
 
See what happened with real time kvm when building real time cloud pezhang@re...
LinuxCon ContainerCon CloudOpen China
 
How Open Source Communities do Standardization
LinuxCon ContainerCon CloudOpen China
 
High Performance Linux Virtual Machine on Microsoft Azure: SR-IOV Networking ...
LinuxCon ContainerCon CloudOpen China
 
Quickly Debug VM Failures in OpenStack
LinuxCon ContainerCon CloudOpen China
 
Zephyr: Creating a Best-of-Breed, Secure RTOS for IoT
LinuxCon ContainerCon CloudOpen China
 

Recently uploaded (20)

PPTX
OA presentation.pptx OA presentation.pptx
pateldhruv002338
 
PDF
AI-Cloud-Business-Management-Platforms-The-Key-to-Efficiency-Growth.pdf
Artjoker Software Development Company
 
PPTX
AI and Robotics for Human Well-being.pptx
JAYMIN SUTHAR
 
PDF
Structs to JSON: How Go Powers REST APIs
Emily Achieng
 
PDF
Oracle AI Vector Search- Getting Started and what's new in 2025- AIOUG Yatra ...
Sandesh Rao
 
PDF
Software Development Methodologies in 2025
KodekX
 
PPTX
Agile Chennai 18-19 July 2025 Ideathon | AI Powered Microfinance Literacy Gui...
AgileNetwork
 
PDF
Unlocking the Future- AI Agents Meet Oracle Database 23ai - AIOUG Yatra 2025.pdf
Sandesh Rao
 
PPTX
Agile Chennai 18-19 July 2025 | Emerging patterns in Agentic AI by Bharani Su...
AgileNetwork
 
PDF
Responsible AI and AI Ethics - By Sylvester Ebhonu
Sylvester Ebhonu
 
PDF
Google I/O Extended 2025 Baku - all ppts
HusseinMalikMammadli
 
PDF
Using Anchore and DefectDojo to Stand Up Your DevSecOps Function
Anchore
 
PDF
Automating ArcGIS Content Discovery with FME: A Real World Use Case
Safe Software
 
PDF
Get More from Fiori Automation - What’s New, What Works, and What’s Next.pdf
Precisely
 
PDF
Accelerating Oracle Database 23ai Troubleshooting with Oracle AHF Fleet Insig...
Sandesh Rao
 
PPTX
Applied-Statistics-Mastering-Data-Driven-Decisions.pptx
parmaryashparmaryash
 
PPTX
cloud computing vai.pptx for the project
vaibhavdobariyal79
 
PDF
How Open Source Changed My Career by abdelrahman ismail
a0m0rajab1
 
PDF
Orbitly Pitch Deck|A Mission-Driven Platform for Side Project Collaboration (...
zz41354899
 
PDF
Peak of Data & AI Encore - Real-Time Insights & Scalable Editing with ArcGIS
Safe Software
 
OA presentation.pptx OA presentation.pptx
pateldhruv002338
 
AI-Cloud-Business-Management-Platforms-The-Key-to-Efficiency-Growth.pdf
Artjoker Software Development Company
 
AI and Robotics for Human Well-being.pptx
JAYMIN SUTHAR
 
Structs to JSON: How Go Powers REST APIs
Emily Achieng
 
Oracle AI Vector Search- Getting Started and what's new in 2025- AIOUG Yatra ...
Sandesh Rao
 
Software Development Methodologies in 2025
KodekX
 
Agile Chennai 18-19 July 2025 Ideathon | AI Powered Microfinance Literacy Gui...
AgileNetwork
 
Unlocking the Future- AI Agents Meet Oracle Database 23ai - AIOUG Yatra 2025.pdf
Sandesh Rao
 
Agile Chennai 18-19 July 2025 | Emerging patterns in Agentic AI by Bharani Su...
AgileNetwork
 
Responsible AI and AI Ethics - By Sylvester Ebhonu
Sylvester Ebhonu
 
Google I/O Extended 2025 Baku - all ppts
HusseinMalikMammadli
 
Using Anchore and DefectDojo to Stand Up Your DevSecOps Function
Anchore
 
Automating ArcGIS Content Discovery with FME: A Real World Use Case
Safe Software
 
Get More from Fiori Automation - What’s New, What Works, and What’s Next.pdf
Precisely
 
Accelerating Oracle Database 23ai Troubleshooting with Oracle AHF Fleet Insig...
Sandesh Rao
 
Applied-Statistics-Mastering-Data-Driven-Decisions.pptx
parmaryashparmaryash
 
cloud computing vai.pptx for the project
vaibhavdobariyal79
 
How Open Source Changed My Career by abdelrahman ismail
a0m0rajab1
 
Orbitly Pitch Deck|A Mission-Driven Platform for Side Project Collaboration (...
zz41354899
 
Peak of Data & AI Encore - Real-Time Insights & Scalable Editing with ArcGIS
Safe Software
 

The Open vSwitch and OVN Projects

  • 1. LinuxCon+ContainerCon+CloudOpen China 2017 Justin Pettit (@Justin_D_Pettit) Ben Pfaff (@Ben_Pfaff) The Open vSwitch and OVN Projects
  • 2. Highlights from the Year ● The Open vSwitch project moved to the Linux Foundation ● Released the 2.6 and 2.7 series ● Moving to a more regular six month release interval ○ Next release in August ● First release of OVN
  • 3. Who Works on the OVS Projects? ● 230 individual contributors ● Contributions from a wide variety of companies ● 16 “committers” ● Diversity of contributors has increased with OVN
  • 4. OVS Project Releases ● Improved support for OpenFlow in every release ● Version 2.6 ○ OVN ○ NAT support (Linux kernels) ○ QoS and policing for DPDK ○ Basic connection tracking on DPDK and Hyper-V ● Version 2.7 ○ Non-experimental support for DPDK ○ OVN traffic shaping and DSCP support
  • 6. Open vSwitch Overview ● OVS is a multi-layer switch ● Visibility (NetFlow, sFlow, SPAN/RSPAN) ● Fine-grained ACLs and QoS policies ● Port bonding, LACP, tunneling ● Centralized control through OpenFlow and OVSDB ● Open source using Apache license ● Multiple ports to physical switches
  • 8. Platforms ● Linux kernel ● Containers ● DPDK ○ Bypasses the kernel and packets go straight to userspace ■ Potentially very fast if traffic doesn’t need kernel ■ Need to recreate services supplied by kernel ● Hyper-V ○ Windows-based hypervisor ○ Different from Windows support, but that’s also being worked on ● Non-Linux kernel datapaths sometimes lag on features provided by the kernel
  • 9. Decoupled Design ● Decoupling Helps ○ A number of different SDN applications have been written without requiring changes to OVS. ○ A number of new OpenFlow protocols have been added without changes to kernel ○ A number of new platforms have been added by implementing just a new datapath ● Flow programming with slow-path/fast-path design often performs better than fixed-pipeline ● NSDI paper on design and implementation: ○ http://openvswitch.org/support/papers/nsdi2015.pdf
  • 10. Future: BPF Datapath ● BPF provides a safe, virtual sandbox in the Linux kernel (as well as other platforms) ● DPDK-like performance in Linux kernel with XDP ● Potentially greater portability across kernel versions and platforms ● Insert new functionality at run-time: ○ New network and tunneling protocols ○ Push OVN-specific actions into the datapath
  • 11. Future: P4 ● P4 is a domain-specific language for programming packet forwarding planes ● Usual target is hardware, but has benefits for software, too ○ Run-time addition of new matches and actions ○ New matches and actions can be written more compactly than in C ○ Parser can be custom-tuned to important fields for faster flow lookup ○ A single P4 match-action implementation can be shared across multiple datapaths
  • 12. OVN
  • 14. What is OVN? ● Virtual networking for Open vSwitch (OVS) ● Developed within the OVS project ● Linux Foundation Collaborative Project ● License under the Apache license ● First release of OVN came with OVS 2.6 ● First release of OpenStack Neutron integration available in the Newton release
  • 15. OVN Feature Overview ● Manages overlays and physical network connectivity ● Flexible security policies (ACLs) ● Distributed L3 routing, IPv4 and IPv6 ● Native support for NAT, load-balancing, DHCP ● Works with Linux, DPDK, and Hyper-V ● L2 and L3 gateways ● Designed to be integrated into another system ○ OpenStack, Kubernetes, Docker, Mesos, oVirt
  • 16. Goals ● Production-quality ● Straightforward design ● Scale to 1000s of hypervisors (each with many VMs/containers) ● Scale to 100s of thousands of ports
  • 17. Designed to Scale ● Configuration coordinated through databases ● Local controller converts logical flow state into physical flow state ○ Centrally creating each hypervisor’s view is expensive ○ Identical state sent to each hypervisor ● Desired state clearly separated from run-time state ○ Easier to reason about the system ○ Replication story clear ● Grouping techniques reduce Cartesian Product issues ○ High-level grouping constructs in database ○ Use of conjunctive match in switch
  • 18. 1. Logical configuration in Northbound DB CMS OVN Northbound DB
  • 19. 2. ovn-northd populates Southbound logical flows CMS OVN Northbound DB OVN Southbound DB ovn-northd
  • 20. 3. Hypervisors generate physical flows CMS OVN Northbound DB OVN Southbound DB ovn-northd HV-1 ovn-controller OVS HV-n ovn-controller OVS HV-2 ovn-controller OVS ...
  • 21. OVN Future work ● Database clustering ● Scaling improvements ● Service function chaining ● Encrypted tunnels ● Native DNS support ● ACL Logging
  • 22. Other Resources ● OVS/OVN Repository ○ https://github.com/openvswitch/ovs ● OpenStack OVN Integration ○ https://docs.openstack.org/developer/networking-ovn/ ● Kubernetes OVN Plugin ○ https://github.com/openvswitch/ovn-kubernetes ● OVS Orbit Podcast ○ https://ovsorbit.org/
  • 23. Thank you for attending! Ben Pfaff (@Ben_Pfaff) Justin Pettit (@Justin_D_Pettit)