Programmable Data Plane at Terabit Speeds
-
Upload
barefoot-networks -
Category
Technology
-
view
363 -
download
0
Transcript of Programmable Data Plane at Terabit Speeds
![Page 1: Programmable Data Plane at Terabit Speeds](https://reader030.fdocuments.us/reader030/viewer/2022021420/586fe7e61a28ab92198b4689/html5/thumbnails/1.jpg)
Copyright © 2016 - Barefoot Networks
Programmable Data Plane at Terabit Speeds
Vladimir Gurevich
![Page 2: Programmable Data Plane at Terabit Speeds](https://reader030.fdocuments.us/reader030/viewer/2022021420/586fe7e61a28ab92198b4689/html5/thumbnails/2.jpg)
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 PlaneConfiguration CLI/GUI/SNMP...
Control PlaneProtocol Stacks Port
Mgmt
Platform Mgmt
OSPF
STPIS-IS
PIM-SM
BGP
Data PlanePacket Forwarding
![Page 3: Programmable Data Plane at Terabit Speeds](https://reader030.fdocuments.us/reader030/viewer/2022021420/586fe7e61a28ab92198b4689/html5/thumbnails/3.jpg)
Copyright © 2016 - Barefoot Networks
Switch OS
Run-time APIDriver
“This is how I know toprocess packets”
(i.e. the ASIC datasheetmakes the rules)
Fixed-function ASIC
Bottoms-up network element design
Network Demands
3
![Page 4: Programmable Data Plane at Terabit Speeds](https://reader030.fdocuments.us/reader030/viewer/2022021420/586fe7e61a28ab92198b4689/html5/thumbnails/4.jpg)
Copyright © 2016 - Barefoot Networks
Switch OS
Run-time APIDriver
“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
![Page 5: Programmable Data Plane at Terabit Speeds](https://reader030.fdocuments.us/reader030/viewer/2022021420/586fe7e61a28ab92198b4689/html5/thumbnails/5.jpg)
Copyright © 2016 - Barefoot Networks
Fixed Function Switches
SwitchOS
StaticRun-timeAPIDriver
Fixed Meta-Data
Traffic Manager
Fixed Parser
Fixe
d Lo
okup
s
Fixed Memories
Fixe
d Ac
tions
Fixe
d Lo
okup
s
Fixed Memories
Fixe
d Ac
tions
Fixe
d Lo
okup
s
Fixed Memories
Fixe
d Ac
tions
Fixe
d Lo
okup
s
Fixed Memories
Fixe
d Ac
tions
Fixed Packet Mods
Fixed Function ASIC
5
![Page 6: Programmable Data Plane at Terabit Speeds](https://reader030.fdocuments.us/reader030/viewer/2022021420/586fe7e61a28ab92198b4689/html5/thumbnails/6.jpg)
Copyright © 2016 - Barefoot Networks
Programmable Switch Approach
Fixed Meta-Data
Traffic Manag
er
Fixed Parser
Fixe
d Lo
oku
ps
Fixed Memories
Fixe
d Lo
oku
ps
Fixe
d Lo
oku
ps
Fixed Memories
Fixe
d Lo
oku
ps
Fixe
d Lo
oku
ps
Fixed Memories
Fixe
d Lo
oku
ps
Fixe
d Lo
oku
ps
Fixed Memories
Fixe
d Lo
oku
ps Fixed Packe
t Mods
Programmable Meta-Data
Traffic Manager
Prog
ram
mab
lePa
rser Fl
exib
le
Look
ups
SharedMemories
Cus
tom
Actio
ns
Flex
ible
Look
ups
SharedMemories
Cus
tom
Actio
ns
Flex
ible
Lo
okup
s
SharedMemories
Cus
tom
Actio
ns
Flex
ible
Look
ups
SharedMemories
Cus
tom
Actio
ns
DeP
arse
r
Programmable ASIC
switch.p4
ProtocolAuthoring
1
Compile2
Configure3
AutoGeneratedRun-timeAPI
6
![Page 7: Programmable Data Plane at Terabit Speeds](https://reader030.fdocuments.us/reader030/viewer/2022021420/586fe7e61a28ab92198b4689/html5/thumbnails/7.jpg)
Copyright © 2016 - Barefoot Networks
Result: Customer Defined Switch
SwitchOS
Driver
User Defined Meta-Data
Traffic ManagerU
ser
Def
ined
Pars
er Use
r D
efin
edLo
okup
s
User DefinedTables
Use
r D
efin
edAc
tions
Use
r D
efin
ed
Look
ups
User Defined Tables
Use
r D
efin
edAc
tions
Use
r D
efin
edLo
okup
s
User DefinedTables
Use
r D
efin
edAc
tions
Use
r D
efin
ed
Look
ups
User Defined Tables
Use
r D
efin
ed
Actio
ns
Use
r D
efin
ed
DeP
arse
r
Programmable ASIC : User Defined Forwarding Plane
Run!4
Add/deletetablerulesAutoGeneratedRun-timeAPI
7
![Page 8: Programmable Data Plane at Terabit Speeds](https://reader030.fdocuments.us/reader030/viewer/2022021420/586fe7e61a28ab92198b4689/html5/thumbnails/8.jpg)
Copyright © 2016 - Barefoot Networks
Match-Action Packet Processing Concept
8
Prog
ram
mab
lePa
rser
MatchMemory
ActionALU
![Page 9: Programmable Data Plane at Terabit Speeds](https://reader030.fdocuments.us/reader030/viewer/2022021420/586fe7e61a28ab92198b4689/html5/thumbnails/9.jpg)
Copyright © 2016 - Barefoot Networks 9
Prog
ram
mab
lePa
rser
PISA: Protocol Independent Switch Architecture
Ingress EgressBuffer
![Page 10: Programmable Data Plane at Terabit Speeds](https://reader030.fdocuments.us/reader030/viewer/2022021420/586fe7e61a28ab92198b4689/html5/thumbnails/10.jpg)
Copyright © 2016 - Barefoot Networks 10
Prog
ram
mab
lePa
rser
PISA: Protocol Independent Switch ArchitectureMix of SRAM and TCAM for: lookup tables, counters, meters, Bloom filters ALUs for: Standard Boolean and Arithmetic
Operations & add/delete fields, hashes
Recirculation
ProgrammablePacketGenerator
![Page 11: Programmable Data Plane at Terabit Speeds](https://reader030.fdocuments.us/reader030/viewer/2022021420/586fe7e61a28ab92198b4689/html5/thumbnails/11.jpg)
Copyright © 2016 - Barefoot Networks
What Happens Inside?
Queues
Prog
ram
mab
lePa
rser
CLK
… … … …
Match Table (SRAM or TCAM)
Cross Bar
PHV(Packet Header Vector) PHV’
action
11
![Page 12: Programmable Data Plane at Terabit Speeds](https://reader030.fdocuments.us/reader030/viewer/2022021420/586fe7e61a28ab92198b4689/html5/thumbnails/12.jpg)
Copyright © 2016 - Barefoot Networks
P4 Visualizations (PHV Allocation)
12
![Page 13: Programmable Data Plane at Terabit Speeds](https://reader030.fdocuments.us/reader030/viewer/2022021420/586fe7e61a28ab92198b4689/html5/thumbnails/13.jpg)
Copyright © 2016 - Barefoot Networks
P4 Visualizations (Resource Allocation)
13
![Page 14: Programmable Data Plane at Terabit Speeds](https://reader030.fdocuments.us/reader030/viewer/2022021420/586fe7e61a28ab92198b4689/html5/thumbnails/14.jpg)
Copyright © 2016 - Barefoot Networks
P4 Visualizations (Resource Usage Summary)
14
![Page 15: Programmable Data Plane at Terabit Speeds](https://reader030.fdocuments.us/reader030/viewer/2022021420/586fe7e61a28ab92198b4689/html5/thumbnails/15.jpg)
Copyright © 2016 - Barefoot Networks
Tofino Block Diagram
Rx MACs10/25/40/50/100
IngressPipeline
Tx MAC10/25/40/50/100
Control & Configuration
Reset / Clocks PCIe CPU
MACDMA
engines
Rx MACs10/25/40/50/100
IngressPipeline
Tx MAC10/25/40/50/100
Rx MACs10/25/40/50/100
IngressPipeline
Tx MAC10/25/40/50/100
Rx MACs10/25/40/50/100
IngressPipeline
Tx MAC10/25/40/50/100
Traffic Manager
EgressPipeline
EgressPipeline
EgressPipeline
EgressPipeline
![Page 16: Programmable Data Plane at Terabit Speeds](https://reader030.fdocuments.us/reader030/viewer/2022021420/586fe7e61a28ab92198b4689/html5/thumbnails/16.jpg)
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)
ASICModel
BarefootCompiler
& Dev. Tools
Add/delete table rulesat run time
Behavioral Model
![Page 17: Programmable Data Plane at Terabit Speeds](https://reader030.fdocuments.us/reader030/viewer/2022021420/586fe7e61a28ab92198b4689/html5/thumbnails/17.jpg)
Copyright © 2016 - Barefoot Networks
Reference P4 Program + Your
Custom Features
BarefootCompiler
& 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
Packet Test Framew
ork
![Page 18: Programmable Data Plane at Terabit Speeds](https://reader030.fdocuments.us/reader030/viewer/2022021420/586fe7e61a28ab92198b4689/html5/thumbnails/18.jpg)
Copyright © 2016 - Barefoot Networks
switch.p4 & switchAPI Features
18
TCP New
IPv4 IPv6
VLANEth
Parser IngressMatch+Action EgressMatch+ActionQueues
switch.p4SwitchOS
Run-timeAPIAuto-generate
Add/deletetablerules
Driver
ProtocolAuthoring
1
Compile2
Configure3
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
![Page 19: Programmable Data Plane at Terabit Speeds](https://reader030.fdocuments.us/reader030/viewer/2022021420/586fe7e61a28ab92198b4689/html5/thumbnails/19.jpg)
Copyright © 2016 - Barefoot Networks
Thank you