CS/CoE 536 : Lockwood 1 CS/CoE 536 Reconfigurable System On Chip Design Lecture 10 : MP3 Working Draft Washington University Fall 2002

Slides:



Advertisements
Similar presentations
Ethernet “dominant” LAN technology: cheap $20 for 100Mbs!
Advertisements

NetFPGA Project: 4-Port Layer 2/3 Switch Ankur Singla Gene Juknevicius
Spring 2006CS 685 Network Algorithmics1 Principles in Practice CS 685 Network Algorithmics Spring 2006.
EECB 473 Data Network Architecture and Electronics Lecture 3 Packet Processing Functions.
Nick McKeown CS244 Lecture 6 Packet Switches. What you said The very premise of the paper was a bit of an eye- opener for me, for previously I had never.
t Popularity of the Internet t Provides universal interconnection between individual groups that use different hardware suited for their needs t Based.
1 Application TCPUDP IPICMPARPRARP Physical network Application TCP/IP Protocol Suite.
CS 268: Lecture 12 (Router Design) Ion Stoica March 18, 2002.
TCP/IP Protocol Suite 1 Chapter 11 Upon completion you will be able to: User Datagram Protocol Be able to explain process-to-process communication Know.
Chapter 4 Queuing, Datagrams, and Addressing
A Scalable, Cache-Based Queue Management Subsystem for Network Processors Sailesh Kumar, Patrick Crowley Dept. of Computer Science and Engineering.
Paper Review Building a Robust Software-based Router Using Network Processors.
Sarang Dharmapurikar With contributions from : Praveen Krishnamurthy,
ECE 526 – Network Processing Systems Design Network Processor Architecture and Scalability Chapter 13,14: D. E. Comer.
CS/CoE 536 : Lockwood 1 CS/CoE 536 Reconfigurable System On Chip Design Lecture 9 : MP3 Working Draft Washington University Fall 2002
1 IP Forwarding Relates to Lab 3. Covers the principles of end-to-end datagram delivery in IP networks.
The Layered Protocol Wrappers 1 Florian Braun, Henry Fu The Layered Protocol Wrappers: A Solution to Streamline Networking Functions to Process ATM Cells,
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 2.6 UDP Principles (Chapter 24) (User Datagram Protocol)
Applied research laboratory David E. Taylor Users Guide: Fast IP Lookup (FIPL) in the FPX Gigabit Kits Workshop 1/2002.
CprE / ComS 583 Reconfigurable Computing Prof. Joseph Zambreno Department of Electrical and Computer Engineering Iowa State University Lecture #8 – Reconfigurable.
Washington WASHINGTON UNIVERSITY IN ST LOUIS Packet Routing Within MSR Fred Kuhns
Gigabit Kits Workshop August Washington WASHINGTON UNIVERSITY IN ST LOUIS IP Processing Wrapper Tutorial Gigabitkits Workshop August 2001
CS/CoE 536 : Lockwood 1 CS/CoE 536 Reconfigurable System On Chip Design Lecture 4 : Demonstration of Machine Problem 1 : CAM-based Firewall Washington.
4: DataLink Layer1 Chapter 4: The Data Link Layer Our goals: r understand principles behind data link layer services: m error detection, correction m sharing.
CS/CoE 536 : Lockwood 1 CS/CoE 536 Reconfigurable System On Chip Design Lecture 4 : Demonstration of Machine Problem 1 : CAM-based Firewall Washington.
Extensible Networking Platform Lockwood / Zuver - Applied Research Laboratory -- Extensible Networking Development of a System-On-Chip Extensible.
CS/CoE 536 : Lockwood 1 Project Integration : In order to ensure that projects can be integrated at the end of the semester, a few rules have been developed.
Internet Protocol Formats. IP (V4) Packet byte 0 byte1 byte 2 byte 3 data... – up to 65 K including heading info Version IHL Serv. Type Total Length Identifcation.
4/19/20021 TCPSplitter: A Reconfigurable Hardware Based TCP Flow Monitor David V. Schuehler.
Lecture 13: Reconfigurable Computing Applications October 10, 2013 ECE 636 Reconfigurable Computing Lecture 11 Reconfigurable Computing Applications.
Hot Interconnects TCP-Splitter: A Reconfigurable Hardware Based TCP/IP Flow Monitor David V. Schuehler
Lecture 12: Reconfigurable Systems II October 20, 2004 ECE 697F Reconfigurable Computing Lecture 12 Reconfigurable Systems II: Exploring Programmable Systems.
Field Programmable Port Extender (FPX) 1 Modular Design Techniques for the FPX.
CS/CoE 536 : Lockwood 1 CS/CoE 536 Reconfigurable System On Chip Design Lecture 7 : Demonstration of Machine Problem 2 : SPAM FILTER Washington University.
1 CSE 5346 Spring Network Simulator Project.
Queue Manager and Scheduler on Intel IXP John DeHart Amy Freestone Fred Kuhns Sailesh Kumar.
1 A quick tutorial on IP Router design Optics and Routing Seminar October 10 th, 2000 Nick McKeown
CS/CoE 536 : Lockwood 1 Step 1 : Submit Project Information Visit : –Provide Project.
Gigabit Kits Workshop January Washington WASHINGTON UNIVERSITY IN ST LOUIS Higher-Level Data Processing on the FPX Applied Research Laboratory Washington.
CS/CoE 536 : Lockwood 1 CS/CoE 536 Reconfigurable System On Chip Design Lecture 11 : Priority and Per-Flow Queuing in Machine Problem 3 (Revision 2) Washington.
1 A Deficit Round Robin 20MB/s Layer 2 Switch Muraleedhara Navada Francois Labonte.
1 IP Checksum Calculation At the sender r Set the value of the checksum field to 0. r Divide the header into 16-bit words m Add all segments using one’s.
Field Programmable Port Extender (FPX) 1 Modular Design Techniques for the Field Programmable Port Extender John Lockwood and David Taylor Washington University.
McGraw-Hill©The McGraw-Hill Companies, Inc., 2000 Chapter 11 User Datagram Protocol (UDP)
1 Kyung Hee University Chapter 11 User Datagram Protocol.
Field Programmable Port Extender (FPX) 1 Remote Management of the Field Programmable Port Extender (FPX) Todd Sproull Washington University, Applied Research.
Jon Turner Extreme Networking Achieving Nonstop Network Operation Under Extreme Operating Conditions DARPA.
ECE 526 – Network Processing Systems Design Network Address Translator II.
The FPX KCPSM Module 1 Henry Fu The FPX KCPSM Module: An Embedded, Reconfigurable Active Processing Module for the FPX Henry Fu Washington University.
Chapter 3 Part 3 Switching and Bridging
Washington University
CprE / ComS 583 Reconfigurable Computing
Chapter 3 Part 3 Switching and Bridging
Washington University
Washington University
CPRE 583 Reconfigurable Computing
Network Core and QoS.
Washington University in St. Louis
Remote Management of the Field Programmable Port Extender (FPX)
Layered Protocol Wrappers Design and Interface review
Washington University
Implementing an OpenFlow Switch on the NetFPGA platform
CAM Update Datagram ATM Header Ver HL ToS Packet Len Fragment IP ID
ECE 331 – Digital System Design
Chapter 4 Network Layer Computer Networking: A Top Down Approach 5th edition. Jim Kurose, Keith Ross Addison-Wesley, April Network Layer.
Chapter 3 Part 3 Switching and Bridging
Network Layer: Control/data plane, addressing, routers
Networking and Network Protocols (Part2)
UDP Principles (Chapter 24) (User Datagram Protocol)
Network Core and QoS.
Presentation transcript:

CS/CoE 536 : Lockwood 1 CS/CoE 536 Reconfigurable System On Chip Design Lecture 10 : MP3 Working Draft Washington University Fall John Lockwood Copyright 2002

CS/CoE 536 : Lockwood 2 Overall CS536 Machine Problem Structures Layered Protocol Wrappers Content- based Match (regex) (MP2) CAM-based Firewall (MP1 w/extra entries & FlowID) Flow Buffer Queue Manager (MP3) Input Traffic From Linecard Firewall on a Chip ( Implemented on the RAD on the FPX, a VirtexE 2000 FPGA ) Output Traffic To Linecard or switch p p p p Off-Chip Synchronous Random Access Memory (SDRAM) Match vector Flow# from CAM Identify packets Based on Head Pointers Tail Pointers SDRAM Free List Manager SDRAM Free pointers 16 Off-Chip Static Random Access Memory (SRAM) SRAM Controller SDRAM Controller SRAM Interface Sche- duler 16

CS/CoE 536 : Lockwood 3 Signal Interface of Flow Buffer --A. packet data going to the flow buffer PktDataIn : in std_logic_vector(31 downto 0); PktDataInValid : in std_logic; SoPktIn : in std_logic; EoPktIn : in std_logic; --B. packet data going out of the flow buffer PktDataOut : out std_logic_vector(31 downto 0); PktDataOutValid : out std_logic; SoPktOut : out std_logic; EoPktOut : out std_logic; --C. Interface with the Queue Context ---The following two signals come from the QueueContext Tail : in std_logic_vector(31 downto 0);; TailValid : in std_logic; ---The following two signals go to the queue context NextTail : out std_logic_vector(31 downto 0);; NextTailValid : out std_logic; ---The following two signals come from the QueueContext Head : in std_logic_vector(31 downto 0);; HeadValid : in std_logic; ---The following two signals go to the queue context NextHead : out std_logic_vector(31 downto 0);; NextHeadValid : out std_logic; Flow Buffer Queue Manager (MP 3) pp A. B. C. Queue Selector (MP 1) Queue Scheduler (MP 3)

CS/CoE 536 : Lockwood 4 Using the ZBT SRAM Controller SRAM_REQ –Request to use Interface SRAM_GR –Grant to use interface SRAM_D_IN –Data Bus to module from SRAM (36 bits) SRAM_D_OUT –Data Bus from module to SRAM (36 bits) SRAM_ADDR –Address (18 bits provide access to 256k words) SRAM_WR_RD –Write=0, Read=1 SRAM_D_OUT[35:0] SRAM_ADDR[17:0] SRAM_WR_RD SRAM_REQ SRAM_GR SRAM_D_IN[35:0] SRAM Interface Off-Chip Static Random Access Memory (SRAM)

CS/CoE 536 : Lockwood 5 MP3 Assignment To Do List CAM –Provide 4 CAMs (from 2) –Add 16-bit entry called “Flow ID” to each CAM Provide output called FlowID from the CAM module Provide priority encoder so that the lower number CAM provides a value when multiple CAMs match –Add 16-bit entry called “Flow Hash” XORs bits in the header fields to produce a pseudo- unique flow identifier for each of the possible 2^112 Bits available to the CAM –Increase Number of data buffers Make sure that Flow_ID and Flow_Hash are valid when output is the start of the packet

CS/CoE 536 : Lockwood 6 Control Packet Updates Control Packet Update –Provide ability to update any CAM number, not just the first two –Add “No Transmit” and “Transmit” Control Bit (extra bit in header) Corresponds to Transmit_enable signal to QM When set, stops the QM from transmitting data. I.e., All data stays in the queue. I.e., Turn off the output I.e., Set C=0

CS/CoE 536 : Lockwood 7 MP3 CAM Datagram MP3 UDP Control Packet programs up-to-N CAM entries Fields allocated for: Transmit enable Base CAM Number of CAMs FlowID per CAM ATM Header Packet Len Source IP address ( 0xC0A81E0D ) CAM_1_SRC_IP CAM_MASK_1 … (if necessary) ToSHLVer FragmentIP ID Src Port Dest Port ( 0x0320 ) LengthChecksum #CAMs AAL5 Pad CPS-UU & CPI AAL5 Frame Checksum Frame Len CAM_1_DEST_IP CAM_1_PORTS CAM_2_SRC_IP CAM_MASK_2 CAM_2_DEST_IP CAM_2_PORTS CAM_VALUE_1 CAM_MASK_1 CAM_VALUE_2 CAM_MASK_2 ChecksumProtoTTL Base_CAMX CAM_1_ PROTO (PAD) Match_ vector... CAM_2_ PROTO (PAD) Match_ vector Flow_ID transmit_enable

CS/CoE 536 : Lockwood 8 Other Issues SRAM Flows –Initialize values to i for i=0..64k