P4 - Language Consortium

P4 Developer Day
2018-06-06 08:00 - 18:30 UTC
A presentation by the P4 Language Consortium
Held at Stanford University on Wednesday, June 6, 2018
Special Thanks to our Sponsors:

Virtual Machine
We have created a virtual machine that has all of the software needed to complete the developer day exercises already installed. You can either download a virtual machine image or build it from source. Note that both of these procedures can take around 45 minutes depending on the speed of your network connection.

To download the virtual machine image

Install VirtualBox
https://virtualbox.org
Download virtual machine image
P4 Tutorial 2018-06-01.ova
Import virtual machine into VirtualBox
Open VirtualBox, select “File > Import Appliance”, and navigate to the downloaded file.
Boot virtual machine
Select “P4 Tutorial 2018-06-01”, and click “Start”.

To build the virtual machine from source

Install VirtualBox
https://virtualbox.org
Install Vagrant
https://vagrantup.com
Clone the tutorial repository
$ git clone https://github.com/p4lang/tutorials
Navigate to the vm directory
$ cd tutorials/vm/
Build the virtual machine
$ vagrant up

Final steps
After the machine boots, you should have a graphical desktop with all required software pre-installed, logged in as username “p4” (with password “p4”).

Slack
We will use Slack to make it easy for participants to ask the TAs questions.

Register at bit.ly/join-p4-lang-slack
Join the #d2-2018-spring channel

Pigeonhole
We will use Pigeonhole to manage questions during the panel.

Register at pigenhole.at
Enter the event code P4D2

Slides
The slides presented by the instructors at the developer day can be accessed here.
P4 Cheat Sheet
The P4 cheat sheet that was distribtued to attendees at the developer day can be accessed here.
Agenda

8:00 – 8:30am

Registration and Breakfast

8:30 – 9:00am

Technical Set-up for Hands-on LabIn order to complete the Developer Day exercises, we will distribute a virtual machine with all required software installed.

9:00 – 9:10am

Welcome and IntroductionsSpeaker: Nate Foster (Cornell University)

9:10 – 10:30am

Introduction to Data Plane ProgrammingInstructor: Stephen Ibanez (Stanford University)
Language BasicsInstructor: Stephen Ibanez (Stanford University)Session 1 will provide a hand-on introduction to P4. Students will start by implementing a “Hello World”-style application to gain an understanding of P4 concepts. The lesson will progressively introduce core language features, such as header/metadata types, packet parsers, and controls. By the end of this session, students will be able to implement a basic IP router.

10:30 – 11:00am

Break

11:00 – 12:30

P4 RuntimeInstructor: Brian O’Connor (ONF) Session 2 will cover software tools that are essential to developing P4 applications. Students will learn how to invoke the the P4 compiler, run the debugger, and start a P4 software switch. This session will also introduce the control-plane interfaces via P4 Runtime, a protocol-independent API auto-generated from the definition of a packet processing pipeline written in P4.

12:30 – 1:30pm

Lunch

1:30 – 2:00pm

Keynote: “Revisiting In-Network Control” Arvind Krishnamurthy (Washington)Abstract: Emerging programmable switches allow for flexible and reconfigurable packet processing at line rate. These emerging technologies address a key limitation with traditional SDN solutions that allow for only custom-plane customization but not data-plane customization needed by traffic management protocols that perform “in-network” control and per-packet processing.Despite their promising new functionality, reconfigurable switches are not all-powerful; they have limited state, support limited types of operations, and limit per-packet computation in order to be able to operate at line rate. In this talk, I describe how we can address these limitations by using novel approximation techniques and implement previously unrealized protocols that require in-network control. Our work thus represents a modest step towards enabling a “software defined data plane” that provides greater performance and isolation for datacenter applications.

2:00-3:00

Monitoring and DebuggingInstructor: Mina Tahmasbi Arashloo (Princeton University)Session 3 will focus on a set of labs related to network monitoring and debugging. In this session, students will gain a deeper understanding of P4 language concepts, including custom headers and intrinsic metadata. In the first exercise, students will implement Explicit Congestion Notification (ECN) to set a congestion bit in a packet header when the queue depth exceeds a threshold. In the second exercise, MRI, students will implement a simplified version of In-Band Network Telemetry to track the path that packets travel through the network.

3:00 – 3:30pm

Break

3:30 – 4:30pm

Advanced Data StructuresInstructor: Nate Foster (Cornell University)Session 4 covers advanced data structures. In this session, students will implement two data-plane applications. In the first, source routing, end-hosts specify paths through the network by using a stack of labels in the packet header. The switch must “pop” each label and forward out the appropriate interface. In the second, students will implement a network calculator. Packets containing arithmetic expressions are sent to a switch. The switch will evaluate the expressions, and return the results back to the sender.

4:30-5:30

Panel DiscussionModerator: Ben Pfaff (VMware)Panelists:

Bochra Boughzala (Kaloom)
Uyen Chau (ON.Lab)
Chris Sommers (Keysight)

5:30-6:30

Reception

5th P4 Workshop
2018-06-05 08:00 - 18:30
A Presentation by the P4 Language Consortium
Held at Stanford University on Tuesday, June 5, 2018
Special Thanks to our Sponsors:

Agenda

8:00 – 9:00am

Registration and Breakfast

9:00 – 9:20am

Welcome and Introductions Speaker: Nate Foster (Cornell University) (slides)

9:20 – 9:50am

Updates from the P4.org Working Groups

Architecture Working Group Speaker: Andy Fingerhut (Cisco Systems) (slides)
API Working Working Group Speakers: Lorenzo Vicisano (Google) and Antonin Bas (Barefoot Networks) (slides)
Applications Working Group Speakers: JK Lee (Barefoot Networks) and Mukesh Hira (VMware) (slides)

9:50 – 10:10am

Exposing Data Plane Programmability on Turn-key Network Devices Speaker and Author: Mario Baldi (Cisco Systems) (slides)

10:10 – 10:25am

Demo Lightning Talks During this session, 1-minute, 1-slide lightning talks will be presented by: Google, Netcope Technologies, University of Campinas, Eötvös Loránd University, and Open Networking Foundation (lightning talk slides found below)

10:25 – 10:55am

Break and Demo Visits

SESSION CHAIR: Mina Tahmasbi Arashloo (Princeton University)

10:55 – 11:15am

Stratum: Enabling the Next Generation of SDN Interfaces Speaker and Author: Brian O’Connor (Open Networking Foundation) (slides)

11:15 – 11:35am

A Framework for Network Intelligence Speaker and Author: Ken Duell (AT&T) (slides)

11:35 – 11:55am

Automated Test Case Generation from P4 Programs Speaker: Chris Sommers (Keysight Technologies) (slides) Co-Authors: Prasenjit Adhikary, Rudrarup Naskar, Kinshuk Mandal, Chris Sommers (Keysight Technologies)

11:55 – 12:15pm

P4C-XDP: Programming Linux Kernel Forwarding Plane Using P4 Speaker: William Tu (VMware NSBU) (slides) Co-Authors: William Tu (VMware NSBU), Mihai Bidiu (VMware Research)

12:15 – 12:30pm

Demo Lightning Talks During this session, 1-minute, 1-slide lightning talks will be presented by: Cisco Systems, Mellanox Technologies, Stanford University, Juniper Networks, Barefoot Networks, and POSTECH (lightning talk slides found below)

12:30 – 2:00pm

Lunch and Demo Visits

SESSION CHAIR: Cole Schlesinger (Barefoot Networks)

2:00 – 2:40pm

Keynote: NetChain and NetCache Speaker: Xin Jin (Johns Hopkins University) (slides) Co-Authors: Xin Jin (Johns Hopkins University, Xiaozhou Li (Barefoot Networks), Haoyu Zhang (Princeton University), Nate Foster (Cornell University), Jeongkeun Lee (Barefoot Networks), Robert Soule (USI), Changhoon Kim (Barefoot Networks), Ion Stoica (UC Berkeley)

2:40 – 3:00pm

Camus: High-Throughput Publish-Subscribe in the Forwarding Plane Speaker: Theo Jepsen (Università della Svizzera Italiana) (slides) Co-Authors: Theo Jepsen (USI), Masoud Moshref (Barefoot Networks), Antonio Carzaniga (USI), Nate Foster (Cornell University), Xiaozhou Li (Barefoot Networks), Milad Sharif (Barefoot Networks), Robert Soule (USI)

3:00 – 3:20pm

Fast Reroute in P4: Keep Calm and Enjoy Programmability Speaker: Marco Chiesa (KTH Royal Institute of Technology) (slides) Co-Authors: Roshan Sedar (Universite catholique de Louvain), Michael Borokhovich (Independent Researcher), Gianni Antichi (University of Cambridge), Marco Chiesa (KTH Royal Institute of Technology), Stefan Schmid (University of Vienna)

3:20 – 3:55pm

Break and Demo Visits

SESSION CHAIR: Sujata Banerjee (VMware)

3:55 – 4:15pm

Enabling Event Triggered Monitoring of Traffic Clusters Speaker: Gianni Antichi (University of Cambridge) (slides) Co-Authors: Jan Kucera (CESNET), Diana Popescu (University of Cambridge), Gianni Antichi, Jan Korenek (Brno University of Technology), Andrew Moore (University of Cambridge)

4:15 – 4:35pm

What P4 can Learn from Linux Traffic Control Speaker and Author: Jamal Hadi Salim (Mojatatu Networks) (slides)

4:35 – 4:55pm

Rapid Prototyping of Avionic Applications Using P4 Speaker: Dominik Scholz (Technical University of Munich) (slides) Co-Authors: Dominik Scholz, Fabien Geyer, Sebastian Gallenmuller, Georg Carle (Technical University of Munich)

4:55 – 5:15pm

Using P4 for Converged and Programmable XHaul in Mobile RAN Speakers and Co-Authors: James Yu (Nokia) & Gordon Brebner (Xilinx) (slides)

5:15 – 5:30pm

Closing RemarksSpeaker: Gordon Brebner (Xilinx)

5:30 – 6:30pm

Reception

Demos to Visit

Stratum: Enabling the Next Generation of SDN Interfaces (Google, Open Networking Foundation) (abstract) (demo_slide)
Segment Routing at 100G Using FPGA Smart NIC and P4 (CESNET, Netcope Technologies) (abstract) (demo_slide)
Switch ASIC Programmability in Hybrid Mode (Microsoft, Mellanox) (abstract) (demo_slide)
BB-Gen: A Packet Crafter for Performance Evaluation of P4 Data Planes (University of Campinas, Ericsson Research) (abstract) (demo_slide)
Towards Programmable Scheduling: PIFO Implementation on NetFPGA (New York University, Stanford University, Xilinx Labs) (abstract) (demo_slide)
P4 meets 5G (ELTE Eötvös Loránd University, Ericsson Research) (abstract) (demo_slide)
VNF offloading on a multi-vendor P4 fabric controlled by ONOS via P4Runtime (Open Networking Foundation) (abstract) (demo_slide)
In-band Network Telemetry Management Architecture: ONOS INT Service and XDP (POSTECH) (abstract) (demo_slide)
In-Network Deduplication for Packet Broker Deployments (Cisco Systems) (abstract) (demo_slide)
Barefoot Deep Insight (Barefoot Networks) (abstract) (demo_slide)
p4pktgen: Automated Test Case Generation for P4 Programs (Cisco Systems, Stanford University, Virginia Tech) (abstract) (demo_slide)
AFI Sandboxes: An adaptation of P4 on Trio3D (Juniper Networks) (abstract) (demo_slide)
Flexible OVS acceleration with P4 and low profile FPGA card (CESNET, Netcope Technologies) (abstract) (demo_slide)
MACSAD: An Exemplar Realization of Multi-Architecture P4 Pipelines (University of Campinas, Ericsson Research) (abstract) (demo_slide)

Technical Program Committee

Andy Fingerhut (Chair), Cisco Systems
Mina Arashloo, Princeton University
Sujata Banerjee, VMware
Tom Rodeheffer, Google
Cole Schlesinger, Barefoot Networks
Anirudh Sivaraman, New York University
Noa Zilberman, University of Cambridge

East Coast P4 Developer Day, Spring 2018
2018-03-09 08:00 - 17:30
A presentation by the P4 Language Consortium
Held at Cornell Tech on Friday, March 9, 2018
Virtual Machine
We have created a virtual machine that has all of the software needed to complete the developer day exercises already installed. You can either download a virtual machine image or build it from source. Note that both of these procedures can take around 45 minutes depending on the speed of your network connection.

To download the virtual machine image

Install VirtualBox
https://virtualbox.org
Download virtual machine image
P4 Tutorial 2018-03-05.ova
Import virtual machine into VirtualBox
Open VirtualBox, select “File > Import Appliance”, and navigate to the downloaded file.
Boot virtual machine
Select “P4 Tutorial 2018-03-05”, and click “Start”.

To build the virtual machine from source

Install VirtualBox
https://virtualbox.org
Install Vagrant
https://vagrantup.com
Clone the tutorial repository
$ git clone https://github.com/p4lang/tutorials
Navigate to the vm directory
$ cd tutorials/P4D2_2018_East/vm/
Build the virtual machine
$ vagrant up

Final steps
After the machine boots, you should have a graphical desktop with all required software pre-installed, logged in as username “p4” (with password “p4”). You may want to install the VirtualBox Guest Additions to optimize the graphics and clipboard interaction with your host OS. See the VirtualBox manual for more details.

Agenda

8:00 – 8:30am

Registration and Breakfast

8:30 – 9:00am

Technical Set-up for Hands-on LabIn order to complete the Developer Day exercises, we will distribute a virtual machine with all required software installed.

9:00 – 9:10am

Welcome and Introductions Speaker: Nate Foster (Cornell University)

9:10 – 10:45am

Introduction to Data Plane Programming Instructor: Stephen Ibanez (Stanford University)
Language Basics Instructor: Stephen Ibanez (Stanford University)Session 1 will provide a hand-on introduction to P4. Students will start by implementing a “Hello World”-style application to gain an understanding of P4 concepts. The lesson will progressively introduce core language features, such as header/metadata types, packet parsers, and controls. By the end of this session, students will be able to implement a basic IP router.

10:45 – 11:15am

Break

11:15 – 11:50

Software Tools Instructor: Praveen Kumar (Cornell University)Session 2 will cover software tools that are essential to developing P4 applications. Students will learn how to invoke the the P4 compiler, run the debugger, and start a P4 software switch. This session will also introduce the control-plane interfaces via P4 Runtime, a protocol-independent API auto-generated from the definition of a packet processing pipeline written in P4.

12:10 – 1:30pm

Lunch

1:30 – 3:00pm

Monitoring and Debugging Instructor: Mina Tahmasbi Arashloo (Princeton University)Session 3 will focus on a set of labs related to network monitoring and debugging. In this session, students will gain a deeper understanding of P4 language concepts, including custom headers and intrinsic metadata. In the first exercise, students will implement Explicit Congestion Notification (ECN) to set a congestion bit in a packet header when the queue depth exceeds a threshold. In the second exercise, MRI, students will implement a simplified version of In-Band Network Telemetry to track the path that packets travel through the network.

3:00 – 3:30pm

Break

3:30 – 3:50

Keynote: Toward Self-Driving Networks Speaker: Jennifer Rexford (Princeton University)

3:50 – 5:00pm

Advanced Data Structures Instructor: Sean Choi (Stanford University)Session 4 covers advanced data structures. In this session, students will implement two data-plane applications. In the first, source routing, end-hosts specify paths through the network by using a stack of labels in the packet header. The switch must “pop” each label and forward out the appropriate interface. In the second, students will implement a network calculator. Packets containing arithmetic expressions are sent to a switch. The switch will evaluate the expressions, and return the results back to the sender.

5:00 – 5:45

Panel DiscussionModerator: Nate Foster (Cornell University)Panelists:

Mina Tahmasbi Arashloo (Princeton University)
Anthony Dalleggio (JP Morgan Chase & Co.)
Sandesh Kumar Sodhi (Juniper Networks)

5:45-5:55

Closing Remarks
Speaker: Nate Foster (Cornell University)

6:00-7:30

Reception
Riverwalk Bar & Grille (425 Main St., Roosevelt Island)

P4 Developer Day Fall 2017
2017-11-10 08:00 - 19:00
A joint presentation by Stanford University and P4 Language Consortium.

Held at Arrillaga Alumni Center, Stanford University on Friday, November 10, 2017.

We would like to thank our sponsors for their support:

Agenda

8:00 – 8:30am

Registration and Breakfast

8:30 – 9:00am

Technical Set-up for Hands-on Lab

In order to complete the exercises at the Fall 2017 P4 Developer Day, we have created a virtual machine that has all of the required software installed. Note that this download and setup can take around 45 minutes.
To build the virtual machine:

Step 1: Install VirtualBox https://virtualbox.org/
Step 2: Install Vagrant: https://vagrantup.com/
Step 3: Clone the tutorial repository:
$ git clone https://github.com/p4lang/tutorials

Step 4: Go to the vm directory:
$ cd tutorials/P4D2_2017_Fall/vm/

Step 5: Build the virtual machine:
$ vagrant up

Step 6: Login and restart: Log in with username p4 and password p4 and issue the command
sudo shutdown -r now
When the machine reboots, you should have a graphical desktop machine with the required software pre-installed.

9:00 – 9:10am

Welcome and Introductions

Robert Soulé, Università della Svizzera Italiana (USI)

Video for this session is available here.

9:10 – 10:45am

Introduction to Data Plane Programming
Language Basics

by Stephen Ibanez, Stanford University

Session 1 will provide a hand-on introduction to P4. Students will start by implementing a “Hello World”-style application to gain an understanding of P4 concepts. The lesson will progressively introduce core language features, such as header/metadata types, packet parsers, and controls. By the end of this session, students will be able to implement a basic IP router.

Slides for this session are available here.
Video for this session is available here.

10:45 – 11:15am

Break

11:15 – 12:00pm

Software Tools and P4 Runtime

by Carmelo Cascone and Brian O’Connor, Open Networking Foundation (ONF)

Session 2 will cover software tools that are essential to developing P4 applications. Students will learn how to invoke the the P4 compiler, run the debugger, and start a P4 software switch. This session will also introduce the control-plane interfaces via P4 Runtime, a protocol-independent API auto-generated from the definition of a packet processing pipeline written in P4.

Slides for this session are available here.
Video for this session is available here.

12:00 – 1:30pm

Lunch

1:30 – 3:00pm

Monitoring and Debugging

by Mina Tahmasbi (Princeton University)

Session 3 will focus on a set of labs related to network monitoring and debugging. In this session, students will gain a deeper understanding of P4 language concepts, including custom headers and intrinsic metadata. In the first exercise, students will implement Explicit Congestion Notification (ECN) to set a congestion bit in a packet header when the queue depth exceeds a threshold. In the second exercise, MRI, students will implement a simplified version of In-Band Network Telemetry to track the path that packets travel through the network.

Slides for this session are available here.
Video for this session is available here.

3:00 – 3:30pm

Break

3:30 – 4:50pm

Advanced Data Structures

by Samar Abdi (Google)

Session 4 covers advanced data structures. In this session, students will implement two data-plane applications. In the first, source routing, end-hosts specify paths through the network by using a stack of labels in the packet header. The switch must “pop” each label and forward out the appropriate interface. In the second, students will implement a network calculator. Packets containing arithmetic expressions are sent to a switch. The switch will evaluate the expressions, and return the results back to the sender.

Slides for this session are available here.
Video for this session is available here.

4:50 – 5:00pm

Break

5:00 – 5:10pm

Closing Remarks

by Robert Soulé, Università della Svizzera Italiana (USI)

Slides for this session is available here.

5:10 – 6:00pm

Panel Discussion

Dejan Vucinic, Western Digital
Mario Baldi, Cisco Systems
Anirudh Sivaraman, NYU
Anurag Agrawal, Barefoot Networks

Video for this session is available here.

6:00 – 7:00pm

Reception

4th P4 Workshop
2017-05-17 08:00 - 18:30
A joint presentation by Stanford University and P4 Language Consortium.

Held at Arrillaga Alumni Center, Stanford University on Wednesday, May 17, 2017.
Agenda

8:00 – 9:00

Registration and Breakfast

9:00 – 9:15

Welcome and Introductions

Professor Nick McKeown (Stanford) (slides) and Professor Nate Foster (Cornell) (slides)

9:15 – 9:45

Updates from the P4.org Working Groups

Language Design (slides)
Architecture (slides)
API (slides)

9:45 – 10:05

P4 Program-dependent Controller Interface for SDN Applications

Samar Abdi, Waqar Mohsin, Yavuz Yetim (Google) (slides)

10:05 – 10:20

Demo Lightning Talks

High-Fidelity Validation of P4 Networks with SONiC-P4 Software Switch and CrystalNet (slide)

Tool release: P4 to Wireshark packet dissector (slide)

SAI behavioral model soft switch (slide)

DAIET: Data Aggregation In nETwork (slide)

Language-Directed Hardware Design for Network Performance Monitoring (slide)

P4-NetFPGA Toolchain: Writing Stateful P4 Programs (slide)

10:20 – 10:55

Break and Demo Visits

10:55 – 11:15

Making the Switch: Coast to Coast Production P4 White Box Trial

Ken Duell (AT&T)

11:15 – 11:35

High-Fidelity Validation of P4 Networks with SONiC-P4 Software Switch and CrystalNet

Hongqiang Liu, Yibo Zhu (Microsoft Research); Jiaxin Cao, Jitendra Padhye, Guohan Lu, Lihua Yuan (Microsoft) (slides)

11:35 – 11:55

dRMT: Disaggregated Programmable Switching

Sharad Chole, Andrew Fingerhut, Sha Ma (Cisco Systems);Anirudh Sivaraman (Massachusetts Institute of Technology); Shay Vargaftik (Technion);Alon Berger, Gal Mendelson (Technion); Mohammad Alizadeh (Massachusetts Institute of Technology); Shang-Tse Chuang, Isaac Keslassy (Technion/VMware); Ariel Orda (Technion); Tom Edsall (Cisco Systems); (slides)

11:55 – 12:15

NetCache: Fast In-Network Caching for Key-Value Stores

Xin Jin (UC Berkeley and JHU); Xiaozhou Li (Barefoot Networks); Haoyu Zhang (Princeton University); Robert Soulé (Barefoot Networks and Università della Svizzera italiana); Jeongkeun Lee (Barefoot Networks); Nate Foster (Barefoot Networks and Cornell University); Changhoon Kim (Barefoot Networks); Ion Stoica (UC Berkeley) (slides)

12:15 – 12:30

Demo Lightning Talks

Piggybacking Network Functions on SDN with P4 support (slide)

100G In-Band Network Telemetry with P4 and FPGA (slide)

Proposal for a PPPoE Demo (slide)

T4P4S: A P4 compiler for a wide variety of targets (slide)

Uniform Timestamping in P4 (slide)

Track every congestion at any queue in your network (slide)

Performant Stateful Security Functions in P4 and C (slide)

12:30 – 2:00

Lunch and Demo Visits

2:00 – 2:20

The Software Architecture of the P4-16 Reference Compiler

Mihai Budiu (VMware Research); Chris Dodd (Barefoot Networks) (slides)

2:20 – 2:40

Language-Directed Hardware Design for Network Performance Monitoring

Srinivas Narayana, Anirudh Sivaraman, Vikram Nathan, Prateesh Goyal (MIT); Venkat Arun (IIT Guwahati); Mohammad Alizadeh (MIT); Vimalkumar Jeyakumar (Cisco Tetration analytics); Changhoon Kim (Barefoot networks) (slides)

2:40 – 3:00

Executable Formal Semantics of P4 and Applications

Ali Kheradmand, Grigore Rosu (University of Illinois at Urbana Champaign) (slides)

3:00 – 3:20

A Program Logic for Automated P4 Verification

Nate Foster (Barefoot Networks/Cornell University); Cole Schlesinger (Barefoot Networks); Robert Soulé (Barefoot Networks/Universita della Svizzera italiana); Han Wang (Barefoot Networks) (slides)

3:20 – 3:55

Break and Demo Visits

3:55 – 4:15

The Extensible Network – Evolution in Protocol and Data Plane Agility

Daniel Bernier (Bell Canada); Milad Sharif (Barefoot Networks) (slides)

4:15 – 4:35

Hybrid P4 Switch

Ashkan Aghdai, Yang Xu, H. Jonathan Chao (New York University) (slides)

4:35 – 4:55

Deploying P4 Applications in Server-Based Networks

Abhijeet Prabhbune, Bapi Vinnakota (Netronome); Huynh Tu Dang, Fernando Pedone, Robert Soulé (Università della Svizzera italiana) (slides)

4:55 – 5:15

Sonata: Scalable Streaming Analytics for Network Telemetry

Arpit Gupta (Princeton University); Ankita Pawar (Unaffiliated); Rob Harrison (Princeton University); Rüdiger Birkner (ETH Zürich); Marco Canini (KAUST); Nick Feamster, Jennifer Rexford (Princeton University); Walter Willinger (NIKSUN Inc.) (slides)

5:15 – 5:30

Closing Remarks

5:30 – 6:30

Reception

Demos:
The following demos will be running in Fischer Conference Center and can be visited during breaks.

Piggybacking Network Functions on SDN with P4 support

Chang Liu, Arun Raghuramu, Chen-Nee Chuah (University of California Davis); Balachander Krishnamurthy (AT&T Labs-Research) (slide)

Proposal for a PPPoE Demo

Shabbir Khan, Ashok Malani (XFLOW RESEARCH INC.) (slide)

Tool release: P4 to Wireshark packet dissector

Georgios Nikolaidis (Barefoot Networks) (slide)

SAI behavioral model soft switch

Yonatan Piasetzky (Mellanox); Guohan Lu (Microsoft) (slide)

Language-Directed Hardware Design for Network Performance Monitoring

Srinivas Narayana, Anirudh Sivaraman, Vikram Nathan, Prateesh Goyal (MIT); Venkat Arun (IIT Guwahati); Mohammad Alizadeh (MIT); Vimalkumar Jeyakumar (Cisco Tetration analytics); Changhoon Kim (Barefoot networks) (slide)

P4-NetFPGA Toolchain: Writing Stateful P4 Programs

Stephen Ibanez (Stanford University); Gordon Brebner (Xilinx Labs) (slide)

100G In-Band Network Telemetry with P4 and FPGA

Pavel Benáček, Viktor Puš (CESNET, a.l.e.); Michal Kekely, Lukáš Richter (Netcope Technologies a.s.); Pavel Minařík, Jan Pazdera (Flowmon Networks a.s.) (slide)

T4P4S: A P4 compiler for a wide variety of targets

Sandor Laki (Eötvös Loránd University) (slide)

Uniform Timestamping in P4

Hakim Weatherspoon, Dhruv Singhal, Jingbo Wang (Cornell University) (slide)

Track every congestion at any queue in your network

Jeongkeun Lee, Jithin Thomas (Barefoot Networks) (slide)

High-Fidelity Validation of P4 Networks with SONiC-P4 Software Switch and CrystalNet

Yibo Zhu, Hongqiang Liu (Microsoft Research); Jiaxin Cao, Jitendra Padhye, Guohan Lu, Lihua Yuan (Microsoft) (slide)

Performant Stateful Security Functions in P4 and C

Jaco Joubert, David George, Bapi Vinnakota (Netronome) (slide)

DAIET: Data Aggregation In nETwork

Amedeo Sapio, Ibrahim Abdelaziz, Marco Canini, Panos Kalnis (KAUST) (slide)

Sponsors:
AT&T Barefoot Networks Cisco Google Netronome Xilinx

P4 Developer Day Spring 2017
2017-05-16 08:00 - 18:30
A joint presentation by Stanford University and P4 Language Consortium.

Held at Arrillaga Alumni Center, Stanford University on Tuesday, May 16, 2017.

Agenda

8:00 – 9:00

Registration and Breakfast

9:00 – 9:10

Welcome and Introductions

Professor Nick McKeown (Stanford) and Professor Nate Foster (Cornell)

9:10 – 10:40

P4_16 Tutorial (Part 1)

by P4.org

The full set of slides for P4_16 tutorial are available here.

10:40 – 11:00

Break

11:00 – 12:30

P4_16 Tutorial (Part 2)

by P4.org

12:30 – 1:30

Lunch

1:30 – 4:00

Hands-on Lab (Parallel Track – McCaw Hall)

P4_16 BMv2

by P4.org

Please follow the following instructions to get setup for the BMv2 Lab:

Download and install the latest version of Virtual Box, version 5.1.22, for your platform here.
Download the P4 D2 2017 virtual appliance (.ova) file here. This is a large(~3GB) file and can take a while to download depending on your download speed.
Double click the virtual appliance (.ova) file downloaded in step 1 or Import it using instructions here.
The minimum system requirements are 8GB (16GB preferred) and ~32GB free space on hard-drive.
Here are login credentials for the VM – username/password p4/p4
The presentation used for giving instructions for getting setup and an overview of the exercises is available here.

1:30 – 4:00

Hands-on Lab (Parallel Track – Fisher Room)

P4_16 NetFPGA

by NetFPGA
Slides used in this session are available here.

4:00 – 4:20

Break

4:20 – 5:20

Talk (Parallel Track – McCaw Hall)

P4 mapping to Barefoot Tofino

by Barefoot Networks
Slides used in this session are available here.

4:20 – 5:20

Talk (Parallel Track – Fisher Room)

P4 mapping to Netronome SmartNIC

by Netronome
Slides used in this session are available here.

5:20 – 5:30

Closing Remarks

5:30 – 6:30

Reception

Sponsors:

AT&T Barefoot Networks Cisco Google
