Version 8 (modified by Ben Newton, 7 years ago) (diff)


Programming the Network Data Plane in P4

Webinar Details

  • Presented by: Changhoon Kim from Barefoot Networks
  • Date: Friday April 21st, 2017
  • Time: 3:00 - 4:00 p.m. ET

To receive information on how to join the webinar:

Click to Register


Software-Defined Networking (SDN) has been successful because it lets network owners and operators “program” network behavior. SDN’s programmability, however, is confined to the network control plane today. The forwarding plane is still largely dictated by fixed-function packet-processing hardware. Our goal is to change that, and to allow programmers to define how packets are to be processed all the way down to the wire.

This is made possible by a new generation of high-performance forwarding chips. At the high-end, switching chips built with a new machine architecture -- namely PISA (Protocol-Independent Switch Architecture) -- promise multi-Tb/s of packet processing. At the mid- and low-end of the performance spectrum, CPUs, GPUs, FPGAs, and NPUs already offer great flexibility with performance of a few tens to hundreds of Gb/s. In addition to programmable forwarding chips, we also need a high-level language to dictate the forwarding behavior in a target independent fashion. "P4" ( is such a language. In P4, the programmer declares how packets are to be processed, and a compiler generates a configuration for a PISA chip, or a programmable target in general.

In this talk, I will first give a quick overview of PISA and explain why it is inevitable; within the next couple of years I expect all switching chips to be programmable, with no performance, power or cost penalty. I will then give a brief primer on the P4 language, showing some example programs for a variety of different networks, demonstrating the power of writing portable and reusable P4 programs. Finally I will introduce a few exciting use cases that data-plane programmability can enable, along with new challenges and problems warranting further study.

Connection Information

Use the following URL to connect from PC, Mac, Linux, iOS or Android:

Alternatively, use your phone and participate without video:

Dial: +1 408 638 0968 (US Toll) or +1 646 558 8656 (US Toll)
Meeting ID: 882 171 344
International numbers available:

Zoom is a video conferencing system. Click on the link and follow the instructions to get connected. The first time you use Zoom you will likely need to install a small client application.

Please join the meeting a few minutes before the start time.

Equipment Needed

  1. Computer with a good Internet connection and a browser (Firefox or Chrome preferred).
  2. Microphone (preferably a headset microphone) or alternatively a telephone.
  3. Webcam: Optional but recommended


  • Welcome - Ben Newton
  • Presentation and Demo - Changhoon Kim - (pdf)
  • Questions
  • Wrap-up - Ben Newton


A video recording of the webinar is available here

Attachments (1)