Summary
P4 is a declarative language for telling forwarding-plane devices (switches, NICs, firewalls, filters, etc) how to process packets.
Details
The draft specification for the P4_16 programming language is now available
on P4.org. There is an Apache 2-licensed open-source reference implementation:
on GitHub. Companies that have shipped products using P4 include Intel, Cisco, Xilinx, Mellanox, Netronome.