SlideShare une entreprise Scribd logo
1  sur  46
Télécharger pour lire hors ligne
© 2018 NETRONOME SYSTEMS, INC.
Host Dataplane Acceleration:
SmartNIC Deployment Models
Simon Horman
20 August 2018
© 2018 NETRONOME SYSTEMS, INC. 2
Agenda
●  Introduction
○  Hardware and Software Switching
○  SDN Programmability
○  Host Datapath Acceleration
●  Acceleration Models
○  Existing Host Datapath Acceleration
○  Extended Datapath Acceleration
○  New Datapath Acceleration
●  Closing Remarks
© 2018 NETRONOME SYSTEMS, INC.
Hardware and Software Switching
© 2018 NETRONOME SYSTEMS, INC. 4
Historically Switching Done in Hardware
●  Dedicated physical switch
●  Fast
●  Fixed feature set
●  Inflexible
© 2018 NETRONOME SYSTEMS, INC. 5
Virtualisation Moved Switching to Host
●  Desire to share network between hosts and VMs
●  Software bridging or user-space networking used to achieve this
●  Flexible
●  Slow
© 2018 NETRONOME SYSTEMS, INC. 6
SR-IOV Moved Hardware Switching to the Host
●  Embedded switch between
○  Physical Port
○  “PF” network interfaces used by host
○  VF network interfaces used by VMs
●  Performance improvement over software based switching to VMs
●  Reduced flexibility
© 2018 NETRONOME SYSTEMS, INC. 7
SDN Moved Host Switching Back into Software
●  Exploited flexibility of software
●  Many features emerged: f.e.:
○  Tunnel Termination
○  Rich flow key for matching on L2 ~ L4
○  Packet modification possible: set packet header fields
○  Stateful Security Policies (Conntrack)
○  NAT
○  Increasing programmability
●  Slow/consumes CPU resources
© 2018 NETRONOME SYSTEMS, INC.
Datapath Programmability
© 2018 NETRONOME SYSTEMS, INC. 9
SDN Programmability
●  Applications
○  Rich feature set but fixed function
○  Policy implemented at run-time, f.e. using match/action tables
○  Software is malleable, but new features require modification of application
○  f.e.: Open vSwitch, vRouter
●  Packet Movement Infrastructure
○  Allows programing of part of datapath
○  With fallback option
○  f.e.: eBPF
●  Tools
○  Allows full description of datapath
○  f.e.: P4
© 2018 NETRONOME SYSTEMS, INC. 10
NEW Tools vs. Applications
© 2018 NETRONOME SYSTEMS, INC.
Host Datapath Acceleration
© 2018 NETRONOME SYSTEMS, INC. 12
Host Datapath Acceleration
●  Combine flexibility of software with performance of hardware
Hardware Software
Pendulum motive credit: Rashid Khan, “Red Hat’s perspective on OVS HW Offload Status”,
presented at Open vSwtich 2018 Conference
Host Data Plane
Acceleration
Fast
Inflexible
Flexible
Slow
© 2018 NETRONOME SYSTEMS, INC. 13
Comprehensive and Proven SmartNIC Platform
Agilio SmartNIC Family
10-100Gb/s, w/ 2-8GB DDR, up to 4 ARM Cores
NFP Silicon Family
with 36-120 cores, up to 960 processing threads
Data Plane Programming Tools for Custom Feature Adds
P4, C, eBPF/XDP-based Programming Layer
Virtualization Layer and SDN (with standard offload)
Inbox Open vSwitch (OVS) in RHEL 7.5; vRouter in Contrail Cloud 3.x/4.x
Virtual Switching
and Routing
Next Gen
EAGLE
(In
Concept)
Next Gen
KESTRE
L
(In Dev)
VXLAN, MPLS,
MPLS over GRE
ACLs and
Security
Groups
vProbes, In-
band
Telemetry
DDoS and
Load Bal
Visibility using
SSL-on-a-NIC
Congestion and
Tail Latency
Reduction
Basic NIC Upstreamed Linux Device Drivers
Stateless Offloads, SR-IOV, DPDK, Express Virtio (XVIO)
BasicNICFeatures
OffloadNICFeatures
ProgrammableNICFeatures
NFP-5000
(In Dev)
© 2018 NETRONOME SYSTEMS, INC.
Existing Open vSwitch
Datapath Acceleration
© 2018 NETRONOME SYSTEMS, INC. 15
What is Open vSwitch (OVS)?
●  Production quality multilayer virtual switch
●  Widely used in conjunction with OpenStack
●  Allows policy to be describe using OpenFlow match/action tables
© 2018 NETRONOME SYSTEMS, INC. 16
OVS Datapath
Open vSwitch Subsystem
OVS
Agent
OpenFlow
Virtual Machine
Virtual Machine
Virtual Machine
x86 Kernel
x86 Userspace
Virtual Machine
Apps
Flow table miss
2
2 OVS userspace agent populates kernel
cache; instructs OVS kernel DP to execute
packet
1
OVS
Kernel DP
Match/Act
Miss
1
© 2018 NETRONOME SYSTEMS, INC. 17
Agilio® OVS Datapath Acceleration
Open vSwitch Subsystem
OVS
Agent
OpenFlow
Virtual Machine
Virtual Machine
Virtual Machine
x86 Kernel
x86 Userspace
PCIe
Virtual Machine
SR-IOV
Agilio
SmartNIC
Apps
Flow table miss
2
2 OVS userspace agent populates kernel
cache; instructs OVS kernel DP to execute
packet
1
Open vSwitch Datapath
Execute Action
(e.g. Entunnel,
Deliver to VM,
Send to Port)
3 Offload datapath: copy match tables, sync stats
3
4 Flow tracking: per-microflow state learning
4
MissSelf Learning
Exact Match
Flow Tracker
Miss
Hit
TC
Kernel DP
Match/Act
OVS
Kernel DP
Match/Act
Miss
OVS
Kernel DP
Match/Act
Miss
1
SR-IOV VFs /
VirtIO
© 2018 NETRONOME SYSTEMS, INC.
Existing eBPF
Datapath Acceleration
© 2018 NETRONOME SYSTEMS, INC. 19
What is eBPF?
eBPF is a simple way to extend the functionality of the kernel at runtime
●  Small kernel based machine
○  10 64bit registers
○  512 byte stack
○  Data structures known as maps (unlimited size)
○  4K BPF instructions (Bytecode)
●  Verifier to ensure kernel safe
○  no loops, not more than 4K insns, not more than 64 maps etc…
●  Can be JITed to ensure maximum performance
© 2018 NETRONOME SYSTEMS, INC. 20
Used Within Hyperscale-Not a Toy!
Those who have publicly stated they are using BPF or planning to use BPF include:
●  Facebook-Load Balancing, Security
●  Netflix-Network Monitoring
●  Cilium Project
●  Cloudflare-Security
●  OVS-Virtual Switching
Due to its upstream safety and kernel support BPF
provides a safe, flexible and scalable networking tool.
© 2018 NETRONOME SYSTEMS, INC. 21
The Programming Model
●  LLVM is used to compile from supported languages
○  C, Go, P4
●  When Programs are loaded
○  Verifier is called-ensure safety
○  Program is JITed-ensure perf
○  Can also be offloaded
■  nfp_bpf_jit upstream
LL VM
NFP
verifier.c
bpf_prog.go
bpf_prog.elf
bpf syscall
USER
JIT nfp_bfp_jit.c
Host CPU
KERNEL
HARDWARE
bpf_prog.p4
bpf_prog.c
© 2018 NETRONOME SYSTEMS, INC. 22
Maps: What They Are
●  Maps are key value stores
○  Can be accessed from kernel or user space
○  Used for interaction between kernel and user space programs
●  Number of different types of maps
○  Used for interaction between kernel and user space programs
bpf_user.c
bpf_kern.c
Map
© 2018 NETRONOME SYSTEMS, INC. 23
BPF Kernel Hooks
Many hooks with different purposes
●  kprobes
●  socket filters-tcpdump-old school!
●  seccomp
●  netfilter
●  TC
●  XDP(no skb-super fast!)
© 2018 NETRONOME SYSTEMS, INC. 24
Agilio eBPF Acceleration Instantiation
eBPF
Subsystem
eBPF
Agent
Virtual Machine
Virtual Machine
Virtual Machine
x86 Kernel
x86 Userspace
eBPF Datapath
eBPF
Prog.
PCIe
Virtual Machine
SR-IOV VFs
Agilio
SmartNIC
Apps
Apps
Linux
Network
Stack
XDP
eBPF
Prog.
vRouter
Forwarding
cls_bpf
eBPF
Prog.
1
1 Programs pre-emptively loaded into Kernel
2 JIT program, offload program and maps
2
Apps
SR-IOV
Apps
Apps
Apps
Apps
© 2018 NETRONOME SYSTEMS, INC. 25
Agilio eBPF Acceleration Fallback Path
eBPF
Subsystem
eBPF
Agent
Virtual Machine
Virtual Machine
Virtual Machine
x86 Kernel
x86 Userspace
eBPF Datapath
eBPF
Prog.
PCIe
Virtual Machine
SR-IOV
Agilio
SmartNIC
Apps
Apps
Linux
Network
Stack
XDP
eBPF
Prog.
Miss
vRouter
Forwarding
cls_bpf
eBPF
Prog.
Miss
SR-IOV
Apps
Apps
Apps
Apps
Miss
© 2018 NETRONOME SYSTEMS, INC. 26
Offload Existing Datapath: Characteristics
●  Flexibility defined by server’s existing datapath software
○  OVS: Configure match/action tables (forwarding/policies)
○  Tungsten Fabric vRouter: Configure forwarding and policies separately
●  Integration via drivers/plugins
○  OVS: OpenStack ML2 plugin (with/without SDN controller)
○  OVS: OpenStack driver for OVN
○  TF vRouter: OpenStack driver for TF
●  Extend OpenStack to support new concept — SR-IOV path directly to VM while
offloading virtual switching to NIC
© 2018 NETRONOME SYSTEMS, INC.
Extended and New Datapath
Acceleration
© 2018 NETRONOME SYSTEMS, INC. 28
●  P4 is a domain specific language for describing datapaths
●  Description may be compiled into datapath
What is P4?
© 2018 NETRONOME SYSTEMS, INC.
Plug-in Datapath
© 2018 NETRONOME SYSTEMS, INC. 30
Extending OVS using P4/C Plugins
Open vSwitch Subsystem
OVS
Agent
OpenFlow
x86 Kernel
x86 Userspace
PCIe
Agilio
SmartNIC
Flow table miss
OVS userspace agent populates kernel
cache; instructs OVS kernel DP to execute
packet
Execute
Action
Open vSwitch Datapath
Execute Action
(e.g. Entunnel,
Deliver to VM,
Send to Port)
Virtual Machine
Virtual Machine
Virtual Machine
Offload datapath: copy match tables, sync stats
OVS
Kernel DP
Match/Act
OVS
Kernel DP
Match/Act
Fallback
Fallback
Virtual Machine
SR-IOV /
Virtio VFs
Apps
netdev or DPDK
Datapath
Extension
or Plugin
P4 / C
in Sandbox
DP
Ext.
Datapath extension software
SR-IOV
Apps
netdev or DPDK
Apps
netdev or DPDK
Apps
netdev or DPDK
Apps
netdev or DPDK
2
4
3
1
2
4
1
3
4
© 2018 NETRONOME SYSTEMS, INC. 31
Plugin in Datapath: Characteristics
●  Some flexibility
○  Easy to implement custom actions
○  Difficult to implement custom classification
○  Can implement inner protocols
●  Integration effort varies
○  Can model as custom port
○  Can model as custom action
© 2018 NETRONOME SYSTEMS, INC.
P4 Datapath on SmartNIC
© 2018 NETRONOME SYSTEMS, INC. 33
Virtual Machine
Virtual Machine
Virtual Machine
x86 Kernel
x86 Userspace
OVS “on” SmartNIC P4 Datapath
Open vSwitch Subsystem
OVS
Agent
OpenFlow
PCIe
Virtual Machine
SR-IOV /
Virtio VFs
SR-IOV
Agilio
SmartNIC
Apps
Apps
netdev or DPDK
netdev or DPDK
Apps
netdev or DPDK
Apps
netdev or DPDK
Apps
netdev or DPDK
Execute
Action
P4 Generated Datapath
Execute
P4
Action
OVS
Kernel DP
Match/Act
P4
Matching
Fallback
Fallback
© 2018 NETRONOME SYSTEMS, INC. 34
P4 Datapath on SmartNIC: Characteristics
●  Some flexibility
○  In theory easy to implement offloaded behavior
○  However, OpenFlow matching is more flexible
○  Limited to what OVS on host supports
●  Integration effort modest
○  Already done if offloading existing OVS code
○  Must extend OpenFlow and OVSDB or OVN if enhancing OVS
© 2018 NETRONOME SYSTEMS, INC.
P4 Datapath In Kernel
© 2018 NETRONOME SYSTEMS, INC. 36
P4 “into” OVS Datapath
Open vSwitch Subsystem
OVS
Agent
OpenFlow
Virtual Machine
Virtual Machine
Virtual Machine
x86 Kernel
x86 Userspace
PCIe
Virtual Machine
SR-IOV /
Virtio VFs
SR-IOV
Agilio
SmartNIC
Apps
Apps
netdev or DPDK
netdev or DPDK
Apps
netdev or DPDK
Apps
netdev or DPDK
Apps
netdev or DPDK
P4 Generated Datapath
Execute
P4/OVS
Action
Execute
P4/OVS
Action
P4/OVS
Matching
or
eBPF
P4/OVS
Matching
or eBPF
Fallback
Fallback
© 2018 NETRONOME SYSTEMS, INC. 37
P4 Datapath in Kernel: Characteristics
●  Mixed flexibility
○  Easy to implement behavior
○  However, OpenFlow matching is more flexible
■  Regenerate program on demand
■  Implement program based on assumed model
●  Integration effort considerable
○  Need to re-implement OVS on P4
○  Offloading easier once infrastructure in place
© 2018 NETRONOME SYSTEMS, INC.
New Datapath
© 2018 NETRONOME SYSTEMS, INC. 39
P4 or eBPF Datapath and Control
Host Code
Agent
Virtual Machine
Virtual Machine
Virtual Machine
x86 Kernel
x86 Userspace
PCIe
Virtual Machine
SR-IOV /
Virtio VFs
SR-IOV
Agilio
SmartNIC
Apps
Apps
netdev or DPDK
netdev or DPDK
Apps
netdev or DPDK
Apps
netdev or DPDK
Apps
netdev or DPDK
P4 Generated Datapath
Execute
Action
Execute
Action
P4
or eBPF
P4
Matching
or eBPF…
Fallback
Fallback
Open issues:
●  Control Protocol - could
become a callable API
●  Downloading programs via
OpenStack or other systems
●  Scheduling VMs to run on
nodes with acceleration
hardware
or offloaded eBPF
Calable
API
© 2018 NETRONOME SYSTEMS, INC. 40
New Datapath & Control: Characteristics
●  Full flexibility
○  Easy to implement behavior
○  Can deploy completely different control plane
●  Integration effort considerable
○  New infrastructure required in OpenStack
■  ML2 plugin, Southbound protocol or API, etc...
© 2018 NETRONOME SYSTEMS, INC.
Closing Remarks
© 2018 NETRONOME SYSTEMS, INC. 42
OVS Frame Rate @64k Rules+Flows
© 2018 NETRONOME SYSTEMS, INC. 43
OVS Frame Rate @64k Rules+Flows+VXLAN
© 2018 NETRONOME SYSTEMS, INC. 44
Integration / Open Sourcing Activities
Area Activities
Linux Drivers
Driver in upstream kernel
v4.5, RHEL 7.4, Ubuntu
18.04
Representor netdevs for
fallback processing and
SmartNIC configuration
CoreNIC, eBPF, OVS offload
feature evolution
FreeBSD Drivers Kernel device driver implemented
DPDK Drivers Poll mode driver in upstream DPDK 2.2
Open vSwitch
Acceleration Integration
Present in upstream using
kernel TC datapath
Feature coverage iteration
in progress
OpenStack Integration
Plugins and agents to
support virtual switching
acceleration present in
upstream
Integration for OVS in
process present in
upstream
Integration for TF vRouter in
process — Juniper etc...
Participation Appreciated — Join us at Linux, Open vSwitch, TF vRouter, OpenStack, p4.org, OpenSourceSDN.org
© 2018 NETRONOME SYSTEMS, INC. 45
Next Steps
●  Use Agilio SmartNICs with existing dataplanes
○  Use Agilio eBPF
○  Use Agilio OVS
○  Use Agilio vRouter
●  Program Agilio SmartNICs
○  Use APIs (on x86 servers) - with above dataplanes
○  Program in P4 and/or C (on SmartNIC/on x86)
●  Improve performance + free up server resources!
© 2018 NETRONOME SYSTEMS, INC.
Thank You!
More information: netronome.com

Contenu connexe

Tendances

Using SmartNICs to Provide Better Data Center Security - Jack Matheson - 44CO...
Using SmartNICs to Provide Better Data Center Security - Jack Matheson - 44CO...Using SmartNICs to Provide Better Data Center Security - Jack Matheson - 44CO...
Using SmartNICs to Provide Better Data Center Security - Jack Matheson - 44CO...
44CON
 
Energy Efficient Computing using Dynamic Tuning
Energy Efficient Computing using Dynamic TuningEnergy Efficient Computing using Dynamic Tuning
Energy Efficient Computing using Dynamic Tuning
inside-BigData.com
 
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
 

Tendances (20)

Using SmartNICs to Provide Better Data Center Security - Jack Matheson - 44CO...
Using SmartNICs to Provide Better Data Center Security - Jack Matheson - 44CO...Using SmartNICs to Provide Better Data Center Security - Jack Matheson - 44CO...
Using SmartNICs to Provide Better Data Center Security - Jack Matheson - 44CO...
 
OpenContrail, Real Speed: Offloading vRouter
OpenContrail, Real Speed: Offloading vRouterOpenContrail, Real Speed: Offloading vRouter
OpenContrail, Real Speed: Offloading vRouter
 
Energy Efficient Computing using Dynamic Tuning
Energy Efficient Computing using Dynamic TuningEnergy Efficient Computing using Dynamic Tuning
Energy Efficient Computing using Dynamic Tuning
 
Scaling the Container Dataplane
Scaling the Container Dataplane Scaling the Container Dataplane
Scaling the Container Dataplane
 
ODSA Proof of Concept SmartNIC Speeds & Feeds
ODSA Proof of Concept SmartNIC Speeds & FeedsODSA Proof of Concept SmartNIC Speeds & Feeds
ODSA Proof of Concept SmartNIC Speeds & Feeds
 
FD.io - The Universal Dataplane
FD.io - The Universal DataplaneFD.io - The Universal Dataplane
FD.io - The Universal Dataplane
 
CAPI and OpenCAPI Hardware acceleration enablement
CAPI and OpenCAPI Hardware acceleration enablementCAPI and OpenCAPI Hardware acceleration enablement
CAPI and OpenCAPI Hardware acceleration enablement
 
Accelerating Networked Applications with Flexible Packet Processing
Accelerating Networked Applications with Flexible Packet ProcessingAccelerating Networked Applications with Flexible Packet Processing
Accelerating Networked Applications with Flexible Packet Processing
 
Software Network Data Plane - Satisfying the need for speed - FD.io - VPP and...
Software Network Data Plane - Satisfying the need for speed - FD.io - VPP and...Software Network Data Plane - Satisfying the need for speed - FD.io - VPP and...
Software Network Data Plane - Satisfying the need for speed - FD.io - VPP and...
 
Netsft2017 day in_life_of_nfv
Netsft2017 day in_life_of_nfvNetsft2017 day in_life_of_nfv
Netsft2017 day in_life_of_nfv
 
DPDK Summit 2015 - Sprint - Arun Rajagopal
DPDK Summit 2015 - Sprint - Arun RajagopalDPDK Summit 2015 - Sprint - Arun Rajagopal
DPDK Summit 2015 - Sprint - Arun Rajagopal
 
Programmable data plane at terabit speeds
Programmable data plane at terabit speedsProgrammable data plane at terabit speeds
Programmable data plane at terabit speeds
 
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
 
TLDK - FD.io Sept 2016
TLDK - FD.io Sept 2016 TLDK - FD.io Sept 2016
TLDK - FD.io Sept 2016
 
DPDK Summit 2015 - Aspera - Charles Shiflett
DPDK Summit 2015 - Aspera - Charles ShiflettDPDK Summit 2015 - Aspera - Charles Shiflett
DPDK Summit 2015 - Aspera - Charles Shiflett
 
DPDK Summit - 08 Sept 2014 - Ericsson - A Multi-Socket Ferrari for NFV
DPDK Summit - 08 Sept 2014 - Ericsson - A Multi-Socket Ferrari for NFVDPDK Summit - 08 Sept 2014 - Ericsson - A Multi-Socket Ferrari for NFV
DPDK Summit - 08 Sept 2014 - Ericsson - A Multi-Socket Ferrari for NFV
 
Overview of HPC Interconnects
Overview of HPC InterconnectsOverview of HPC Interconnects
Overview of HPC Interconnects
 
P4 to OpenDataPlane Compiler - BUD17-304
P4 to OpenDataPlane Compiler - BUD17-304P4 to OpenDataPlane Compiler - BUD17-304
P4 to OpenDataPlane Compiler - BUD17-304
 
Transparent eBPF Offload: Playing Nice with the Linux Kernel
Transparent eBPF Offload: Playing Nice with the Linux KernelTransparent eBPF Offload: Playing Nice with the Linux Kernel
Transparent eBPF Offload: Playing Nice with the Linux Kernel
 
BKK16-400B ODPI - Standardizing Hadoop
BKK16-400B ODPI - Standardizing HadoopBKK16-400B ODPI - Standardizing Hadoop
BKK16-400B ODPI - Standardizing Hadoop
 

Similaire à Host Data Plane Acceleration: SmartNIC Deployment Models

Similaire à Host Data Plane Acceleration: SmartNIC Deployment Models (20)

P4+ONOS SRv6 tutorial.pptx
P4+ONOS SRv6 tutorial.pptxP4+ONOS SRv6 tutorial.pptx
P4+ONOS SRv6 tutorial.pptx
 
P4_tutorial.pdf
P4_tutorial.pdfP4_tutorial.pdf
P4_tutorial.pdf
 
Open vSwitch Implementation Options
Open vSwitch Implementation Options Open vSwitch Implementation Options
Open vSwitch Implementation Options
 
HKG18-318 - OpenAMP Workshop
HKG18-318 - OpenAMP WorkshopHKG18-318 - OpenAMP Workshop
HKG18-318 - OpenAMP Workshop
 
XS Boston 2008 Network Topology
XS Boston 2008 Network TopologyXS Boston 2008 Network Topology
XS Boston 2008 Network Topology
 
OVS Hardware Offload with TC Flower
OVS Hardware Offload with TC FlowerOVS Hardware Offload with TC Flower
OVS Hardware Offload with TC Flower
 
Leveraging open source for large scale analytics
Leveraging open source for large scale analyticsLeveraging open source for large scale analytics
Leveraging open source for large scale analytics
 
Enabling NFV features in kubernetes
Enabling NFV features in kubernetesEnabling NFV features in kubernetes
Enabling NFV features in kubernetes
 
Software Stacks to enable SDN and NFV
Software Stacks to enable SDN and NFVSoftware Stacks to enable SDN and NFV
Software Stacks to enable SDN and NFV
 
Container Attached Storage (CAS) with OpenEBS - SDC 2018
Container Attached Storage (CAS) with OpenEBS -  SDC 2018Container Attached Storage (CAS) with OpenEBS -  SDC 2018
Container Attached Storage (CAS) with OpenEBS - SDC 2018
 
Known basic of NFV Features
Known basic of NFV FeaturesKnown basic of NFV Features
Known basic of NFV Features
 
Linkmeup v076(2019-06).2
Linkmeup v076(2019-06).2Linkmeup v076(2019-06).2
Linkmeup v076(2019-06).2
 
SoC Solutions Enabling Server-Based Networking
SoC Solutions Enabling Server-Based NetworkingSoC Solutions Enabling Server-Based Networking
SoC Solutions Enabling Server-Based Networking
 
OpenEBS hangout #4
OpenEBS hangout #4OpenEBS hangout #4
OpenEBS hangout #4
 
NFV features in kubernetes
NFV features in kubernetesNFV features in kubernetes
NFV features in kubernetes
 
Brain in the Cloud: Machine Learning on OpenStack & Kubernetes Done Right - E...
Brain in the Cloud: Machine Learning on OpenStack & Kubernetes Done Right - E...Brain in the Cloud: Machine Learning on OpenStack & Kubernetes Done Right - E...
Brain in the Cloud: Machine Learning on OpenStack & Kubernetes Done Right - E...
 
Monitoring federation open stack infrastructure
Monitoring federation open stack infrastructureMonitoring federation open stack infrastructure
Monitoring federation open stack infrastructure
 
Getting Started: Intro to Telegraf - July 2021
Getting Started: Intro to Telegraf - July 2021Getting Started: Intro to Telegraf - July 2021
Getting Started: Intro to Telegraf - July 2021
 
Massively Parallel RISC-V Processing with Transactional Memory
Massively Parallel RISC-V Processing with Transactional MemoryMassively Parallel RISC-V Processing with Transactional Memory
Massively Parallel RISC-V Processing with Transactional Memory
 
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
 

Plus de Netronome

Efficient JIT to 32-bit Arches
Efficient JIT to 32-bit ArchesEfficient JIT to 32-bit Arches
Efficient JIT to 32-bit Arches
Netronome
 

Plus de Netronome (20)

LFSMM AF XDP Queue I-DS
LFSMM AF XDP Queue I-DSLFSMM AF XDP Queue I-DS
LFSMM AF XDP Queue I-DS
 
LFSMM Verifier Optimizations and 1 M Instructions
LFSMM Verifier Optimizations and 1 M InstructionsLFSMM Verifier Optimizations and 1 M Instructions
LFSMM Verifier Optimizations and 1 M Instructions
 
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
 
Offloading TC Rules on OVS Internal Ports
Offloading TC Rules on OVS Internal Ports Offloading TC Rules on OVS Internal Ports
Offloading TC Rules on OVS Internal Ports
 
Quality of Service Ingress Rate Limiting and OVS Hardware Offloads
Quality of Service Ingress Rate Limiting and OVS Hardware OffloadsQuality of Service Ingress Rate Limiting and OVS Hardware Offloads
Quality of Service Ingress Rate Limiting and OVS Hardware Offloads
 
ODSA Sub-Project Launch
 ODSA Sub-Project Launch ODSA Sub-Project Launch
ODSA Sub-Project Launch
 
Flexible and Scalable Domain-Specific Architectures
Flexible and Scalable Domain-Specific ArchitecturesFlexible and Scalable Domain-Specific Architectures
Flexible and Scalable Domain-Specific Architectures
 
Offloading Linux LAG Devices Via Open vSwitch and TC
Offloading Linux LAG Devices Via Open vSwitch and TCOffloading Linux LAG Devices Via Open vSwitch and TC
Offloading Linux LAG Devices Via Open vSwitch and TC
 
eBPF Debugging Infrastructure - Current Techniques
eBPF Debugging Infrastructure - Current TechniqueseBPF Debugging Infrastructure - Current Techniques
eBPF Debugging Infrastructure - Current Techniques
 
Efficient JIT to 32-bit Arches
Efficient JIT to 32-bit ArchesEfficient JIT to 32-bit Arches
Efficient JIT to 32-bit Arches
 
eBPF & Switch Abstractions
eBPF & Switch AbstractionseBPF & Switch Abstractions
eBPF & Switch Abstractions
 
eBPF Tooling and Debugging Infrastructure
eBPF Tooling and Debugging InfrastructureeBPF Tooling and Debugging Infrastructure
eBPF Tooling and Debugging Infrastructure
 
BPF Hardware Offload Deep Dive
BPF Hardware Offload Deep DiveBPF Hardware Offload Deep Dive
BPF Hardware Offload Deep Dive
 
Demystify eBPF JIT Compiler
Demystify eBPF JIT CompilerDemystify eBPF JIT Compiler
Demystify eBPF JIT Compiler
 
eBPF/XDP
eBPF/XDP eBPF/XDP
eBPF/XDP
 
The Power of SmartNICs
The Power of SmartNICsThe Power of SmartNICs
The Power of SmartNICs
 
DPDK Support for New HW Offloads
DPDK Support for New HW OffloadsDPDK Support for New HW Offloads
DPDK Support for New HW Offloads
 
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
 
Open vSwitch Offload: Conntrack and the Upstream Kernel
Open vSwitch Offload: Conntrack and the Upstream KernelOpen vSwitch Offload: Conntrack and the Upstream Kernel
Open vSwitch Offload: Conntrack and the Upstream Kernel
 
TC Flower Offload
TC Flower OffloadTC Flower Offload
TC Flower Offload
 

Dernier

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 

Dernier (20)

Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelNavi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source Milvus
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 

Host Data Plane Acceleration: SmartNIC Deployment Models

  • 1. © 2018 NETRONOME SYSTEMS, INC. Host Dataplane Acceleration: SmartNIC Deployment Models Simon Horman 20 August 2018
  • 2. © 2018 NETRONOME SYSTEMS, INC. 2 Agenda ●  Introduction ○  Hardware and Software Switching ○  SDN Programmability ○  Host Datapath Acceleration ●  Acceleration Models ○  Existing Host Datapath Acceleration ○  Extended Datapath Acceleration ○  New Datapath Acceleration ●  Closing Remarks
  • 3. © 2018 NETRONOME SYSTEMS, INC. Hardware and Software Switching
  • 4. © 2018 NETRONOME SYSTEMS, INC. 4 Historically Switching Done in Hardware ●  Dedicated physical switch ●  Fast ●  Fixed feature set ●  Inflexible
  • 5. © 2018 NETRONOME SYSTEMS, INC. 5 Virtualisation Moved Switching to Host ●  Desire to share network between hosts and VMs ●  Software bridging or user-space networking used to achieve this ●  Flexible ●  Slow
  • 6. © 2018 NETRONOME SYSTEMS, INC. 6 SR-IOV Moved Hardware Switching to the Host ●  Embedded switch between ○  Physical Port ○  “PF” network interfaces used by host ○  VF network interfaces used by VMs ●  Performance improvement over software based switching to VMs ●  Reduced flexibility
  • 7. © 2018 NETRONOME SYSTEMS, INC. 7 SDN Moved Host Switching Back into Software ●  Exploited flexibility of software ●  Many features emerged: f.e.: ○  Tunnel Termination ○  Rich flow key for matching on L2 ~ L4 ○  Packet modification possible: set packet header fields ○  Stateful Security Policies (Conntrack) ○  NAT ○  Increasing programmability ●  Slow/consumes CPU resources
  • 8. © 2018 NETRONOME SYSTEMS, INC. Datapath Programmability
  • 9. © 2018 NETRONOME SYSTEMS, INC. 9 SDN Programmability ●  Applications ○  Rich feature set but fixed function ○  Policy implemented at run-time, f.e. using match/action tables ○  Software is malleable, but new features require modification of application ○  f.e.: Open vSwitch, vRouter ●  Packet Movement Infrastructure ○  Allows programing of part of datapath ○  With fallback option ○  f.e.: eBPF ●  Tools ○  Allows full description of datapath ○  f.e.: P4
  • 10. © 2018 NETRONOME SYSTEMS, INC. 10 NEW Tools vs. Applications
  • 11. © 2018 NETRONOME SYSTEMS, INC. Host Datapath Acceleration
  • 12. © 2018 NETRONOME SYSTEMS, INC. 12 Host Datapath Acceleration ●  Combine flexibility of software with performance of hardware Hardware Software Pendulum motive credit: Rashid Khan, “Red Hat’s perspective on OVS HW Offload Status”, presented at Open vSwtich 2018 Conference Host Data Plane Acceleration Fast Inflexible Flexible Slow
  • 13. © 2018 NETRONOME SYSTEMS, INC. 13 Comprehensive and Proven SmartNIC Platform Agilio SmartNIC Family 10-100Gb/s, w/ 2-8GB DDR, up to 4 ARM Cores NFP Silicon Family with 36-120 cores, up to 960 processing threads Data Plane Programming Tools for Custom Feature Adds P4, C, eBPF/XDP-based Programming Layer Virtualization Layer and SDN (with standard offload) Inbox Open vSwitch (OVS) in RHEL 7.5; vRouter in Contrail Cloud 3.x/4.x Virtual Switching and Routing Next Gen EAGLE (In Concept) Next Gen KESTRE L (In Dev) VXLAN, MPLS, MPLS over GRE ACLs and Security Groups vProbes, In- band Telemetry DDoS and Load Bal Visibility using SSL-on-a-NIC Congestion and Tail Latency Reduction Basic NIC Upstreamed Linux Device Drivers Stateless Offloads, SR-IOV, DPDK, Express Virtio (XVIO) BasicNICFeatures OffloadNICFeatures ProgrammableNICFeatures NFP-5000 (In Dev)
  • 14. © 2018 NETRONOME SYSTEMS, INC. Existing Open vSwitch Datapath Acceleration
  • 15. © 2018 NETRONOME SYSTEMS, INC. 15 What is Open vSwitch (OVS)? ●  Production quality multilayer virtual switch ●  Widely used in conjunction with OpenStack ●  Allows policy to be describe using OpenFlow match/action tables
  • 16. © 2018 NETRONOME SYSTEMS, INC. 16 OVS Datapath Open vSwitch Subsystem OVS Agent OpenFlow Virtual Machine Virtual Machine Virtual Machine x86 Kernel x86 Userspace Virtual Machine Apps Flow table miss 2 2 OVS userspace agent populates kernel cache; instructs OVS kernel DP to execute packet 1 OVS Kernel DP Match/Act Miss 1
  • 17. © 2018 NETRONOME SYSTEMS, INC. 17 Agilio® OVS Datapath Acceleration Open vSwitch Subsystem OVS Agent OpenFlow Virtual Machine Virtual Machine Virtual Machine x86 Kernel x86 Userspace PCIe Virtual Machine SR-IOV Agilio SmartNIC Apps Flow table miss 2 2 OVS userspace agent populates kernel cache; instructs OVS kernel DP to execute packet 1 Open vSwitch Datapath Execute Action (e.g. Entunnel, Deliver to VM, Send to Port) 3 Offload datapath: copy match tables, sync stats 3 4 Flow tracking: per-microflow state learning 4 MissSelf Learning Exact Match Flow Tracker Miss Hit TC Kernel DP Match/Act OVS Kernel DP Match/Act Miss OVS Kernel DP Match/Act Miss 1 SR-IOV VFs / VirtIO
  • 18. © 2018 NETRONOME SYSTEMS, INC. Existing eBPF Datapath Acceleration
  • 19. © 2018 NETRONOME SYSTEMS, INC. 19 What is eBPF? eBPF is a simple way to extend the functionality of the kernel at runtime ●  Small kernel based machine ○  10 64bit registers ○  512 byte stack ○  Data structures known as maps (unlimited size) ○  4K BPF instructions (Bytecode) ●  Verifier to ensure kernel safe ○  no loops, not more than 4K insns, not more than 64 maps etc… ●  Can be JITed to ensure maximum performance
  • 20. © 2018 NETRONOME SYSTEMS, INC. 20 Used Within Hyperscale-Not a Toy! Those who have publicly stated they are using BPF or planning to use BPF include: ●  Facebook-Load Balancing, Security ●  Netflix-Network Monitoring ●  Cilium Project ●  Cloudflare-Security ●  OVS-Virtual Switching Due to its upstream safety and kernel support BPF provides a safe, flexible and scalable networking tool.
  • 21. © 2018 NETRONOME SYSTEMS, INC. 21 The Programming Model ●  LLVM is used to compile from supported languages ○  C, Go, P4 ●  When Programs are loaded ○  Verifier is called-ensure safety ○  Program is JITed-ensure perf ○  Can also be offloaded ■  nfp_bpf_jit upstream LL VM NFP verifier.c bpf_prog.go bpf_prog.elf bpf syscall USER JIT nfp_bfp_jit.c Host CPU KERNEL HARDWARE bpf_prog.p4 bpf_prog.c
  • 22. © 2018 NETRONOME SYSTEMS, INC. 22 Maps: What They Are ●  Maps are key value stores ○  Can be accessed from kernel or user space ○  Used for interaction between kernel and user space programs ●  Number of different types of maps ○  Used for interaction between kernel and user space programs bpf_user.c bpf_kern.c Map
  • 23. © 2018 NETRONOME SYSTEMS, INC. 23 BPF Kernel Hooks Many hooks with different purposes ●  kprobes ●  socket filters-tcpdump-old school! ●  seccomp ●  netfilter ●  TC ●  XDP(no skb-super fast!)
  • 24. © 2018 NETRONOME SYSTEMS, INC. 24 Agilio eBPF Acceleration Instantiation eBPF Subsystem eBPF Agent Virtual Machine Virtual Machine Virtual Machine x86 Kernel x86 Userspace eBPF Datapath eBPF Prog. PCIe Virtual Machine SR-IOV VFs Agilio SmartNIC Apps Apps Linux Network Stack XDP eBPF Prog. vRouter Forwarding cls_bpf eBPF Prog. 1 1 Programs pre-emptively loaded into Kernel 2 JIT program, offload program and maps 2 Apps SR-IOV Apps Apps Apps Apps
  • 25. © 2018 NETRONOME SYSTEMS, INC. 25 Agilio eBPF Acceleration Fallback Path eBPF Subsystem eBPF Agent Virtual Machine Virtual Machine Virtual Machine x86 Kernel x86 Userspace eBPF Datapath eBPF Prog. PCIe Virtual Machine SR-IOV Agilio SmartNIC Apps Apps Linux Network Stack XDP eBPF Prog. Miss vRouter Forwarding cls_bpf eBPF Prog. Miss SR-IOV Apps Apps Apps Apps Miss
  • 26. © 2018 NETRONOME SYSTEMS, INC. 26 Offload Existing Datapath: Characteristics ●  Flexibility defined by server’s existing datapath software ○  OVS: Configure match/action tables (forwarding/policies) ○  Tungsten Fabric vRouter: Configure forwarding and policies separately ●  Integration via drivers/plugins ○  OVS: OpenStack ML2 plugin (with/without SDN controller) ○  OVS: OpenStack driver for OVN ○  TF vRouter: OpenStack driver for TF ●  Extend OpenStack to support new concept — SR-IOV path directly to VM while offloading virtual switching to NIC
  • 27. © 2018 NETRONOME SYSTEMS, INC. Extended and New Datapath Acceleration
  • 28. © 2018 NETRONOME SYSTEMS, INC. 28 ●  P4 is a domain specific language for describing datapaths ●  Description may be compiled into datapath What is P4?
  • 29. © 2018 NETRONOME SYSTEMS, INC. Plug-in Datapath
  • 30. © 2018 NETRONOME SYSTEMS, INC. 30 Extending OVS using P4/C Plugins Open vSwitch Subsystem OVS Agent OpenFlow x86 Kernel x86 Userspace PCIe Agilio SmartNIC Flow table miss OVS userspace agent populates kernel cache; instructs OVS kernel DP to execute packet Execute Action Open vSwitch Datapath Execute Action (e.g. Entunnel, Deliver to VM, Send to Port) Virtual Machine Virtual Machine Virtual Machine Offload datapath: copy match tables, sync stats OVS Kernel DP Match/Act OVS Kernel DP Match/Act Fallback Fallback Virtual Machine SR-IOV / Virtio VFs Apps netdev or DPDK Datapath Extension or Plugin P4 / C in Sandbox DP Ext. Datapath extension software SR-IOV Apps netdev or DPDK Apps netdev or DPDK Apps netdev or DPDK Apps netdev or DPDK 2 4 3 1 2 4 1 3 4
  • 31. © 2018 NETRONOME SYSTEMS, INC. 31 Plugin in Datapath: Characteristics ●  Some flexibility ○  Easy to implement custom actions ○  Difficult to implement custom classification ○  Can implement inner protocols ●  Integration effort varies ○  Can model as custom port ○  Can model as custom action
  • 32. © 2018 NETRONOME SYSTEMS, INC. P4 Datapath on SmartNIC
  • 33. © 2018 NETRONOME SYSTEMS, INC. 33 Virtual Machine Virtual Machine Virtual Machine x86 Kernel x86 Userspace OVS “on” SmartNIC P4 Datapath Open vSwitch Subsystem OVS Agent OpenFlow PCIe Virtual Machine SR-IOV / Virtio VFs SR-IOV Agilio SmartNIC Apps Apps netdev or DPDK netdev or DPDK Apps netdev or DPDK Apps netdev or DPDK Apps netdev or DPDK Execute Action P4 Generated Datapath Execute P4 Action OVS Kernel DP Match/Act P4 Matching Fallback Fallback
  • 34. © 2018 NETRONOME SYSTEMS, INC. 34 P4 Datapath on SmartNIC: Characteristics ●  Some flexibility ○  In theory easy to implement offloaded behavior ○  However, OpenFlow matching is more flexible ○  Limited to what OVS on host supports ●  Integration effort modest ○  Already done if offloading existing OVS code ○  Must extend OpenFlow and OVSDB or OVN if enhancing OVS
  • 35. © 2018 NETRONOME SYSTEMS, INC. P4 Datapath In Kernel
  • 36. © 2018 NETRONOME SYSTEMS, INC. 36 P4 “into” OVS Datapath Open vSwitch Subsystem OVS Agent OpenFlow Virtual Machine Virtual Machine Virtual Machine x86 Kernel x86 Userspace PCIe Virtual Machine SR-IOV / Virtio VFs SR-IOV Agilio SmartNIC Apps Apps netdev or DPDK netdev or DPDK Apps netdev or DPDK Apps netdev or DPDK Apps netdev or DPDK P4 Generated Datapath Execute P4/OVS Action Execute P4/OVS Action P4/OVS Matching or eBPF P4/OVS Matching or eBPF Fallback Fallback
  • 37. © 2018 NETRONOME SYSTEMS, INC. 37 P4 Datapath in Kernel: Characteristics ●  Mixed flexibility ○  Easy to implement behavior ○  However, OpenFlow matching is more flexible ■  Regenerate program on demand ■  Implement program based on assumed model ●  Integration effort considerable ○  Need to re-implement OVS on P4 ○  Offloading easier once infrastructure in place
  • 38. © 2018 NETRONOME SYSTEMS, INC. New Datapath
  • 39. © 2018 NETRONOME SYSTEMS, INC. 39 P4 or eBPF Datapath and Control Host Code Agent Virtual Machine Virtual Machine Virtual Machine x86 Kernel x86 Userspace PCIe Virtual Machine SR-IOV / Virtio VFs SR-IOV Agilio SmartNIC Apps Apps netdev or DPDK netdev or DPDK Apps netdev or DPDK Apps netdev or DPDK Apps netdev or DPDK P4 Generated Datapath Execute Action Execute Action P4 or eBPF P4 Matching or eBPF… Fallback Fallback Open issues: ●  Control Protocol - could become a callable API ●  Downloading programs via OpenStack or other systems ●  Scheduling VMs to run on nodes with acceleration hardware or offloaded eBPF Calable API
  • 40. © 2018 NETRONOME SYSTEMS, INC. 40 New Datapath & Control: Characteristics ●  Full flexibility ○  Easy to implement behavior ○  Can deploy completely different control plane ●  Integration effort considerable ○  New infrastructure required in OpenStack ■  ML2 plugin, Southbound protocol or API, etc...
  • 41. © 2018 NETRONOME SYSTEMS, INC. Closing Remarks
  • 42. © 2018 NETRONOME SYSTEMS, INC. 42 OVS Frame Rate @64k Rules+Flows
  • 43. © 2018 NETRONOME SYSTEMS, INC. 43 OVS Frame Rate @64k Rules+Flows+VXLAN
  • 44. © 2018 NETRONOME SYSTEMS, INC. 44 Integration / Open Sourcing Activities Area Activities Linux Drivers Driver in upstream kernel v4.5, RHEL 7.4, Ubuntu 18.04 Representor netdevs for fallback processing and SmartNIC configuration CoreNIC, eBPF, OVS offload feature evolution FreeBSD Drivers Kernel device driver implemented DPDK Drivers Poll mode driver in upstream DPDK 2.2 Open vSwitch Acceleration Integration Present in upstream using kernel TC datapath Feature coverage iteration in progress OpenStack Integration Plugins and agents to support virtual switching acceleration present in upstream Integration for OVS in process present in upstream Integration for TF vRouter in process — Juniper etc... Participation Appreciated — Join us at Linux, Open vSwitch, TF vRouter, OpenStack, p4.org, OpenSourceSDN.org
  • 45. © 2018 NETRONOME SYSTEMS, INC. 45 Next Steps ●  Use Agilio SmartNICs with existing dataplanes ○  Use Agilio eBPF ○  Use Agilio OVS ○  Use Agilio vRouter ●  Program Agilio SmartNICs ○  Use APIs (on x86 servers) - with above dataplanes ○  Program in P4 and/or C (on SmartNIC/on x86) ●  Improve performance + free up server resources!
  • 46. © 2018 NETRONOME SYSTEMS, INC. Thank You! More information: netronome.com