SlideShare une entreprise Scribd logo
1  sur  19
Télécharger pour lire hors ligne
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

Contenu connexe

Tendances

Packet Analysis - Course Technology Computing Conference
Packet Analysis - Course Technology Computing ConferencePacket Analysis - Course Technology Computing Conference
Packet Analysis - Course Technology Computing Conference
Cengage Learning
 

Tendances (20)

Stacks and Layers: Integrating P4, C, OVS and OpenStack
Stacks and Layers: Integrating P4, C, OVS and OpenStackStacks and Layers: Integrating P4, C, OVS and OpenStack
Stacks and Layers: Integrating P4, C, OVS and OpenStack
 
Programming Protocol-Independent Packet Processors
Programming Protocol-Independent Packet ProcessorsProgramming Protocol-Independent Packet Processors
Programming Protocol-Independent Packet Processors
 
Protecting the Privacy of the Network – Using P4 to Prototype and Extend Netw...
Protecting the Privacy of the Network – Using P4 to Prototype and Extend Netw...Protecting the Privacy of the Network – Using P4 to Prototype and Extend Netw...
Protecting the Privacy of the Network – Using P4 to Prototype and Extend Netw...
 
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
 
OpenContrail, Real Speed: Offloading vRouter
OpenContrail, Real Speed: Offloading vRouterOpenContrail, Real Speed: Offloading vRouter
OpenContrail, Real Speed: Offloading vRouter
 
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
 
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
 
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
 
IPv6 Entreprise Multihoming
IPv6 Entreprise MultihomingIPv6 Entreprise Multihoming
IPv6 Entreprise Multihoming
 
Network Measurement with P4 and C on Netronome Agilio
Network Measurement with P4 and C on Netronome AgilioNetwork Measurement with P4 and C on Netronome Agilio
Network Measurement with P4 and C on Netronome Agilio
 
P4-based VNF and Micro-VNF Chaining for Servers With Intelligent Server Adapters
P4-based VNF and Micro-VNF Chaining for Servers With Intelligent Server AdaptersP4-based VNF and Micro-VNF Chaining for Servers With Intelligent Server Adapters
P4-based VNF and Micro-VNF Chaining for Servers With Intelligent Server Adapters
 
BGP Advanced topics
BGP Advanced topicsBGP Advanced topics
BGP Advanced topics
 
Packet Analysis - Course Technology Computing Conference
Packet Analysis - Course Technology Computing ConferencePacket Analysis - Course Technology Computing Conference
Packet Analysis - Course Technology Computing Conference
 
Sanitizing PCAPs
Sanitizing PCAPsSanitizing PCAPs
Sanitizing PCAPs
 
ACIT Mumbai - OSI Model
ACIT Mumbai - OSI ModelACIT Mumbai - OSI Model
ACIT Mumbai - OSI Model
 
Performance test
Performance testPerformance test
Performance test
 
Compiling P4 to XDP, IOVISOR Summit 2017
Compiling P4 to XDP, IOVISOR Summit 2017Compiling P4 to XDP, IOVISOR Summit 2017
Compiling P4 to XDP, IOVISOR Summit 2017
 
Innovation is back in the transport and network layers
Innovation is back in the transport and network layersInnovation is back in the transport and network layers
Innovation is back in the transport and network layers
 
Consensus as a Network Service
Consensus as a Network ServiceConsensus as a Network Service
Consensus as a Network Service
 
FD.io - The Universal Dataplane
FD.io - The Universal DataplaneFD.io - The Universal Dataplane
FD.io - The Universal Dataplane
 

Similaire à Programmable Data Plane at Terabit Speeds

A10_CompactTrainingv5.pdf (1).pdf
A10_CompactTrainingv5.pdf (1).pdfA10_CompactTrainingv5.pdf (1).pdf
A10_CompactTrainingv5.pdf (1).pdf
neoalt
 
Verification of the QorIQ Communication Platform Containing CoreNet Fabric wi...
Verification of the QorIQ Communication Platform Containing CoreNet Fabric wi...Verification of the QorIQ Communication Platform Containing CoreNet Fabric wi...
Verification of the QorIQ Communication Platform Containing CoreNet Fabric wi...
DVClub
 
Kauli SSPにおけるVyOSの導入事例
Kauli SSPにおけるVyOSの導入事例Kauli SSPにおけるVyOSの導入事例
Kauli SSPにおけるVyOSの導入事例
Kazuhito Ohkawa
 

Similaire à Programmable Data Plane at Terabit Speeds (20)

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

Dernier

Dernier (20)

Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
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)
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdf
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 

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