KeyStone Training Network Coprocessor (NETCP) Overview.

Slides:



Advertisements
Similar presentations
Ch. 2 Protocol Architecture. 2.1 The Need for a Protocol Architecture Same set of layered functions need to exist in the two communicating systems. Key.
Advertisements

C6614/6612 Memory System MPBU Application Team.
Yaron Doweck Yael Einziger Supervisor: Mike Sumszyk Spring 2011 Semester Project.
TI Keystone Networking Coprocessor Introduction
Extended Memory Controller and the MPAX registers And Cache
KeyStone Advance Debug
Computer Networks20-1 Chapter 20. Network Layer: Internet Protocol 20.1 Internetworking 20.2 IPv IPv6.
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public 1 Addressing the Network – IPv4 Network Fundamentals – Chapter 6.
Multicore Applications Team
Multicore Applications
Multicore Applications Team KeyStone C66x Multicore SoC Overview.
KeyStone Training Multicore Navigator Overview. Overview Agenda What is Navigator? – Definition – Architecture – Queue Manager Sub-System (QMSS) – Packet.
Keystone PCIe Usage Eric Ding.
Traffic Management - OpenFlow Switch on the NetFPGA platform Chun-Jen Chung( ) SriramGopinath( )
Oct 26, 2004CS573: Network Protocols and Standards1 IP: Routing and Subnetting Network Protocols and Standards Autumn
Networking Theory (Part 1). Introduction Overview of the basic concepts of networking Also discusses essential topics of networking theory.
Introduction to K2E Devices
1 Introduction to TCP/IP. 2 Agenda What Is TCP/IP? IP Addressing.
Chapter 9 Classification And Forwarding. Outline.
Router Architectures An overview of router architectures.
Using Multicore Navigator Multicore Applications.
Router Architectures An overview of router architectures.
Keystone PCIe Usage Eric Ding.
Chapter 4 Queuing, Datagrams, and Addressing
Multicore Navigator: Queue Manager Subsystem (QMSS)
Using Multicore Navigator
KeyStone Multicore Navigator
G64INC Introduction to Network Communications Ho Sooi Hock Internet Protocol.
MMI Applications Team October 2011 KeyStone C66x Multicore SoC Overview.
Network Coprocessor (NETCP) Packet Accelerator (PA)
TCOM 509 – Internet Protocols (TCP/IP) Lecture 03_a
PA3: Router Junxian (Jim) Huang EECS 489 W11 /
Extended Memory Controller and the MPAX registers
Traffic Management - OpenFlow Switch on the NetFPGA platform Chun-Jen Chung( ) Sriram Gopinath( )
Introduction to Packet Accelerator (PA). Communication Models Network Access Ethernet ARP FDDI Internet IP Host-to-Host TCP UDP Application TELNET FTP.
C66x KeyStone Training HyperLink. Agenda 1.HyperLink Overview 2.Address Translation 3.Configuration 4.Example and Demo.
1 Section 10.9 Internet Security Association and Key Management Protocol ISAKMP.
RiceNIC: A Reconfigurable and Programmable Gigabit Network Interface Card Jeff Shafer, Dr. Scott Rixner Rice Computer Architecture:
Network Coprocessor (NETCP) Packet Accelerator (PA)
QMSS: Components Overview Major HW components of the QMSS: Queue Manager Two PDSPs (Packed Data Structure Processors): – Descriptor Accumulation / Queue.
Internetworking – What is internetworking? Connect multiple networks of one or more organizations into a large, uniform communication system. The resulting.
Extended Memory Controller and the MPAX registers And Cache Multicore programming and Applications February 19, 2013.
Keystone PCIe Usage Eric Ding.
Multicore Applications Team
KeyStone Training Multicore Navigator: Packet DMA (PKTDMA)
MMI Applications Team October 2011 KeyStone C66x Multicore SoC Overview.
Multicore Applications Team KeyStone C66x Multicore SoC Overview.
CS 4396 Computer Networks Lab Router Architectures.
KeyStone SoC Training SRIO Demo: Board-to-Board Multicore Application Team.
Keystone Advanced Debug. Agenda Debug Architecture Overview Advanced Event Triggering DSP Core Trace System Trace Application Embedded Debug Support Multicore.
NetCP - NWAL API Flow. NetCP (HW,SW) Overview NWAL Feature Overview Data path offload Control configuration –Blocking / Non Blocking support –L2: MAC.
Using Multicore Navigator CIV Application Team January 2012.
Network Coprocessor (NETCP) Overview
Encapsulated Security Payload Header ● RFC 2406 ● Services – Confidentiality ● Plus – Connectionless integrity – Data origin authentication – Replay protection.
Mapping IP Addresses to Hardware Addresses Chapter 5.
ISDS 4120 Project 1 DWAYNE CARRAL JR 3/27/15. There are seven layers which make up the OSI (Open Systems Interconnection Model) which is the model for.
Introduction to TCP/IP. Agenda What Is TCP/IP? IP Addressing.
Understanding “Virtual” Networks J.J. Ekstrom Fall 2011.
KeyStone SoC Training SRIO Demo: Board-to-Board Multicore Application Team.
IT443 – Network Security Administration Instructor: Bo Sheng
Reference Router on NetFPGA 1G
An NP-Based Router for the Open Network Lab Overview by JST
Network Core and QoS.
Implementing an OpenFlow Switch on the NetFPGA platform
TCP/IP Protocol Suite: Review
Networking Essentials For Firewall-1 Administrators
Reference Router on NetFPGA 1G
KeyStone Training Multicore Applications Literature Number: SPRPXXX
Network Core and QoS.
Presentation transcript:

KeyStone Training Network Coprocessor (NETCP) Overview

Agenda NETCP Overview Packet DMA Packet Accelerator (PA) Security Accelerator (SA) Gigabit Ethernet (GbE) Switch Subsystem Receive Processing Example

Agenda NETCP Overview Packet DMA Packet Accelerator (PA) Security Accelerator (SA) Gigabit Ethernet (GbE) Switch Subsystem Receive Processing Example

What is the Network Coprocessor (NetCP)? 1 to 8 up to 1.25 GHz MSMC MSM SRAM 64-Bit DDR3 EMIF Application-Specific Coprocessors Power Management Debug & Trace Boot ROM Semaphore Memory Subsystem S R I O x4 P C I e x2 U A R T A p p l i c a t i o n - S p e c i f i c I / O S P I I C 2 Packet DMA Multicore Navigator Queue Manager O t h e r s x3 Network Coprocessor S w i t c h E t h e r n e t S w i t c h S G M I I x2 Packet Accelerator Security Accelerator PLL EDMA x3 C66x™ CorePac L1 P-Cache L1 D-Cache L2 Cache HyperLink TeraNet Hardware accelerator for doing L2, L3, and L4 processing with Encryption, Decryption, and Authentication that was previously done in software

Network Coprocessor (NETCP) Network Coprocessor consists of the following modules: Packet DMA (PKTDMA) Controller Packet Accelerator (PA) Security Accelerator (SA) Ethernet Switch Subsystem

Agenda NETCP Overview Packet DMA Packet Accelerator (PA) Security Accelerator (SA) Gigabit Ethernet (GbE) Switch Subsystem Receive Processing Example

Packet DMA in NETCP PKTDMA Queue Manager SRIO Network Coprocessor FFTC (A) AIF Queue Manager Subsystem FFTC (B)

Communication with the NETCP NETCP relies on QMSS and PKTDMA to communicate with the CorePac. TX Queue Mapping –Q640: PDSP1 –Q641: PDSP2 –Q642: PDSP3 –Q643: PDSP4 –Q644: PDSP5 –Q645: PDSP6 –Q646: SA0 –Q647: SA1 –Q648: Switch RX Queues –Can use any general purpose queues (Q864- Q8191) –Can also use other special purpose queues (e.g )

Agenda NETCP Overview Packet DMA Packet Accelerator (PA) Security Accelerator (SA) Gigabit Ethernet (GbE) Switch Subsystem Receive Processing Example

PA: High-Level Overview L2 Classify Engine – Used for matching L2 headers – Example headers: MAC, VLAN, LLC snap L3 Classify Engine 0 – Used for matching L3 headers – Example headers: IPv4, IPv6, Custom L3 – Also match ESP headers and direct packets to SA via Multicore Navigator L3 Classify Engine 1 – Typically used for matching L3 headers in IPSec tunnels – Example headers: IPv4, IPv6, Custom L3 L4 Classify Engine – Used for matching L4 Headers – Example headers: UDP, TCP, Custom L4 Modify/Multi-Route Engines – Used for Modification, Multi-route, and Statistics requests – Modification Example: generate IP or UDP header checksums – Multi-route Example: route a packet to multiple queues PA Statistics Block – Stores statistics for packets processed by the classify engines – Statistics requests typically handled by Modify/Multi-route engines Packet ID Manager – Assigns packet ID to packets

Agenda NETCP Overview Packet DMA Packet Accelerator (PA) Security Accelerator (SA) Gigabit Ethernet (GbE) Switch Subsystem Receive Processing Example

SA: High Level Overview

Agenda NETCP Overview Packet DMA Packet Accelerator (PA) Security Accelerator (SA) Gigabit Ethernet (GbE) Switch Subsystem Receive Processing Example

GbE Switch: High Level Overview

Agenda NETCP Overview Packet DMA Packet Accelerator (PA) Security Accelerator (SA) Gigabit Ethernet (GbE) Switch Subsystem Receive Processing Example

Receive Hardware Processing Step 1: A IPSec packet formatted with MAC, IPv4, and UDP headers arrives from the gigabit Ethernet switch subsystem and is routed over the packet streaming switch to the L2 Classify Engine. Q643: PDSP3 Q644: PDSP4 Q645: PDSP5 Q646: SA0 Q647: SA1 Q648: GbE SW Q641: PDSP1 Q642: PDSP2 Q640: PDSP0 Q900: RXQUEUE

Receive Hardware Processing Step 2: PDSP0 in the L2 Classify Engine submits the MAC header for lookup. Assume that the lookup is successful. The packet will then be routed to its next destination. Assume that the destination is L3 Classify Engine 0. PDSP0 LUT1 matches MAC entry. Q643: PDSP3 Q644: PDSP4 Q645: PDSP5 Q646: SA0 Q647: SA1 Q648: GbE SW Q641: PDSP1 Q642: PDSP2 Q640: PDSP0 Q900: RXQUEUE

Q643: PDSP3 Q644: PDSP4 Q645: PDSP5 Q646: SA0 Q647: SA1 Q648: GbE SW Q641: PDSP1 Q642: PDSP2 Q640: PDSP0 Q900: RXQUEUE Receive Hardware Processing Step 3: The packet is routed from the L3 Classify Engine 0, through the packet streaming switch to the PKTDMA controller. When the IPv4 entry is matched with the SPI, the PKTDMA will then transfer the packet from the NETCP to the SA1 transmit queue. PDSP1 LUT1 matches IPv4 entry.

Q643: PDSP3 Q644: PDSP4 Q645: PDSP5 Q646: SA0 Q647: SA1 Q648: GbE SW Q641: PDSP1 Q642: PDSP2 Q640: PDSP0 Q900: RXQUEUE Receive Hardware Processing Step 4: Once the data transfer from the SA1 transmit queue to the NETCP has completed, the PKTDMA controller transfers the packet through the packet streaming switch to the SA, where the packet is decrypted and authenticated.

Q643: PDSP3 Q644: PDSP4 Q645: PDSP5 Q646: SA0 Q647: SA1 Q648: GbE SW Q641: PDSP1 Q642: PDSP2 Q640: PDSP0 Q900: RXQUEUE Receive Hardware Processing Step 5: The packet is routed from the SA, through the packet streaming switch to the PKTDMA controller. The PKTDMA will then transfer the packet from the NETCP to the PDSP2 transmit queue.

Q643: PDSP3 Q644: PDSP4 Q645: PDSP5 Q646: SA0 Q647: SA1 Q648: GbE SW Q641: PDSP1 Q642: PDSP2 Q640: PDSP0 Q900: RXQUEUE Receive Hardware Processing Step 6: Once the data transfer from PDSP2 transmit queue to the NETCP has completed, the PKTDMA controller transfers the packet through the packet streaming switch to the L3 Classify Engine 1.

Receive Hardware Processing Step 7: The packet is routed to the L3 Classify Engine 0. PDSP1 submits the IPv4 header for lookup. Assume that the lookup is successful. The packet will then be routed to its next destination. Assume that it is the L4 Classify Engine. PDSP2 LUT1 matches IPv4 entry. Q643: PDSP3 Q644: PDSP4 Q645: PDSP5 Q646: SA0 Q647: SA1 Q648: GbE SW Q641: PDSP1 Q642: PDSP2 Q640: PDSP0 Q900: RXQUEUE

Receive Hardware Processing Step 8: The packet is routed to the L4 Classify Engine. PDSP3 submits the UDP header for lookup. Assume that the lookup is successful. The packet will then be routed to its next destination. Assume that the destination is the host on queue 900. PDSP3 LUT2 matches UDP entry. Q643: PDSP3 Q644: PDSP4 Q645: PDSP5 Q646: SA0 Q647: SA1 Q648: GbE SW Q641: PDSP1 Q642: PDSP2 Q640: PDSP0 Q900: RXQUEUE

Q643: PDSP3 Q644: PDSP4 Q645: PDSP5 Q646: SA0 Q647: SA1 Q648: GbE SW Q641: PDSP1 Q642: PDSP2 Q640: PDSP0 Q900: RXQUEUE Receive Hardware Processing Step 9: The packet is routed from the L4 Classify Engine, through the packet streaming switch to the PKTDMA controller. The PKTDMA will then transfer the packet from the NETCP to host queue 900. From here the host can do processing on the receive packet.

Additional Questions?