Abstract
P4 is a language for expressing how packets are processed by the data-plane of a programmable network element such as a hardware or software switch, network interface card, router or network function appliance. This document describes the most recent version of the language, P4-16, and the reference implementation of the P4-16 compiler.