Copyright © 2016 - Barefoot Networks
Programmable Data Plane at Terabit Speeds
Vladimir Gurevich
Copyright © 2016 - Barefoot Networks
The Three Planes
• Independent software
components
◦ Implement different classes of
algorithms
◦ Have different design requirements
◦ Are designed using different
methodologies
◦ Are Implemented using different
languages
■ Or different hardware
◦ Run Independently
◦ Communicate through well-defined
interfaces
2
Management Plane
Configuration CLI/GUI/SNMP...
Control Plane
Protocol Stacks Port
Mgmt
Platform
Mgmt
OSPF
STP
IS-IS
PIM-SM
BGP
Data Plane
Packet Forwarding
Copyright © 2016 - Barefoot Networks
Switch OS
Run-time API
Driver
“This is how I know to
process packets”
(i.e. the ASIC datasheet
makes the rules)
Fixed-function ASIC
Bottoms-up network element design
Network Demands
3
Copyright © 2016 - Barefoot Networks
Switch OS
Run-time API
Driver
“This is how I want the
network to behave and how to
switch packets…”
(the user / controller
makes the rules)
Barefoot Tofino + P4
Top-down network element design
Network Demands
P4
Feedback
4
Copyright © 2016 - Barefoot Networks
Fixed Function Switches
Switch	OS
Static	Run-time	API
Driver
Fixed Meta-Data
Traffic
Manager
Fixed
Parser
Fixed
Lookups
Fixed
Memories
Fixed
Actions
Fixed
Lookups
Fixed
Memories
Fixed
Actions
Fixed
Lookups
Fixed
Memories
Fixed
Actions
Fixed
Lookups
Fixed
Memories
Fixed
Actions
Fixed
Packet
Mods
Fixed Function ASIC
5
Copyright © 2016 - Barefoot Networks
Programmable Switch Approach
Fixed Meta-Data
Traffic
Manag
er
Fixed
Parser
Fixed
Looku
ps
Fixed
Memories
Fixed
Looku
ps
Fixed
Looku
ps
Fixed
Memories
Fixed
Looku
ps
Fixed
Looku
ps
Fixed
Memories
Fixed
Looku
ps
Fixed
Looku
ps
Fixed
Memories
Fixed
Looku
ps
Fixed
Packe
t
Mods
Programmable Meta-Data
Traffic
Manager
Programmable
Parser
Flexible
Lookups
Shared
Memories
Custom
Actions
Flexible
Lookups
Shared
Memories
Custom
Actions
Flexible
Lookups
Shared
Memories
Custom
Actions
Flexible
Lookups
Shared
Memories
Custom
Actions
DeParser
Programmable ASIC
switch.p4
Protocol	
Authoring
1
Compile
2
Configure
3
Auto	Generated
Run-time	API
6
Copyright © 2016 - Barefoot Networks
Result: Customer Defined Switch
Switch	OS
Driver
User Defined Meta-Data
Traffic
Manager
User
Defined
Parser
User
Defined
Lookups
User Defined
Tables
User
Defined
Actions
User
Defined
Lookups
User Defined
Tables
User
Defined
Actions
User
Defined
Lookups
User Defined
Tables
User
Defined
Actions
User
Defined
Lookups
User Defined
Tables
User
Defined
Actions
User
Defined
DeParser
Programmable ASIC : User Defined Forwarding Plane
Run!
4
Add/delete	table	rules
Auto	Generated
Run-time	API
7
Copyright © 2016 - Barefoot Networks
Match-Action Packet Processing Concept
8
Programmable
Parser
Match
Memory
Action
ALU
Copyright © 2016 - Barefoot Networks 9
Programmable
Parser
PISA: Protocol Independent Switch Architecture
Ingress EgressBuffer
Copyright © 2016 - Barefoot Networks 10
Programmable
Parser
PISA: Protocol Independent Switch Architecture
Mix of SRAM and TCAM for: lookup tables,
counters, meters, Bloom filters
ALUs for: Standard Boolean and Arithmetic
Operations & add/delete fields, hashes
Recirculation
Programmable	
Packet	Generator
Copyright © 2016 - Barefoot Networks
What Happens Inside?
Queues
Programmable
Parser
CLK
…
…
…
…
Match Table
(SRAM or TCAM)
Cross
Bar
PHV
(Packet Header Vector) PHV’
action
11
Copyright © 2016 - Barefoot Networks
P4 Visualizations (PHV Allocation)
12
Copyright © 2016 - Barefoot Networks
P4 Visualizations (Resource Allocation)
13
Copyright © 2016 - Barefoot Networks
P4 Visualizations (Resource Usage Summary)
14
Copyright © 2016 - Barefoot Networks
Tofino Block Diagram
Rx MACs
10/25/40/50/100
Ingress
Pipeline
Tx MAC
10/25/40/50/100
Control & Configuration
Reset /
Clocks
PCIe
CPU
MAC
DMA
engines
Rx MACs
10/25/40/50/100
Ingress
Pipeline
Tx MAC
10/25/40/50/100
Rx MACs
10/25/40/50/100
Ingress
Pipeline
Tx MAC
10/25/40/50/100
Rx MACs
10/25/40/50/100
Ingress
Pipeline
Tx MAC
10/25/40/50/100
Traffic
Manager
Egress
Pipeline
Egress
Pipeline
Egress
Pipeline
Egress
Pipeline
Copyright © 2016 - Barefoot Networks
Barefoot SDE
16
Tofino:
Best-in-class P4 Targets
Chip Driver
Protocol-independent API
Your Auto-generated API
Your P4
Program
Your Control-plane Program (Apps)
ASIC
Model
Barefoot
Compiler
& Dev. Tools
Add/delete table rules
at run time
Behavioral
Model
Copyright © 2016 - Barefoot Networks
Reference P4
Program + Your
Custom Features
Barefoot
Compiler
& Dev. Tools
Barefoot SDE
17
Tofino:
Best-in-class P4 Targets
Chip Driver
Protocol-independent API
Your Auto-generated API
Your Control-plane Program (Apps)
ASIC
Model
Behavioral
Model
SwitchAPI
OCP SAI (Switch Abstraction
Interface)
Open
source
PacketTestFramework
Copyright © 2016 - Barefoot Networks
switch.p4 & switchAPI Features
18
TCP New
IPv4 IPv6
VLANEth
Parser Ingress	Match+Action Egress	Match+ActionQueues
switch.p4
Switch	OS
Run-time	API
Auto-generate
Add/delete	table	rules
Driver
Protocol	
Authoring
1
Compile
2
Configure
3
Run!
4
IPv4 and IPv6 routing
- Unicast
- Unicast RPF
- Strict and Loose
- Multicast
- PIM-SM/DM & PIM-BiDir
L2 switching
- Learning
- STP state
- VLAN Translation
Load balancing
- WECMP, ECMP and LAG
- Resilient Hashing
Tunneling
- IPv4 & IPv6 Routing & Switching
- IP-in-IP (6in4, 4in4)
- VXLAN, NVGRE, GENEVE & GRE
MPLS
- LER
- LSR
- IPv4/v6 routing (L3VPN)
- L2 switching (EoMPLS, VPLS)
ACL
- MAC ACL,
- IPv4/v6 ACL/RACL,
- QoS ACL
- System ACL
- PBR (Policy based routing)
NAT
QOS
- QoS Classification & marking
- Drop profiles/WRED
- RoCE v2 & FCoE
- CoPP (Control plane policing)
Security Features
- Storm Control, IP Source Guard
Mirroring
- Ingress Mirroring and Egress Mirroring
- Negative Mirroring
Counters
- Route Table Entry Counters
- VLAN/Bridge Domain Counters
- Port/Interface Counters
Protocol Offload
- BFD, OAM
Multi-chip Fabric Support
- Forwarding, QOS
Copyright © 2016 - Barefoot Networks
Thank you

More Related Content

PDF
[Webinar Slides] Programming the Network Dataplane in P4
PDF
Programming the Network Data Plane
PDF
20170925 onos and p4
PDF
P4 Introduction
PDF
Linkmeup v076 (2019-06)
PPTX
2016 NCTU P4 Workshop
PDF
Programming Protocol-Independent Packet Processors
PDF
Linkmeup v076(2019-06).2
[Webinar Slides] Programming the Network Dataplane in P4
Programming the Network Data Plane
20170925 onos and p4
P4 Introduction
Linkmeup v076 (2019-06)
2016 NCTU P4 Workshop
Programming Protocol-Independent Packet Processors
Linkmeup v076(2019-06).2

What's hot (20)

PDF
P4 for Custom Identification, Flow Tagging, Monitoring and Control
PPTX
BGP Advanced topics
PPTX
IPv6 Entreprise Multihoming
PDF
Host Data Plane Acceleration: SmartNIC Deployment Models
PDF
Cef based switching
PPTX
0-RTT TCP converters
PDF
Stacks and Layers: Integrating P4, C, OVS and OpenStack
PDF
JS introduction
DOCX
Space Communication Protocol-By Nilesh,Pravin
PPT
Performance test
PPTX
Innovation is back in the transport and network layers
PDF
Protecting the Privacy of the Network – Using P4 to Prototype and Extend Netw...
PPTX
EMEA Airheads- LACP and distributed LACP – ArubaOS Switch
PDF
BGP Techniques for Network Operators
PDF
BIRD Routing Daemon
PDF
OpenContrail, Real Speed: Offloading vRouter
PPTX
Part 11 : Interdomain routing with BGP
PDF
Analyzing dhc pv6 stateful and stateless
PDF
Troubleshooting BGP
PDF
Data Plane and VNF Acceleration Mini Summit
P4 for Custom Identification, Flow Tagging, Monitoring and Control
BGP Advanced topics
IPv6 Entreprise Multihoming
Host Data Plane Acceleration: SmartNIC Deployment Models
Cef based switching
0-RTT TCP converters
Stacks and Layers: Integrating P4, C, OVS and OpenStack
JS introduction
Space Communication Protocol-By Nilesh,Pravin
Performance test
Innovation is back in the transport and network layers
Protecting the Privacy of the Network – Using P4 to Prototype and Extend Netw...
EMEA Airheads- LACP and distributed LACP – ArubaOS Switch
BGP Techniques for Network Operators
BIRD Routing Daemon
OpenContrail, Real Speed: Offloading vRouter
Part 11 : Interdomain routing with BGP
Analyzing dhc pv6 stateful and stateless
Troubleshooting BGP
Data Plane and VNF Acceleration Mini Summit
Ad

Similar to Programmable data plane at terabit speeds (20)

PPTX
PLNOG 13: P. Kupisiewicz, O. Pelerin: Make IOS-XE Troubleshooting Easy – Pack...
PPT
ewd-qoper8-vistarpc: Exposing VistA's RPCs as REST Services
PPTX
Application Visibility and Experience through Flexible Netflow
PDF
SIP Router Project
PDF
Model driven telemetry
PDF
Operational Issues inIPv6 --from vendors' point of view--
PPTX
CCNP ROUTE V7 CH5
PDF
Model-driven Telemetry: The Foundation of Big Data Analytics
PPTX
2014/09/02 Cisco UCS HPC @ ANL
PDF
Krzysztof Mazepa - Netflow/cflow - ulubionym narzędziem operatorów SP
PDF
ASR-9000 в качестве платформы внедрения SDN в сетях операторов связи
PDF
A10_CompactTrainingv5.pdf (1).pdf
PDF
Verification of the QorIQ Communication Platform Containing CoreNet Fabric wi...
PPTX
11_Complete_NW_related_Data_Creation.pptx
PDF
Kauli SSPにおけるVyOSの導入事例
PPS
Ccna Imp Guide
PPTX
Automating Your Data Center with RackHD - EMC World 2016
PPTX
Product Update Webinar 2009
PDF
Building DataCenter networks with VXLAN BGP-EVPN
PPT
Ethernet summit 2011_toe
PLNOG 13: P. Kupisiewicz, O. Pelerin: Make IOS-XE Troubleshooting Easy – Pack...
ewd-qoper8-vistarpc: Exposing VistA's RPCs as REST Services
Application Visibility and Experience through Flexible Netflow
SIP Router Project
Model driven telemetry
Operational Issues inIPv6 --from vendors' point of view--
CCNP ROUTE V7 CH5
Model-driven Telemetry: The Foundation of Big Data Analytics
2014/09/02 Cisco UCS HPC @ ANL
Krzysztof Mazepa - Netflow/cflow - ulubionym narzędziem operatorów SP
ASR-9000 в качестве платформы внедрения SDN в сетях операторов связи
A10_CompactTrainingv5.pdf (1).pdf
Verification of the QorIQ Communication Platform Containing CoreNet Fabric wi...
11_Complete_NW_related_Data_Creation.pptx
Kauli SSPにおけるVyOSの導入事例
Ccna Imp Guide
Automating Your Data Center with RackHD - EMC World 2016
Product Update Webinar 2009
Building DataCenter networks with VXLAN BGP-EVPN
Ethernet summit 2011_toe
Ad

Recently uploaded (20)

PDF
NewMind AI Weekly Chronicles – August ’25 Week III
PPTX
GROUP4NURSINGINFORMATICSREPORT-2 PRESENTATION
PDF
How IoT Sensor Integration in 2025 is Transforming Industries Worldwide
PPTX
Benefits of Physical activity for teenagers.pptx
PPTX
Custom Battery Pack Design Considerations for Performance and Safety
DOCX
search engine optimization ppt fir known well about this
PPTX
Configure Apache Mutual Authentication
PDF
How ambidextrous entrepreneurial leaders react to the artificial intelligence...
PDF
Credit Without Borders: AI and Financial Inclusion in Bangladesh
PDF
sustainability-14-14877-v2.pddhzftheheeeee
PDF
Taming the Chaos: How to Turn Unstructured Data into Decisions
PDF
Produktkatalog für HOBO Datenlogger, Wetterstationen, Sensoren, Software und ...
PDF
Architecture types and enterprise applications.pdf
PPTX
TEXTILE technology diploma scope and career opportunities
PDF
ENT215_Completing-a-large-scale-migration-and-modernization-with-AWS.pdf
PDF
1 - Historical Antecedents, Social Consideration.pdf
PDF
Enhancing plagiarism detection using data pre-processing and machine learning...
PDF
sbt 2.0: go big (Scala Days 2025 edition)
PPTX
Chapter 5: Probability Theory and Statistics
PPTX
2018-HIPAA-Renewal-Training for executives
NewMind AI Weekly Chronicles – August ’25 Week III
GROUP4NURSINGINFORMATICSREPORT-2 PRESENTATION
How IoT Sensor Integration in 2025 is Transforming Industries Worldwide
Benefits of Physical activity for teenagers.pptx
Custom Battery Pack Design Considerations for Performance and Safety
search engine optimization ppt fir known well about this
Configure Apache Mutual Authentication
How ambidextrous entrepreneurial leaders react to the artificial intelligence...
Credit Without Borders: AI and Financial Inclusion in Bangladesh
sustainability-14-14877-v2.pddhzftheheeeee
Taming the Chaos: How to Turn Unstructured Data into Decisions
Produktkatalog für HOBO Datenlogger, Wetterstationen, Sensoren, Software und ...
Architecture types and enterprise applications.pdf
TEXTILE technology diploma scope and career opportunities
ENT215_Completing-a-large-scale-migration-and-modernization-with-AWS.pdf
1 - Historical Antecedents, Social Consideration.pdf
Enhancing plagiarism detection using data pre-processing and machine learning...
sbt 2.0: go big (Scala Days 2025 edition)
Chapter 5: Probability Theory and Statistics
2018-HIPAA-Renewal-Training for executives

Programmable data plane at terabit speeds

  • 1. Copyright © 2016 - Barefoot Networks Programmable Data Plane at Terabit Speeds Vladimir Gurevich
  • 2. Copyright © 2016 - Barefoot Networks The Three Planes • Independent software components ◦ Implement different classes of algorithms ◦ Have different design requirements ◦ Are designed using different methodologies ◦ Are Implemented using different languages ■ Or different hardware ◦ Run Independently ◦ Communicate through well-defined interfaces 2 Management Plane Configuration CLI/GUI/SNMP... Control Plane Protocol Stacks Port Mgmt Platform Mgmt OSPF STP IS-IS PIM-SM BGP Data Plane Packet Forwarding
  • 3. Copyright © 2016 - Barefoot Networks Switch OS Run-time API Driver “This is how I know to process packets” (i.e. the ASIC datasheet makes the rules) Fixed-function ASIC Bottoms-up network element design Network Demands 3
  • 4. Copyright © 2016 - Barefoot Networks Switch OS Run-time API Driver “This is how I want the network to behave and how to switch packets…” (the user / controller makes the rules) Barefoot Tofino + P4 Top-down network element design Network Demands P4 Feedback 4
  • 5. Copyright © 2016 - Barefoot Networks Fixed Function Switches Switch OS Static Run-time API Driver Fixed Meta-Data Traffic Manager Fixed Parser Fixed Lookups Fixed Memories Fixed Actions Fixed Lookups Fixed Memories Fixed Actions Fixed Lookups Fixed Memories Fixed Actions Fixed Lookups Fixed Memories Fixed Actions Fixed Packet Mods Fixed Function ASIC 5
  • 6. Copyright © 2016 - Barefoot Networks Programmable Switch Approach Fixed Meta-Data Traffic Manag er Fixed Parser Fixed Looku ps Fixed Memories Fixed Looku ps Fixed Looku ps Fixed Memories Fixed Looku ps Fixed Looku ps Fixed Memories Fixed Looku ps Fixed Looku ps Fixed Memories Fixed Looku ps Fixed Packe t Mods Programmable Meta-Data Traffic Manager Programmable Parser Flexible Lookups Shared Memories Custom Actions Flexible Lookups Shared Memories Custom Actions Flexible Lookups Shared Memories Custom Actions Flexible Lookups Shared Memories Custom Actions DeParser Programmable ASIC switch.p4 Protocol Authoring 1 Compile 2 Configure 3 Auto Generated Run-time API 6
  • 7. Copyright © 2016 - Barefoot Networks Result: Customer Defined Switch Switch OS Driver User Defined Meta-Data Traffic Manager User Defined Parser User Defined Lookups User Defined Tables User Defined Actions User Defined Lookups User Defined Tables User Defined Actions User Defined Lookups User Defined Tables User Defined Actions User Defined Lookups User Defined Tables User Defined Actions User Defined DeParser Programmable ASIC : User Defined Forwarding Plane Run! 4 Add/delete table rules Auto Generated Run-time API 7
  • 8. Copyright © 2016 - Barefoot Networks Match-Action Packet Processing Concept 8 Programmable Parser Match Memory Action ALU
  • 9. Copyright © 2016 - Barefoot Networks 9 Programmable Parser PISA: Protocol Independent Switch Architecture Ingress EgressBuffer
  • 10. Copyright © 2016 - Barefoot Networks 10 Programmable Parser PISA: Protocol Independent Switch Architecture Mix of SRAM and TCAM for: lookup tables, counters, meters, Bloom filters ALUs for: Standard Boolean and Arithmetic Operations & add/delete fields, hashes Recirculation Programmable Packet Generator
  • 11. Copyright © 2016 - Barefoot Networks What Happens Inside? Queues Programmable Parser CLK … … … … Match Table (SRAM or TCAM) Cross Bar PHV (Packet Header Vector) PHV’ action 11
  • 12. Copyright © 2016 - Barefoot Networks P4 Visualizations (PHV Allocation) 12
  • 13. Copyright © 2016 - Barefoot Networks P4 Visualizations (Resource Allocation) 13
  • 14. Copyright © 2016 - Barefoot Networks P4 Visualizations (Resource Usage Summary) 14
  • 15. Copyright © 2016 - Barefoot Networks Tofino Block Diagram Rx MACs 10/25/40/50/100 Ingress Pipeline Tx MAC 10/25/40/50/100 Control & Configuration Reset / Clocks PCIe CPU MAC DMA engines Rx MACs 10/25/40/50/100 Ingress Pipeline Tx MAC 10/25/40/50/100 Rx MACs 10/25/40/50/100 Ingress Pipeline Tx MAC 10/25/40/50/100 Rx MACs 10/25/40/50/100 Ingress Pipeline Tx MAC 10/25/40/50/100 Traffic Manager Egress Pipeline Egress Pipeline Egress Pipeline Egress Pipeline
  • 16. Copyright © 2016 - Barefoot Networks Barefoot SDE 16 Tofino: Best-in-class P4 Targets Chip Driver Protocol-independent API Your Auto-generated API Your P4 Program Your Control-plane Program (Apps) ASIC Model Barefoot Compiler & Dev. Tools Add/delete table rules at run time Behavioral Model
  • 17. Copyright © 2016 - Barefoot Networks Reference P4 Program + Your Custom Features Barefoot Compiler & Dev. Tools Barefoot SDE 17 Tofino: Best-in-class P4 Targets Chip Driver Protocol-independent API Your Auto-generated API Your Control-plane Program (Apps) ASIC Model Behavioral Model SwitchAPI OCP SAI (Switch Abstraction Interface) Open source PacketTestFramework
  • 18. Copyright © 2016 - Barefoot Networks switch.p4 & switchAPI Features 18 TCP New IPv4 IPv6 VLANEth Parser Ingress Match+Action Egress Match+ActionQueues switch.p4 Switch OS Run-time API Auto-generate Add/delete table rules Driver Protocol Authoring 1 Compile 2 Configure 3 Run! 4 IPv4 and IPv6 routing - Unicast - Unicast RPF - Strict and Loose - Multicast - PIM-SM/DM & PIM-BiDir L2 switching - Learning - STP state - VLAN Translation Load balancing - WECMP, ECMP and LAG - Resilient Hashing Tunneling - IPv4 & IPv6 Routing & Switching - IP-in-IP (6in4, 4in4) - VXLAN, NVGRE, GENEVE & GRE MPLS - LER - LSR - IPv4/v6 routing (L3VPN) - L2 switching (EoMPLS, VPLS) ACL - MAC ACL, - IPv4/v6 ACL/RACL, - QoS ACL - System ACL - PBR (Policy based routing) NAT QOS - QoS Classification & marking - Drop profiles/WRED - RoCE v2 & FCoE - CoPP (Control plane policing) Security Features - Storm Control, IP Source Guard Mirroring - Ingress Mirroring and Egress Mirroring - Negative Mirroring Counters - Route Table Entry Counters - VLAN/Bridge Domain Counters - Port/Interface Counters Protocol Offload - BFD, OAM Multi-chip Fabric Support - Forwarding, QOS
  • 19. Copyright © 2016 - Barefoot Networks Thank you