> I do think p4 is very interesting, but is it really much different from > openflow? Which...umm ... Did not succeed in the market.
P4 is quite different from OpenFlow. The various generations of the OpenFlow specification assume a fixed-format packet header with an ever increasing number of header fields (from 12 in OF 1.0 to 41 in OF 1.4), a fixed set of packet-processing actions, and so on. P4 allows programmable parsing and flexible match-action processing. In P4, the program tells the data plane how to act; in OpenFlow, the way the data plane can act is “baked” in advance. So, OpenFlow 1.x can be one of many *programs* you can write in P4, whereas many other P4 programs can exist. For some discussion of the differences, see Clarifying the differences between P4 and OpenFlow http://p4.org/p4/clarifying-the-differences-between-p4-and-openflow/ <http://p4.org/p4/clarifying-the-differences-between-p4-and-openflow/> — Jen