skip to main content
research-article

SwitchBlade: a platform for rapid deployment of network protocols on programmable hardware

Published:30 August 2010Publication History
Skip Abstract Section

Abstract

We present SwitchBlade, a platform for rapidly deploying custom protocols on programmable hardware. SwitchBlade uses a pipeline-based design that allows individual hardware modules to be enabled or disabled on the fly, integrates software exception handling, and provides support for forwarding based on custom header fields. SwitchBlade's ease of programmability and wire-speed performance enables rapid prototyping of custom data-plane functions that can be directly deployed in a production network. SwitchBlade integrates common packet-processing functions as hardware modules, enabling different protocols to use these functions without having to resynthesize hardware. SwitchBlade's customizable forwarding engine supports both longest-prefix matching in the packet header and exact matching on a hash value. SwitchBlade's software exceptions can be invoked based on either packet or flow-based rules and updated quickly at runtime, thus making it easy to integrate more flexible forwarding function into the pipeline. SwitchBlade also allows multiple custom data planes to operate in parallel on the same physical hardware, while providing complete isolation for protocols running in parallel. We implemented SwitchBlade using NetFPGA board, but SwitchBlade can be implemented with any FPGA. To demonstrate SwitchBlade's flexibility, we use SwitchBlade to implement and evaluate a variety of custom network protocols: we present instances of IPv4, IPv6, Path Splicing, and an OpenFlow switch, all running in parallel while forwarding packets at line rate.

References

  1. FlowVisor. http://www.openflowswitch.org/wk/index.php/FlowVisor.Google ScholarGoogle Scholar
  2. NetFPGA. http://www.netfpga.org.Google ScholarGoogle Scholar
  3. D. G. Andersen, H. Balakrishnan, N. Feamster, T. Koponen, D. Moon, and S. Shenker. Accountable Internet Protocol (AIP). In Proc. ACM SIGCOMM, Seattle, WA, Aug. 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. M. B. Anwer and N. Feamster. Building a Fast, Virtualized Data Plane with Programmable Hardware. In Proc. ACM SIGCOMM Workshop on Virtualized Infrastructure Systems and Architectures, Barcelona, Spain, Aug. 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. S. Bhatia, M. Motiwala, W. Muhlbauer, V. Valancius, A. Bavier, N. Feamster, L. Peterson, and J. Rexford. Hosting Virtual Networks on Commodity Hardware. Technical Report GT-CS-07--10, Georgia Institute of Technology, Atlanta, GA, Oct. 2007.Google ScholarGoogle Scholar
  6. S. Bhatia, M. Motiwala, W. Mühlbauer, V. Valancius, A. Bavier, N. Feamster, J. Rexford, and L. Peterson. Hosting virtual networks on commodity hardware. Technical Report GT-CS-07--10, College of Computing, Georgia Tech, Oct. 2007.Google ScholarGoogle Scholar
  7. G. Calarco, C. Raffaelli, G. Schembra, and G. Tusa. Comparative analysis of smp click scheduling techniques. In QoS-IP, pages 379--389, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. L. D. Carli, Y. Pan, A. Kumar, C. Estan, and K. Sankaralingam. Flexible lookup modules for rapid deployment of new protocols in high-speed routers. In Proc. ACM SIGCOMM, Barcelona, Spain, Aug. 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. M. Casado, T. Koponen, D. Moon, and S. Shenker. Rethinking packet forwarding hardware. In Proc. Seventh ACM SIGCOMM HotNets Workshop, Nov. 2008.Google ScholarGoogle Scholar
  10. G. A. Covington, G. Gibb, J. Lockwood, and N. McKeown. A Packet Generator on the NetFPGA platform. In FCCM ’09: IEEE Symposium on Field-Programmable Custom Computing Machines, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. S. Deering and R. Hinden. Internet Protocol, Version 6 (IPv6) Specification. Internet Engineering Task Force, Dec. 1998. RFC 2460. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. M. Dobrescu, , N. Egi, K. Argyraki, B.-G. Chun, K. Fall, G. Iannaccone, A. Knies, M. Manesh, and S. Ratnasamy. RouteBricks: Exploiting parallelism to scale software routers. In Proc. 22nd ACM Symposium on Operating Systems Principles (SOSP), Big Sky, MT, Oct. 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. B. Godfrey, I. Ganichev, S. Shenker, and I. Stoica. Pathlet routing. In Proc. ACM SIGCOMM, Barcelona, Spain, Aug. 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Intel IXP 2xxx Network Processors. http://www.intel.com/design/network/products/npfamily/ixp2xxx.htm.Google ScholarGoogle Scholar
  15. C. Kim, M. Caesar, and J. Rexford. Floodless in SEATTLE: A scalable ethernet architecture for large enterprises. In Proc.\ ACM SIGCOMM, Seattle, WA, Aug. 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. E. Kohler, R. Morris, B. Chen, J. Jannotti, and M. F. Kaashoek. The Click modular router. ACM Transactions on Computer Systems, 18(3):263--297, Aug. 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. M. Motiwala, M. Elmore, N. Feamster, and S. Vempala. Path Splicing. In Proc. ACM SIGCOMM, Seattle, WA, Aug. 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. R. N. Mysore, A. Pamboris, N. Farrington, N. Huang, P. Miri, S. Radhakrishnan, V. Subramanya, and A. Vahdat. Portland: A scalable fault-tolerant layer2 data center network fabric. In Proc. ACM SIGCOMM, Barcelona, Spain, Aug. 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. OpenFlow Switch Consortium. http://www.openflowswitch.org/, 2008.Google ScholarGoogle Scholar
  20. OpenVZ: Server Virtualization Open Source Project. http://www.openvz.org.Google ScholarGoogle Scholar
  21. Quagga software routing suite. http://www.quagga.net/.Google ScholarGoogle Scholar
  22. J. Turner, P. Crowley, J. DeHart, A. Freestone, B. Heller, F. Kuhns, S. Kumar, J. Lockwood, J. Lu, M. Wilson, et al. Supercharging PlanetLab: A High Performance, Multi-application, Overlay Network Platform. In Proc. ACM SIGCOMM, Kyoto, Japan, Aug. 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. Xilinx. Xilinx ise design suite. http://www.xilinx.com/tools/designtools.htm.Google ScholarGoogle Scholar
  24. X. Yang, D. Wetherall, and T. Anderson. Source selectable path diversity via routing deflections. In Proc. ACM SIGCOMM, Pisa, Italy, Aug. 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. SwitchBlade: a platform for rapid deployment of network protocols on programmable hardware

        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

        Full Access

        • Published in

          cover image ACM SIGCOMM Computer Communication Review
          ACM SIGCOMM Computer Communication Review  Volume 40, Issue 4
          SIGCOMM '10
          October 2010
          481 pages
          ISSN:0146-4833
          DOI:10.1145/1851275
          Issue’s Table of Contents

          Copyright © 2010 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 ACM 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: 30 August 2010

          Check for updates

          Qualifiers

          • research-article

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader