The NetFPGA project[1] is an effort to develop open-source hardware and software for rapid prototyping of computer network devices. The project targeted academic researchers, industry users, and students. It was not the first platform of its kind in the networking community.[2][3][4][5] NetFPGA used an FPGA-based approach to prototyping networking devices. This allows users to develop designs that are able to process packets at line-rate, a capability generally unafforded by software based approaches. NetFPGA focused on supporting developers that can share and build on each other's projects and IP building blocks.

History

edit

The project began in 2007 as a research project at Stanford University called the NetFPGA-1G. The 1G was originally designed as a tool to teach students about networking hardware architecture and design.[6] The 1G platform consisted of a PCI board with a Xilinx Virtex-II pro FPGA and 4 x 1GigE interfaces feeding into it, along with a downloadable code repository containing an IP library and a few example designs. The project grew and by the end of 2010 more than 1,800 1G boards sold to over 150 educational institutions spanning 15 countries.[7] During that growth the 1G not only gained popularity as a tool for education, but increasingly as a tool for research. By 2011 over 46 academic papers had been published regarding research that used the NetFPGA-1G platform.[8] Additionally, over 40 projects were contributed to the 1G code repository by the end of 2010.

In 2009 work began in secrecy on the NetFPGA-10G with 4 x 10 GigE interfaces. The 10G board was also designed with a much larger FPGA, more memory, and a number of other upgrades. The first release of the platform, codenamed “Howth”, was planned for December 24, 2010, and includes a repository similar to that of the 1G, containing a small IP library and two reference designs.

From a platform design perspective, the 10G is diverging in a few significant ways from the 1G platform. For instance, the interface standards for hardware IP were completely redesigned, relying on industry standards rather than homegrown protocols. Additionally the platform relies more heavily now on industry standard tools for dealing with design composition, automated register mapping, and managing the IP library, rather than custom scripts.

The second release of the NetFPGA-10G platform is codenamed “Skellig” and is scheduled for release before second quarter 2011.

NetFPGA-1G

edit

Board Features

edit

See http://www.digilentinc.com/Products/Detail.cfm?Prod=NETFPGA for more detailed technical information.

License

edit

The NetFPGA-1G code is distributed using a BSD-style license.

NetFPGA-10G

edit

Board Features[9]

edit
  • Xilinx Virtex-5 TX240T FPGA
  • 4 x 10 Gigabit Ethernet interfaces (SFP+ interfaces)
  • 27 MBs QDRII SRAM
  • 288 MBs RLDRAM-II
  • Two high-speed QTH Samtec connectors
  • Two Platform XL Flash (128 MB)
  • Xilinx XC2C256 CPLD
  • PCI Express x8 Gen2
  • JTAG cable connector for Xilinx ChipScope

See http://www.hitechglobal.com/Boards/PCIExpress_SFP+.htm for more detailed technical information.

License

edit

The NetFPGA-10G code base contains code covered under a variety of different licenses, though the default license is the GNU LGPL version 3.

Notes

edit
  1. ^ The NetFPGA project
  2. ^ Sangjin Han, Keon Jang, KyoungSoo Park, and Sue Moon. 2010. PacketShader: a GPU-accelerated software router. In Proceedings of the ACM SIGCOMM 2010 conference on SIGCOMM (SIGCOMM '10). ACM, New York, NY, USA, 195-206.
  3. ^ Mark Handley, Orion Hodson, and Eddie Kohler. 2003. XORP: an open platform for network research. SIGCOMM Comput. Commun. Rev. 33, 1 (January 2003), 53-57.
  4. ^ Quagga, http://www.quagga.net/ Archived 2008-04-21 at the Wayback Machine
  5. ^ Eddie Kohler, Robert Morris, Benjie Chen, John Jannotti, and M. Frans Kaashoek. 2000. The click modular router. ACM Trans. Comput. Syst. 18, 3 (August 2000), 263-297.
  6. ^ Michaela Blott, Jonathan Ellithorpe, Nick McKeown, Kees Vissers, Hongyi Zeng. 2010. FPGA Research Design Platform Fuels Network Advances. Xcell Journal. p24-29
  7. ^ http://netfpga.org/
  8. ^ "Publications < NetFPGA/OneGig < Foswiki". Archived from the original on 2010-12-18. Retrieved 2010-12-16.
  9. ^ "FPGA 40Gig PCI Express Networking Card (NetFPGA10G)".