http://p4.org/html5boxplayer.swf - 404 not found
The P4 language is interesting. There are little programs, like shaders, which run for each packet. Presumably many units are running these programs in parallel. These programs can read tables set by the "control plane", a more conventional CPU, and can pass a packet to the control plane. That's similar to large routers today, but here, the lower level hardware is more flexible.It seems sufficient for writing a router, but not, say, a stateful middlebox like a firewall or a SSL/TLS decoder. It seems designed for "software defined networking". The P4 programs detect that a packet isn't in a table that tells what to do with it, and pass that packet to the control plane. The control plane sets a table to handle routing for that flow, and, thereafter, packets from that flow are handled by the low-level system.
This is a threat to Cisco, Brocade, etc. in that it defines a generic architecture for commodity routing hardware.