skip to main content
10.1145/2774993.2775007acmconferencesArticle/Chapter ViewAbstractPublication PagescommConference Proceedingsconference-collections
short-paper

DC.p4: programming the forwarding plane of a data-center switch

Published:17 June 2015Publication History

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 of using P4 to express the forwarding plane behavior of a datacenter switch, comparable in functionality to single-chip shared-memory switches found in many datacenters today.

This case study allows us to understand how specific P4 constructs were useful in modeling specific datacenter switch features. We also outline additional language constructs that needed to be added to P4 to support certain features of a datacenter 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.

References

  1. Analysis of an Equal-Cost Multi-Path Algorithm. https://tools.ietf.org/html/rfc2992.Google ScholarGoogle Scholar
  2. Apache Thrift - Home. https://thrift.apache.org/.Google ScholarGoogle Scholar
  3. The Arista 7124 FX as a High Performance Trade Execution Platform. http://www.argondesign.com/media/uploads/files/P8006-R-001d_The_Arista_FX_Switch_as_an_Execution_Platform.pdf.Google ScholarGoogle Scholar
  4. Cisco highlights next big switch. http://www.biztechafrica.com/article/cisco-announces-next-big-switch/5448/#.VP4mCYWltVZ.Google ScholarGoogle Scholar
  5. Configuring ERSPAN. http://www.cisco.com/c/en/us/td/docs/ios-xml/ios/lanswitch/configuration/xe-3s/lanswitch-xe-3s-book/lnsw-conf-erspan.html.Google ScholarGoogle Scholar
  6. High Capacity StrataXGS®Trident II Ethernet Switch Series. http://www.broadcom.com/products/Switching/Data-Center/BCM56850-Series.Google ScholarGoogle Scholar
  7. Intel FlexPipe. http://www.intel.com/content/dam/www/public/us/en/documents/product-briefs/ethernet-switch-fm6000-series-brief.pdf.Google ScholarGoogle Scholar
  8. Intel Integrated Performance Primitives (Intel IPP) | Intel Developer Zone. https://software.intel.com/en-us/intel-ipp.Google ScholarGoogle Scholar
  9. IXP4XX Product Line of Network Processors. http://www.intel.com/content/www/us/en/intelligent-systems/previous-generation/intel-ixp4xx-intel-network-processor-product-line. html.Google ScholarGoogle Scholar
  10. Martian Address Filtering. http://tools.ietf.org/html/rfc1812#section-5.3.7.Google ScholarGoogle Scholar
  11. Mellanox Products: SwitchX-2 Ethernet Optimized for SDN. http://www.mellanox.com/page/products_dyn?product_family=146&mtag=switchx_2_en.Google ScholarGoogle Scholar
  12. Network Virtualization using Generic Routing Encapsulation. https://msdn.microsoft.com/en-us/library/windows/hardware/dn144775%28v=vs.85%29.aspx.Google ScholarGoogle Scholar
  13. Networking/SpecsAndDesigns. http://www.opencompute.org/wiki/Networking/SpecsAndDesigns#Switch_Abstraction_Interface.Google ScholarGoogle Scholar
  14. Oftest. http://www.openflowhub.org/display/OFTest/OFTest+--+Validating+OpenFlow+Swtiches.Google ScholarGoogle Scholar
  15. Open vSwitch. http://openvswitch.org/.Google ScholarGoogle Scholar
  16. P4 Specification. http://p4.org/spec/p4-latest.pdf.Google ScholarGoogle Scholar
  17. P4.org. http://p4.org/.Google ScholarGoogle Scholar
  18. POForwarding. http://www.poforwarding.org/.Google ScholarGoogle Scholar
  19. Sdn / OpenFlow / Message Layer / Packetin / Flowgrammable. http://flowgrammable.org/sdn/openflow/message-layer/packetin/.Google ScholarGoogle Scholar
  20. Switch Abstraction Interface specification v0.9. http://files.opencompute.org/oc/public.php?service=files&t=24b68e105629caf910d9b3f2834d7e6a&download.Google ScholarGoogle Scholar
  21. Understanding Openflow: Packet-In is a Page Fault. http://www.projectfloodlight.org/blog/2012/02/27/packet-in-is-a-page-fault/.Google ScholarGoogle Scholar
  22. Virtex-7 FPGA Family. http://www.xilinx.com/products/silicon-devices/fpga/virtex-7.html.Google ScholarGoogle Scholar
  23. Virtual Ethernet Interfaces. http://openvz.org/Virtual_Ethernet_device.Google ScholarGoogle Scholar
  24. Virtual eXtensible Local Area Network (VXLAN): A Framework for Overlaying Virtualized Layer 2 Networks over Layer 3 Networks. https://tools.ietf.org/html/rfc7348.Google ScholarGoogle Scholar
  25. XPliant™Ethernet Switch Product Family. http://www.cavium.com/XPliant-Ethernet-Switch-Product-Family.html.Google ScholarGoogle Scholar
  26. M. Alizadeh, S. Yang, M. Sharif, S. Katti, N. McKeown, B. Prabhakar, and S. Shenker. pFabric: Minimal Near-optimal Datacenter Transport. In SIGCOMM, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. W. Bai, K. Chen, H. Wang, L. Chen, D. Han, and C. Tian. Information-Agnostic Flow Scheduling for Commodity Data Centers. In NSDI, 2015. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. J. Bangert and N. Zeldovich. Nail: A Practical Tool for Parsing and Generating Data Formats. In OSDI, 2014. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. P. Bosshart, D. Daly, G. Gibb, M. Izzard, N. McKeown, J. Rexford, C. Schlesinger, D. Talayco, A. Vahdat, G. Varghese, and D. Walker. P4: Programming Protocol-independent Packet Processors. SIGCOMM Comput. Commun. Rev., 44(3): 87--95, July 2014. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. P. Bosshart, G. Gibb, H.-S. Kim, G. Varghese, N. McKeown, M. Izzard, F. Mujica, and M. Horowitz. Forwarding Metamorphosis: Fast Programmable Match-action Processing in Hardware for SDN. In SIGCOMM, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. G. Brebner and W. Jiang. High-Speed Packet Processing using Reconfigurable Computing. Micro, IEEE, 34(1): 8--18, Jan 2014.Google ScholarGoogle Scholar
  32. D. Clark. The Design Philosophy of the DARPA Internet Protocols. In SIGCOMM, 1988. Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. L. De Carli, Y. Pan, A. Kumar, C. Estan, and K. Sankaralingam. Plug: Flexible Lookup Modules for Rapid Deployment of New Protocols in High-speed Routers. In SIGCOMM, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. A. Demers, S. Keshav, and S. Shenker. Analysis and Simulation of a Fair Queueing Algorithm. In SIGCOMM, 1989. Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. M. Dobrescu and K. Argyraki. Software Dataplane Verification. In NSDI, 2014. Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. R. Duncan and P. Jungck. packetC Language for High Performance Packet Processing. In 11th IEEE International Conference on High Performance Computing and Communications, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  37. M. P. Grosvenor, M. Schwarzkopf, I. Gog, R. N. M. Watson, A. W. Moore, S. Hand, and J. Crowcroft. Queues Don't Matter When You Can JUMP Them! In NSDI, 2015. Google ScholarGoogle ScholarDigital LibraryDigital Library
  38. S. Jain, A. Kumar, S. Mandal, J. Ong, L. Poutievski, A. Singh, S. Venkata, J. Wanderer, J. Zhou, M. Zhu, J. Zolla, U. Hölzle, S. Stuart, and A. Vahdat. B4: Experience with a Globally-deployed Software Defined Wan. In SIGCOMM, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  39. V. Jeyakumar, M. Alizadeh, Y. Geng, C. Kim, and D. Mazières. Millions of Little Minions: Using Packets for Low Latency Network Programming and Visibility. In SIGCOMM, 2014. Google ScholarGoogle ScholarDigital LibraryDigital Library
  40. L. Jose, L. Yan, G. Varghese, and N. McKeown. Compiling Packet Programs to Reconfigurable Switches. In NSDI, 2015. Google ScholarGoogle ScholarDigital LibraryDigital Library
  41. E. Kohler, R. Morris, B. Chen, J. Jannotti, and M. F. Kaashoek. The Click Modular Router. ACM Trans. Comput. Syst., 18(3): 263--297, Aug. 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  42. B. Lantz, B. Heller, and N. McKeown. A Network in a Laptop: Rapid Prototyping for Software-defined Networks. In Proceedings of the 9th ACM SIGCOMM Workshop on Hot Topics in Networks, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  43. N. McKeown, T. Anderson, H. Balakrishnan, G. Parulkar, L. Peterson, J. Rexford, S. Shenker, and J. Turner. OpenFlow: Enabling Innovation in Campus Networks. SIGCOMM Comput. Commun. Rev., 38(2): 69--74, Mar. 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  44. J. Perry, A. Ousterhout, H. Balakrishnan, D. Shah, and H. Fugal. Fastpass: A Centralized "Zero-queue" Datacenter Network. In SIGCOMM, 2014. Google ScholarGoogle ScholarDigital LibraryDigital Library
  45. J. H. Saltzer, D. P. Reed, and D. D. Clark. End-to-end Arguments in System Design. ACM Trans. Comput. Syst., 2(4): 277--288, Nov. 1984. Google ScholarGoogle ScholarDigital LibraryDigital Library
  46. A. Sivaraman, K. Winstein, S. Subramanian, and H. Balakrishnan. No Silver Bullet: Extending SDN to the Data Plane. In Proceedings of the Twelfth ACM Workshop on Hot Topics in Networks, HotNets-XII, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  47. H. Song. Protocol-oblivious Forwarding: Unleash the Power of SDN Through a Future-proof Forwarding Plane. In HotSDN, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  48. X. Wang, N. Zeldovich, M. F. Kaashoek, and A. Solar-Lezama. Towards Optimization-safe Systems: Analyzing the Impact of Undefined Behavior. In SOSP, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. DC.p4: programming the forwarding plane of a data-center switch

            Recommendations

            Comments

            Login options

            Check if you have access through your login credentials or your institution to get full access on this article.

            Sign in
            • Published in

              cover image ACM Conferences
              SOSR '15: Proceedings of the 1st ACM SIGCOMM Symposium on Software Defined Networking Research
              June 2015
              226 pages
              ISBN:9781450334518
              DOI:10.1145/2774993

              Copyright © 2015 ACM

              Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

              Publisher

              Association for Computing Machinery

              New York, NY, United States

              Publication History

              • Published: 17 June 2015

              Permissions

              Request permissions about this article.

              Request Permissions

              Check for updates

              Qualifiers

              • short-paper

              Acceptance Rates

              SOSR '15 Paper Acceptance Rate7of43submissions,16%Overall Acceptance Rate7of43submissions,16%

            PDF Format

            View or Download as a PDF file.

            PDF

            eReader

            View online with eReader.

            eReader