SlideShare a Scribd company logo
© 2009 VMware Inc. All rights reserved
Programmable Networking with Open vSwitch
Jesse Gross
LinuxCon
September, 2013
2
Background: The Evolution of Data Centers
Virtualization has created data center workloads that are large, rapidly
changing, and location independent.
§ Enabled by a layer of software indirection between logical unit (virtual
machine) and underlying hardware (physical machine).
§ The virtualization layer exposes a programmable API to what previously
required a human to reconfigure.
§ Current networking has many of the same problems as traditional servers,
limiting the benefits of virtualization.
Networking needs to be programmable
3
What is Open vSwitch?
Open vSwitch is an open source switching stack for virtualization.
The most powerful piece of real estate in a network is the edge and the
hypervisor is the new edge.
Two ways to view OVS:
• Gaining back visibility and control that usually comes from the features of a
hardware switch.
• An opportunity to exploit the flexibility that comes from software and
virtualization.
Open vSwitch allows you to write a program to control your network.
4
Sample of Contributors
5
openvswitch.ko
ovsdb-server
User
Kernel
Control & Management Cluster
ovs-vswitchd
Management Protocol (6632/TCP)
OpenFlow (6633/TCP)
Netlink
Off-box
Open vSwitch Architecture
6
Basic Features
Open vSwitch brings many features standard in hardware devices to
virtualized environments:
• VLANs
• LACP and other bonding modes
• STP
• QoS shaping and policing
• ACLs over a range of L2-L4 protocols
• NetFlow, sFlow, IPFIX, mirroring
• A variety of tunneling protocols
Plus remote programmability and management features:
• OpenFlow 1.0 and experimental support for versions 1.1-1.3.
• All features and status remotely configurable and viewable.
• Many extensions for supporting high availability control clusters.
7
Advanced Capabilities
Programmability requires primitives more similar to a CPU than a network
ASIC.
Over time, the flow table in Open vSwitch has slowly changed from a list of
policies to a nearly general purpose processing pipeline.
Examples:
§ Resubmit: Move between multiple independent flow tables, similar to
subroutines.
§ Registers: Storage for intermediate metadata, including manipulation
functions such as a stack.
§ Learning: Dynamically generate new flows based on packet traffic
patterns.
§ Hashing and Perform actions based on deterministic or probabilistic
Sampling: properties of the traffic.
8
A Simple Switch Pipeline
Admission Control
Input VLAN
Processing
Learn
Source
MAC/VLAN
Lookup
Output Port
Output
VLAN
Processing
Open vSwitch makes it possible to emulate a traditional pipeline or extend
for new models.
1. Flows to drop illegal packets (i.e. reserved addresses) and resubmit valid
packets to the next stage.
2. Classify packets on ingress port and add VLAN tag. Resubmit to next stage.
3. Learning action to generate new flows based on source MAC, VLAN, and
input port. Fields populate a template and placed in next stage. Resubmit.
4. Match flows generated by learning or use low priority flood flow. Resubmit.
5. Strip VLAN tag for access ports and output.
9
Performance
How does programmability impact forwarding rates?
0.1
1
10
100
1000
10000
0.001 0.01 0.1 1 10 100 1000 10000
Native
OVS
Bandwidth
(Mbps)
Message Size (KB)
10
Performance
Many aspects of performance:
Established Flows:
New flows are sent to userspace and exact match entries are installed in
the kernel. All classification happens in userspace, out of the fast path.
Most additional features do not affect performance.
Connection Setup:
Most challenging case for Open vSwitch. Optimizations are currently
under development to both reduce the number of unique flows and
increase the speed of setup.
Many Sustained Connections:
A large number of flows does not directly affect throughput but the
overhead of maintaining statistics increases. Heuristics are used to
balance the rate of updates with overhead.
11
Integration Points: libvirt and OpenStack
Quantum
Open vSwitch
Plugin
Nova Swift
OVS + libvirt
Hypervisors
Two main touch points between Open
vSwitch and the rest of the environment:
libvirt (0.9.11): VM lifecycle on hypervisors –
attach ports to bridges.
OpenStack/Quantum (Folsom): Manage
many Open vSwitch instances to create
network abstractions.
12
Physical Compute & Memory
Server Hypervisor
Requirement: x86
Virtual
Machine
Virtual
Machine
Virtual
Machine
Application Application Application
x86 Environment
Physical Network
Network Virtualization Platform
Requirement: IP Transport
Virtual
Network
Virtual
Network
Virtual
Network
Workload Workload Workload
L2, L3, L4-7 Network Services
Decoupled
Tying It All Together: Network Virtualization
13
Future Directions
Performance
• Wildcards in the kernel to reduce flow setups
• Userspace multi-threading
• General optimization
Increased Integration
• Tunnel upstreaming
• Further native support from both hypervisor and network management tools
• Additional use of Linux components, particularly for stateful features
Additional Features
• Production-ready support for OpenFlow 1.1+
• Additional protocols and networking functionality
• More programmability and controller assistance
Contribute: http://openvswitch.org
14
Q & A

More Related Content

Similar to OVS-LinuxCon 2013.pdf

Marcelo Perazolo, Lead Software Architect, IBM Corporation - Monitoring a Pow...
Marcelo Perazolo, Lead Software Architect, IBM Corporation - Monitoring a Pow...Marcelo Perazolo, Lead Software Architect, IBM Corporation - Monitoring a Pow...
Marcelo Perazolo, Lead Software Architect, IBM Corporation - Monitoring a Pow...
Nagios
 
Ons 2013-nv
Ons 2013-nvOns 2013-nv
Ons 2013-nv
Bruce Davie
 
Network Virtualization: Delivering on the Promises of SDN
Network Virtualization: Delivering on the Promises of SDNNetwork Virtualization: Delivering on the Promises of SDN
Network Virtualization: Delivering on the Promises of SDN
Open Networking Summits
 
BuildingSDNmanageableswitch.pdf
BuildingSDNmanageableswitch.pdfBuildingSDNmanageableswitch.pdf
BuildingSDNmanageableswitch.pdf
Fernando Velez Varela
 
OpenFlow Tutorial
OpenFlow TutorialOpenFlow Tutorial
OpenFlow Tutorial
Ja-seop Kwak
 
OpenFlow as a Service from research institute
OpenFlow as a Service from research instituteOpenFlow as a Service from research institute
OpenFlow as a Service from research institute
Vijayaguru Jayaram
 
Demystifying openvswitch
Demystifying openvswitchDemystifying openvswitch
Demystifying openvswitch
Prasad Mukhedkar
 
Virt july-2013-meetup
Virt july-2013-meetupVirt july-2013-meetup
Virt july-2013-meetup
nvirters
 
OpenFlow tutorial
OpenFlow tutorialOpenFlow tutorial
OpenFlow tutorial
openflow
 
VMworld 2013: Advanced VMware NSX Architecture
VMworld 2013: Advanced VMware NSX Architecture VMworld 2013: Advanced VMware NSX Architecture
VMworld 2013: Advanced VMware NSX Architecture
VMworld
 
[OpenStack Days Korea 2016] Track1 - Mellanox CloudX - Acceleration for Cloud...
[OpenStack Days Korea 2016] Track1 - Mellanox CloudX - Acceleration for Cloud...[OpenStack Days Korea 2016] Track1 - Mellanox CloudX - Acceleration for Cloud...
[OpenStack Days Korea 2016] Track1 - Mellanox CloudX - Acceleration for Cloud...
OpenStack Korea Community
 
Open VSwitch .. Use it for your day to day needs
Open VSwitch .. Use it for your day to day needsOpen VSwitch .. Use it for your day to day needs
Open VSwitch .. Use it for your day to day needs
rranjithrajaram
 
10 sdn-vir-6up
10 sdn-vir-6up10 sdn-vir-6up
10 sdn-vir-6up
Sachin Siddappa
 
Software Defined Networks
Software Defined NetworksSoftware Defined Networks
Software Defined Networks
Shreeya Shah
 
CloudStack and SDN
CloudStack and SDNCloudStack and SDN
CloudStack and SDN
Sebastien Goasguen
 
L4-L7 Application Services with Avi Networks
L4-L7 Application Services with Avi NetworksL4-L7 Application Services with Avi Networks
L4-L7 Application Services with Avi Networks
Avi Networks
 
Using Agilio SmartNICs for OpenStack Networking Acceleration
Using Agilio SmartNICs for OpenStack Networking AccelerationUsing Agilio SmartNICs for OpenStack Networking Acceleration
Using Agilio SmartNICs for OpenStack Networking Acceleration
Netronome
 
BKK16-409 VOSY Switch Port to ARMv8 Platforms and ODP Integration
BKK16-409 VOSY Switch Port to ARMv8 Platforms and ODP IntegrationBKK16-409 VOSY Switch Port to ARMv8 Platforms and ODP Integration
BKK16-409 VOSY Switch Port to ARMv8 Platforms and ODP Integration
Linaro
 
Radisys/Wind River: The Telcom Cloud - Deployment Strategies: SDN/NFV and Vir...
Radisys/Wind River: The Telcom Cloud - Deployment Strategies: SDN/NFV and Vir...Radisys/Wind River: The Telcom Cloud - Deployment Strategies: SDN/NFV and Vir...
Radisys/Wind River: The Telcom Cloud - Deployment Strategies: SDN/NFV and Vir...
Radisys Corporation
 
OpenStack Networking
OpenStack NetworkingOpenStack Networking
OpenStack Networking
Ilya Shakhat
 

Similar to OVS-LinuxCon 2013.pdf (20)

Marcelo Perazolo, Lead Software Architect, IBM Corporation - Monitoring a Pow...
Marcelo Perazolo, Lead Software Architect, IBM Corporation - Monitoring a Pow...Marcelo Perazolo, Lead Software Architect, IBM Corporation - Monitoring a Pow...
Marcelo Perazolo, Lead Software Architect, IBM Corporation - Monitoring a Pow...
 
Ons 2013-nv
Ons 2013-nvOns 2013-nv
Ons 2013-nv
 
Network Virtualization: Delivering on the Promises of SDN
Network Virtualization: Delivering on the Promises of SDNNetwork Virtualization: Delivering on the Promises of SDN
Network Virtualization: Delivering on the Promises of SDN
 
BuildingSDNmanageableswitch.pdf
BuildingSDNmanageableswitch.pdfBuildingSDNmanageableswitch.pdf
BuildingSDNmanageableswitch.pdf
 
OpenFlow Tutorial
OpenFlow TutorialOpenFlow Tutorial
OpenFlow Tutorial
 
OpenFlow as a Service from research institute
OpenFlow as a Service from research instituteOpenFlow as a Service from research institute
OpenFlow as a Service from research institute
 
Demystifying openvswitch
Demystifying openvswitchDemystifying openvswitch
Demystifying openvswitch
 
Virt july-2013-meetup
Virt july-2013-meetupVirt july-2013-meetup
Virt july-2013-meetup
 
OpenFlow tutorial
OpenFlow tutorialOpenFlow tutorial
OpenFlow tutorial
 
VMworld 2013: Advanced VMware NSX Architecture
VMworld 2013: Advanced VMware NSX Architecture VMworld 2013: Advanced VMware NSX Architecture
VMworld 2013: Advanced VMware NSX Architecture
 
[OpenStack Days Korea 2016] Track1 - Mellanox CloudX - Acceleration for Cloud...
[OpenStack Days Korea 2016] Track1 - Mellanox CloudX - Acceleration for Cloud...[OpenStack Days Korea 2016] Track1 - Mellanox CloudX - Acceleration for Cloud...
[OpenStack Days Korea 2016] Track1 - Mellanox CloudX - Acceleration for Cloud...
 
Open VSwitch .. Use it for your day to day needs
Open VSwitch .. Use it for your day to day needsOpen VSwitch .. Use it for your day to day needs
Open VSwitch .. Use it for your day to day needs
 
10 sdn-vir-6up
10 sdn-vir-6up10 sdn-vir-6up
10 sdn-vir-6up
 
Software Defined Networks
Software Defined NetworksSoftware Defined Networks
Software Defined Networks
 
CloudStack and SDN
CloudStack and SDNCloudStack and SDN
CloudStack and SDN
 
L4-L7 Application Services with Avi Networks
L4-L7 Application Services with Avi NetworksL4-L7 Application Services with Avi Networks
L4-L7 Application Services with Avi Networks
 
Using Agilio SmartNICs for OpenStack Networking Acceleration
Using Agilio SmartNICs for OpenStack Networking AccelerationUsing Agilio SmartNICs for OpenStack Networking Acceleration
Using Agilio SmartNICs for OpenStack Networking Acceleration
 
BKK16-409 VOSY Switch Port to ARMv8 Platforms and ODP Integration
BKK16-409 VOSY Switch Port to ARMv8 Platforms and ODP IntegrationBKK16-409 VOSY Switch Port to ARMv8 Platforms and ODP Integration
BKK16-409 VOSY Switch Port to ARMv8 Platforms and ODP Integration
 
Radisys/Wind River: The Telcom Cloud - Deployment Strategies: SDN/NFV and Vir...
Radisys/Wind River: The Telcom Cloud - Deployment Strategies: SDN/NFV and Vir...Radisys/Wind River: The Telcom Cloud - Deployment Strategies: SDN/NFV and Vir...
Radisys/Wind River: The Telcom Cloud - Deployment Strategies: SDN/NFV and Vir...
 
OpenStack Networking
OpenStack NetworkingOpenStack Networking
OpenStack Networking
 

Recently uploaded

(CISOPlatform Summit & SACON 2024) Digital Personal Data Protection Act.pdf
(CISOPlatform Summit & SACON 2024) Digital Personal Data Protection Act.pdf(CISOPlatform Summit & SACON 2024) Digital Personal Data Protection Act.pdf
(CISOPlatform Summit & SACON 2024) Digital Personal Data Protection Act.pdf
Priyanka Aash
 
Using LLM Agents with Llama 3, LangGraph and Milvus
Using LLM Agents with Llama 3, LangGraph and MilvusUsing LLM Agents with Llama 3, LangGraph and Milvus
Using LLM Agents with Llama 3, LangGraph and Milvus
Zilliz
 
Connector Corner: Leveraging Snowflake Integration for Smarter Decision Making
Connector Corner: Leveraging Snowflake Integration for Smarter Decision MakingConnector Corner: Leveraging Snowflake Integration for Smarter Decision Making
Connector Corner: Leveraging Snowflake Integration for Smarter Decision Making
DianaGray10
 
Girls Call Churchgate 9910780858 Provide Best And Top Girl Service And No1 in...
Girls Call Churchgate 9910780858 Provide Best And Top Girl Service And No1 in...Girls Call Churchgate 9910780858 Provide Best And Top Girl Service And No1 in...
Girls Call Churchgate 9910780858 Provide Best And Top Girl Service And No1 in...
maigasapphire
 
Acumatica vs. Sage Intacct _Construction_July (1).pptx
Acumatica vs. Sage Intacct _Construction_July (1).pptxAcumatica vs. Sage Intacct _Construction_July (1).pptx
Acumatica vs. Sage Intacct _Construction_July (1).pptx
BrainSell Technologies
 
Russian Girls Call Navi Mumbai 🎈🔥9920725232 🔥💋🎈 Provide Best And Top Girl Ser...
Russian Girls Call Navi Mumbai 🎈🔥9920725232 🔥💋🎈 Provide Best And Top Girl Ser...Russian Girls Call Navi Mumbai 🎈🔥9920725232 🔥💋🎈 Provide Best And Top Girl Ser...
Russian Girls Call Navi Mumbai 🎈🔥9920725232 🔥💋🎈 Provide Best And Top Girl Ser...
bellared2
 
EuroPython 2024 - Streamlining Testing in a Large Python Codebase
EuroPython 2024 - Streamlining Testing in a Large Python CodebaseEuroPython 2024 - Streamlining Testing in a Large Python Codebase
EuroPython 2024 - Streamlining Testing in a Large Python Codebase
Jimmy Lai
 
How to Build a Profitable IoT Product.pptx
How to Build a Profitable IoT Product.pptxHow to Build a Profitable IoT Product.pptx
How to Build a Profitable IoT Product.pptx
Adam Dunkels
 
TrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-In
TrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-InTrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-In
TrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-In
TrustArc
 
Premium Girls Call Mumbai 9920725232 Unlimited Short Providing Girls Service ...
Premium Girls Call Mumbai 9920725232 Unlimited Short Providing Girls Service ...Premium Girls Call Mumbai 9920725232 Unlimited Short Providing Girls Service ...
Premium Girls Call Mumbai 9920725232 Unlimited Short Providing Girls Service ...
shanihomely
 
Use Cases & Benefits of RPA in Manufacturing in 2024.pptx
Use Cases & Benefits of RPA in Manufacturing in 2024.pptxUse Cases & Benefits of RPA in Manufacturing in 2024.pptx
Use Cases & Benefits of RPA in Manufacturing in 2024.pptx
SynapseIndia
 
Dublin_mulesoft_meetup_Mulesoft_Salesforce_Integration (1).pptx
Dublin_mulesoft_meetup_Mulesoft_Salesforce_Integration (1).pptxDublin_mulesoft_meetup_Mulesoft_Salesforce_Integration (1).pptx
Dublin_mulesoft_meetup_Mulesoft_Salesforce_Integration (1).pptx
Kunal Gupta
 
Girls call Kolkata 👀 XXXXXXXXXXX 👀 Rs.9.5 K Cash Payment With Room Delivery
Girls call Kolkata 👀 XXXXXXXXXXX 👀 Rs.9.5 K Cash Payment With Room Delivery Girls call Kolkata 👀 XXXXXXXXXXX 👀 Rs.9.5 K Cash Payment With Room Delivery
Girls call Kolkata 👀 XXXXXXXXXXX 👀 Rs.9.5 K Cash Payment With Room Delivery
sunilverma7884
 
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdfBT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
Neo4j
 
Google I/O Extended Harare Merged Slides
Google I/O Extended Harare Merged SlidesGoogle I/O Extended Harare Merged Slides
Google I/O Extended Harare Merged Slides
Google Developer Group - Harare
 
Patch Tuesday de julio
Patch Tuesday de julioPatch Tuesday de julio
Patch Tuesday de julio
Ivanti
 
Acumatica vs. Sage Intacct vs. NetSuite _ NOW CFO.pdf
Acumatica vs. Sage Intacct vs. NetSuite _ NOW CFO.pdfAcumatica vs. Sage Intacct vs. NetSuite _ NOW CFO.pdf
Acumatica vs. Sage Intacct vs. NetSuite _ NOW CFO.pdf
BrainSell Technologies
 
Introduction-to-the-IAM-Platform-Implementation-Plan.pptx
Introduction-to-the-IAM-Platform-Implementation-Plan.pptxIntroduction-to-the-IAM-Platform-Implementation-Plan.pptx
Introduction-to-the-IAM-Platform-Implementation-Plan.pptx
313mohammedarshad
 
Litestack talk at Brighton 2024 (Unleashing the power of SQLite for Ruby apps)
Litestack talk at Brighton 2024 (Unleashing the power of SQLite for Ruby apps)Litestack talk at Brighton 2024 (Unleashing the power of SQLite for Ruby apps)
Litestack talk at Brighton 2024 (Unleashing the power of SQLite for Ruby apps)
Muhammad Ali
 
High Profile Girls call Service Pune 000XX00000 Provide Best And Top Girl Ser...
High Profile Girls call Service Pune 000XX00000 Provide Best And Top Girl Ser...High Profile Girls call Service Pune 000XX00000 Provide Best And Top Girl Ser...
High Profile Girls call Service Pune 000XX00000 Provide Best And Top Girl Ser...
bhumivarma35300
 

Recently uploaded (20)

(CISOPlatform Summit & SACON 2024) Digital Personal Data Protection Act.pdf
(CISOPlatform Summit & SACON 2024) Digital Personal Data Protection Act.pdf(CISOPlatform Summit & SACON 2024) Digital Personal Data Protection Act.pdf
(CISOPlatform Summit & SACON 2024) Digital Personal Data Protection Act.pdf
 
Using LLM Agents with Llama 3, LangGraph and Milvus
Using LLM Agents with Llama 3, LangGraph and MilvusUsing LLM Agents with Llama 3, LangGraph and Milvus
Using LLM Agents with Llama 3, LangGraph and Milvus
 
Connector Corner: Leveraging Snowflake Integration for Smarter Decision Making
Connector Corner: Leveraging Snowflake Integration for Smarter Decision MakingConnector Corner: Leveraging Snowflake Integration for Smarter Decision Making
Connector Corner: Leveraging Snowflake Integration for Smarter Decision Making
 
Girls Call Churchgate 9910780858 Provide Best And Top Girl Service And No1 in...
Girls Call Churchgate 9910780858 Provide Best And Top Girl Service And No1 in...Girls Call Churchgate 9910780858 Provide Best And Top Girl Service And No1 in...
Girls Call Churchgate 9910780858 Provide Best And Top Girl Service And No1 in...
 
Acumatica vs. Sage Intacct _Construction_July (1).pptx
Acumatica vs. Sage Intacct _Construction_July (1).pptxAcumatica vs. Sage Intacct _Construction_July (1).pptx
Acumatica vs. Sage Intacct _Construction_July (1).pptx
 
Russian Girls Call Navi Mumbai 🎈🔥9920725232 🔥💋🎈 Provide Best And Top Girl Ser...
Russian Girls Call Navi Mumbai 🎈🔥9920725232 🔥💋🎈 Provide Best And Top Girl Ser...Russian Girls Call Navi Mumbai 🎈🔥9920725232 🔥💋🎈 Provide Best And Top Girl Ser...
Russian Girls Call Navi Mumbai 🎈🔥9920725232 🔥💋🎈 Provide Best And Top Girl Ser...
 
EuroPython 2024 - Streamlining Testing in a Large Python Codebase
EuroPython 2024 - Streamlining Testing in a Large Python CodebaseEuroPython 2024 - Streamlining Testing in a Large Python Codebase
EuroPython 2024 - Streamlining Testing in a Large Python Codebase
 
How to Build a Profitable IoT Product.pptx
How to Build a Profitable IoT Product.pptxHow to Build a Profitable IoT Product.pptx
How to Build a Profitable IoT Product.pptx
 
TrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-In
TrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-InTrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-In
TrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-In
 
Premium Girls Call Mumbai 9920725232 Unlimited Short Providing Girls Service ...
Premium Girls Call Mumbai 9920725232 Unlimited Short Providing Girls Service ...Premium Girls Call Mumbai 9920725232 Unlimited Short Providing Girls Service ...
Premium Girls Call Mumbai 9920725232 Unlimited Short Providing Girls Service ...
 
Use Cases & Benefits of RPA in Manufacturing in 2024.pptx
Use Cases & Benefits of RPA in Manufacturing in 2024.pptxUse Cases & Benefits of RPA in Manufacturing in 2024.pptx
Use Cases & Benefits of RPA in Manufacturing in 2024.pptx
 
Dublin_mulesoft_meetup_Mulesoft_Salesforce_Integration (1).pptx
Dublin_mulesoft_meetup_Mulesoft_Salesforce_Integration (1).pptxDublin_mulesoft_meetup_Mulesoft_Salesforce_Integration (1).pptx
Dublin_mulesoft_meetup_Mulesoft_Salesforce_Integration (1).pptx
 
Girls call Kolkata 👀 XXXXXXXXXXX 👀 Rs.9.5 K Cash Payment With Room Delivery
Girls call Kolkata 👀 XXXXXXXXXXX 👀 Rs.9.5 K Cash Payment With Room Delivery Girls call Kolkata 👀 XXXXXXXXXXX 👀 Rs.9.5 K Cash Payment With Room Delivery
Girls call Kolkata 👀 XXXXXXXXXXX 👀 Rs.9.5 K Cash Payment With Room Delivery
 
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdfBT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
 
Google I/O Extended Harare Merged Slides
Google I/O Extended Harare Merged SlidesGoogle I/O Extended Harare Merged Slides
Google I/O Extended Harare Merged Slides
 
Patch Tuesday de julio
Patch Tuesday de julioPatch Tuesday de julio
Patch Tuesday de julio
 
Acumatica vs. Sage Intacct vs. NetSuite _ NOW CFO.pdf
Acumatica vs. Sage Intacct vs. NetSuite _ NOW CFO.pdfAcumatica vs. Sage Intacct vs. NetSuite _ NOW CFO.pdf
Acumatica vs. Sage Intacct vs. NetSuite _ NOW CFO.pdf
 
Introduction-to-the-IAM-Platform-Implementation-Plan.pptx
Introduction-to-the-IAM-Platform-Implementation-Plan.pptxIntroduction-to-the-IAM-Platform-Implementation-Plan.pptx
Introduction-to-the-IAM-Platform-Implementation-Plan.pptx
 
Litestack talk at Brighton 2024 (Unleashing the power of SQLite for Ruby apps)
Litestack talk at Brighton 2024 (Unleashing the power of SQLite for Ruby apps)Litestack talk at Brighton 2024 (Unleashing the power of SQLite for Ruby apps)
Litestack talk at Brighton 2024 (Unleashing the power of SQLite for Ruby apps)
 
High Profile Girls call Service Pune 000XX00000 Provide Best And Top Girl Ser...
High Profile Girls call Service Pune 000XX00000 Provide Best And Top Girl Ser...High Profile Girls call Service Pune 000XX00000 Provide Best And Top Girl Ser...
High Profile Girls call Service Pune 000XX00000 Provide Best And Top Girl Ser...
 

OVS-LinuxCon 2013.pdf

  • 1. © 2009 VMware Inc. All rights reserved Programmable Networking with Open vSwitch Jesse Gross LinuxCon September, 2013
  • 2. 2 Background: The Evolution of Data Centers Virtualization has created data center workloads that are large, rapidly changing, and location independent. § Enabled by a layer of software indirection between logical unit (virtual machine) and underlying hardware (physical machine). § The virtualization layer exposes a programmable API to what previously required a human to reconfigure. § Current networking has many of the same problems as traditional servers, limiting the benefits of virtualization. Networking needs to be programmable
  • 3. 3 What is Open vSwitch? Open vSwitch is an open source switching stack for virtualization. The most powerful piece of real estate in a network is the edge and the hypervisor is the new edge. Two ways to view OVS: • Gaining back visibility and control that usually comes from the features of a hardware switch. • An opportunity to exploit the flexibility that comes from software and virtualization. Open vSwitch allows you to write a program to control your network.
  • 5. 5 openvswitch.ko ovsdb-server User Kernel Control & Management Cluster ovs-vswitchd Management Protocol (6632/TCP) OpenFlow (6633/TCP) Netlink Off-box Open vSwitch Architecture
  • 6. 6 Basic Features Open vSwitch brings many features standard in hardware devices to virtualized environments: • VLANs • LACP and other bonding modes • STP • QoS shaping and policing • ACLs over a range of L2-L4 protocols • NetFlow, sFlow, IPFIX, mirroring • A variety of tunneling protocols Plus remote programmability and management features: • OpenFlow 1.0 and experimental support for versions 1.1-1.3. • All features and status remotely configurable and viewable. • Many extensions for supporting high availability control clusters.
  • 7. 7 Advanced Capabilities Programmability requires primitives more similar to a CPU than a network ASIC. Over time, the flow table in Open vSwitch has slowly changed from a list of policies to a nearly general purpose processing pipeline. Examples: § Resubmit: Move between multiple independent flow tables, similar to subroutines. § Registers: Storage for intermediate metadata, including manipulation functions such as a stack. § Learning: Dynamically generate new flows based on packet traffic patterns. § Hashing and Perform actions based on deterministic or probabilistic Sampling: properties of the traffic.
  • 8. 8 A Simple Switch Pipeline Admission Control Input VLAN Processing Learn Source MAC/VLAN Lookup Output Port Output VLAN Processing Open vSwitch makes it possible to emulate a traditional pipeline or extend for new models. 1. Flows to drop illegal packets (i.e. reserved addresses) and resubmit valid packets to the next stage. 2. Classify packets on ingress port and add VLAN tag. Resubmit to next stage. 3. Learning action to generate new flows based on source MAC, VLAN, and input port. Fields populate a template and placed in next stage. Resubmit. 4. Match flows generated by learning or use low priority flood flow. Resubmit. 5. Strip VLAN tag for access ports and output.
  • 9. 9 Performance How does programmability impact forwarding rates? 0.1 1 10 100 1000 10000 0.001 0.01 0.1 1 10 100 1000 10000 Native OVS Bandwidth (Mbps) Message Size (KB)
  • 10. 10 Performance Many aspects of performance: Established Flows: New flows are sent to userspace and exact match entries are installed in the kernel. All classification happens in userspace, out of the fast path. Most additional features do not affect performance. Connection Setup: Most challenging case for Open vSwitch. Optimizations are currently under development to both reduce the number of unique flows and increase the speed of setup. Many Sustained Connections: A large number of flows does not directly affect throughput but the overhead of maintaining statistics increases. Heuristics are used to balance the rate of updates with overhead.
  • 11. 11 Integration Points: libvirt and OpenStack Quantum Open vSwitch Plugin Nova Swift OVS + libvirt Hypervisors Two main touch points between Open vSwitch and the rest of the environment: libvirt (0.9.11): VM lifecycle on hypervisors – attach ports to bridges. OpenStack/Quantum (Folsom): Manage many Open vSwitch instances to create network abstractions.
  • 12. 12 Physical Compute & Memory Server Hypervisor Requirement: x86 Virtual Machine Virtual Machine Virtual Machine Application Application Application x86 Environment Physical Network Network Virtualization Platform Requirement: IP Transport Virtual Network Virtual Network Virtual Network Workload Workload Workload L2, L3, L4-7 Network Services Decoupled Tying It All Together: Network Virtualization
  • 13. 13 Future Directions Performance • Wildcards in the kernel to reduce flow setups • Userspace multi-threading • General optimization Increased Integration • Tunnel upstreaming • Further native support from both hypervisor and network management tools • Additional use of Linux components, particularly for stateful features Additional Features • Production-ready support for OpenFlow 1.1+ • Additional protocols and networking functionality • More programmability and controller assistance Contribute: http://openvswitch.org