Language Specification

The current “widely-supported” P4 Specification is P4_14 (version 1.0.3)  Click here for this “widely-supported” P4_14 Specification.

The current “community pre-release” P4 Specification is P4_16. Here are the links to this spec: PDF, HTML

To get answers to some of the frequently asked questions on P4 check out the P4 FAQ


If you have feedback, questions, comments on the specification please join the p4-discuss and participate!


P4 Tutorial

Overview of the P4 programming language.

The Original P4 Paper

P4: Programming Protocol-Independent Packet Processors

Pat Bosshart, Dan Daly, Glen Gibb, Martin Izzard, Nick McKeown, Jennifer Rexford, Cole Schlesinger, Dan Talayco, Amin Vahdat, George Varghese, David Walker ACM Sigcomm Computer Communications Review (CCR). Volume 44, Issue #3 (July 2014)