NetFPGA Hands-on Tutorial-Workshop

13/06/2012 NetFPGA Hands-on Tutorial-Workshop Presented by: Andrew W. Moore Paolo Costa (Cambridge University) (Imperial College London) Tutorial ...
0 downloads 0 Views 16MB Size
13/06/2012

NetFPGA Hands-on Tutorial-Workshop

Presented by: Andrew W. Moore Paolo Costa (Cambridge University)

(Imperial College London)

Tutorial helpers: Muhummad Shahbaz, Matt Grosvenor (Cambridge University) with grateful assistance from Peter Harrison, Gareth Jones, Uli Harder (Imperial College London)

London, UK June 15th, 2012 http://NetFPGA.org LONDON – June 15th, 2012

1

Welcome Please organize into teams 2 or 3 People/computer Printed Slides are available Slides are also available online The NetFPGA machines Username: root Password: on whiteboard NetFPGA homepage http://NetFPGA.org

LONDON – June 15th, 2012

2

1

13/06/2012

Tutorial Outline • 

Introduction –  Motivation • 

Network Review: Basics of an IP Router

• 

–  Demo 1: Reference Router running on the NetFPGA Exercise 1: Exploring the Reference Router

• 

–  Hardware : NetFPGA Platforms : 1G and 10G –  Problem: Understanding buffer size requirements in a router Exercise 2: Enhancing the Reference Router

10:30 – 11:00 Coffee/Tea break

12:30 – 13:30 Lunch

–  Observing and controlling the queue size –  NetFPGA Community •  • 

• 

NetThreads Altera DE4 port

–  NetFPGA in the Classroom –  Problem: Exploring Controlled packet-loss Exercise 3: Drop 1 in N Packets 15:00 – 15:30 Coffee/Tea break

• 

Concluding Remarks –  What next for you? –  Group Discussion

LONDON – June 15th, 2012

3

Motivation

LONDON – June 15th, 2012

4

2

13/06/2012

NetFPGA = Networked FPGA A line-rate, flexible, open networking platform for teaching and research

LONDON – June 15th, 2012

5

NetFPGA consists of… Four elements: •  NetFPGA board •  Tools + reference designs

NetFPGA 1G Board

•  Contributed projects •  Community

LONDON – June 15th, 2012

NetFPGA 10G Board

6

3

13/06/2012

NetFPGA Board Comparison

NetFPGA 1G

NetFPGA 10G

4 x 1Gbps Ethernet Ports

4 x 10Gbps SFP+

4.5 MB ZBT SRAM 64 MB DDR2 SDRAM

27 MB QDRII-SRAM 288 MB RLDRAM-II

PCI

PCI Express x8

Virtex II-Pro 50

Virtex 5 TX240T

LONDON – June 15th, 2012

7

NetFPGA board Networking Software running on a standard PC

CPU

Memory

PCI

A hardware accelerator built with Field Programmable Gate Array driving Gigabit network links

PC with NetFPGA 1GE

FPGA

1GE 1GE

Memory

LONDON – June 15th, 2012

1GE NetFPGA Board

8

4

13/06/2012

ag Us

e#

1

Running the Router Kit User-space development, 4x1GE line-rate forwarding OSPF

BGP Memory

CPU

My Protocol user kernel

Routing Table PCI

Mirror Fwding Table

Packet Buffer

FPGA IPv4 Router Memory

LONDON – June 15th, 2012

e ag Us

#2

1GE 1GE 1GE 1GE

9

Enhancing Modular Reference Designs Verilog, System Verilog, VHDL, Bluespec…. PW-OSPF CPU

Memory

Java GUI Front Panel (Extensible)

PCI

NetFPGA Driver 1GE

FPGA

1GE 1GE

Memory

EDA Tools (Xilinx, Mentor, etc.)

1GE

L3 Parse

L2 Parse

1.  Design 2.  Simulate 1GE 3.  In QSynthesize 4.  Download Mgmt 1GE

IP Lookup

My Block

Out Q Mgmt

1GE 1GE

Verilog modules interconnected by FIFO interfaces LONDON – June 15th, 2012

10

5

13/06/2012

ag Us

e#

3

Creating new systems Verilog, System Verilog, VHDL, Bluespec….

Memory

CPU

EDA Tools (Xilinx, Mentor, etc.) 1.  Design

PCI

NetFPGA 2.  Driver Simulate 3.  Synthesize 4.  Download

1GE

FPGA

My Design

1GE 1GE

Memory

1GE

LONDON – June 15th, 2012

1GE 1GE 1GE

(1GE MAC is soft/replaceable)

1GE

11

Tools + Reference Designs 1G Tools: •  Compile designs •  Verify designs •  Interact with hardware Reference designs: •  Router (HW) •  Switch (HW) •  Network Interface Card (HW) •  Router Kit (SW) •  SCONE (SW) LONDON – June 15th, 2012

12

6

13/06/2012

Contributed Projects Project OpenFlow switch Packet generator NetFlow Probe NetThreads zFilter (Sp)router Traffic Monitor DFA

Contributor Stanford University Stanford University Brno University University of Toronto Ericsson University of Catania UMass Lowell

More projects: http://netfpga.org/foswiki/NetFPGA/OneGig/ProjectTable (pages will be refactored as we integrate NetFPGA10G) LONDON – June 15th, 2012

13

Community Wiki •  Documentation –  User s Guide –  Developer s Guide

•  Encourage users to contribute Forums •  Support by users for users •  Active community - 10s-100s of posts/week

LONDON – June 15th, 2012

14

7

13/06/2012

International Community Over 1,000 users, using 1,900 cards at 150 universities in 32 countries

LONDON – June 15th, 2012

15

NetFPGA’s Defining Characteristics •  Line-Rate –  Processes back-to-back packets •  Without dropping packets •  At full rate of Gigabit Ethernet Links

–  Operating on packet headers •  For switching, routing, and firewall rules

–  And packet payloads •  For content processing and intrusion prevention

•  Open-source Hardware –  Similar to open-source software •  Full source code available •  BSD-Style License

–  But harder, because •  Hardware modules must meeting timing •  Verilog & VHDL Components have more complex interfaces •  Hardware designers need high confidence in specification of modules LONDON – June 15th, 2012

16

8

13/06/2012

Test-Driven Design •  Regression tests –  Have repeatable results –  Define the supported features –  Provide clear expectation on functionality

•  Example: Internet Router –  Drops packets with bad IP checksum –  Performs Longest Prefix Matching on destination address –  Forwards IPv4 packets of length 64-1500 bytes –  Generates ICMP message for packets with TTL