P. Bosshart

P4: Programming Protocol-Independent Packet Processors

By: 
P. Bosshart, D. Daly, G. Gibb, M. Izzard, N. McKeown, J. Rexford, C. Schlesinger, D. Talayco, A. Vahdat, G. Varghese, D. Walker
Appears in: 
CCR July 2014

Public Review By: 
Marco Mellia

This paper presents a novel high-level language for programming packet processors, aiming explicitly at shaping the future of OpenFlow. Motivation is clear: OpenFlow is the de facto standard to control the network. Originally targeting local area networks, and data centers in particular, now OpenFlow covers all scenarios. This comes at a cost: complexity. For instance, the original list of OpenFlow supported “fields” has now grown to more than 40 protocols, mostly due to packet encapsulation that must be processed by switches when looking for the label. In this context, the authors take a revolutionary process: instead of keeping extending the supported field list, they define an open, high-level, flexible interface to define mechanisms for parsing packets and matching header fields: the P4 language. P4 raises the level of abstraction for programming a network, offering an oblivious API to the actual hardware implementation of the switch. Reviewers found this paper to be intriguing, well motivated and clear. Reviewers did give a number of suggestions to improve the presentation of the paper, both to make the ideas more concise, as well as to clarify explanations. This improved the quality of the contribution, hopefully making it a milestone toward OpenFlow 2.0.

Syndicate content