SlideShare una empresa de Scribd logo
1 de 26
Descargar para leer sin conexión
1©2017 Open-NFP
OpenContrail, Real Speed: Offloading vRouter
Chris Telfer, Distinguished Engineer, Netronome
Ted Drapas, Sr Director Software Engineering, Netronome
2©2017 Open-NFP
Agenda
▪ Introduction to OpenContrail & OpenContrail vRouter
▪ NFP Acceleration Strategy
▪ Software Architecture
▪ Results and Conclusions
▪ Questions
3©2017 Open-NFP
Introduction to OpenContrail and
vRouter
OpenContrail, Real Speed: Offloading vRouter
4©2017 Open-NFP
What is Contrail?
Copyright and Courtesy of our partners Juniper Networks
5©2017 Open-NFP
What is Contrail?
OpenContrail consists of two main components
▪ OpenContrail Controller - Software Defined Networking (SDN) controller
that is responsible for providing the management, control, and analytics
functions of the virtual network
▪ OpenContrail vRouter - Programmable (by controller) datapath for
managing data center networks
6©2017 Open-NFP
What is vRouter?
vRouter is the programmable datapath of OpenContrail
▪ Connects to an underlay network and manages overlay networks
▪ Similar in purpose to OVS, but designed specifically for datacenters
• Assumes / optimizes the use of point-to-point tunnels over the underlay
• UDP/MPLS (L2/L3), GRE/MPLS (L2/L3), VXLAN (L2 only)
▪ Is a “distributed device”
• Acts as an L2 switch or L3 router on the overlay
• Software sees one device, but it is spread across all compute nodes
• Runs in the hypervisor
▪ Has both a kernel module and DPDK implementation
7©2017 Open-NFP
vRouter in a Compute Node
8©2017 Open-NFP
Problem Statement
Why the need for the NFP?
…..performance & overhead…..
▪ vRouter evolution without NFP
• kernel vRouter - pkt delivery to VMs via kernel TAP interfaces - slow
• ….so go to user space ….DPDK vRouter - significantly improves PPS
compared to kernel vRouter, but at a significant price
• DPDK vRouter achieves ~1.5 Mpps per core
▪ For the vRouter datapath to meet the needs of high-performance
VNFs on compute nodes it must use significant CPU resources
▪ These resources therefore are not available for the VMs running on
the compute node
9©2017 Open-NFP
Problem Solution
▪ Incorporating the NFP to offload the vRouter datapath (or any similar
data path) on the host allows recovery of CPU resources
▪ Direct packet delivery from NFP into VMs can achieve higher
performance than host-only software even with many dedicated
cores
10©2017 Open-NFP
NFP Acceleration Strategy
OpenContrail, Real Speed: Offloading vRouter
11©2017 Open-NFP
Acceleration Requirements
Two key goals: performance and transparency
▪ Main codebase should function regardless of acceleration
▪ End user ideally only sees a perf boost
Key Idea: NFP is an "ultra fastpath" parallel to vRouter
▪ BUT: NFP can't offload the full contrail logic
▪ Falls back to vRouter datapath if it can't handle a packet
12©2017 Open-NFP
Review: Compute Node
13©2017 Open-NFP
Integration Points
Our solution touches the vRouter codebase at 3 points:
1. Hardware offload API in the vRouter datapath
○ Intercepts and mirrors configuration changes to the NFP
○ Proxies stats requests to add in NFP counters
2. Representative Interfaces (RIs) in the Linux kernel
○ “Fake” netdevs that map to physical and virtual interfaces
○ Xmit on an RI sends the packet out the real interface via NFP
○ Arriving packet on an RI looks like it came from the
corresponding interface
3. Port control changes for interface allocation/teardown
○ This was a script run by OpenStack but provided by JNPR
14©2017 Open-NFP
NFP Acceleration Approach
15©2017 Open-NFP
Day in the Life of a Packet
16©2017 Open-NFP
Day in the Life of a Packet (cont)
17©2017 Open-NFP
Software Architecture
OpenContrail, Real Speed: Offloading vRouter
18©2017 Open-NFP
Offload Module
19©2017 Open-NFP
Kernel Module Design
nfp-vrouter.ko module registers with vRouter offload API
Separate kernel thread to perform trie building ops
▪ Expensive operation: can’t hold up packets
▪ Fortunately also infrequent
▪ Accumulate and double-buffer routing tables
Stats manager updates vRouter and kernel statistics
Control channel carries both control messages and packets
▪ Both encapsulated in a common format
▪ RI packets muxed/demuxed over the control channel
20©2017 Open-NFP
NFP Firmware
21©2017 Open-NFP
Firmware Design
Main ME islands have a pool of run-to-completion workers
Workers access tables primarily read-only
▪ except for per-flow statistics
vRouter's update rate is less than 100,000 ops/sec
▪ Can do this on 1 or 2 NFP cores
▪ Preserves code store in the workers
Control messages demuxed to management subsystems
Several MEs to periodically poll, and push statistics
Separate mirroring MEs for copying, fragmentation and xmit
22©2017 Open-NFP
Results and Lessons Learned
OpenContrail, Real Speed: Offloading vRouter
23©2017 Open-NFP
Performance Results
Demonstrated moving over 20 Mpps w/ imix
distribution no-drop through VNFs utilizing 1
(mostly idle) core*
Sustained >27 Mpps in DPDK pktgen tests
Upcoming webinar will discuss methodology
*SR-IOV delivery to a service chain configured VNF
24©2017 Open-NFP
Conclusions
Programmable hardware enables transparent offload
▪ The impact to the dataplane is mirroring state updates to the NFP
▪ One can easily abstract this to be hardware-neutral
Acceleration is feasible even without offloading 100% of the
dataplane
▪ Sophisticated fast paths follow the 90/10 rule as with most software:
90% of the work is done in 10% of the code
▪ With transparent offload you can pick and choose what gets
offloaded and what falls back to the main datapath
25©2017 Open-NFP
Future Work
We plan to continue on this work as OpenContrail evolves
as well
▪ Support full 4.0 Contrail feature set and OpenStack Newton
▪ Add QoS offload in the NFP
▪ Support for multi-card servers
▪ Accelerate container based SDN deployments
▪ Accelerate VMWare deployments
▪ Add support for custom VNFs offloaded within the dataplane
▪ Offload flow classification within the NFP
26©2017 Open-NFP
Questions
OpenContrail, Real Speed: Offloading vRouter

Más contenido relacionado

La actualidad más candente

P4 for Custom Identification, Flow Tagging, Monitoring and Control
P4 for Custom Identification, Flow Tagging, Monitoring and ControlP4 for Custom Identification, Flow Tagging, Monitoring and Control
P4 for Custom Identification, Flow Tagging, Monitoring and Control
Open-NFP
 
LF_DPDK17_GRO/GSO Libraries: Bring Significant Performance Gains to DPDK-base...
LF_DPDK17_GRO/GSO Libraries: Bring Significant Performance Gains to DPDK-base...LF_DPDK17_GRO/GSO Libraries: Bring Significant Performance Gains to DPDK-base...
LF_DPDK17_GRO/GSO Libraries: Bring Significant Performance Gains to DPDK-base...
LF_DPDK
 
LF_DPDK17_Accelerating P4-based Dataplane with DPDK
LF_DPDK17_Accelerating P4-based Dataplane with DPDKLF_DPDK17_Accelerating P4-based Dataplane with DPDK
LF_DPDK17_Accelerating P4-based Dataplane with DPDK
LF_DPDK
 

La actualidad más candente (20)

Whitebox Switches Deployment Experience
Whitebox Switches Deployment ExperienceWhitebox Switches Deployment Experience
Whitebox Switches Deployment Experience
 
Data Plane and VNF Acceleration Mini Summit
Data Plane and VNF Acceleration Mini Summit Data Plane and VNF Acceleration Mini Summit
Data Plane and VNF Acceleration Mini Summit
 
P4 for Custom Identification, Flow Tagging, Monitoring and Control
P4 for Custom Identification, Flow Tagging, Monitoring and ControlP4 for Custom Identification, Flow Tagging, Monitoring and Control
P4 for Custom Identification, Flow Tagging, Monitoring and Control
 
TC Flower Offload
TC Flower OffloadTC Flower Offload
TC Flower Offload
 
LF_DPDK17_GRO/GSO Libraries: Bring Significant Performance Gains to DPDK-base...
LF_DPDK17_GRO/GSO Libraries: Bring Significant Performance Gains to DPDK-base...LF_DPDK17_GRO/GSO Libraries: Bring Significant Performance Gains to DPDK-base...
LF_DPDK17_GRO/GSO Libraries: Bring Significant Performance Gains to DPDK-base...
 
LinuxCon 2015 Stateful NAT with OVS
LinuxCon 2015 Stateful NAT with OVSLinuxCon 2015 Stateful NAT with OVS
LinuxCon 2015 Stateful NAT with OVS
 
LF_DPDK17_Accelerating P4-based Dataplane with DPDK
LF_DPDK17_Accelerating P4-based Dataplane with DPDKLF_DPDK17_Accelerating P4-based Dataplane with DPDK
LF_DPDK17_Accelerating P4-based Dataplane with DPDK
 
Cilium - Fast IPv6 Container Networking with BPF and XDP
Cilium - Fast IPv6 Container Networking with BPF and XDPCilium - Fast IPv6 Container Networking with BPF and XDP
Cilium - Fast IPv6 Container Networking with BPF and XDP
 
Design, Verification and Emulation of an Island-Based Network Flow Processor
Design, Verification and Emulation of an Island-Based Network Flow ProcessorDesign, Verification and Emulation of an Island-Based Network Flow Processor
Design, Verification and Emulation of an Island-Based Network Flow Processor
 
DPDK Support for New HW Offloads
DPDK Support for New HW OffloadsDPDK Support for New HW Offloads
DPDK Support for New HW Offloads
 
TRex Traffic Generator - Hanoch Haim
TRex Traffic Generator - Hanoch HaimTRex Traffic Generator - Hanoch Haim
TRex Traffic Generator - Hanoch Haim
 
The Next Generation Firewall for Red Hat Enterprise Linux 7 RC
The Next Generation Firewall for Red Hat Enterprise Linux 7 RCThe Next Generation Firewall for Red Hat Enterprise Linux 7 RC
The Next Generation Firewall for Red Hat Enterprise Linux 7 RC
 
BPF & Cilium - Turning Linux into a Microservices-aware Operating System
BPF  & Cilium - Turning Linux into a Microservices-aware Operating SystemBPF  & Cilium - Turning Linux into a Microservices-aware Operating System
BPF & Cilium - Turning Linux into a Microservices-aware Operating System
 
OVS Hardware Offload with TC Flower
OVS Hardware Offload with TC FlowerOVS Hardware Offload with TC Flower
OVS Hardware Offload with TC Flower
 
Comprehensive XDP Off‌load-handling the Edge Cases
Comprehensive XDP Off‌load-handling the Edge CasesComprehensive XDP Off‌load-handling the Edge Cases
Comprehensive XDP Off‌load-handling the Edge Cases
 
Using Network Acceleration for an Optimized Edge Cloud Server Architecture
Using Network Acceleration for an Optimized Edge Cloud Server ArchitectureUsing Network Acceleration for an Optimized Edge Cloud Server Architecture
Using Network Acceleration for an Optimized Edge Cloud Server Architecture
 
Layer 3 Tunnel Support for Open vSwitch
Layer 3 Tunnel Support for Open vSwitchLayer 3 Tunnel Support for Open vSwitch
Layer 3 Tunnel Support for Open vSwitch
 
Accelerate Service Function Chaining Vertical Solution with DPDK
Accelerate Service Function Chaining Vertical Solution with DPDKAccelerate Service Function Chaining Vertical Solution with DPDK
Accelerate Service Function Chaining Vertical Solution with DPDK
 
Taking Security Groups to Ludicrous Speed with OVS (OpenStack Summit 2015)
Taking Security Groups to Ludicrous Speed with OVS (OpenStack Summit 2015)Taking Security Groups to Ludicrous Speed with OVS (OpenStack Summit 2015)
Taking Security Groups to Ludicrous Speed with OVS (OpenStack Summit 2015)
 
Disaggregation a Primer: Optimizing design for Edge Cloud & Bare Metal applic...
Disaggregation a Primer: Optimizing design for Edge Cloud & Bare Metal applic...Disaggregation a Primer: Optimizing design for Edge Cloud & Bare Metal applic...
Disaggregation a Primer: Optimizing design for Edge Cloud & Bare Metal applic...
 

Destacado

ISCA final presentation - Runtime
ISCA final presentation - RuntimeISCA final presentation - Runtime
ISCA final presentation - Runtime
HSA Foundation
 
Accelerating Hadoop, Spark, and Memcached with HPC Technologies
Accelerating Hadoop, Spark, and Memcached with HPC TechnologiesAccelerating Hadoop, Spark, and Memcached with HPC Technologies
Accelerating Hadoop, Spark, and Memcached with HPC Technologies
inside-BigData.com
 

Destacado (20)

Tutorial WiFi driver code - Opening Nuts and Bolts of Linux WiFi Subsystem
Tutorial WiFi driver code - Opening Nuts and Bolts of Linux WiFi SubsystemTutorial WiFi driver code - Opening Nuts and Bolts of Linux WiFi Subsystem
Tutorial WiFi driver code - Opening Nuts and Bolts of Linux WiFi Subsystem
 
Nokia Web-Runtime Presentation (Phong Vu)
Nokia Web-Runtime Presentation (Phong Vu)Nokia Web-Runtime Presentation (Phong Vu)
Nokia Web-Runtime Presentation (Phong Vu)
 
ISCA final presentation - Runtime
ISCA final presentation - RuntimeISCA final presentation - Runtime
ISCA final presentation - Runtime
 
Intel and Amazon - Powering your innovation together.
Intel and Amazon - Powering your innovation together. Intel and Amazon - Powering your innovation together.
Intel and Amazon - Powering your innovation together.
 
Microsoft Really Loves Linux – a Virtual Love Story
Microsoft Really Loves Linux – a Virtual Love StoryMicrosoft Really Loves Linux – a Virtual Love Story
Microsoft Really Loves Linux – a Virtual Love Story
 
Valgrind overview: runtime memory checker and a bit more aka использование #v...
Valgrind overview: runtime memory checker and a bit more aka использование #v...Valgrind overview: runtime memory checker and a bit more aka использование #v...
Valgrind overview: runtime memory checker and a bit more aka использование #v...
 
Using GPUs to Achieve Massive Parallelism in Java 8
Using GPUs to Achieve Massive Parallelism in Java 8Using GPUs to Achieve Massive Parallelism in Java 8
Using GPUs to Achieve Massive Parallelism in Java 8
 
Markus Tessmann, InnoGames
Markus Tessmann, InnoGames	Markus Tessmann, InnoGames
Markus Tessmann, InnoGames
 
Java garbage collection & GC friendly coding
Java garbage collection  & GC friendly codingJava garbage collection  & GC friendly coding
Java garbage collection & GC friendly coding
 
Cilium - BPF & XDP for containers
Cilium - BPF & XDP for containersCilium - BPF & XDP for containers
Cilium - BPF & XDP for containers
 
20170329 container technight-第一回勉強会
20170329 container technight-第一回勉強会20170329 container technight-第一回勉強会
20170329 container technight-第一回勉強会
 
Serverless Application - Who the heck needs a Server?
Serverless Application - Who the heck needs a Server?Serverless Application - Who the heck needs a Server?
Serverless Application - Who the heck needs a Server?
 
Containers - Portable, repeatable user-oriented application delivery. Build, ...
Containers - Portable, repeatable user-oriented application delivery. Build, ...Containers - Portable, repeatable user-oriented application delivery. Build, ...
Containers - Portable, repeatable user-oriented application delivery. Build, ...
 
Serverless Architecture
Serverless ArchitectureServerless Architecture
Serverless Architecture
 
Cilium - Container Networking with BPF & XDP
Cilium - Container Networking with BPF & XDPCilium - Container Networking with BPF & XDP
Cilium - Container Networking with BPF & XDP
 
Accelerating Hadoop, Spark, and Memcached with HPC Technologies
Accelerating Hadoop, Spark, and Memcached with HPC TechnologiesAccelerating Hadoop, Spark, and Memcached with HPC Technologies
Accelerating Hadoop, Spark, and Memcached with HPC Technologies
 
BPF: Next Generation of Programmable Datapath
BPF: Next Generation of Programmable DatapathBPF: Next Generation of Programmable Datapath
BPF: Next Generation of Programmable Datapath
 
Introduction to OpenCV 3.x (with Java)
Introduction to OpenCV 3.x (with Java)Introduction to OpenCV 3.x (with Java)
Introduction to OpenCV 3.x (with Java)
 
Google ART (Android RunTime)
Google ART (Android RunTime)Google ART (Android RunTime)
Google ART (Android RunTime)
 
SOC Processors Used in SOC
SOC Processors Used in SOCSOC Processors Used in SOC
SOC Processors Used in SOC
 

Similar a OpenContrail, Real Speed: Offloading vRouter

SDN & NFV Introduction - Open Source Data Center Networking
SDN & NFV Introduction - Open Source Data Center NetworkingSDN & NFV Introduction - Open Source Data Center Networking
SDN & NFV Introduction - Open Source Data Center Networking
Thomas Graf
 

Similar a OpenContrail, Real Speed: Offloading vRouter (20)

SDN & NFV Introduction - Open Source Data Center Networking
SDN & NFV Introduction - Open Source Data Center NetworkingSDN & NFV Introduction - Open Source Data Center Networking
SDN & NFV Introduction - Open Source Data Center Networking
 
Network Virtualization & Software-defined Networking
Network Virtualization & Software-defined NetworkingNetwork Virtualization & Software-defined Networking
Network Virtualization & Software-defined Networking
 
Host Data Plane Acceleration: SmartNIC Deployment Models
Host Data Plane Acceleration: SmartNIC Deployment ModelsHost Data Plane Acceleration: SmartNIC Deployment Models
Host Data Plane Acceleration: SmartNIC Deployment Models
 
Red hat NFV Roadmap - OpenStack Summit 2016/Red Hat NFV Mini Summit
Red hat NFV Roadmap    - OpenStack Summit 2016/Red Hat NFV Mini SummitRed hat NFV Roadmap    - OpenStack Summit 2016/Red Hat NFV Mini Summit
Red hat NFV Roadmap - OpenStack Summit 2016/Red Hat NFV Mini Summit
 
FD.io Vector Packet Processing (VPP)
FD.io Vector Packet Processing (VPP)FD.io Vector Packet Processing (VPP)
FD.io Vector Packet Processing (VPP)
 
FD.IO Vector Packet Processing
FD.IO Vector Packet ProcessingFD.IO Vector Packet Processing
FD.IO Vector Packet Processing
 
Open vSwitch Implementation Options
Open vSwitch Implementation Options Open vSwitch Implementation Options
Open vSwitch Implementation Options
 
Row #9: An architecture overview of APNIC's RDAP deployment to the cloud
Row #9: An architecture overview of APNIC's RDAP deployment to the cloudRow #9: An architecture overview of APNIC's RDAP deployment to the cloud
Row #9: An architecture overview of APNIC's RDAP deployment to the cloud
 
Understanding network and service virtualization
Understanding network and service virtualizationUnderstanding network and service virtualization
Understanding network and service virtualization
 
OpenStack Paris Meetup on Nfv 2014/10/07
OpenStack Paris Meetup on Nfv 2014/10/07OpenStack Paris Meetup on Nfv 2014/10/07
OpenStack Paris Meetup on Nfv 2014/10/07
 
Monitoring federation open stack infrastructure
Monitoring federation open stack infrastructureMonitoring federation open stack infrastructure
Monitoring federation open stack infrastructure
 
P4+ONOS SRv6 tutorial.pptx
P4+ONOS SRv6 tutorial.pptxP4+ONOS SRv6 tutorial.pptx
P4+ONOS SRv6 tutorial.pptx
 
DPDK Summit - 08 Sept 2014 - 6WIND - High Perf Networking Leveraging the DPDK...
DPDK Summit - 08 Sept 2014 - 6WIND - High Perf Networking Leveraging the DPDK...DPDK Summit - 08 Sept 2014 - 6WIND - High Perf Networking Leveraging the DPDK...
DPDK Summit - 08 Sept 2014 - 6WIND - High Perf Networking Leveraging the DPDK...
 
The Challenges of SDN/OpenFlow in an Operational and Large-scale Network
The Challenges of SDN/OpenFlow in an Operational and Large-scale NetworkThe Challenges of SDN/OpenFlow in an Operational and Large-scale Network
The Challenges of SDN/OpenFlow in an Operational and Large-scale Network
 
DPDK Summit 2015 - HP - Al Sanders
DPDK Summit 2015 - HP - Al SandersDPDK Summit 2015 - HP - Al Sanders
DPDK Summit 2015 - HP - Al Sanders
 
High Performance Networking Leveraging the DPDK and Growing Community
High Performance Networking Leveraging the DPDK and Growing CommunityHigh Performance Networking Leveraging the DPDK and Growing Community
High Performance Networking Leveraging the DPDK and Growing Community
 
Using Kubernetes to make cellular data plans cheaper for 50M users
Using Kubernetes to make cellular data plans cheaper for 50M usersUsing Kubernetes to make cellular data plans cheaper for 50M users
Using Kubernetes to make cellular data plans cheaper for 50M users
 
What's new in Neutron Juno
What's new in Neutron JunoWhat's new in Neutron Juno
What's new in Neutron Juno
 
The Open vSwitch and OVN Projects
The Open vSwitch and OVN ProjectsThe Open vSwitch and OVN Projects
The Open vSwitch and OVN Projects
 
Asterisk as a Virtual Network Function Part 1
Asterisk as a Virtual Network Function Part 1Asterisk as a Virtual Network Function Part 1
Asterisk as a Virtual Network Function Part 1
 

Último

Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdf
ciinovamais
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdf
QucHHunhnh
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdf
QucHHunhnh
 

Último (20)

Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdf
 
Dyslexia AI Workshop for Slideshare.pptx
Dyslexia AI Workshop for Slideshare.pptxDyslexia AI Workshop for Slideshare.pptx
Dyslexia AI Workshop for Slideshare.pptx
 
Food safety_Challenges food safety laboratories_.pdf
Food safety_Challenges food safety laboratories_.pdfFood safety_Challenges food safety laboratories_.pdf
Food safety_Challenges food safety laboratories_.pdf
 
FSB Advising Checklist - Orientation 2024
FSB Advising Checklist - Orientation 2024FSB Advising Checklist - Orientation 2024
FSB Advising Checklist - Orientation 2024
 
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
 
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdfUGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
 
Towards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptxTowards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptx
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdf
 
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxBasic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
 
How to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POSHow to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POS
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdf
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdf
 
Unit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptxUnit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptx
 
Unit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxUnit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptx
 
Python Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docxPython Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docx
 
On National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsOn National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan Fellows
 
Making communications land - Are they received and understood as intended? we...
Making communications land - Are they received and understood as intended? we...Making communications land - Are they received and understood as intended? we...
Making communications land - Are they received and understood as intended? we...
 
How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17
 
SOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning PresentationSOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning Presentation
 
This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.
 

OpenContrail, Real Speed: Offloading vRouter

  • 1. 1©2017 Open-NFP OpenContrail, Real Speed: Offloading vRouter Chris Telfer, Distinguished Engineer, Netronome Ted Drapas, Sr Director Software Engineering, Netronome
  • 2. 2©2017 Open-NFP Agenda ▪ Introduction to OpenContrail & OpenContrail vRouter ▪ NFP Acceleration Strategy ▪ Software Architecture ▪ Results and Conclusions ▪ Questions
  • 3. 3©2017 Open-NFP Introduction to OpenContrail and vRouter OpenContrail, Real Speed: Offloading vRouter
  • 4. 4©2017 Open-NFP What is Contrail? Copyright and Courtesy of our partners Juniper Networks
  • 5. 5©2017 Open-NFP What is Contrail? OpenContrail consists of two main components ▪ OpenContrail Controller - Software Defined Networking (SDN) controller that is responsible for providing the management, control, and analytics functions of the virtual network ▪ OpenContrail vRouter - Programmable (by controller) datapath for managing data center networks
  • 6. 6©2017 Open-NFP What is vRouter? vRouter is the programmable datapath of OpenContrail ▪ Connects to an underlay network and manages overlay networks ▪ Similar in purpose to OVS, but designed specifically for datacenters • Assumes / optimizes the use of point-to-point tunnels over the underlay • UDP/MPLS (L2/L3), GRE/MPLS (L2/L3), VXLAN (L2 only) ▪ Is a “distributed device” • Acts as an L2 switch or L3 router on the overlay • Software sees one device, but it is spread across all compute nodes • Runs in the hypervisor ▪ Has both a kernel module and DPDK implementation
  • 8. 8©2017 Open-NFP Problem Statement Why the need for the NFP? …..performance & overhead….. ▪ vRouter evolution without NFP • kernel vRouter - pkt delivery to VMs via kernel TAP interfaces - slow • ….so go to user space ….DPDK vRouter - significantly improves PPS compared to kernel vRouter, but at a significant price • DPDK vRouter achieves ~1.5 Mpps per core ▪ For the vRouter datapath to meet the needs of high-performance VNFs on compute nodes it must use significant CPU resources ▪ These resources therefore are not available for the VMs running on the compute node
  • 9. 9©2017 Open-NFP Problem Solution ▪ Incorporating the NFP to offload the vRouter datapath (or any similar data path) on the host allows recovery of CPU resources ▪ Direct packet delivery from NFP into VMs can achieve higher performance than host-only software even with many dedicated cores
  • 10. 10©2017 Open-NFP NFP Acceleration Strategy OpenContrail, Real Speed: Offloading vRouter
  • 11. 11©2017 Open-NFP Acceleration Requirements Two key goals: performance and transparency ▪ Main codebase should function regardless of acceleration ▪ End user ideally only sees a perf boost Key Idea: NFP is an "ultra fastpath" parallel to vRouter ▪ BUT: NFP can't offload the full contrail logic ▪ Falls back to vRouter datapath if it can't handle a packet
  • 13. 13©2017 Open-NFP Integration Points Our solution touches the vRouter codebase at 3 points: 1. Hardware offload API in the vRouter datapath ○ Intercepts and mirrors configuration changes to the NFP ○ Proxies stats requests to add in NFP counters 2. Representative Interfaces (RIs) in the Linux kernel ○ “Fake” netdevs that map to physical and virtual interfaces ○ Xmit on an RI sends the packet out the real interface via NFP ○ Arriving packet on an RI looks like it came from the corresponding interface 3. Port control changes for interface allocation/teardown ○ This was a script run by OpenStack but provided by JNPR
  • 15. 15©2017 Open-NFP Day in the Life of a Packet
  • 16. 16©2017 Open-NFP Day in the Life of a Packet (cont)
  • 19. 19©2017 Open-NFP Kernel Module Design nfp-vrouter.ko module registers with vRouter offload API Separate kernel thread to perform trie building ops ▪ Expensive operation: can’t hold up packets ▪ Fortunately also infrequent ▪ Accumulate and double-buffer routing tables Stats manager updates vRouter and kernel statistics Control channel carries both control messages and packets ▪ Both encapsulated in a common format ▪ RI packets muxed/demuxed over the control channel
  • 21. 21©2017 Open-NFP Firmware Design Main ME islands have a pool of run-to-completion workers Workers access tables primarily read-only ▪ except for per-flow statistics vRouter's update rate is less than 100,000 ops/sec ▪ Can do this on 1 or 2 NFP cores ▪ Preserves code store in the workers Control messages demuxed to management subsystems Several MEs to periodically poll, and push statistics Separate mirroring MEs for copying, fragmentation and xmit
  • 22. 22©2017 Open-NFP Results and Lessons Learned OpenContrail, Real Speed: Offloading vRouter
  • 23. 23©2017 Open-NFP Performance Results Demonstrated moving over 20 Mpps w/ imix distribution no-drop through VNFs utilizing 1 (mostly idle) core* Sustained >27 Mpps in DPDK pktgen tests Upcoming webinar will discuss methodology *SR-IOV delivery to a service chain configured VNF
  • 24. 24©2017 Open-NFP Conclusions Programmable hardware enables transparent offload ▪ The impact to the dataplane is mirroring state updates to the NFP ▪ One can easily abstract this to be hardware-neutral Acceleration is feasible even without offloading 100% of the dataplane ▪ Sophisticated fast paths follow the 90/10 rule as with most software: 90% of the work is done in 10% of the code ▪ With transparent offload you can pick and choose what gets offloaded and what falls back to the main datapath
  • 25. 25©2017 Open-NFP Future Work We plan to continue on this work as OpenContrail evolves as well ▪ Support full 4.0 Contrail feature set and OpenStack Newton ▪ Add QoS offload in the NFP ▪ Support for multi-card servers ▪ Accelerate container based SDN deployments ▪ Accelerate VMWare deployments ▪ Add support for custom VNFs offloaded within the dataplane ▪ Offload flow classification within the NFP