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.
- FlowVisor. http://www.openflowswitch.org/wk/index.php/FlowVisor.Google Scholar
- NetFPGA. http://www.netfpga.org.Google Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 Scholar
- 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 Scholar
- G. Calarco, C. Raffaelli, G. Schembra, and G. Tusa. Comparative analysis of smp click scheduling techniques. In QoS-IP, pages 379--389, 2005. Google ScholarDigital Library
- 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 ScholarDigital Library
- M. Casado, T. Koponen, D. Moon, and S. Shenker. Rethinking packet forwarding hardware. In Proc. Seventh ACM SIGCOMM HotNets Workshop, Nov. 2008.Google Scholar
- 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 ScholarDigital Library
- S. Deering and R. Hinden. Internet Protocol, Version 6 (IPv6) Specification. Internet Engineering Task Force, Dec. 1998. RFC 2460. Google ScholarDigital Library
- 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 ScholarDigital Library
- B. Godfrey, I. Ganichev, S. Shenker, and I. Stoica. Pathlet routing. In Proc. ACM SIGCOMM, Barcelona, Spain, Aug. 2009. Google ScholarDigital Library
- Intel IXP 2xxx Network Processors. http://www.intel.com/design/network/products/npfamily/ixp2xxx.htm.Google Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- M. Motiwala, M. Elmore, N. Feamster, and S. Vempala. Path Splicing. In Proc. ACM SIGCOMM, Seattle, WA, Aug. 2008. Google ScholarDigital Library
- 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 ScholarDigital Library
- OpenFlow Switch Consortium. http://www.openflowswitch.org/, 2008.Google Scholar
- OpenVZ: Server Virtualization Open Source Project. http://www.openvz.org.Google Scholar
- Quagga software routing suite. http://www.quagga.net/.Google Scholar
- 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 ScholarDigital Library
- Xilinx. Xilinx ise design suite. http://www.xilinx.com/tools/designtools.htm.Google Scholar
- X. Yang, D. Wetherall, and T. Anderson. Source selectable path diversity via routing deflections. In Proc. ACM SIGCOMM, Pisa, Italy, Aug. 2006. Google ScholarDigital Library
Index Terms
- SwitchBlade: a platform for rapid deployment of network protocols on programmable hardware
Recommendations
SwitchBlade: a platform for rapid deployment of network protocols on programmable hardware
SIGCOMM '10: Proceedings of the ACM SIGCOMM 2010 conferenceWe 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 ...
ReClick - A Modular Dataplane Design Framework for FPGA-Based Network Virtualization
ANCS '11: Proceedings of the 2011 ACM/IEEE Seventh Symposium on Architectures for Networking and Communications SystemsNetwork virtualization has emerged as a powerful technique to deploy novel services and experimental protocols over shared network infrastructures. Although recent research has highlighted field programmable gate arrays (FPGAs) as attractive platforms ...
Building a fast, virtualized data plane with programmable hardware
VISA '09: Proceedings of the 1st ACM workshop on Virtualized infrastructure systems and architecturesNetwork virtualization allows many networks to share the same underlying physical topology; this technology has offered promise both for experimentation and for hosting multiple networks on a single shared physical infrastructure. Much attention has ...
Comments