#252 OpenP4C: Target-independent Compiler for High Performance Protocol-independent Packet Processors


More

  • None

Rejected

[PDF] Submission (455kB) Sep 21, 2016, 2:59:57 PM PDT · 19a1a41727ab8ede8047c359cc948440339a02dc19a1a417

Though the programmability of the control plane has been thoroughly examined in the past years, only a limited number of studies go beyond the consideration that the data plane is only a collection of simple packet forwarding devices. OpenFlow, a popular example, is a very expressive data plane programming language, but it is still restricted to the support of a subset of existing protocol headers. To overcome these limitations, new data plane programming models like P4 have emerged recently. P4 is a high level language for programming network switches, allowing for great flexibility in the description of packet structure and processing. In this paper, we introduce \textsc{OpenP4C}, a multi-target compiler that generates high performance switch program from a P4 description. To support multiple targets, the compiler generates a core switch code relying on a hardware abstraction layer to be implemented for the given target. To avoid performance degradation, the boundaries of this separation should carefully be chosen, since the core program only responsible for target-independent optimization, while the implementation of the abstraction layer should cover target-dependent enhancement. To analyze its performance, thorough measurements have been carried out, showing that the switch generated by \textsc{OpenP4C} can easily scale beyond 100 Gbps.

D. Horpácsi, D. Leskó, P. Vörös, R. Kitlei, M. Tejfel, S. Laki
Consider for Community Award
Paper Complies with Ethical Standards of Authors' Home Institutions

  • middleboxes
  • network architecture
  • network hardware
  • programming languages
  • routing

To edit this submission, sign in using your email and password.