DC.p4

Programming the forwarding plane of a data-center switch

Anirudh Sivaraman, Changhoon Kim, Ramkumar Krishnamoorthy, Advait Dixit, Mihai Budiu

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Abstract

The P4 programming language [29, 16] has been recently proposed as a high-level language to program the forwarding plane of programmable packet processors, spanning the spectrum from software switches through FPGAs, NPUs and reconfigurable hardware switches. This paper presents a case study that uses P4 to express the forwarding plane behavior of a data-center switch, comparable in functionality to single-chip shared-memory switches found in many data centers today. This case study allows us to understand how specific P4 constructs were useful in modeling specific data-center switch features. We also outline additional language constructs that needed to be added to P4 to support certain features of a data-center switch. We discuss several lessons that we learned in the process and distill these into a proposal for how P4 could evolve in the future.

Original languageEnglish (US)
Title of host publicationSymposium on Software Defined Networking (SDN) Research, SOSR 2015
PublisherAssociation for Computing Machinery, Inc
ISBN (Electronic)9781450334518
DOIs
StatePublished - Jun 17 2015
Event1st ACM SIGCOMM Symposium on Software Defined Networking Research, SOSR 2015 - Santa Clara, United States
Duration: Jun 17 2015Jun 18 2015

Other

Other1st ACM SIGCOMM Symposium on Software Defined Networking Research, SOSR 2015
CountryUnited States
CitySanta Clara
Period6/17/156/18/15

Fingerprint

Switches
Reconfigurable hardware
High level languages
Computer programming languages
Field programmable gate arrays (FPGA)
Data storage equipment

Keywords

  • Datacenter switch
  • Language design
  • Programmable forwarding planes

ASJC Scopus subject areas

  • Computer Networks and Communications
  • Software

Cite this

Sivaraman, A., Kim, C., Krishnamoorthy, R., Dixit, A., & Budiu, M. (2015). DC.p4: Programming the forwarding plane of a data-center switch. In Symposium on Software Defined Networking (SDN) Research, SOSR 2015 [2775007] Association for Computing Machinery, Inc. https://doi.org/10.1145/2774993.2775007

DC.p4 : Programming the forwarding plane of a data-center switch. / Sivaraman, Anirudh; Kim, Changhoon; Krishnamoorthy, Ramkumar; Dixit, Advait; Budiu, Mihai.

Symposium on Software Defined Networking (SDN) Research, SOSR 2015. Association for Computing Machinery, Inc, 2015. 2775007.

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Sivaraman, A, Kim, C, Krishnamoorthy, R, Dixit, A & Budiu, M 2015, DC.p4: Programming the forwarding plane of a data-center switch. in Symposium on Software Defined Networking (SDN) Research, SOSR 2015., 2775007, Association for Computing Machinery, Inc, 1st ACM SIGCOMM Symposium on Software Defined Networking Research, SOSR 2015, Santa Clara, United States, 6/17/15. https://doi.org/10.1145/2774993.2775007
Sivaraman A, Kim C, Krishnamoorthy R, Dixit A, Budiu M. DC.p4: Programming the forwarding plane of a data-center switch. In Symposium on Software Defined Networking (SDN) Research, SOSR 2015. Association for Computing Machinery, Inc. 2015. 2775007 https://doi.org/10.1145/2774993.2775007
Sivaraman, Anirudh ; Kim, Changhoon ; Krishnamoorthy, Ramkumar ; Dixit, Advait ; Budiu, Mihai. / DC.p4 : Programming the forwarding plane of a data-center switch. Symposium on Software Defined Networking (SDN) Research, SOSR 2015. Association for Computing Machinery, Inc, 2015.
@inproceedings{1a0692ed6d88435a84b290751662ecc1,
title = "DC.p4: Programming the forwarding plane of a data-center switch",
abstract = "The P4 programming language [29, 16] has been recently proposed as a high-level language to program the forwarding plane of programmable packet processors, spanning the spectrum from software switches through FPGAs, NPUs and reconfigurable hardware switches. This paper presents a case study that uses P4 to express the forwarding plane behavior of a data-center switch, comparable in functionality to single-chip shared-memory switches found in many data centers today. This case study allows us to understand how specific P4 constructs were useful in modeling specific data-center switch features. We also outline additional language constructs that needed to be added to P4 to support certain features of a data-center switch. We discuss several lessons that we learned in the process and distill these into a proposal for how P4 could evolve in the future.",
keywords = "Datacenter switch, Language design, Programmable forwarding planes",
author = "Anirudh Sivaraman and Changhoon Kim and Ramkumar Krishnamoorthy and Advait Dixit and Mihai Budiu",
year = "2015",
month = "6",
day = "17",
doi = "10.1145/2774993.2775007",
language = "English (US)",
booktitle = "Symposium on Software Defined Networking (SDN) Research, SOSR 2015",
publisher = "Association for Computing Machinery, Inc",

}

TY - GEN

T1 - DC.p4

T2 - Programming the forwarding plane of a data-center switch

AU - Sivaraman, Anirudh

AU - Kim, Changhoon

AU - Krishnamoorthy, Ramkumar

AU - Dixit, Advait

AU - Budiu, Mihai

PY - 2015/6/17

Y1 - 2015/6/17

N2 - The P4 programming language [29, 16] has been recently proposed as a high-level language to program the forwarding plane of programmable packet processors, spanning the spectrum from software switches through FPGAs, NPUs and reconfigurable hardware switches. This paper presents a case study that uses P4 to express the forwarding plane behavior of a data-center switch, comparable in functionality to single-chip shared-memory switches found in many data centers today. This case study allows us to understand how specific P4 constructs were useful in modeling specific data-center switch features. We also outline additional language constructs that needed to be added to P4 to support certain features of a data-center switch. We discuss several lessons that we learned in the process and distill these into a proposal for how P4 could evolve in the future.

AB - The P4 programming language [29, 16] has been recently proposed as a high-level language to program the forwarding plane of programmable packet processors, spanning the spectrum from software switches through FPGAs, NPUs and reconfigurable hardware switches. This paper presents a case study that uses P4 to express the forwarding plane behavior of a data-center switch, comparable in functionality to single-chip shared-memory switches found in many data centers today. This case study allows us to understand how specific P4 constructs were useful in modeling specific data-center switch features. We also outline additional language constructs that needed to be added to P4 to support certain features of a data-center switch. We discuss several lessons that we learned in the process and distill these into a proposal for how P4 could evolve in the future.

KW - Datacenter switch

KW - Language design

KW - Programmable forwarding planes

UR - http://www.scopus.com/inward/record.url?scp=84962079926&partnerID=8YFLogxK

UR - http://www.scopus.com/inward/citedby.url?scp=84962079926&partnerID=8YFLogxK

U2 - 10.1145/2774993.2775007

DO - 10.1145/2774993.2775007

M3 - Conference contribution

BT - Symposium on Software Defined Networking (SDN) Research, SOSR 2015

PB - Association for Computing Machinery, Inc

ER -