Workshop: A Primer to Programming Packets with P4
This workshop is for persons who are new to P4 and want a tutorial-style introduction to the language. It is organized around a series of programming exercises in which participants implement solutions to various networking tasks, such as:
Basic forwarding, tunneling, and source routing
Control plane interaction (via P4Runtime)
Only basic programming knowledge is required, but familiarity with Python and using a Linux virtual machines will be helpful.
This workshop will provide a hands-on introduction to P4. Attendees will start by implementing a “Hello World”-style application to gain an understanding of P4 concepts and progressively introduce core language features, such as header/metadata types, packet parsers, and controls. By the end attendees will be able to implement a basic IP router.
Attendees will learn about software tools that are essential to developing P4 applications, such as 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