P4 Workshop 2016 has ended
Arrillaga Alumni Center: 326 Galvez Street, Stanford, CA 94305
Sponsored by: Netronome, AT&T, Cisco, Hewlett Packard Enterprise & Barefoot Networks

Sign up or log in to bookmark your favorites and sync them to your phone or calendar.

Tuesday, May 24

8:00am PDT

& Badge Pick-up
Sign in, Pick up Badges, Breakfast

Tuesday May 24, 2016 8:00am - 9:00am PDT
McCaw Hall - Foyer

8:15am PDT

Sign in, Pick up Badges, Breakfast

Tuesday May 24, 2016 8:15am - 9:00am PDT
Ford Gardens

9:00am PDT

Welcome to P4.org and Introductions
Welcome and Introductory Remarks

avatar for Nick McKeown, Stanford University

Nick McKeown, Stanford University

Nick McKeown is the Kleiner Perkins, Mayfield and Sequoia Professor of Electrical Engineering and Computer Science at Stanford University, and Faculty Director of the Open Networking Research Center. Before joining Stanford, he worked for HP Labs (Bristol, UK) and Cisco (GSR 12000... Read More →

Tuesday May 24, 2016 9:00am - 9:20am PDT
McCaw Hall - Presentations

9:20am PDT

Update from the P4 Language Design Working Group

This talk will overview recent activity on the design of the P4 language.  In particular, this will cover the release of the P4 1.1 specification, and discuss the main changes being proposed for the future P4 1.2 specification.  Two important features of P4 1.2 will be architecture-language separation, and the use of libraries to replace various capabilities currently built into the syntax of the language as special cases.

avatar for Gordon Brebner, Xilinx

Gordon Brebner, Xilinx

Dr. Gordon Brebner is a Distinguished Engineer at Xilinx, Inc., the worldwide leader in all-programmable technologies. He works in Xilinx Labs, leading an international group researching issues surrounding networked processing systems of the future. His main personal research interests... Read More →

Tuesday May 24, 2016 9:20am - 9:40am PDT
McCaw Hall - Presentations

9:40am PDT

Whitebox Architectural Considerations: The Intersection of Merchant Silicon, P4, Network Operating System, and the Open Source Ecosystem

Application of whitebox platforms are rapidly expanding beyond the data center and into Tier 1 carrier wide area network transport, switching, and routing.  We describe how the right architectural framework for whitebox networks at the intersection of programmable pipeline Merchant Silicon, P4 pipeline programming abstractions, Network OS'es, and the Open Source software ecosystem can create a powerful combination to efficiently and rapidly enable innovative new wide area networking services.

avatar for Ken Duell, AT&T

Ken Duell, AT&T

Ken Duell is AVP of New Technology Product Development & Engineering at AT&T. His organization is responsible for the design and development of AT&T’s Layer 2 / Ethernet and Layer 3 / IP Edge Router Platforms. His organization’s current focus is on the design and development of... Read More →

Tuesday May 24, 2016 9:40am - 10:00am PDT
McCaw Hall - Presentations

10:00am PDT

Demo Lightning Talks - Session #1
Each demonstrator will present a 1-2 minute lightning talk on the main stage.

Session #1 demos talks include: VMware, USC, University of Utah, Princeton, ON.Lab, Microsoft Azure, Huawei, HKUST, and CESNET

Tuesday May 24, 2016 10:00am - 10:20am PDT
McCaw Hall - Presentations

10:20am PDT

Coffee Break #1
Break for Coffee/Snacks

Tuesday May 24, 2016 10:20am - 10:50am PDT
Ford Gardens

10:20am PDT

Demos - Session #1
Demos include: Xilinx, USC, University of Utah, Stanford, Princeton, ON.Lab, Netronome, Microsoft Azure, Huawei, HKUST, Forward Networks, Cornell, Concordia, CESNET, Barefoot Networks, and AT&T 

Tuesday May 24, 2016 10:20am - 10:50am PDT

10:50am PDT

P4 on the Edge
In this talk we discuss the use of P4 to concisely define the requirements of the network data plane implemented in a standard edge server. The edge is unique in both the services it runs and in the flexibility provided by a general purpose CPU compared to currently available network components. In this talk we show how to express common edge network configurations using P4 as well as highlight programs where we had to make heavy use of external functionality using 'extern' semantics. To achieve this we have created a development environment which uses P4/LLVM/eBPF to implement the P4 specification and run it on a standard server using an open source Linux operating system. For this talk we target a container use cases but expect the development environment can be made independent of virtualization technology with some effort. The result of this work is a well-defined programming language coupled with LLVM that can be used to create programmable data plane on the network edge. Future work in this area includes augmenting the software data plane with hardware assists, language optimizations, formal verification and validation.

avatar for John Fastabend, Intel

John Fastabend, Intel

John Fastabend is a software engineer working in Intel's Software Defined Networking Division. His recent work has focused on providing programmable data planes and management layers for Linux supporting both software and hardware models. Prior to this John has worked on the Linux... Read More →

Tuesday May 24, 2016 10:50am - 11:10am PDT
McCaw Hall - Presentations

11:10am PDT

Dynamic Analytics for Programmable NICs Utilizing P4

The idea behind P4 for NICS is to program the target NICs with the desired analytic functions. Real time dynamic measurement of flows at Network Interface Cards (NICs) is critical for cloud centric service models and service automation. The ability of applications such as security, root cause analysis, big data analytics, and traffic engineering to subscribe to P4 interfaces for adjusting their observability requirements could enable a new wave of applications and opportunities.  In this talk we will provide a few use case examples within the context of P4 for carrier (AT&T) CORD-based platform architectures. The new architecture provides an open environment for allowing applications to utilize P4 interfaces for customized measurements.  This talk will show how P4-enabled applications can influence embedded VNF functions at NIC cards for real time feedback loops. 

*This presentation also has an associated demo: Dynamic Analytics for Programmable NIC’s Utilizing P4 - Identification and Custom Tagging of Elastic Telecoms Traffic*

avatar for Tom Tofigh, AT&T

Tom Tofigh, AT&T

Tom is currently a Principal Member of Technical Staff in the AT&T’s Domain 2.0 architecture and planning Labs at AT&T. Tom has been responsible for planning and implementation of large-scale telecommunications equipment He has extensive experience that spans across many disciplines... Read More →
avatar for Nic Viljoen, Netronome

Nic Viljoen, Netronome

Nic is a Research Engineer at Netronome, focusing on the enablement of real time analytics at the compute node in the data plane using SmartNICs. He is currently collaborating with the CORD project at ON.Lab to apply this within the context of the next generation mobile edge network... Read More →

Tuesday May 24, 2016 11:10am - 11:30am PDT
McCaw Hall - Presentations

11:30am PDT

Using INT to Build a Real-time Network Monitoring System @ Scale

Inband Network Telemetry (“INT”) is a framework designed to allow the collection and reporting of network state, by the data plane, without requiring intervention or work by the control plane (http://p4.org/p4/inband-network-telemetry/).  In the INT architectural model, packets contain header fields that are interpreted as “telemetry instructions” by network devices.  These instructions tell an INT-capable device what state to collect and write into the packet as it transits the network.  SwitchID, hop latency and  queue occupancy are some of the per-packet metadata that could be collected using INT.  Connection Path and Latency Tracking (PLT)  is a novel network monitoring application that leverages INT in a scalable manner to gain real-time visibility into a network's behavior. PLT uses INT to track the path and latency encountered by every connection and uses deduplication (from within the data plane) to do this in a scalable and efficient manner . Each time a new connection is detected or a change is detected in the path/latency of an existing connection,  an "INT report" is generated and sent to a remote distributed monitoring engine. The reports enable the monitoring engine to detect a variety of anomalies in the network in real time (eg: connection/switch congestion, unused switches, flow imbalance, etc.). They also facilitate other interesting use cases such as network behavior verification, faithful reconstruction of traffic patterns and network characterization.

*This presentation also has an associated demo: Using INT to Build a Real-time Network Monitoring System @ Scale

avatar for Petr Lapukhov, Facebook

Petr Lapukhov, Facebook

Petr is a network engineer at Facebook, working on monitoring and control systems for the network infrastructure. Prior to Facebook, Petr worked at Microsoft as part of the team that built and supported the Bing data-center networks.
avatar for Jithin Thomas, Barefoot Networks

Jithin Thomas, Barefoot Networks

Jithin recently finished his MS in EE at Stanford University, where he worked on Delite, a compiler framework and runtime for parallel embedded DSLs. Prior to Stanford, he was a Research Developer at Microsoft Research India, where he worked in the field of empirical software... Read More →

Tuesday May 24, 2016 11:30am - 11:50am PDT
McCaw Hall - Presentations

11:50am PDT

P4 and OpenSwitch

This tech talk is about how P4 Software Switch is helping evolution of OpenSwitch. Talk will provide a brief introduction to OpenSwitch and how P4 Software Switch is integrated into the OpenSwitch.

OpenSwitch is a community based, open source, full-featured network operating system. In addition to running on various hardware platforms, OpenSwitch can also run on Linux servers as a docker container image or as a VM (OVF). But to run OpenSwitch in this mode, it is necessary to have a software layer that simulates switch forwarding path. And P4 Software Switch (or known commonly as Behavioral Model) is used for the purpose.

A new P4 specific plugin module on OpenSwitch side integrates Behavioral Model with the OpenSwitch. As OpenSwitch is evolving with more feature sets and capabilities, existing switch.p4 and related OpenSwitch plugin module are modified to support new changes for simulation platform. Current effort is focused on adding additional Layer 3 features to the P4 plugin for OpenSwitch. Developing this plugin for simulation platform also enables the same plugin to be used for hardware ASIC platforms which have support for P4.

*This presentation also has an associated demo: P4 and OpenSwitch

avatar for Aniketa Kodur Sreedhar, HPE

Aniketa Kodur Sreedhar, HPE

Aniketa has over 10 years of experience working in network domain. Currently he is working for Hewlett Packard Enterprise.
avatar for Vivek Ramamoorthy, HPE

Vivek Ramamoorthy, HPE

Vivek has worked in the networking industry for the last 7 years designing and developing software for network platforms. Currently he is working for Hewlett Packard Enterprise.

Tuesday May 24, 2016 11:50am - 12:10pm PDT
McCaw Hall - Presentations

12:10pm PDT

Demo Lightning Talks - Session #2
Each demonstrator will present a 1-2 minute lightning talk on the main stage.

Session #2 demo talks include: UMKC, Stanford, Netronome, HKUST, Forward Networks, ETRI, Cornell, Concordia, and Barefoot Networks

Tuesday May 24, 2016 12:10pm - 12:30pm PDT
McCaw Hall - Presentations

12:30pm PDT

Demos - Session #2
Demos include: Xilinx, USC, University of Utah, Stanford, Princeton, ON.Lab, Netronome, Microsoft Azure, Huawei, HKUST, Forward Networks, Cornell, Concordia, CESNET, Barefoot Networks, and AT&T

Tuesday May 24, 2016 12:30pm - 1:50pm PDT

12:30pm PDT

Lunch Break
Lunch in Courtyard
Demos in Lane/Lyons/Lodato Conference Room

Tuesday May 24, 2016 12:30pm - 1:50pm PDT
Ford Gardens

1:50pm PDT

Enabling Rapid Innovation in the Network Using SONiC and P4

Software for Open Networking in the Cloud (SONiC) is a collection of software networking components that can be used for building an open sourced network switch on a Linux distribution. SONiC works with the Switch Abstraction Interface (SAI) via which it can talk to various switching ASICs giving users access to rapid innovation in the network switching space.

P4 is a high level programming language for the networking domain. It can be used to define or describe the packet processing functions of the data plane of a network switch or any such forwarding device. 

This talk will highlight the architecture and benefits of SONiC. Additionally, it will also showcase how SONiC can use a P4 data plane for new feature development, testing and validation. A P4 program called switch.p4 has already been connected to SONiC via the SAI APIs. The talk will also cover Packet Test Framework (PTF) which is used for checking compliance to the SAI specification.

*This presentation also has an associated demo: Enabling Rapid Innovation in the Network Using SONiC and P4

avatar for Lihua Yuan, Microsoft Azure

Lihua Yuan, Microsoft Azure

Dr. Lihua Yuan is a Principal Dev Manager at Microsoft Azure Networking team. He leads the team responsible for the AutoNetPilot system that builds and  manages the Microsoft data center networks. His team is also responsible for the development of Azure Cloud Switch and collaborate... Read More →
avatar for Guohan Lu, Microsoft Azure

Guohan Lu, Microsoft Azure

Guohan Lu leads the software engineering team responsible for Microsoft Software for Open Networking in the Cloud (SONiC). He works closely with various switch and ASIC vendors in the OCP community on SONiC and SAI development. Previously, he was a researcher in Microsoft Research... Read More →

Tuesday May 24, 2016 1:50pm - 2:10pm PDT
McCaw Hall - Presentations

2:10pm PDT

Fast P4 Development Using Target Independent, Static Behavioral Model and Debugger
Behavioral Model v2 (BMv2) is a P4 Software Switch that is unlike it's predecessor the Behavioral Model (BM) in that it does not need to be recompiled every time the P4 program changes. This allows for faster development and debugging of P4 programs. This new model also allows developers to model various target architectures as opposed to the abstract forwarding model BM was using. The newly integrated debugger allows for runtime debugging of P4 programs therefore cutting short the debug time and improving the overall P4 experience.

avatar for Antonin Bas, Barefoot Networks

Antonin Bas, Barefoot Networks

Antonin Bas is a Software Engineer at Barefoot Networks, where he contributes to the development of several P4 software tools. He is the lead contributor of the P4Lang software switch, which was open-sourced through P4.org in April 2015. Antonin holds a M.S. in Computer Science... Read More →

Tuesday May 24, 2016 2:10pm - 2:30pm PDT
McCaw Hall - Presentations

2:30pm PDT

LBSwitch: Your Switch is Your Server Load-Balancer
Layer-4 server load balancing is fundamental to provide high availability and auto-scaling to services running in clouds. In cloud data centers, large number of servers are dedicated to just run software load balancers (SLBs) that distribute client requests to the pool of other servers backing the load-balanced virtual address. While SLBs are easy to deploy, this S/W-based approach suffers from high latency, low per-server processing capacity, and high cost.  We introduce LBSwtich that embeds the L4 load balancing functionality directly on network switches. LBSwitch guarantees per-connection consistency -- forwarding all the packets of a connection to the identical server -- for millions of concurrent connections by using low-cost merchant-grade switches' on-chip memory. We demo its prototype built in P4 as well as its integration with OpenStack LBaaS APIs.

avatar for James Hongyi Zeng, Facebook

James Hongyi Zeng, Facebook

James Hongyi Zeng is a Research Scientist at Facebook Net Systems team. He works on intra- and inter-DC network monitoring and analytics, troubleshooting tools, and security tools. He received his PhD from Stanford University in 2014, co-advised by Professor Nick McKeown and Professor... Read More →
avatar for JK Lee, Barefoot Networks

JK Lee, Barefoot Networks

JK Lee is a software engineer at Barefoot Networks, developing advanced applications on P4 dataplanes. Prior to Barefoot, he worked at Hewlett-Packard Labs on application/policy-driven networking projects, being contributed to OpenDaylight and OpenStack. He holds 18 networking... Read More →

Tuesday May 24, 2016 2:30pm - 2:50pm PDT
McCaw Hall - Presentations

2:50pm PDT

Comparing OpenFlow (Open vSwitch) and P4 SmartNIC Dataplanes
Smart Network Interface Cards (SmartNICs) are increasingly being deployed in cloud datacenters to offload inline network processing tasks from server CPUs, thereby improving system throughput while freeing up server CPU cycles for application processing. The match/action and tunnel handling semantics of SmartNIC datapaths can be either expressed directly in the P4 language or be defined by virtual switching software like Open vSwitch (implementing the semantics of a specification like OpenFlow). This presentation compares these approaches, considering aspects like the expressiveness and performance of the resulting datapath as well as the characteristics of the associated run-time interfaces.

*This presentation also has an associated demo: P4-based VNF and Micro-VNF Chaining for Servers with SmartNICs

avatar for Johann Tönsing, Netronome

Johann Tönsing, Netronome

Johann is the Chief Architect, Senior Vice President, Software Engineering and Founder of Netronome. He has been active in the digital communications, networking, and information security spheres for more than 20 years, managing product engineering/marketing and performing business... Read More →

Tuesday May 24, 2016 2:50pm - 3:10pm PDT
McCaw Hall - Presentations

3:10pm PDT

Coffee Break #2
Break for Coffee/Snacks
Demos in Lane/Lyons/Lodato Conference Room

Tuesday May 24, 2016 3:10pm - 3:40pm PDT
Ford Gardens

3:10pm PDT

Demos - Session #3
Demos include: Xilinx, USC, University of Utah, Stanford, Princeton, ON.Lab, Netronome, Microsoft Azure, Huawei, HKUST, Forward Networks, Cornell, Concordia, CESNET, Barefoot Networks, and AT&T

Tuesday May 24, 2016 3:10pm - 3:40pm PDT

3:40pm PDT

Paxos Made Switch-y
The Paxos protocol is the foundation for building many fault-tolerant distributed systems and services. This talk posits that there are significant performance benefits to be gained by implementing Paxos logic in network devices. Until recently, the notion of a switch-based implementation of Paxos would be a daydream. However, new flexible hardware and expressive data plane programming languages are on the horizon and will provide customizable packet processing pipelines needed to implement Paxos. This talk describes an implementation of Paxos in one of those languages, P4, as well as our on-going efforts to evaluate the implementation on a variety of hardware devices. Implementing Paxos provides a critical use case for P4, and will help drive the requirements for data plane languages in general. In the long term, we imagine that consensus could someday be offered as a network service, just as point-to-point communication is provided today.

avatar for Robert Soule, USI

Robert Soule, USI

Robert Soulé is an assistant professor at the Università della Svizzera Italiana (USI). His research interests are in distributed data processing, networking, and applied programming languages. His recent work has focused on software-defined networks and graph database query optimization... Read More →

Tuesday May 24, 2016 3:40pm - 4:00pm PDT
McCaw Hall - Presentations

4:00pm PDT

PISCES: A Programmable, Protocol-Independent Software Switch
Virtualized data-centers use software hypervisor switches to steer packets to and from virtual machines (VMs). The switch frequently needs upgrading and customization---to support new protocol headers or encapsulations for tunneling or overlays, to improve measurement and debugging features, and even to add middlebox-like functions. Software switches are typically based on a large body of code, including kernel code. Changing the switch is a formidable undertaking requiring domain mastery of network protocol design and developing, testing, and maintaining a large, complex code-base. In this talk, we argue that changing how a software switch forwards packets should not require intimate knowledge of its implementation. Instead, it should be possible to specify how packets are processed and forwarded in a high-level domain-specific language (DSL) such as P4, then compiled down to run on the underlying software switch. We present PISCES, a software switch that is not hard-wired to specific protocols, which eases adding new features. We also show how the compiler can analyze the high-level specification to optimize forwarding performance. Our evaluation shows that PISCES performs comparably to Open vSwitch, a hardwired hypervisor switch, and that PISCES programs are about 40 times shorter than equivalent Open vSwitch programs. 

*This presentation also has an associated demo: PISCES: A Programmable, Protocol-Independent Software Switch

avatar for Muhammad Shahbaz, Princeton University

Muhammad Shahbaz, Princeton University

Muhammad Shahbaz is a third year PhD student in the Department of Computer Science at Princeton University. His research focuses on the application of software-defined networking (SDN) in campus, enterprise and wide-area networks, SDN performance optimization, network testing... Read More →

Tuesday May 24, 2016 4:00pm - 4:20pm PDT
McCaw Hall - Presentations

4:20pm PDT

High-Speed Forwarding: A P4 Compiler with a Hardware Abstraction Library for Intel DPDK
In cooperation with Ericsson our team from Eötvös Loránd University, Budapest, Hungary works on a P4 compiler that separates the hardware specific and hardware independent program functionalities. According to this design, the core compiler generates a target independent core program that relies on a target-specific hardware abstraction library representing an abstraction layer between the actual hardware and the P4 program. This design enables us to switch to a new hardware without writing a new P4 compiler and recompiling the original P4 program, since the core program always remains the same and the underlying target-specific library will only be changed. In this talk, we will present the current status of our target independent core compiler, the challenges we faced during the development, an Intel DPDK-based implementation of the hardware abstraction library and the performance test results. According to the first experiments, our DPDK-based L2 switch compiled from a P4 code can reach 9.1 Gbps forwarding rate on a single core setup with 10 Gbps line cards and Ethernet probe packets of 64 bytes. The testbed preparation for 40 Gbps and other more complex scenarios is on going. 

avatar for Sándor Laki, ELTE

Sándor Laki, ELTE

Sandor Laki is an Assistant Professor at the Department of Information Systems, Eötvös Loránd University (ELTE), Budapest, Hungary. His research interests focus on active and passive network measurement techniques, traffic analytics, IP geolocation and algorithmic... Read More →

Tuesday May 24, 2016 4:20pm - 4:40pm PDT
McCaw Hall - Presentations

4:40pm PDT

Programmable Packet Scheduling
Switches today provide a small set of scheduling algorithms. While we can tweak scheduling parameters, we cannot modify algorithmic logic, or add a completely new algorithm, after the switch has been designed. This paper presents a design for a programmable packet scheduler, which allows scheduling algorithms—potentially algorithms that are unknown today—to be programmed into a switch without requiring hardware redesign.

Our design builds on the observation that scheduling algorithms make two decisions: in what order to schedule packets and when to schedule them. Further, in many scheduling algorithms these decisions can be made when packets are enqueued. We leverage this observation to build a programmable scheduler using a single abstraction: the push-in first-out queue (PIFO), a priority queue that maintains the scheduling order and time for such algorithms.

We show that a programmable scheduler using PIFOs lets us program a wide variety of scheduling algorithms. We present a detailed hardware design for this scheduler for a 64-port 10 Gbit/s shared-memory switch with <4% chip area overhead on a 16-nm standard-cell library. Our design lets us program many sophisticated algorithms, such as a 5-level hierarchical scheduler with programmable scheduling algorithms at each level.

avatar for Mohammad Alizadeh, MIT

Mohammad Alizadeh, MIT

Mohammad Alizadeh is an Assistant Professor in the EECS Department at MIT, and a member of CSAIL. Before joining MIT, he completed his Ph.D. at Stanford University, and spent a couple of years at a datacenter networking startup, Insieme Networks, and Cisco.

Tuesday May 24, 2016 4:40pm - 5:00pm PDT
McCaw Hall - Presentations

5:00pm PDT

Wrap-up, Next Steps, and Closing Remarks
Closing Remarks

avatar for Nick McKeown, Stanford University

Nick McKeown, Stanford University

Nick McKeown is the Kleiner Perkins, Mayfield and Sequoia Professor of Electrical Engineering and Computer Science at Stanford University, and Faculty Director of the Open Networking Research Center. Before joining Stanford, he worked for HP Labs (Bristol, UK) and Cisco (GSR 12000... Read More →

Tuesday May 24, 2016 5:00pm - 5:30pm PDT
McCaw Hall - Presentations

5:30pm PDT

Appetizers and beer/wine will be served

Tuesday May 24, 2016 5:30pm - 6:30pm PDT
Dwight Family Living Room