Intel IXP1200 manual Contents

Page 3

IXP1200 Network Processor Family ATM OC-3/12/Ethernet IP Router Example Design

Contents

1.0

Introduction

.................................................................................................................................

7

 

1.1

Purpose of ATM Example Design

7

 

1.2

Scope of Example Design

7

 

 

1.2.1 Supported / Not Implemented Functions

8

 

1.3

Background

8

 

 

1.3.1 Ethernet, IP and AAL5 Protocol Processing

8

 

 

1.3.2 Frame and PDU Length vs. IP Packet Length

9

 

 

1.3.3 Expected Ethernet Transmit Bandwidth

10

 

1.4

Execution Environment

11

 

 

1.4.1

Software

11

 

 

1.4.2

Hardware

13

2.0

System Overview

13

 

2.1

System Programming Model

13

 

2.2

StrongARM Core Software

14

 

2.3

Software Partitioning

15

 

 

2.3.1

Lookup Tables

16

 

2.4

Data Flow

17

 

 

2.4.1 ATM to Ethernet Data Flow

17

 

 

 

2.4.1.1 VC Lookup

17

 

 

 

2.4.1.2 IP Lookup Table

18

 

 

2.4.2 Ethernet to ATM Data Flow

19

 

2.5

StrongARM Core Initialization

19

 

2.6

Microengine Initialization

20

3.0

Microengine Functional Blocks

20

 

3.1

ATM Receive Microengine

20

 

 

3.1.1

Structure

20

 

 

3.1.2

High Level Algorithm

21

 

3.2

ATM Transmit Microengine

22

 

 

3.2.1

High Level Algorithm

22

 

3.3

IP-Router Microengine

23

 

 

3.3.1

Structure

23

 

 

3.3.2

High Level Algorithm

23

 

3.4

Ethernet Receive Microengine

23

 

 

3.4.1

Ethernet Receive Structure

24

 

 

3.4.2 Ethernet Receive High Level Algorithm

24

 

3.5

Ethernet Transmit Microengine

24

 

 

3.5.1

Ethernet Transmit Structure

25

 

 

3.5.2

High Level Algorithm

25

 

3.6

CRC-32 Calculations using IXP1240/1250 Hardware

25

 

 

3.6.1 CRC-32 Hardware Checking on Receive

25

 

 

3.6.2 CRC-32 Hardware Generation on Transmit

27

 

 

 

3.6.2.1 Transmit Alignment

27

 

3.7

CRC-32 Checker and Generator Microengines (Soft-CRC)

28

 

 

3.7.1 Functional Differences between Checker and Generator

28

Application Note

iii

Image 3
Contents IXP1200 Network Processor Family Application Note Contents Virtual Circuit Lookup Table Cache Limitations Figures Introduction Purpose of ATM Example DesignScope of Example Design Ethernet, IP and AAL5 Protocol Processing Configuration DescriptionBackground Supported / Not Implemented FunctionsSAR Frame and PDU Length vs. IP Packet LengthFrame and PDU Length vs. IP Packet Length Expected Ethernet Transmit BandwidthSoftware Execution EnvironmentDeveloper’s Workbench ATM Data Stream Dialog Box System Overview System Programming ModelHardware System Programming Model StrongARM Core SoftwareATM TX Software PartitioningLookup Tables Data Flow ATM to Ethernet Data FlowVC Lookup ATM to Ethernet Processing Steps IP Lookup TableEthernet to ATM Data Flow StrongARM Core InitializationStructure Microengine Functional BlocksMicroengine Initialization ATM Receive MicroengineOC-12 Port OC-3 Ports High Level AlgorithmATM Transmit High Level Algorithm ATM Transmit MicroengineEthernet Receive Microengine IP-Router MicroengineEthernet Transmit Microengine Ethernet Receive StructureEthernet Receive High Level Algorithm CRC-32 Calculations using IXP1240/1250 Hardware Ethernet Transmit StructureCRC-32 Hardware Checking on Receive First Cell of a PDU in Rfifo and in Dram Bytes Big Endian DiagramTransmit Alignment CRC-32 Hardware Generation on TransmitFunctional Differences between Checker and Generator CRC-32 Checker and Generator Microengines Soft-CRCCRC-32 Computation Software Subsystems & Data StructuresVirtual Circuit Lookup Table atmvctable.uc CRC-32 Checker and Generator High Level AlgorithmVctablehashed Structure Primary VC Table Vctablelinear StructureVC Table Entry VC Table Management API atmutils.cEntry Description Buffer Offset Buffer IndexCell data11 Entry Description VC Cache Structure VC Cache Function 1.1 OC-12 Configuration1.2 OC-3 Configuration Virtual Circuit Lookup Table CacheIP Table Structure IP Lookup TableVC Cache API IP Table FunctionAtmrouteadd IP Table Management APIRoutetableinit MtuchangeRthelp EnetrouteaddRtentinfo Routedelete2 3 4 5 6 7 8 Sram Buffer Descriptors and Dram Data BuffersSram Buffer Descriptor Format Next BD Last Quad Queue IndexATM Header Entry Description Enet SrcAdr Dram Data Buffer Format2 3 4 5 6 7 8 Bytes 2 3 4API Call Description Sequence Numbers sequence.ucSystem Limit on Packet Buffers Sequencehandle UsageStep Sequence Operation Bakery Line Analogy Message Queues msgq.ucUsage Model ExampleMsgqsend Msgqhandle ParametersMsgqinitqueue MsgqinitregsRamoption MsgqreceiveBDQ Management Macros 1.1 FeaturesFeature Description Buffer Descriptor Queues bdq.ucCount CountersCounter Index Global ParametersUse of the Counter Subsystem Counter Base AddressCounter Group Description Global Counter Enable and FlagsCounter Flags #define Statement DescriptionCounters.uc Counterreset CounterincPortcounterinc Intotaldiscards Portcounterinc AlgorithmCountersprint Counters.c CountersinitAtmtxcrcbadbd Global $transfer Register Name Manager xfer.ucMutexvectorexit Mutex VectorsMutexvectorinit MutexvectorenterProject Configuration / Modifying the Example Design Inter-Thread SignallingProjectconfig.h Testing Environments Systemconfig.hSwitching Between Hardware Configurations Simulation Support Scripts, etc LimitationsExtending the Example Design 10 11 12 13 14 15 16 ... Bytes Document ConventionsAcronyms & Definitions ByteTitle Description Related Documents