This document provides an overview of the NCTU P4 Workshop. It discusses:
- The P4 programming language which allows specifying how switches process packets in a protocol-independent and target-independent way.
- Key concepts in P4 including headers, parsers, tables, actions, and the control flow.
- An example P4 architecture and how to define headers, parsers, tables, and the control flow.
- How to get started with P4 including setting up the behavioral model compiler and runtime environment and using Mininet to test P4 programs.
- A quick demo of a simple P4 program that uses a custom header to implement path routing and can be configured via the runtime