SlideShare a Scribd company logo
Programmable Forwarding Planes
and the
Future of Networking
Yandex Nexthop 2018
June 6, 2018
Copyright © 2018 - Barefoot Networks, Inc.
Most network systems are built “bottom-up”
Switch OS
Fixed-function switch
Driver
Datasheet
ASIC
Copyright © 2018 - Barefoot Networks, Inc.
Network systems will be programmed “top-down”
Programmable Switch
Driver
Switch OS“Precise behavior specified in P4”
Copyright © 2018 - Barefoot Networks, Inc.
Fixed Function Switches
Switch OS
Static Run-time API
Driver
Fixed Meta-Data
Traffic
Manager
Fixed
Parser
Fixed
Look
ups
Fixed
Memories
Fixed
Actio
ns
Fixed
Looku
ps
Fixed
Memories
Fixed
Action
s
Fixed
Looku
ps
Fixed
Memories
Fixed
Action
s
Fixed
Looku
ps
Fixed
Memories
Fixed
Action
s
Fixed
Packet
Mods
Fixed Function ASIC
Copyright © 2018 - Barefoot Networks, Inc.
Programmable Switch Approach
Fixed Meta-Data
Traffic
Manage
r
Fixed
Parser
Fixe
d
Look
ups
Fixed
Memories
Fixe
d
Look
ups
Fixe
d
Look
ups
Fixed
Memories
Fixe
d
Look
ups
Fixe
d
Look
ups
Fixed
Memories
Fixe
d
Look
ups
Fixe
d
Look
ups
Fixed
Memories
Fixe
d
Look
ups
Fixed
Packe
t Mods
Programmable Meta-Data
Traffic
Manager
Flexible
Parser
Flexibl
e
Looku
ps
Shared
Memories
Custo
m
Action
s
Flexibl
e
Looku
ps
Shared
Memories
Custo
m
Action
s
Flexibl
e
Looku
ps
Shared
Memories
Custo
m
Action
s
Flexibl
e
Looku
ps
Shared
Memories
Custo
m
Action
s
DeParser
Programmable ASIC
switch.p4
Protocol
Authoring
1
Compile
2
Configure
3
Auto Generated
Run-time API
Switch OS
Driver
Copyright © 2018 - Barefoot Networks, Inc.
P4 - Open and Community Owned
Original P4 Paper Authors:
P4 – Programming Language for Networking
Transport - FPGA
Routers - NPU
Server Connectivity - NIC
Leaf & Spine - Switch ASIC & ASSP
OS - Kernel Networking
Hypervisor - vSwitch
Copyright © 2018 - Barefoot Networks, Inc.
Domain Specific Processors
CPU
Computers
Java
Compiler
GPU
Graphics
OpenCL
Compiler
DSP
Signal
Processing
Matlab
Compiler
Machine
Learning
?
TPU
TensorFlow
Compiler
Networking
?
??
Compiler
>>>
Copyright © 2018 - Barefoot Networks, Inc.
Programmability Comes to Network Forwarding Plane
CPU
Computers
Java
Compiler
GPU
Graphics
OpenCL
Compiler
DSP
Signal
Processing
Matlab
Compiler
Machine
Learning
?
TPU
TensorFlow
Compiler
Tofino
(PISA)
Networking
P4
Compiler
>>>
Copyright © 2018 - Barefoot Networks, Inc.
Copyright © 2018 - Barefoot Networks, Inc.
Barefoot Tofino Summary
• State of the art design
◦ Single Shared Packet Buffer
◦ TSMC 16nm FinFET+
• Four Match+Action Pipelines
◦ Fully programmable PISA Embodiment
◦ All compiled programs run at line-rate.
◦ Programmable table scale
• Port Configurations
◦ 65 x 100GE/40GE
◦ 130 x 50GE
◦ 260 x 25GE/10GE
• CPU Interfaces
◦ PCIe: Gen3 x4/x2/x1
◦ Dedicated 100GE port
Match+Action
Pipeline 2
Match+Action
Pipeline 3
Match+Action
Pipeline 1
Match+Action
Pipeline 0
Shared
Packet
Buffer
&
TM
MAC + Serial I/O
Copyright © 2018 - Barefoot Networks, Inc.
Tofino Block Diagram
pipe 0
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
pipe 1
Rx MACs
10/25/40/50/100
Ingress
Pipeline
Tx MAC
10/25/40/50/100
pipe 2
Rx MACs
10/25/40/50/100
Ingress
Pipeline
Tx MAC
10/25/40/50/100
pipe 3
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
Pkt
Gen
Pkt
Gen
Pkt
Gen
Pkt
Gen
Copyright © 2018 - Barefoot Networks, Inc.
PISA: Protocol-Independent Switch Architecture
Match+Action
Stage (Unit)
Memory ALU
Programmable
Parser
Programmable
Deparser
Programmable Match-Action Pipeline
Programmer declares the
headers that should be
recognized and their order in
the packet
Programmer defines the
tables and the exact
processing algorithm
Programmer declares
how the output packet
will look on the wire
P4 Program
Memory ALU
Programmable
Parser Programmable Match-Action Pipeline
header_type ethernet_t { … }
header_type l2_metadata_t { … }
header ethernet_t ethernet;
header vlan_tag_t
vlan_tag[2];
metadata l2_metadata_t l2_meta;
Header and Data DeclarationsParser Program
parser parse_ethernet {
extract(ethernet);
return switch(ethernet.ethertype) {
0x8100 : parse_vlan_tag;
0x0800 : parse_ipv4;
0x8847 : parse_mpls;
default: ingress;
}
Tables and Control Flow
table port_table { … }
control ingress {
apply(port_table);
if (l2_meta.vlan_tags == 0) {
process_assign_vlan();
}
}
Copyright © 2018 - Barefoot Networks, Inc.
Copyright © 2018 - Barefoot Networks, Inc.
PISA in Action
• Packet is parsed into individual headers (parsed representation)
• Headers and intermediate results can be used for matching and actions
• Headers can be modified, added or removed
• Packet is deparsed (serialized)
Match+Action
Stage (Unit)
Programmable
Parser
Programmable
Deparser
Programmable Match-Action Pipeline
Copyright © 2018 - Barefoot Networks, Inc.
Mapping a Simple L3 Data Plane Program on PISA
Match+Action
Stage (Unit)
Programmable
Parser
Programmable
Deparser
Programmable Match-Action Pipeline
Ethernet
MAC
Address
Table
ACL
Rules
IPv4
Address
Table
L2 ACL
IPv4
IPv6
Address
Table
IPv6
Copyright © 2018 - Barefoot Networks, Inc.
Mapping a More Complex Data Plane Program on PISA
Match+Action
Stage (Unit)
Programmable
Parser
Programmable
Deparser
Programmable Match-Action Pipeline
Ethernet
MAC
Address
Table
ACL
Rules
IPv4
Address
Table
L2 ACL
IPv4
IPv6
Address
Table
IPv4
Address
Table
MPLS
Table
MPLS
IPv6
Copyright © 2018 - Barefoot Networks, Inc.
Demos
Copyright © 2018 - Barefoot Networks, Inc.
Packet & Flow Monitor
❏ Monitor every packet and produce traffic summaries
❏ Have “n” summaries in the data plane
❏ No control-plane involvement during monitoring
❏ Fetch summaries through CPU only when needed
❏ Summaries kept in a circular buffer in the data plane
❏ A summary consists:
❏ Packet size distribution
❏ Flow size distribution
❏ Number of flows
Copyright © 2018 - Barefoot Networks, Inc.
Example Implementation
compile
Control plane (Python)
Driver
configure / fetch summary (Thrift)
PD API
binary
api
program
Copyright © 2018 - Barefoot Networks, Inc.
Demo Setup
❑ Snake routing
▪ 40G server port to switch 1/0
▪ Internal loopback on all other ports
❑ Monitor traffic on port 1/0
Copyright © 2018 - Barefoot Networks, Inc.
In-band Network Telemetry
“Which path did my packet take?”1
“I visited Switch 1 @780ns,
Switch 9 @1.3µs, Switch 12 @2.4µs”
“Which rules did my packet follow?”2
“In Switch 1, I followed rules 75 and
250. In Switch 9, I followed rules 3 and
80. ”
# Rule
1
2
3
…
75 192.168.0/24
…
Copyright © 2018 - Barefoot Networks, Inc.
In-band Network Telemetry
“How long did my packet queue at each switch?”3 “Delay: 100ns, 200ns, 19740ns”
Time
Queue
“Who did my packet share the queue with?”4
Copyright © 2018 - Barefoot Networks, Inc.
Log, Analyze
Replay
How it works and how we use the data
Add: SwitchID, Arrival Time,
Queue Delay, Matched Rules, …
Original Packet
Visualize
Copyright © 2018 - Barefoot Networks, Inc.
Log, Analyze
Replay
Visualize
/* INT: add switch id */
action int_set_header_0() {
add_header(int_switch_id_header);
modify_field(int_switch_id_header.switch_id,
global_config_metadata.switch_id);
}
/* INT: add ingress timestamp */
action int_set_header_1() {
add_header(int_ingress_tstamp_header);
modify_field(int_ingress_tstamp_header.ingress_tstamp, i2e_metadata.ingress_tstamp);
}
/* INT: add egress timestamp */
action int_set_header_2() {
add_header(int_egress_tstamp_header);
modify_field(int_egress_tstamp_header.egress_tstamp,
eg_intr_md_from_parser_aux.egress_global_tstamp);
}
P4 code snippet: Insert switch ID, ingress and egress timestamp
25Copyright © 2018 - Barefoot Networks, Inc.
Copyright © 2018 - Barefoot Networks, Inc.
Copyright © 2018 - Barefoot Networks, Inc.
Copyright © 2018 - Barefoot Networks, Inc.
Programmability & Performance
P4-programmable Ethernet switch ASIC family.
6.5 Tb/s
3.3 Tb/s 2.4 Tb/s 1.9 Tb/s
Open Source P4
Programming Language
Open PISA Target
Architecture
Copyright © 2018 - Barefoot Networks, Inc.
Thank you!

More Related Content

What's hot

Stateful PCE and Segment Routing
Stateful PCE and Segment RoutingStateful PCE and Segment Routing
Stateful PCE and Segment Routing
APNIC
 
BGP Traffic Engineering / Routing Optimisation
BGP Traffic Engineering / Routing OptimisationBGP Traffic Engineering / Routing Optimisation
BGP Traffic Engineering / Routing Optimisation
Andy Davidson
 
VPP for Stateless SRv6/GTP-U Translation
VPP for Stateless SRv6/GTP-U TranslationVPP for Stateless SRv6/GTP-U Translation
VPP for Stateless SRv6/GTP-U Translation
Satoru Matsushima
 
BGP Monitoring Protocol
BGP Monitoring ProtocolBGP Monitoring Protocol
BGP Monitoring Protocol
Bertrand Duvivier
 
BGP Advance Technique by Steven & James
BGP Advance Technique by Steven & JamesBGP Advance Technique by Steven & James
BGP Advance Technique by Steven & JamesFebrian ‎
 
Troubleshooting BGP
Troubleshooting BGPTroubleshooting BGP
Troubleshooting BGP
Duane Bodle
 
Segment Routing
Segment RoutingSegment Routing
Segment Routing
APNIC
 
WAN SDN meet Segment Routing
WAN SDN meet Segment RoutingWAN SDN meet Segment Routing
WAN SDN meet Segment Routing
APNIC
 
Howto createOpenFlow Switchusing FPGA (at FPGAX#6)
Howto createOpenFlow Switchusing FPGA (at FPGAX#6)Howto createOpenFlow Switchusing FPGA (at FPGAX#6)
Howto createOpenFlow Switchusing FPGA (at FPGAX#6)
Kentaro Ebisawa
 
BGP Techniques for Network Operators
BGP Techniques for Network OperatorsBGP Techniques for Network Operators
BGP Techniques for Network Operators
APNIC
 
Rhino labs Prese4th ntation At FPGA Camp, Santa Clara, CA
Rhino labs Prese4th ntation At FPGA Camp, Santa Clara, CARhino labs Prese4th ntation At FPGA Camp, Santa Clara, CA
Rhino labs Prese4th ntation At FPGA Camp, Santa Clara, CA
FPGA Central
 
BGP Traffic Engineering with SDN Controller
BGP Traffic Engineering with SDN ControllerBGP Traffic Engineering with SDN Controller
BGP Traffic Engineering with SDN Controller
APNIC
 
Segment routing tutorial
Segment routing tutorialSegment routing tutorial
Segment routing tutorial
Yi-Sung Chiu
 
SCA_4_adoption_may2013
SCA_4_adoption_may2013SCA_4_adoption_may2013
SCA_4_adoption_may2013
ADLINK Technology IoT
 
Maximizing High Performance Applications with CAN Bus
Maximizing High Performance Applications with CAN BusMaximizing High Performance Applications with CAN Bus
Maximizing High Performance Applications with CAN Bus
Janel Heilbrunn
 
BIRD Routing Daemon
BIRD Routing DaemonBIRD Routing Daemon
BIRD Routing Daemon
APNIC
 
Routing basics/CEF
Routing basics/CEFRouting basics/CEF
Routing basics/CEF
Dmitry Figol
 
Bgp For Presentation
Bgp For PresentationBgp For Presentation
Bgp For Presentation
Alp isik
 

What's hot (20)

Stateful PCE and Segment Routing
Stateful PCE and Segment RoutingStateful PCE and Segment Routing
Stateful PCE and Segment Routing
 
BGP Traffic Engineering / Routing Optimisation
BGP Traffic Engineering / Routing OptimisationBGP Traffic Engineering / Routing Optimisation
BGP Traffic Engineering / Routing Optimisation
 
VPP for Stateless SRv6/GTP-U Translation
VPP for Stateless SRv6/GTP-U TranslationVPP for Stateless SRv6/GTP-U Translation
VPP for Stateless SRv6/GTP-U Translation
 
BGP
BGPBGP
BGP
 
BGP Monitoring Protocol
BGP Monitoring ProtocolBGP Monitoring Protocol
BGP Monitoring Protocol
 
BGP Advance Technique by Steven & James
BGP Advance Technique by Steven & JamesBGP Advance Technique by Steven & James
BGP Advance Technique by Steven & James
 
Troubleshooting BGP
Troubleshooting BGPTroubleshooting BGP
Troubleshooting BGP
 
Segment Routing
Segment RoutingSegment Routing
Segment Routing
 
WAN SDN meet Segment Routing
WAN SDN meet Segment RoutingWAN SDN meet Segment Routing
WAN SDN meet Segment Routing
 
Howto createOpenFlow Switchusing FPGA (at FPGAX#6)
Howto createOpenFlow Switchusing FPGA (at FPGAX#6)Howto createOpenFlow Switchusing FPGA (at FPGAX#6)
Howto createOpenFlow Switchusing FPGA (at FPGAX#6)
 
BGP Techniques for Network Operators
BGP Techniques for Network OperatorsBGP Techniques for Network Operators
BGP Techniques for Network Operators
 
Rhino labs Prese4th ntation At FPGA Camp, Santa Clara, CA
Rhino labs Prese4th ntation At FPGA Camp, Santa Clara, CARhino labs Prese4th ntation At FPGA Camp, Santa Clara, CA
Rhino labs Prese4th ntation At FPGA Camp, Santa Clara, CA
 
BGP Traffic Engineering with SDN Controller
BGP Traffic Engineering with SDN ControllerBGP Traffic Engineering with SDN Controller
BGP Traffic Engineering with SDN Controller
 
Segment routing tutorial
Segment routing tutorialSegment routing tutorial
Segment routing tutorial
 
Khan and morrison_dq207
Khan and morrison_dq207Khan and morrison_dq207
Khan and morrison_dq207
 
SCA_4_adoption_may2013
SCA_4_adoption_may2013SCA_4_adoption_may2013
SCA_4_adoption_may2013
 
Maximizing High Performance Applications with CAN Bus
Maximizing High Performance Applications with CAN BusMaximizing High Performance Applications with CAN Bus
Maximizing High Performance Applications with CAN Bus
 
BIRD Routing Daemon
BIRD Routing DaemonBIRD Routing Daemon
BIRD Routing Daemon
 
Routing basics/CEF
Routing basics/CEFRouting basics/CEF
Routing basics/CEF
 
Bgp For Presentation
Bgp For PresentationBgp For Presentation
Bgp For Presentation
 

Similar to Linkmeup v076 (2019-06)

IRJET- Assessment of Network Protocol Packet Analysis in IPV4 and IPV6 on Loc...
IRJET- Assessment of Network Protocol Packet Analysis in IPV4 and IPV6 on Loc...IRJET- Assessment of Network Protocol Packet Analysis in IPV4 and IPV6 on Loc...
IRJET- Assessment of Network Protocol Packet Analysis in IPV4 and IPV6 on Loc...
IRJET Journal
 
P4_tutorial.pdf
P4_tutorial.pdfP4_tutorial.pdf
P4_tutorial.pdf
PramodhN3
 
In-Memory Key Value Store (KVS) in FPGA for Ultra Low Latency and High Throug...
In-Memory Key Value Store (KVS) in FPGA for Ultra Low Latency and High Throug...In-Memory Key Value Store (KVS) in FPGA for Ultra Low Latency and High Throug...
In-Memory Key Value Store (KVS) in FPGA for Ultra Low Latency and High Throug...
Tom Diederich
 
Programmable Data Plane at Terabit Speeds
Programmable Data Plane at Terabit SpeedsProgrammable Data Plane at Terabit Speeds
Programmable Data Plane at Terabit Speeds
Barefoot Networks
 
TekTape Manual
TekTape ManualTekTape Manual
TekTape Manual
Yasin KAPLAN
 
Ccna Imp Guide
Ccna Imp GuideCcna Imp Guide
Ccna Imp Guide
abhijitgnbbl
 
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
Netronome
 
Exploring the Final Frontier of Data Center Orchestration: Network Elements -...
Exploring the Final Frontier of Data Center Orchestration: Network Elements -...Exploring the Final Frontier of Data Center Orchestration: Network Elements -...
Exploring the Final Frontier of Data Center Orchestration: Network Elements -...
Puppet
 
Introduction to Programmable Networks by Clarence Anslem, Intel
Introduction to Programmable Networks by Clarence Anslem, IntelIntroduction to Programmable Networks by Clarence Anslem, Intel
Introduction to Programmable Networks by Clarence Anslem, Intel
MyNOG
 
Approaches to Network Automation
Approaches to Network AutomationApproaches to Network Automation
Approaches to Network Automation
APNIC
 
FIWARE Global Summit - Real-time Media Stream Processing Using Kurento
FIWARE Global Summit - Real-time Media Stream Processing Using KurentoFIWARE Global Summit - Real-time Media Stream Processing Using Kurento
FIWARE Global Summit - Real-time Media Stream Processing Using Kurento
FIWARE
 
Dataplane networking acceleration with OpenDataplane / Максим Уваров (Linaro)
Dataplane networking acceleration with OpenDataplane / Максим Уваров (Linaro)Dataplane networking acceleration with OpenDataplane / Максим Уваров (Linaro)
Dataplane networking acceleration with OpenDataplane / Максим Уваров (Linaro)
Ontico
 
Apache StreamPipes – Flexible Industrial IoT Management
Apache StreamPipes – Flexible Industrial IoT ManagementApache StreamPipes – Flexible Industrial IoT Management
Apache StreamPipes – Flexible Industrial IoT Management
Apache StreamPipes
 
Wireshark Basics
Wireshark BasicsWireshark Basics
Wireshark Basics
Yoram Orzach
 
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
PROIDEA
 
JCConf 2022 - New Features in Java 18 & 19
JCConf 2022 - New Features in Java 18 & 19JCConf 2022 - New Features in Java 18 & 19
JCConf 2022 - New Features in Java 18 & 19
Joseph Kuo
 
Next Gen Monitoring with INT
Next Gen Monitoring with INTNext Gen Monitoring with INT
Next Gen Monitoring with INT
MyNOG
 
Command.pptx presentation
Command.pptx presentationCommand.pptx presentation
Command.pptx presentation
Akshay193557
 
Arp config-arp
Arp config-arpArp config-arp
Arp config-arp
Raafat younis
 

Similar to Linkmeup v076 (2019-06) (20)

IRJET- Assessment of Network Protocol Packet Analysis in IPV4 and IPV6 on Loc...
IRJET- Assessment of Network Protocol Packet Analysis in IPV4 and IPV6 on Loc...IRJET- Assessment of Network Protocol Packet Analysis in IPV4 and IPV6 on Loc...
IRJET- Assessment of Network Protocol Packet Analysis in IPV4 and IPV6 on Loc...
 
P4_tutorial.pdf
P4_tutorial.pdfP4_tutorial.pdf
P4_tutorial.pdf
 
In-Memory Key Value Store (KVS) in FPGA for Ultra Low Latency and High Throug...
In-Memory Key Value Store (KVS) in FPGA for Ultra Low Latency and High Throug...In-Memory Key Value Store (KVS) in FPGA for Ultra Low Latency and High Throug...
In-Memory Key Value Store (KVS) in FPGA for Ultra Low Latency and High Throug...
 
project_docs
project_docsproject_docs
project_docs
 
Programmable Data Plane at Terabit Speeds
Programmable Data Plane at Terabit SpeedsProgrammable Data Plane at Terabit Speeds
Programmable Data Plane at Terabit Speeds
 
TekTape Manual
TekTape ManualTekTape Manual
TekTape Manual
 
Ccna Imp Guide
Ccna Imp GuideCcna Imp Guide
Ccna Imp Guide
 
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
 
Exploring the Final Frontier of Data Center Orchestration: Network Elements -...
Exploring the Final Frontier of Data Center Orchestration: Network Elements -...Exploring the Final Frontier of Data Center Orchestration: Network Elements -...
Exploring the Final Frontier of Data Center Orchestration: Network Elements -...
 
Introduction to Programmable Networks by Clarence Anslem, Intel
Introduction to Programmable Networks by Clarence Anslem, IntelIntroduction to Programmable Networks by Clarence Anslem, Intel
Introduction to Programmable Networks by Clarence Anslem, Intel
 
Approaches to Network Automation
Approaches to Network AutomationApproaches to Network Automation
Approaches to Network Automation
 
FIWARE Global Summit - Real-time Media Stream Processing Using Kurento
FIWARE Global Summit - Real-time Media Stream Processing Using KurentoFIWARE Global Summit - Real-time Media Stream Processing Using Kurento
FIWARE Global Summit - Real-time Media Stream Processing Using Kurento
 
Dataplane networking acceleration with OpenDataplane / Максим Уваров (Linaro)
Dataplane networking acceleration with OpenDataplane / Максим Уваров (Linaro)Dataplane networking acceleration with OpenDataplane / Максим Уваров (Linaro)
Dataplane networking acceleration with OpenDataplane / Максим Уваров (Linaro)
 
Apache StreamPipes – Flexible Industrial IoT Management
Apache StreamPipes – Flexible Industrial IoT ManagementApache StreamPipes – Flexible Industrial IoT Management
Apache StreamPipes – Flexible Industrial IoT Management
 
Wireshark Basics
Wireshark BasicsWireshark Basics
Wireshark Basics
 
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
 
JCConf 2022 - New Features in Java 18 & 19
JCConf 2022 - New Features in Java 18 & 19JCConf 2022 - New Features in Java 18 & 19
JCConf 2022 - New Features in Java 18 & 19
 
Next Gen Monitoring with INT
Next Gen Monitoring with INTNext Gen Monitoring with INT
Next Gen Monitoring with INT
 
Command.pptx presentation
Command.pptx presentationCommand.pptx presentation
Command.pptx presentation
 
Arp config-arp
Arp config-arpArp config-arp
Arp config-arp
 

More from eucariot

Linkmeup v076(2019-06).3
Linkmeup v076(2019-06).3Linkmeup v076(2019-06).3
Linkmeup v076(2019-06).3
eucariot
 
Stc metrotek plum_space_smart_sfp_linkmeup_01
Stc metrotek plum_space_smart_sfp_linkmeup_01Stc metrotek plum_space_smart_sfp_linkmeup_01
Stc metrotek plum_space_smart_sfp_linkmeup_01
eucariot
 
Linkmeup #73
Linkmeup #73Linkmeup #73
Linkmeup #73
eucariot
 
linkmeup-V069 (2018-11) Azure. Cloud network Infrustructure
linkmeup-V069 (2018-11) Azure. Cloud network Infrustructurelinkmeup-V069 (2018-11) Azure. Cloud network Infrustructure
linkmeup-V069 (2018-11) Azure. Cloud network Infrustructure
eucariot
 
Linkmeup v061 (2018-03)
Linkmeup v061 (2018-03)Linkmeup v061 (2018-03)
Linkmeup v061 (2018-03)
eucariot
 
llinkmeup #59 DWDM. Плотность света
llinkmeup #59 DWDM. Плотность светаllinkmeup #59 DWDM. Плотность света
llinkmeup #59 DWDM. Плотность света
eucariot
 
linkmeup-058. SDN. Cisco ACI
linkmeup-058. SDN. Cisco ACIlinkmeup-058. SDN. Cisco ACI
linkmeup-058. SDN. Cisco ACI
eucariot
 
linkmeup #53. Ngfw soc
linkmeup #53. Ngfw soclinkmeup #53. Ngfw soc
linkmeup #53. Ngfw soc
eucariot
 
Немного про бесшовный роуминг и Wi fi на уровне l1-l2 osi
Немного про бесшовный роуминг и Wi fi на уровне l1-l2 osiНемного про бесшовный роуминг и Wi fi на уровне l1-l2 osi
Немного про бесшовный роуминг и Wi fi на уровне l1-l2 osi
eucariot
 
Openstack essentials and Networking component
Openstack essentials and Networking componentOpenstack essentials and Networking component
Openstack essentials and Networking component
eucariot
 
Linkmeup
LinkmeupLinkmeup
Linkmeup
eucariot
 
Linkmeup #41 (2016-07) НТЦ Метротек. SoC
Linkmeup #41 (2016-07) НТЦ Метротек. SoCLinkmeup #41 (2016-07) НТЦ Метротек. SoC
Linkmeup #41 (2016-07) НТЦ Метротек. SoC
eucariot
 
SoC, Ethernet testers
SoC, Ethernet testersSoC, Ethernet testers
SoC, Ethernet testers
eucariot
 
Есть ли жизнь в Enterprise
Есть ли жизнь в EnterpriseЕсть ли жизнь в Enterprise
Есть ли жизнь в Enterprise
eucariot
 
решения по построению сетей передачи данных фнс полигон 2015
решения по построению сетей передачи данных фнс   полигон 2015решения по построению сетей передачи данных фнс   полигон 2015
решения по построению сетей передачи данных фнс полигон 2015
eucariot
 
сетевые и телекоммуникационные решения для нефтегазовой отрасли
сетевые и телекоммуникационные решения для нефтегазовой отраслисетевые и телекоммуникационные решения для нефтегазовой отрасли
сетевые и телекоммуникационные решения для нефтегазовой отрасли
eucariot
 
полигон импортозамещение для промпредприятий 2015 v11
полигон импортозамещение для промпредприятий 2015 v11полигон импортозамещение для промпредприятий 2015 v11
полигон импортозамещение для промпредприятий 2015 v11
eucariot
 
Plgn 2015-ru-web
Plgn 2015-ru-webPlgn 2015-ru-web
Plgn 2015-ru-web
eucariot
 
Unl intro presentation fin
Unl intro presentation finUnl intro presentation fin
Unl intro presentation fin
eucariot
 
STP family and alternative protocols for L2
STP family and alternative protocols for L2STP family and alternative protocols for L2
STP family and alternative protocols for L2
eucariot
 

More from eucariot (20)

Linkmeup v076(2019-06).3
Linkmeup v076(2019-06).3Linkmeup v076(2019-06).3
Linkmeup v076(2019-06).3
 
Stc metrotek plum_space_smart_sfp_linkmeup_01
Stc metrotek plum_space_smart_sfp_linkmeup_01Stc metrotek plum_space_smart_sfp_linkmeup_01
Stc metrotek plum_space_smart_sfp_linkmeup_01
 
Linkmeup #73
Linkmeup #73Linkmeup #73
Linkmeup #73
 
linkmeup-V069 (2018-11) Azure. Cloud network Infrustructure
linkmeup-V069 (2018-11) Azure. Cloud network Infrustructurelinkmeup-V069 (2018-11) Azure. Cloud network Infrustructure
linkmeup-V069 (2018-11) Azure. Cloud network Infrustructure
 
Linkmeup v061 (2018-03)
Linkmeup v061 (2018-03)Linkmeup v061 (2018-03)
Linkmeup v061 (2018-03)
 
llinkmeup #59 DWDM. Плотность света
llinkmeup #59 DWDM. Плотность светаllinkmeup #59 DWDM. Плотность света
llinkmeup #59 DWDM. Плотность света
 
linkmeup-058. SDN. Cisco ACI
linkmeup-058. SDN. Cisco ACIlinkmeup-058. SDN. Cisco ACI
linkmeup-058. SDN. Cisco ACI
 
linkmeup #53. Ngfw soc
linkmeup #53. Ngfw soclinkmeup #53. Ngfw soc
linkmeup #53. Ngfw soc
 
Немного про бесшовный роуминг и Wi fi на уровне l1-l2 osi
Немного про бесшовный роуминг и Wi fi на уровне l1-l2 osiНемного про бесшовный роуминг и Wi fi на уровне l1-l2 osi
Немного про бесшовный роуминг и Wi fi на уровне l1-l2 osi
 
Openstack essentials and Networking component
Openstack essentials and Networking componentOpenstack essentials and Networking component
Openstack essentials and Networking component
 
Linkmeup
LinkmeupLinkmeup
Linkmeup
 
Linkmeup #41 (2016-07) НТЦ Метротек. SoC
Linkmeup #41 (2016-07) НТЦ Метротек. SoCLinkmeup #41 (2016-07) НТЦ Метротек. SoC
Linkmeup #41 (2016-07) НТЦ Метротек. SoC
 
SoC, Ethernet testers
SoC, Ethernet testersSoC, Ethernet testers
SoC, Ethernet testers
 
Есть ли жизнь в Enterprise
Есть ли жизнь в EnterpriseЕсть ли жизнь в Enterprise
Есть ли жизнь в Enterprise
 
решения по построению сетей передачи данных фнс полигон 2015
решения по построению сетей передачи данных фнс   полигон 2015решения по построению сетей передачи данных фнс   полигон 2015
решения по построению сетей передачи данных фнс полигон 2015
 
сетевые и телекоммуникационные решения для нефтегазовой отрасли
сетевые и телекоммуникационные решения для нефтегазовой отраслисетевые и телекоммуникационные решения для нефтегазовой отрасли
сетевые и телекоммуникационные решения для нефтегазовой отрасли
 
полигон импортозамещение для промпредприятий 2015 v11
полигон импортозамещение для промпредприятий 2015 v11полигон импортозамещение для промпредприятий 2015 v11
полигон импортозамещение для промпредприятий 2015 v11
 
Plgn 2015-ru-web
Plgn 2015-ru-webPlgn 2015-ru-web
Plgn 2015-ru-web
 
Unl intro presentation fin
Unl intro presentation finUnl intro presentation fin
Unl intro presentation fin
 
STP family and alternative protocols for L2
STP family and alternative protocols for L2STP family and alternative protocols for L2
STP family and alternative protocols for L2
 

Recently uploaded

Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
Adtran
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
Matthew Sinclair
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
DianaGray10
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
Aftab Hussain
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
KAMESHS29
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
Ana-Maria Mihalceanu
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems S.M.S.A.
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
Kari Kakkonen
 
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
SOFTTECHHUB
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Paige Cruz
 
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex ProofszkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
Alex Pruden
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptxSecstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
nkrafacyberclub
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
Matthew Sinclair
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
Pierluigi Pugliese
 

Recently uploaded (20)

Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
 
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
 
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex ProofszkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptxSecstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
 

Linkmeup v076 (2019-06)

  • 1. Programmable Forwarding Planes and the Future of Networking Yandex Nexthop 2018 June 6, 2018 Copyright © 2018 - Barefoot Networks, Inc.
  • 2. Most network systems are built “bottom-up” Switch OS Fixed-function switch Driver Datasheet ASIC Copyright © 2018 - Barefoot Networks, Inc.
  • 3. Network systems will be programmed “top-down” Programmable Switch Driver Switch OS“Precise behavior specified in P4” Copyright © 2018 - Barefoot Networks, Inc.
  • 4. Fixed Function Switches Switch OS Static Run-time API Driver Fixed Meta-Data Traffic Manager Fixed Parser Fixed Look ups Fixed Memories Fixed Actio ns Fixed Looku ps Fixed Memories Fixed Action s Fixed Looku ps Fixed Memories Fixed Action s Fixed Looku ps Fixed Memories Fixed Action s Fixed Packet Mods Fixed Function ASIC Copyright © 2018 - Barefoot Networks, Inc.
  • 5. Programmable Switch Approach Fixed Meta-Data Traffic Manage r Fixed Parser Fixe d Look ups Fixed Memories Fixe d Look ups Fixe d Look ups Fixed Memories Fixe d Look ups Fixe d Look ups Fixed Memories Fixe d Look ups Fixe d Look ups Fixed Memories Fixe d Look ups Fixed Packe t Mods Programmable Meta-Data Traffic Manager Flexible Parser Flexibl e Looku ps Shared Memories Custo m Action s Flexibl e Looku ps Shared Memories Custo m Action s Flexibl e Looku ps Shared Memories Custo m Action s Flexibl e Looku ps Shared Memories Custo m Action s DeParser Programmable ASIC switch.p4 Protocol Authoring 1 Compile 2 Configure 3 Auto Generated Run-time API Switch OS Driver Copyright © 2018 - Barefoot Networks, Inc.
  • 6. P4 - Open and Community Owned Original P4 Paper Authors:
  • 7. P4 – Programming Language for Networking Transport - FPGA Routers - NPU Server Connectivity - NIC Leaf & Spine - Switch ASIC & ASSP OS - Kernel Networking Hypervisor - vSwitch Copyright © 2018 - Barefoot Networks, Inc.
  • 9. Programmability Comes to Network Forwarding Plane CPU Computers Java Compiler GPU Graphics OpenCL Compiler DSP Signal Processing Matlab Compiler Machine Learning ? TPU TensorFlow Compiler Tofino (PISA) Networking P4 Compiler >>> Copyright © 2018 - Barefoot Networks, Inc.
  • 10. Copyright © 2018 - Barefoot Networks, Inc. Barefoot Tofino Summary • State of the art design ◦ Single Shared Packet Buffer ◦ TSMC 16nm FinFET+ • Four Match+Action Pipelines ◦ Fully programmable PISA Embodiment ◦ All compiled programs run at line-rate. ◦ Programmable table scale • Port Configurations ◦ 65 x 100GE/40GE ◦ 130 x 50GE ◦ 260 x 25GE/10GE • CPU Interfaces ◦ PCIe: Gen3 x4/x2/x1 ◦ Dedicated 100GE port Match+Action Pipeline 2 Match+Action Pipeline 3 Match+Action Pipeline 1 Match+Action Pipeline 0 Shared Packet Buffer & TM MAC + Serial I/O
  • 11. Copyright © 2018 - Barefoot Networks, Inc. Tofino Block Diagram pipe 0 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 pipe 1 Rx MACs 10/25/40/50/100 Ingress Pipeline Tx MAC 10/25/40/50/100 pipe 2 Rx MACs 10/25/40/50/100 Ingress Pipeline Tx MAC 10/25/40/50/100 pipe 3 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 Pkt Gen Pkt Gen Pkt Gen Pkt Gen
  • 12. Copyright © 2018 - Barefoot Networks, Inc. PISA: Protocol-Independent Switch Architecture Match+Action Stage (Unit) Memory ALU Programmable Parser Programmable Deparser Programmable Match-Action Pipeline Programmer declares the headers that should be recognized and their order in the packet Programmer defines the tables and the exact processing algorithm Programmer declares how the output packet will look on the wire
  • 13. P4 Program Memory ALU Programmable Parser Programmable Match-Action Pipeline header_type ethernet_t { … } header_type l2_metadata_t { … } header ethernet_t ethernet; header vlan_tag_t vlan_tag[2]; metadata l2_metadata_t l2_meta; Header and Data DeclarationsParser Program parser parse_ethernet { extract(ethernet); return switch(ethernet.ethertype) { 0x8100 : parse_vlan_tag; 0x0800 : parse_ipv4; 0x8847 : parse_mpls; default: ingress; } Tables and Control Flow table port_table { … } control ingress { apply(port_table); if (l2_meta.vlan_tags == 0) { process_assign_vlan(); } } Copyright © 2018 - Barefoot Networks, Inc.
  • 14. Copyright © 2018 - Barefoot Networks, Inc. PISA in Action • Packet is parsed into individual headers (parsed representation) • Headers and intermediate results can be used for matching and actions • Headers can be modified, added or removed • Packet is deparsed (serialized) Match+Action Stage (Unit) Programmable Parser Programmable Deparser Programmable Match-Action Pipeline
  • 15. Copyright © 2018 - Barefoot Networks, Inc. Mapping a Simple L3 Data Plane Program on PISA Match+Action Stage (Unit) Programmable Parser Programmable Deparser Programmable Match-Action Pipeline Ethernet MAC Address Table ACL Rules IPv4 Address Table L2 ACL IPv4 IPv6 Address Table IPv6
  • 16. Copyright © 2018 - Barefoot Networks, Inc. Mapping a More Complex Data Plane Program on PISA Match+Action Stage (Unit) Programmable Parser Programmable Deparser Programmable Match-Action Pipeline Ethernet MAC Address Table ACL Rules IPv4 Address Table L2 ACL IPv4 IPv6 Address Table IPv4 Address Table MPLS Table MPLS IPv6
  • 17. Copyright © 2018 - Barefoot Networks, Inc. Demos
  • 18. Copyright © 2018 - Barefoot Networks, Inc. Packet & Flow Monitor ❏ Monitor every packet and produce traffic summaries ❏ Have “n” summaries in the data plane ❏ No control-plane involvement during monitoring ❏ Fetch summaries through CPU only when needed ❏ Summaries kept in a circular buffer in the data plane ❏ A summary consists: ❏ Packet size distribution ❏ Flow size distribution ❏ Number of flows
  • 19. Copyright © 2018 - Barefoot Networks, Inc. Example Implementation compile Control plane (Python) Driver configure / fetch summary (Thrift) PD API binary api program
  • 20. Copyright © 2018 - Barefoot Networks, Inc. Demo Setup ❑ Snake routing ▪ 40G server port to switch 1/0 ▪ Internal loopback on all other ports ❑ Monitor traffic on port 1/0
  • 21. Copyright © 2018 - Barefoot Networks, Inc.
  • 22. In-band Network Telemetry “Which path did my packet take?”1 “I visited Switch 1 @780ns, Switch 9 @1.3µs, Switch 12 @2.4µs” “Which rules did my packet follow?”2 “In Switch 1, I followed rules 75 and 250. In Switch 9, I followed rules 3 and 80. ” # Rule 1 2 3 … 75 192.168.0/24 … Copyright © 2018 - Barefoot Networks, Inc.
  • 23. In-band Network Telemetry “How long did my packet queue at each switch?”3 “Delay: 100ns, 200ns, 19740ns” Time Queue “Who did my packet share the queue with?”4 Copyright © 2018 - Barefoot Networks, Inc.
  • 24. Log, Analyze Replay How it works and how we use the data Add: SwitchID, Arrival Time, Queue Delay, Matched Rules, … Original Packet Visualize Copyright © 2018 - Barefoot Networks, Inc.
  • 25. Log, Analyze Replay Visualize /* INT: add switch id */ action int_set_header_0() { add_header(int_switch_id_header); modify_field(int_switch_id_header.switch_id, global_config_metadata.switch_id); } /* INT: add ingress timestamp */ action int_set_header_1() { add_header(int_ingress_tstamp_header); modify_field(int_ingress_tstamp_header.ingress_tstamp, i2e_metadata.ingress_tstamp); } /* INT: add egress timestamp */ action int_set_header_2() { add_header(int_egress_tstamp_header); modify_field(int_egress_tstamp_header.egress_tstamp, eg_intr_md_from_parser_aux.egress_global_tstamp); } P4 code snippet: Insert switch ID, ingress and egress timestamp 25Copyright © 2018 - Barefoot Networks, Inc.
  • 26. Copyright © 2018 - Barefoot Networks, Inc.
  • 27. Copyright © 2018 - Barefoot Networks, Inc.
  • 28. Copyright © 2018 - Barefoot Networks, Inc.
  • 29. Programmability & Performance P4-programmable Ethernet switch ASIC family. 6.5 Tb/s 3.3 Tb/s 2.4 Tb/s 1.9 Tb/s Open Source P4 Programming Language Open PISA Target Architecture Copyright © 2018 - Barefoot Networks, Inc.