NetFPGA Summer Camp!

Earn a merit badge while building Internet routers and clean-slate switches. A 5-day summer camp will be held at Stanford University

Presented by: the NetFPGA Group

Open to: Professors teaching classes with NetFPGA and researchers interested in developing new hardware-accelerated network applications

Dates: Monday, August 4 - Friday, August 8, 2008

Time: 9am - 5pm. Bonfires and other evening events will be announced here.

Location: The Stanford University campus located between San Francisco and San Jose in the heart of the Silicon Valley.


An open platform called the NetFPGA has been developed at Stanford University. The NetFPGA platform enables researchers and instructors to build high-speed, hardware-accelerated networking systems. The platform can be used in the classroom to teach students how to build Ethernet switches and Internet Prototcol (IP) routers using hardware rather than software. The platform can be used by researchers to prototype advanced services for next-generation networks.

By using Field Programmable Gate Arrays (FPGAs), the NetFPGA enables new types of packet routing circuits to be implemented and detailed measurements of network traffic to be obtained. During the tutorial, we will use the NetFPGA to determine the amount of memory needed to buffer TCP/IP data streaming through the Gigabit/second router. Hardware circuits within the NetFPGA will be implemented to measure and plot the occupancy of buffers. Circuits will be downloaded into reconfigurable hardware and tested with live, streaming Internet video traffic.


Attendees will utilize a Linux-based PC equipped with NetFPGA hardware. A basic understanding of Ethernet switching and network routing is expected. Past experience with Verilog is useful but not required. This week-long summercamp extends the material presented at the NetFPGA tutorials. Participants will be able to take home their NetFPGA systems at the end of the week-long camp.

Photo from the summer camp

Another photo from the summer camp


Day 1 (Monday, Aug. 4)

  • Welcome and introductions (All)
  • Day 1 (John, Glen, Adam)
    • Background
      • Basics of an IP Router
      • The NetFPGA hardware
      • How people use the NetFPGA
      • Why people use the NetFPGA
    • The Stanford Base Reference Router
      • Inside the NetFPGA hardware
      • Introduction to FPGAs and Verilog
    • The Enhanced Reference Router
      • Buffer sizing requirements in a router
      • Observering and controlling the queue size
    • Life of a packet through the NetFPGA
      • Data and control planes
      • Interface to software: Exceptions and Host I/O
    • Address Lookup
    • PW-OSPF
    • Java-based Graphical User Interface (GUI)
    • Demonstration of High Definition (HD) video streaming
  • Pizza dinner: AT&T Patio of the Gates Building

Day 2 (Tuesday, Aug. 5)

  • Module Development and Testing
    • Running ModelSim with the NetFPGA TestBench (Glen)
      • Compile, simulate, view waveforms
      • Example: Simply Encryption on a packet payload
      • Scrambling the payload with XOR using a key from a register
    • Regression testing to verify hardware functionality (Adam)
      • Synthesize and run the hardware
      • Verify value: 0xFFFFFFFF (would invert every bit of every byte of payload)
      • Verify value: 0xFF00FF00 (would invert every other byte of payload)
      • Verify value: 0x55555555 (would invert every other bit of payload)
  • Introduction to OpenFlow (Jad)
    • Show how to use and test OpenFlow
    • Describe implementation of OpenFlow
    • Show use OpenFlow LiveCD
    • Give example of LiveCD on nf-test machines
  • Group Dinner at MacArthur Park

Day 3 (Wednesday, Aug. 6)

  • Group Discussion
    • Projects ideas
    • Scope of work that can be accomplished in 2-3 days
  • Team up for Projects
    • Project leaders will describe projects
    • Group will provide feedback on the scope
    • Be sure to have one hardware designer per team
  • Precise Time Protocol (PTP) (Sara)
    • Background and review of block diagrams
    • Show PTP running on nf-test machines
    • Show synchronization of pairs of machines
    • Discuss relevent Verilog Code

Day 4 (Thursday, Aug. 7)

  • Work on Projects
    • 802.1q VLANs
      • Steve Padgett, Bilal Anwer, David Miller, Ke Xiang, Carson Stuart, Michael Blodgett
      • Top-Project Award
    • Hardware-Accelerated Mathematics Library for NetFPGA
      • Dan Bedard, Will Tetteh, Yufeng Xin
      • Top-Project Award
    • MACinMAC
      • Jim Chen, Tatsuya Yabe, Hao Chen
    • Heavy Hitter Identification using Multistage filters
      • Faisal Khan, Guan Yo, and Atif
    • Layer 2 Load Balancing
      • Danai Chasaki, Fernando Hammerli, Paul Germano
    • TCP Traffic Analysis for Passive End-to-End Bandwidth Measurement
      • Martin Zadnik, Yaping Zhu
    • Assessment of Prototyping an AFDX Policy Switch Leveraging NetFPGA, Ethane, and OpenFlow Switch
      • Tom Gaska
    • ntop on NetFPGA
      • Songkrant Muneenaem
    • Universal Hash Function
      • Thomas Zink and Dominik Schmucki
  • NetFPGA group available for Questions and Answers

Day 5 (Friday, Aug. 8)

  • Complete Projects
    • On the SummerCamp_2008_Projects page, verify your project description and team members
      • Update the link to your presentation page
      • Update the link to your contribute file page
    • 10-minute project presentations
    • Live demonstrations
  • Award prizes to winning projects
  • Group Dinner at California Cafe

Saturday, Aug. 9

  • Checkout of Stanford Guest House

Background Reading

To Attend this Event

  • Mark your calendar with the dates of the event
    • Please plan to arrive Sunday night, August 3
    • Please plan to stay through Saturday morning, August 9
    • Registration fee covers shared meals (all breakfasts, lunches, and most dinners)
      • Registration Fee: $400
      • Summer Camp is Full!! No more registrations can be accepted!
    • A limited number of scholarships are available for students or instructors from schools unable to cover registration and hotel expenses.
      • Award of the scholarships will be based on both merit and need:
      • Please provide one paragraph about that describes your relevant technical background in networking and/or hardware design.
      • Please provide another paragraph that explains why you or your host institution needs financial help.
      • Summer Camp is Full!! No more registrations can be accepted!
  • Travel Information
    • Direct flights are available to most parts of the country through SFO or SJC
    • CalTrain offers fast transportation between the airports and Palo Alto
    • The Marguerite Shuttle offers rides between the train station, hotel, and campus. No car rental is needed.
  • Book accomondations at the Stanford Guest House.
    • Single rooms are $89/night
    • Shuttle service available to campus